From 59345f77ff2383131cf59d0334deba07b8820197 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Wed, 4 Jun 2025 20:49:05 +0100 Subject: [PATCH] nix: introduce sqlite-lib package Change-Id: omyyzvtswtutqsvwnonuxmyvvtotxqnk this is a helper derivation to speed up go builds, it builds sqlite shared objects and header files which are then passed into buildGoModule. Signed-off-by: oppiliappan --- flake.lock | 16 +++++++++++++++- flake.nix | 8 ++++++++ nix/pkgs/sqlite-lib.nix | 18 ++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 nix/pkgs/sqlite-lib.nix diff --git a/flake.lock b/flake.lock index 83ce5a3..43987c9 100644 --- a/flake.lock +++ b/flake.lock @@ -111,7 +111,21 @@ "indigo": "indigo", "inter-fonts-src": "inter-fonts-src", "lucide-src": "lucide-src", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "sqlite-lib-src": "sqlite-lib-src" + } + }, + "sqlite-lib-src": { + "flake": false, + "locked": { + "lastModified": 1706631843, + "narHash": "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=", + "type": "tarball", + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" + }, + "original": { + "type": "tarball", + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" } } }, diff --git a/flake.nix b/flake.nix index 770480c..34f3451 100644 --- a/flake.nix +++ b/flake.nix @@ -23,6 +23,10 @@ url = "https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-mono%401.1.0/ibm-plex-mono.zip"; flake = false; }; + sqlite-lib-src = { + url = "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"; + flake = false; + }; gitignore = { url = "github:hercules-ci/gitignore.nix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -37,6 +41,7 @@ lucide-src, gitignore, inter-fonts-src, + sqlite-lib-src, ibm-plex-mono-src, }: let supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; @@ -83,6 +88,9 @@ }; in { lexgen = final.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;}; + sqlite-lib = final.pkgsStatic.callPackage ./nix/pkgs/sqlite-lib.nix { + inherit (final.pkgsStatic) gcc; + inherit sqlite-lib-src; }; # appview packages diff --git a/nix/pkgs/sqlite-lib.nix b/nix/pkgs/sqlite-lib.nix new file mode 100644 index 0000000..0bd0a6a --- /dev/null +++ b/nix/pkgs/sqlite-lib.nix @@ -0,0 +1,18 @@ +{ + gcc, + stdenv, + sqlite-lib-src, +}: +stdenv.mkDerivation { + name = "sqlite-lib"; + src = sqlite-lib-src; + nativeBuildInputs = [gcc]; + buildPhase = '' + gcc -c sqlite3.c + ar rcs libsqlite3.a sqlite3.o + ranlib libsqlite3.a + mkdir -p $out/include $out/lib + cp *.h $out/include + cp libsqlite3.a $out/lib + ''; +} -- 2.43.0