about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/ni
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-11-05 09:32:31 +0100
committerAlyssa Ross <hi@alyssa.is>2023-11-05 09:32:31 +0100
commit480416cc0d7e508b652c516af8d7342e3b1e59e3 (patch)
treed64d990b0d7cc1f80dca687b48563bc71628b55e /nixpkgs/pkgs/by-name/ni
parent05f40ff2bfe9c68198664c38d65816f677ac7ed4 (diff)
parentfa804edfb7869c9fb230e174182a8a1a7e512c40 (diff)
downloadnixlib-480416cc0d7e508b652c516af8d7342e3b1e59e3.tar
nixlib-480416cc0d7e508b652c516af8d7342e3b1e59e3.tar.gz
nixlib-480416cc0d7e508b652c516af8d7342e3b1e59e3.tar.bz2
nixlib-480416cc0d7e508b652c516af8d7342e3b1e59e3.tar.lz
nixlib-480416cc0d7e508b652c516af8d7342e3b1e59e3.tar.xz
nixlib-480416cc0d7e508b652c516af8d7342e3b1e59e3.tar.zst
nixlib-480416cc0d7e508b652c516af8d7342e3b1e59e3.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs into HEAD
Conflicts:
	nixpkgs/pkgs/servers/pr-tracker/default.nix
Diffstat (limited to 'nixpkgs/pkgs/by-name/ni')
-rw-r--r--nixpkgs/pkgs/by-name/ni/nim_lk/lock.json1
-rw-r--r--nixpkgs/pkgs/by-name/ni/nim_lk/package.nix52
2 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/ni/nim_lk/lock.json b/nixpkgs/pkgs/by-name/ni/nim_lk/lock.json
new file mode 100644
index 000000000000..38a4f8c8e3e8
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ni/nim_lk/lock.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 000000000000..833860b357fe
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ni/nim_lk/package.nix
@@ -0,0 +1,52 @@
+{ lib, buildPackages, nim2Packages, fetchFromSourcehut, openssl }:
+
+nim2Packages.buildNimPackage (finalAttrs: {
+  pname = "nim_lk";
+  version = "20231031";
+  nimBinOnly = true;
+
+  src = fetchFromSourcehut {
+    owner = "~ehmry";
+    repo = "nim_lk";
+    rev = finalAttrs.version;
+    hash = "sha256-dXm3dfXAxgucek19f1KdRShOsJyELPTB32qgGSKId6A=";
+  };
+
+  buildInputs = [ openssl ];
+
+  nimFlags = finalAttrs.passthru.nimFlagsFromLockFile ./lock.json;
+
+  meta = finalAttrs.src.meta // {
+    description = "Generate Nix specific lock files for Nim packages";
+    homepage = "https://git.sr.ht/~ehmry/nim_lk";
+    mainProgram = "nim_lk";
+    license = lib.licenses.bsd3;
+    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}"''))
+  ];
+
+})