From de4024721443f701dae649940cc294b317633e71 Mon Sep 17 00:00:00 2001 From: Markus Dittrich Date: Fri, 7 Nov 2008 15:17:39 +0000 Subject: Added patch for insecure tempfile handling (CVE-2008-4983) (see bug #245922). Package-Manager: portage-2.2_rc13/cvs/Linux 2.6.27-SENTINEL-2 i686 --- sci-mathematics/scilab/ChangeLog | 10 +- sci-mathematics/scilab/Manifest | 7 +- .../scilab/files/scilab-4.1.2-tmp-fix.patch | 133 ++++++++++++++++++ sci-mathematics/scilab/scilab-4.1.1.ebuild | 140 ------------------- sci-mathematics/scilab/scilab-4.1.2-r1.ebuild | 149 +++++++++++++++++++++ sci-mathematics/scilab/scilab-4.1.2.ebuild | 148 -------------------- 6 files changed, 294 insertions(+), 293 deletions(-) create mode 100644 sci-mathematics/scilab/files/scilab-4.1.2-tmp-fix.patch delete mode 100644 sci-mathematics/scilab/scilab-4.1.1.ebuild create mode 100644 sci-mathematics/scilab/scilab-4.1.2-r1.ebuild delete mode 100644 sci-mathematics/scilab/scilab-4.1.2.ebuild (limited to 'sci-mathematics/scilab') diff --git a/sci-mathematics/scilab/ChangeLog b/sci-mathematics/scilab/ChangeLog index 5257f5a399c1..2b1023a46619 100644 --- a/sci-mathematics/scilab/ChangeLog +++ b/sci-mathematics/scilab/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sci-mathematics/scilab # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/scilab/ChangeLog,v 1.43 2008/02/08 23:59:46 markusle Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/scilab/ChangeLog,v 1.44 2008/11/07 15:17:39 markusle Exp $ + +*scilab-4.1.2-r1 (07 Nov 2008) + + 07 Nov 2008; Markus Dittrich + +files/scilab-4.1.2-tmp-fix.patch, -scilab-4.1.1.ebuild, + -scilab-4.1.2.ebuild, +scilab-4.1.2-r1.ebuild: + Added patch for insecure tempfile handling (CVE-2008-4983) (see bug + #245922). 08 Feb 2008; Markus Dittrich +files/scilab-4.1.2-java-config.patch, scilab-4.1.2.ebuild: diff --git a/sci-mathematics/scilab/Manifest b/sci-mathematics/scilab/Manifest index 54def49ca2d1..58d88d49997d 100644 --- a/sci-mathematics/scilab/Manifest +++ b/sci-mathematics/scilab/Manifest @@ -7,12 +7,11 @@ AUX scilab-4.1-header-fix.patch 4145 RMD160 60225f4905f2be454bf2c1c72d4a5727e629 AUX scilab-4.1-java-pic.patch 1604 RMD160 cae9bd8923f69af53ef11de0301323d8964e135a SHA1 f50f90b0e66a8dbfa7abbfdb2b2d9882004ee32b SHA256 eab86feade8002a9edf2701b820847420b1ade7bcf96bb909e2a09b39850dd91 AUX scilab-4.1.2-header-fix.patch 4240 RMD160 33941b2da653b0b4579fc6e3e01a55f2b87248a4 SHA1 24a7946359679785634257ae9bfd8fe03b5c5eea SHA256 1f103b1e08068cd9c813dd5f0f067ab0430ff6a4e608603fd2bf1f07adc5556b AUX scilab-4.1.2-java-config.patch 446 RMD160 300d2ac4d0bf34e5842696644735af78c6b579d4 SHA1 61656b20211e3a345c2fe42e05471324355961ac SHA256 650cb6dcce4a7883318cd553140516ced6ab32dc325eb1c56a013df272e3fd0f +AUX scilab-4.1.2-tmp-fix.patch 6067 RMD160 63f217f41edb721d1717724931410c228ad92dd9 SHA1 9a4856ce02c47d4bbcbffeb449d0861bb13dedf2 SHA256 b25b46e0738b2f37d8333128dc32d2f40358e0a217615f65b5e5811c423e336f AUX scilab-ppc-gcc4.patch 1045 RMD160 db4219fc04b5555e702d823425735125f3000c00 SHA1 ba001966a62202f66188ba4be1abe483f56f8fbe SHA256 0844c4edad45ba23219b8d3405104a8bbb2b45e2b7b742f7aaeb10ce5e92388a DIST scilab-4.0-src.tar.gz 12523941 RMD160 13e8637b0793650b0dd2ae07ccaa6bbbff62375c SHA1 841dfe0837cd44a0608e70fe2c49023312481fd0 SHA256 e0f0e784909020c34c4512cf34f946373950cb5f8ee5499a16af73880189d41d -DIST scilab-4.1.1-src.tar.gz 13169479 RMD160 88183ee594c46ba305c402d4c9208a5003e2fea2 SHA1 c256b5c8fd4a7f282d39b2aaa46dc6cbe3357192 SHA256 846aad84544bcacfcc10bd1a5065afd430be74dac98f1d73c54e2bc54d070af4 DIST scilab-4.1.2-src.tar.gz 15892277 RMD160 f708b966143ccbf989f7a0dbed95e4dab324e66f SHA1 d3f3190bd11fe23eebec03fe9feaced0406ddfe3 SHA256 4c0318a316c62a1206e53b936bbb1262d940e390c1d14da77c231e49b134b3a9 EBUILD scilab-4.0.ebuild 3941 RMD160 9f705662d5d3bf92e2447a94cffb906030312653 SHA1 0f9f7d8ecb51cce7013645746c7600da72cd31a6 SHA256 2074dd1e6259a4a0d1b3f8e232cd43ae6dd5d03b8284a3ec3098ed82d51c8005 -EBUILD scilab-4.1.1.ebuild 4067 RMD160 722af7d046c034007ae76258f2136bf584a2bd8d SHA1 c9086137a019753ae4badbf6981f7ff458e8039b SHA256 ec8145c13275816a050fab900430b9d51312f8fac108ce794171c565ac3f4f26 -EBUILD scilab-4.1.2.ebuild 4308 RMD160 dc35f9358756d2a81ab665722087c3e6e0a5b88a SHA1 01a4fba77a958a7534041dfcc16c285252f9335e SHA256 290f26dcf7063c440b6654de4ab6f9247c71334fe620e416248d57845a163e4b -MISC ChangeLog 10746 RMD160 9d1e06680ecb23dc6129cb63b75f7f3d62fd3ffa SHA1 1617a448e042d417c1818fb41f09e5b4ca0a1cbc SHA256 3d46b8ee395cf7d452db176eacf10ac84d8828710628be46dddad98dc00b3130 +EBUILD scilab-4.1.2-r1.ebuild 4352 RMD160 d13b56f94eed1294dd159aa7927a156223c447ac SHA1 586ab4aac15fff024d2d315b9561f3200fba3c55 SHA256 a4c0bbe6a5b10575571b3b40791264ddb5cb194ae379507851837d821da61de0 +MISC ChangeLog 11022 RMD160 a7addb183d348ffc324a0158f971effc0117d060 SHA1 2e96b4e36c0d1a1e3083660e1e7ef10a40ad5829 SHA256 ddf95be74c36f2155d7978ef1297772f9233849d8c98793599a01a6a52c4e16d MISC metadata.xml 168 RMD160 d98790cf055dc0f820c63d65f485b9dcfa8950f4 SHA1 95c9e4f7368f82053d631bbcd469612c92ca13cb SHA256 c0cc8d6ab9385750af753ddc504299ed90a70b5c4c655f6c77d865917a8829c9 diff --git a/sci-mathematics/scilab/files/scilab-4.1.2-tmp-fix.patch b/sci-mathematics/scilab/files/scilab-4.1.2-tmp-fix.patch new file mode 100644 index 000000000000..f945fe12994c --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-4.1.2-tmp-fix.patch @@ -0,0 +1,133 @@ +diff -Naur scilab-4.1.2/bin/scilink scilab-4.1.2.new/bin/scilink +--- scilab-4.1.2/bin/scilink 2001-04-26 03:43:33.000000000 -0400 ++++ scilab-4.1.2.new/bin/scilink 2008-11-07 08:57:27.000000000 -0500 +@@ -15,30 +15,31 @@ + shift + LOCALPOS=`pwd` + cd $SCI +-make show | grep -v make > /tmp/SciLink$$1 +-sed -e "s+routines/default+\$SD+g" -e "s+libs+\$SL+g" -e "s+./pvm3+\$SPVM+g" /tmp/SciLink$$1 > /tmp/SciLink$$2 ++TMPWRKDIR=`mktemp -d sci.XXXXXXXXXX` ++make show | grep -v make > $TMPWRKDIR/SciLink$$1 ++sed -e "s+routines/default+\$SD+g" -e "s+libs+\$SL+g" -e "s+./pvm3+\$SPVM+g" $TMPWRKDIR/SciLink$$1 > $TMPWRKDIR/SciLink$$2 + for i in $* + do + x=`basename $i` +- sed "s+\$SD/$x++g" /tmp/SciLink$$2 > /tmp/SciLink$$3 +- rm -f /tmp/SciLink$$2 +- mv /tmp/SciLink$$3 /tmp/SciLink$$2 ++ sed "s+\$SD/$x++g" $TMPWRKDIR/SciLink$$2 > $TMPWRKDIR/SciLink$$3 ++ rm -f $TMPWRKDIR/SciLink$$2 ++ mv $TMPWRKDIR/SciLink$$3 $TMPWRKDIR/SciLink$$2 + done +-echo "#!/bin/sh" > /tmp/SciLink$$3 +-echo SCI=$SCI >> /tmp/SciLink$$3 +-echo "SD=\$SCI/routines/default" >> /tmp/SciLink$$3 +-echo "SPVM=\$SCI/pvm3" >> /tmp/SciLink$$3 +-echo "SL=\$SCI/libs" >> /tmp/SciLink$$3 +-echo "LOCAL=\"$*\"" >> /tmp/SciLink$$3 +-sed -e "s+\$SL+ \$LOCAL \$SL+" -e "s+show+scilex+g" /tmp/SciLink$$2 >> /tmp/SciLink$$3 ++echo "#!/bin/sh" > $TMPWRKDIR/SciLink$$3 ++echo SCI=$SCI >> $TMPWRKDIR/SciLink$$3 ++echo "SD=\$SCI/routines/default" >> $TMPWRKDIR/SciLink$$3 ++echo "SPVM=\$SCI/pvm3" >> $TMPWRKDIR/SciLink$$3 ++echo "SL=\$SCI/libs" >> $TMPWRKDIR/SciLink$$3 ++echo "LOCAL=\"$*\"" >> $TMPWRKDIR/SciLink$$3 ++sed -e "s+\$SL+ \$LOCAL \$SL+" -e "s+show+scilex+g" $TMPWRKDIR/SciLink$$2 >> $TMPWRKDIR/SciLink$$3 + cd $LOCALPOS +-mv /tmp/SciLink$$3 Script ++mv $TMPWRKDIR/SciLink$$3 Script + chmod +x Script + echo "Linking a new Scilab with " $* + ./Script + echo "I've created : scilex and scilab which uses that scilex" + sed -e "s+\$SCI/bin/scilex+`pwd`/scilex+g" $SCI/bin/scilab > scilab + chmod +x scilab +-#rm -f /tmp/SciLink* ++#rm -f $TMPWRKDIR/SciLink* + + +diff -Naur scilab-4.1.2/util/scidem scilab-4.1.2.new/util/scidem +--- scilab-4.1.2/util/scidem 2002-09-02 07:14:52.000000000 -0400 ++++ scilab-4.1.2.new/util/scidem 2008-11-07 08:57:27.000000000 -0500 +@@ -6,33 +6,34 @@ + echo ------------------- File $2-------------------- + SCI1=$1 + if [ -f $3 ]; then rm $3;fi; +-trap "rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff\ ++TMPWRKDIR=`mktemp -d sci.XXXXXXXXXX` ++trap "rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff\ + ;exit 1" 1 2 13 15 + echo "clear;lines(0);deff('[]=bugmes()','write(%io(2),''error on test'')');\ +- diary('$3');driver('Pos');" >> /tmp/$2.$$ ; ++ diary('$3');driver('Pos');" >> $TMPWRKDIR/$2.$$ ; + sed -e "s/pause,end/bugmes();quit;end/" \ + -e "s/halt()//" \ +- $2 >> /tmp/$2.$$ ; +-echo "diary(0);xend();exit;" >> /tmp/$2.$$ ; +-($SCI1/bin/scilab -nwni < /tmp/$2.$$ > /tmp/$2.$$.res ) 2> /tmp/$2.$$.err ; ++ $2 >> $TMPWRKDIR/$2.$$ ; ++echo "diary(0);xend();exit;" >> $TMPWRKDIR/$2.$$ ; ++($SCI1/bin/scilab -nwni < $TMPWRKDIR/$2.$$ > $TMPWRKDIR/$2.$$.res ) 2> $TMPWRKDIR/$2.$$.err ; + sed -e "s/ \./0\./g" -e "s/E+/D+/g" -e "s/E-/D-/g" -e "s/-\./-0\./g" -e "s/^-->//g" -e "s/^-1->//g" $3 > $3.n + grep -v "xinit(" $3.n | grep -v "diary(" | grep -v "exec(" > $3 + rm -f $3.n +-if ( grep " error" /tmp/$2.$$.res > /dev/null ) ; then ++if ( grep " error" $TMPWRKDIR/$2.$$.res > /dev/null ) ; then + if [ $# != 4 ]; then + echo "Test failed ERROR DETECTED while executing $2" ; +- else if (grep "$4" /tmp/$2.$$.res > /dev/null ) ; ++ else if (grep "$4" $TMPWRKDIR/$2.$$.res > /dev/null ) ; + then echo Test skipped ; + else echo "Test failed ERROR DETECTED while executing $2" ; + fi; + fi; + else if [ -f $3.ref ];then +- if ( diff -w $3 $3.ref > /tmp/$2.$$.diff ) ; ++ if ( diff -w $3 $3.ref > $TMPWRKDIR/$2.$$.diff ) ; + then echo Test passed ; + else echo Test Failed SEE : diff -w $3 $3.ref ; + fi; + fi; + fi; + echo ---------------------------------------------------------- +-#rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff ++#rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff + exit 0 +diff -Naur scilab-4.1.2/util/scidoc scilab-4.1.2.new/util/scidoc +--- scilab-4.1.2/util/scidoc 2006-01-04 09:40:34.000000000 -0500 ++++ scilab-4.1.2.new/util/scidoc 2008-11-07 08:57:27.000000000 -0500 +@@ -7,24 +7,26 @@ + SCI=$1 + export SCI + if [ -f $3 ]; then rm $3;fi; +-trap "rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff\ ++TMPWRKDIR=`mktemp -d sci.XXXXXXXXXX` ++trap "rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff\ + ;exit 1" 1 2 13 15 + echo "clear;lines(0);deff('[]=bugmes()','write(%io(2),''error on test'')');\ +- diary('$3');driver('Pos');" >> /tmp/$2.$$ ; ++ diary('$3');driver('Pos');" >> $TMPWRKDIR/$2.$$ ; + sed -e "s/pause,end/bugmes();quit;end/" \ + -e "s/halt()//" \ +- $2 >> /tmp/$2.$$ ; +-echo "diary(0);xend();quit;quit;quit;quit;quit;quit;" >> /tmp/$2.$$ ; +-($SCI/bin/scilex -nw < /tmp/$2.$$ > /tmp/$2.$$.res ) 2> /tmp/$2.$$.err ; ++ $2 >> $TMPWRKDIR/$2.$$ ; ++echo "diary(0);xend();quit;quit;quit;quit;quit;quit;" >> $TMPWRKDIR/$2.$$ ; ++($SCI/bin/scilex -nw < $TMPWRKDIR/$2.$$ > $TMPWRKDIR/$2.$$.res ) 2> $TMPWRKDIR/$2.$$.err ; + sed -e "s/ \.[0-9]/0&/g" -e "s/0 \./0./g" -e "s/E+/D+/g" -e "s/E-/D-/g" -e "s/-\./-0\./g" $3 > $3.n + grep -v "xinit(" $3.n | grep -v "diary(" | grep -v "exec(" > $3 + rm -f $3.n +-if ( grep error /tmp/$2.$$.res > /dev/null ) ; then ++if ( grep error $TMPWRKDIR/$2.$$.res > /dev/null ) ; then + if [ $# != 4 ]; then + echo "ERROR DETECTED while executing $2" ; + fi; + fi; + echo ---------------------------------------------------------- +-rm -f /tmp/$2.$$ /tmp/$2.$$.res /tmp/$2.$$.err /tmp/$2.$$.diff ++rm -f $TMPWRKDIR/$2.$$ $TMPWRKDIR/$2.$$.res $TMPWRKDIR/$2.$$.err $TMPWRKDIR/$2.$$.diff ++rmdir $TMPWRKDIR + exit 0 + diff --git a/sci-mathematics/scilab/scilab-4.1.1.ebuild b/sci-mathematics/scilab/scilab-4.1.1.ebuild deleted file mode 100644 index 6a0b58cd54f6..000000000000 --- a/sci-mathematics/scilab/scilab-4.1.1.ebuild +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/scilab/scilab-4.1.1.ebuild,v 1.6 2008/01/09 03:04:10 markusle Exp $ - -inherit eutils fortran toolchain-funcs multilib autotools java-pkg-opt-2 - -DESCRIPTION="Scientific software package for numerical computations (Matlab lookalike)" -LICENSE="scilab" -SRC_URI="http://www.scilab.org/download/${PV}/${P}-src.tar.gz" -HOMEPAGE="http://www.scilab.org/" - -SLOT="0" -IUSE="ocaml gtk Xaw3d java" -KEYWORDS="~amd64 ~ppc ~x86" - -RDEPEND="virtual/blas - virtual/lapack - virtual/cblas - sys-libs/ncurses - gtk? ( - media-libs/jpeg - media-libs/libpng - sys-libs/zlib - >=x11-libs/gtk+-2 - x11-libs/vte - =gnome-extra/gtkhtml-2* - ) - >=dev-lang/tk-8.4 - >=dev-lang/tcl-8.4 - Xaw3d? ( x11-libs/Xaw3d ) - ocaml? ( dev-lang/ocaml ) - java? ( >=virtual/jdk-1.4 )" - -DEPEND="${RDEPEND} - app-text/sablotron" - -pkg_setup() { - java-pkg-opt-2_pkg_setup - need_fortran gfortran g77 -} - -src_unpack() { - unpack ${A} - cd "${S}" - - epatch "${FILESDIR}"/${PN}-4.0-makefile.patch - epatch "${FILESDIR}"/${PN}-4.1-java-pic.patch - epatch "${FILESDIR}"/${PN}-4.1-header-fix.patch - epatch "${FILESDIR}"/${PN}-4.1-examples.patch - - sed -e '/^ATLAS_LAPACKBLAS\>/s,=.*,= $(ATLASDIR)/liblapack.so $(ATLASDIR)/libblas.so $(ATLASDIR)/libcblas.so,' \ - -e 's,$(SCIDIR)/libs/lapack.a,,' \ - -i Makefile.OBJ.in || die "Failed to fix Makefile.OBJ.in" - - sed -e "s:\$(PREFIX):\${D}\$(PREFIX):g" \ - -e "s:\$(PREFIX)/lib:\$(PREFIX)/$(get_libdir):g" \ - -i Makefile.in || die "Failed to fix Makefile.in" - - sed -e "s:@CC_OPTIONS@:${CFLAGS}:" \ - -e "s:@FC_OPTIONS@:${FFLAGS}:" \ - -e "s:@LD_LDFLAGS@:${LDFLAGS} -lpthread:" \ - -i Makefile.incl.in || die "Failed to fix Makefile.incl.in" - - # fix bad C practices by failure of scilab build system to - # include proper headers - sed -e "s:-DNOTMPNAM:-DNOTMPNAM -DSYSVSTR -DHASSTDLIB:" \ - -i pvm3/conf/LINUX.def -i pvm3/conf/LINUX64.def || \ - die "Failed to fix pvm3 conf scripts." - - # fix examples - local MAKE_TO_FIX="callsci inter* link* m* interface-multi-so/lib interface-general/lib" - cd examples/ - for name in ${MAKE_TO_FIX}; do - sed -e "s:gentoo-scidir:/usr/$(get_libdir)/${P}:" \ - -i ${name}/Makefile || die "Failed to fix examples" - done -} - -src_compile() { - local myopts - myopts="${myopts} --with-atlas-library=/usr/$(get_libdir)" - - # the tk interface is the default - myopts="${myopts} --with-tk" - - if [[ ${FORTRANC} == gfortran ]]; then - myopts="${myopts} --with-gfortran" - fi - - econf $(use_with Xaw3d xaw3d) \ - $(use_with gtk gtk2 ) \ - $(use_with ocaml) \ - $(use_with java ) \ - ${myopts} || die "econf failed" - env HOME="${S}" emake -j1 all || die "emake failed" -} - -src_install() { - DESTDIR="${D}" make install || die "installation failed" - - # some postinstall fixes - echo "SCIDIR=/usr/$(get_libdir)/${P}" > \ - "${D}/usr/$(get_libdir)/${P}/Path.incl" - - # install docs - dodoc ACKNOWLEDGEMENTS CHANGES README_Unix RELEASE_NOTES \ - Readme_Visual.txt || die "failed to install docs" - - # install examples - insinto /usr/share/${PN}/ - doins -r examples/ || die "failed to install examples" - - insinto /usr/$(get_libdir)/${P} - doins Makefile.incl || die "failed to install Makefile.incl" - - # The compile and install process causes the work folder - # to be registered as the runtime folder in many files. - # This is corrected here. - BAD_REF="${WORKDIR}/${P}" - FIXED_REF="/usr/$(get_libdir)/${P}" - local BIN_TO_FIX="Blpr BEpsf Blatexpr2 Blatexprs Blatexpr scilab" - for i in ${BIN_TO_FIX}; do - sed -e "s%${BAD_REF}%${FIXED_REF}%" -i \ - "${D}"/usr/$(get_libdir)/${P}/bin/${i} || \ - die "Failed to fix wrapper scripts" - done - local MISC_TO_FIX="util/Blatdoc util/Blatdocs" - for i in ${MISC_TO_FIX}; do - sed -e "s%${BAD_REF}%${FIXED_REF}%" -i \ - "${D}"/usr/$(get_libdir)/${P}/${i} || \ - die "Failed to fix Blatdocs" - done -} - -pkg_postinst() { - einfo "To tell Scilab about your printers, set the environment" - einfo "variable PRINTERS in the form:" - einfo - einfo "PRINTERS=\"firstPrinter:secondPrinter:anotherPrinter\"" -} diff --git a/sci-mathematics/scilab/scilab-4.1.2-r1.ebuild b/sci-mathematics/scilab/scilab-4.1.2-r1.ebuild new file mode 100644 index 000000000000..07502a9dd590 --- /dev/null +++ b/sci-mathematics/scilab/scilab-4.1.2-r1.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/scilab/scilab-4.1.2-r1.ebuild,v 1.1 2008/11/07 15:17:39 markusle Exp $ + +inherit eutils fortran toolchain-funcs multilib autotools java-pkg-opt-2 + +DESCRIPTION="Scientific software package for numerical computations (Matlab lookalike)" +LICENSE="scilab" +SRC_URI="http://www.scilab.org/download/${PV}/${P}-src.tar.gz" +HOMEPAGE="http://www.scilab.org/" + +SLOT="0" +IUSE="ocaml gtk Xaw3d java" +KEYWORDS="~amd64 ~ppc ~x86" + +RDEPEND="virtual/blas + virtual/lapack + virtual/cblas + sys-libs/ncurses + gtk? ( + media-libs/jpeg + media-libs/libpng + sys-libs/zlib + >=x11-libs/gtk+-2 + x11-libs/vte + =gnome-extra/gtkhtml-2* + ) + >=dev-lang/tk-8.4 + >=dev-lang/tcl-8.4 + Xaw3d? ( x11-libs/Xaw3d ) + ocaml? ( dev-lang/ocaml ) + java? ( >=virtual/jdk-1.4 )" + +DEPEND="${RDEPEND} + app-text/sablotron" + +pkg_setup() { + java-pkg-opt-2_pkg_setup + need_fortran gfortran g77 +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${PN}-4.0-makefile.patch + epatch "${FILESDIR}"/${PN}-4.1-java-pic.patch + epatch "${FILESDIR}"/${P}-header-fix.patch + epatch "${FILESDIR}"/${PN}-4.1-examples.patch + epatch "${FILESDIR}"/${P}-java-config.patch + epatch "${FILESDIR}"/${P}-tmp-fix.patch + eautoconf + + sed -e '/^ATLAS_LAPACKBLAS\>/s,=.*,= $(ATLASDIR)/liblapack.so $(ATLASDIR)/libblas.so $(ATLASDIR)/libcblas.so,' \ + -e 's,$(SCIDIR)/libs/lapack.a,,' \ + -i Makefile.OBJ.in || die "Failed to fix Makefile.OBJ.in" + + sed -e "s:\$(PREFIX):\${D}\$(PREFIX):g" \ + -e "s:\$(PREFIX)/lib:\$(PREFIX)/$(get_libdir):g" \ + -i Makefile.in || die "Failed to fix Makefile.in" + + sed -e "s:@CC_OPTIONS@:${CFLAGS}:" \ + -e "s:@FC_OPTIONS@:${FFLAGS}:" \ + -e "s:@LD_LDFLAGS@:${LDFLAGS} -lpthread:" \ + -i Makefile.incl.in || die "Failed to fix Makefile.incl.in" + + # fix bad C practices by failure of scilab build system to + # include proper headers + sed -e "s:-DNOTMPNAM:-DNOTMPNAM -DSYSVSTR -DHASSTDLIB:" \ + -i pvm3/conf/LINUX.def -i pvm3/conf/LINUX64.def || \ + die "Failed to fix pvm3 conf scripts." + + # fix examples + local MAKE_TO_FIX="callsci inter* link* m* interface-multi-so/lib interface-general/lib" + cd examples/ + for name in ${MAKE_TO_FIX}; do + sed -e "s:gentoo-scidir:/usr/$(get_libdir)/${P}:" \ + -i ${name}/Makefile || die "Failed to fix examples" + done +} + +src_compile() { + local myopts + myopts="${myopts} --with-atlas-library=/usr/$(get_libdir)" + + # the tk interface is the default + myopts="${myopts} --with-tk" + + if [[ ${FORTRANC} == gfortran ]]; then + myopts="${myopts} --with-gfortran" + fi + + econf $(use_with Xaw3d xaw3d) \ + $(use_with gtk gtk2 ) \ + $(use_with ocaml) \ + $(use_with java ) \ + ${myopts} || die "econf failed" + env HOME="${S}" emake -j1 all || die "emake failed" +} + +src_install() { + DESTDIR="${D}" make install || die "installation failed" + + # some postinstall fixes + echo "SCIDIR=/usr/$(get_libdir)/${P}" > \ + "${D}/usr/$(get_libdir)/${P}/Path.incl" + + # install docs + dodoc ACKNOWLEDGEMENTS CHANGES README_Unix RELEASE_NOTES \ + Readme_Visual.txt || die "failed to install docs" + + # install examples + insinto /usr/share/${PN}/ + doins -r examples/ || die "failed to install examples" + + insinto /usr/$(get_libdir)/${P} + doins Makefile.incl || die "failed to install Makefile.incl" + + exeinto /usr/$(get_libdir)/${P} + doexe libtool || die "failed to install libtool" + + insinto /usr/$(get_libdir)/${P}/config + doins config/Makeso.incl || die "failed to install Makeso.incl" + + # The compile and install process causes the work folder + # to be registered as the runtime folder in many files. + # This is corrected here. + BAD_REF="${WORKDIR}/${P}" + FIXED_REF="/usr/$(get_libdir)/${P}" + local BIN_TO_FIX="Blpr BEpsf Blatexpr2 Blatexprs Blatexpr scilab" + for i in ${BIN_TO_FIX}; do + sed -e "s%${BAD_REF}%${FIXED_REF}%" -i \ + "${D}"/usr/$(get_libdir)/${P}/bin/${i} || \ + die "Failed to fix wrapper scripts" + done + local MISC_TO_FIX="util/Blatdoc util/Blatdocs" + for i in ${MISC_TO_FIX}; do + sed -e "s%${BAD_REF}%${FIXED_REF}%" -i \ + "${D}"/usr/$(get_libdir)/${P}/${i} || \ + die "Failed to fix Blatdocs" + done +} + +pkg_postinst() { + einfo "To tell Scilab about your printers, set the environment" + einfo "variable PRINTERS in the form:" + einfo + einfo "PRINTERS=\"firstPrinter:secondPrinter:anotherPrinter\"" +} diff --git a/sci-mathematics/scilab/scilab-4.1.2.ebuild b/sci-mathematics/scilab/scilab-4.1.2.ebuild deleted file mode 100644 index a0830cea3b83..000000000000 --- a/sci-mathematics/scilab/scilab-4.1.2.ebuild +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/scilab/scilab-4.1.2.ebuild,v 1.3 2008/02/08 23:59:46 markusle Exp $ - -inherit eutils fortran toolchain-funcs multilib autotools java-pkg-opt-2 - -DESCRIPTION="Scientific software package for numerical computations (Matlab lookalike)" -LICENSE="scilab" -SRC_URI="http://www.scilab.org/download/${PV}/${P}-src.tar.gz" -HOMEPAGE="http://www.scilab.org/" - -SLOT="0" -IUSE="ocaml gtk Xaw3d java" -KEYWORDS="~amd64 ~ppc ~x86" - -RDEPEND="virtual/blas - virtual/lapack - virtual/cblas - sys-libs/ncurses - gtk? ( - media-libs/jpeg - media-libs/libpng - sys-libs/zlib - >=x11-libs/gtk+-2 - x11-libs/vte - =gnome-extra/gtkhtml-2* - ) - >=dev-lang/tk-8.4 - >=dev-lang/tcl-8.4 - Xaw3d? ( x11-libs/Xaw3d ) - ocaml? ( dev-lang/ocaml ) - java? ( >=virtual/jdk-1.4 )" - -DEPEND="${RDEPEND} - app-text/sablotron" - -pkg_setup() { - java-pkg-opt-2_pkg_setup - need_fortran gfortran g77 -} - -src_unpack() { - unpack ${A} - cd "${S}" - - epatch "${FILESDIR}"/${PN}-4.0-makefile.patch - epatch "${FILESDIR}"/${PN}-4.1-java-pic.patch - epatch "${FILESDIR}"/${P}-header-fix.patch - epatch "${FILESDIR}"/${PN}-4.1-examples.patch - epatch "${FILESDIR}"/${P}-java-config.patch - eautoconf - - sed -e '/^ATLAS_LAPACKBLAS\>/s,=.*,= $(ATLASDIR)/liblapack.so $(ATLASDIR)/libblas.so $(ATLASDIR)/libcblas.so,' \ - -e 's,$(SCIDIR)/libs/lapack.a,,' \ - -i Makefile.OBJ.in || die "Failed to fix Makefile.OBJ.in" - - sed -e "s:\$(PREFIX):\${D}\$(PREFIX):g" \ - -e "s:\$(PREFIX)/lib:\$(PREFIX)/$(get_libdir):g" \ - -i Makefile.in || die "Failed to fix Makefile.in" - - sed -e "s:@CC_OPTIONS@:${CFLAGS}:" \ - -e "s:@FC_OPTIONS@:${FFLAGS}:" \ - -e "s:@LD_LDFLAGS@:${LDFLAGS} -lpthread:" \ - -i Makefile.incl.in || die "Failed to fix Makefile.incl.in" - - # fix bad C practices by failure of scilab build system to - # include proper headers - sed -e "s:-DNOTMPNAM:-DNOTMPNAM -DSYSVSTR -DHASSTDLIB:" \ - -i pvm3/conf/LINUX.def -i pvm3/conf/LINUX64.def || \ - die "Failed to fix pvm3 conf scripts." - - # fix examples - local MAKE_TO_FIX="callsci inter* link* m* interface-multi-so/lib interface-general/lib" - cd examples/ - for name in ${MAKE_TO_FIX}; do - sed -e "s:gentoo-scidir:/usr/$(get_libdir)/${P}:" \ - -i ${name}/Makefile || die "Failed to fix examples" - done -} - -src_compile() { - local myopts - myopts="${myopts} --with-atlas-library=/usr/$(get_libdir)" - - # the tk interface is the default - myopts="${myopts} --with-tk" - - if [[ ${FORTRANC} == gfortran ]]; then - myopts="${myopts} --with-gfortran" - fi - - econf $(use_with Xaw3d xaw3d) \ - $(use_with gtk gtk2 ) \ - $(use_with ocaml) \ - $(use_with java ) \ - ${myopts} || die "econf failed" - env HOME="${S}" emake -j1 all || die "emake failed" -} - -src_install() { - DESTDIR="${D}" make install || die "installation failed" - - # some postinstall fixes - echo "SCIDIR=/usr/$(get_libdir)/${P}" > \ - "${D}/usr/$(get_libdir)/${P}/Path.incl" - - # install docs - dodoc ACKNOWLEDGEMENTS CHANGES README_Unix RELEASE_NOTES \ - Readme_Visual.txt || die "failed to install docs" - - # install examples - insinto /usr/share/${PN}/ - doins -r examples/ || die "failed to install examples" - - insinto /usr/$(get_libdir)/${P} - doins Makefile.incl || die "failed to install Makefile.incl" - - exeinto /usr/$(get_libdir)/${P} - doexe libtool || die "failed to install libtool" - - insinto /usr/$(get_libdir)/${P}/config - doins config/Makeso.incl || die "failed to install Makeso.incl" - - # The compile and install process causes the work folder - # to be registered as the runtime folder in many files. - # This is corrected here. - BAD_REF="${WORKDIR}/${P}" - FIXED_REF="/usr/$(get_libdir)/${P}" - local BIN_TO_FIX="Blpr BEpsf Blatexpr2 Blatexprs Blatexpr scilab" - for i in ${BIN_TO_FIX}; do - sed -e "s%${BAD_REF}%${FIXED_REF}%" -i \ - "${D}"/usr/$(get_libdir)/${P}/bin/${i} || \ - die "Failed to fix wrapper scripts" - done - local MISC_TO_FIX="util/Blatdoc util/Blatdocs" - for i in ${MISC_TO_FIX}; do - sed -e "s%${BAD_REF}%${FIXED_REF}%" -i \ - "${D}"/usr/$(get_libdir)/${P}/${i} || \ - die "Failed to fix Blatdocs" - done -} - -pkg_postinst() { - einfo "To tell Scilab about your printers, set the environment" - einfo "variable PRINTERS in the form:" - einfo - einfo "PRINTERS=\"firstPrinter:secondPrinter:anotherPrinter\"" -} -- cgit v1.2.3-65-gdbad