diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-11-05 09:32:31 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-11-05 09:32:31 +0100 |
commit | 480416cc0d7e508b652c516af8d7342e3b1e59e3 (patch) | |
tree | d64d990b0d7cc1f80dca687b48563bc71628b55e /nixpkgs/pkgs/by-name/ni | |
parent | 05f40ff2bfe9c68198664c38d65816f677ac7ed4 (diff) | |
parent | fa804edfb7869c9fb230e174182a8a1a7e512c40 (diff) | |
download | nixlib-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.json | 1 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/ni/nim_lk/package.nix | 52 |
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}"'')) + ]; + +}) |