summary refs log tree commit diff
path: root/pkgs/development/tools/misc/swig
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-09-21 20:56:53 +0000
committerLudovic Courtès <ludo@gnu.org>2009-09-21 20:56:53 +0000
commit7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5 (patch)
treeae8c6d3fc720582b93a7cda3657ca38338e56b31 /pkgs/development/tools/misc/swig
parent0dd49cdce3c50cca3e98041d9b96df29fa6da1c8 (diff)
downloadnixlib-7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5.tar
nixlib-7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5.tar.gz
nixlib-7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5.tar.bz2
nixlib-7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5.tar.lz
nixlib-7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5.tar.xz
nixlib-7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5.tar.zst
nixlib-7b2932cd9be7f6ff4974ee0f9ee8544f6e1271d5.zip
SWIG 1.3.40, with Guile support.
svn path=/nixpkgs/trunk/; revision=17343
Diffstat (limited to 'pkgs/development/tools/misc/swig')
-rw-r--r--pkgs/development/tools/misc/swig/builder.sh3
-rw-r--r--pkgs/development/tools/misc/swig/default.nix55
2 files changed, 44 insertions, 14 deletions
diff --git a/pkgs/development/tools/misc/swig/builder.sh b/pkgs/development/tools/misc/swig/builder.sh
deleted file mode 100644
index 907b1656c683..000000000000
--- a/pkgs/development/tools/misc/swig/builder.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-buildInputs="$perl $python $jdk"
-source $stdenv/setup
-genericBuild
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index aa7dc4ed52bb..e53b02618555 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -1,22 +1,55 @@
-{ perlSupport, pythonSupport, javaSupport
-, stdenv, fetchurl, perl ? null, python ? null, jdk ? null}:
+{ perlSupport, pythonSupport, javaSupport, guileSupport
+, stdenv, fetchurl, boost, perl ? null, python ? null, jdk ? null
+, guile ? null }:
 
 assert perlSupport -> perl != null;
 assert pythonSupport -> python != null;
+assert guileSupport -> guile != null;
 assert javaSupport -> jdk != null;
 
-stdenv.mkDerivation {
-  name = "swig-1.3.39";
+stdenv.mkDerivation rec {
+  name = "swig-1.3.40";
 
-  builder = ./builder.sh;
   src = fetchurl {
-    url = mirror://sourceforge/swig/swig-1.3.39.tar.gz;
-    sha256 = "1p0i5c52y8d7wvn5h3qf62q5ic7kgbj2vc5dm8zy07ygff9msbdv";
+    url = "mirror://sourceforge/swig/${name}.tar.gz";
+    sha256 = "02dc8g8wy75nd2is1974rl24c6mdl0ai1vszs1xpg9nd7dlv6i8r";
   };
 
-  inherit perlSupport pythonSupport javaSupport;
+  buildInputs = [ boost ]  # Boost is used in the test suite
+    ++ stdenv.lib.optional perlSupport    perl
+    ++ stdenv.lib.optional pythonSupport  python
+    ++ stdenv.lib.optional guileSupport   guile
+    ++ stdenv.lib.optional javaSupport    jdk;
 
-  perl = if perlSupport then perl else null;
-  python = if pythonSupport then python else null;
-  jdk = if javaSupport then jdk else null;
+  /* The test suite fails this way:
+
+      building python_cpp
+      python: tpp.c:63: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed.
+      /bin/sh: line 1: 32101 Aborted                 env LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH PYTHONPATH=.:$PYTHONPATH python ./li_boost_shared_ptr_runme.py
+      make[1]: *** [li_boost_shared_ptr.cpptest] Error 134
+
+     This may be an uninitialized mutex or mutexattr or something.
+   */
+  doCheck = false;
+
+  meta = {
+    description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages";
+
+    longDescription = ''
+       SWIG is an interface compiler that connects programs written in C and
+       C++ with languages such as Perl, Python, Ruby, Scheme, and Tcl.  It
+       works by taking the declarations found in C/C++ header files and using
+       them to generate the wrapper code that scripting languages need to
+       access the underlying C/C++ code.  In addition, SWIG provides a variety
+       of customization features that let you tailor the wrapping process to
+       suit your application.
+    '';
+
+    homepage = http://swig.org/;
+
+    # Licensing is a mess: http://www.swig.org/Release/LICENSE .
+    license = "BSD-style";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
 }