diff options
Diffstat (limited to 'pkgs/development/interpreters/guile/default.nix')
-rw-r--r-- | pkgs/development/interpreters/guile/default.nix | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 68df200835f..ed685682db6 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -1,5 +1,5 @@ -{ stdenv, pkgsBuildBuild, buildPackages -, fetchurl, makeWrapper, gawk, pkgconfig +{ lib, stdenv, pkgsBuildBuild, buildPackages +, fetchurl, makeWrapper, gawk, pkg-config , libffi, libtool, readline, gmp, boehmgc, libunistring , coverageAnalysis ? null , fetchpatch @@ -23,9 +23,9 @@ setOutputFlags = false; # $dev gets into the library otherwise depsBuildBuild = [ buildPackages.stdenv.cc ] - ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile; - nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; + nativeBuildInputs = [ makeWrapper gawk pkg-config ]; buildInputs = [ readline libtool libunistring libffi ]; propagatedBuildInputs = [ @@ -38,12 +38,18 @@ libtool libunistring ]; - enableParallelBuilding = true; + # According to Bernhard M. Wiedemann <bwiedemann suse de> on + # #reproducible-builds on irc.oftc.net, (2020-01-29): they had to + # build Guile without parallel builds to make it reproducible. + # + # re: https://issues.guix.gnu.org/issue/20272 + # re: https://build.opensuse.org/request/show/732638 + enableParallelBuilding = false; patches = [ ./eai_system.patch - ] ++ stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch - ++ stdenv.lib.optional stdenv.isDarwin (fetchpatch { + ] ++ lib.optional (coverageAnalysis != null) ./gcov-file-name.patch + ++ lib.optional stdenv.isDarwin (fetchpatch { url = "https://gitlab.gnome.org/GNOME/gtk-osx/raw/52898977f165777ad9ef169f7d4818f2d4c9b731/patches/guile-clocktime.patch"; sha256 = "12wvwdna9j8795x59ldryv9d84c1j3qdk2iskw09306idfsis207"; }); @@ -52,10 +58,11 @@ # "libgcc_s.so.1 must be installed for pthread_cancel to work". # don't have "libgcc_s.so.1" on darwin - LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s"; + LDFLAGS = lib.optionalString + (!stdenv.isDarwin && !stdenv.hostPlatform.isStatic) "-lgcc_s"; configureFlags = [ "--with-libreadline-prefix=${readline.dev}" ] - ++ stdenv.lib.optionals stdenv.isSunOS [ + ++ lib.optionals stdenv.isSunOS [ # Make sure the right <gmp.h> is found, and not the incompatible # /usr/include/mp.h from OpenSolaris. See # <https://lists.gnu.org/archive/html/hydra-users/2012-08/msg00000.html> @@ -94,9 +101,9 @@ meta = { description = "Embeddable Scheme implementation"; homepage = "https://www.gnu.org/software/guile/"; - license = stdenv.lib.licenses.lgpl3Plus; - maintainers = with stdenv.lib.maintainers; [ ludo lovek323 vrthra ]; - platforms = stdenv.lib.platforms.all; + license = lib.licenses.lgpl3Plus; + maintainers = with lib.maintainers; [ ludo lovek323 vrthra ]; + platforms = lib.platforms.all; longDescription = '' GNU Guile is an implementation of the Scheme programming language, with @@ -109,4 +116,3 @@ ''; }; }) - |