diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix index 33f00979c97..47c69d7451f 100644 --- a/pkgs/applications/science/astronomy/kstars/default.nix +++ b/pkgs/applications/science/astronomy/kstars/default.nix @@ -9,7 +9,7 @@ eigen, zlib, - cfitsio, indilib, xplanet, libnova, libraw, gsl, wcslib, stellarsolver + cfitsio, indi-full, xplanet, libnova, libraw, gsl, wcslib, stellarsolver }: mkDerivation rec { @@ -37,11 +37,11 @@ mkDerivation rec { eigen zlib - cfitsio indilib xplanet libnova libraw gsl wcslib stellarsolver + cfitsio indi-full xplanet libnova libraw gsl wcslib stellarsolver ]; cmakeFlags = [ - "-DINDI_NIX_ROOT=${indilib}" + "-DINDI_NIX_ROOT=${indi-full}" "-DXPLANET_NIX_ROOT=${xplanet}" ]; @@ -53,7 +53,7 @@ mkDerivation rec { The display includes up to 100 million stars, 13.000 deep-sky objects, all 8 planets, the Sun and Moon, and thousands of comets, asteroids, supernovae, and satellites. For students and teachers, it supports adjustable simulation speeds in order to view phenomena that happen over long timescales, the KStars Astrocalculator to predict conjunctions, and many common astronomical calculations. ''; - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ timput hjones2199 ]; }; diff --git a/pkgs/applications/science/astronomy/phd2/default.nix b/pkgs/applications/science/astronomy/phd2/default.nix index 054a73dec7a..0e0ad06bbe9 100644 --- a/pkgs/applications/science/astronomy/phd2/default.nix +++ b/pkgs/applications/science/astronomy/phd2/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3, - curl, gettext, glib, indilib, libnova, wrapGAppsHook }: + curl, gettext, glib, indi-full, libnova, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "phd2"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ]; - buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indilib libnova ]; + buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indi-full libnova ]; cmakeFlags = [ "-DOPENSOURCE_ONLY=1" diff --git a/pkgs/development/libraries/indilib/default.nix b/pkgs/development/libraries/indilib/default.nix index 035356ac861..4813e431a66 100644 --- a/pkgs/development/libraries/indilib/default.nix +++ b/pkgs/development/libraries/indilib/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ stdenv +, lib , fetchFromGitHub , cmake , cfitsio @@ -23,10 +24,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-WTRfV6f764tDGKnQVd1jeYN/qXa/VRTFK0mMalc+9aU="; }; - patches = [ - ./udev-dir.patch - ]; - nativeBuildInputs = [ cmake ]; @@ -43,6 +40,11 @@ stdenv.mkDerivation rec { fftw ]; + cmakeFlags = [ + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d" + ]; + meta = with lib; { homepage = "https://www.indilib.org/"; description = "Implementation of the INDI protocol for POSIX operating systems"; diff --git a/pkgs/development/libraries/indilib/indi-3rdparty.nix b/pkgs/development/libraries/indilib/indi-3rdparty.nix new file mode 100644 index 00000000000..02862820b3a --- /dev/null +++ b/pkgs/development/libraries/indilib/indi-3rdparty.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, cfitsio +, libusb1 +, zlib +, boost +, libnova +, curl +, libjpeg +, gsl +, fftw +, indilib +, libgphoto2 +, libraw +, libftdi1 +, libdc1394 +, gpsd +, ffmpeg +}: + +stdenv.mkDerivation rec { + pname = "indi-3rdparty"; + version = "1.8.8"; + + src = fetchFromGitHub { + owner = "indilib"; + repo = pname; + rev = "v${version}"; + sha256 = "18ii9qsghrvj8y4y6c7bx6kjradybnmyq8i5phj7pv4r8w91rq7g"; + }; + + cmakeFlags = [ + "-DINDI_DATA_DIR=\${CMAKE_INSTALL_PREFIX}/share/indi" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d" + "-DRULES_INSTALL_DIR=lib/udev/rules.d" + "-DWITH_SX=off" + "-DWITH_SBIG=off" + "-DWITH_APOGEE=off" + "-DWITH_FISHCAMP=off" + "-DWITH_DSI=off" + "-DWITH_QHY=off" + "-DWITH_ARMADILLO=off" + "-DWITH_PENTAX=off" + ]; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd + libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw + ]; + + meta = with lib; { + homepage = "https://www.indilib.org/"; + description = "Third party drivers for the INDI astronomical software suite"; + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ hjones2199 ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/libraries/indilib/indi-full.nix b/pkgs/development/libraries/indilib/indi-full.nix new file mode 100644 index 00000000000..e52da9f2eab --- /dev/null +++ b/pkgs/development/libraries/indilib/indi-full.nix @@ -0,0 +1,11 @@ +{ callPackage, indilib, indi-3rdparty }: + +let + indi-with-drivers = ./indi-with-drivers.nix; +in +callPackage indi-with-drivers { + pkgName = "indi-full"; + extraDrivers = [ + indi-3rdparty + ]; +} diff --git a/pkgs/development/libraries/indilib/indi-with-drivers.nix b/pkgs/development/libraries/indilib/indi-with-drivers.nix new file mode 100644 index 00000000000..b34abfd95c1 --- /dev/null +++ b/pkgs/development/libraries/indilib/indi-with-drivers.nix @@ -0,0 +1,9 @@ +{ buildEnv, indilib ? indilib, extraDrivers ? null , pkgName ? "indi-with-drivers" }: + +buildEnv { + name = pkgName; + paths = [ + indilib + ] + ++ extraDrivers; +} diff --git a/pkgs/development/libraries/indilib/udev-dir.patch b/pkgs/development/libraries/indilib/udev-dir.patch deleted file mode 100644 index 70168001291..00000000000 --- a/pkgs/development/libraries/indilib/udev-dir.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- indi-1.8.6/CMakeLists.txt 2020-08-21 05:56:59.000000000 -0500 -+++ CMakeLists.txt 2020-11-01 12:50:57.621293870 -0600 -@@ -77,7 +77,7 @@ - ## the following are directories where stuff will be installed to - set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/") - set(PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_LIBDIR}/pkgconfig/") --set(UDEVRULES_INSTALL_DIR "/lib/udev/rules.d" CACHE STRING "Base directory for udev rules") -+set(UDEVRULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d" CACHE STRING "Base directory for udev rules") - - set(PKG_CONFIG_LIBDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6480a6525f5..c38af6eced2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14558,6 +14558,8 @@ in indicator-application-gtk3 = callPackage ../development/libraries/indicator-application/gtk3.nix { }; indilib = callPackage ../development/libraries/indilib { }; + indi-3rdparty = callPackage ../development/libraries/indilib/indi-3rdparty.nix { }; + indi-full = callPackage ../development/libraries/indilib/indi-full.nix { }; inih = callPackage ../development/libraries/inih { };