Merge pull request #118111 from hjones2199/astrolibs-consolidation

This commit is contained in:
Sandro
2021-03-31 21:25:45 +02:00
committed by GitHub
11 changed files with 41 additions and 40 deletions
@@ -0,0 +1,21 @@
diff -ruN cfitsio/configure cfitsio-rpath-universal/configure
--- cfitsio/configure 2018-05-09 21:16:00.000000000 +0200
+++ cfitsio-rpath-universal/configure 2018-05-31 12:02:25.000000000 +0200
@@ -4727,16 +4727,7 @@
SHLIB_SUFFIX=".dylib"
CFITSIO_SHLIB="lib\${PACKAGE}.\${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}\${SHLIB_SUFFIX}"
CFITSIO_SHLIB_SONAME="lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX}"
- case $host in
- *darwin[56789]*)
- SHLIB_LD="$CC -dynamiclib -install_name lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
- ;;
- *)
- # Build 'Universal' binaries (i386 & x86_64 architectures) and
- # use rpath token on Darwin 10.x or newer:
- SHLIB_LD="$CC -dynamiclib $C_UNIV_SWITCH -headerpad_max_install_names -install_name @rpath/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
- ;;
- esac
+ SHLIB_LD="$CC -dynamiclib -install_name ${out}/lib/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
lhea_shlib_cflags="-fPIC -fno-common"
;;
@@ -0,0 +1,40 @@
{ fetchurl, lib, stdenv, bzip2 }:
stdenv.mkDerivation rec {
pname = "cfitsio";
version = "3.49";
src = fetchurl {
url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-${version}.tar.gz";
sha256 = "1cyl1qksnkl3cq1fzl4dmjvkd6329b57y9iqyv44wjakbh6s4rav";
};
buildInputs = [ bzip2 ];
patches = [ ./darwin-rpath-universal.patch ];
configureFlags = [ "--with-bzip2=${bzip2.out}" ];
hardeningDisable = [ "format" ];
# Shared-only build
buildFlags = [ "shared" ];
postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
'';
meta = with lib; {
homepage = "https://heasarc.gsfc.nasa.gov/fitsio/";
description = "Library for reading and writing FITS data files";
longDescription =
'' CFITSIO is a library of C and Fortran subroutines for reading and
writing data files in FITS (Flexible Image Transport System) data
format. CFITSIO provides simple high-level routines for reading and
writing FITS files that insulate the programmer from the internal
complexities of the FITS format. CFITSIO also provides many
advanced features for manipulating and filtering the information in
FITS files.
'';
license = licenses.mit;
maintainers = [ maintainers.xbreak ];
platforms = with platforms; linux ++ darwin;
};
}
@@ -0,0 +1,56 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, cfitsio
, libusb1
, zlib
, boost
, libnova
, curl
, libjpeg
, gsl
, fftw
}:
stdenv.mkDerivation rec {
pname = "indilib";
version = "1.8.9";
src = fetchFromGitHub {
owner = "indilib";
repo = "indi";
rev = "v${version}";
sha256 = "sha256-W6LfrKL56K1B6srEfbNcq1MZwg7Oj8qoJkQ83ZhYhFs=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
curl
cfitsio
libusb1
zlib
boost
libnova
libjpeg
gsl
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";
changelog = "https://github.com/indilib/indi/releases/tag/v${version}";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = [ "x86_64-linux" ];
};
}
@@ -0,0 +1,64 @@
{ 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.9";
src = fetchFromGitHub {
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 ];
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";
changelog = "https://github.com/indilib/indi-3rdparty/releases/tag/v${version}";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = [ "x86_64-linux" ];
};
}
@@ -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
];
}
@@ -0,0 +1,10 @@
{ buildEnv, indilib ? indilib, extraDrivers ? null , pkgName ? "indi-with-drivers" }:
buildEnv {
name = pkgName;
paths = [
indilib
]
++ extraDrivers;
inherit (indilib) meta;
}
@@ -0,0 +1,25 @@
{ lib, stdenv, fetchgit, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "libnova";
version = "0.16";
# pull from git repo because upstream stopped tarball releases after v0.15
src = fetchgit {
url = "https://git.code.sf.net/p/libnova/${pname}";
rev = "v${version}";
sha256 = "0icwylwkixihzni0kgl0j8dx3qhqvym6zv2hkw2dy6v9zvysrb1b";
};
nativeBuildInputs = [
autoreconfHook
];
meta = with lib; {
description = "Celestial Mechanics, Astrometry and Astrodynamics Library";
homepage = "http://libnova.sf.net";
license = licenses.gpl2;
maintainers = with maintainers; [ hjones2199 ];
platforms = platforms.unix;
};
}
@@ -0,0 +1,30 @@
{ lib, mkDerivation, fetchFromGitHub, cmake,
qtbase, cfitsio, gsl, wcslib, withTester ? false }:
mkDerivation rec {
pname = "stellarsolver";
version = "1.5";
src = fetchFromGitHub {
owner = "rlancaste";
repo = pname;
rev = version;
sha256 = "12j20j9qbkkx55ix4nm1iw7wd36hamkpidbwhcnmj4yk5fqlyq4y";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ qtbase cfitsio gsl wcslib ];
cmakeFlags = [
"-DBUILD_TESTER=${if withTester then "on" else "off"}"
];
meta = with lib; {
homepage = "https://github.com/rlancaste/stellarsolver";
description = "Astrometric plate solving library";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ hjones2199 ];
platforms = [ "x86_64-linux" ];
};
}
@@ -0,0 +1,33 @@
{ lib, stdenv, fetchurl, flex }:
stdenv.mkDerivation rec {
pname = "wcslib";
version = "7.5";
src = fetchurl {
url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${pname}-${version}.tar.bz2";
sha256 = "1536gmcpm6pckn9xrb6j8s4pm1vryjhzvhfaj9wx3jwxcpbdy0dw";
};
buildInputs = [ flex ];
prePatch = ''
substituteInPlace GNUmakefile --replace 2775 0775
substituteInPlace C/GNUmakefile --replace 2775 0775
'';
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://www.atnf.csiro.au/people/mcalabre/WCS/";
description = "World Coordinate System library for astronomy";
longDescription = ''
Library for world coordinate systems for spherical geometries
and their conversion to image coordinate systems. This is the
standard library for this purpose in astronomy.
'';
maintainers = with maintainers; [ hjones2199 ];
license = licenses.lgpl3Plus;
platforms = platforms.unix;
};
}