diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/science/astronomy/gildas')
4 files changed, 122 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/science/astronomy/gildas/aarch64.patch b/nixpkgs/pkgs/applications/science/astronomy/gildas/aarch64.patch new file mode 100644 index 000000000000..40696a03dec7 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/astronomy/gildas/aarch64.patch @@ -0,0 +1,12 @@ +diff -ruN gildas-src-jul18a/admin/define-system.sh gildas-src-jul18a.aarch64/admin/define-system.sh +--- gildas-src-jul18a/admin/define-system.sh 2018-06-12 15:22:32.000000000 +0200 ++++ gildas-src-jul18a.aarch64/admin/define-system.sh 2018-07-21 13:05:52.000000000 +0200 +@@ -174,7 +174,7 @@ + DEFAULT_CONFIG= # Default config is empty + case `uname` in + Linux) +- if [ `uname -m | grep -c "x86_64"` -ne 0 ]; then ++ if [ `uname -m | grep -c "64"` -ne 0 ]; then + GAG_MACHINE=x86_64 + else + GAG_MACHINE=pc diff --git a/nixpkgs/pkgs/applications/science/astronomy/gildas/clang.patch b/nixpkgs/pkgs/applications/science/astronomy/gildas/clang.patch new file mode 100644 index 000000000000..4d6654a99aee --- /dev/null +++ b/nixpkgs/pkgs/applications/science/astronomy/gildas/clang.patch @@ -0,0 +1,22 @@ +diff -ruN gildas-src-jun18a/admin/define-system.sh gildas-src-jun18a.clang/admin/define-system.sh +--- gildas-src-jun18a/admin/define-system.sh 2018-03-12 11:07:57.000000000 +0100 ++++ gildas-src-jun18a.clang/admin/define-system.sh 2018-06-12 14:56:14.000000000 +0200 +@@ -218,13 +218,13 @@ + else + GAG_MACHINE=pc + fi +- if which gcc > /dev/null 2>&1; then +- DEFAULT_CCOMPILER=gcc ++ if which clang > /dev/null 2>&1; then ++ DEFAULT_CCOMPILER=clang + fi +- if which g++ > /dev/null 2>&1; then +- DEFAULT_CXXCOMPILER=g++ +- elif which clang++ > /dev/null 2>&1; then ++ if which clang++ > /dev/null 2>&1; then + DEFAULT_CXXCOMPILER=clang++ ++ elif which g++ > /dev/null 2>&1; then ++ DEFAULT_CXXCOMPILER=g++ + fi + if which ifort > /dev/null 2>&1; then + DEFAULT_FCOMPILER=ifort diff --git a/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix b/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix new file mode 100644 index 000000000000..57cecb3cb4cd --- /dev/null +++ b/nixpkgs/pkgs/applications/science/astronomy/gildas/default.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchurl, gtk2-x11 , pkgconfig , python27 , gfortran , lesstif +, cfitsio , getopt , perl , groff , which +}: + +let + python27Env = python27.withPackages(ps: with ps; [ numpy ]); +in + +stdenv.mkDerivation rec { + srcVersion = "feb19b"; + version = "20190201_b"; + name = "gildas-${version}"; + + src = fetchurl { + # For each new release, the upstream developers of Gildas move the + # source code of the previous release to a different directory + urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.gz" + "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.gz" ]; + sha256 = "5b6da12ac869176d7a9a3d6a6620db1dbaa44a4785e2dd59dd1a8c38ea9cab87"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig groff perl getopt gfortran which ]; + + buildInputs = [ gtk2-x11 lesstif cfitsio python27Env ]; + + patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ]; + + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument"; + + configurePhase='' + substituteInPlace admin/wrapper.sh --replace '%%OUT%%' $out + substituteInPlace admin/wrapper.sh --replace '%%PYTHONHOME%%' ${python27Env} + substituteInPlace utilities/main/gag-makedepend.pl --replace '/usr/bin/perl' ${perl}/bin/perl + source admin/gildas-env.sh -c gfortran -o openmp + echo "gag_doc: $out/share/doc/" >> kernel/etc/gag.dico.lcl + ''; + + postInstall='' + mkdir -p $out/bin + cp -a ../gildas-exe-${srcVersion}/* $out + mv $out/$GAG_EXEC_SYSTEM $out/libexec + cp admin/wrapper.sh $out/bin/gildas-wrapper.sh + chmod 755 $out/bin/gildas-wrapper.sh + for i in $out/libexec/bin/* ; do + ln -s $out/bin/gildas-wrapper.sh $out/bin/$(basename "$i") + done + ''; + + meta = { + description = "Radioastronomy data analysis software"; + longDescription = '' + GILDAS is a collection of state-of-the-art software + oriented toward (sub-)millimeter radioastronomical + applications (either single-dish or interferometer). + It is daily used to reduce all data acquired with the + IRAM 30M telescope and Plateau de Bure Interferometer + PDBI (except VLBI observations). GILDAS is easily + extensible. GILDAS is written in Fortran-90, with a + few parts in C/C++ (mainly keyboard interaction, + plotting, widgets).''; + homepage = http://www.iram.fr/IRAMFR/GILDAS/gildas.html; + license = stdenv.lib.licenses.free; + maintainers = [ stdenv.lib.maintainers.bzizou stdenv.lib.maintainers.smaret ]; + platforms = stdenv.lib.platforms.all; + }; + +} diff --git a/nixpkgs/pkgs/applications/science/astronomy/gildas/wrapper.patch b/nixpkgs/pkgs/applications/science/astronomy/gildas/wrapper.patch new file mode 100644 index 000000000000..2e470a1e9cdc --- /dev/null +++ b/nixpkgs/pkgs/applications/science/astronomy/gildas/wrapper.patch @@ -0,0 +1,19 @@ +diff --new-file -r -u gildas-src-feb17d.orig/admin/wrapper.sh gildas-src-feb17d/admin/wrapper.sh +--- gildas-src-feb17d.orig/admin/wrapper.sh 1970-01-01 01:00:00.000000000 +0100 ++++ gildas-src-feb17d/admin/wrapper.sh 2017-05-18 21:00:01.660778782 +0200 +@@ -0,0 +1,15 @@ ++#!/bin/sh -e ++ ++export GAG_ROOT_DIR="%%OUT%%" ++export GAG_PATH="${GAG_ROOT_DIR}/etc" ++export GAG_EXEC_SYSTEM="libexec" ++export PYTHONHOME="%%PYTHONHOME%%" ++if [ -z "\$PYTHONPATH" ]; then ++ PYTHONPATH="${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/python" ++else ++ PYTHONPATH="${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/python:${PYTHONPATH}" ++fi ++export PYTHONPATH ++export LD_LIBRARY_PATH=${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/lib/ ++me=`basename $0` ++exec ${GAG_ROOT_DIR}/${GAG_EXEC_SYSTEM}/bin/${me} ${*} |