2009-09-21 22:56:53 +02:00
|
|
|
{ perlSupport, pythonSupport, javaSupport, guileSupport
|
|
|
|
, stdenv, fetchurl, boost, perl ? null, python ? null, jdk ? null
|
|
|
|
, guile ? null }:
|
2003-12-21 21:52:13 +01:00
|
|
|
|
2004-03-29 12:25:25 +02:00
|
|
|
assert perlSupport -> perl != null;
|
|
|
|
assert pythonSupport -> python != null;
|
2009-09-21 22:56:53 +02:00
|
|
|
assert guileSupport -> guile != null;
|
2005-09-18 01:58:51 +02:00
|
|
|
assert javaSupport -> jdk != null;
|
2003-12-21 21:52:13 +01:00
|
|
|
|
2009-09-21 22:56:53 +02:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "swig-1.3.40";
|
2003-12-21 21:52:13 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2009-09-21 22:56:53 +02:00
|
|
|
url = "mirror://sourceforge/swig/${name}.tar.gz";
|
|
|
|
sha256 = "02dc8g8wy75nd2is1974rl24c6mdl0ai1vszs1xpg9nd7dlv6i8r";
|
2003-12-21 21:52:13 +01:00
|
|
|
};
|
|
|
|
|
2009-09-21 22:56:53 +02:00
|
|
|
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;
|
2003-12-21 21:52:13 +01:00
|
|
|
|
2009-09-21 22:56:53 +02:00
|
|
|
/* 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;
|
|
|
|
|
2009-09-22 05:51:04 +02:00
|
|
|
passthru = {
|
|
|
|
inherit perl python jdk guile;
|
2009-09-22 12:41:33 +02:00
|
|
|
inherit perlSupport pythonSupport guileSupport javaSupport;
|
2009-09-22 05:51:04 +02:00
|
|
|
};
|
|
|
|
|
2009-09-21 22:56:53 +02:00
|
|
|
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 ];
|
|
|
|
};
|
2007-05-14 03:05:53 +02:00
|
|
|
}
|