diff options
author | Emery Hemingway <ehmry@posteo.net> | 2023-06-14 10:43:26 +0100 |
---|---|---|
committer | Emery Hemingway <ehmry@posteo.net> | 2023-06-14 12:13:49 +0100 |
commit | 077d8a3447e25cd2d6664ae187667701de42cd75 (patch) | |
tree | f5f7ee993a51f2862495da8cac1a265d7653d95f /doc | |
parent | 731c00a128cc72e561e231099d1b614e8437f094 (diff) | |
download | nixlib-077d8a3447e25cd2d6664ae187667701de42cd75.tar nixlib-077d8a3447e25cd2d6664ae187667701de42cd75.tar.gz nixlib-077d8a3447e25cd2d6664ae187667701de42cd75.tar.bz2 nixlib-077d8a3447e25cd2d6664ae187667701de42cd75.tar.lz nixlib-077d8a3447e25cd2d6664ae187667701de42cd75.tar.xz nixlib-077d8a3447e25cd2d6664ae187667701de42cd75.tar.zst nixlib-077d8a3447e25cd2d6664ae187667701de42cd75.zip |
buildNimPackage: refactor to use overlay-style overrideAttrs
Make buildNimPackage cleaner and more efficient. Also encourage the use of a "buildNimPackage (finalAttrs: {…})" pattern.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/languages-frameworks/nim.section.md | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/doc/languages-frameworks/nim.section.md b/doc/languages-frameworks/nim.section.md index 4f97c7585f33..16ce9c591690 100644 --- a/doc/languages-frameworks/nim.section.md +++ b/doc/languages-frameworks/nim.section.md @@ -15,32 +15,23 @@ case of packages not containing exported library code the attribute The following example shows a Nim program that depends only on Nim libraries: ```nix -{ lib, nimPackages, fetchurl }: - -nimPackages.buildNimPackage rec { - pname = "hottext"; - version = "1.4"; +{ lib, nimPackages, fetchFromGitHub }: +nimPackages.buildNimPackage (finalAttrs: { + pname = "ttop"; + version = "1.0.1"; nimBinOnly = true; - src = fetchurl { - url = "https://git.sr.ht/~ehmry/hottext/archive/v${version}.tar.gz"; - hash = "sha256-hIUofi81zowSMbt1lUsxCnVzfJGN3FEiTtN8CEFpwzY="; + src = fetchFromGitHub { + owner = "inv2004"; + repo = "ttop"; + rev = "v${finalAttrs.version}"; + hash = "sha256-x4Uczksh6p3XX/IMrOFtBxIleVHdAPX9e8n32VAUTC4="; }; - buildInputs = with nimPackages; [ - bumpy - chroma - flatty - nimsimd - pixie - sdl2 - typography - vmath - zippy - ]; -} + buildInputs = with nimPackages; [ asciigraph illwill parsetoml zippy ]; +}) ``` ## Nim library packages in Nixpkgs {#nim-library-packages-in-nixpkgs} @@ -60,15 +51,16 @@ non-Nim package: ```nix { lib, buildNimPackage, fetchNimble, SDL2 }: -buildNimPackage rec { +buildNimPackage (finalAttrs: { pname = "sdl2"; version = "2.0.4"; src = fetchNimble { - inherit pname version; - hash = "sha256-qDtVSnf+7rTq36WAxgsUZ8XoUk4sKwHyt8EJcY5WP+o="; + inherit (finalAttrs) pname version; + hash = "sha256-Vtcj8goI4zZPQs2TbFoBFlcR5UqDtOldaXSH/+/xULk="; }; propagatedBuildInputs = [ SDL2 ]; -} + doCheck = true; +}) ``` ## `buildNimPackage` parameters {#buildnimpackage-parameters} |