Merge branch 'staging'

This commit is contained in:
Vladimír Čunát 2016-08-10 22:09:38 +02:00
commit 947abb08ac
30 changed files with 180 additions and 174 deletions

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ]; nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
buildInputs = [ 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 taglib taglib_extras loudmouth kdelibs phonon strigi soprano qca2
libmtp liblastfm libgpod qjson ffmpeg libofa nepomuk_core libmtp liblastfm libgpod qjson ffmpeg libofa nepomuk_core
lz4 lzo snappy libaio pcre lz4 lzo snappy libaio pcre
@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
cmakeFlags = "-DKDE4_BUILD_TESTS=OFF"; cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";
enableParallelBuilding = true;
propagatedUserEnvPkgs = [ qtscriptgenerator ]; propagatedUserEnvPkgs = [ qtscriptgenerator ];
meta = { meta = {

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation {
}; };
buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite pkgconfig cairo 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 ]); ++ (with pythonPackages; [ python dateutil wxPython30 numpy sqlite3 ]);
configureFlags = [ configureFlags = [
@ -22,7 +22,8 @@ stdenv.mkDerivation {
"--with-netcdf" "--with-netcdf"
"--with-geos" "--with-geos"
"--with-postgres" "--with-postgres-libs=${postgresql.lib}/lib/" "--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" "--with-blas"
]; ];

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = 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 libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml libkrb5 libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml libkrb5
@ -29,8 +29,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = false; # occasional build problems; enableParallelBuilding = false; # occasional build problems;
dontUseCmakeBuildDir = true; dontUseCmakeBuildDir = true;
NIX_LDFLAGS = "-lpam -L${pam}/lib"; NIX_LDFLAGS = "-lpam -L${pam}/lib";
MYSQL_INCLUDE_DIR="${mariadb}/include/mysql";
MYSQL_DIR=mariadb;
# work around broken build system # work around broken build system
NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype2"; NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype2";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, file, openssl, mlton { stdenv, lib, fetchurl, file, openssl, mlton
, mysql, postgresql, sqlite , mysql, postgresql, sqlite
}: }:
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "08km96hli5yp754nsxxjzih2la0m89j5wc2cq12rkas43nqqgr65"; sha256 = "08km96hli5yp754nsxxjzih2la0m89j5wc2cq12rkas43nqqgr65";
}; };
buildInputs = [ openssl mlton mysql postgresql sqlite ]; buildInputs = [ openssl mlton mysql.client postgresql sqlite ];
prePatch = '' prePatch = ''
sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure
@ -21,11 +21,11 @@ stdenv.mkDerivation rec {
preConfigure = '' preConfigure = ''
export PGHEADER="${postgresql}/include/libpq-fe.h"; 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 SQHEADER="${sqlite.dev}/include/sqlite3.h";
export CCARGS="-I$out/include \ export CCARGS="-I$out/include \
-L${mysql.lib}/lib/mysql \ -L${lib.getLib mysql.client}/lib/mysql \
-L${postgresql.lib}/lib \ -L${postgresql.lib}/lib \
-L${sqlite.out}/lib"; -L${sqlite.out}/lib";
''; '';

View File

@ -7,11 +7,11 @@
else stdenv.mkDerivation) else stdenv.mkDerivation)
(rec { (rec {
name = "guile-2.0.11"; name = "guile-2.0.12";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/guile/${name}.tar.xz"; url = "mirror://gnu/guile/${name}.tar.xz";
sha256 = "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"; sha256 = "1sdpjq0jf1h65w29q0zprj4x6kdp5jskkvbnlwphy9lvdxrqg0fy";
}; };
nativeBuildInputs = [ makeWrapper gawk pkgconfig ]; nativeBuildInputs = [ makeWrapper gawk pkgconfig ];

View File

@ -107,7 +107,7 @@ let
}; };
mysql = { mysql = {
configureFlags = ["--with-mysql=${mysql.lib}"]; configureFlags = ["--with-mysql"];
buildInputs = [ mysql.lib ]; buildInputs = [ mysql.lib ];
}; };

View File

@ -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; with lib;
assert elem precision [ "single" "double" "long-double" "quad-precision" ]; assert elem precision [ "single" "double" "long-double" "quad-precision" ];
let version = "3.3.4"; in let version = "3.3.5-rc1"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fftw-${precision}-${version}"; name = "fftw-${precision}-${version}";
src = fetchurl { src = fetchFromGitHub {
url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"; owner = "FFTW";
sha256 = "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g"; 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 outputs = [ "dev" "out" "doc" ]; # it's dev-doc only
outputBin = "dev"; # fftw-wisdom outputBin = "dev"; # fftw-wisdom
configureFlags = configureFlags =
[ "--enable-shared" "--disable-static" [ "--enable-maintainer-mode"
"--enable-shared" "--disable-static"
"--enable-threads" "--enable-threads"
] ]
++ optional (precision != "double") "--enable-${precision}" ++ optional (precision != "double") "--enable-${precision}"

View File

@ -13,7 +13,7 @@ with stdenv.lib;
let let
ver_maj = "3.20"; ver_maj = "3.20";
ver_min = "6"; ver_min = "8";
version = "${ver_maj}.${ver_min}"; version = "${ver_maj}.${ver_min}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz"; url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
sha256 = "3f8016563a96b1cfef4ac9e795647f6316deb2978ff939b19e4e4f8f936fa4b2"; sha256 = "9841bd9b4d23c045c474b10fdde9da958af904b63783701e796391d55d4396f3";
}; };
outputs = [ "dev" "out" ]; outputs = [ "dev" "out" ];

View File

@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
"--with-dbi-libdir=${libdbi}/lib" "--with-dbi-libdir=${libdbi}/lib"
] ++ optionals (libmysql != null) [ ] ++ optionals (libmysql != null) [
"--with-mysql" "--with-mysql"
"--with-mysql-incdir=${libmysql}/include/mysql"
"--with-mysql-libdir=${libmysql}/lib/mysql"
] ++ optionals (postgresql != null) [ ] ++ optionals (postgresql != null) [
"--with-pgsql" "--with-pgsql"
"--with-pgsql_incdir=${postgresql}/include" "--with-pgsql_incdir=${postgresql}/include"

View File

@ -19,10 +19,9 @@ stdenv.mkDerivation rec {
++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ]; ++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ];
# TODO: share libs between minimal and !minimal - perhaps just symlink them # TODO: share libs between minimal and !minimal - perhaps just symlink them
configureFlags = lib.optionals (!minimal) [ configureFlags =
"--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" [ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" ] ++
"--enable-glx" lib.optionals (!minimal) [ "--enable-glx" ];
];
installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ]; installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];

View File

@ -144,8 +144,6 @@ stdenv.mkDerivation {
'' + /* set the default search path for DRI drivers; used e.g. by X server */ '' '' + /* set the default search path for DRI drivers; used e.g. by X server */ ''
substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}" 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 */ #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM */

View File

@ -11,7 +11,7 @@ diff -ru -x '*~' mesa-11.1.4-orig/src/gallium/targets/dri/Makefile.am mesa-11.1.
install-data-hook: install-data-hook:
for i in $(TARGET_DRIVERS); do \ for i in $(TARGET_DRIVERS); do \
- ln -f $(DESTDIR)$(dridir)/gallium_dri.so \ - 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; \ $(DESTDIR)$(dridir)/$${i}_dri.so; \
done; \ done; \
- $(RM) $(DESTDIR)$(dridir)/gallium_dri.* - $(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); \ k=libvdpau_$${i}.$(LIB_EXT); \
l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \ l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
- ln -f $${dest_dir}/$${j}.$(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}; \ $${dest_dir}/$${l}; \
ln -sf $${l} \ ln -sf $${l} \
$${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \ $${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: install-data-hook:
for i in $(MEGADRIVERS); do \ for i in $(MEGADRIVERS); do \
- ln -f $(DESTDIR)$(dridir)/mesa_dri_drivers.so \ - 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; \ $(DESTDIR)$(dridir)/$$i; \
done; done;
- $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.* - $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.*

View File

@ -1,5 +1,8 @@
{ stdenv, fetchurl, readline, mysql, postgresql, sqlite }: { stdenv, fetchurl, readline, mysql, postgresql, sqlite }:
let
inherit (stdenv.lib) getDev getLib;
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "opendbx-1.4.6"; name = "opendbx-1.4.6";
@ -9,10 +12,10 @@ stdenv.mkDerivation rec {
}; };
preConfigure = '' preConfigure = ''
export CPPFLAGS="-I${mysql.lib}/include/mysql" export CPPFLAGS="-I${getDev mysql.client}/include/mysql"
export LDFLAGS="-L${mysql.lib}/lib/mysql" export LDFLAGS="-L${getLib mysql.client}/lib/mysql -L${getLib postgresql}/lib"
configureFlagsArray=(--with-backends="mysql pgsql sqlite3") configureFlagsArray=(--with-backends="mysql pgsql sqlite3")
''; '';
buildInputs = [ readline mysql.lib postgresql sqlite ]; buildInputs = [ readline mysql.client postgresql sqlite ];
} }

View File

@ -47,7 +47,7 @@ stdenv.mkDerivation {
-I${randrproto}/include" else "-no-xrandr"} -I${randrproto}/include" else "-no-xrandr"}
${if xineramaSupport then "-xinerama -L${libXinerama.out}/lib -I${libXinerama.dev}/include" else "-no-xinerama"} ${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 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 ${if xftSupport then "-xft
-L${libXft.out}/lib -I${libXft.dev}/include -L${libXft.out}/lib -I${libXft.dev}/include
-L${libXft.freetype.out}/lib -I${libXft.freetype.dev}/include -L${libXft.freetype.out}/lib -I${libXft.freetype.dev}/include

View File

@ -37,7 +37,7 @@
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ unixODBC mariadb ]; buildInputs = [ unixODBC mariadb.lib ];
cmakeFlags = [ cmakeFlags = [
"-DMARIADB_INCLUDE_DIR=${mariadb.lib}/include/mysql" "-DMARIADB_INCLUDE_DIR=${mariadb.lib}/include/mysql"

View File

@ -192,7 +192,7 @@ let lispPackages = rec {
version = "git-20150514"; version = "git-20150514";
description = "Common Lisp SQL Interface library"; description = "Common Lisp SQL Interface library";
deps = [uffi]; deps = [uffi];
buildInputs = [pkgs.mysql.lib pkgs.zlib]; buildInputs = [pkgs.mysql.client pkgs.zlib];
# Source type: git # Source type: git
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = url =
@ -204,8 +204,8 @@ let lispPackages = rec {
}; };
overrides = x:{ overrides = x:{
preConfigure = '' preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.mysql.lib}/include/mysql" export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${stdenv.lib.getDev pkgs.mysql.client}/include/mysql"
export NIX_LDFLAGS="$NIX_LDFLAGS -L${pkgs.mysql.lib}/lib/mysql" export NIX_LDFLAGS="$NIX_LDFLAGS -L${stdenv.lib.getLib pkgs.mysql.client}/lib/mysql"
''; '';
}; };
}; };

View File

@ -23,15 +23,11 @@ stdenv.mkDerivation {
"--libdir=$out/lib/ocaml/${ocaml_version}/site-lib/mysql" "--libdir=$out/lib/ocaml/${ocaml_version}/site-lib/mysql"
]; ];
buildInputs = [ocaml findlib mysql.lib camlp4 ]; buildInputs = [ocaml findlib camlp4 ];
createFindlibDestdir = true; createFindlibDestdir = true;
propagatedBuildInputs = [ mysql.lib ]; propagatedBuildInputs = [ mysql.client ];
preConfigure = ''
export LDFLAGS="-L${mysql.lib}/lib/mysql"
'';
buildPhase = '' buildPhase = ''
make make

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
preConfigure = '' preConfigure = ''
substituteInPlace configure \ substituteInPlace configure \
--replace /usr/include/mysql ${libmysql}/include/mysql --replace /usr/include/mysql ${lib.getDev libmysql}/include/mysql
''; '';
configureFlags = [ "--enable-dl" configureFlags = [ "--enable-dl"
"--enable-odbc" "--enable-odbc"

View File

@ -10,8 +10,8 @@ assert wantPS -> (ps != null);
let let
os = stdenv.lib.optionalString; os = stdenv.lib.optionalString;
majorVersion = "3.4"; majorVersion = "3.6";
minorVersion = "3"; minorVersion = "0";
version = "${majorVersion}.${minorVersion}"; version = "${majorVersion}.${minorVersion}";
in in
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz"; url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
sha256 = "1yl0z422gr7zfc638chifv343vx0ig5gasvrh7nzf7b15488qgxp"; sha256 = "0w3n2i02jpbgai4dxsigm1c1i1qb5v70wyxckzwrxvs0ri0fs1gx";
}; };
patches = patches =
@ -50,6 +50,8 @@ stdenv.mkDerivation rec {
--subst-var-by glibc_bin ${getBin glibc} \ --subst-var-by glibc_bin ${getBin glibc} \
--subst-var-by glibc_dev ${getDev glibc} \ --subst-var-by glibc_dev ${getDev glibc} \
--subst-var-by glibc_lib ${getLib glibc} --subst-var-by glibc_lib ${getLib glibc}
substituteInPlace Modules/FindCxxTest.cmake \
--replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell}
''; '';
configureFlags = configureFlags =
[ "--docdir=share/doc/${name}" [ "--docdir=share/doc/${name}"

View File

@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer libmysql buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer libmysql
makeWrapper ]; makeWrapper ];
NIX_LDFLAGS="-L${libmysql}/lib/mysql"; NIX_LDFLAGS="-L${stdenv.lib.getLib libmysql}/lib/mysql";
installPhase = '' installPhase = ''
mkdir -p $out/bin $out/share/zod mkdir -p $out/bin $out/share/zod

View File

@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2"; sha256 = "1sm2ca3lcdr4vjg7v94d8zhqz8cdp44rg8yinzzwkgsr0hj74fv2";
}; };
buildInputs = [ unzip gmp zlib bzip2 boost mysql.lib ]; buildInputs = [ unzip gmp zlib bzip2 boost mysql.client ];
patchPhase = '' 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 = '' buildPhase = ''
@ -49,5 +50,6 @@ stdenv.mkDerivation rec {
description = "A Warcraft III: Reign of Chaos and Warcraft III: The Frozen Throne game hosting bot"; description = "A Warcraft III: Reign of Chaos and Warcraft III: The Frozen Throne game hosting bot";
license = licenses.asl20; license = licenses.asl20;
maintainers = [ maintainers.phreedom ]; maintainers = [ maintainers.phreedom ];
broken = true; # can't even get downloaded
}; };
} }

View File

@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
"--enable-preferences-extension" "--enable-preferences-extension"
"--enable-long-usernames" "--enable-long-usernames"
"--enable-external-lookup" "--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"; ++ 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" # Lots of things are hardwired to paths like sysconfdir. That's why we install with both "prefix" and "DESTDIR"

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl libevent buildInputs = [ openssl libevent
libasr python2 lua5 perl mariadb postgresql sqlite hiredis ]; libasr python2 lua5 perl mariadb.client postgresql sqlite hiredis ];
configureFlags = [ configureFlags = [
"--sysconfdir=/etc" "--sysconfdir=/etc"

View File

@ -11,7 +11,7 @@ let
"-DHAS_DB_BYPASS_MAKEDEFS_CHECK" "-DHAS_DB_BYPASS_MAKEDEFS_CHECK"
"-fPIE" "-fstack-protector-all" "--param" "ssp-buffer-size=4" "-O2" "-D_FORTIFY_SOURCE=2" "-fPIE" "-fstack-protector-all" "--param" "ssp-buffer-size=4" "-O2" "-D_FORTIFY_SOURCE=2"
] ++ lib.optional withPgSQL "-DHAS_PGSQL" ] ++ 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"); ++ lib.optional withSQLite "-DHAS_SQLITE");
auxlibs = lib.concatStringsSep " " ([ auxlibs = lib.concatStringsSep " " ([
"-ldb" "-lnsl" "-lresolv" "-lsasl2" "-lcrypto" "-lssl" "-pie" "-Wl,-z,relro,-z,now" "-ldb" "-lnsl" "-lresolv" "-lsasl2" "-lcrypto" "-lssl" "-pie" "-Wl,-z,relro,-z,now"

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}" ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}" ++ 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 = { meta = {
homepage = "http://www.creytiv.com/restund.html"; homepage = "http://www.creytiv.com/restund.html";
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; linux;

View File

@ -1,55 +1,133 @@
{ 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 , openssl, pcre, boost, judy, bison, libxml2
, libaio, libevent, groff, jemalloc, cracklib, systemd, numactl, perl , libaio, libevent, groff, jemalloc, cracklib, systemd, numactl, perl
, fixDarwinDylibNames, cctools, CoreServices , fixDarwinDylibNames, cctools, CoreServices
, makeWrapper
}: }:
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec {
name = "mariadb-${version}"; let # in mariadb # spans the whole file
version = "10.1.9";
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
};
common = rec { # attributes common to both builds
version = "10.1.16";
src = fetchurl { src = fetchurl {
url = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz"; url = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz";
sha256 = "0471vwg9c5c17m7679krjha16ib6d48fcsphkchb9v9cf8k5i74f"; sha256 = "14s3wq1c25n62n75hkixl8n7cni4m73w055nsx4czm655k33bjv7";
}; };
buildInputs = [ prePatch = ''
cmake ncurses openssl zlib xz lzo lz4 bzip2 substituteInPlace cmake/libutils.cmake \
# temporary due to https://mariadb.atlassian.net/browse/MDEV-9000 --replace /usr/bin/libtool libtool
(if stdenv.is64bit then snappy else null) sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
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 ];
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 = [ cmakeFlags = [
"-DBUILD_CONFIG=mysql_release" "-DBUILD_CONFIG=mysql_release"
"-DMANUFACTURER=NixOS.org"
"-DDEFAULT_CHARSET=utf8" "-DDEFAULT_CHARSET=utf8"
"-DDEFAULT_COLLATION=utf8_general_ci" "-DDEFAULT_COLLATION=utf8_general_ci"
"-DENABLED_LOCAL_INFILE=ON" "-DSECURITY_HARDENED=ON"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock" "-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
});
everything = 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" "-DMYSQL_DATADIR=/var/lib/mysql"
"-DINSTALL_SYSCONFDIR=etc/mysql" "-DINSTALL_SYSCONFDIR=etc/mysql"
"-DINSTALL_INFODIR=share/mysql/docs" "-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man" "-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin" "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_SCRIPTDIR=bin" "-DINSTALL_SCRIPTDIR=bin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql"
"-DINSTALL_SUPPORTFILESDIR=share/mysql" "-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql" "-DINSTALL_DOCREADMEDIR=share/doc/mysql"
"-DINSTALL_DOCDIR=share/mysql/docs" "-DINSTALL_DOCDIR=share/doc/mysql"
"-DINSTALL_SHAREDIR=share/mysql" "-DINSTALL_SHAREDIR=share/mysql"
"-DENABLED_LOCAL_INFILE=ON"
"-DWITH_READLINE=ON" "-DWITH_READLINE=ON"
"-DWITH_ZLIB=system"
"-DWITH_SSL=system"
"-DWITH_PCRE=system"
"-DWITH_EMBEDDED_SERVER=yes"
"-DWITH_EXTRA_CHARSETS=complex" "-DWITH_EXTRA_CHARSETS=complex"
"-DWITH_EMBEDDED_SERVER=ON" "-DWITH_EMBEDDED_SERVER=ON"
"-DWITH_ARCHIVE_STORAGE_ENGINE=1" "-DWITH_ARCHIVE_STORAGE_ENGINE=1"
@ -58,83 +136,17 @@ stdenv.mkDerivation rec {
"-DWITH_PARTITION_STORAGE_ENGINE=1" "-DWITH_PARTITION_STORAGE_ENGINE=1"
"-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1" "-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1"
"-DWITHOUT_FEDERATED_STORAGE_ENGINE=1" "-DWITHOUT_FEDERATED_STORAGE_ENGINE=1"
"-DSECURITY_HARDENED=ON"
"-DWITH_WSREP=ON" "-DWITH_WSREP=ON"
] ++ stdenv.lib.optionals stdenv.isDarwin [ ] ++ stdenv.lib.optionals stdenv.isDarwin [
"-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1" "-DWITHOUT_OQGRAPH_STORAGE_ENGINE=1"
"-DWITHOUT_TOKUDB=1" "-DWITHOUT_TOKUDB=1"
"-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
]; ];
# fails to find lex_token.h sometimes postInstall = common.postInstall + ''
enableParallelBuilding = false; rm -r "$out"/{mysql-test,sql-bench,data} # Don't need testing data
rm "$out"/share/man/man1/mysql-test-run.pl.1
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 = '' in mariadb
substituteInPlace $out/bin/mysql_install_db \
--replace basedir=\"\" basedir=\"$out\"
# 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;
};
}

View File

@ -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"

View File

@ -18,11 +18,11 @@ assert scpSupport -> libssh2 != null;
assert c-aresSupport -> c-ares != null; assert c-aresSupport -> c-ares != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "curl-7.47.1"; name = "curl-7.50.1";
src = fetchurl { src = fetchurl {
url = "http://curl.haxx.se/download/${name}.tar.bz2"; url = "http://curl.haxx.se/download/${name}.tar.bz2";
sha256 = "13z9gba3q2ybp50z0gdkzhwcx9m0i7qkvm278yz4pql2jfml7inx"; sha256 = "0mjidq4q0hikhis2d35kzkhx6xfcgl875mk5ph5d98fa9kswa4iw";
}; };
outputs = [ "dev" "out" "bin" "man" "docdev" ]; outputs = [ "dev" "out" "bin" "man" "docdev" ];

View File

@ -10448,7 +10448,7 @@ in
}; };
mysql = mariadb; mysql = mariadb;
libmysql = mysql.lib; libmysql = mysql.client; # `libmysql` is a slight misnomer ATM
mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { }; mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
@ -13972,6 +13972,7 @@ in
youtubeSupport = config.mpv.youtubeSupport or true; youtubeSupport = config.mpv.youtubeSupport or true;
cacaSupport = config.mpv.cacaSupport or true; cacaSupport = config.mpv.cacaSupport or true;
vaapiSupport = config.mpv.vaapiSupport or false; vaapiSupport = config.mpv.vaapiSupport or false;
libva = libva-full;
}; };
mpvScripts = { mpvScripts = {
@ -14441,6 +14442,7 @@ in
rawtherapee = callPackage ../applications/graphics/rawtherapee { rawtherapee = callPackage ../applications/graphics/rawtherapee {
fftw = fftwSinglePrec; fftw = fftwSinglePrec;
cmake = cmake-2_8; # problems after 3.4 -> 3.6.0
}; };
rcs = callPackage ../applications/version-management/rcs { }; rcs = callPackage ../applications/version-management/rcs { };

View File

@ -14117,6 +14117,7 @@ let self = _self // overrides; _self = with self; {
preConfigure = preConfigure =
'' ''
substituteInPlace Makefile.PL --replace '"cpp"' '"gcc -E"' 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 doCheck = false; # performs network access
}; };