From 26d1390049c7fe11aece7fa4763cdbe7322a63b7 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Tue, 19 Jul 2016 19:00:22 +0200 Subject: [PATCH 01/22] fftw: 3.3.4 -> 05-06-2016 There has not been a release since 2014, but at least one important bug has been fixed: https://github.com/FFTW/fftw3/issues/16 The submitter of the bug, @x-42, has advised me to upgrade our distro, as the fftw devs are very conservative so this is not bleeding edge code. --- pkgs/development/libraries/fftw/default.nix | 22 +++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index a7a02521c69..a300d0b228e 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -1,24 +1,34 @@ -{ fetchurl, stdenv, lib, precision ? "double" }: +{ fetchFromGitHub , stdenv, lib, ocaml, perl, indent, transfig, ghostscript, texinfo, libtool, gettext, automake, autoconf, precision ? "double" }: with lib; assert elem precision [ "single" "double" "long-double" "quad-precision" ]; -let version = "3.3.4"; in +let version = "05-06-2016"; in stdenv.mkDerivation rec { name = "fftw-${precision}-${version}"; - src = fetchurl { - url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"; - sha256 = "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g"; + src = fetchFromGitHub { + owner = "FFTW"; + repo = "fftw3"; + rev = "2ed010c62b1bc8ca6b23bfda2e09b8c28e1e8bcc"; + sha256 = "1rd1rfdnr2mgli1s7x7z03s26bqf5mrrysvlh028f1dljn7bwd2q"; }; + nativeBuildInputs = [ ocaml perl indent transfig ghostscript texinfo libtool gettext automake autoconf ]; + + # remove the ./configure lines, so we can use nix's configureFlags + patchPhase = "sed -e '27,29d' -i bootstrap.sh"; + + preConfigurePhases = "./bootstrap.sh"; + outputs = [ "dev" "out" "doc" ]; # it's dev-doc only outputBin = "dev"; # fftw-wisdom configureFlags = - [ "--enable-shared" "--disable-static" + [ "--enable-maintainer-mode" + "--enable-shared" "--disable-static" "--enable-threads" ] ++ optional (precision != "double") "--enable-${precision}" From 522533cd366b220030e04e51c8ee76640aa0ad0d Mon Sep 17 00:00:00 2001 From: Lancelot SIX Date: Thu, 21 Jul 2016 21:44:02 +0200 Subject: [PATCH 02/22] guile: 2.0.11 -> 2.0.12 2.0.12 is a maintenance release for the 2.0.x stable series. See http://lists.gnu.org/archive/html/info-gnu/2016-07/msg00007.html for announcement. --- pkgs/development/interpreters/guile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 25fa3d0bc74..8679c7122c9 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -7,11 +7,11 @@ else stdenv.mkDerivation) (rec { - name = "guile-2.0.11"; + name = "guile-2.0.12"; src = fetchurl { url = "mirror://gnu/guile/${name}.tar.xz"; - sha256 = "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"; + sha256 = "1sdpjq0jf1h65w29q0zprj4x6kdp5jskkvbnlwphy9lvdxrqg0fy"; }; nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; From 514011abe70fe4dee3d28c706df9fa4a4868b22a Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 29 Jul 2016 17:10:10 +0200 Subject: [PATCH 03/22] fftw: 05-06-2016 -> 3.3.5-rc1 --- pkgs/development/libraries/fftw/default.nix | 22 ++++++--------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index a300d0b228e..2357909537e 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -1,34 +1,24 @@ -{ fetchFromGitHub , stdenv, lib, ocaml, perl, indent, transfig, ghostscript, texinfo, libtool, gettext, automake, autoconf, precision ? "double" }: +{ fetchurl, stdenv, lib, precision ? "double" }: with lib; assert elem precision [ "single" "double" "long-double" "quad-precision" ]; -let version = "05-06-2016"; in +let version = "3.3.5-rc1"; in stdenv.mkDerivation rec { name = "fftw-${precision}-${version}"; - src = fetchFromGitHub { - owner = "FFTW"; - repo = "fftw3"; - rev = "2ed010c62b1bc8ca6b23bfda2e09b8c28e1e8bcc"; - sha256 = "1rd1rfdnr2mgli1s7x7z03s26bqf5mrrysvlh028f1dljn7bwd2q"; + src = fetchurl { + url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"; + sha256 = "086z9xq5jy58w5lqygq4rpragcy2r0dz3lzci3mh0vghs9c6zgk6"; }; - nativeBuildInputs = [ ocaml perl indent transfig ghostscript texinfo libtool gettext automake autoconf ]; - - # remove the ./configure lines, so we can use nix's configureFlags - patchPhase = "sed -e '27,29d' -i bootstrap.sh"; - - preConfigurePhases = "./bootstrap.sh"; - outputs = [ "dev" "out" "doc" ]; # it's dev-doc only outputBin = "dev"; # fftw-wisdom configureFlags = - [ "--enable-maintainer-mode" - "--enable-shared" "--disable-static" + [ "--enable-shared" "--disable-static" "--enable-threads" ] ++ optional (precision != "double") "--enable-${precision}" From 926038ab4ce25620a7bf722f98523ee5b6eec52b Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 29 Jul 2016 20:22:04 +0200 Subject: [PATCH 04/22] fftw: fixup build of 3.3.5-rc1 --- pkgs/development/libraries/fftw/default.nix | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index 2357909537e..6b92848fd0f 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, lib, precision ? "double" }: +{ fetchFromGitHub , stdenv, lib, ocaml, perl, indent, transfig, ghostscript, texinfo, libtool, gettext, automake, autoconf, precision ? "double" }: with lib; @@ -9,16 +9,26 @@ let version = "3.3.5-rc1"; in stdenv.mkDerivation rec { name = "fftw-${precision}-${version}"; - src = fetchurl { - url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"; - sha256 = "086z9xq5jy58w5lqygq4rpragcy2r0dz3lzci3mh0vghs9c6zgk6"; + src = fetchFromGitHub { + owner = "FFTW"; + repo = "fftw3"; + rev = "fftw-${version}"; + sha256 = "1gc57xvdqbapq30ylj3fxwkv61la4kzyf7ji0q0xqjwpji2ynqi4"; }; + nativeBuildInputs = [ ocaml perl indent transfig ghostscript texinfo libtool gettext automake autoconf ]; + + # remove the ./configure lines, so we can use nix's configureFlags + patchPhase = "sed -e '27,29d' -i bootstrap.sh"; + + preConfigurePhases = "./bootstrap.sh"; + outputs = [ "dev" "out" "doc" ]; # it's dev-doc only outputBin = "dev"; # fftw-wisdom configureFlags = - [ "--enable-shared" "--disable-static" + [ "--enable-maintainer-mode" + "--enable-shared" "--disable-static" "--enable-threads" ] ++ optional (precision != "double") "--enable-${precision}" From 56300ee0f0b34681bf30097ae8e4af93eaa0a3a9 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 30 Jul 2016 12:14:36 +0200 Subject: [PATCH 05/22] libva: set driver path correctly in minimal version This does not introduce a dependency on mesa, as mesa_noglu.driverLink == "/run/opengl-driver" Fixes #17264. --- pkgs/development/libraries/libva/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index 1d293f9ffcb..44db602f1eb 100644 --- a/pkgs/development/libraries/libva/default.nix +++ b/pkgs/development/libraries/libva/default.nix @@ -19,10 +19,9 @@ stdenv.mkDerivation rec { ++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ]; # TODO: share libs between minimal and !minimal - perhaps just symlink them - configureFlags = lib.optionals (!minimal) [ - "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" - "--enable-glx" - ]; + configureFlags = + [ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" ] ++ + lib.optionals (!minimal) [ "--enable-glx" ]; installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ]; From b4ed9704a89a9bf58ff9411951fe00724a1248b8 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sat, 30 Jul 2016 13:11:47 +0200 Subject: [PATCH 06/22] mpv: link to libva-full Fixes #17264. --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2a90d1b5305..7f4c31c5035 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13922,6 +13922,7 @@ in youtubeSupport = config.mpv.youtubeSupport or true; cacaSupport = config.mpv.cacaSupport or true; vaapiSupport = config.mpv.vaapiSupport or false; + libva = libva-full; }; mpvScripts = { From 5286c0aebbe82a95f3e4b51aa35bc3b33bface2a Mon Sep 17 00:00:00 2001 From: Julien Dehos Date: Mon, 1 Aug 2016 17:22:40 +0200 Subject: [PATCH 07/22] cmake: add support for cxxtest --- pkgs/development/tools/build-managers/cmake/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 32e16751395..c1eafa49558 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -50,6 +50,8 @@ stdenv.mkDerivation rec { --subst-var-by glibc_bin ${getBin glibc} \ --subst-var-by glibc_dev ${getDev glibc} \ --subst-var-by glibc_lib ${getLib glibc} + substituteInPlace Modules/FindCxxTest.cmake \ + --replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell} ''; configureFlags = [ "--docdir=share/doc/${name}" From 176f804f36a99a23ee1256c85b72af6edb1ada22 Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Tue, 19 Jul 2016 20:11:55 +0300 Subject: [PATCH 08/22] cmake: 3.4.3 -> 3.6.0 --- pkgs/development/tools/build-managers/cmake/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index c1eafa49558..52822178c02 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -10,8 +10,8 @@ assert wantPS -> (ps != null); let os = stdenv.lib.optionalString; - majorVersion = "3.4"; - minorVersion = "3"; + majorVersion = "3.6"; + minorVersion = "0"; version = "${majorVersion}.${minorVersion}"; in @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz"; - sha256 = "1yl0z422gr7zfc638chifv343vx0ig5gasvrh7nzf7b15488qgxp"; + sha256 = "0w3n2i02jpbgai4dxsigm1c1i1qb5v70wyxckzwrxvs0ri0fs1gx"; }; patches = From 3c1b7efaa8509f395facc99841d52700597f82df Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Fri, 5 Aug 2016 21:52:58 +0800 Subject: [PATCH 09/22] curl: 7.50.0 -> 7.50.1 (#17486) (#17527) --- pkgs/tools/networking/curl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index eaf427d61a3..5e7010def54 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -18,11 +18,11 @@ assert scpSupport -> libssh2 != null; assert c-aresSupport -> c-ares != null; stdenv.mkDerivation rec { - name = "curl-7.50.0"; + name = "curl-7.50.1"; src = fetchurl { url = "http://curl.haxx.se/download/${name}.tar.bz2"; - sha256 = "16psxjcl25i7v5x71193nkq2anm5mj8pfziq5iwxnj3znwnzx3b0"; + sha256 = "0mjidq4q0hikhis2d35kzkhx6xfcgl875mk5ph5d98fa9kswa4iw"; }; outputs = [ "dev" "out" "bin" "man" "docdev" ]; From ea67c9ce1c33c4b76691379169c8996a39fcffa0 Mon Sep 17 00:00:00 2001 From: Michael Stone Date: Fri, 5 Aug 2016 18:49:09 -0400 Subject: [PATCH 10/22] darwin: WWWCurl: fix CURL_DID_MEMORY_FUNC_TYPEDEFS build error Apply the patch from https://github.com/szbalint/WWW--Curl/issues/16#issuecomment-222556096 --- pkgs/top-level/perl-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d746a45753c..6e62e7c5bd3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -14116,6 +14116,7 @@ let self = _self // overrides; _self = with self; { preConfigure = '' substituteInPlace Makefile.PL --replace '"cpp"' '"gcc -E"' + substituteInPlace Makefile.PL --replace '_LASTENTRY\z' '_LASTENTRY\z|CURL_DID_MEMORY_FUNC_TYPEDEFS\z' ''; doCheck = false; # performs network access }; From a1b0967fa07349990807f143a01fda78b69fa297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 6 Aug 2016 18:47:51 +0200 Subject: [PATCH 11/22] gtk3: maintenance 3.20.6 -> 3.20.8 --- pkgs/development/libraries/gtk+/3.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index 0f33f2a5f7f..1a5931d9828 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -13,7 +13,7 @@ with stdenv.lib; let ver_maj = "3.20"; - ver_min = "6"; + ver_min = "8"; version = "${ver_maj}.${ver_min}"; in stdenv.mkDerivation rec { @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz"; - sha256 = "3f8016563a96b1cfef4ac9e795647f6316deb2978ff939b19e4e4f8f936fa4b2"; + sha256 = "9841bd9b4d23c045c474b10fdde9da958af904b63783701e796391d55d4396f3"; }; outputs = [ "dev" "out" ]; From 73e1242172d8012b1c6054a7f33bda1dc6f3bbc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Aug 2016 10:46:03 +0200 Subject: [PATCH 12/22] mesa: vdpau symlinks, broken after 1a52fdc Fixes #17559. Using *relative* symlinks doesn't break when moving the files. --- pkgs/development/libraries/mesa/symlink-drivers.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/mesa/symlink-drivers.patch b/pkgs/development/libraries/mesa/symlink-drivers.patch index 6c800e5dfce..b96e8e0b816 100644 --- a/pkgs/development/libraries/mesa/symlink-drivers.patch +++ b/pkgs/development/libraries/mesa/symlink-drivers.patch @@ -11,7 +11,7 @@ diff -ru -x '*~' mesa-11.1.4-orig/src/gallium/targets/dri/Makefile.am mesa-11.1. install-data-hook: for i in $(TARGET_DRIVERS); do \ - ln -f $(DESTDIR)$(dridir)/gallium_dri.so \ -+ ln -sf $(DESTDIR)$(dridir)/gallium_dri.so \ ++ ln -srf $(DESTDIR)$(dridir)/gallium_dri.so \ $(DESTDIR)$(dridir)/$${i}_dri.so; \ done; \ - $(RM) $(DESTDIR)$(dridir)/gallium_dri.* @@ -36,7 +36,7 @@ diff -ru -x '*~' mesa-11.1.4-orig/src/gallium/targets/vdpau/Makefile.am mesa-11. k=libvdpau_$${i}.$(LIB_EXT); \ l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \ - ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \ -+ ln -sf $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \ ++ ln -srf $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \ $${dest_dir}/$${l}; \ ln -sf $${l} \ $${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \ @@ -62,7 +62,7 @@ diff -ru -x '*~' mesa-11.1.4-orig/src/mesa/drivers/dri/Makefile.am mesa-11.1.4/s install-data-hook: for i in $(MEGADRIVERS); do \ - ln -f $(DESTDIR)$(dridir)/mesa_dri_drivers.so \ -+ ln -sf $(DESTDIR)$(dridir)/mesa_dri_drivers.so \ ++ ln -srf $(DESTDIR)$(dridir)/mesa_dri_drivers.so \ $(DESTDIR)$(dridir)/$$i; \ done; - $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.* From 3659e44f986bc6ea003246575f5ea821bb97b173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Aug 2016 11:28:45 +0200 Subject: [PATCH 13/22] rawtherapee: fixup build by using older cmake --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a716d5bc5af..948c4a6f8fb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14432,6 +14432,7 @@ in rawtherapee = callPackage ../applications/graphics/rawtherapee { fftw = fftwSinglePrec; + cmake = cmake-2_8; # problems after 3.4 -> 3.6.0 }; rcs = callPackage ../applications/version-management/rcs { }; From 50f909cf933154591fc7886a74fa121234047926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Aug 2016 12:05:58 +0200 Subject: [PATCH 14/22] mesa: have vdpau drivers in lib/vdpau again This was done by @abbradar 364f297bb2 but I lost that change by accident when doing large closure-size merges 39ebb01d. Fortunately it seems to have caused no problems, likely because ${mesa_drivers}/lib gets into $LD_LIBRARY_PATH. --- pkgs/development/libraries/mesa/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 5ddc7bf3ddb..4ed47f46a32 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -144,8 +144,6 @@ stdenv.mkDerivation { '' + /* set the default search path for DRI drivers; used e.g. by X server */ '' substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}" - '' + /* move vdpau drivers to $drivers/lib, so they are found */ '' - mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau ''; #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM */ From 9a072482e69ab90c09ce2ca464a4316fb07c4a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 31 Jul 2016 21:46:48 +0200 Subject: [PATCH 15/22] mariadb: completely separate a server-less build libmysqlclient is all that most closures need; now it's smaller and quick to build. For cases that need a server (via executable or lib), there's a full build for now; later it could be slimmed by removing the client stuff. --- pkgs/servers/sql/mariadb/default.nix | 204 ++++++++++++++------------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 110 insertions(+), 96 deletions(-) diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 902be532222..7bbf0d57751 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,55 +1,135 @@ -{ stdenv, fetchurl, cmake, ncurses, zlib, xz, lzo, lz4, bzip2, snappy +{ stdenv, fetchurl, cmake, pkgconfig, ncurses, zlib, xz, lzo, lz4, bzip2, snappy , openssl, pcre, boost, judy, bison, libxml2 , libaio, libevent, groff, jemalloc, cracklib, systemd, numactl, perl , fixDarwinDylibNames, cctools, CoreServices -, makeWrapper }: with stdenv.lib; -stdenv.mkDerivation rec { - name = "mariadb-${version}"; - version = "10.1.9"; + +let # in mariadb # spans the whole file + +mariadb = { + inherit client # libmysqlclient.so in .out, necessary headers in .dev and utils in .bin + server; # currently a full build, including everything in `client` again + lib = client; # compat. with the old mariadb split +}; + + +common = rec { # attributes common to both builds + version = "10.1.16"; src = fetchurl { url = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz"; - sha256 = "0471vwg9c5c17m7679krjha16ib6d48fcsphkchb9v9cf8k5i74f"; + sha256 = "14s3wq1c25n62n75hkixl8n7cni4m73w055nsx4czm655k33bjv7"; }; - buildInputs = [ - cmake ncurses openssl zlib xz lzo lz4 bzip2 - # temporary due to https://mariadb.atlassian.net/browse/MDEV-9000 - (if stdenv.is64bit then snappy else null) - pcre libxml2 boost judy bison libevent cracklib - makeWrapper - ] ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio systemd ] - ++ stdenv.lib.optionals (stdenv.isLinux && !stdenv.isArm) [ numactl ] - ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ]; + prePatch = '' + substituteInPlace cmake/libutils.cmake \ + --replace /usr/bin/libtool libtool + sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt + ''; patches = stdenv.lib.optional stdenv.isDarwin ./my_context_asm.patch; + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ + ncurses openssl zlib pcre + ] ++ stdenv.lib.optionals stdenv.isLinux [ jemalloc libaio systemd ] + ++ stdenv.lib.optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ]; + cmakeFlags = [ "-DBUILD_CONFIG=mysql_release" + "-DMANUFACTURER=NixOS.org" "-DDEFAULT_CHARSET=utf8" "-DDEFAULT_COLLATION=utf8_general_ci" - "-DENABLED_LOCAL_INFILE=ON" + "-DSECURITY_HARDENED=ON" + "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" + "-DINSTALL_MYSQLSHAREDIR=share/mysql" + + "-DWITH_ZLIB=system" + "-DWITH_SSL=system" + "-DWITH_PCRE=system" + ] + ++ optional stdenv.isDarwin "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" + ; + + preConfigure = '' + cmakeFlags="$cmakeFlags -DINSTALL_INCLUDEDIR=''${!outputDev}/include/mysql" + ''; + + postInstall = '' + rm "$out"/lib/*.a + find "''${!outputBin}/bin" -name '*test*' -delete + ''; + + passthru.mysqlVersion = "5.6"; + + meta = with stdenv.lib; { + description = "An enhanced, drop-in replacement for MySQL"; + homepage = https://mariadb.org/; + license = licenses.gpl2; + maintainers = with maintainers; [ thoughtpolice wkennington ]; + platforms = platforms.all; + }; +}; + + +client = stdenv.mkDerivation (common // { + name = "mariadb-client-${common.version}"; + + outputs = [ "dev" "out" "bin" ]; + + propagatedBuildInputs = [ openssl zlib ]; # required from mariadb.pc + + cmakeFlags = common.cmakeFlags ++ [ + "-DWITHOUT_SERVER=ON" + ]; + + preConfigure = common.preConfigure + '' + cmakeFlags="$cmakeFlags \ + -DINSTALL_BINDIR=$bin/bin -DINSTALL_SCRIPTDIR=$bin/bin \ + -DINSTALL_SUPPORTFILESDIR=$bin/share/mysql \ + -DINSTALL_DOCDIR=$bin/share/doc/mysql -DINSTALL_DOCREADMEDIR=$bin/share/doc/mysql \ + " + ''; + + # prevent cycle; it needs to reference $dev + postInstall = common.postInstall + '' + moveToOutput bin/mysql_config "$dev" + ''; + + enableParallelBuilding = true; # the client should be OK +}); + + +server = stdenv.mkDerivation (common // { + name = "mariadb-${common.version}"; + + nativeBuildInputs = common.nativeBuildInputs ++ [ bison ]; + + buildInputs = common.buildInputs ++ [ + xz lzo lz4 bzip2 snappy + libxml2 boost judy libevent cracklib + ] + ++ optionals (stdenv.isLinux && !stdenv.isArm) [ numactl ] + ; + + cmakeFlags = common.cmakeFlags ++ [ "-DMYSQL_DATADIR=/var/lib/mysql" "-DINSTALL_SYSCONFDIR=etc/mysql" "-DINSTALL_INFODIR=share/mysql/docs" "-DINSTALL_MANDIR=share/man" "-DINSTALL_PLUGINDIR=lib/mysql/plugin" "-DINSTALL_SCRIPTDIR=bin" - "-DINSTALL_INCLUDEDIR=include/mysql" - "-DINSTALL_DOCREADMEDIR=share/mysql" "-DINSTALL_SUPPORTFILESDIR=share/mysql" - "-DINSTALL_MYSQLSHAREDIR=share/mysql" - "-DINSTALL_DOCDIR=share/mysql/docs" + "-DINSTALL_DOCREADMEDIR=share/doc/mysql" + "-DINSTALL_DOCDIR=share/doc/mysql" "-DINSTALL_SHAREDIR=share/mysql" + + "-DENABLED_LOCAL_INFILE=ON" "-DWITH_READLINE=ON" - "-DWITH_ZLIB=system" - "-DWITH_SSL=system" - "-DWITH_PCRE=system" - "-DWITH_EMBEDDED_SERVER=yes" "-DWITH_EXTRA_CHARSETS=complex" "-DWITH_EMBEDDED_SERVER=ON" "-DWITH_ARCHIVE_STORAGE_ENGINE=1" @@ -58,83 +138,17 @@ stdenv.mkDerivation rec { "-DWITH_PARTITION_STORAGE_ENGINE=1" "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1" "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1" - "-DSECURITY_HARDENED=ON" "-DWITH_WSREP=ON" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1" "-DWITHOUT_TOKUDB=1" - "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib" ]; - # fails to find lex_token.h sometimes - enableParallelBuilding = false; - - outputs = [ "out" "lib" ]; - setOutputFlags = false; - moveToDev = false; - - prePatch = '' - substituteInPlace cmake/libutils.cmake \ - --replace /usr/bin/libtool libtool - sed -i "s,SET(DEFAULT_MYSQL_HOME.*$,SET(DEFAULT_MYSQL_HOME /not/a/real/dir),g" CMakeLists.txt - sed -i "s,SET(PLUGINDIR.*$,SET(PLUGINDIR $lib/lib/mysql/plugin),g" CMakeLists.txt - - sed -i "s,SET(pkgincludedir.*$,SET(pkgincludedir $lib/include),g" scripts/CMakeLists.txt - sed -i "s,SET(pkglibdir.*$,SET(pkglibdir $lib/lib),g" scripts/CMakeLists.txt - sed -i "s,SET(pkgplugindir.*$,SET(pkgplugindir $lib/lib/mysql/plugin),g" scripts/CMakeLists.txt - - sed -i "s,set(libdir.*$,SET(libdir $lib/lib),g" storage/mroonga/vendor/groonga/CMakeLists.txt - sed -i "s,set(includedir.*$,SET(includedir $lib/include),g" storage/mroonga/vendor/groonga/CMakeLists.txt - sed -i "/\"\$[{]CMAKE_INSTALL_PREFIX}\/\$[{]GRN_RELATIVE_PLUGINS_DIR}\"/d" storage/mroonga/vendor/groonga/CMakeLists.txt - sed -i "s,set(GRN_PLUGINS_DIR.*$,SET(GRN_PLUGINS_DIR $lib/\$\{GRN_RELATIVE_PLUGINS_DIR}),g" storage/mroonga/vendor/groonga/CMakeLists.txt - sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt + postInstall = common.postInstall + '' + rm -r "$out"/{mysql-test,sql-bench,data} # Don't need testing data + rm "$out"/share/man/man1/mysql-test-run.pl.1 ''; +}); - postInstall = '' - substituteInPlace $out/bin/mysql_install_db \ - --replace basedir=\"\" basedir=\"$out\" +in mariadb - # Wrap mysqld with --basedir, but as last flag - wrapProgram $out/bin/mysqld - sed -i "s,\(^exec.*$\),\1 --basedir=$out,g" $out/bin/mysqld - - # Remove superfluous files - rm -r $out/mysql-test $out/sql-bench $out/data # Don't need testing data - rm $out/share/man/man1/mysql-test-run.pl.1 - rm $out/bin/rcmysql # Not needed with nixos units - rm $out/bin/mysqlbug # Encodes a path to gcc and not really useful - find $out/bin -name \*test\* -exec rm {} \; - - # Separate libs and includes into their own derivation - mkdir -p $lib - mv $out/lib $lib - mv $out/include $lib - - # Fix the mysql_config - sed -i $out/bin/mysql_config \ - -e 's,-lz,-L${zlib.out}/lib -lz,g' \ - -e 's,-lssl,-L${openssl.out}/lib -lssl,g' - - # Add mysql_config to libs since configure scripts use it - mkdir -p $lib/bin - cp $out/bin/mysql_config $lib/bin - sed -i "/\(execdir\|bindir\)/ s,'[^\"']*',$lib/bin,g" $lib/bin/mysql_config - - # Make sure to propagate lib for compatability - mkdir -p $out/nix-support - echo "$lib" > $out/nix-support/propagated-native-build-inputs - - # Don't install static libraries. - rm $lib/lib/libmysqlclient.a $lib/lib/libmysqld.a - ''; - - passthru.mysqlVersion = "5.6"; - - meta = with stdenv.lib; { - description = "An enhanced, drop-in replacement for MySQL"; - homepage = https://mariadb.org/; - license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ thoughtpolice wkennington ]; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f53c172dac..408209d6307 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10438,7 +10438,7 @@ in }; mysql = mariadb; - libmysql = mysql.lib; + libmysql = mysql.client; # `libmysql` is a slight misnomer ATM mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { }; From 950feb70b2e43e300bd0f285eb6e3ad446ca0722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 1 Aug 2016 17:46:30 +0200 Subject: [PATCH 16/22] treewide: fixup various mysql ocurrences after re-split --- pkgs/applications/audio/amarok/default.nix | 2 +- pkgs/applications/gis/grass/default.nix | 5 +++-- pkgs/development/compilers/hhvm/default.nix | 4 +--- pkgs/development/compilers/urweb/default.nix | 8 ++++---- pkgs/development/interpreters/php/default.nix | 2 +- pkgs/development/libraries/libdbi-drivers/default.nix | 2 -- pkgs/development/libraries/opendbx/default.nix | 9 ++++++--- pkgs/development/libraries/qt-3/default.nix | 2 +- pkgs/development/lisp-modules/lisp-packages.nix | 6 +++--- pkgs/development/ocaml-modules/mysql/default.nix | 8 ++------ pkgs/development/pure-modules/glpk/default.nix | 2 +- pkgs/games/zod/default.nix | 2 +- pkgs/servers/mail/dspam/default.nix | 2 +- pkgs/servers/mail/postfix/default.nix | 2 +- pkgs/servers/restund/default.nix | 2 +- 15 files changed, 27 insertions(+), 31 deletions(-) diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix index f7097442744..0cf939a85c6 100644 --- a/pkgs/applications/audio/amarok/default.nix +++ b/pkgs/applications/audio/amarok/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ automoc4 cmake perl pkgconfig ]; buildInputs = [ - qtscriptgenerator stdenv.cc.libc gettext curl libxml2 mysql.lib + qtscriptgenerator stdenv.cc.libc gettext curl libxml2 mysql.server/*libmysqld*/ taglib taglib_extras loudmouth kdelibs phonon strigi soprano qca2 libmtp liblastfm libgpod qjson ffmpeg libofa nepomuk_core lz4 lzo snappy libaio pcre diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix index c373f8b9e27..5773718b0a4 100644 --- a/pkgs/applications/gis/grass/default.nix +++ b/pkgs/applications/gis/grass/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { }; buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite pkgconfig cairo - readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.lib blas ] + readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.client blas ] ++ (with pythonPackages; [ python dateutil wxPython30 numpy sqlite3 ]); configureFlags = [ @@ -22,7 +22,8 @@ stdenv.mkDerivation { "--with-netcdf" "--with-geos" "--with-postgres" "--with-postgres-libs=${postgresql.lib}/lib/" - "--with-mysql" "--with-mysql-includes=${mysql.lib}/include/mysql" + # it complains about missing libmysqld but doesn't really seem to need it + "--with-mysql" "--with-mysql-includes=${stdenv.lib.getDev mysql.client}/include/mysql" "--with-blas" ]; diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix index 59fb90d78cd..ef4aa44d436 100644 --- a/pkgs/development/compilers/hhvm/default.nix +++ b/pkgs/development/compilers/hhvm/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ cmake pkgconfig boost libunwind mariadb libmemcached pcre gdb git perl + [ cmake pkgconfig boost libunwind mariadb.client libmemcached pcre gdb git perl libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml libkrb5 @@ -29,8 +29,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = false; # occasional build problems; dontUseCmakeBuildDir = true; NIX_LDFLAGS = "-lpam -L${pam}/lib"; - MYSQL_INCLUDE_DIR="${mariadb}/include/mysql"; - MYSQL_DIR=mariadb; # work around broken build system NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype2"; diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index d9c448970c9..638b10f76d5 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, file, openssl, mlton +{ stdenv, lib, fetchurl, file, openssl, mlton , mysql, postgresql, sqlite }: @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "08km96hli5yp754nsxxjzih2la0m89j5wc2cq12rkas43nqqgr65"; }; - buildInputs = [ openssl mlton mysql postgresql sqlite ]; + buildInputs = [ openssl mlton mysql.client postgresql sqlite ]; prePatch = '' sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { preConfigure = '' export PGHEADER="${postgresql}/include/libpq-fe.h"; - export MSHEADER="${mysql.lib}/include/mysql/mysql.h"; + export MSHEADER="${lib.getDev mysql.client}/include/mysql/mysql.h"; export SQHEADER="${sqlite.dev}/include/sqlite3.h"; export CCARGS="-I$out/include \ - -L${mysql.lib}/lib/mysql \ + -L${lib.getLib mysql.client}/lib/mysql \ -L${postgresql.lib}/lib \ -L${sqlite.out}/lib"; ''; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index df634147f58..3188d942441 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -107,7 +107,7 @@ let }; mysql = { - configureFlags = ["--with-mysql=${mysql.lib}"]; + configureFlags = ["--with-mysql"]; buildInputs = [ mysql.lib ]; }; diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix index f64174778b2..77c09f3ed15 100644 --- a/pkgs/development/libraries/libdbi-drivers/default.nix +++ b/pkgs/development/libraries/libdbi-drivers/default.nix @@ -26,8 +26,6 @@ stdenv.mkDerivation rec { "--with-dbi-libdir=${libdbi}/lib" ] ++ optionals (libmysql != null) [ "--with-mysql" - "--with-mysql-incdir=${libmysql}/include/mysql" - "--with-mysql-libdir=${libmysql}/lib/mysql" ] ++ optionals (postgresql != null) [ "--with-pgsql" "--with-pgsql_incdir=${postgresql}/include" diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix index 03e7718a3ae..37afa3fd507 100644 --- a/pkgs/development/libraries/opendbx/default.nix +++ b/pkgs/development/libraries/opendbx/default.nix @@ -1,5 +1,8 @@ { stdenv, fetchurl, readline, mysql, postgresql, sqlite }: +let + inherit (stdenv.lib) getDev getLib; +in stdenv.mkDerivation rec { name = "opendbx-1.4.6"; @@ -9,10 +12,10 @@ stdenv.mkDerivation rec { }; preConfigure = '' - export CPPFLAGS="-I${mysql.lib}/include/mysql" - export LDFLAGS="-L${mysql.lib}/lib/mysql" + export CPPFLAGS="-I${getDev mysql.client}/include/mysql" + export LDFLAGS="-L${getLib mysql.client}/lib/mysql -L${getLib postgresql}/lib" configureFlagsArray=(--with-backends="mysql pgsql sqlite3") ''; - buildInputs = [ readline mysql.lib postgresql sqlite ]; + buildInputs = [ readline mysql.client postgresql sqlite ]; } diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix index e7b4b907df9..949f3f5b778 100644 --- a/pkgs/development/libraries/qt-3/default.nix +++ b/pkgs/development/libraries/qt-3/default.nix @@ -47,7 +47,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${mysql.lib}/lib/mysql -I${mysql.lib}/include/mysql" else ""} + ${if mysqlSupport then "-qt-sql-mysql -L${stdenv.lib.getLib mysql.client}/lib/mysql -I${mysql.client}/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/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix index e8ec8f2aa24..abadf07a574 100644 --- a/pkgs/development/lisp-modules/lisp-packages.nix +++ b/pkgs/development/lisp-modules/lisp-packages.nix @@ -192,7 +192,7 @@ let lispPackages = rec { version = "git-20150514"; description = "Common Lisp SQL Interface library"; deps = [uffi]; - buildInputs = [pkgs.mysql.lib pkgs.zlib]; + buildInputs = [pkgs.mysql.client pkgs.zlib]; # Source type: git src = pkgs.fetchgit { url = @@ -204,8 +204,8 @@ let lispPackages = rec { }; overrides = x:{ preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.mysql.lib}/include/mysql" - export NIX_LDFLAGS="$NIX_LDFLAGS -L${pkgs.mysql.lib}/lib/mysql" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${stdenv.lib.getDev pkgs.mysql.client}/include/mysql" + export NIX_LDFLAGS="$NIX_LDFLAGS -L${stdenv.lib.getLib pkgs.mysql.client}/lib/mysql" ''; }; }; diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix index 3131d8212e4..ce3487a80a0 100644 --- a/pkgs/development/ocaml-modules/mysql/default.nix +++ b/pkgs/development/ocaml-modules/mysql/default.nix @@ -23,15 +23,11 @@ stdenv.mkDerivation { "--libdir=$out/lib/ocaml/${ocaml_version}/site-lib/mysql" ]; - buildInputs = [ocaml findlib mysql.lib camlp4 ]; + buildInputs = [ocaml findlib camlp4 ]; createFindlibDestdir = true; - propagatedBuildInputs = [ mysql.lib ]; - - preConfigure = '' - export LDFLAGS="-L${mysql.lib}/lib/mysql" - ''; + propagatedBuildInputs = [ mysql.client ]; buildPhase = '' make diff --git a/pkgs/development/pure-modules/glpk/default.nix b/pkgs/development/pure-modules/glpk/default.nix index 22d2bc17738..af13e856632 100644 --- a/pkgs/development/pure-modules/glpk/default.nix +++ b/pkgs/development/pure-modules/glpk/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { preConfigure = '' substituteInPlace configure \ - --replace /usr/include/mysql ${libmysql}/include/mysql + --replace /usr/include/mysql ${lib.getDev libmysql}/include/mysql ''; configureFlags = [ "--enable-dl" "--enable-odbc" diff --git a/pkgs/games/zod/default.nix b/pkgs/games/zod/default.nix index 9975aa1b15b..d7a0a62f5bd 100644 --- a/pkgs/games/zod/default.nix +++ b/pkgs/games/zod/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer libmysql makeWrapper ]; - NIX_LDFLAGS="-L${libmysql}/lib/mysql"; + NIX_LDFLAGS="-L${stdenv.lib.getLib libmysql}/lib/mysql"; installPhase = '' mkdir -p $out/bin $out/share/zod diff --git a/pkgs/servers/mail/dspam/default.nix b/pkgs/servers/mail/dspam/default.nix index 1ac47fbf722..6f52e62aab7 100644 --- a/pkgs/servers/mail/dspam/default.nix +++ b/pkgs/servers/mail/dspam/default.nix @@ -49,7 +49,7 @@ in stdenv.mkDerivation rec { "--enable-preferences-extension" "--enable-long-usernames" "--enable-external-lookup" - ] ++ lib.optional withMySQL "--with-mysql-includes=${libmysql}/include/mysql" + ] ++ lib.optional withMySQL "--with-mysql-includes=${lib.getDev libmysql}/include/mysql" ++ lib.optional withPgSQL "--with-pgsql-libraries=${postgresql.lib}/lib"; # Lots of things are hardwired to paths like sysconfdir. That's why we install with both "prefix" and "DESTDIR" diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index 008c8c90d1b..99371f41b0f 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -11,7 +11,7 @@ let "-DHAS_DB_BYPASS_MAKEDEFS_CHECK" "-fPIE" "-fstack-protector-all" "--param" "ssp-buffer-size=4" "-O2" "-D_FORTIFY_SOURCE=2" ] ++ lib.optional withPgSQL "-DHAS_PGSQL" - ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${libmysql}/include/mysql" ] + ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${lib.getDev libmysql}/include/mysql" ] ++ lib.optional withSQLite "-DHAS_SQLITE"); auxlibs = lib.concatStringsSep " " ([ "-ldb" "-lnsl" "-lresolv" "-lsasl2" "-lcrypto" "-lssl" "-pie" "-Wl,-z,relro,-z,now" diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix index 8a831f7ff69..acca1af6055 100644 --- a/pkgs/servers/restund/default.nix +++ b/pkgs/servers/restund/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}" ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}" ; - NIX_LDFLAGS='' -L${mysql.lib}/lib/mysql ''; + NIX_LDFLAGS='' -L${stdenv.lib.getLib mysql.client}/lib/mysql ''; meta = { homepage = "http://www.creytiv.com/restund.html"; platforms = with stdenv.lib.platforms; linux; From 75a92f4cd48d579f45e7ccd1d69c9e75364961eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 6 Aug 2016 17:32:09 +0200 Subject: [PATCH 17/22] amarok: enableParallelBuilding = true It builds rather long otherwise. --- pkgs/applications/audio/amarok/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix index 0cf939a85c6..af796f7490a 100644 --- a/pkgs/applications/audio/amarok/default.nix +++ b/pkgs/applications/audio/amarok/default.nix @@ -34,6 +34,8 @@ stdenv.mkDerivation rec { cmakeFlags = "-DKDE4_BUILD_TESTS=OFF"; + enableParallelBuilding = true; + propagatedUserEnvPkgs = [ qtscriptgenerator ]; meta = { From f21ff73289f2a2b7b0411b3c2852dd0099706f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Aug 2016 20:40:51 +0200 Subject: [PATCH 18/22] ghost-one: mark as broken It doesn't even download and I can't see any alternative mirror. /cc maintainer @phreedom. --- pkgs/servers/games/ghost-one/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/games/ghost-one/default.nix b/pkgs/servers/games/ghost-one/default.nix index 3c1430157d0..63a71633923 100644 --- a/pkgs/servers/games/ghost-one/default.nix +++ b/pkgs/servers/games/ghost-one/default.nix @@ -9,10 +9,11 @@ stdenv.mkDerivation rec { sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2"; }; - buildInputs = [ unzip gmp zlib bzip2 boost mysql.lib ]; + buildInputs = [ unzip gmp zlib bzip2 boost mysql.client ]; patchPhase = '' - substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" "${mysql.lib}/lib/mysql" + substituteInPlace ghost/Makefile --replace "/usr/local/lib/mysql" \ + "${stdenv.lib.getLib mysql.client}/lib/mysql" ''; buildPhase = '' @@ -49,5 +50,6 @@ stdenv.mkDerivation rec { description = "A Warcraft III: Reign of Chaos and Warcraft III: The Frozen Throne game hosting bot"; license = licenses.asl20; maintainers = [ maintainers.phreedom ]; + broken = true; # can't even get downloaded }; } From 24805b00c0de4bd30f5b79ed340aa369e3a21ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Aug 2016 22:32:35 +0200 Subject: [PATCH 19/22] unixODBCDrivers.mariadb: fix evaluation ... after the parent merge, but the package was broken anyway. --- pkgs/development/libraries/unixODBCDrivers/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index 80b39bd4cab..233fdd90254 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -37,7 +37,7 @@ }; nativeBuildInputs = [ cmake ]; - buildInputs = [ unixODBC mariadb ]; + buildInputs = [ unixODBC mariadb.lib ]; cmakeFlags = [ "-DMARIADB_INCLUDE_DIR=${mariadb.lib}/include/mysql" From 65dcc797ebf505efb1e6d2c7906249f9534061d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Aug 2016 22:39:48 +0200 Subject: [PATCH 20/22] opensmtpd-extras: fixup after mariadb changes I hope this was the only package I've forgotten. --- pkgs/servers/mail/opensmtpd/extras.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/mail/opensmtpd/extras.nix b/pkgs/servers/mail/opensmtpd/extras.nix index cf93b11ba9a..5e5170afbc7 100644 --- a/pkgs/servers/mail/opensmtpd/extras.nix +++ b/pkgs/servers/mail/opensmtpd/extras.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ openssl libevent - libasr python2 lua5 perl mariadb postgresql sqlite hiredis ]; + libasr python2 lua5 perl mariadb.client postgresql sqlite hiredis ]; configureFlags = [ "--sysconfdir=/etc" From b94559dc7f88d52faf4b48ef94fd2837941fd13e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 7 Aug 2016 22:44:57 +0200 Subject: [PATCH 21/22] mariadb: make the attribute point to the full build It will create least surprises. Only those who want to go light have to choose. --- pkgs/servers/sql/mariadb/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 7bbf0d57751..090291e4101 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -8,10 +8,10 @@ with stdenv.lib; let # in mariadb # spans the whole file -mariadb = { - inherit client # libmysqlclient.so in .out, necessary headers in .dev and utils in .bin - server; # currently a full build, including everything in `client` again - lib = client; # compat. with the old mariadb split +mariadb = everything // { + inherit client; # libmysqlclient.so in .out, necessary headers in .dev and utils in .bin + server = everything; # a full single-output build, including everything in `client` again + lib = client; # compat. with the old mariadb split }; @@ -104,7 +104,7 @@ client = stdenv.mkDerivation (common // { }); -server = stdenv.mkDerivation (common // { +everything = stdenv.mkDerivation (common // { name = "mariadb-${common.version}"; nativeBuildInputs = common.nativeBuildInputs ++ [ bison ]; From 6f5c6fb6a18083a0d2da8c9b94dd64ed85ed1504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 10 Aug 2016 22:06:13 +0200 Subject: [PATCH 22/22] mariadb: remove darwin patch that no longer applies Hopefully it isn't needed anymore. --- pkgs/servers/sql/mariadb/default.nix | 2 -- pkgs/servers/sql/mariadb/my_context_asm.patch | 18 ------------------ 2 files changed, 20 deletions(-) delete mode 100644 pkgs/servers/sql/mariadb/my_context_asm.patch diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 090291e4101..1f9a863bea5 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -29,8 +29,6 @@ common = rec { # attributes common to both builds sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt ''; - patches = stdenv.lib.optional stdenv.isDarwin ./my_context_asm.patch; - nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ diff --git a/pkgs/servers/sql/mariadb/my_context_asm.patch b/pkgs/servers/sql/mariadb/my_context_asm.patch deleted file mode 100644 index 3a747ed1b03..00000000000 --- a/pkgs/servers/sql/mariadb/my_context_asm.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/mysys/my_context.c -+++ b/mysys/my_context.c -@@ -206,15 +206,6 @@ my_context_spawn(struct my_context *c, void (*f)(void *), void *d) - ( - "movq %%rsp, (%[save])\n\t" - "movq %[stack], %%rsp\n\t" --#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 && !defined(__INTEL_COMPILER) -- /* -- This emits a DWARF DW_CFA_undefined directive to make the return address -- undefined. This indicates that this is the top of the stack frame, and -- helps tools that use DWARF stack unwinding to obtain stack traces. -- (I use numeric constant to avoid a dependency on libdwarf includes). -- */ -- ".cfi_escape 0x07, 16\n\t" --#endif - "movq %%rbp, 8(%[save])\n\t" - "movq %%rbx, 16(%[save])\n\t" - "movq %%r12, 24(%[save])\n\t"