diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/physics/cernlib/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/physics/cernlib/default.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/physics/cernlib/default.nix b/nixpkgs/pkgs/development/libraries/physics/cernlib/default.nix new file mode 100644 index 000000000000..84657d726797 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/physics/cernlib/default.nix @@ -0,0 +1,69 @@ +{ lib, stdenv, fetchurl, gfortran, gnumake, imake, makedepend, motif, xorg }: + +stdenv.mkDerivation rec { + version = "2006"; + pname = "cernlib"; + + src = fetchurl { + urls = [ + "https://ftp.riken.jp/cernlib/download/${version}_source/tar/${version}_src.tar.gz" + "https://cernlib.web.cern.ch/cernlib/download/${version}_source/tar/${version}_src.tar.gz" + ]; + sha256 = "0awla1rl96z82br7slcmg8ks1d2a7slk6dj79ywb871j2ksi3fky"; + }; + + buildInputs = with xorg; [ gfortran motif libX11 libXft libXt ]; + nativeBuildInputs = [ gnumake imake makedepend ]; + sourceRoot = "."; + + patches = [ ./patch.patch ./0001-Use-strerror-rather-than-sys_errlist-to-fix-compilat.patch ]; + + postPatch = '' + substituteInPlace 2006/src/config/site.def \ + --replace "# define MakeCmd gmake" "# define MakeCmd make" + substituteInPlace 2006/src/config/lnxLib.rules \ + --replace "# lib" "// lib" + ''; + + configurePhase = '' + export CERN=`pwd` + export CERN_LEVEL=${version} + export CERN_ROOT=$CERN/$CERN_LEVEL + export CVSCOSRC=`pwd`/$CERN_LEVEL/src + export PATH=$PATH:$CERN_ROOT/bin + ''; + + buildPhase = '' + cd $CERN_ROOT + mkdir -p build bin lib + + cd $CERN_ROOT/build + $CVSCOSRC/config/imake_boot + make bin/kuipc + make scripts/Makefile + pushd scripts + make install.bin + popd + make + ''; + + installPhase = '' + mkdir "$out" + cp -r "$CERN_ROOT/bin" "$out" + cp -r "$CERN_ROOT/lib" "$out" + mkdir "$out/$CERN_LEVEL" + ln -s "$out/bin" "$out/$CERN_LEVEL/bin" + ln -s "$out/lib" "$out/$CERN_LEVEL/lib" + ''; + + setupHook = ./setup-hook.sh; + + meta = { + homepage = "http://cernlib.web.cern.ch"; + description = "Legacy collection of libraries and modules for data analysis in high energy physics"; + broken = stdenv.isDarwin; + platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; + maintainers = with lib.maintainers; [ veprbl ]; + license = lib.licenses.gpl2; + }; +} |