about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/ni/nim_lk
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/ni/nim_lk')
-rw-r--r--nixpkgs/pkgs/by-name/ni/nim_lk/lock.json29
-rw-r--r--nixpkgs/pkgs/by-name/ni/nim_lk/package.nix46
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}"''))
-  ];
-
 })