summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix8
-rw-r--r--pkgs/applications/science/biology/freebayes/builder.sh11
-rw-r--r--pkgs/applications/science/biology/freebayes/default.nix27
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/8.4.nix (renamed from pkgs/applications/science/logic/coq/default.nix)0
-rw-r--r--pkgs/applications/science/logic/coq/8.6.nix88
-rw-r--r--pkgs/applications/science/logic/coq/HEAD.nix12
-rw-r--r--pkgs/applications/science/logic/hol_light/Makefile.patch4
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix2
-rw-r--r--pkgs/applications/science/logic/lean/default.nix16
-rw-r--r--pkgs/applications/science/logic/lean2/default.nix34
-rw-r--r--pkgs/applications/science/logic/minisat/darwin.patch26
-rw-r--r--pkgs/applications/science/logic/minisat/default.nix4
-rw-r--r--pkgs/applications/science/math/pari/default.nix42
-rw-r--r--pkgs/applications/science/math/pari/gp2c.nix28
-rw-r--r--pkgs/applications/science/robotics/yarp/default.nix6
16 files changed, 275 insertions, 37 deletions
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 6f7d1b7b764f..49c774f7039a 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, perl, libiconv
 , qtscript, qtserialport, qttools, makeQtWrapper
+, qtmultimedia
 }:
 
 stdenv.mkDerivation rec {
-  name = "stellarium-0.14.3";
+  name = "stellarium-${version}";
+  version = "0.15.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/stellarium/${name}.tar.gz";
-    sha256 = "1919wzlvhfxdxficbwhp31xlhm0571grgcmsfdp5y36z9yqwahfy";
+    sha256 = "0il751lgnfkx35h1m8fzwwnrygpxjx2a80gng1i1rbybkykf7l3l";
   };
 
   nativeBuildInputs = [ makeQtWrapper ];
 
   buildInputs = [
     cmake freetype libpng mesa gettext openssl perl libiconv qtscript
-    qtserialport qttools
+    qtserialport qttools qtmultimedia
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/biology/freebayes/builder.sh b/pkgs/applications/science/biology/freebayes/builder.sh
new file mode 100644
index 000000000000..a9f56e77d7e3
--- /dev/null
+++ b/pkgs/applications/science/biology/freebayes/builder.sh
@@ -0,0 +1,11 @@
+source $stdenv/setup
+
+unpackPhase
+
+cd freebayes-*
+
+make
+
+mkdir -p $out/bin
+cp bin/freebayes bin/bamleftalign $out/bin
+cp scripts/* $out/bin
diff --git a/pkgs/applications/science/biology/freebayes/default.nix b/pkgs/applications/science/biology/freebayes/default.nix
new file mode 100644
index 000000000000..ef0da619b25a
--- /dev/null
+++ b/pkgs/applications/science/biology/freebayes/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, gcc, zlib}:
+
+stdenv.mkDerivation rec {
+  name    = "freebayes-${version}";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    name = "freebayes-${version}-src";
+    owner  = "ekg";
+    repo   = "freebayes";
+    rev    = "refs/tags/v${version}";
+    sha256 = "0xb8aicb36w9mfs1gq1x7mcp3p82kl7i61d162hfncqzg2npg8rr";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [ cmake gcc zlib ];
+
+  builder = ./builder.sh;
+
+  meta = with stdenv.lib; {
+    description = "Bayesian haplotype-based polymorphism discovery and genotyping";
+    license     = licenses.mit;
+    homepage    = https://github.com/ekg/freebayes;
+    maintainers = with maintainers; [ jdagilliland ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 3d0f7154e0e0..3acf7d965279 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "igv-${version}";
-  version = "2.3.77";
+  version = "2.3.89";
 
   src = fetchurl {
     url = "http://data.broadinstitute.org/igv/projects/downloads/IGV_${version}.zip";
-    sha256 = "9d8c622649f9f02026e92fa44006bb57e897baad4359c8708ca9cdbb71f94bb5";
+    sha256 = "06bmj9jsnk5010ipv0w4qlcvgw67dy8hsvgcx9l74v3s0zp5di3y";
   };
 
   buildInputs = [ unzip jre ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/8.4.nix
index f162fe4a86ea..f162fe4a86ea 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/8.4.nix
diff --git a/pkgs/applications/science/logic/coq/8.6.nix b/pkgs/applications/science/logic/coq/8.6.nix
new file mode 100644
index 000000000000..9d3aa756aa58
--- /dev/null
+++ b/pkgs/applications/science/logic/coq/8.6.nix
@@ -0,0 +1,88 @@
+# - coqide compilation can be disabled by setting lablgtk to null;
+# - The csdp program used for the Micromega tactic is statically referenced.
+#   However, coq can build without csdp by setting it to null.
+#   In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found.
+# - The patch-level version can be specified through the `pl` argument to
+#   the derivation; it defaults to the greatest.
+
+{ stdenv, fetchurl, writeText, pkgconfig
+, ocaml, findlib, camlp5, ncurses
+, lablgtk ? null, csdp ? null
+, pl ? "1"
+}:
+
+let
+  # version = "8.6pl${pl}";
+  version = "8.6";
+  sha256 = "1pw1xvy1657l1k69wrb911iqqflzhhp8wwsjvihbgc72r3skqg3f";
+  coq-version = "8.6";
+  buildIde = lablgtk != null;
+  ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
+  csdpPatch = if csdp != null then ''
+    substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
+    substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true"
+  '' else "";
+in
+
+stdenv.mkDerivation {
+  name = "coq-${version}";
+
+  inherit coq-version;
+  inherit ocaml camlp5;
+
+  src = fetchurl {
+    url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz";
+    inherit sha256;
+  };
+
+  buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
+
+  postPatch = ''
+    UNAME=$(type -tp uname)
+    RM=$(type -tp rm)
+    substituteInPlace configure --replace "/bin/uname" "$UNAME"
+    substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
+    substituteInPlace configure.ml --replace '"md5 -q"' '"md5sum"'
+    ${csdpPatch}
+  '';
+
+  setupHook = writeText "setupHook.sh" ''
+    addCoqPath () {
+      if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then
+        export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
+      fi
+    }
+
+    envHooks=(''${envHooks[@]} addCoqPath)
+  '';
+
+  preConfigure = ''
+    configureFlagsArray=(
+      -opt
+      ${ideFlags}
+    )
+  '';
+
+  prefixKey = "-prefix ";
+
+  buildFlags = "revision coq coqide bin/votour";
+
+  postInstall = ''
+    cp bin/votour $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Coq proof assistant";
+    longDescription = ''
+      Coq is a formal proof management system.  It provides a formal language
+      to write mathematical definitions, executable algorithms and theorems
+      together with an environment for semi-interactive development of
+      machine-checked proofs.
+    '';
+    homepage = "http://coq.inria.fr";
+    license = licenses.lgpl21;
+    branch = coq-version;
+    maintainers = with maintainers; [ roconnor thoughtpolice vbgl ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix
index 86935b178d99..f6837397e21a 100644
--- a/pkgs/applications/science/logic/coq/HEAD.nix
+++ b/pkgs/applications/science/logic/coq/HEAD.nix
@@ -6,8 +6,8 @@
 {stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}:
 
 let
-  version = "8.5pre-0c999f02";
-  coq-version = "8.5";
+  version = "8.6pre-0c999f02";
+  coq-version = "8.6";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
   csdpPatch = if csdp != null then ''
@@ -24,20 +24,18 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://scm.gforge.inria.fr/coq/coq.git;
-    rev = "0c999f02ffcd61fcace0cc2d045056a82992a100";
-    sha256 = "08z9z4bv4a8ha1jrn18vxad6d7y7h92ggr00rx8jfvvi290n9344";
+    rev = "ad768e435a736ca51ac79a575967b388b34918c7";
+    sha256 = "05s7sk1l3mvdjag3idnhkpj707y4bv56da7kpffw862f2qgfr77j";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
 
-  patches = [ ./no-codesign.patch ];
-
   postPatch = ''
     UNAME=$(type -tp uname)
     RM=$(type -tp rm)
     substituteInPlace configure --replace "/bin/uname" "$UNAME"
     substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
-    substituteInPlace Makefile.build --replace "ifeq (\$(ARCH),Darwin)" "ifeq (\$(ARCH),Darwinx)"
+    substituteInPlace configure.ml --replace "\"Darwin\"; \"FreeBSD\"; \"OpenBSD\"" "\"Darwinx\"; \"FreeBSD\"; \"OpenBSD\""
     ${csdpPatch}
   '';
 
diff --git a/pkgs/applications/science/logic/hol_light/Makefile.patch b/pkgs/applications/science/logic/hol_light/Makefile.patch
index b572001a75d6..5c1ec4f7aaf1 100644
--- a/pkgs/applications/science/logic/hol_light/Makefile.patch
+++ b/pkgs/applications/science/logic/hol_light/Makefile.patch
@@ -6,8 +6,8 @@ Index: Makefile
               then cp pa_j_3.1x_6.02.1.ml pa_j.ml; \
               else if test ${CAMLP5_VERSION} = "6.02.2" -o ${CAMLP5_VERSION} = "6.02.3" -o ${CAMLP5_VERSION} = "6.03" -o ${CAMLP5_VERSION} = "6.04" -o ${CAMLP5_VERSION} = "6.05" -o ${CAMLP5_VERSION} = "6.06" ; \
                    then cp pa_j_3.1x_6.02.2.ml pa_j.ml; \
--                  else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" ; \
-+                  else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" -o ${CAMLP5_VERSION} = "6.13" -o ${CAMLP5_VERSION} = "6.14" -o ${CAMLP5_VERSION} = "6.16" ; \
+-                  else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" -o ${CAMLP5_VERSION} = "6.13" -o ${CAMLP5_VERSION} = "6.14" -o ${CAMLP5_VERSION} = "6.15" -o ${CAMLP5_VERSION} = "6.16" ; \
++                  else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" -o ${CAMLP5_VERSION} = "6.13" -o ${CAMLP5_VERSION} = "6.14" -o ${CAMLP5_VERSION} = "6.15" -o ${CAMLP5_VERSION} = "6.16" -o ${CAMLP5_VERSION} = "6.17" ; \
                         then cp pa_j_3.1x_6.11.ml pa_j.ml; \
                         else cp pa_j_3.1x_${CAMLP5_BINARY_VERSION}.xx.ml pa_j.ml; \
                         fi \
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index bc391c47b8bc..fbd732595e6c 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ ocaml camlp5 ];
 
+  patches = [ ./Makefile.patch ];
+
   installPhase = ''
     mkdir -p "$out/lib/hol_light" "$out/bin"
     cp -a  . $out/lib/hol_light
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index e833b4afbbd2..d1f4bc0a4145 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -1,29 +1,23 @@
-{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, boost, python
-, gperftools, ninja, makeWrapper }:
+{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, gperftools }:
 
 stdenv.mkDerivation rec {
   name = "lean-${version}";
-  version = "2016-07-05";
+  version = "2016-12-08";
 
   src = fetchFromGitHub {
     owner  = "leanprover";
     repo   = "lean";
-    rev    = "cc70845332e63a1f1be21dc1f96d17269fc85909";
-    sha256 = "09qz2vjw7whiggvw0cdaa4i2f49wnch2sd4r43glq181ssln27d6";
+    rev    = "7b63d6566faaf1dc0f2c8e873c61f51dce9ab618";
+    sha256 = "0xxr7dnh7pmdbpxhl3cq9clwamxjk54zcxplsrz6xirk0qy7ga4l";
   };
 
-  buildInputs = [ gmp mpfr boost cmake python gperftools ninja makeWrapper ];
+  buildInputs = [ gmp mpfr cmake gperftools ];
   enableParallelBuilding = true;
 
   preConfigure = ''
-    patchShebangs bin/leantags
     cd src
   '';
 
-  postInstall = ''
-    wrapProgram $out/bin/linja --prefix PATH : $out/bin:${ninja}/bin
-  '';
-
   meta = with stdenv.lib; {
     description = "Automatic and interactive theorem prover";
     homepage    = "http://leanprover.github.io";
diff --git a/pkgs/applications/science/logic/lean2/default.nix b/pkgs/applications/science/logic/lean2/default.nix
new file mode 100644
index 000000000000..a938af72f587
--- /dev/null
+++ b/pkgs/applications/science/logic/lean2/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, boost, python
+, gperftools, ninja, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "lean2-${version}";
+  version = "2016-11-29";
+
+  src = fetchFromGitHub {
+    owner  = "leanprover";
+    repo   = "lean2";
+    rev    = "a086fb334838c427bbc8f984eb44a4cbbe013a6b";
+    sha256 = "0qlvhnb37amclgcyizl8bfab33b0a3jk54br9gsrik8cq76lkwwx";
+  };
+
+  buildInputs = [ gmp mpfr cmake python gperftools ninja makeWrapper ];
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+    patchShebangs bin/leantags
+    cd src
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/linja --prefix PATH : $out/bin:${ninja}/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Automatic and interactive theorem prover (version with HoTT support)";
+    homepage    = "http://leanprover.github.io";
+    license     = licenses.asl20;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice gebner ];
+  };
+}
diff --git a/pkgs/applications/science/logic/minisat/darwin.patch b/pkgs/applications/science/logic/minisat/darwin.patch
new file mode 100644
index 000000000000..f2b618d6bb3a
--- /dev/null
+++ b/pkgs/applications/science/logic/minisat/darwin.patch
@@ -0,0 +1,26 @@
+https://github.com/fasterthanlime/homebrew-mingw/blob/master/Library/Formula/minisat.rb
+
+diff --git a/utils/System.cc b/utils/System.cc
+index a7cf53f..feeaf3c 100644
+--- a/utils/System.cc
++++ b/utils/System.cc
+@@ -78,16 +78,17 @@ double Minisat::memUsed(void) {
+     struct rusage ru;
+     getrusage(RUSAGE_SELF, &ru);
+     return (double)ru.ru_maxrss / 1024; }
+-double MiniSat::memUsedPeak(void) { return memUsed(); }
++double Minisat::memUsedPeak(void) { return memUsed(); }
+ 
+ 
+ #elif defined(__APPLE__)
+ #include <malloc/malloc.h>
+ 
+-double Minisat::memUsed(void) {
++double Minisat::memUsed() {
+     malloc_statistics_t t;
+     malloc_zone_statistics(NULL, &t);
+     return (double)t.max_size_in_use / (1024*1024); }
++double Minisat::memUsedPeak() { return memUsed(); }
+ 
+ #else
+ double Minisat::memUsed() { 
diff --git a/pkgs/applications/science/logic/minisat/default.nix b/pkgs/applications/science/logic/minisat/default.nix
index 3ed055cc0936..d980afee7c4e 100644
--- a/pkgs/applications/science/logic/minisat/default.nix
+++ b/pkgs/applications/science/logic/minisat/default.nix
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "023qdnsb6i18yrrawlhckm47q8x0sl7chpvvw3gssfyw3j2pv5cj";
   };
 
-  patches = stdenv.lib.optionals stdenv.cc.isClang [ ./clang.diff ];
+  patches =
+    [ ./darwin.patch ]
+    ++ stdenv.lib.optionals stdenv.cc.isClang [ ./clang.diff ];
 
   buildInputs = [ zlib ];
 
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index 0cda65b32c30..64784facfb96 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -1,30 +1,56 @@
-{ stdenv, fetchurl, gmp, readline }:
+{ stdenv, fetchurl
+, gmp, readline, libX11, libpthreadstubs, tex, perl }:
 
 stdenv.mkDerivation rec {
-  version = "2.7.6";
+
   name = "pari-${version}";
+  version = "2.9.1";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    sha256 = "04dqi697czd8mmw8aiwzrkgbvkjassqagg6lfy3lkf1k5qi9g9rr";
+    sha256 = "0rq7wz9df1xs4acdzzb5dapx8vs6m5py39n2wynw2qv4d2b0ylfw";
   };
 
-  buildInputs = [gmp readline];
+  buildInputs = [ gmp readline libX11 libpthreadstubs tex perl ];
 
   configureScript = "./Configure";
   configureFlags =
+    "--mt=pthread" +
     "--with-gmp=${gmp.dev} " +
     "--with-readline=${readline.dev}";
 
+  makeFlags = "all";
+
   meta = with stdenv.lib; {
     description = "Computer algebra system for high-performance number theory computations";
+    longDescription = ''
+       PARI/GP is a widely used computer algebra system designed for fast
+       computations in number theory (factorizations, algebraic number theory,
+       elliptic curves...), but also contains a large number of other useful
+       functions to compute with mathematical entities such as matrices,
+       polynomials, power series, algebraic numbers etc., and a lot of
+       transcendental functions. PARI is also available as a C library to allow
+       for faster computations.
+
+       Originally developed by Henri Cohen and his co-workers (Université
+       Bordeaux I, France), PARI is now under the GPL and maintained by Karim
+       Belabas with the help of many volunteer contributors.
+
+       - PARI is a C library, allowing fast computations.  
+       - gp is an easy-to-use interactive shell giving access to the
+          PARI functions.
+       - GP is the name of gp's scripting language.
+       - gp2c, the GP-to-C compiler, combines the best of both worlds 
+          by compiling GP scripts to the C language and transparently loading 
+          the resulting functions into gp. (gp2c-compiled scripts will typically
+          run 3 or 4 times faster.) gp2c currently only understands a subset
+           of the GP language.
+    '';
     homepage    = "http://pari.math.u-bordeaux.fr/";
+    downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ ertes raskin ];
+    maintainers = with maintainers; [ ertes raskin AndersonTorres ];
     platforms   = platforms.linux;
-
-    inherit version;
-    downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
     updateWalker = true;
   };
 }
diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix
new file mode 100644
index 000000000000..007514e65528
--- /dev/null
+++ b/pkgs/applications/science/math/pari/gp2c.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl
+, pari, perl }:
+
+stdenv.mkDerivation rec {
+
+  name = "gp2c-${version}";
+  version = "0.0.10";
+
+  src = fetchurl {
+    url = "http://pari.math.u-bordeaux.fr/pub/pari/GP2C/${name}.tar.gz";
+    sha256 = "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70";
+  };
+
+  buildInputs = [ pari perl ];
+
+  configureFlags = [
+    "--with-paricfg=${pari}/lib/pari/pari.cfg"
+    "--with-perl=${perl}/bin/perl" ];
+
+  meta = with stdenv.lib; {
+    description =  "A compiler to translate GP scripts to PARI programs";
+    homepage    = "http://pari.math.u-bordeaux.fr/";
+    downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
+# TODO: add it as "source file" for default package
diff --git a/pkgs/applications/science/robotics/yarp/default.nix b/pkgs/applications/science/robotics/yarp/default.nix
index 5e4bda1aaa06..76b05c8a3a71 100644
--- a/pkgs/applications/science/robotics/yarp/default.nix
+++ b/pkgs/applications/science/robotics/yarp/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   name = "yarp-${version}";
-  version = "2.3.66";
+  version = "2.3.68";
   src = fetchFromGitHub {
     owner = "robotology";
     repo = "yarp";
-    rev = "v${version}.1";
-    sha256 = "0hznysxhk6pd92fymcrnbbl8ah7rcwhcvb6n92v09zjv6yl5xpiq";
+    rev = "v${version}";
+    sha256 = "1ksz2kv4v14fqgz3fsvvmdk2sikhnxr11jhhf7c2547x6jbzhda6";
   };
 
   buildInputs = [ cmake ace ];