From 90d5e87862fb1fea7e48159b6a50530a4bee9b62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 13 Oct 2015 22:30:30 +0200 Subject: [PATCH] sqlite: split dev and bin outputs --- pkgs/development/compilers/urweb/default.nix | 4 +- .../development/interpreters/pypy/default.nix | 2 +- .../ruby/bundler-env/default-gem-config.nix | 4 +- .../libraries/libdbi-drivers/default.nix | 4 +- pkgs/development/libraries/sqlite/default.nix | 2 + .../perl-modules/DBD-SQLite/default.nix | 4 ++ .../DBD-SQLite/external-sqlite.patch | 72 +++++++++---------- pkgs/tools/misc/profile-cleaner/default.nix | 2 +- pkgs/tools/system/storebrowse/default.nix | 6 +- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/python-packages.nix | 4 +- 11 files changed, 53 insertions(+), 53 deletions(-) diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index dc862940edf2..9bdc3131e6a3 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -22,12 +22,12 @@ stdenv.mkDerivation rec { preConfigure = '' export PGHEADER="${postgresql}/include/libpq-fe.h"; export MSHEADER="${mysql.lib}/include/mysql/mysql.h"; - export SQHEADER="${sqlite}/include/sqlite3.h"; + export SQHEADER="${sqlite.dev}/include/sqlite3.h"; export CCARGS="-I$out/include \ -L${mysql.lib}/lib/mysql \ -L${postgresql}/lib \ - -L${sqlite}/lib"; + -L${sqlite.out}/lib"; ''; # Be sure to keep the statically linked libraries diff --git a/pkgs/development/interpreters/pypy/default.nix b/pkgs/development/interpreters/pypy/default.nix index 4f26a40b0ce7..c6e2c5270d53 100644 --- a/pkgs/development/interpreters/pypy/default.nix +++ b/pkgs/development/interpreters/pypy/default.nix @@ -54,7 +54,7 @@ let --replace "linklibs = ['tcl' + _ver, 'tk' + _ver]" "linklibs=['${tcl.libPrefix}', '${tk.libPrefix}']" \ --replace "libdirs = []" "libdirs = ['${tk}/lib', '${tcl}/lib']" - sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite}/include'], library_dirs=['${sqlite}/lib']@" lib_pypy/_sqlite3_build.py + sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py ''; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix index cbb64bc12774..29fa3454d195 100644 --- a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix +++ b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix @@ -89,8 +89,8 @@ in sqlite3 = attrs: { buildFlags = [ - "--with-sqlite3-include=${sqlite}/include" - "--with-sqlite3-lib=${sqlite}/lib" + "--with-sqlite3-include=${sqlite.dev}/include" + "--with-sqlite3-lib=${sqlite.out}/lib" ]; }; diff --git a/pkgs/development/libraries/libdbi-drivers/default.nix b/pkgs/development/libraries/libdbi-drivers/default.nix index ccc0a1996549..da2919f6ee9b 100644 --- a/pkgs/development/libraries/libdbi-drivers/default.nix +++ b/pkgs/development/libraries/libdbi-drivers/default.nix @@ -34,8 +34,8 @@ stdenv.mkDerivation rec { "--with-pgsql_libdir=${postgresql}/lib" ] ++ optionals (sqlite != null) [ "--with-sqlite3" - "--with-sqlite3-incdir=${sqlite}/include/sqlite" - "--with-sqlite3-libdir=${sqlite}/lib/sqlite" + "--with-sqlite3-incdir=${sqlite.dev}/include/sqlite" + "--with-sqlite3-libdir=${sqlite.out}/lib/sqlite" ]; installFlags = [ "DESTDIR=\${out}" ]; diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index f043a37033a8..d1a6a341d872 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation { sha1 = "d0e22d7e361b6f50830a3cdeafe35311443f8f9a"; }; + outputs = [ "dev" "out" "bin" ]; + buildInputs = lib.optionals interactive [ readline ncurses ]; configureFlags = [ "--enable-threadsafe" ]; diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix index 985e7946b6b4..13b633f4704e 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/default.nix +++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix @@ -17,6 +17,10 @@ buildPerlPackage rec { ./external-sqlite.patch ]; + sqlite_dev = sqlite.dev; + sqlite_out = sqlite.out; + postPatch = "substituteAllInPlace Makefile.PL; cat Makefile.PL"; + preBuild = '' substituteInPlace Makefile --replace -L/usr/lib "" diff --git a/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch b/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch index 9a20fa250399..1f90546b252c 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch +++ b/pkgs/development/perl-modules/DBD-SQLite/external-sqlite.patch @@ -1,39 +1,33 @@ -diff -rc DBD-SQLite-1.29/Makefile.PL DBD-SQLite-1.29-new/Makefile.PL -*** DBD-SQLite-1.29/Makefile.PL 2010-01-08 10:08:29.000000000 +0100 ---- DBD-SQLite-1.29-new/Makefile.PL 2010-08-05 11:42:53.000000000 +0200 -*************** -*** 123,129 **** - # a system sqlite is also sophisticated enough to have a patching system - # that can change the if ( 0 ) to if ( 1 ) - my ($sqlite_local, $sqlite_base, $sqlite_lib, $sqlite_inc); -! if ( 0 ) { - require File::Spec; - if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) { - $sqlite_base =~ /=(.*)/; ---- 123,129 ---- - # a system sqlite is also sophisticated enough to have a patching system - # that can change the if ( 0 ) to if ( 1 ) - my ($sqlite_local, $sqlite_base, $sqlite_lib, $sqlite_inc); -! if ( 1 ) { - require File::Spec; - if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) { - $sqlite_base =~ /=(.*)/; -*************** -*** 184,191 **** - } else { - # Always the bundled one. - # XXX: ... and this message should be more informative. -! $sqlite_local = 1; -! print "We're using the bundled sqlite library.\n" if $ENV{AUTOMATED_TESTING}; - } - - @ARGV = grep( ! /SQLITE_LOCATION|USE_LOCAL_SQLITE/, @ARGV ); ---- 184,191 ---- - } else { - # Always the bundled one. - # XXX: ... and this message should be more informative. -! # $sqlite_local = 1; -! # print "We're using the bundled sqlite library.\n" if $ENV{AUTOMATED_TESTING}; - } - - @ARGV = grep( ! /SQLITE_LOCATION|USE_LOCAL_SQLITE/, @ARGV ); +diff --git a/Makefile.PL b/Makefile.PL +index 606b28d..0cea060 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -128,24 +128,10 @@ SCOPE: { + # the system SQLite. We expect that anyone sophisticated enough to use + # a system sqlite is also sophisticated enough to have a patching system + # that can change the if ( 0 ) to if ( 1 ) +-my ($sqlite_local, $sqlite_base, $sqlite_lib, $sqlite_inc); +-if ( 0 ) { +- require File::Spec; +- if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) { +- $sqlite_base =~ /=(.*)/; +- $sqlite_base = $1; +- $sqlite_lib = File::Spec->catdir( $sqlite_base, 'lib' ); +- $sqlite_inc = File::Spec->catdir( $sqlite_base, 'include' ); +- } +- if ( $sqlite_local = (grep(/USE_LOCAL_SQLITE=.*/, @ARGV))[0] ) { +- $sqlite_local =~ /=(.*)/; +- $sqlite_local = "$1" ? 1 : 0; +- if ( $sqlite_local ) { +- # Keep these from making into CFLAGS/LDFLAGS +- undef $sqlite_lib; +- undef $sqlite_inc; +- } +- } ++my ($sqlite_local, $sqlite_lib, $sqlite_inc); ++if ( 1 ) { ++ $sqlite_lib = '@sqlite_out@/lib'; ++ $sqlite_inc = '@sqlite_dev@/include'; + + # Now check for a compatible sqlite3 + unless ( $sqlite_local ) { diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix index 55c44770c3e1..2c1f3d77def3 100644 --- a/pkgs/tools/misc/profile-cleaner/default.nix +++ b/pkgs/tools/misc/profile-cleaner/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { installPhase = '' PREFIX=\"\" DESTDIR=$out make install wrapProgram $out/bin/profile-cleaner \ - --prefix PATH : "${parallel}/bin:${sqlite}/bin" + --prefix PATH : "${parallel}/bin:${sqlite.bin}/bin" ''; meta = { diff --git a/pkgs/tools/system/storebrowse/default.nix b/pkgs/tools/system/storebrowse/default.nix index 041dd96e1ca8..aa510a28c231 100644 --- a/pkgs/tools/system/storebrowse/default.nix +++ b/pkgs/tools/system/storebrowse/default.nix @@ -28,9 +28,9 @@ stdenv.mkDerivation rec { GOSQLITE=$GOPATH/src/code.google.com/p/gosqlite mkdir -p $GOSQLITE cp -R $srcGoSqlite/* $GOSQLITE/ - export CGO_CFLAGS=-I${sqlite}/include - export CGO_LDFLAGS=-L${sqlite}/lib - go build -ldflags "-r ${sqlite}/lib" -o storebrowse + export CGO_CFLAGS=-I${sqlite.dev}/include + export CGO_LDFLAGS=-L${sqlite.out}/lib + go build -ldflags "-r ${sqlite.out}/lib" -o storebrowse ''; installPhase = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3af267d80470..2a6ef1ed9d0c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8208,7 +8208,7 @@ let sqlite-amalgamation = callPackage ../development/libraries/sqlite-amalgamation { }; - sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; }); + sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; }).bin; sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher { readline = null; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1b1143e267c4..2db3fd1d4324 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12294,8 +12294,8 @@ let patchPhase = '' substituteInPlace "setup.cfg" \ - --replace "/usr/local/include" "${pkgs.sqlite}/include" \ - --replace "/usr/local/lib" "${pkgs.sqlite}/lib" + --replace "/usr/local/include" "${pkgs.sqlite.dev}/include" \ + --replace "/usr/local/lib" "${pkgs.sqlite.out}/lib" ''; # error: invalid command 'test'