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 ];
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
@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";
enableParallelBuilding = true;
propagatedUserEnvPkgs = [ qtscriptgenerator ];
meta = {

View File

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

View File

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

View File

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

View File

@ -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 ];

View File

@ -107,7 +107,7 @@ let
};
mysql = {
configureFlags = ["--with-mysql=${mysql.lib}"];
configureFlags = ["--with-mysql"];
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;
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 {
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 = "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}"

View File

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

View File

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

View File

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

View File

@ -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 */

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:
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.*

View File

@ -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 ];
}

View File

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

View File

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

View File

@ -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"
'';
};
};

View File

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

View File

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

View File

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

View File

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

View File

@ -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
};
}

View File

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

View File

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

View File

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

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.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;

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
, 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 = 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 {
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
});
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"
"-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 +136,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;
};
}

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;
stdenv.mkDerivation rec {
name = "curl-7.47.1";
name = "curl-7.50.1";
src = fetchurl {
url = "http://curl.haxx.se/download/${name}.tar.bz2";
sha256 = "13z9gba3q2ybp50z0gdkzhwcx9m0i7qkvm278yz4pql2jfml7inx";
sha256 = "0mjidq4q0hikhis2d35kzkhx6xfcgl875mk5ph5d98fa9kswa4iw";
};
outputs = [ "dev" "out" "bin" "man" "docdev" ];

View File

@ -10448,7 +10448,7 @@ in
};
mysql = mariadb;
libmysql = mysql.lib;
libmysql = mysql.client; # `libmysql` is a slight misnomer ATM
mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
@ -13972,6 +13972,7 @@ in
youtubeSupport = config.mpv.youtubeSupport or true;
cacaSupport = config.mpv.cacaSupport or true;
vaapiSupport = config.mpv.vaapiSupport or false;
libva = libva-full;
};
mpvScripts = {
@ -14441,6 +14442,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 { };

View File

@ -14117,6 +14117,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
};