From 53f1d8147db9af0aaac12deff28544f61dc05c64 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 1 Apr 2015 12:36:19 -0700 Subject: [PATCH] mariadb: Make derivation smaller and split out libs --- pkgs/servers/sql/mariadb/default.nix | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 23a09f1d54e..a5905821d17 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -55,13 +55,42 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + outputs = [ "out" "lib" ]; + 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 ''; + postInstall = '' substituteInPlace $out/bin/mysql_install_db \ --replace basedir=\"\" basedir=\"$out\" + + # Remove superfluous files + rm -r $out/mysql-test $out/sql-bench $out/data + rm $out/share/man/man1/mysql-test-run.pl.1 + rm $out/bin/rcmysql + 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 + + # Make sure to propagate lib for compatability + mkdir -p $out/nix-support + echo "$lib" > $out/nix-support/propagated-native-build-inputs ''; passthru.mysqlVersion = "5.6";