summary refs log tree commit diff
path: root/pkgs/applications/science/programming/fdr
diff options
context:
space:
mode:
authorNick Hu <me@nickhu.co.uk>2017-02-13 23:39:29 +0000
committerNick Hu <me@nickhu.co.uk>2017-02-24 11:00:02 +0000
commitcbe765043f2c4a6042b0bb6b42022a16c06a8bf2 (patch)
tree2051b5d1ac93c1d4cea9d4a0d0e262011591ec68 /pkgs/applications/science/programming/fdr
parent982520d771c398129ef74b542105693f0234d2c9 (diff)
downloadnixlib-cbe765043f2c4a6042b0bb6b42022a16c06a8bf2.tar
nixlib-cbe765043f2c4a6042b0bb6b42022a16c06a8bf2.tar.gz
nixlib-cbe765043f2c4a6042b0bb6b42022a16c06a8bf2.tar.bz2
nixlib-cbe765043f2c4a6042b0bb6b42022a16c06a8bf2.tar.lz
nixlib-cbe765043f2c4a6042b0bb6b42022a16c06a8bf2.tar.xz
nixlib-cbe765043f2c4a6042b0bb6b42022a16c06a8bf2.tar.zst
nixlib-cbe765043f2c4a6042b0bb6b42022a16c06a8bf2.zip
fdr: init at 4.2.0
Diffstat (limited to 'pkgs/applications/science/programming/fdr')
-rw-r--r--pkgs/applications/science/programming/fdr/default.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/pkgs/applications/science/programming/fdr/default.nix b/pkgs/applications/science/programming/fdr/default.nix
new file mode 100644
index 000000000000..a82027a628f3
--- /dev/null
+++ b/pkgs/applications/science/programming/fdr/default.nix
@@ -0,0 +1,69 @@
+{stdenv, fetchurl, qtbase, qtx11extras, ncurses, xorg, zlib, python27Packages}:
+stdenv.mkDerivation {
+  name = "fdr-4.2.0";
+  src = fetchurl {
+    url = https://www.cs.ox.ac.uk/projects/fdr/downloads/fdr-3754-linux-x86_64.tar.gz;
+    sha256 = "d24492485db9b8b95c62c53a6396094f836ee079cfc743688a397503c3ec9bf8";
+  };
+
+  libPath = stdenv.lib.makeLibraryPath [
+    stdenv.cc.cc
+    python27Packages.python
+    qtbase
+    qtx11extras
+    ncurses
+    xorg.libX11
+    xorg.libXft
+    zlib
+  ];
+
+  phases = [ "unpackPhase" "installPhase" ];
+  installPhase = ''
+    mkdir -p "$out"
+
+    # shipped Qt is buggy
+    rm lib/libQt*
+    rm -r lib/qt_plugins
+
+    cp -r * "$out"
+    # Hack around lack of libtinfo in NixOS
+    ln -s ${ncurses.out}/lib/libncursesw.so.6 $out/lib/libtinfo.so.5
+    ln -s ${qtbase.out}/lib/qt5/plugins $out/lib/qt_plugins
+    ln -s ${zlib.out}/lib/libz.so.1 $out/lib/libz.so.1
+
+    for b in fdr4 _fdr4 refines _refines cspmprofiler cspmexplorerprof
+    do
+      patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+        --set-rpath "$libPath:$out/lib" \
+        "$out/bin/$b"
+    done
+
+    for l in corei7/librefines.so \
+      libcspm_process_compiler.so \
+      libcsp_operators.so \
+      _fdr.so \
+      libfdr.so \
+      libfdr_java.so \
+      libprocess_compiler.so \
+      librefines_gui.so \
+      librefines_licensing.so  \
+      libboost_date_time.so.1.60.0 \
+      libboost_filesystem.so.1.60.0 \
+      libboost_iostreams.so.1.60.0 \
+      libboost_program_options.so.1.60.0 \
+      libboost_serialization.so.1.60.0 \
+      libboost_system.so.1.60.0
+    do
+      patchelf --set-rpath "$libPath:$out/lib" \
+        "$out/lib/$l"
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.cs.ox.ac.uk/projects/fdr/;
+    description = "The CSP refinement checker";
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nickhu ];
+  };
+}