diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2018-01-02 19:10:45 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2018-01-02 19:10:45 +0100 |
commit | 804285f589ded484b530750dd1ec03b9052bcdac (patch) | |
tree | 8b20955e293215e1b8d672a3fd38867c39484609 /pkgs/development/libraries | |
parent | 63c1a54257a5cef15b926c0843b3c7557c6f9a24 (diff) | |
parent | 4cc2a38854338ba783fb867ff924200b59867773 (diff) | |
download | nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.gz nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.bz2 nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.lz nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.xz nixlib-804285f589ded484b530750dd1ec03b9052bcdac.tar.zst nixlib-804285f589ded484b530750dd1ec03b9052bcdac.zip |
Merge remote-tracking branch 'upstream/staging' into HEAD
Diffstat (limited to 'pkgs/development/libraries')
52 files changed, 285 insertions, 233 deletions
diff --git a/pkgs/development/libraries/SDL/setup-hook.sh b/pkgs/development/libraries/SDL/setup-hook.sh index 3696e743a07a..20382f18f529 100644 --- a/pkgs/development/libraries/SDL/setup-hook.sh +++ b/pkgs/development/libraries/SDL/setup-hook.sh @@ -4,8 +4,4 @@ addSDLPath () { fi } -if test -n "$crossConfig"; then - crossEnvHooks+=(addSDLPath) -else - envHooks+=(addSDLPath) -fi +addEnvHooks "$hostOffset" addSDLPath diff --git a/pkgs/development/libraries/SDL2/setup-hook.sh b/pkgs/development/libraries/SDL2/setup-hook.sh index 5a26440f37b3..3acce9d473c5 100644 --- a/pkgs/development/libraries/SDL2/setup-hook.sh +++ b/pkgs/development/libraries/SDL2/setup-hook.sh @@ -4,8 +4,4 @@ addSDL2Path () { fi } -if test -n "$crossConfig"; then - crossEnvHooks+=(addSDL2Path) -else - envHooks+=(addSDL2Path) -fi +addEnvHooks "$hostOffset" addSDL2Path diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index 61c18837782d..f7d3887cc180 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -18,13 +18,11 @@ stdenv.mkDerivation rec { buildInputs = libintlOrEmpty; - nativeBuildInputs = [ pkgconfig perl ]; + nativeBuildInputs = [ pkgconfig perl gobjectIntrospection ]; propagatedBuildInputs = [ # Required by atk.pc glib - # TODO: Why propagate? - gobjectIntrospection ]; doCheck = true; diff --git a/pkgs/development/libraries/boost/1.59.nix b/pkgs/development/libraries/boost/1.59.nix index 2666b1d6c5d2..603d7883c647 100644 --- a/pkgs/development/libraries/boost/1.59.nix +++ b/pkgs/development/libraries/boost/1.59.nix @@ -8,33 +8,33 @@ callPackage ./generic.nix (args // rec { sha256 = "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj"; }; - patches = if stdenv.isCygwin then [ - ./cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch - ./cygwin-fedora-boost-1.50.0-pool.patch - ./cygwin-fedora-boost-1.57.0-mpl-print.patch - ./cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch - ./cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch - ./cygwin-fedora-boost-1.54.0-python-unused_typedef.patch - ./cygwin-fedora-boost-1.57.0-pool-test_linking.patch - ./cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch - ./cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch - ./cygwin-fedora-boost-1.57.0-uuid-comparison.patch - ./cygwin-fedora-boost-1.57.0-move-is_class.patch - ./cygwin-1.40.0-cstdint-cygwin.patch - ./cygwin-1.57.0-asio-cygwin.patch - ./cygwin-1.55.0-asio-MSG_EOR.patch - ./cygwin-1.57.0-config-cygwin.patch - ./cygwin-1.57.0-context-cygwin.patch - ./cygwin-1.57.0-filesystem-cygwin.patch - ./cygwin-1.55.0-interlocked-cygwin.patch - ./cygwin-1.40.0-iostreams-cygwin.patch - ./cygwin-1.57.0-locale-cygwin.patch - ./cygwin-1.57.0-log-cygwin.patch - ./cygwin-1.40.0-python-cygwin.patch - ./cygwin-1.40.0-regex-cygwin.patch - ./cygwin-1.57.0-smart_ptr-cygwin.patch - ./cygwin-1.57.0-system-cygwin.patch - ./cygwin-1.45.0-jam-cygwin.patch - ./cygwin-1.50.0-jam-pep3149.patch - ] else null; + patches = stdenv.lib.optionals stdenv.isCygwin [ + ./cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch + ./cygwin-fedora-boost-1.50.0-pool.patch + ./cygwin-fedora-boost-1.57.0-mpl-print.patch + ./cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch + ./cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch + ./cygwin-fedora-boost-1.54.0-python-unused_typedef.patch + ./cygwin-fedora-boost-1.57.0-pool-test_linking.patch + ./cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch + ./cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch + ./cygwin-fedora-boost-1.57.0-uuid-comparison.patch + ./cygwin-fedora-boost-1.57.0-move-is_class.patch + ./cygwin-1.40.0-cstdint-cygwin.patch + ./cygwin-1.57.0-asio-cygwin.patch + ./cygwin-1.55.0-asio-MSG_EOR.patch + ./cygwin-1.57.0-config-cygwin.patch + ./cygwin-1.57.0-context-cygwin.patch + ./cygwin-1.57.0-filesystem-cygwin.patch + ./cygwin-1.55.0-interlocked-cygwin.patch + ./cygwin-1.40.0-iostreams-cygwin.patch + ./cygwin-1.57.0-locale-cygwin.patch + ./cygwin-1.57.0-log-cygwin.patch + ./cygwin-1.40.0-python-cygwin.patch + ./cygwin-1.40.0-regex-cygwin.patch + ./cygwin-1.57.0-smart_ptr-cygwin.patch + ./cygwin-1.57.0-system-cygwin.patch + ./cygwin-1.45.0-jam-cygwin.patch + ./cygwin-1.50.0-jam-pep3149.patch + ]; }) diff --git a/pkgs/development/libraries/boost/1.65.nix b/pkgs/development/libraries/boost/1.65.nix index 56b136cd99b4..427ef072ffea 100644 --- a/pkgs/development/libraries/boost/1.65.nix +++ b/pkgs/development/libraries/boost/1.65.nix @@ -9,6 +9,6 @@ callPackage ./generic.nix (args // rec { sha256 = "9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81"; }; - enableNumpy = true; + enableNumpy = args.enableNumpy or true; }) diff --git a/pkgs/development/libraries/boost/1.66.nix b/pkgs/development/libraries/boost/1.66.nix new file mode 100644 index 000000000000..a89ae84db38b --- /dev/null +++ b/pkgs/development/libraries/boost/1.66.nix @@ -0,0 +1,14 @@ +{ stdenv, callPackage, fetchurl, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "1.66_0"; + + src = fetchurl { + url = "mirror://sourceforge/boost/boost_1_66_0.tar.bz2"; + # SHA256 from http://www.boost.org/users/history/version_1_66_0.html + sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9"; + }; + + enableNumpy = args.enableNumpy or true; + +}) diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index b2ec31ace17b..adb7ca665cc2 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -1,18 +1,19 @@ { stdenv, fetchurl, icu, expat, zlib, bzip2, python, fixDarwinDylibNames, libiconv -, buildPlatform, hostPlatform -, toolset ? if stdenv.cc.isClang then "clang" else null +, which +, buildPackages, buildPlatform, hostPlatform +, toolset ? /**/ if stdenv.cc.isClang then "clang" + else if stdenv.cc.isGNU && hostPlatform != buildPlatform then "gcc-cross" + else null , enableRelease ? true , enableDebug ? false , enableSingleThreaded ? false , enableMultiThreaded ? true , enableShared ? !(hostPlatform.libc == "msvcrt") # problems for now , enableStatic ? !enableShared -, enablePIC ? false -, enableExceptions ? false , enablePython ? hostPlatform == buildPlatform , enableNumpy ? false , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic)) -, patches ? null +, patches ? [] , mpi ? null # Attributes inherit from specific versions @@ -21,8 +22,9 @@ }: # We must build at least one type of libraries -assert !enableShared -> enableStatic; +assert enableShared || enableStatic; +# Python isn't supported when cross-compiling assert enablePython -> hostPlatform == buildPlatform; assert enableNumpy -> enablePython; @@ -46,86 +48,41 @@ let # To avoid library name collisions layout = if taggedLayout then "tagged" else "system"; - cflags = if enablePIC && enableExceptions then - "cflags=\"-fPIC -fexceptions\" cxxflags=-fPIC linkflags=-fPIC" - else if enablePIC then - "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC" - else if enableExceptions then - "cflags=-fexceptions" - else - ""; - - withToolset = stdenv.lib.optionalString (toolset != null) "--with-toolset=${toolset}"; - - genericB2Flags = [ + b2Args = concatStringsSep " " ([ "--includedir=$dev/include" "--libdir=$out/lib" "-j$NIX_BUILD_CORES" "--layout=${layout}" "variant=${variant}" "threading=${threading}" - ] ++ optional (link != "static") "runtime-link=${runtime-link}" ++ [ + "runtime-link=${runtime-link}" "link=${link}" - "${cflags}" - ] ++ optional (variant == "release") "debug-symbols=off" - ++ optional (!enablePython) "--without-python"; - - nativeB2Flags = [ "-sEXPAT_INCLUDE=${expat.dev}/include" "-sEXPAT_LIBPATH=${expat.out}/lib" - ] ++ optional (toolset != null) "toolset=${toolset}" - ++ optional (mpi != null) "--user-config=user-config.jam"; - nativeB2Args = concatStringsSep " " (genericB2Flags ++ nativeB2Flags); - - crossB2Flags = [ - "-sEXPAT_INCLUDE=${expat.crossDrv}/include" - "-sEXPAT_LIBPATH=${expat.crossDrv}/lib" - "--user-config=user-config.jam" - "toolset=gcc-cross" - ] ++ optionals (hostPlatform.libc == "msvcrt") [ + ] ++ optional (variant == "release") "debug-symbols=off" + ++ optional (toolset != null) "toolset=${toolset}" + ++ optional (mpi != null || hostPlatform != buildPlatform) "--user-config=user-config.jam" + ++ optionals (hostPlatform.libc == "msvcrt") [ "target-os=windows" "threadapi=win32" "binary-format=pe" "address-model=${toString hostPlatform.parsed.cpu.bits}" "architecture=x86" - ]; - crossB2Args = concatStringsSep " " (genericB2Flags ++ crossB2Flags); - - builder = b2Args: '' - ./b2 ${b2Args} - ''; - - installer = b2Args: '' - # boostbook is needed by some applications - mkdir -p $dev/share/boostbook - cp -a tools/boostbook/{xsl,dtd} $dev/share/boostbook/ - - # Let boost install everything else - ./b2 ${b2Args} install - ''; - - commonConfigureFlags = [ - "--includedir=$(dev)/include" - "--libdir=$(out)/lib" - ]; - - fixup = '' - # Make boost header paths relative so that they are not runtime dependencies - ( - cd "$dev" - find include \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \ - -exec sed '1i#line 1 "{}"' -i '{}' \; - ) - '' + optionalString (hostPlatform.libc == "msvcrt") '' - ${stdenv.cc.targetPrefix}ranlib "$out/lib/"*.a - ''; + ]); in stdenv.mkDerivation { name = "boost-${version}"; - inherit src patches version; + inherit src; + + patchFlags = optionalString (hostPlatform.libc == "msvcrt") "-p0"; + patches = patches ++ optional (hostPlatform.libc == "msvcrt") (fetchurl { + url = "https://svn.boost.org/trac/boost/raw-attachment/tickaet/7262/" + + "boost-mingw.patch"; + sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj"; + }); meta = { homepage = http://boost.org/; @@ -142,9 +99,13 @@ stdenv.mkDerivation { --replace '@rpath/$(<[1]:D=)' "$out/lib/\$(<[1]:D=)"; fi; '' + optionalString (mpi != null) '' - cat << EOF > user-config.jam + cat << EOF >> user-config.jam using mpi : ${mpi}/bin/mpiCC ; EOF + '' + optionalString (hostPlatform != buildPlatform) '' + cat << EOF >> user-config.jam + using gcc : cross : ${stdenv.cc.targetPrefix}c++ ; + EOF ''; NIX_CFLAGS_LINK = stdenv.lib.optionalString stdenv.isDarwin @@ -152,6 +113,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; + nativeBuildInputs = [ which buildPackages.stdenv.cc ]; buildInputs = [ expat zlib bzip2 libiconv ] ++ optional (hostPlatform == buildPlatform) icu ++ optional stdenv.isDarwin fixDarwinDylibNames @@ -159,39 +121,35 @@ stdenv.mkDerivation { ++ optional enableNumpy python.pkgs.numpy; configureScript = "./bootstrap.sh"; - configureFlags = commonConfigureFlags - ++ [ "--with-python=${python.interpreter}" ] - ++ optional (hostPlatform == buildPlatform) "--with-icu=${icu.dev}" - ++ optional (toolset != null) "--with-toolset=${toolset}"; + configurePlatforms = []; + configureFlags = [ + "--includedir=$(dev)/include" + "--libdir=$(out)/lib" + (if enablePython then "--with-python=${python.interpreter}" else "--without-python") + (if hostPlatform == buildPlatform then "--with-icu=${icu.dev}" else "--without-icu") + ] ++ optional (toolset != null) "--with-toolset=${toolset}"; - buildPhase = builder nativeB2Args; + buildPhase = '' + ./b2 ${b2Args} + ''; + + installPhase = '' + # boostbook is needed by some applications + mkdir -p $dev/share/boostbook + cp -a tools/boostbook/{xsl,dtd} $dev/share/boostbook/ - installPhase = installer nativeB2Args; + # Let boost install everything else + ./b2 ${b2Args} install + ''; - postFixup = fixup; + postFixup = '' + # Make boost header paths relative so that they are not runtime dependencies + find "$dev/include" \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \ + -exec sed '1i#line 1 "{}"' -i '{}' \; + '' + optionalString (hostPlatform.libc == "msvcrt") '' + $RANLIB "$out/lib/"*.a + ''; outputs = [ "out" "dev" ]; setOutputFlags = false; - - crossAttrs = rec { - # We want to substitute the contents of configureFlags, removing thus the - # usual --build and --host added on cross building. - preConfigure = '' - export configureFlags="--without-icu ${concatStringsSep " " commonConfigureFlags}" - cat << EOF > user-config.jam - using gcc : cross : $crossConfig-g++ ; - EOF - ''; - buildPhase = builder crossB2Args; - installPhase = installer crossB2Args; - postFixup = fixup; - } // optionalAttrs (hostPlatform.libc == "msvcrt") { - patches = fetchurl { - url = "https://svn.boost.org/trac/boost/raw-attachment/ticket/7262/" - + "boost-mingw.patch"; - sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj"; - }; - - patchFlags = "-p0"; - }; } diff --git a/pkgs/development/libraries/cppdb/default.nix b/pkgs/development/libraries/cppdb/default.nix index 72fa309b721f..07c6e1490e7e 100644 --- a/pkgs/development/libraries/cppdb/default.nix +++ b/pkgs/development/libraries/cppdb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, sqlite, libmysql, postgresql, unixODBC }: +{ stdenv, fetchurl, cmake, sqlite, mysql, postgresql, unixODBC }: stdenv.mkDerivation rec { name = "cppdb"; @@ -11,9 +11,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ cmake sqlite libmysql postgresql unixODBC ]; + buildInputs = [ cmake sqlite mysql.connector-c postgresql unixODBC ]; cmakeFlags = [ "--no-warn-unused-cli" ]; + NIX_CFLAGS_COMPILE = [ "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ]; meta = with stdenv.lib; { homepage = http://cppcms.com/sql/cppdb/; @@ -23,4 +24,3 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.juliendehos ]; }; } - diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index 984d3da81198..0f1637a87e94 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { "--with-poppler=${poppler.dev}" # optional "--with-libz=${zlib.dev}" # optional "--with-pg=${postgresql}/bin/pg_config" - "--with-mysql=${mysql.lib.dev}/bin/mysql_config" + "--with-mysql=${mysql.connector-c or mysql}/bin/mysql_config" "--with-geotiff=${libgeotiff}" "--with-sqlite3=${sqlite.dev}" "--with-spatialite=${libspatialite}" diff --git a/pkgs/development/libraries/gdal/gdal-1_11.nix b/pkgs/development/libraries/gdal/gdal-1_11.nix index c9f0c0761019..7a80ce7fdb66 100644 --- a/pkgs/development/libraries/gdal/gdal-1_11.nix +++ b/pkgs/development/libraries/gdal/gdal-1_11.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, unzip, libjpeg, libtiff, zlib -, postgresql, mysql, libgeotiff, python, pythonPackages, proj, geos, openssl +, postgresql, mysql57, libgeotiff, python, pythonPackages, proj, geos, openssl , libpng }: stdenv.mkDerivation rec { @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { "--with-libz=${zlib.dev}" # optional "--with-pg=${postgresql}/bin/pg_config" - "--with-mysql=${mysql.lib.dev}/bin/mysql_config" + "--with-mysql=${mysql57.connector-c}/bin/mysql_config" "--with-geotiff=${libgeotiff}" "--with-python" # optional "--with-static-proj4=${proj}" # optional diff --git a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh index ba7ab82f50b4..5a7dcd792996 100644 --- a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh +++ b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh @@ -14,4 +14,4 @@ findGdkPixbufLoaders() { } -envHooks+=(findGdkPixbufLoaders) +addEnvHooks "$hostOffset" findGdkPixbufLoaders diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh index c5cf293902cd..98341376fdf6 100644 --- a/pkgs/development/libraries/glib/setup-hook.sh +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -5,7 +5,7 @@ make_glib_find_gsettings_schemas() { addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"* fi } -envHooks+=(make_glib_find_gsettings_schemas) +addEnvHooks "$hostOffset" make_glib_find_gsettings_schemas # Install gschemas, if any, in a package-specific directory glibPreInstallPhase() { diff --git a/pkgs/development/libraries/glibc/2.26-75to115.diff.gz b/pkgs/development/libraries/glibc/2.26-75to115.diff.gz new file mode 100644 index 000000000000..9bf1a4f7d39b --- /dev/null +++ b/pkgs/development/libraries/glibc/2.26-75to115.diff.gz Binary files differdiff --git a/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch b/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch new file mode 100644 index 000000000000..ce18b874c427 --- /dev/null +++ b/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch @@ -0,0 +1,39 @@ +diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure +index cace758c01..38fe7fe0b0 100644 +--- a/sysdeps/unix/sysv/linux/configure ++++ b/sysdeps/unix/sysv/linux/configure +@@ -69,7 +69,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5 + $as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; } + decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; +-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; ++abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + #include <linux/version.h> +diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac +index 13abda0a51..6abc12eaed 100644 +--- a/sysdeps/unix/sysv/linux/configure.ac ++++ b/sysdeps/unix/sysv/linux/configure.ac +@@ -50,7 +50,7 @@ fi + AC_MSG_CHECKING(for kernel header at least $minimum_kernel) + changequote(,)dnl + decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; +-abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; ++abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; + changequote([,])dnl + AC_TRY_COMPILE([#include <linux/version.h> + #if LINUX_VERSION_CODE < $decnum +diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h +index 823cd8224d..482caaeeec 100644 +--- a/sysdeps/unix/sysv/linux/dl-osinfo.h ++++ b/sysdeps/unix/sysv/linux/dl-osinfo.h +@@ -39,7 +39,7 @@ + GLRO(dl_osversion) = version; \ + \ + /* Now we can test with the required version. */ \ +- if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION) \ ++ if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION && version != 0x020620) \ + /* Not sufficent. */ \ + FATAL ("FATAL: kernel too old\n"); \ + } \ diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 86f3be15fea6..cfec3209b98a 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -20,7 +20,7 @@ let version = "2.26"; - patchSuffix = "-75"; + patchSuffix = "-115"; sha256 = "1ggnj1hzjym7sn93rbwydcqd562q73lsb7g7kd199g6j9j9hlkp5"; cross = if buildPlatform != hostPlatform then hostPlatform else null; in @@ -47,6 +47,7 @@ stdenv.mkDerivation ({ $ git show --reverse glibc-2.25..release/2.25/master | gzip -n -9 --rsyncable - > 2.25-49.patch.gz */ ./2.26-75.patch.gz + ./2.26-75to115.diff.gz /* Have rpcgen(1) look for cpp(1) in $PATH. */ ./rpcgen-path.patch @@ -64,6 +65,25 @@ stdenv.mkDerivation ({ "/bin:/usr/bin", which is inappropriate on NixOS machines. This patch extends the search path by "/run/current-system/sw/bin". */ ./fix_path_attribute_in_getconf.patch + + /* Allow running with RHEL 6 -like kernels. The patch adds an exception + for glibc to accept 2.6.32 and to tag the ELFs as 2.6.32-compatible + (otherwise the loader would refuse libc). + Note that glibc will fully work only on their heavily patched kernels + and we lose early mismatch detection on 2.6.32. + + On major glibc updates we should check that the patched kernel supports + all the required features. ATM it's verified up to glibc-2.26-115. + # HOWTO: check glibc sources for changes in kernel requirements + git log -p glibc-2.25.. sysdeps/unix/sysv/linux/x86_64/kernel-features.h sysdeps/unix/sysv/linux/kernel-features.h + # get kernel sources (update the URL) + mkdir tmp && cd tmp + curl http://vault.centos.org/6.9/os/Source/SPackages/kernel-2.6.32-696.el6.src.rpm | rpm2cpio - | cpio -idmv + tar xf linux-*.bz2 + # check syscall presence, for example + less linux-*?/arch/x86/kernel/syscall_table_32.S + */ + ./allow-kernel-2.6.32.patch ] ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch; @@ -121,7 +141,7 @@ stdenv.mkDerivation ({ outputs = [ "out" "bin" "dev" "static" ]; - nativeBuildInputs = lib.optional (cross != null) buildPackages.stdenv.cc; + depsBuildBuild = [ buildPackages.stdenv.cc ]; buildInputs = lib.optionals withGd [ gd libpng ]; # Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index e3bacc86d58e..dce052f8baab 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -19,8 +19,8 @@ let self = stdenv.mkDerivation rec { outputs = [ "out" "dev" "info" ]; passthru.static = self.out; - nativeBuildInputs = [ m4 ] - ++ stdenv.lib.optional (buildPlatform != hostPlatform) buildPackages.stdenv.cc; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ m4 ]; configureFlags = # Build a "fat binary", with routines for several sub-architectures diff --git a/pkgs/development/libraries/gobject-introspection/setup-hook.sh b/pkgs/development/libraries/gobject-introspection/setup-hook.sh index 583d8475ec3b..a79ce05a38df 100644 --- a/pkgs/development/libraries/gobject-introspection/setup-hook.sh +++ b/pkgs/development/libraries/gobject-introspection/setup-hook.sh @@ -1,5 +1,4 @@ make_gobject_introspection_find_gir_files() { - # required for .typelib files, eg mypaint git version if [ -d "$1/lib/girepository-1.0" ]; then addToSearchPath GI_TYPELIB_PATH $1/lib/girepository-1.0 @@ -11,11 +10,18 @@ make_gobject_introspection_find_gir_files() { fi } -envHooks+=(make_gobject_introspection_find_gir_files) +addEnvHooks "$hostOffset" make_gobject_introspection_find_gir_files + +giDiscoverSelf() { + if [ -d "$prefix/lib/girepository-1.0" ]; then + addToSearchPath GI_TYPELIB_PATH $prefix/lib/girepository-1.0 + fi +} + +preFixupHooks+=(giDiscoverSelf) _multioutMoveGlibGir() { moveToOutput share/gir-1.0 "${!outputDev}" } preFixupHooks+=(_multioutMoveGlibGir) - diff --git a/pkgs/development/libraries/grantlee/5/setup-hook.sh b/pkgs/development/libraries/grantlee/5/setup-hook.sh index aaa64868dc94..b51cb4a31909 100644 --- a/pkgs/development/libraries/grantlee/5/setup-hook.sh +++ b/pkgs/development/libraries/grantlee/5/setup-hook.sh @@ -10,8 +10,4 @@ _grantleeEnvHook() { propagatedUserEnvPkgs+=" $1" fi } -if [ "$crossEnv" ]; then - crossEnvHooks+=(_grantleeEnvHook) -else - envHooks+=(_grantleeEnvHook) -fi +addEnvHooks "$hostOffset" _grantleeEnvHook diff --git a/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/pkgs/development/libraries/gstreamer/core/setup-hook.sh index 3dd7812ece6d..b8c741af578f 100644 --- a/pkgs/development/libraries/gstreamer/core/setup-hook.sh +++ b/pkgs/development/libraries/gstreamer/core/setup-hook.sh @@ -5,5 +5,5 @@ addGstreamer1LibPath () { fi } -envHooks+=(addGstreamer1LibPath) +addEnvHooks "$hostOffset" addGstreamer1LibPath diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh index e89aeda5bc1c..65ce26112519 100644 --- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh +++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/setup-hook.sh @@ -5,4 +5,4 @@ addGstreamerLibPath () { fi } -envHooks+=(addGstreamerLibPath) +addEnvHooks "$hostOffset" addGstreamerLibPath diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index 45222b7d7fcc..169fd119d51f 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gettext, glib, atk, pango, cairo, perl, xorg -, gdk_pixbuf, libintlOrEmpty, xlibsWrapper +, gdk_pixbuf, libintlOrEmpty, xlibsWrapper, gobjectIntrospection , xineramaSupport ? stdenv.isLinux , cupsSupport ? true, cups ? null , gdktarget ? "x11" @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; - nativeBuildInputs = [ setupHook perl pkgconfig gettext ]; + nativeBuildInputs = [ setupHook perl pkgconfig gettext gobjectIntrospection ]; patches = [ ./2.0-immodules.cache.patch ./gtk2-theme-paths.patch ]; diff --git a/pkgs/development/libraries/kdb/default.nix b/pkgs/development/libraries/kdb/default.nix index 399d5914c2de..e85190cdfcec 100644 --- a/pkgs/development/libraries/kdb/default.nix +++ b/pkgs/development/libraries/kdb/default.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, fetchurl, extra-cmake-modules, - qtbase, qttranslations, kcoreaddons, python2, sqlite, postgresql, libmysql + qtbase, qttranslations, kcoreaddons, python2, sqlite, postgresql, mysql }: mkDerivation rec { @@ -16,7 +16,7 @@ mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql libmysql ]; + buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql mysql.connector-c ]; propagatedBuildInputs = [ qtbase ]; diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index c1b1e21852cf..88091e78a0cd 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -2,7 +2,7 @@ _ecmEnvHook() { addToSearchPath XDG_DATA_DIRS "$1/share" addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg" } -envHooks+=(_ecmEnvHook) +addEnvHooks "$targetOffset" _ecmEnvHook _ecmPreConfigureHook() { # Because we need to use absolute paths here, we must set *all* the paths. diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix index 661e89e30782..0a600fe8d057 100644 --- a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix @@ -8,10 +8,18 @@ mkDerivation { name = "kdoctools"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules ]; - propagatedNativeBuildInputs = [ perl perlPackages.URI ]; + nativeBuildInputs = [ + extra-cmake-modules + # The build system insists on having native Perl. + perl perlPackages.URI + ]; + propagatedBuildInputs = [ + # kdoctools at runtime actually needs Perl for the platform kdoctools is + # running on, not necessarily native perl. + perl perlPackages.URI + qtbase + ]; buildInputs = [ karchive ki18n ]; - propagatedBuildInputs = [ qtbase ]; outputs = [ "out" "dev" ]; patches = [ ./kdoctools-no-find-docbook-xml.patch ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/kdoctools/setup-hook.sh index 5cfffbd622d1..2928d9b34dbe 100644 --- a/pkgs/development/libraries/kde-frameworks/kdoctools/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/kdoctools/setup-hook.sh @@ -2,4 +2,4 @@ addXdgData() { addToSearchPath XDG_DATA_DIRS "$1/share" } -envHooks+=(addXdgData) +addEnvHooks "$targetOffset" addXdgData diff --git a/pkgs/development/libraries/libagar/default.nix b/pkgs/development/libraries/libagar/default.nix index 1c9e8eca0d57..ee984a53b4c9 100644 --- a/pkgs/development/libraries/libagar/default.nix +++ b/pkgs/development/libraries/libagar/default.nix @@ -20,15 +20,16 @@ stdenv.mkDerivation rec { "--with-gettext=${gettext}" "--with-jpeg=${libjpeg.dev}" "--with-gl=${mesa}" - "--with-mysql=yes" + "--with-mysql=${mysql.connector-c}" "--with-manpages=yes" ]; outputs = [ "out" "devdoc" ]; nativeBuildInputs = [ pkgconfig libtool gettext ]; + buildInputs = [ - bsdbuild perl xlibsWrapper libXinerama SDL mesa mysql.client mandoc + bsdbuild perl xlibsWrapper libXinerama SDL mesa mysql.connector-c mandoc freetype.dev libpng libjpeg.dev fontconfig portaudio libsndfile ]; diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix index bad2a060cdca..94369449ff3d 100644 --- a/pkgs/development/libraries/libassuan/default.nix +++ b/pkgs/development/libraries/libassuan/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pth, libgpgerror }: stdenv.mkDerivation rec { - name = "libassuan-2.4.3"; + name = "libassuan-2.5.1"; src = fetchurl { url = "mirror://gnupg/libassuan/${name}.tar.bz2"; - sha256 = "0w9bmasln4z8mn16s1is55a06w3nv8jbyal496z5jvr5vcxkm112"; + sha256 = "0jb4nb4nrjr949gd3lw8lh4v5d6qigxaq6xwy24w5apjnhvnrya7"; }; outputs = [ "out" "dev" "info" ]; diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix index 77c09f3ed158..2a03efd632ff 100644 --- a/pkgs/development/libraries/libdbi-drivers/default.nix +++ b/pkgs/development/libraries/libdbi-drivers/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, libdbi -, libmysql ? null, sqlite ? null, postgresql ? null +, mysql ? null +, sqlite ? null +, postgresql ? null }: with stdenv.lib; @@ -11,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3"; }; - buildInputs = [ libdbi libmysql sqlite postgresql ]; + buildInputs = [ libdbi sqlite postgresql ] ++ optional (mysql != null) mysql.connector-c; postPatch = '' sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure; @@ -24,16 +26,18 @@ stdenv.mkDerivation rec { "--enable-libdbi" "--with-dbi-incdir=${libdbi}/include" "--with-dbi-libdir=${libdbi}/lib" - ] ++ optionals (libmysql != null) [ + ] ++ optionals (mysql != null) [ "--with-mysql" - ] ++ optionals (postgresql != null) [ - "--with-pgsql" - "--with-pgsql_incdir=${postgresql}/include" - "--with-pgsql_libdir=${postgresql.lib}/lib" + "--with-mysql-incdir=${mysql.connector-c}/include/mysql" + "--with-mysql-libdir=${mysql.connector-c}/lib/mysql" ] ++ optionals (sqlite != null) [ "--with-sqlite3" "--with-sqlite3-incdir=${sqlite.dev}/include/sqlite" "--with-sqlite3-libdir=${sqlite.out}/lib/sqlite" + ] ++ optionals (postgresql != null) [ + "--with-pgsql" + "--with-pgsql_incdir=${postgresql}/include" + "--with-pgsql_libdir=${postgresql.lib}/lib" ]; installFlags = [ "DESTDIR=\${out}" ]; diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 533d5d4cac81..e5e1e2e7a399 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }: stdenv.mkDerivation rec { - name = "libdrm-2.4.88"; + name = "libdrm-2.4.89"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "b5e55dbac2124e742e639f5b8553e8b7395863bf73dab4f77e99fe2fc25572b5"; + sha256 = "629f9782aabbb4809166de5f24d26fe0766055255038f16935602d89f136a02e"; }; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index bd0d23bd0cdb..bb1dbe51765e 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl -, gettext, glibc +{ stdenv +, fetchurl, autoreconfHook, gettext , buildPlatform, hostPlatform }: @@ -17,12 +17,20 @@ stdenv.mkDerivation rec { doCheck = true; - # Libelf's custom NLS macros fail to determine the catalog file extension on - # Darwin, so disable NLS for now. - # FIXME: Eventually make Gettext a build input on all platforms. - configureFlags = stdenv.lib.optional hostPlatform.isDarwin "--disable-nls"; - - nativeBuildInputs = [ gettext ]; + configureFlags = [] + # Configure check for dynamic lib support is broken, see + # http://lists.uclibc.org/pipermail/uclibc-cvs/2005-August/019383.html + ++ stdenv.lib.optional (hostPlatform != buildPlatform) "mr_cv_target_elf=yes" + # Libelf's custom NLS macros fail to determine the catalog file extension + # on Darwin, so disable NLS for now. + ++ stdenv.lib.optional hostPlatform.isDarwin "--disable-nls"; + + nativeBuildInputs = [ gettext ] + # Need to regenerate configure script with newer version in order to pass + # "mr_cv_target_elf=yes", but `autoreconfHook` brings in `makeWrapper` + # which doesn't work with the bootstrapTools bash, so can only do this + # for cross builds when `stdenv.shell` is a newer bash. + ++ stdenv.lib.optional (hostPlatform != buildPlatform) autoreconfHook; meta = { description = "ELF object file access library"; diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index e32ba050c38f..397000fc7d24 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -4,11 +4,11 @@ assert enableCapabilities -> stdenv.isLinux; stdenv.mkDerivation rec { name = "libgcrypt-${version}"; - version = "1.8.1"; + version = "1.8.2"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "1cvqd9jk5qshbh48yh3ixw4zyr4n5k50r3475rrh20xfn7w7aa3s"; + sha256 = "01sca9m8hm6b5v8hmqsfdjhyz013869p1f0fxw9ln52qfnp4q1n8"; }; outputs = [ "out" "dev" "info" ]; diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix index 074c1a9dfd28..060f5ba4934c 100644 --- a/pkgs/development/libraries/libnftnl/default.nix +++ b/pkgs/development/libraries/libnftnl/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libmnl }: stdenv.mkDerivation rec { - name = "libnftnl-1.0.7"; + name = "libnftnl-1.0.8"; src = fetchurl { url = "http://netfilter.org/projects/libnftnl/files/${name}.tar.bz2"; - sha256 = "10irjrylcfkbp11617yr19vpfhgl54w0kw02jhj0i1abqv5nxdlv"; + sha256 = "0f10cfiyl4c0f8k3brxfrw28x7a6qvrakaslg4jgqncwxycxggg6"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libopcodes/default.nix b/pkgs/development/libraries/libopcodes/default.nix index 7ffc40f14946..d6d6989761bc 100644 --- a/pkgs/development/libraries/libopcodes/default.nix +++ b/pkgs/development/libraries/libopcodes/default.nix @@ -19,7 +19,8 @@ stdenv.mkDerivation rec { find . ../include/opcode -type f -exec sed {} -i -e 's/"bfd.h"/<bfd.h>/' \; ''; - nativeBuildInputs = [ autoreconfHook264 bison buildPackages.stdenv.cc ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ autoreconfHook264 bison ]; buildInputs = [ libiberty ]; # dis-asm.h includes bfd.h propagatedBuildInputs = [ libbfd ]; diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix index 8e6fa005635f..402af5d6f583 100644 --- a/pkgs/development/libraries/librdf/redland.nix +++ b/pkgs/development/libraries/librdf/redland.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl pkgconfig ]; buildInputs = [ openssl libxslt curl pcre libxml2 ] - ++ stdenv.lib.optional withMysql mysql + ++ stdenv.lib.optional withMysql mysql.connector-c ++ stdenv.lib.optional withSqlite sqlite ++ stdenv.lib.optional withPostgresql postgresql ++ stdenv.lib.optional withBdb db; diff --git a/pkgs/development/libraries/librep/setup-hook.sh b/pkgs/development/libraries/librep/setup-hook.sh index 420d63d6c513..4d875b693304 100644 --- a/pkgs/development/libraries/librep/setup-hook.sh +++ b/pkgs/development/libraries/librep/setup-hook.sh @@ -2,4 +2,4 @@ addRepDLLoadPath () { addToSearchPath REP_DL_LOAD_PATH $1/lib/rep } -envHooks+=(addRepDLLoadPath) +addEnvHooks "$hostOffset" addRepDLLoadPath diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index fca99550a3ca..4c00df4c17d8 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -66,7 +66,7 @@ let in let - version = "17.2.7"; + version = "17.2.8"; branch = head (splitString "." version); driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32"; in @@ -81,7 +81,7 @@ stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - sha256 = "0s3slgjxnx482yw0knn4a6alsy2cq28rah6hnjbmf12mvyldxksh"; + sha256 = "0pq9kmmyllgd63d936f3x1zsg7sqaswx47khbn0gvbgari2h753f"; }; prePatch = "patchShebangs ."; diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 9aade8b96725..79414f016d39 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -37,10 +37,11 @@ stdenv.mkDerivation rec { # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris: CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED"; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ pkgconfig ] ++ lib.optionals (buildPlatform != hostPlatform) [ - buildPackages.ncurses buildPackages.stdenv.cc + buildPackages.ncurses ]; buildInputs = lib.optional (mouseSupport && stdenv.isLinux) gpm; diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix index 37afa3fd5070..48ec5141e34f 100644 --- a/pkgs/development/libraries/opendbx/default.nix +++ b/pkgs/development/libraries/opendbx/default.nix @@ -12,10 +12,10 @@ stdenv.mkDerivation rec { }; preConfigure = '' - export CPPFLAGS="-I${getDev mysql.client}/include/mysql" - export LDFLAGS="-L${getLib mysql.client}/lib/mysql -L${getLib postgresql}/lib" + export CPPFLAGS="-I${mysql.connector-c}/include/mysql" + export LDFLAGS="-L${mysql.connector-c}/lib/mysql -L${postgresql}/lib" configureFlagsArray=(--with-backends="mysql pgsql sqlite3") ''; - buildInputs = [ readline mysql.client postgresql sqlite ]; + buildInputs = [ readline mysql.connector-c postgresql sqlite ]; } diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index e6055151301c..b34c9ff31f2c 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -33,6 +33,9 @@ in stdenv.mkDerivation rec { buildInputs = optional (hostPlatform.libc == "msvcrt") windows.mingw_w64_pthreads; + # https://bugs.exim.org/show_bug.cgi?id=2173 + patches = [ ./stacksize-detection.patch ]; + doCheck = !(with hostPlatform; isCygwin || isFreeBSD) && hostPlatform == buildPlatform; # XXX: test failure on Cygwin # we are running out of stack on both freeBSDs on Hydra diff --git a/pkgs/development/libraries/pcre/stacksize-detection.patch b/pkgs/development/libraries/pcre/stacksize-detection.patch new file mode 100644 index 000000000000..4bc97069b1e2 --- /dev/null +++ b/pkgs/development/libraries/pcre/stacksize-detection.patch @@ -0,0 +1,16 @@ +diff --git a/pcre_exec.c b/pcre_exec.c +--- a/pcre_exec.c ++++ b/pcre_exec.c +@@ -509,6 +509,12 @@ + (e.g. stopped by repeated call or recursion limit) + */ + ++#ifdef __GNUC__ ++static int ++match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, ++ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, ++ unsigned int rdepth) __attribute__((noinline,noclone)); ++#endif + static int + match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, + PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix index 0f971cff64d4..407559137370 100644 --- a/pkgs/development/libraries/poco/default.nix +++ b/pkgs/development/libraries/poco/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, pkgconfig, zlib, pcre, expat, sqlite, openssl, unixODBC, libmysql }: +{ stdenv, fetchurl, cmake, pkgconfig, zlib, pcre, expat, sqlite, openssl, unixODBC, mysql }: stdenv.mkDerivation rec { name = "poco-${version}"; @@ -12,10 +12,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ zlib pcre expat sqlite openssl unixODBC libmysql ]; + buildInputs = [ zlib pcre expat sqlite openssl unixODBC mysql.connector-c ]; cmakeFlags = [ - "-DMYSQL_INCLUDE_DIR=${libmysql.dev}/include/mysql" "-DPOCO_UNBUNDLED=ON" ]; diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix index 6d92de001cb7..1bc4fd1085e1 100644 --- a/pkgs/development/libraries/qt-3/default.nix +++ b/pkgs/development/libraries/qt-3/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation { -I${randrproto}/include" else "-no-xrandr"} ${if xineramaSupport then "-xinerama -L${libXinerama.out}/lib -I${libXinerama.dev}/include" else "-no-xinerama"} ${if cursorSupport then "-L${libXcursor.out}/lib -I${libXcursor.dev}/include" else ""} - ${if mysqlSupport then "-qt-sql-mysql -L${stdenv.lib.getLib mysql.client}/lib/mysql -I${mysql.client}/include/mysql" else ""} + ${if mysqlSupport then "-qt-sql-mysql -L${mysql.connector-c}/lib/mysql -I${mysql.connector-c}/include/mysql" else ""} ${if xftSupport then "-xft -L${libXft.out}/lib -I${libXft.dev}/include -L${libXft.freetype.out}/lib -I${libXft.freetype.dev}/include diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 32691faa6893..488306fc1ce2 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -160,7 +160,7 @@ stdenv.mkDerivation rec { buildInputs = [ cups # Qt dlopen's libcups instead of linking to it postgresql sqlite libjpeg libmng libtiff icu ] - ++ optionals (mysql != null) [ mysql.lib ] + ++ optionals (mysql != null) [ mysql.connector-c ] ++ optionals gtkStyle [ gtk2 gdk_pixbuf ] ++ optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ]; diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh index 8ec7eeda8aee..754a75cbef4f 100644 --- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh @@ -42,11 +42,7 @@ qtEnvHook() { propagatedUserEnvPkgs+=" $1" fi } -if [ "$crossConfig" ]; then - crossEnvHooks+=(qtEnvHook) -else - envHooks+=(qtEnvHook) -fi +envHostTargetHooks+=(qtEnvHook) postPatchMkspecs() { local bin="${!outputBin}" diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix index 172b20bc51bb..5f65f71bbbaa 100644 --- a/pkgs/development/libraries/qt-5/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix @@ -80,7 +80,7 @@ stdenv.mkDerivation { ) ++ lib.optional developerBuild gdb ++ lib.optional (cups != null) cups - ++ lib.optional (mysql != null) mysql.lib + ++ lib.optional (mysql != null) mysql.connector-c ++ lib.optional (postgresql != null) postgresql; nativeBuildInputs = diff --git a/pkgs/development/libraries/rep-gtk/setup-hook.sh b/pkgs/development/libraries/rep-gtk/setup-hook.sh index 420d63d6c513..4d875b693304 100644 --- a/pkgs/development/libraries/rep-gtk/setup-hook.sh +++ b/pkgs/development/libraries/rep-gtk/setup-hook.sh @@ -2,4 +2,4 @@ addRepDLLoadPath () { addToSearchPath REP_DL_LOAD_PATH $1/lib/rep } -envHooks+=(addRepDLLoadPath) +addEnvHooks "$hostOffset" addRepDLLoadPath diff --git a/pkgs/development/libraries/slib/setup-hook.sh b/pkgs/development/libraries/slib/setup-hook.sh index 62b72d6dc0ab..3c7e91e81886 100644 --- a/pkgs/development/libraries/slib/setup-hook.sh +++ b/pkgs/development/libraries/slib/setup-hook.sh @@ -10,4 +10,4 @@ addSlibPath () { fi } -envHooks+=(addSlibPath) +addEnvHooks "$hostOffset" addSlibPath diff --git a/pkgs/development/libraries/tntdb/default.nix b/pkgs/development/libraries/tntdb/default.nix index d11a5c344c9d..75a494cfbded 100644 --- a/pkgs/development/libraries/tntdb/default.nix +++ b/pkgs/development/libraries/tntdb/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0js79dbvkic30bzw1pf26m64vs2ssw2sbj55w1dc0sy69dlv4fh9"; }; - buildInputs = [ cxxtools postgresql mysql sqlite zlib openssl ]; + buildInputs = [ cxxtools postgresql mysql.connector-c sqlite zlib openssl ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index 233fdd902541..badcb7e661bb 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -37,19 +37,12 @@ }; nativeBuildInputs = [ cmake ]; - buildInputs = [ unixODBC mariadb.lib ]; + buildInputs = [ unixODBC mariadb.connector-c ]; cmakeFlags = [ - "-DMARIADB_INCLUDE_DIR=${mariadb.lib}/include/mysql" + "-DMARIADB_INCLUDE_DIR=${mariadb.connector-c}/include/mariadb" ]; - preConfigure = '' - sed -i \ - -e 's,mariadb_config,mysql_config,g' \ - -e 's,libmariadbclient,libmysqlclient,g' \ - cmake/FindMariaDB.cmake - ''; - passthru = { fancyName = "MariaDB"; driver = "lib/libmyodbc3-3.51.12.so"; @@ -60,7 +53,6 @@ homepage = https://downloads.mariadb.org/connector-odbc/; license = licenses.gpl2; platforms = platforms.linux; - broken = true; }; }; diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix index 3adf4f1497f8..1d0bd20f66f0 100644 --- a/pkgs/development/libraries/wt/default.nix +++ b/pkgs/development/libraries/wt/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, boost, pkgconfig, doxygen, qt48Full, libharu -, pango, fcgi, firebird, libmysql, postgresql, graphicsmagick, glew, openssl +, pango, fcgi, firebird, mysql, postgresql, graphicsmagick, glew, openssl , pcre }: @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake boost doxygen qt48Full libharu - pango fcgi firebird libmysql postgresql graphicsmagick glew + pango fcgi firebird mysql.connector-c postgresql graphicsmagick glew openssl pcre ]; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { "-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick" "-DWT_CPP_11_MODE=-std=c++11" "-DGM_PREFIX=${graphicsmagick}" - "-DMYSQL_PREFIX=${libmysql.dev}" + "-DMYSQL_PREFIX=${mysql.connector-c}" "--no-warn-unused-cli" ]; diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix index 23fee81e0a52..36a73bc6d2ba 100644 --- a/pkgs/development/libraries/xapian/default.nix +++ b/pkgs/development/libraries/xapian/default.nix @@ -36,5 +36,5 @@ let in { # xapian-ruby needs 1.2.22 as of 2017-05-06 xapian_1_2_22 = generic "1.2.22" "0zsji22n0s7cdnbgj0kpil05a6bgm5cfv0mvx12d8ydg7z58g6r6"; - xapian_1_4_4 = generic "1.4.4" "1n9j2w2as0flih3hgim7gprfxsx6gimijs91rxsjsi8shjlqbad6"; + xapian_1_4 = generic "1.4.5" "0axhqrj202hbll9mcx1qdm8gsqj19216w3z02gyjbycxvr9gkdc5"; } diff --git a/pkgs/development/libraries/xapian/tools/omega/default.nix b/pkgs/development/libraries/xapian/tools/omega/default.nix index 2923bfc1fc68..09c2171945e4 100644 --- a/pkgs/development/libraries/xapian/tools/omega/default.nix +++ b/pkgs/development/libraries/xapian/tools/omega/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz"; - sha256 = "0pl9gs0sbavxykfgrkm8syswqnfynmmqhf8429bv8a5qjh5pkp8l"; + sha256 = "0zji8ckp4h5xdy2wbir3lvk680w1g1l4h5swmaxsx7ah12lkrjcr"; }; buildInputs = [ xapian perl pcre zlib libmagic ]; |