commit: 7fe79314e17d813b0402f5ef0c32baafc1335e9a Author: Guillaume Horel <guillaume.horel <AT> gmail <DOT> com> AuthorDate: Fri Oct 10 03:26:31 2014 +0000 Commit: Guillaume Horel <guillaume.horel <AT> gmail <DOT> com> CommitDate: Fri Oct 10 03:26:31 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=7fe79314
sci-mathematics/scilab version bump --- .../files/scilab-5.5.1-accessviolation.patch | 21 ++ .../scilab-5.5.1-fix-random-runtime-failure.patch | 12 + .../scilab/files/scilab-5.5.1-followlinks.patch | 11 + .../scilab/files/scilab-5.5.1-gluegen.patch | 11 + .../scilab/files/scilab-5.5.1-java-heap.patch | 11 + .../scilab/files/scilab-5.5.1-missinglib.patch | 11 + .../scilab/files/scilab-5.5.1-nogui.patch | 13 ++ sci-mathematics/scilab/scilab-5.5.1.ebuild | 250 +++++++++++++++++++++ 8 files changed, 340 insertions(+) diff --git a/sci-mathematics/scilab/files/scilab-5.5.1-accessviolation.patch b/sci-mathematics/scilab/files/scilab-5.5.1-accessviolation.patch new file mode 100644 index 0000000..a84de9a --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-5.5.1-accessviolation.patch @@ -0,0 +1,21 @@ +diff -urN scilab-5.5.0-orig/bin/scilab scilab-5.5.0/bin/scilab +--- scilab-5.5.0-orig/bin/scilab 2014-07-12 15:24:17.105686656 -0400 ++++ scilab-5.5.0/bin/scilab 2014-07-12 15:25:29.307725409 -0400 +@@ -647,17 +647,6 @@ + GTK_MODULES=$(echo $GTK_MODULES | sed s/gnomebreakpad//g) + export GTK_MODULES + +-# libEGL may be partially supported by the closed-source NVIDIA driver. +-# Until they release an EGL driver, we force the egl_glx driver. +-# http://bugzilla.scilab.org/show_bug.cgi?id=12940 +-if test -x /usr/bin/glxinfo; then +- NVIDIA_GLX_VENDOR=$(/usr/bin/glxinfo |grep "NVIDIA Corporation") +- if test ! -z "$NVIDIA_GLX_VENDOR"; then +- EGL_DRIVER=egl_glx +- export EGL_DRIVER +- fi +-fi +- + if test $SCIVERBOSE -ne 0; then + echo "SCI : $SCI" + echo "SCIBIN : $SCIBIN" diff --git a/sci-mathematics/scilab/files/scilab-5.5.1-fix-random-runtime-failure.patch b/sci-mathematics/scilab/files/scilab-5.5.1-fix-random-runtime-failure.patch new file mode 100644 index 0000000..92ac453 --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-5.5.1-fix-random-runtime-failure.patch @@ -0,0 +1,12 @@ +diff -urN scilab-orig/modules/api_scilab/src/cpp/api_double.cpp scilab/modules/api_scilab/src/cpp/api_double.cpp +--- scilab-orig/modules/api_scilab/src/cpp/api_double.cpp 2012-08-06 23:26:31.342617365 -0400 ++++ scilab/modules/api_scilab/src/cpp/api_double.cpp 2012-08-06 23:27:34.838621420 -0400 +@@ -497,7 +497,7 @@ + /*--------------------------------------------------------------------------*/ + int createScalarDouble(void* _pvCtx, int _iVar, double _dblReal) + { +- return createCommonScalarDouble(_pvCtx, _iVar, 0, _dblReal, NULL); ++ return createCommonScalarDouble(_pvCtx, _iVar, 0, _dblReal, 0); + } + /*--------------------------------------------------------------------------*/ + int createScalarComplexDouble(void* _pvCtx, int _iVar, double _dblReal, double _dblImg) diff --git a/sci-mathematics/scilab/files/scilab-5.5.1-followlinks.patch b/sci-mathematics/scilab/files/scilab-5.5.1-followlinks.patch new file mode 100644 index 0000000..fd6aa7b --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-5.5.1-followlinks.patch @@ -0,0 +1,11 @@ +--- m4/java.m4.orig 2014-02-11 23:43:03.030430258 -0500 ++++ m4/java.m4 2014-02-11 23:43:54.008428766 -0500 +@@ -839,7 +839,7 @@ + for jar in "$jardir/$1.jar" "$jardir/lib$1.jar" "$jardir/lib$1-java.jar" "$jardir/$1*.jar"; do + + # TODO check the behaviour when spaces +- jars_resolved=`ls $jar 2>/dev/null` ++ jars_resolved=$(realpath $(ls $jar 2>/dev/null) 2>/dev/null) + for jar_resolved in $jars_resolved; do # If several jars matches + if test -e "$jar_resolved"; then + export ac_java_classpath="$jar_resolved:$ac_java_classpath" diff --git a/sci-mathematics/scilab/files/scilab-5.5.1-gluegen.patch b/sci-mathematics/scilab/files/scilab-5.5.1-gluegen.patch new file mode 100644 index 0000000..1514439 --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-5.5.1-gluegen.patch @@ -0,0 +1,11 @@ +--- scilab/modules/gui/src/java/org/scilab/modules/gui/SwingView.java.orig 2014-03-24 22:38:00.928934500 -0400 ++++ scilab/modules/gui/src/java/org/scilab/modules/gui/SwingView.java 2014-03-24 22:37:33.947567043 -0400 +@@ -157,7 +157,7 @@ + + static { + try { +- System.loadLibrary("gluegen2-rt"); ++ System.loadLibrary("gluegen-rt"); + } catch (Exception e) { + System.err.println(e); + } diff --git a/sci-mathematics/scilab/files/scilab-5.5.1-java-heap.patch b/sci-mathematics/scilab/files/scilab-5.5.1-java-heap.patch new file mode 100644 index 0000000..31060d7 --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-5.5.1-java-heap.patch @@ -0,0 +1,11 @@ +--- etc/jvm_options.xml.orig 2014-02-12 00:05:34.323390688 -0500 ++++ etc/jvm_options.xml 2014-02-12 00:05:53.977390112 -0500 +@@ -22,7 +22,7 @@ + <!-- ENABLE Just In Time java compiler --> + <option value="-Djava.compiler=JIT"/> + <!-- Set Java Heap space to 256mb --> +- <option value="-Xmx256m"/> ++ <option value="-Xmx512m"/> + <!-- Avoid jvm to handle sigint (& other signals) --> + <option value="-Xrs"/> + diff --git a/sci-mathematics/scilab/files/scilab-5.5.1-missinglib.patch b/sci-mathematics/scilab/files/scilab-5.5.1-missinglib.patch new file mode 100644 index 0000000..7f88068 --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-5.5.1-missinglib.patch @@ -0,0 +1,11 @@ +diff -urN scilab-5.5.1-orig/Makefile.am scilab-5.5.1/Makefile.am +--- scilab-5.5.1-orig/Makefile.am 2014-10-09 18:22:21.994610695 -0400 ++++ scilab-5.5.1/Makefile.am 2014-10-09 18:24:28.208333575 -0400 +@@ -74,6 +74,7 @@ + if NEED_JAVA + scilab_bin_LDADD += \ + $(top_builddir)/modules/console/libsciconsole.la \ ++ $(top_builddir)/modules/console/libsciconsole-minimal.la \ + $(top_builddir)/modules/jvm/libscijvm.la \ + $(top_builddir)/modules/commons/libscicommons.la + else diff --git a/sci-mathematics/scilab/files/scilab-5.5.1-nogui.patch b/sci-mathematics/scilab/files/scilab-5.5.1-nogui.patch new file mode 100644 index 0000000..60cee5a --- /dev/null +++ b/sci-mathematics/scilab/files/scilab-5.5.1-nogui.patch @@ -0,0 +1,13 @@ +--- Makefile.in.orig 2014-01-09 22:29:06.534469383 -0500 ++++ Makefile.in 2014-01-09 22:29:40.368471544 -0500 +@@ -2247,8 +2247,8 @@ + @BUILD_HELP_TRUE@ done; \ + @BUILD_HELP_TRUE@ fi + # Also install scirenderer.jar +-@EXTERNAL_SCIRENDERER_FALSE@ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/$(PATHTOSCIRENDERER) +-@EXTERNAL_SCIRENDERER_FALSE@ $(INSTALL_DATA) $(top_builddir)/$(PATHTOSCIRENDERER)/$(SCIRENDERERJAR) $(DESTDIR)$(pkgdatadir)/$(PATHTOSCIRENDERER)/ ++@EXTERNAL_SCIRENDERER_FALSE@@NEED_JAVA_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/$(PATHTOSCIRENDERER) ++@EXTERNAL_SCIRENDERER_FALSE@@NEED_JAVA_TRUE@ $(INSTALL_DATA) $(top_builddir)/$(PATHTOSCIRENDERER)/$(SCIRENDERERJAR) $(DESTDIR)$(pkgdatadir)/$(PATHTOSCIRENDERER)/ + + .PHONY: macros localization doc + diff --git a/sci-mathematics/scilab/scilab-5.5.1.ebuild b/sci-mathematics/scilab/scilab-5.5.1.ebuild new file mode 100644 index 0000000..130689f --- /dev/null +++ b/sci-mathematics/scilab/scilab-5.5.1.ebuild @@ -0,0 +1,250 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +JAVA_PKG_OPT_USE="gui" +VIRTUALX_REQUIRED="manual" + +inherit eutils autotools bash-completion-r1 check-reqs fdo-mime flag-o-matic \ + fortran-2 java-pkg-opt-2 toolchain-funcs virtualx + +# Things that don't work: +# - tests + +DESCRIPTION="Scientific software package for numerical computations" +HOMEPAGE="http://www.scilab.org/" +SRC_URI="http://www.scilab.org/download/${PV}/${P}-src.tar.gz" + +LICENSE="CeCILL-2.1" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="bash-completion debug doc emf fftw +gui +matio mpi nls openmp + static-libs test tk +umfpack +xcos" +REQUIRED_USE="xcos? ( gui ) doc? ( gui )" + +LINGUAS="fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ" +LINGUAS_DOC="fr_FR pt_BR ja_JP ru_RU" + +for l in ${LINGUAS}; do + IUSE="${IUSE} linguas_${l}" +done + +CDEPEND="dev-libs/libpcre + dev-libs/libxml2:2 + sci-libs/hdf5[mpi=] + >=sci-libs/arpack-3 + sys-devel/gettext + sys-libs/ncurses + sys-libs/readline + virtual/lapack + emf? ( dev-java/freehep-graphicsio-emf ) + fftw? ( sci-libs/fftw:3.0 ) + gui? ( + dev-java/avalon-framework:4.2 + dev-java/batik:1.7 + dev-java/commons-io:1 + dev-java/commons-logging:0 + >=dev-java/flexdock-1.2.4:0 + dev-java/fop:0 + =dev-java/gluegen-2.1.4:2.1 + dev-java/javahelp:0 + dev-java/jeuclid-core:0 + dev-java/jgoodies-looks:2.6 + >=dev-java/jlatexmath-1.0.3:1 + >=dev-java/jlatexmath-fop-1.0.3:1 + =dev-java/jogl-2.1.4:2.1 + >=dev-java/jrosetta-1.0.4:0 + dev-java/skinlf:0 + dev-java/xmlgraphics-commons:1.5 + virtual/opengl ) + matio? ( >=sci-libs/matio-1.5 ) + tk? ( dev-lang/tk ) + umfpack? ( sci-libs/umfpack )" + +RDEPEND="${CDEPEND} + gui? ( >=virtual/jre-1.5 )" + +DEPEND="${CDEPEND} + virtual/pkgconfig + debug? ( dev-util/lcov ) + gui? ( + >=virtual/jdk-1.5 + doc? ( app-text/docbook-xsl-stylesheets + dev-java/xml-commons-external:1.4 + dev-java/saxon:9 ) + xcos? ( dev-lang/ocaml + dev-java/jgraphx:2.5 ) ) + test? ( + dev-java/junit:4 + gui? ( ${VIRTUALX_DEPEND} ) )" + +DOCS=( "ACKNOWLEDGEMENTS" "README_Unix" "Readme_Visual.txt" ) + +pkg_pretend() { + use doc && CHECKREQS_MEMORY="512M" check-reqs_pkg_pretend +} + +pkg_setup() { + if use openmp; then + if [[ $(tc-getCC) == *gcc* ]] && ! tc-has-openmp; then + ewarn "You are using a gcc without OpenMP capabilities" + die "Need an OpenMP capable compiler" + fi + FORTRAN_NEED_OPENMP=1 + fi + FORTRAN_STANDARD="77 90" + fortran-2_pkg_setup + #bug 8053 + unset F77 + java-pkg-opt-2_pkg_setup + + ALL_LINGUAS="en_US" + ALL_LINGUAS_DOC="en_US" + for l in ${LINGUAS}; do + use linguas_${l} && ALL_LINGUAS="${ALL_LINGUAS} ${l}" + done + for l in ${LINGUAS_DOC}; do + use linguas_${l} && ALL_LINGUAS_DOC="${ALL_LINGUAS_DOC} ${l}" + done + export ALL_LINGUAS ALL_LINGUAS_DOC +} + +src_prepare() { + epatch \ + "${FILESDIR}/${P}-followlinks.patch" \ + "${FILESDIR}/${P}-gluegen.patch" \ + "${FILESDIR}/${P}-fix-random-runtime-failure.patch" \ + "${FILESDIR}/${P}-accessviolation.patch" \ + "${FILESDIR}/${P}-nogui.patch" \ + "${FILESDIR}/${P}-missinglib.patch" + + # increases java heap to 512M when building docs (sync with cheqreqs above) + use doc && epatch "${FILESDIR}/${P}-java-heap.patch" + + # use the LINGUAS variable that we set + sed -i -e "/^ALL_LINGUAS=/d" -e "/^ALL_LINGUAS_DOC=/d" -i configure.ac ||die + + # make sure the DOCBOOK_ROOT variable is set + sed -i -e "s/xsl-stylesheets-\*/xsl-stylesheets/g" bin/scilab* || die + + #add specific gentoo java directories + if use gui; then + sed -i -e "s|/usr/lib/jogl2|/usr/lib/jogl-2.1|" \ + -e "s|/usr/lib64/jogl2|/usr/lib64/jogl-2.1|" configure.ac || die + sed -i -e "s|/usr/lib/gluegen2|/usr/lib/gluegen-2.1|" \ + -e "s|/usr/lib64/gluegen2|/usr/lib64/gluegen-2.1|" \ + -e "s|AC_CHECK_LIB(\[gluegen2-rt|AC_CHECK_LIB([gluegen-rt|" \ + configure.ac || die + + sed -i -e "s/jogl2/jogl-2.1/" -e "s/gluegen2/gluegen-2.1/" \ + etc/librarypath.xml || die + fi + + mkdir jar || die + pushd jar >/dev/null + if use gui; then + java-pkg_jar-from jlatexmath-1,flexdock,skinlf + java-pkg_jar-from jgoodies-looks-2.6,jrosetta + java-pkg_jar-from avalon-framework-4.2,jeuclid-core + java-pkg_jar-from xmlgraphics-commons-1.5,commons-io-1 + java-pkg_jar-from jogl-2.1 jogl-all.jar jogl2.jar + java-pkg_jar-from gluegen-2.1 gluegen-rt.jar gluegen2-rt.jar + java-pkg_jar-from batik-1.7 batik-all.jar + java-pkg_jar-from fop fop.jar + java-pkg_jar-from javahelp jhall.jar + java-pkg_jar-from jlatexmath-fop-1 + java-pkg_jar-from xml-commons-external-1.4 xml-apis-ext.jar + use xcos && java-pkg_jar-from jgraphx-2.5 + use doc && java-pkg_jar-from saxon-9 saxon.jar saxon9he.jar + fi + if use emf; then + java-pkg_jar-from freehep-graphicsio-emf,freehep-graphics2d + java-pkg_jar-from freehep-graphicsio,freehep-io,freehep-util + fi + if use test; then + java-pkg_jar-from junit-4 junit.jar junit4.jar + java-pkg_jar-from ant-junit + fi + popd + + java-pkg-opt-2_src_prepare + eautoconf +} + +src_configure() { + if use gui; then + export JAVA_HOME="$(java-config -O)" + else + unset JAVAC + fi + + export BLAS_LIBS="$($(tc-getPKG_CONFIG) --libs blas)" + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + export F77_LDFLAGS="${LDFLAGS}" + + econf \ + --enable-relocatable \ + --disable-rpath \ + --with-docbook="${EPREFIX}/usr/share/sgml/docbook/xsl-stylesheets" \ + --disable-static-system-lib \ + $(use_enable debug) \ + $(use_enable debug code-coverage) \ + $(use_enable debug debug-C) \ + $(use_enable debug debug-CXX) \ + $(use_enable debug debug-fortran) \ + $(use_enable debug debug-java) \ + $(use_enable debug debug-linker) \ + $(use_enable doc build-help) \ + $(use_enable nls) \ + $(use_enable nls build-localization) \ + $(use_enable static-libs static) \ + $(use_enable test compilation-tests) \ + $(use_with emf) \ + $(use_with fftw) \ + $(use_with gui) \ + $(use_with gui javasci) \ + $(use_with matio) \ + $(use_with openmp) \ + $(use_with tk) \ + $(use_with umfpack) \ + $(use_with xcos) \ + $(use_with xcos modelica) \ + $(use_with mpi) +} + +src_compile() { + emake + use doc && emake doc +} + +src_test() { + if use gui; then + Xemake check + else + emake check + fi +} + +src_install() { + default + prune_libtool_files --all + rm -rf "${D}"/usr/share/scilab/modules/*/tests ||die + use bash-completion && newbashcomp "${FILESDIR}"/"${PN}".bash_completion "${PN}" + echo "SEARCH_DIRS_MASK=${EPREFIX}/usr/$(get_libdir)/scilab" \ + > 50-"${PN}" + insinto /etc/revdep-rebuild && doins "50-${PN}" +} + +pkg_postinst() { + fdo-mime_mime_database_update + einfo "If you are using the NVIDIA binary drivers, and run into graphics" + einfo "crashes, you may try to run scilab as follows:" + einfo "EGL_DRIVER=egl_glx scilab" + einfo "See upstream http://bugzilla.scilab.org/show_bug.cgi?id=12940" +} + +pkg_postrm() { + fdo-mime_mime_database_update +}