diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/ni/nim_lk')
-rw-r--r-- | nixpkgs/pkgs/by-name/ni/nim_lk/lock.json | 29 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/ni/nim_lk/package.nix | 46 |
2 files changed, 45 insertions, 30 deletions
diff --git a/nixpkgs/pkgs/by-name/ni/nim_lk/lock.json b/nixpkgs/pkgs/by-name/ni/nim_lk/lock.json index 38a4f8c8e3e8..90929f01a04b 100644 --- a/nixpkgs/pkgs/by-name/ni/nim_lk/lock.json +++ b/nixpkgs/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/nixpkgs/pkgs/by-name/ni/nim_lk/package.nix b/nixpkgs/pkgs/by-name/ni/nim_lk/package.nix index 833860b357fe..597a4d3c89df 100644 --- a/nixpkgs/pkgs/by-name/ni/nim_lk/package.nix +++ b/nixpkgs/pkgs/by-name/ni/nim_lk/package.nix @@ -1,9 +1,16 @@ -{ lib, buildPackages, nim2Packages, fetchFromSourcehut, openssl }: +{ lib +, buildNimPackage +, fetchFromSourcehut +, nim +, nix-prefetch +, nix-prefetch-git +, openssl +, makeWrapper +}: -nim2Packages.buildNimPackage (finalAttrs: { +buildNimPackage (finalAttrs: { pname = "nim_lk"; version = "20231031"; - nimBinOnly = true; src = fetchFromSourcehut { owner = "~ehmry"; @@ -13,8 +20,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 nix-prefetch nix-prefetch-git ]} + ''; meta = finalAttrs.src.meta // { description = "Generate Nix specific lock files for Nim packages"; @@ -24,29 +37,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}"'')) - ]; - }) |