Monorepo for Tangled tangled.org

nix: introduce sqlite-lib package

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 <me@oppi.li>

oppi.li 59345f77 f51269e5

verified
Changed files
+41 -1
nix
+15 -1
flake.lock
··· 111 "indigo": "indigo", 112 "inter-fonts-src": "inter-fonts-src", 113 "lucide-src": "lucide-src", 114 - "nixpkgs": "nixpkgs" 115 } 116 } 117 },
··· 111 "indigo": "indigo", 112 "inter-fonts-src": "inter-fonts-src", 113 "lucide-src": "lucide-src", 114 + "nixpkgs": "nixpkgs", 115 + "sqlite-lib-src": "sqlite-lib-src" 116 + } 117 + }, 118 + "sqlite-lib-src": { 119 + "flake": false, 120 + "locked": { 121 + "lastModified": 1706631843, 122 + "narHash": "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=", 123 + "type": "tarball", 124 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 125 + }, 126 + "original": { 127 + "type": "tarball", 128 + "url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip" 129 } 130 } 131 },
+8
flake.nix
··· 23 url = "https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-mono%401.1.0/ibm-plex-mono.zip"; 24 flake = false; 25 }; 26 gitignore = { 27 url = "github:hercules-ci/gitignore.nix"; 28 inputs.nixpkgs.follows = "nixpkgs"; ··· 37 lucide-src, 38 gitignore, 39 inter-fonts-src, 40 ibm-plex-mono-src, 41 }: let 42 supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; ··· 83 }; 84 in { 85 lexgen = final.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;}; 86 }; 87 88 # appview packages
··· 23 url = "https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-mono%401.1.0/ibm-plex-mono.zip"; 24 flake = false; 25 }; 26 + sqlite-lib-src = { 27 + url = "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"; 28 + flake = false; 29 + }; 30 gitignore = { 31 url = "github:hercules-ci/gitignore.nix"; 32 inputs.nixpkgs.follows = "nixpkgs"; ··· 41 lucide-src, 42 gitignore, 43 inter-fonts-src, 44 + sqlite-lib-src, 45 ibm-plex-mono-src, 46 }: let 47 supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; ··· 88 }; 89 in { 90 lexgen = final.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;}; 91 + sqlite-lib = final.pkgsStatic.callPackage ./nix/pkgs/sqlite-lib.nix { 92 + inherit (final.pkgsStatic) gcc; 93 + inherit sqlite-lib-src; 94 }; 95 96 # appview packages
+18
nix/pkgs/sqlite-lib.nix
···
··· 1 + { 2 + gcc, 3 + stdenv, 4 + sqlite-lib-src, 5 + }: 6 + stdenv.mkDerivation { 7 + name = "sqlite-lib"; 8 + src = sqlite-lib-src; 9 + nativeBuildInputs = [gcc]; 10 + buildPhase = '' 11 + gcc -c sqlite3.c 12 + ar rcs libsqlite3.a sqlite3.o 13 + ranlib libsqlite3.a 14 + mkdir -p $out/include $out/lib 15 + cp *.h $out/include 16 + cp libsqlite3.a $out/lib 17 + ''; 18 + }