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 ]; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c2ea40e02fa5..7cfda3d87bc2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2768,9 +2768,10 @@ let }; swig = import ../development/tools/misc/swig { - inherit fetchurl stdenv perl python; + inherit fetchurl stdenv boost perl python guile; perlSupport = true; pythonSupport = true; + guileSupport = true; javaSupport = false; }; @@ -2779,9 +2780,10 @@ let }; swigWithJava = lowPrio (appendToName "with-java" (import ../development/tools/misc/swig { - inherit fetchurl stdenv jdk; + inherit fetchurl stdenv boost jdk; perlSupport = false; pythonSupport = false; + guileSupport = false; javaSupport = true; }));