From 001357c825c3b68cec28701763e2bd0e2470393b Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Fri, 1 Apr 2022 23:50:36 +0100 Subject: [PATCH] Have a good crack at trying to get buildRustPackage-based flake working --- nix_flake/README.md | 5 +++++ nix_flake/flake.lock | 53 +++++++++----------------------------------- nix_flake/flake.nix | 44 +++++++++++++++++++++++++++--------- 3 files changed, 49 insertions(+), 53 deletions(-) create mode 100644 nix_flake/README.md diff --git a/nix_flake/README.md b/nix_flake/README.md new file mode 100644 index 0000000..3e177fb --- /dev/null +++ b/nix_flake/README.md @@ -0,0 +1,5 @@ +# Nix flake for QuickPeep + +Building: + +`nix build '.#' -j 8` diff --git a/nix_flake/flake.lock b/nix_flake/flake.lock index ab71d6f..ad00b2f 100644 --- a/nix_flake/flake.lock +++ b/nix_flake/flake.lock @@ -1,20 +1,17 @@ { "nodes": { - "naersk": { - "inputs": { - "nixpkgs": "nixpkgs" - }, + "flake-utils": { "locked": { - "lastModified": 1648544490, - "narHash": "sha256-EoBDcccV70tfz2LAs5lK0BjC7en5mzUVlgLsd5E6DW4=", - "owner": "nix-community", - "repo": "naersk", - "rev": "e30ef9a5ce9b3de8bb438f15829c50f9525ca730", + "lastModified": 1648297722, + "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "naersk", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, @@ -32,40 +29,10 @@ "type": "indirect" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1648219316, - "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "30d3d79b7d3607d56546dd2a6b49e156ba0ec634", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, "root": { "inputs": { - "naersk": "naersk", - "nixpkgs": "nixpkgs_2", - "utils": "utils" - } - }, - "utils": { - "locked": { - "lastModified": 1648297722, - "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" } } }, diff --git a/nix_flake/flake.nix b/nix_flake/flake.nix index e197828..01e5f04 100644 --- a/nix_flake/flake.nix +++ b/nix_flake/flake.nix @@ -2,33 +2,57 @@ description = "QuickPeep Search Engine Flake for Nix"; inputs = { - utils.url = "github:numtide/flake-utils"; - naersk.url = "github:nix-community/naersk"; + flake-utils.url = "github:numtide/flake-utils"; + # Do we need to declare this ...? nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11"; }; - outputs = { self, nixpkgs, utils, naersk }: - utils.lib.eachDefaultSystem (system: let + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages."${system}"; - naersk-lib = naersk.lib."${system}"; + rustPlatform = pkgs.rust.packages.stable.rustPlatform; in rec { # `nix build` - packages.quickpeep = naersk-lib.buildPackage { + packages.quickpeep = rustPlatform.buildRustPackage { pname = "quickpeep"; - root = ./..; + version = "0.1.0"; + + #src = ./..; + #buildAndTestSubdir = "../quickpeep"; + + src = builtins.fetchGit { + ref = "main"; + rev = "99a4c91ac33301e3d808d2f17498b710725a77e9"; + url = "https://bics.ga/reivilibre/quickpeep.git"; + }; + buildInputs = with pkgs; [ openssl pkgconfig - + # Needed to generate a dev database + pkgs.sqlx-cli ]; + + # Generate the dev database + preConfigure = '' + export PATH="${pkgs.sqlx-cli}/bin:$PATH" + cd quickpeep + bash dev_db.sh + ''; + nativeBuildInputs = with pkgs; [ # Idea from https://github.com/NixOS/nixpkgs/blob/634141959076a8ab69ca2cca0f266852256d79ee/pkgs/servers/matrix-conduit/default.nix - pkgs.rust.packages.stable.rustPlatform.bindgenHook + rustPlatform.bindgenHook + openssl + pkgconfig ]; + + #cargoSha256 = pkgs.lib.fakeSha256; + cargoSha256 = "sha256-8J/twLhzs/Coou07Hs7mIiBpwDAPANgXMIwoplWZXRs="; }; defaultPackage = packages.quickpeep; # `nix run` - apps.quickpeep = utils.lib.mkApp { + apps.quickpeep = flake-utils.lib.mkApp { drv = packages.quickpeep; }; defaultApp = apps.quickpeep;