summary refs log tree commit diff
diff options
context:
space:
mode:
authorHunter Jones <hjones2199@gmail.com>2021-02-27 13:24:15 -0600
committerHunter Jones <hjones2199@gmail.com>2021-02-27 13:24:15 -0600
commitba8e2b7a2587baa58e86982e50d9f339ec2ed53e (patch)
treeee61731367cd77b74003d71ccd8a4a8661b5411d
parentd2b35b0fc6da5771ebf8c9b5ff6081c18e58de86 (diff)
downloadnixpkgs-ba8e2b7a2587baa58e86982e50d9f339ec2ed53e.tar
nixpkgs-ba8e2b7a2587baa58e86982e50d9f339ec2ed53e.tar.gz
nixpkgs-ba8e2b7a2587baa58e86982e50d9f339ec2ed53e.tar.bz2
nixpkgs-ba8e2b7a2587baa58e86982e50d9f339ec2ed53e.tar.lz
nixpkgs-ba8e2b7a2587baa58e86982e50d9f339ec2ed53e.tar.xz
nixpkgs-ba8e2b7a2587baa58e86982e50d9f339ec2ed53e.tar.zst
nixpkgs-ba8e2b7a2587baa58e86982e50d9f339ec2ed53e.zip
indilib: add third-party driver support
-rw-r--r--pkgs/development/libraries/indilib/default.nix12
-rw-r--r--pkgs/development/libraries/indilib/indi-3rdparty.nix63
-rw-r--r--pkgs/development/libraries/indilib/indi-full.nix11
-rw-r--r--pkgs/development/libraries/indilib/indi-with-drivers.nix9
-rw-r--r--pkgs/development/libraries/indilib/udev-dir.patch11
-rw-r--r--pkgs/top-level/all-packages.nix2
6 files changed, 92 insertions, 16 deletions
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 55e10c5334a..3a28a0f9e8e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14495,6 +14495,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 { };