diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix index 33f00979c972..47c69d7451f7 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 054a73dec7a0..0e0ad06bbe9f 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 035356ac861a..4813e431a663 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 000000000000..02862820b3a3 --- /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 000000000000..e52da9f2eab1 --- /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 000000000000..b34abfd95c1f --- /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 701680012914..000000000000 --- 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 6480a6525f5b..c38af6eced2d 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 { };