indlib: 1.8.9 -> 1.9.0

This commit is contained in:
Hunter Jones 2021-04-23 15:53:58 -05:00
parent 8d0340aee5
commit 14db724f1f
6 changed files with 130 additions and 32 deletions

View file

@ -15,13 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "indilib"; pname = "indilib";
version = "1.8.9"; version = "1.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "indilib"; owner = "indilib";
repo = "indi"; repo = "indi";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-W6LfrKL56K1B6srEfbNcq1MZwg7Oj8qoJkQ83ZhYhFs="; sha256 = "sha256-YdVBzhz+Gim27/Js5MhEJNukoXp5eK9/dZ+JQVyls0M=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,6 +1,5 @@
{ stdenv { stdenv
, lib , lib
, fetchFromGitHub
, cmake , cmake
, cfitsio , cfitsio
, libusb1 , libusb1
@ -18,39 +17,54 @@
, libdc1394 , libdc1394
, gpsd , gpsd
, ffmpeg , ffmpeg
, version
, src
, withFirmware ? false
, firmware ? null
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "indi-3rdparty"; pname = "indi-3rdparty";
version = "1.8.9";
src = fetchFromGitHub { inherit version src;
owner = "indilib";
repo = pname;
rev = "v${version}";
sha256 = "0klvknhp7l6y2ab4vyv4jq7znk1gjl5b3709kyplm7dsh4b8bppy";
};
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 ]; nativeBuildInputs = [ cmake ];
buildInputs = [ buildInputs = [
indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd
libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw
] ++ lib.optionals withFirmware [
firmware
];
postPatch = ''
for f in indi-qsi/CMakeLists.txt \
indi-dsi/CMakeLists.txt \
indi-armadillo-platypus/CMakeLists.txt
do
substituteInPlace $f \
--replace "/lib/udev/rules.d" "lib/udev/rules.d" \
--replace "/etc/udev/rules.d" "lib/udev/rules.d" \
--replace "/lib/firmware" "lib/firmware"
done
'';
cmakeFlags = [
"-DINDI_DATA_DIR=share/indi"
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d"
"-DRULES_INSTALL_DIR=lib/udev/rules.d"
# Pentax, Atik, and SX cmakelists are currently broken
"-DWITH_PENTAX=off"
"-DWITH_ATIK=off"
"-DWITH_SX=off"
] ++ lib.optionals (!withFirmware) [
"-DWITH_APOGEE=off"
"-DWITH_DSI=off"
"-DWITH_QHY=off"
"-DWITH_ARMADILLO=off"
"-DWITH_FISHCAMP=off"
"-DWITH_SBIG=off"
]; ];
meta = with lib; { meta = with lib; {

View file

@ -0,0 +1,66 @@
{ stdenv
, lib
, cmake
, cfitsio
, libusb1
, zlib
, boost
, libnova
, curl
, libjpeg
, gsl
, fftw
, indilib
, libgphoto2
, libraw
, libftdi1
, libdc1394
, gpsd
, ffmpeg
, version
, src
}:
stdenv.mkDerivation rec {
pname = "indi-firmware";
inherit version src;
nativeBuildInputs = [ cmake ];
buildInputs = [
indilib libnova curl cfitsio libusb1 zlib boost gsl gpsd
libjpeg libgphoto2 libraw libftdi1 libdc1394 ffmpeg fftw
];
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"
"-DFIRMWARE_INSTALL_DIR=\${CMAKE_INSTALL_PREFIX}/lib/firmware"
"-DCONF_DIR=etc"
"-DBUILD_LIBS=1"
"-DWITH_PENTAX=off"
];
postPatch = ''
for f in libfishcamp/CMakeLists.txt libsbig/CMakeLists.txt
do
substituteInPlace $f --replace "/lib/firmware" "lib/firmware"
done
'';
postFixup = ''
rm $out/lib/udev/rules.d/99-fli.rules
'';
meta = with lib; {
homepage = "https://www.indilib.org/";
description = "Third party firmware for the INDI astronomical software suite";
changelog = "https://github.com/indilib/indi-3rdparty/releases/tag/v${version}";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = platforms.linux;
};
}

View file

@ -1,11 +1,30 @@
{ callPackage, indilib, indi-3rdparty }: { stdenv, lib, callPackage, fetchFromGitHub, indilib }:
let let
indi-with-drivers = ./indi-with-drivers.nix; indi-version = "1.9.0";
indi-3rdparty-src = fetchFromGitHub {
owner = "indilib";
repo = "indi-3rdparty";
rev = "v${indi-version}";
sha256 = "sha256-5VR1MN52a0ZtaHYw4lD6LWmnvc1oHlfE5GLGbfBKvqE=";
};
indi-firmware = callPackage ./indi-firmware.nix {
version = indi-version;
src = indi-3rdparty-src;
};
indi-3rdparty = callPackage ./indi-3rdparty.nix {
version = indi-version;
src = indi-3rdparty-src;
withFirmware = stdenv.isx86_64;
firmware = indi-firmware;
};
in in
callPackage indi-with-drivers { callPackage ./indi-with-drivers.nix {
pkgName = "indi-full"; pname = "indi-full";
version = indi-version;
extraDrivers = [ extraDrivers = [
indi-3rdparty indi-3rdparty
] ++ lib.optionals stdenv.isx86_64 [
indi-firmware
]; ];
} }

View file

@ -1,7 +1,7 @@
{ buildEnv, indilib ? indilib, extraDrivers ? null , pkgName ? "indi-with-drivers" }: { buildEnv, indilib ? indilib, pname ? "indi-with-drivers", version ? null, extraDrivers ? null }:
buildEnv { buildEnv {
name = pkgName; name = "${pname}-${version}";
paths = [ paths = [
indilib indilib
] ]

View file

@ -15052,7 +15052,6 @@ in
indicator-application-gtk3 = callPackage ../development/libraries/indicator-application/gtk3.nix { }; indicator-application-gtk3 = callPackage ../development/libraries/indicator-application/gtk3.nix { };
indilib = callPackage ../development/libraries/science/astronomy/indilib { }; indilib = callPackage ../development/libraries/science/astronomy/indilib { };
indi-3rdparty = callPackage ../development/libraries/science/astronomy/indilib/indi-3rdparty.nix { };
indi-full = callPackage ../development/libraries/science/astronomy/indilib/indi-full.nix { }; indi-full = callPackage ../development/libraries/science/astronomy/indilib/indi-full.nix { };
inih = callPackage ../development/libraries/inih { }; inih = callPackage ../development/libraries/inih { };