Skip to content

Instantly share code, notes, and snippets.

@raspher
Created February 3, 2024 20:11
Show Gist options
  • Save raspher/9bf953bdc4c85271048999cd9bcadfca to your computer and use it in GitHub Desktop.
Save raspher/9bf953bdc4c85271048999cd9bcadfca to your computer and use it in GitHub Desktop.
Slicer on Nix packaging attemp
diff --git a/SuperBuild.cmake b/SuperBuild.cmake
index 05d12d6d4f..d6d9ad3e7e 100644
--- a/SuperBuild.cmake
+++ b/SuperBuild.cmake
@@ -22,7 +22,7 @@
#-----------------------------------------------------------------------------
# CMake https support
#-----------------------------------------------------------------------------
-include(SlicerCheckCMakeHTTPS)
+#include(SlicerCheckCMakeHTTPS)
#-----------------------------------------------------------------------------
# Git protocol option
diff --git a/SuperBuild/External_sqlite.cmake b/SuperBuild/External_sqlite.cmake
index 4b54bf5b63..299d6b487b 100644
--- a/SuperBuild/External_sqlite.cmake
+++ b/SuperBuild/External_sqlite.cmake
@@ -10,7 +10,7 @@ ExternalProject_Include_Dependencies(${proj} PROJECT_VAR proj DEPENDS_VAR ${proj
if(Slicer_USE_SYSTEM_${proj})
unset(${proj}_DIR CACHE)
unset(${proj} CACHE)
- find_package(${proj} REQUIRED)
+ find_package(SQLite3 REQUIRED)
endif()
# Sanity checks
{ autoconf
, automake
, bzip2
, cmake
, curl
, dcmtk
, fetchurl
, git
, lib
, libarchive
, libffi
, libsForQt5
, libXt
, libz
, openssl
, pkg-config
, python3
, rapidjson
, simpleitk
, stdenv
, sqlite
, xz
}:
let
version = "5.6.1";
in
stdenv.mkDerivation rec {
inherit version;
pname = "slicer";
src = fetchurl {
url = "https://github.com/Slicer/Slicer/archive/refs/tags/v${version}.tar.gz";
hash = "sha256-WsMi554gikNRPAPi8VBsdwdba2kalFUuNBYG2S27GMA=";
};
patches = [
./01-disable-https-check.patch
./02-fix-external-dependencies.patch
];
dontWrapQtApps = true; #todo: wrap
buildInputs = with libsForQt5; [
bzip2
curl
dcmtk
full #todo: don't use full!
git
libarchive
libffi
libXt
libz
openssl
python3
rapidjson
sqlite
xz
];
nativeBuildInputs = [
pkg-config
git
cmake
];
cmakeFlags = [
"-DBUILD_TESTING=OFF"
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_INSTALL_PREFIX=$out"
"-DSlicer_BUILD_DOCUMENTATION=ON"
"-DSlicer_BUILD_I18N_SUPPORT=ON"
"-DSlicer_STORE_SETTINGS_IN_APPLICATION_HOME_DIR=OFF"
"-DSlicer_USE_GIT_PROTOCOL=OFF"
"-DSlicer_USE_SYSTEM_CTK=OFF"
"-DSlicer_USE_SYSTEM_CTKAPPLAUNCHER=OFF"
"-DSlicer_USE_SYSTEM_CTKAppLauncherLib=OFF"
"-DSlicer_USE_SYSTEM_CTKResEdit=OFF"
"-DSlicer_USE_SYSTEM_DCMTK=ON"
"-DSlicer_USE_SYSTEM_ITK=OFF"
"-DSlicer_USE_SYSTEM_JsonCpp=OFF"
"-DSlicer_USE_SYSTEM_LZMA=ON"
"-DSlicer_USE_SYSTEM_LibArchive=ON"
"-DSlicer_USE_SYSTEM_LibFFI=ON"
"-DSlicer_USE_SYSTEM_OpenSSL=ON"
"-DSlicer_USE_SYSTEM_PCRE=OFF"
"-DSlicer_USE_SYSTEM_ParameterSerializer=OFF"
"-DSlicer_USE_SYSTEM_QT=ON"
"-DSlicer_USE_SYSTEM_RapidJSON=ON"
"-DSlicer_USE_SYSTEM_SimpleITK=OFF"
"-DSlicer_USE_SYSTEM_SlicerExecutionModel=OFF"
"-DSlicer_USE_SYSTEM_Swig=OFF" # not supported by app
"-DSlicer_USE_SYSTEM_VTK=OFF"
"-DSlicer_USE_SYSTEM_bzip2=ON"
"-DSlicer_USE_SYSTEM_curl=ON"
"-DSlicer_USE_SYSTEM_qRestAPI=OFF" # what's that?
"-DSlicer_USE_SYSTEM_sqlite=ON"
"-DSlicer_USE_SYSTEM_tbb=OFF"
"-DSlicer_USE_SYSTEM_teem=OFF" #todo: separate package
"-DSlicer_USE_SYSTEM_zlib=ON"
"-DSlicer_USE_SimpleITK=ON"
"-DSlicer_USE_SimpleITK_SHARED=ON"
];
meta = {
#todo
homepage = "";
description = "";
license = lib.licenses;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ ]; # todo
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment