Patch goals: 1) provide building under ALTLinux Master 2.4 (original specfile works under ALTLinux Sisyphus only) 2) provide modular building without unneeded languages Problems: 1) configure script requires complete patch declarations in '--with...' statements: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=851978&group_id=1645 http://lists.gnu.org/archive/html/bug-autoconf/2003-08/msg00037.html 2) configure script ignores --without-guile and --without-tcl args Questions: 1) Explicit python version 2.4 requirement in original specfile 2) How to declare macro for reducing following sample.. %if_with ABC BuildPreReq: ABC-devel [more deps..] %define ABC_conf --with-ABC=%_bindir/ABC [more args...] %else %define ABC_conf --without-ABC %endif to simple... %def_with_custom ABC ? 08 July 2005, evseev@altlinux.ru --- swig.spec.orig 2005-03-30 16:10:46 +0400 +++ swig.spec 2005-07-08 18:57:09 +0400 @@ -1,6 +1,6 @@ Name: swig Version: 1.3.24 -Release: alt2 +Release: alt2.1 Summary: Simplified Wrapper and Interface Generator (SWIG) License: Open Source @@ -14,10 +14,81 @@ Patch3: %name-1.3.22-no_ansi.patch Patch4: %name-1.3.24-deb.patch +%ifndef __python_version %define __python_version 2.4 +%endif +%def_with python +%if_with python BuildPreReq: python-devel = %__python_version -BuildRequires: XFree86-devel findlib gcc-c++ guile-devel jdkgcj libruby-devel ocaml perl-devel php-devel ruby tcl-devel +%define python_conf --with-python=%_bindir/python --with-pyinc=%_includedir/python%__python_version --with-pylib=%_libdir/python%__python_version +%else +%define python_conf --without-python +%endif + +%def_with guile +%if_with guile +BuildPreReq: guile-devel +%define guile_conf --with-guile=%_bindir/guile --with-guile-config=%_bindir/guile-config +%else +%define guile_conf --without-guile +%endif + +%def_with java +%define java_bindir %_libexecdir/jdkgcj/bin +%if_with java +BuildPreReq: jdkgcj +%define java_conf --with-java=%java_bindir/java --with-javac=%java_bindir/javac +%else +%define java_conf --without-java +%endif + +%def_with ruby +%if_with ruby +BuildPreReq: ruby libruby-devel +%define ruby_conf --with-ruby=%_bindir/ruby +%else +%define ruby_conf --without-ruby +%endif + +%def_with perl5 +%if_with perl5 +BuildPreReq: perl-devel +%define perl5_conf --with-perl5=%_bindir/perl +%else +%define perl5_conf --without-perl5 +%endif + +%def_with php4 +%if_with php4 +BuildPreReq: php-devel +%define php4_conf --with-php4=%_bindir/php +%else +%define php4_conf --without-php4 +%endif + +%def_with tcl +%if_with tcl +BuildPreReq: tcl-devel +%define tcl_conf --with-tcl=%_bindir/tclsh --with-tclconfig=/usr/lib +%else +%define tcl_conf --without-tcl +%endif + +%def_with ocaml +%if_with ocaml +BuildPreReq: ocaml +%define ocaml_conf --with-ocaml=%_bindir/ocaml +%else +%define ocaml_conf --without-ocaml +%endif + +%def_with x +%if_with x +BuildPreReq: XFree86-devel +%endif + +BuildPreReq: findlib gcc-c++ #BuildRequires: glibc-devel-static libstdc++-devel ruby-stdlibs Provides: %name-devel = %version @@ -115,11 +186,7 @@ %build ./autogen.sh -%configure \ - --with-pyinc=%_includedir/python%__python_version \ - --with-pylib=%_libdir/python%__python_version \ - --with-tclconfig=/usr/lib - # --with-tcl --with-python --with-perl5 --with-java --with-guile --with-ruby --with-php4 +%configure %tcl_conf %python_conf %perl5_conf %java_conf %guile_conf %ruby_conf %php4_conf %{subst_with x} %__subst -p 's,/usr/local/include/Py,%_includedir/python%__python_version,g' Runtime/Makefile # SMP incompatible @@ -181,31 +248,47 @@ %dir %docdir %docdir/[A-Z][a-z]* +%if_with guile %files runtime-guile %_libdir/libswigguile*.so* %doc CHANGES.current LICENSE +%endif +%if_with php4 %files runtime-php %_libdir/libswigphp*.so* %doc CHANGES.current LICENSE +%endif +%if_with perl5 %files runtime-perl %_libdir/libswigpl*.so* %doc CHANGES.current LICENSE +%endif +%if_with python %files runtime-python %_libdir/libswigpy*.so* %doc CHANGES.current LICENSE +%endif +%if_with ruby %files runtime-ruby %_libdir/libswigrb*.so* %doc CHANGES.current LICENSE +%endif +%if_with tcl %files runtime-tcl %_libdir/libswigtcl*.so* %doc CHANGES.current LICENSE +%endif %changelog +* Fri Jul 8 2005 Ilya Evseev 1.3.24-alt2.1 +- provide modular specfile for conditional building without unneeded languages +- conditional support of ALM24 via rpmbuild --define "__python_version 2.3.3" + * Wed Mar 30 2005 Gleb Stiblo 1.3.24-alt2 - gcc3.3 depends fixed