3
0
Fork 0
forked from mirrors/nixpkgs

gnu-cobol: 2.0-rc2 -> 2.2

Instead of wrapping `cobc` and setting NIX_{LDFLAGS,CFLAGS_COMPILE}
set `COB_CC`, `COB_CFLAGS` and `COB_LDFLAGS` to make `cobc` find the
necessary libraries.
This commit is contained in:
Moritz Ulrich 2017-12-21 10:28:52 +01:00
parent 362244787f
commit e222d21eed
No known key found for this signature in database
GPG key ID: 45833CACBC407FA7

View file

@ -1,35 +1,40 @@
{ stdenv, fetchurl, gcc, makeWrapper { stdenv, fetchurl, gcc, makeWrapper
, db, gmp, ncurses }: , db, gmp, ncurses }:
let version = { let
maj = "2.0"; version = "2.2";
min = "rc-2"; lib = stdenv.lib;
}; in
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gnu-cobol-${version.maj}${version.min}"; name = "gnu-cobol-${version}";
inherit version;
src = fetchurl { src = fetchurl {
url = "https://sourceforge.com/projects/open-cobol/files/gnu-cobol/${version.maj}/gnu-cobol-${version.maj}_${version.min}.tar.gz"; url = "https://sourceforge.com/projects/open-cobol/files/gnu-cobol/${version}/gnucobol-${version}.tar.gz";
sha256 = "1pj7mjnp3l76zvzrh1xa6d4kw3jkvzqh39sbf02kiinq4y65s7zj"; sha256 = "1jrjmdx0swssjh388pp08awhiisbrs2i7gx4lcm4p1k5rpg3hn4j";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ db gmp ncurses ]; buildInputs = [ db gmp ncurses ];
cflags = stdenv.lib.concatMapStringsSep " " (p: "-L" + (lib.getLib p) + "/lib ") buildInputs;
ldflags = stdenv.lib.concatMapStringsSep " " (p: "-I" + (lib.getDev p) + "/include ") buildInputs;
cobolCCFlags = "-I$out/include ${ldflags} -L$out/lib ${cflags}";
postInstall = with stdenv.lib; '' postInstall = with stdenv.lib; ''
wrapProgram "$out/bin/cobc" \ wrapProgram "$out/bin/cobc" \
--prefix PATH ':' "${gcc}/bin" \ --set COB_CC "${gcc}/bin/gcc" \
--prefix NIX_LDFLAGS ' ' "'$NIX_LDFLAGS'" \ --prefix COB_LDFLAGS " " "${cobolCCFlags}" \
--prefix NIX_CFLAGS_COMPILE ' ' "'$NIX_CFLAGS_COMPILE'" --prefix COB_CFLAGS " " "${cobolCCFlags}"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An open-source COBOL compiler"; description = "An open-source COBOL compiler";
homepage = https://sourceforge.net/projects/open-cobol/; homepage = https://sourceforge.net/projects/open-cobol/;
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ ericsagnes ]; maintainers = with maintainers; [ ericsagnes the-kenny ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }