about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorEmery Hemingway <ehmry@posteo.net>2023-06-14 10:43:26 +0100
committerEmery Hemingway <ehmry@posteo.net>2023-06-14 12:13:49 +0100
commit077d8a3447e25cd2d6664ae187667701de42cd75 (patch)
treef5f7ee993a51f2862495da8cac1a265d7653d95f /doc
parent731c00a128cc72e561e231099d1b614e8437f094 (diff)
downloadnixlib-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.md40
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}