From 0cd6144a2cb7cc9925ecd0818fdd3672df52cf09 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Fri, 20 Feb 2026 14:58:21 -0500 Subject: [PATCH] niftyreg: 1.3.9 -> 2.0.0 - updated source location from SourceForge to GitHub - use system instead of vendored png - enabled unit tests --- pkgs/by-name/ni/niftyreg/package.nix | 42 ++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/ni/niftyreg/package.nix b/pkgs/by-name/ni/niftyreg/package.nix index 6c23de28bee2..76cc9f61de7a 100644 --- a/pkgs/by-name/ni/niftyreg/package.nix +++ b/pkgs/by-name/ni/niftyreg/package.nix @@ -1,32 +1,50 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, + catch2_3, cmake, + ctestCheckHook, + libpng, zlib, }: stdenv.mkDerivation (finalAttrs: { pname = "niftyreg"; - version = "1.3.9"; + version = "2.0.0"; - src = fetchurl { - url = "mirror://sourceforge/niftyreg/nifty_reg-${finalAttrs.version}/nifty_reg-${finalAttrs.version}.tar.gz"; - sha256 = "07v9v9s41lvw72wpb1jgh2nzanyc994779bd35p76vg8mzifmprl"; + src = fetchFromGitHub { + owner = "KCL-BMEIS"; + repo = "niftyreg"; + tag = "v${finalAttrs.version}"; + hash = "sha256-BtAbcxqvZ5Kt2UMqtnx0aQg73ligQNTktKZjoa+GXvk="; }; - env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=narrowing" ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib ]; - postPatch = '' substituteInPlace CMakeLists.txt \ - --replace-fail "cmake_minimum_required(VERSION 2.8.0)" "cmake_minimum_required(VERSION 3.10)" + --replace-fail 'message(FATAL_ERROR "Git not found. Please install Git to get the version information.")' 'set(''${PROJECT_NAME}_VERSION ${finalAttrs.src.tag})' ''; + nativeBuildInputs = [ + cmake + ctestCheckHook + catch2_3 + ]; + + buildInputs = [ + libpng + zlib + ]; + + cmakeFlags = [ "-DBUILD_TESTING=ON" ]; + + doCheck = true; + + # fails due to very slight numerical tolerance issue + ctestFlags = [ "--exclude-regex=Regression Deformation Field" ]; + meta = { - homepage = "http://cmictig.cs.ucl.ac.uk/wiki/index.php/NiftyReg"; + homepage = "https://github.com/KCL-BMEIS/niftyreg"; description = "Medical image registration software"; maintainers = with lib.maintainers; [ bcdarwin ]; platforms = [ "x86_64-linux" ];