treewide: move astro libraries into pkgs/development/libraries/science/astronomy

This commit is contained in:
Hunter Jones
2021-03-30 15:53:26 -05:00
parent 7248f89da2
commit 0eb5186106
10 changed files with 7 additions and 7 deletions

View File

@@ -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"
;;

View File

@@ -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;
};
}

View File

@@ -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" ];
};
}

View File

@@ -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" ];
};
}

View File

@@ -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
];
}

View File

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

View File

@@ -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;
};
}

View File

@@ -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" ];
};
}

View File

@@ -0,0 +1,33 @@
{ fetchurl, lib, stdenv, flex }:
stdenv.mkDerivation rec {
version = "7.3.1";
pname = "wcslib";
buildInputs = [ flex ];
src = fetchurl {
url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${pname}-${version}.tar.bz2";
sha256 ="0p0bp3jll9v2094a8908vk82m7j7qkjqzkngm1r9qj1v6l6j5z6c";
};
prePatch = ''
substituteInPlace GNUmakefile --replace 2775 0775
substituteInPlace C/GNUmakefile --replace 2775 0775
'';
enableParallelBuilding = true;
meta = {
description = "World Coordinate System Library for Astronomy";
homepage = "https://www.atnf.csiro.au/people/mcalabre/WCS/";
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.'';
license = lib.licenses.lgpl3Plus;
platforms = lib.platforms.unix;
};
}