diff options
Diffstat (limited to 'pkgs/development/libraries')
70 files changed, 346 insertions, 213 deletions
diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix index 0209c41abee3..8b1878b0cc30 100644 --- a/pkgs/development/libraries/aalib/default.nix +++ b/pkgs/development/libraries/aalib/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { buildInputs = [ ncurses ]; - configureFlags = "--without-x --with-ncurses=${ncurses.dev}"; + configureFlags = [ "--without-x" "--with-ncurses=${ncurses.dev}" ]; postInstall = '' mkdir -p $dev/bin diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix index ab3098580950..c0539aeed476 100644 --- a/pkgs/development/libraries/agg/default.nix +++ b/pkgs/development/libraries/agg/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { sh autogen.sh ''; - configureFlags = "--x-includes=${libX11.dev}/include --x-libraries=${libX11.out}/lib --enable-examples=no"; + configureFlags = [ "--x-includes=${libX11.dev}/include" "--x-libraries=${libX11.out}/lib" "--enable-examples=no" ]; # libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o # libtool: error: cannot find the library 'libexamples.la' diff --git a/pkgs/development/libraries/arb/git.nix b/pkgs/development/libraries/arb/git.nix index 87b884fece10..a281e2a085fe 100644 --- a/pkgs/development/libraries/arb/git.nix +++ b/pkgs/development/libraries/arb/git.nix @@ -9,8 +9,8 @@ stdenv.mkDerivation rec { rev = "10bc615ce5999caf4723444b2b1219b74781d8a4"; sha256 = "1xb40x3hv9nh76aizhskj5gdhalgn7r95a7zji2nn4ih3lmh40hl"; }; - buildInputs = [mpir gmp mpfr flint]; - configureFlags = "--with-gmp=${gmp} --with-mpir=${mpir} --with-mpfr=${mpfr} --with-flint=${flint}"; + buildInputs = [ mpir gmp mpfr flint ]; + configureFlags = [ "--with-gmp=${gmp}" "--with-mpir=${mpir}" "--with-mpfr=${mpfr}" "--with-flint=${flint}" ]; meta = { inherit version; description = ''A library for arbitrary-precision interval arithmetic''; diff --git a/pkgs/development/libraries/beecrypt/default.nix b/pkgs/development/libraries/beecrypt/default.nix index 09758440524c..d7d6ef545163 100644 --- a/pkgs/development/libraries/beecrypt/default.nix +++ b/pkgs/development/libraries/beecrypt/default.nix @@ -6,8 +6,8 @@ stdenv.mkDerivation { url = mirror://sourceforge/beecrypt/beecrypt-4.2.1.tar.gz; sha256 = "0pf5k1c4nsj77jfq5ip0ra1gzx2q47xaa0s008fnn6hd11b1yvr8"; }; - buildInputs = [m4]; - configureFlags = "--disable-optimized --enable-static"; + buildInputs = [ m4 ]; + configureFlags = [ "--disable-optimized" "--enable-static" ]; meta = { platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/libraries/buddy/default.nix b/pkgs/development/libraries/buddy/default.nix index 00e236eba8c3..a8555a349d08 100644 --- a/pkgs/development/libraries/buddy/default.nix +++ b/pkgs/development/libraries/buddy/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { buildInputs = [ bison ]; patches = [ ./gcc-4.3.3-fixes.patch ]; - configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3"; + configureFlags = [ "CFLAGS=-O3" "CXXFLAGS=-O3" ]; doCheck = true; meta = { diff --git a/pkgs/development/libraries/classads/default.nix b/pkgs/development/libraries/classads/default.nix index 32a4a574ed6c..d329b1945fc7 100644 --- a/pkgs/development/libraries/classads/default.nix +++ b/pkgs/development/libraries/classads/default.nix @@ -12,9 +12,9 @@ stdenv.mkDerivation { buildInputs = [ pcre ]; - configureFlags = '' - --enable-namespace --enable-flexible-member - ''; + configureFlags = [ + "--enable-namespace" "--enable-flexible-member" + ]; meta = { homepage = http://www.cs.wisc.edu/condor/classad/; diff --git a/pkgs/development/libraries/clearsilver/default.nix b/pkgs/development/libraries/clearsilver/default.nix index cd1789a13bbd..fd4d8d5ca31b 100644 --- a/pkgs/development/libraries/clearsilver/default.nix +++ b/pkgs/development/libraries/clearsilver/default.nix @@ -10,7 +10,14 @@ stdenv.mkDerivation rec { PYTHON_SITE = "$(out)/site-packages"; - configureFlags = "--with-python=${python}/bin/python --disable-apache --disable-perl --disable-ruby --disable-java --disable-csharp"; + configureFlags = [ + "--with-python=${python}/bin/python" + "--disable-apache" + "--disable-perl" + "--disable-ruby" + "--disable-java" + "--disable-csharp" + ]; preInstall = '' mkdir -p $out diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix index 0ce0af97ec94..47037339d417 100644 --- a/pkgs/development/libraries/cloog-ppl/default.nix +++ b/pkgs/development/libraries/cloog-ppl/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { patches = [ ./fix-ppl-version.patch ]; - configureFlags = "--with-ppl=${ppl}"; + configureFlags = [ "--with-ppl=${ppl}" ]; preAutoreconf = '' touch NEWS ChangeLog AUTHORS diff --git a/pkgs/development/libraries/cwiid/default.nix b/pkgs/development/libraries/cwiid/default.nix index 606058da8545..ee646b24c81a 100644 --- a/pkgs/development/libraries/cwiid/default.nix +++ b/pkgs/development/libraries/cwiid/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - configureFlags = "--without-python"; + configureFlags = [ "--without-python" ]; prePatch = '' sed -i -e '/$(LDCONFIG)/d' common/include/lib.mak.in diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix index 051405811438..6190f6ddc52a 100644 --- a/pkgs/development/libraries/dbus-cplusplus/default.nix +++ b/pkgs/development/libraries/dbus-cplusplus/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ dbus glib expat ]; - configureFlags = "--disable-ecore"; + configureFlags = [ "--disable-ecore" ]; meta = with stdenv.lib; { homepage = http://dbus-cplusplus.sourceforge.net; diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index ade6c98df942..3ca2bdd9abef 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -6,8 +6,8 @@ assert x11Support -> libX11 != null && libSM != null; let - version = "1.12.8"; - sha256 = "1cvfi7jiby12h0f5gbysphhk99m6mch87ab3cqxkj0w36gkrkp72"; + version = "1.12.10"; + sha256 = "1xywijmgfad4m3cxp0b4l6kvypwc53ckmhwwzbrc6n32jwj3ssab"; self = stdenv.mkDerivation { name = "dbus-${version}"; diff --git a/pkgs/development/libraries/fflas-ffpack/1.nix b/pkgs/development/libraries/fflas-ffpack/1.nix index 5efa378ff5fa..eae0326c832f 100644 --- a/pkgs/development/libraries/fflas-ffpack/1.nix +++ b/pkgs/development/libraries/fflas-ffpack/1.nix @@ -9,7 +9,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ givaro_3_7 openblas gmpxx]; - configureFlags = "--with-blas=-lopenblas --with-gmp=${gmpxx.dev} --with-givaro=${givaro_3_7}"; + configureFlags = [ + "--with-blas=-lopenblas" + "--with-gmp=${gmpxx.dev}" + "--with-givaro=${givaro_3_7}" + ]; meta = { inherit version; description = ''Finite Field Linear Algebra Subroutines''; diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix index 208d88ed18e3..08b0a87e3e20 100644 --- a/pkgs/development/libraries/fribidi/default.nix +++ b/pkgs/development/libraries/fribidi/default.nix @@ -11,14 +11,14 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "fribidi"; - version = "1.0.4"; + version = "1.0.5"; outputs = [ "out" "devdoc" ]; - # NOTE: 2018-06-06 v1.0.4: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application. + # NOTE: 2018-06-06 v1.0.5: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application. src = fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.bz2"; - sha256 = "1gipy8fjyn6i4qrhima02x8xs493d21f22dijp88nk807razxgcl"; + sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a"; }; postPatch = '' diff --git a/pkgs/development/libraries/gamin/default.nix b/pkgs/development/libraries/gamin/default.nix index 2af7bbce18bc..a4e0bcfb52b0 100644 --- a/pkgs/development/libraries/gamin/default.nix +++ b/pkgs/development/libraries/gamin/default.nix @@ -14,7 +14,11 @@ stdenv.mkDerivation (rec { # `_GNU_SOURCE' is needed, e.g., to get `struct ucred' from # <sys/socket.h> with Glibc 2.9. - configureFlags = "--disable-debug --with-python=${python} CPPFLAGS=-D_GNU_SOURCE"; + configureFlags = [ + "--disable-debug" + "--with-python=${python}" + "CPPFLAGS=-D_GNU_SOURCE" + ]; patches = [ ./deadlock.patch ] ++ map fetchurl (import ./debian-patches.nix) diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix index a1980d62490a..bbebcca6e2f0 100644 --- a/pkgs/development/libraries/gdbm/default.nix +++ b/pkgs/development/libraries/gdbm/default.nix @@ -1,11 +1,13 @@ { stdenv, lib, buildPlatform, fetchurl }: stdenv.mkDerivation rec { - name = "gdbm-1.15"; + name = "gdbm-1.17"; + # FIXME: remove on update to > 1.17 + NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-Wno-error=return-type" else null; src = fetchurl { url = "mirror://gnu/gdbm/${name}.tar.gz"; - sha256 = "03nwsbixdp3nx3fzn3gjy0n7rcppmkkxb2nxbmd8mvb7gwhf7zgr"; + sha256 = "0zcp2iv5dbab18859a5fvacg8lkp8k4pr9af13kfvami6lpcrn3w"; }; doCheck = true; # not cross; diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix index 287c33243865..54ee7662d06e 100644 --- a/pkgs/development/libraries/gegl/3.0.nix +++ b/pkgs/development/libraries/gegl/3.0.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; # needs fonts otherwise don't know how to pass them - configureFlags = "--disable-docs"; + configureFlags = [ "--disable-docs" ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix index ccfa7e536111..e90cc257e7e8 100644 --- a/pkgs/development/libraries/gegl/default.nix +++ b/pkgs/development/libraries/gegl/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { })]; # needs fonts otherwise don't know how to pass them - configureFlags = "--disable-docs"; + configureFlags = [ "--disable-docs" ]; buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool libintl ] ++ stdenv.lib.optional stdenv.isDarwin OpenGL; diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix index 36067cc0786d..939f769b4570 100644 --- a/pkgs/development/libraries/gmp/4.3.2.nix +++ b/pkgs/development/libraries/gmp/4.3.2.nix @@ -27,8 +27,12 @@ let self = stdenv.mkDerivation rec { then "ln -sf configfsf.guess config.guess" else ''echo "Darwin host is `./config.guess`."''; - configureFlags = (if cxx then "--enable-cxx" else "--disable-cxx") + - stdenv.lib.optionalString stdenv.isDarwin " ac_cv_build=x86_64-apple-darwin13.4.0 ac_cv_host=x86_64-apple-darwin13.4.0"; + configureFlags = [ + (stdenv.lib.enableFeature cxx "cxx") + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + "ac_cv_build=x86_64-apple-darwin13.4.0" + "ac_cv_host=x86_64-apple-darwin13.4.0" + ]; # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8. # Newer versions of GMP don't have that issue anymore. diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix index 57204776decd..3b9fbc35a768 100644 --- a/pkgs/development/libraries/gmp/5.1.x.nix +++ b/pkgs/development/libraries/gmp/5.1.x.nix @@ -20,18 +20,17 @@ let self = stdenv.mkDerivation rec { patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null; - configureFlags = + configureFlags = [ + "--with-pic" + (stdenv.lib.enableFeature cxx "cxx") # Build a "fat binary", with routines for several sub-architectures # (x86), except on Solaris where some tests crash with "Memory fault". # See <http://hydra.nixos.org/build/2760931>, for instance. # # no darwin because gmp uses ASM that clang doesn't like - optional (!stdenv.isSunOS) "--enable-fat" - ++ (if cxx then [ "--enable-cxx" ] - else [ "--disable-cxx" ]) - ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions" - ++ optional stdenv.isDarwin "ABI=64" - ++ optional stdenv.is64bit "--with-pic" + (stdenv.lib.enableFeature (!stdenv.isSunOS && stdenv.hostPlatform.isx86) "fat") + ] ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions" + ++ optional (stdenv.isDarwin && stdenv.is64bit) "ABI=64" ; # The config.guess in GMP tries to runtime-detect various diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index f62883529fc9..04c57d94666f 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -21,18 +21,17 @@ let self = stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ m4 ]; - configureFlags = + configureFlags = [ + "--with-pic" + (stdenv.lib.enableFeature cxx "cxx") # Build a "fat binary", with routines for several sub-architectures # (x86), except on Solaris where some tests crash with "Memory fault". # See <http://hydra.nixos.org/build/2760931>, for instance. # # no darwin because gmp uses ASM that clang doesn't like - optional (!stdenv.isSunOS && stdenv.hostPlatform.isx86) "--enable-fat" - ++ (if cxx then [ "--enable-cxx" ] - else [ "--disable-cxx" ]) - ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions" + (stdenv.lib.enableFeature (!stdenv.isSunOS && stdenv.hostPlatform.isx86) "fat") + ] ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions" ++ optional (stdenv.isDarwin && stdenv.is64bit) "ABI=64" - ++ optional stdenv.is64bit "--with-pic" ++ optional (with stdenv.hostPlatform; useAndroidPrebuilt || useiOSPrebuilt) "--disable-assembly" ; diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix index 9c19bdbdc29a..71da2c716f84 100644 --- a/pkgs/development/libraries/gsasl/default.nix +++ b/pkgs/development/libraries/gsasl/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { buildInputs = [ libidn kerberos ]; - configureFlags = "--with-gssapi-impl=mit"; + configureFlags = [ "--with-gssapi-impl=mit" ]; doCheck = true; diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix index 95b394a6d4b7..9c9243a1c683 100644 --- a/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix +++ b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { # Upstream strongly recommends against using --with-system-ffmpeg, # but we do it anyway because we're so hardcore (and we don't want # multiple copies of ffmpeg). - configureFlags = stdenv.lib.optionalString (!useInternalFfmpeg) "--with-system-ffmpeg"; + configureFlags = stdenv.lib.optional (!useInternalFfmpeg) "--with-system-ffmpeg"; buildInputs = [ pkgconfig bzip2 gst-plugins-base orc ] diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix index e46ecfb76127..9f1048f2de56 100644 --- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix @@ -26,9 +26,13 @@ stdenv.mkDerivation rec { patch -p1 < ${./darwin.patch} ''; - configureFlags = '' - --disable-examples --enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook - ''; + configureFlags = [ + "--disable-examples" + "--enable-failing-tests" + "--localstatedir=/var" + "--disable-gtk-doc" + "--disable-docbook" + ]; postInstall = '' # Hm, apparently --disable-gtk-doc is ignored... diff --git a/pkgs/development/libraries/icu/base.nix b/pkgs/development/libraries/icu/base.nix index 705fb816b2e5..b8ad48326b2b 100644 --- a/pkgs/development/libraries/icu/base.nix +++ b/pkgs/development/libraries/icu/base.nix @@ -36,9 +36,9 @@ let sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux ''; - configureFlags = "--disable-debug" + - stdenv.lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) " --enable-rpath" + - stdenv.lib.optionalString (buildPlatform != hostPlatform) " --with-cross-build=${nativeBuildRoot}"; + configureFlags = [ "--disable-debug" ] + ++ stdenv.lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) "--enable-rpath" + ++ stdenv.lib.optional (buildPlatform != hostPlatform) "--with-cross-build=${nativeBuildRoot}"; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix index 0213148d6930..99f6df9c5f06 100644 --- a/pkgs/development/libraries/ilixi/default.nix +++ b/pkgs/development/libraries/ilixi/default.nix @@ -14,9 +14,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ directfb libsigcxx libxml2 fontconfig ]; - configureFlags = '' - --enable-log-debug --enable-debug --enable-trace --with-examples - ''; + configureFlags = [ + "--enable-log-debug" + "--enable-debug" + "--enable-trace" + "--with-examples" + ]; meta = with stdenv.lib; { description = "Lightweight C++ GUI toolkit for embedded Linux systems"; diff --git a/pkgs/development/libraries/imlib/default.nix b/pkgs/development/libraries/imlib/default.nix index 624e401b62f7..2b95742c44c0 100644 --- a/pkgs/development/libraries/imlib/default.nix +++ b/pkgs/development/libraries/imlib/default.nix @@ -7,10 +7,11 @@ stdenv.mkDerivation { sha256 = "0ggjxyvgp4pxc0b88v40xj9daz90518ydnycw7qax011gxpr12d3"; }; - configureFlags = " - --disable-shm - --x-includes=${libX11.dev}/include - --x-libraries=${libX11.out}/lib"; + configureFlags = [ + "--disable-shm" + "--x-includes=${libX11.dev}/include" + "--x-libraries=${libX11.out}/lib" + ]; buildInputs = [libjpeg libXext libX11 xextproto libtiff libungif libpng]; diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix index bc18a13884b5..de4848c7dda4 100644 --- a/pkgs/development/libraries/jasper/default.nix +++ b/pkgs/development/libraries/jasper/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; propagatedBuildInputs = [ libjpeg ]; - configureFlags = "--enable-shared"; + configureFlags = [ "--enable-shared" ]; outputs = [ "bin" "dev" "out" "man" ]; diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix index 1c9c66f89363..21cdd9cd0964 100644 --- a/pkgs/development/libraries/lensfun/default.nix +++ b/pkgs/development/libraries/lensfun/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ glib zlib libpng cmake gnumake3 ]; - configureFlags = "-v"; + configureFlags = [ "-v" ]; meta = with stdenv.lib; { platforms = platforms.linux ++ platforms.darwin; diff --git a/pkgs/development/libraries/libagar/libagar_test.nix b/pkgs/development/libraries/libagar/libagar_test.nix index dea102774d09..c1e9ba7d1c73 100644 --- a/pkgs/development/libraries/libagar/libagar_test.nix +++ b/pkgs/development/libraries/libagar/libagar_test.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { cat configure.in | ${bsdbuild}/bin/mkconfigure > configure ''; - configureFlags = "--with-agar=${libagar}"; + configureFlags = [ "--with-agar=${libagar}" ]; buildInputs = [ perl bsdbuild libagar libjpeg libpng openssl ]; diff --git a/pkgs/development/libraries/libantlr3c/default.nix b/pkgs/development/libraries/libantlr3c/default.nix index ef5838188593..6f12bf891b01 100644 --- a/pkgs/development/libraries/libantlr3c/default.nix +++ b/pkgs/development/libraries/libantlr3c/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { sha256 ="0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa"; }; - configureFlags = if stdenv.is64bit then "--enable-64bit" else ""; + configureFlags = stdenv.lib.optional stdenv.is64bit "--enable-64bit"; meta = with stdenv.lib; { description = "C runtime libraries of ANTLR v3"; diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix index 0d1772d0c549..8addb6128f0c 100644 --- a/pkgs/development/libraries/libcanberra/default.nix +++ b/pkgs/development/libraries/libcanberra/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ++ lib.optional stdenv.isLinux libcap ++ lib.optional withAlsa alsaLib; - configureFlags = "--disable-oss"; + configureFlags = [ "--disable-oss" ]; patchFlags = "-p0"; patches = stdenv.lib.optional stdenv.isDarwin diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix index fa309dc8844e..5e46f4dc699d 100644 --- a/pkgs/development/libraries/libcdr/default.nix +++ b/pkgs/development/libraries/libcdr/default.nix @@ -18,8 +18,7 @@ stdenv.mkDerivation rec { sed -i 's,^CPPFLAGS.*,\0 -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED,' src/lib/Makefile.in ''; - configureFlags = if stdenv.cc.isClang - then [ "--disable-werror" ] else null; + configureFlags = stdenv.lib.optional stdenv.cc.isClang "--disable-werror"; CXXFLAGS="--std=gnu++0x"; # For c++11 constants in lcms2.h diff --git a/pkgs/development/libraries/libcmis/default.nix b/pkgs/development/libraries/libcmis/default.nix index 9ab42c7fd1dd..d62d1a802645 100644 --- a/pkgs/development/libraries/libcmis/default.nix +++ b/pkgs/development/libraries/libcmis/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ boost libxml2 curl ]; - configureFlags = "--without-man --with-boost=${boost.dev} --disable-werror --disable-tests"; + configureFlags = [ "--without-man" "--with-boost=${boost.dev}" "--disable-werror" "--disable-tests" ]; # Cppcheck cannot find all the include files (use --check-config for details) doCheck = false; diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 93ef1957d2cd..bedbce938bcb 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.92"; + name = "libdrm-2.4.93"; src = fetchurl { url = "https://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "1yirzx8hmlvv6r0l7lb3zxmgy5la2mri9al0k16xqfg19pdqzr79"; + sha256 = "0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f"; }; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix index 88b15b58c43d..e3f3604f94e3 100644 --- a/pkgs/development/libraries/libextractor/default.nix +++ b/pkgs/development/libraries/libextractor/default.nix @@ -27,10 +27,12 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals gtkSupport [ glib gtk3 ] ++ stdenv.lib.optionals videoSupport [ ffmpeg libmpeg2 ]; - configureFlags = "--disable-ltdl-install " - + "--with-ltdl-include=${libtool}/include " - + "--with-ltdl-lib=${libtool.lib}/lib " - + "--enable-xpdf"; + configureFlags = [ + "--disable-ltdl-install" + "--with-ltdl-include=${libtool}/include" + "--with-ltdl-lib=${libtool.lib}/lib" + "--enable-xpdf" + ]; # Checks need to be run after "make install", otherwise plug-ins are not in # the search path, etc. diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index 638dec302b77..d8708114c8e6 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isDarwin gettext ++ stdenv.lib.optional enableCapabilities libcap; - preConfigure = stdenv.lib.optionalString stdenv.isCross '' + preConfigure = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' # This is intentional: gpg-error-config is a shell script that will work during the build mkdir -p "$NIX_BUILD_TOP"/bin ln -s ${libgpgerror.dev}/bin/gpg-error-config "$NIX_BUILD_TOP/bin" diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index bf08db6d3b7b..5498a32e7091 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -16,11 +16,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "libinput-${version}"; - version = "1.11.0"; + version = "1.11.3"; src = fetchurl { url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "04mwl1v51b785h7q3v23hahr0qzr48qq1jzj7d3msjvgh97nr8v4"; + sha256 = "01nb1shnl871d939wgfd7nc9svclcnfjfhlq64b4yns2dvcr24gk"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/libmp3splt/default.nix b/pkgs/development/libraries/libmp3splt/default.nix index 7e5ac2a2297c..af8297e98549 100644 --- a/pkgs/development/libraries/libmp3splt/default.nix +++ b/pkgs/development/libraries/libmp3splt/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ libtool ]; buildInputs = [ libmad libid3tag ]; - configureFlags = "--disable-pcre"; + configureFlags = [ "--disable-pcre" ]; meta = with stdenv.lib; { homepage = https://sourceforge.net/projects/mp3splt/; diff --git a/pkgs/development/libraries/liboping/default.nix b/pkgs/development/libraries/liboping/default.nix index c177f7ba58ee..ca026811d69b 100644 --- a/pkgs/development/libraries/liboping/default.nix +++ b/pkgs/development/libraries/liboping/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses perl ]; - configureFlags = stdenv.lib.optionalString (perl == null) "--with-perl-bindings=no"; + configureFlags = stdenv.lib.optional (perl == null) "--with-perl-bindings=no"; meta = with stdenv.lib; { description = "C library to generate ICMP echo requests (a.k.a. ping packets)"; diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix index 01a828f95da5..0153ff8327b6 100644 --- a/pkgs/development/libraries/libpng/12.nix +++ b/pkgs/development/libraries/libpng/12.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { passthru = { inherit zlib; }; - configureFlags = "--enable-static"; + configureFlags = [ "--enable-static" ]; postInstall = ''mv "$out/bin" "$dev/bin"''; diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix index 5c4699d26268..5afed2b2a2f5 100644 --- a/pkgs/development/libraries/libpqxx/default.nix +++ b/pkgs/development/libraries/libpqxx/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { patchShebangs . ''; - configureFlags = "--enable-shared"; + configureFlags = [ "--enable-shared" ]; meta = { description = "A C++ library to access PostgreSQL databases"; diff --git a/pkgs/development/libraries/librsync/0.9.nix b/pkgs/development/libraries/librsync/0.9.nix index 115f4cd90a0c..3ca84ed2ce5f 100644 --- a/pkgs/development/libraries/librsync/0.9.nix +++ b/pkgs/development/libraries/librsync/0.9.nix @@ -10,7 +10,10 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared"; + configureFlags = [ + (stdenv.lib.enableFeature stdenv.isCygwin "static") + (stdenv.lib.enableFeature (!stdenv.isCygwin) "shared") + ]; dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix index b75baf149e1a..8e7b539527e1 100644 --- a/pkgs/development/libraries/libspatialite/default.nix +++ b/pkgs/development/libraries/libspatialite/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libxml2 sqlite zlib proj geos libiconv ]; - configureFlags = "--disable-freexl"; + configureFlags = [ "--disable-freexl" ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index cc5b19f7a595..5762291568ce 100644 --- a/pkgs/development/libraries/libtasn1/default.nix +++ b/pkgs/development/libraries/libtasn1/default.nix @@ -11,8 +11,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; - nativeBuildInputs = [ texinfo ]; - buildInputs = [ perl ]; + nativeBuildInputs = [ texinfo perl ]; doCheck = true; diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index c5a12432280b..bf0393fd89a6 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -13,8 +13,10 @@ stdenv.mkDerivation rec { prePatch = let debian = fetchurl { - url = http://http.debian.net/debian/pool/main/t/tiff/tiff_4.0.9-5.debian.tar.xz; - sha256 = "15lwcsd46gini27akms2ngyxnwi1hs2yskrv5x2wazs5fw5ii62w"; + # When the URL disappears, it typically means that Debian has new patches + # (probably security) and updating to new tarball will apply them as well. + url = http://http.debian.net/debian/pool/main/t/tiff/tiff_4.0.9-6.debian.tar.xz; + sha256 = "10yk5npchxscgsnd7ihd3bbbw2fxkl7ni0plm43c9q4nwp6ms52f"; }; in '' tar xf ${debian} diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index aa78d0d33c08..ede65d5e8c5e 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -19,6 +19,13 @@ in stdenv.mkDerivation rec { sha256 = "0ci7is75bwqqw2p32vxvrk6ds51ik7qgx73m920rakv5jlayax0b"; }; + patches = [ + (fetchurl { # CVE-2018-9251 + url = https://gitlab.gnome.org/GNOME/libxml2/commit/2240fbf5912054af025fb6e01e26375100275e74.diff; + sha256 = "01c5dnipz2rmv2dgma1ycvhyiyfvy9makyn6ywahm10jwk5chn3i"; + }) + ]; + outputs = [ "bin" "dev" "out" "man" "doc" ] ++ lib.optional pythonSupport "py" ++ lib.optional enableStatic "static"; @@ -32,12 +39,13 @@ in stdenv.mkDerivation rec { propagatedBuildInputs = [ zlib findXMLCatalogs ] ++ lib.optional icuSupport icu; - configureFlags = - lib.optional pythonSupport "--with-python=${python}" - ++ lib.optional icuSupport "--with-icu" - ++ [ "--exec_prefix=$dev" ] - ++ lib.optional enableStatic "--enable-static" - ++ lib.optional (!enableShared) "--disable-shared"; + configureFlags = [ + "--exec_prefix=$dev" + (lib.enableFeature enableStatic "static") + (lib.enableFeature enableShared "shared") + (lib.withFeature icuSupport "icu") + (lib.withFeatureAs pythonSupport "python" python) + ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libzmf/default.nix b/pkgs/development/libraries/libzmf/default.nix index 6050a7080df9..695effe2ea92 100644 --- a/pkgs/development/libraries/libzmf/default.nix +++ b/pkgs/development/libraries/libzmf/default.nix @@ -10,9 +10,9 @@ stdenv.mkDerivation rec { sha256 = "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"; }; - buildInputs = [boost icu libpng librevenge zlib cppunit]; - nativeBuildInputs = [doxygen pkgconfig]; - configureFlags = " --disable-werror "; + buildInputs = [ boost icu libpng librevenge zlib cppunit ]; + nativeBuildInputs = [ doxygen pkgconfig ]; + configureFlags = [ "--disable-werror" ]; meta = { inherit version; diff --git a/pkgs/development/libraries/loudmouth/default.nix b/pkgs/development/libraries/loudmouth/default.nix index e014e38c3f97..aecd75656dae 100644 --- a/pkgs/development/libraries/loudmouth/default.nix +++ b/pkgs/development/libraries/loudmouth/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { patches = [ ]; - configureFlags = "--with-ssl=openssl"; + configureFlags = [ "--with-ssl=openssl" ]; propagatedBuildInputs = [ openssl libidn glib zlib ]; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index dbcfcf19bd10..e1a9477dcd63 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -88,6 +88,7 @@ let self = stdenv.mkDerivation { patches = [ ./symlink-drivers.patch ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl + ./disk_cache-include-dri-driver-path-in-cache-key.patch ]; outputs = [ "out" "dev" "drivers" "osmesa" ]; diff --git a/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch b/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch new file mode 100644 index 000000000000..47391567fb9b --- /dev/null +++ b/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch @@ -0,0 +1,52 @@ +From 9c9df280b318c26aece9873cf77b32e4f95634c1 Mon Sep 17 00:00:00 2001 +From: David McFarland <corngood@gmail.com> +Date: Mon, 6 Aug 2018 15:52:11 -0300 +Subject: [PATCH] disk_cache: include dri driver path in cache key + +This fixes invalid cache hits on NixOS where all shared library +timestamps in /nix/store are zero. +--- + src/util/Makefile.am | 3 +++ + src/util/disk_cache.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/src/util/Makefile.am b/src/util/Makefile.am +index 07bf052175..aea09f60b3 100644 +--- a/src/util/Makefile.am ++++ b/src/util/Makefile.am +@@ -30,6 +30,9 @@ noinst_LTLIBRARIES = \ + libmesautil.la \ + libxmlconfig.la + ++AM_CFLAGS = \ ++ -DDISK_CACHE_KEY=\"$(drivers)\" ++ + AM_CPPFLAGS = \ + $(PTHREAD_CFLAGS) \ + -I$(top_srcdir)/include +diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c +index 4a762eff20..8086c0be75 100644 +--- a/src/util/disk_cache.c ++++ b/src/util/disk_cache.c +@@ -388,8 +388,10 @@ disk_cache_create(const char *gpu_name, const char *timestamp, + + /* Create driver id keys */ + size_t ts_size = strlen(timestamp) + 1; ++ size_t key_size = strlen(DISK_CACHE_KEY) + 1; + size_t gpu_name_size = strlen(gpu_name) + 1; + cache->driver_keys_blob_size += ts_size; ++ cache->driver_keys_blob_size += key_size; + cache->driver_keys_blob_size += gpu_name_size; + + /* We sometimes store entire structs that contains a pointers in the cache, +@@ -410,6 +412,7 @@ disk_cache_create(const char *gpu_name, const char *timestamp, + uint8_t *drv_key_blob = cache->driver_keys_blob; + DRV_KEY_CPY(drv_key_blob, &cache_version, cv_size) + DRV_KEY_CPY(drv_key_blob, timestamp, ts_size) ++ DRV_KEY_CPY(drv_key_blob, DISK_CACHE_KEY, key_size) + DRV_KEY_CPY(drv_key_blob, gpu_name, gpu_name_size) + DRV_KEY_CPY(drv_key_blob, &ptr_size, ptr_size_size) + DRV_KEY_CPY(drv_key_blob, &driver_flags, driver_flags_size) +-- +2.18.0 + diff --git a/pkgs/development/libraries/neon/0.29.nix b/pkgs/development/libraries/neon/0.29.nix index dbde83c2d94b..d0f992efb2bc 100644 --- a/pkgs/development/libraries/neon/0.29.nix +++ b/pkgs/development/libraries/neon/0.29.nix @@ -28,13 +28,12 @@ stdenv.mkDerivation rec { buildInputs = [libxml2 openssl] ++ stdenv.lib.optional compressionSupport zlib; - configureFlags = '' - ${if shared then "--enable-shared" else "--disable-shared"} - ${if static then "--enable-static" else "--disable-static"} - ${if compressionSupport then "--with-zlib" else "--without-zlib"} - ${if sslSupport then "--with-ssl" else "--without-ssl"} - --enable-shared - ''; + configureFlags = [ + (stdenv.lib.enableFeature shared "shared") + (stdenv.lib.enableFeature static "static") + (stdenv.lib.withFeature compressionSupport "zlib") + (stdenv.lib.withFeature sslSupport "ssl") + ]; passthru = {inherit compressionSupport sslSupport;}; diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix index 9c2a3265491a..7aad5be36f70 100644 --- a/pkgs/development/libraries/neon/default.nix +++ b/pkgs/development/libraries/neon/default.nix @@ -28,13 +28,12 @@ stdenv.mkDerivation rec { buildInputs = [libxml2 openssl] ++ stdenv.lib.optional compressionSupport zlib; - configureFlags = '' - ${if shared then "--enable-shared" else "--disable-shared"} - ${if static then "--enable-static" else "--disable-static"} - ${if compressionSupport then "--with-zlib" else "--without-zlib"} - ${if sslSupport then "--with-ssl" else "--without-ssl"} - --enable-shared - ''; + configureFlags = [ + (stdenv.lib.enableFeature shared "shared") + (stdenv.lib.enableFeature static "static") + (stdenv.lib.withFeature compressionSupport "zlib") + (stdenv.lib.withFeature sslSupport "ssl") + ]; passthru = {inherit compressionSupport sslSupport;}; diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix index 3696578b8e04..904cdc6a3daa 100644 --- a/pkgs/development/libraries/nlopt/default.nix +++ b/pkgs/development/libraries/nlopt/default.nix @@ -10,11 +10,18 @@ stdenv.mkDerivation rec { buildInputs = [ octave ]; - configureFlags = "--with-cxx --enable-shared --with-pic --without-guile --without-python - --without-matlab " + - stdenv.lib.optionalString (octave != null) ("--with-octave " + - "M_INSTALL_DIR=$(out)/${octave.sitePath}/m " + - "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct "); + configureFlags = [ + "--with-cxx" + "--enable-shared" + "--with-pic" + "--without-guile" + "--without-python" + "--without-matlab" + ] ++ stdenv.lib.optionals (octave != null) [ + "--with-octave" + "M_INSTALL_DIR=$(out)/${octave.sitePath}/m" + "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct" + ]; meta = { homepage = http://ab-initio.mit.edu/nlopt/; diff --git a/pkgs/development/libraries/ntrack/default.nix b/pkgs/development/libraries/ntrack/default.nix index fb36839fe233..44c8f51e856a 100644 --- a/pkgs/development/libraries/ntrack/default.nix +++ b/pkgs/development/libraries/ntrack/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig python ]; - configureFlags = "--without-gobject CFLAGS=--std=gnu99"; + configureFlags = [ "--without-gobject" "CFLAGS=--std=gnu99" ]; # Remove this patch after version 016 patches = [ ./libnl-fix.patch ]; diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index 907f071d5c55..9ed555053e25 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -1,21 +1,13 @@ { stdenv, fetchurl, openssl, cyrus_sasl, db, groff, libtool }: stdenv.mkDerivation rec { - name = "openldap-2.4.45"; + name = "openldap-2.4.46"; src = fetchurl { url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz"; - sha256 = "091qvwk5dkcpp17ziabcnh3rg3m7qwzw2pihfcd1d5fdxgywzmnd"; + sha256 = "0bab1km8f2nan1x0zgwliknbxg0zlf2pafxrr867kblrdfwdr44s"; }; - patches = [ - (fetchurl { - url = "https://bz-attachments.freebsd.org/attachment.cgi?id=183223"; - sha256 = "1fiy457hrxmydybjlvn8ypzlavz22cz31q2rga07n32dh4x759r3"; - }) - ]; - patchFlags = [ "-p0" ]; - # TODO: separate "out" and "bin" outputs = [ "out" "dev" "man" "devdoc" ]; diff --git a/pkgs/development/libraries/openwsman/default.nix b/pkgs/development/libraries/openwsman/default.nix index 1aa0f2684571..2122a7b23f1b 100644 --- a/pkgs/development/libraries/openwsman/default.nix +++ b/pkgs/development/libraries/openwsman/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { cmakeFlags="$cmakeFlags -DPACKAGE_ARCHITECTURE=$(uname -m)"; ''; - configureFlags = "--disable-more-warnings"; + configureFlags = [ "--disable-more-warnings" ]; meta = with stdenv.lib; { description = "Openwsman server implementation and client API with bindings"; diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index 2b5f7cacd4b3..82927664b4c1 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -1,49 +1,25 @@ -{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, glib, expat, pam -, intltool, spidermonkey_17 , gobjectIntrospection, libxslt, docbook_xsl -, docbook_xml_dtd_412, gtk-doc +{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, glib, expat, pam, perl +, intltool, spidermonkey_52 , gobjectIntrospection, libxslt, docbook_xsl, dbus +, docbook_xml_dtd_412, gtk-doc, coreutils , useSystemd ? stdenv.isLinux, systemd -, doCheck ? false +, doCheck ? stdenv.isLinux }: let - system = "/var/run/current-system/sw"; + system = "/run/current-system/sw"; setuid = "/run/wrappers/bin"; #TODO: from <nixos> config.security.wrapperDir; - foolVars = { - SYSCONF = "/etc"; - DATA = "${system}/share"; # to find share/polkit-1/actions of other apps at runtime - }; - in stdenv.mkDerivation rec { - name = "polkit-0.113"; + name = "polkit-0.115"; src = fetchurl { url = "https://www.freedesktop.org/software/polkit/releases/${name}.tar.gz"; - sha256 = "109w86kfqrgz83g9ivggplmgc77rz8kx8646izvm2jb57h4rbh71"; + sha256 = "0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg"; }; - patches = [ - (fetchpatch { - url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-agent-leaks.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760"; - sha256 = "1cxnhj0y30g7ldqq1y6zwsbdwcx7h97d3mpd3h5jy7dhg3h9ym91"; - }) - (fetchpatch { - url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-polkitpermission-leak.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760"; - sha256 = "1h1rkd4avqyyr8q6836zzr3w10jf521gcqnvhrhzwdpgp1ay4si7"; - }) - (fetchpatch { - url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-itstool.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760"; - sha256 = "0bxmjwp8ahy1y5g1l0kxmld0l3mlvb2l0i5n1qabia3d5iyjkyfh"; - }) - (fetchpatch { - name = "netgroup-optional.patch"; - url = "https://bugs.freedesktop.org/attachment.cgi?id=118753"; - sha256 = "1zq51dhmqi9zi86bj9dq4i4pxlxm41k3k4a091j07bd78cjba038"; - }) - ]; postPatch = stdenv.lib.optionalString stdenv.isDarwin '' sed -i -e "s/-Wl,--as-needed//" configure.ac @@ -52,35 +28,34 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" ]; # small man pages in $bin nativeBuildInputs = - [ gtk-doc pkgconfig autoreconfHook intltool gobjectIntrospection ] + [ gtk-doc pkgconfig autoreconfHook intltool gobjectIntrospection perl ] ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages buildInputs = - [ glib expat pam spidermonkey_17 gobjectIntrospection ] + [ glib expat pam spidermonkey_52 gobjectIntrospection ] ++ stdenv.lib.optional useSystemd systemd; - # Ugly hack to overwrite hardcoded directories - # TODO: investigate a proper patch which will be accepted upstream - # After update it's good to check the sources via: - # grep '\<PACKAGE_' '--include=*.[ch]' -R - CFLAGS = stdenv.lib.concatStringsSep " " - ( map (var: ''-DPACKAGE_${var}_DIR=\""${builtins.getAttr var foolVars}"\"'') - (builtins.attrNames foolVars) ); + NIX_CFLAGS_COMPILE = " -Wno-deprecated-declarations "; # for polkit 0.114 and glib 2.56 preConfigure = '' + chmod +x test/mocklibc/bin/mocklibc{,-test}.in patchShebangs . - '' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ '' - sed '/libsystemd autoconfigured/s/.*/:/' -i configure - '' + # ‘libpolkit-agent-1.so’ should call the setuid wrapper on # NixOS. Hard-coding the path is kinda ugly. Maybe we can just # call through $PATH, but that might have security implications. - + '' substituteInPlace src/polkitagent/polkitagentsession.c \ --replace 'PACKAGE_PREFIX "/lib/polkit-1/' '"${setuid}/' + substituteInPlace test/data/etc/polkit-1/rules.d/10-testing.rules \ + --replace /bin/true ${coreutils}/bin/true \ + --replace /bin/false ${coreutils}/bin/false + + '' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ '' + sed '/libsystemd autoconfigured/s/.*/:/' -i configure ''; configureFlags = [ - #"--libexecdir=$(out)/libexec/polkit-1" # this and localstatedir are ignored by configure + "--datadir=${system}/share" + "--sysconfdir=/etc" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-polkitd-user=polkituser" #TODO? <nixos> config.ids.uids.polkituser "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS @@ -96,7 +71,14 @@ stdenv.mkDerivation rec { paxmark mr test/polkitbackend/.libs/polkitbackendjsauthoritytest ''; + installFlags=["datadir=$(out)/share" "sysconfdir=$(out)/etc"]; + inherit doCheck; + checkInputs = [dbus]; + checkPhase = '' + # tests need access to the system bus + dbus-run-session --config-file=${./system_bus.conf} -- sh -c 'DBUS_SYSTEM_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS make check' + ''; meta = with stdenv.lib; { homepage = http://www.freedesktop.org/wiki/Software/polkit; diff --git a/pkgs/development/libraries/polkit/system_bus.conf b/pkgs/development/libraries/polkit/system_bus.conf new file mode 100644 index 000000000000..435b4740a2f7 --- /dev/null +++ b/pkgs/development/libraries/polkit/system_bus.conf @@ -0,0 +1,58 @@ +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <!-- Our well-known bus type, do not change this --> + <type>system</type> + + <!-- Fork into daemon mode --> + <fork/> + + <!-- Enable logging to syslog --> + <syslog/> + + <!-- Only allow socket-credentials-based authentication --> + <auth>EXTERNAL</auth> + + <!-- Only listen on a local socket. (abstract=/path/to/socket + means use abstract namespace, don't really create filesystem + file; only Linux supports this. Use path=/whatever on other + systems.) --> + <listen>unix:path=/tmp/system_bus_socket</listen> + + <policy context="default"> + <!-- All users can connect to system bus --> + <allow user="*"/> + + <!-- Holes must be punched in service configuration files for + name ownership and sending method calls --> + <deny own="*"/> + <deny send_type="method_call"/> + + <!-- Signals and reply messages (method returns, errors) are allowed + by default --> + <allow send_type="signal"/> + <allow send_requested_reply="true" send_type="method_return"/> + <allow send_requested_reply="true" send_type="error"/> + + <!-- All messages may be received by default --> + <allow receive_type="method_call"/> + <allow receive_type="method_return"/> + <allow receive_type="error"/> + <allow receive_type="signal"/> + + <!-- Allow anyone to talk to the message bus --> + <allow send_destination="org.freedesktop.DBus" + send_interface="org.freedesktop.DBus" /> + <allow send_destination="org.freedesktop.DBus" + send_interface="org.freedesktop.DBus.Introspectable"/> + <!-- But disallow some specific bus services --> + <deny send_destination="org.freedesktop.DBus" + send_interface="org.freedesktop.DBus" + send_member="UpdateActivationEnvironment"/> + <deny send_destination="org.freedesktop.DBus" + send_interface="org.freedesktop.DBus.Debug.Stats"/> + <deny send_destination="org.freedesktop.DBus" + send_interface="org.freedesktop.systemd1.Activator"/> + </policy> + +</busconfig> 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 471f11ad107b..f7ddf8ff780c 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -6,7 +6,7 @@ , buildMultimedia ? stdenv.isLinux, alsaLib, gstreamer, gst-plugins-base , buildWebkit ? (stdenv.isLinux || stdenv.isDarwin) , flashplayerFix ? false, gdk_pixbuf -, gtkStyle ? true, gtk2 +, gtkStyle ? stdenv.hostPlatform == stdenv.buildPlatform, gtk2 , gnomeStyle ? false, libgnomeui, GConf, gnome_vfs , developerBuild ? false , docs ? false @@ -139,37 +139,40 @@ stdenv.mkDerivation rec { prefixKey = "-prefix "; - ${if stdenv.hostPlatform == stdenv.buildPlatform then null else "configurePlatforms"} = []; + configurePlatforms = []; configureFlags = let + mk = cond: name: "-${lib.optionalString (!cond) "no-"}${name}"; platformFlag = if stdenv.hostPlatform != stdenv.buildPlatform then "-xplatform" else "-platform"; - in (if stdenv.hostPlatform == stdenv.buildPlatform then '' - -v -no-separate-debug-info -release -fast -confirm-license -opensource - - -${if stdenv.isFreeBSD then "no-" else ""}opengl -xrender -xrandr -xinerama -xcursor -xinput -xfixes -fontconfig - -qdbus -${if cups == null then "no-" else ""}cups -glib -dbus-linked -openssl-linked - - ${if mysql != null then "-plugin" else "-no"}-sql-mysql -system-sqlite - - -exceptions -xmlpatterns - - -make libs -make tools -make translations - -${if demos then "" else "no"}make demos - -${if examples then "" else "no"}make examples - -${if docs then "" else "no"}make docs - - -no-phonon ${if buildWebkit then "" else "-no"}-webkit ${if buildMultimedia then "" else "-no"}-multimedia -audio-backend - ${if developerBuild then "-developer-build" else ""} - '' else '' - -static -release -confirm-license -opensource - -no-opengl -no-phonon - -no-svg - -make qmake -make libs -nomake tools - -nomake demos -nomake examples -nomake docs - '') + lib.optionalString stdenv.hostPlatform.isDarwin "${platformFlag} unsupported/macx-clang-libc++" - + lib.optionalString stdenv.hostPlatform.isMinGW "${platformFlag} win32-g++-4.6"; + in (if stdenv.hostPlatform != stdenv.buildPlatform then [ + # I've not tried any case other than i686-pc-mingw32. + # -nomake tools: it fails linking some asian language symbols + # -no-svg: it fails to build on mingw64 + "-static" "-release" "-confirm-license" "-opensource" + "-no-opengl" "-no-phonon" + "-no-svg" + "-make" "qmake" "-make" "libs" "-nomake" "tools" + ] else [ + "-v" "-no-separate-debug-info" "-release" "-fast" "-confirm-license" "-opensource" + + (mk (!stdenv.isFreeBSD) "opengl") "-xrender" "-xrandr" "-xinerama" "-xcursor" "-xinput" "-xfixes" "-fontconfig" + "-qdbus" (mk (cups != null) "cups") "-glib" "-dbus-linked" "-openssl-linked" + + "-${if mysql != null then "plugin" else "no"}-sql-mysql" "-system-sqlite" + + "-exceptions" "-xmlpatterns" + + "-make" "libs" "-make" "tools" "-make" "translations" + "-no-phonon" (mk buildWebkit "webkit") (mk buildMultimedia "multimedia") "-audio-backend" + ]) ++ [ + "-${if demos then "" else "no"}make" "demos" + "-${if examples then "" else "no"}make" "examples" + "-${if docs then "" else "no"}make" "docs" + ] ++ lib.optional developerBuild "-developer-build" + ++ lib.optionals stdenv.hostPlatform.isDarwin [ platformFlag "unsupported/macx-clang-libc++" ] + ++ lib.optionals stdenv.hostPlatform.isWindows [ platformFlag "win32-g++-4.6" ]; propagatedBuildInputs = [ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi @@ -219,7 +222,7 @@ stdenv.mkDerivation rec { cp bin/qmake* $out/bin ''; - dontStrip = if stdenv.hostPlatform == stdenv.buildPlatform then null else true; + dontStrip = stdenv.hostPlatform != stdenv.buildPlatform; meta = { homepage = http://qt-project.org/; diff --git a/pkgs/development/libraries/rarian/default.nix b/pkgs/development/libraries/rarian/default.nix index 484e58568721..4446226fedef 100644 --- a/pkgs/development/libraries/rarian/default.nix +++ b/pkgs/development/libraries/rarian/default.nix @@ -12,7 +12,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ perl perlXMLParser libxml2 libxslt]; - configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat"; + configureFlags = [ "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat" ]; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/development/libraries/readosm/default.nix b/pkgs/development/libraries/readosm/default.nix index 5a4306a63a78..1c777e849a46 100644 --- a/pkgs/development/libraries/readosm/default.nix +++ b/pkgs/development/libraries/readosm/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { buildInputs = [ expat zlib geos libspatialite ]; - configureFlags = "--disable-freexl"; + configureFlags = [ "--disable-freexl" ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix index 2144a7f78935..48548bd72652 100644 --- a/pkgs/development/libraries/science/biology/htslib/default.nix +++ b/pkgs/development/libraries/science/biology/htslib/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ zlib bzip2 lzma curl ]; - configureFlags = "--enable-libcurl"; # optional but strongly recommended + configureFlags = [ "--enable-libcurl" ]; # optional but strongly recommended installFlags = "prefix=$(out)"; diff --git a/pkgs/development/libraries/science/math/liblbfgs/default.nix b/pkgs/development/libraries/science/math/liblbfgs/default.nix index fe90fa2e171d..33e8baada834 100644 --- a/pkgs/development/libraries/science/math/liblbfgs/default.nix +++ b/pkgs/development/libraries/science/math/liblbfgs/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation { name = "liblbfgs-1.10"; - configureFlags = "--enable-sse2"; + configureFlags = [ "--enable-sse2" ]; src = fetchurl { url = https://github.com/downloads/chokkan/liblbfgs/liblbfgs-1.10.tar.gz; sha256 = "1kv8d289rbz38wrpswx5dkhr2yh4fg4h6sszkp3fawxm09sann21"; diff --git a/pkgs/development/libraries/snack/default.nix b/pkgs/development/libraries/snack/default.nix index 1b5564dc1590..acf10cc497c8 100644 --- a/pkgs/development/libraries/snack/default.nix +++ b/pkgs/development/libraries/snack/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "07p89jv9qnjqkszws9sssq93ayvwpdnkcxrvyicbm4mb8x2pdzjb"; }; - configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib"; + configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" ]; postUnpack = ''sourceRoot="$sourceRoot/unix"''; diff --git a/pkgs/development/libraries/spatialite-tools/default.nix b/pkgs/development/libraries/spatialite-tools/default.nix index 9070423d8c76..4ea7de0b1a38 100644 --- a/pkgs/development/libraries/spatialite-tools/default.nix +++ b/pkgs/development/libraries/spatialite-tools/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ sqlite expat zlib proj geos libspatialite readosm ]; - configureFlags = "--disable-freexl"; + configureFlags = [ "--disable-freexl" ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix index 0c3bb3b13064..afb168d5aa2a 100644 --- a/pkgs/development/libraries/sword/default.nix +++ b/pkgs/development/libraries/sword/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { }) ]; - configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable"; + configureFlags = [ "--without-conf" "--enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable" ]; meta = with stdenv.lib; { description = "A software framework that allows research manipulation of Biblical texts"; diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix index cb200b82e207..dee441a0c2f6 100644 --- a/pkgs/development/libraries/thrift/default.nix +++ b/pkgs/development/libraries/thrift/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { # TODO: package boost-test, so we can run the test suite. (Currently it fails # to find libboost_unit_test_framework.a.) - configureFlags = "--enable-tests=no"; + configureFlags = [ "--enable-tests=no" ]; doCheck = false; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/tix/default.nix b/pkgs/development/libraries/tix/default.nix index 7e18e7402273..232c95e6257e 100644 --- a/pkgs/development/libraries/tix/default.nix +++ b/pkgs/development/libraries/tix/default.nix @@ -34,13 +34,13 @@ stdenv.mkDerivation rec { ln -s $i private_headers/generic; done; ''; - configureFlags = '' - --with-tclinclude=${tcl}/include - --with-tclconfig=. - --with-tkinclude=${tk.dev}/include - --with-tkconfig=. - --libdir=''${prefix}/lib - ''; + configureFlags = [ + "--with-tclinclude=${tcl}/include" + "--with-tclconfig=." + "--with-tkinclude=${tk.dev}/include" + "--with-tkconfig=." + "--libdir=\${prefix}/lib" + ]; meta = with stdenv.lib; { description = "A widget library for Tcl/Tk"; diff --git a/pkgs/development/libraries/vapoursynth-mvtools/default.nix b/pkgs/development/libraries/vapoursynth-mvtools/default.nix index 2fa6710c4faf..c2ab61c6bd17 100644 --- a/pkgs/development/libraries/vapoursynth-mvtools/default.nix +++ b/pkgs/development/libraries/vapoursynth-mvtools/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { yasm vapoursynth fftwFloat ]; - configureFlags = "--libdir=$(out)/lib/vapoursynth"; + configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ]; meta = with stdenv.lib; { description = "A set of filters for motion estimation and compensation"; diff --git a/pkgs/development/libraries/wayland/1.9.nix b/pkgs/development/libraries/wayland/1.9.nix index 3555a9232285..750a786c3fca 100644 --- a/pkgs/development/libraries/wayland/1.9.nix +++ b/pkgs/development/libraries/wayland/1.9.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { sha256 = "1yhy62vkbq8j8c9zaa6yzvn75cd99kfa8n2zfdwl80x019r711ww"; }; - configureFlags = "--with-scanner --disable-documentation"; + configureFlags = [ "--with-scanner" "--disable-documentation" ]; nativeBuildInputs = [ pkgconfig ]; |