diff --git a/pkgs/development/libraries/sqlite/analyzer.nix b/pkgs/development/libraries/sqlite/analyzer.nix new file mode 100644 index 00000000000..a0b1220b217 --- /dev/null +++ b/pkgs/development/libraries/sqlite/analyzer.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, unzip, sqlite, tcl }: + +let + archiveVersion = import ./archive-version.nix stdenv.lib; +in + +stdenv.mkDerivation rec { + name = "sqlite-analyzer-${version}"; + version = "3.23.1"; + + src = assert version == sqlite.version; fetchurl { + url = "https://sqlite.org/2018/sqlite-src-${archiveVersion version}.zip"; + sha256 = "1z3xr8d8ds4l8ndkg34cii13d0w790nlxdkrw6virinqi7wmmd1d"; + }; + + nativeBuildInputs = [ unzip ]; + buildInputs = [ tcl ]; + + makeFlags = [ "sqlite3_analyzer" ]; + + installPhase = "install -Dt $out/bin sqlite3_analyzer"; + + meta = with stdenv.lib; { + description = "A tool that shows statistics about SQLite databases"; + downloadPage = http://sqlite.org/download.html; + homepage = http://www.sqlite.org; + maintainers = with maintainers; [ pesterhazy ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/sqlite/archive-version.nix b/pkgs/development/libraries/sqlite/archive-version.nix new file mode 100644 index 00000000000..1f312ecef23 --- /dev/null +++ b/pkgs/development/libraries/sqlite/archive-version.nix @@ -0,0 +1,11 @@ +lib: version: + +with lib; + +let + fragments = splitString "." version; + major = head fragments; + minor = concatMapStrings (fixedWidthNumber 2) (tail fragments); +in + +major + minor + "00" diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index b8b7d0c701d..eaeafa74129 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -1,21 +1,29 @@ -{ lib, stdenv, fetchurl, interactive ? false, readline ? null, ncurses ? null }: +{ stdenv, fetchurl, zlib, interactive ? false, readline ? null, ncurses ? null }: assert interactive -> readline != null && ncurses != null; -stdenv.mkDerivation { - name = "sqlite-3.22.0"; +with stdenv.lib; +let + archiveVersion = import ./archive-version.nix stdenv.lib; +in + +stdenv.mkDerivation rec { + name = "sqlite-${version}"; + version = "3.23.1"; + + # NB! Make sure to update analyzer.nix src (in the same directory). src = fetchurl { - url = "http://sqlite.org/2018/sqlite-autoconf-3220000.tar.gz"; - sha256 = "04n6hnw2g818d7r92cp2608kd5mhzyysy83k29kbq1mp709an918"; + url = "https://sqlite.org/2018/sqlite-autoconf-${archiveVersion version}.tar.gz"; + sha256 = "09ggapjhqjb2pzk0wkfczil77plijg3d77m2bpzlwx2y7ql2p14j"; }; outputs = [ "bin" "dev" "out" ]; separateDebugInfo = stdenv.isLinux; - buildInputs = lib.optionals interactive [ readline ncurses ]; + buildInputs = [ zlib ] ++ optionals interactive [ readline ncurses ]; - configureFlags = [ "--enable-threadsafe" ] ++ lib.optional interactive "--enable-readline"; + configureFlags = [ "--enable-threadsafe" ] ++ optional interactive "--enable-readline"; NIX_CFLAGS_COMPILE = [ "-DSQLITE_ENABLE_COLUMN_METADATA" @@ -59,9 +67,10 @@ stdenv.mkDerivation { ''; meta = { - homepage = http://www.sqlite.org/; description = "A self-contained, serverless, zero-configuration, transactional SQL database engine"; - platforms = stdenv.lib.platforms.unix; - maintainers = with stdenv.lib.maintainers; [ eelco np ]; + downloadPage = http://sqlite.org/download.html; + homepage = http://www.sqlite.org/; + maintainers = with maintainers; [ eelco np ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix deleted file mode 100644 index 1feedb94c15..00000000000 --- a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, stdenv, fetchurl, unzip, tcl }: - -stdenv.mkDerivation { - name = "sqlite3_analyzer-3.22.0"; - - src = fetchurl { - url = "https://www.sqlite.org/2018/sqlite-src-3220000.zip"; - sha256 = "04w97jj1659vl84rr73wg1mhj6by8r5075rzpn2xp42n537a7ibv"; - }; - - nativeBuildInputs = [ unzip ]; - buildInputs = [ tcl ]; - - makeFlags = [ "sqlite3_analyzer" ]; - - installPhase = '' - install -Dm755 sqlite3_analyzer \ - "$out/bin/sqlite3_analyzer" - ''; - - meta = with stdenv.lib; { - homepage = http://www.sqlite.org/; - description = "A tool that shows statistics about sqlite databases"; - platforms = platforms.unix; - maintainers = with maintainers; [ pesterhazy ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7a12cc93aa3..35a16699d43 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -257,6 +257,7 @@ mapAliases (rec { speedtest_cli = speedtest-cli; # added 2015-02-17 spice_gtk = spice-gtk; # added 2018-02-25 spice_protocol = spice-protocol; # added 2018-02-25 + sqlite3_analyzer = sqlite-analyzer; # added 2018-05-22 sqliteInteractive = sqlite-interactive; # added 2014-12-06 sshfs = sshfs-fuse; # added 2017-08-14 sshfsFuse = sshfs-fuse; # added 2016-09 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e3074cbf80a..591320fc142 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11623,7 +11623,7 @@ with pkgs; sqlite = lowPrio (callPackage ../development/libraries/sqlite { }); - sqlite3_analyzer = lowPrio (callPackage ../development/libraries/sqlite/sqlite3_analyzer.nix { }); + sqlite-analyzer = lowPrio (callPackage ../development/libraries/sqlite/analyzer.nix { }); sqlar = callPackage ../development/libraries/sqlite/sqlar.nix { };