diff options
author | Emery Hemingway <ehmry@posteo.net> | 2023-10-30 22:17:59 +0000 |
---|---|---|
committer | Emery Hemingway <ehmry@posteo.net> | 2023-11-28 16:48:10 +0200 |
commit | 35f108c7d7742fc9119a03783f40dd44cf7f6251 (patch) | |
tree | 01474278a90b96e73560628d9fe47a8c09c121b5 /pkgs/by-name/ni | |
parent | 39d4eace911f9e838df023ad80f52132380e01c2 (diff) | |
download | nixlib-35f108c7d7742fc9119a03783f40dd44cf7f6251.tar nixlib-35f108c7d7742fc9119a03783f40dd44cf7f6251.tar.gz nixlib-35f108c7d7742fc9119a03783f40dd44cf7f6251.tar.bz2 nixlib-35f108c7d7742fc9119a03783f40dd44cf7f6251.tar.lz nixlib-35f108c7d7742fc9119a03783f40dd44cf7f6251.tar.xz nixlib-35f108c7d7742fc9119a03783f40dd44cf7f6251.tar.zst nixlib-35f108c7d7742fc9119a03783f40dd44cf7f6251.zip |
buildNimPackage: load lockfiles and overrides
Diffstat (limited to 'pkgs/by-name/ni')
-rw-r--r-- | pkgs/by-name/ni/nim_builder/nim_builder.nim | 4 | ||||
-rw-r--r-- | pkgs/by-name/ni/nim_lk/lock.json | 29 | ||||
-rw-r--r-- | pkgs/by-name/ni/nim_lk/package.nix | 38 |
3 files changed, 39 insertions, 32 deletions
diff --git a/pkgs/by-name/ni/nim_builder/nim_builder.nim b/pkgs/by-name/ni/nim_builder/nim_builder.nim index 8b70aa91ca99..ec1d3ccb45b9 100644 --- a/pkgs/by-name/ni/nim_builder/nim_builder.nim +++ b/pkgs/by-name/ni/nim_builder/nim_builder.nim @@ -133,9 +133,9 @@ proc buildPhase*() = if err != 0: quit("build phase failed", err) proc installPhase*() = - ## Install the Nim sources if ``nimBinOnly`` is not + ## Install the Nim sources if ``nimCopySources`` is ## set in the environment. - if not getEnvBool"nimBinOnly": + if getEnvBool"nimCopySources": let nf = getNimbleFilePath() srcDir = nf.getNimbleValue("srcDir", ".") diff --git a/pkgs/by-name/ni/nim_lk/lock.json b/pkgs/by-name/ni/nim_lk/lock.json index 38a4f8c8e3e8..90929f01a04b 100644 --- a/pkgs/by-name/ni/nim_lk/lock.json +++ b/pkgs/by-name/ni/nim_lk/lock.json @@ -1 +1,28 @@ -{"depends":[{"method":"fetchzip","packages":["npeg"],"path":"/nix/store/ffkxmjmigfs7zhhiiqm0iw2c34smyciy-source","ref":"1.2.1","rev":"26d62fdc40feb84c6533956dc11d5ee9ea9b6c09","sha256":"0xpzifjkfp49w76qmaylan8q181bs45anmp46l4bwr3lkrr7bpwh","srcDir":"src","url":"https://github.com/zevv/npeg/archive/26d62fdc40feb84c6533956dc11d5ee9ea9b6c09.tar.gz"},{"method":"fetchzip","packages":["preserves"],"path":"/nix/store/nrcpzf9hx70kry3gwhrdzcs3qicjncjh-source","ref":"20231021","rev":"edece399be70818208bf2263c30cb2bcf435bbff","sha256":"0xmw35wmw3a4lja9q4qvlvpxv3xk0hnkjg4fwfw6f3inh6zfiqki","srcDir":"src","url":"https://git.syndicate-lang.org/ehmry/preserves-nim/archive/edece399be70818208bf2263c30cb2bcf435bbff.tar.gz"}]} +{ + "depends": [ + { + "method": "fetchzip", + "packages": [ + "npeg" + ], + "path": "/nix/store/ffkxmjmigfs7zhhiiqm0iw2c34smyciy-source", + "ref": "1.2.1", + "rev": "26d62fdc40feb84c6533956dc11d5ee9ea9b6c09", + "sha256": "0xpzifjkfp49w76qmaylan8q181bs45anmp46l4bwr3lkrr7bpwh", + "srcDir": "src", + "url": "https://github.com/zevv/npeg/archive/26d62fdc40feb84c6533956dc11d5ee9ea9b6c09.tar.gz" + }, + { + "method": "fetchzip", + "packages": [ + "preserves" + ], + "path": "/nix/store/nrcpzf9hx70kry3gwhrdzcs3qicjncjh-source", + "ref": "20231021", + "rev": "edece399be70818208bf2263c30cb2bcf435bbff", + "sha256": "0xmw35wmw3a4lja9q4qvlvpxv3xk0hnkjg4fwfw6f3inh6zfiqki", + "srcDir": "src", + "url": "https://git.syndicate-lang.org/ehmry/preserves-nim/archive/edece399be70818208bf2263c30cb2bcf435bbff.tar.gz" + } + ] +} diff --git a/pkgs/by-name/ni/nim_lk/package.nix b/pkgs/by-name/ni/nim_lk/package.nix index 833860b357fe..aeac25ac1a9f 100644 --- a/pkgs/by-name/ni/nim_lk/package.nix +++ b/pkgs/by-name/ni/nim_lk/package.nix @@ -1,9 +1,8 @@ -{ lib, buildPackages, nim2Packages, fetchFromSourcehut, openssl }: +{ lib, buildNimPackage, fetchFromSourcehut, nim, openssl, makeWrapper }: -nim2Packages.buildNimPackage (finalAttrs: { +buildNimPackage (finalAttrs: { pname = "nim_lk"; version = "20231031"; - nimBinOnly = true; src = fetchFromSourcehut { owner = "~ehmry"; @@ -13,8 +12,14 @@ nim2Packages.buildNimPackage (finalAttrs: { }; buildInputs = [ openssl ]; + nativeBuildInputs = [ makeWrapper ]; - nimFlags = finalAttrs.passthru.nimFlagsFromLockFile ./lock.json; + lockFile = ./lock.json; + + postFixup = '' + wrapProgram $out/bin/nim_lk \ + --suffix PATH : ${lib.makeBinPath [ nim ]} + ''; meta = finalAttrs.src.meta // { description = "Generate Nix specific lock files for Nim packages"; @@ -24,29 +29,4 @@ nim2Packages.buildNimPackage (finalAttrs: { platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ ehmry ]; }; - - passthru.nimFlagsFromLockFile = let - fetchDependency = let - methods = { - fetchzip = { url, sha256, ... }: - buildPackages.fetchzip { - name = "source"; - inherit url sha256; - }; - git = { fetchSubmodules, leaveDotGit, rev, sha256, url, ... }: - buildPackages.fetchgit { - inherit fetchSubmodules leaveDotGit rev sha256 url; - }; - }; - in attrs@{ method, ... }: methods.${method} attrs // attrs; - in lockFile: - with builtins; - lib.pipe lockFile [ - readFile - fromJSON - (getAttr "depends") - (map fetchDependency) - (map ({ outPath, srcDir, ... }: ''--path:"${outPath}/${srcDir}"'')) - ]; - }) |