{ 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 stdenv.lib.maintainers; [ veprbl ]; license = stdenv.lib.licenses.gpl2; }; }