diff options
author | Max Brazhnikov <makc@FreeBSD.org> | 2010-12-19 08:51:20 +0000 |
---|---|---|
committer | Max Brazhnikov <makc@FreeBSD.org> | 2010-12-19 08:51:20 +0000 |
commit | 7c78bc15959da9d98deb790208a3cc6287d2860c (patch) | |
tree | 33e4ab30333adc4207915315e11d95c8174457d4 /math/scilab/files | |
parent | Update to 0.1.7. (diff) |
Update to 5.3.0
Upstream changes:
http://www.scilab.org/content/download/1791/19327/file/changes5.2.2-5.3.0.pdf
Port changes:
-Drop dependency on readline from ports - this was never removed from the 4.x
port and isn't used
-Make UMFPACK off by default - the only reason it was on by default was for
consistency among 5.2.x versions, since I didn't expose the knob through
OPTIONS properly until 5.2.2
-Update JGraphX to compatible version for Scilab 5.3.0
-Scilab does not start java in the normal way (with javavmwrapper) so the
JAVA_HOME environment variable isn't set properly. Explictly set JAVA_HOME
to whatever was used to build the port. This seems to correct occasional
crashes on startup.
-Use batik-all.jar instead of batik.jar - has some extra classes in it
-Additional dependency: java/jakarta-commons-beanutils
-"bsdjava" (java/jdk16) doesn't work with this version. Require diablo or
openjdk.
-Use COMMENT in DESKTOP_ENTRIES
-Switch to a dynamic plist for include/scilab, lib/scilab, and share/scilab.
These directories vary quite a bit depending on what options are set but
should be exclusive to scilab.
-Reorganize post-patch section so java related substitutions aren't done
unless building with java
-Fix NOPORTDOCS to actually do something
-Silence post-patch output
-Remove rename of Visual Basic demos - BSD make couldn't handle the unquoted
spaces in the path names, but this port now uses GNU make
-Remove unnecessary find statements in pre-install
-Remove empty directories in DATADIR/modules - toolboxes don't like them
-Fix where threads incorrectly detected as Linux style
-A couple patches are no longer necessary
-ATOMS (package manager for downloading toolboxes in binary form) is not
available for FreeBSD. It tries to download a list of available packages
from the Scilab website (based on uname). There is no list for FreeBSD and
it HTTP 404's. Scilab misinterprets this and says "Please connect to the
Internet", which is a bit misleading. Patch to indicate that this will never
work. I considered faking the uname to Linux, but there are no RPMs in ports
for math-type things, like fortran, blas/lapack, etc. so I doubt anything
would run. Porting any desired toolboxs is probably the best route.
-Fix ATOMS to use fetch instead of requiring wget or curl (Due to the
previous issue, this will only be useful for 3rd party repositories)
-Fix toolbox build macros to not write to PREFIX/share/scilab when building
as root
PR: ports/153274
Submitted by: Rob Farmer (maintainer)
Diffstat (limited to 'math/scilab/files')
12 files changed, 259 insertions, 64 deletions
diff --git a/math/scilab/files/extra-patch-NOPORTDOCS b/math/scilab/files/extra-patch-NOPORTDOCS new file mode 100644 index 000000000000..771d98b6c116 --- /dev/null +++ b/math/scilab/files/extra-patch-NOPORTDOCS @@ -0,0 +1,28 @@ +--- Makefile.in.orig 2010-12-16 22:07:06.000000000 -0800 ++++ Makefile.in 2010-12-16 22:07:26.000000000 -0800 +@@ -618,24 +618,7 @@ + $(top_builddir)/Version.incl + + infofilesdir = $(pkgdatadir)/ +-infofiles_DATA = $(top_srcdir)/CHANGES_2.X \ +-$(top_srcdir)/CHANGES_3.X \ +-$(top_srcdir)/CHANGES_4.X \ +-$(top_srcdir)/CHANGES_5.0.X \ +-$(top_srcdir)/CHANGES_5.1.X \ +-$(top_srcdir)/CHANGES_5.2.X \ +-$(top_srcdir)/CHANGES_5.3.X \ +-$(top_srcdir)/ACKNOWLEDGEMENTS \ +-$(top_srcdir)/COPYING \ +-$(top_srcdir)/COPYING-BSD \ +-$(top_srcdir)/COPYING-FR \ +-$(top_srcdir)/README_Unix \ +-$(top_srcdir)/RELEASE_NOTES_5.0.X \ +-$(top_srcdir)/RELEASE_NOTES_5.1.X \ +-$(top_srcdir)/RELEASE_NOTES_5.2.X \ +-$(top_srcdir)/RELEASE_NOTES_5.3.X \ +-$(top_srcdir)/Readme_Visual.txt \ +-$(top_srcdir)/README_Windows.txt ++infofiles_DATA = + + iconsdir = $(pkgdatadir)/icons/ + icons_DATA = $(top_srcdir)/icons/scilab.xpm \ diff --git a/math/scilab/files/extra-patch-bin-JAVA_HOME b/math/scilab/files/extra-patch-bin-JAVA_HOME new file mode 100644 index 000000000000..9570707d7e30 --- /dev/null +++ b/math/scilab/files/extra-patch-bin-JAVA_HOME @@ -0,0 +1,30 @@ +--- bin/scilab.orig 2010-09-01 19:31:19.000000000 -0700 ++++ bin/scilab 2010-09-01 19:32:29.000000000 -0700 +@@ -1,4 +1,7 @@ + #!/bin/sh ++ ++export JAVA_HOME=%%JAVA_HOME%% ++ + # + # Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + # Copyright (C) INRIA - 2006-2008 - Sylvestre Ledru +--- bin/scilab-adv-cli.orig 2010-09-01 19:31:28.000000000 -0700 ++++ bin/scilab-adv-cli 2010-09-01 19:32:46.000000000 -0700 +@@ -1,4 +1,7 @@ + #!/bin/sh ++ ++export JAVA_HOME=%%JAVA_HOME%% ++ + # + # Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + # Copyright (C) INRIA - 2006-2008 - Sylvestre Ledru +--- bin/scilab-cli.orig 2010-09-01 19:31:34.000000000 -0700 ++++ bin/scilab-cli 2010-09-01 19:32:57.000000000 -0700 +@@ -1,4 +1,7 @@ + #!/bin/sh ++ ++export JAVA_HOME=%%JAVA_HOME%% ++ + # + # Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + # Copyright (C) INRIA - 2006-2008 - Sylvestre Ledru diff --git a/math/scilab/files/patch-build.incl.xml b/math/scilab/files/patch-build.incl.xml index abe4f6f93917..832eb7f82f64 100644 --- a/math/scilab/files/patch-build.incl.xml +++ b/math/scilab/files/patch-build.incl.xml @@ -1,11 +1,11 @@ ---- build.incl.xml.orig 2010-10-18 22:52:49.000000000 -0700 -+++ build.incl.xml 2010-10-18 22:53:09.000000000 -0700 -@@ -86,6 +86,8 @@ +--- build.incl.xml.orig 2010-11-24 00:50:29.000000000 -0800 ++++ build.incl.xml 2010-12-15 02:55:11.000000000 -0800 +@@ -116,6 +116,8 @@ - <pathelement location="${fop.jar}"/> + <pathelement location="${jlatexmath-fop.jar}"/> -+ <pathelement location="${xmlgraphics-commons.jar}"/> ++ <pathelement location="${xmlgraphics-commons.jar}"/> + - <pathelement location="${avalon-framework.jar}"/> + <pathelement location="${avalon-framework.jar}"/> - <pathelement location="${avalon-framework-impl.jar}"/> + <pathelement location="${avalon-framework-impl.jar}"/> diff --git a/math/scilab/files/patch-etc-librarypath.xml b/math/scilab/files/patch-etc-librarypath.xml index 3e9f2c260ddc..45e3a88a45a2 100644 --- a/math/scilab/files/patch-etc-librarypath.xml +++ b/math/scilab/files/patch-etc-librarypath.xml @@ -1,12 +1,15 @@ ---- etc/librarypath.xml.orig 2010-08-18 22:12:51.000000000 -0700 -+++ etc/librarypath.xml 2010-08-18 22:15:41.000000000 -0700 -@@ -29,16 +29,11 @@ - <path value="$SCILAB/modules/xpad/.libs"/> +--- etc/librarypath.xml.orig 2010-08-29 23:41:41.000000000 -0700 ++++ etc/librarypath.xml 2010-08-29 23:42:38.000000000 -0700 +@@ -29,19 +29,11 @@ + <path value="$SCILAB/modules/scinotes/.libs"/> <path value="$SCILAB/.libs"/> -<!-- Default path to the JNI classes under some Linux (JoGL under Debian for example) --> -<path value="/usr/lib/jni/"/> - +-<!-- Some distributions (like openSUSE) put gluegen-rt in /usr/lib instead pf /usr/lib/jni --> +-<path value="/usr/lib" /> +- <!-- Make install with prefix --> <path value="$SCILAB/../../lib/scilab/"/> @@ -15,7 +18,7 @@ - -<!-- Standard path for 64 bits --> -<path value="/usr/lib64/scilab/"/> -+<path value="%%JAVALIBDIR%%/"/> -+<path value="%%PREFIX%%/lib/"/> ++<path value="%%JAVALIBDIR%%"/> ++<path value="%%PREFIX%%/lib"/> </librarypaths> diff --git a/math/scilab/files/patch-modules-atoms-macros-atoms_gui-atomsGui.sci b/math/scilab/files/patch-modules-atoms-macros-atoms_gui-atomsGui.sci new file mode 100644 index 000000000000..e6429516ce65 --- /dev/null +++ b/math/scilab/files/patch-modules-atoms-macros-atoms_gui-atomsGui.sci @@ -0,0 +1,11 @@ +--- modules/atoms/macros/atoms_gui/atomsGui.sci.orig 2010-12-15 02:20:51.000000000 -0800 ++++ modules/atoms/macros/atoms_gui/atomsGui.sci 2010-12-15 02:21:41.000000000 -0800 +@@ -20,7 +20,7 @@ + + if errStatus<>0 | size(allModules, "*") == 0 then + if size(atomsRepositoryList(),"*") > 0 then +- messagebox(gettext("No ATOMS module is available. Please, check your Internet connection."), gettext("ATOMS error"), "error"); ++ messagebox(gettext("ATOMS is not available for FreeBSD at this time."), gettext("ATOMS error"), "error"); + else + messagebox(gettext("No ATOMS module is available: your repository list is empty."), gettext("ATOMS error"), "error"); + end diff --git a/math/scilab/files/patch-modules-atoms-macros-atoms_internals-atomsAUWriteAccess.sci b/math/scilab/files/patch-modules-atoms-macros-atoms_internals-atomsAUWriteAccess.sci new file mode 100644 index 000000000000..863bd058bde0 --- /dev/null +++ b/math/scilab/files/patch-modules-atoms-macros-atoms_internals-atomsAUWriteAccess.sci @@ -0,0 +1,32 @@ +--- modules/atoms/macros/atoms_internals/atomsAUWriteAccess.sci.orig 2010-12-16 23:18:06.000000000 -0800 ++++ modules/atoms/macros/atoms_internals/atomsAUWriteAccess.sci 2010-12-16 23:21:49.000000000 -0800 +@@ -24,25 +24,11 @@ + atoms_system_directory = atomsPath("system" ,"allusers"); + atoms_install_directory = atomsPath("install","allusers"); + +- // Physical test +- +- if ~ isdir(atoms_system_directory) then +- if mkdir(atoms_system_directory) <> 1 then +- return; +- end +- end +- +- if execstr("mputl(""dummy"",atoms_system_directory+""dummy"");","errcatch") == 0 then ++ // Just assume root should install to DATADIR and everyone else should ++ // use ~/.Scilab ++ rep = unix_g("whoami"); ++ if rep == "root" then + res = %T; +- mdelete(atoms_system_directory+"dummy"); +- else +- return; +- end +- +- if execstr("mputl(""dummy"",atoms_install_directory+""dummy"");","errcatch") <> 0 then +- res = %F; +- else +- mdelete(atoms_install_directory+"dummy"); + end + + endfunction diff --git a/math/scilab/files/patch-modules-atoms-macros-atoms_internals-atomsDownload.sci b/math/scilab/files/patch-modules-atoms-macros-atoms_internals-atomsDownload.sci new file mode 100644 index 000000000000..82504e532aca --- /dev/null +++ b/math/scilab/files/patch-modules-atoms-macros-atoms_internals-atomsDownload.sci @@ -0,0 +1,84 @@ +--- modules/atoms/macros/atoms_internals/atomsDownload.sci.orig 2010-12-16 23:27:03.000000000 -0800 ++++ modules/atoms/macros/atoms_internals/atomsDownload.sci 2010-12-16 23:41:40.000000000 -0800 +@@ -71,6 +71,7 @@ + CURL = %F; + WGET = %F; + HTTPDOWNLOAD = %F; ++ FETCH = %F; + + // Maybe the detection has already been done + +@@ -83,10 +84,16 @@ + elseif atomsGetConfig("downloadTool") == "httpdownload" & getos() == 'Windows' then + HTTPDOWNLOAD=%T; + ++ elseif atomsGetConfig("downloadTool") == "fetch" then ++ FETCH=%T; ++ + else + + // Default values according to platform +- if LINUX | SOLARIS | BSD then ++ if BSD then ++ FETCH = %T; ++ ++ elseif LINUX | SOLARIS then + + // Need to detect under Linux platforms + [rep,stat,err] = unix_g("wget --version"); +@@ -125,9 +132,12 @@ + if CURL then + // Curl + timeout_arg = " --connect-timeout "; +- else ++ elseif WGET then + // wget + timeout_arg = " --timeout="; ++ else ++ // fetch ++ timeout_arg = " -T "; + end + + timeout = string(strtod(atomsGetConfig("downloadTimeout"))); +@@ -141,6 +151,9 @@ + timeout_arg = timeout_arg + " "; + + // Proxy configuration ++ // ++ // fetch should set environment variables for proxy - see fetch(3) ++ // + if (atomsGetConfig("useProxy") == "True") & (atomsGetConfig("proxyHost") <> "") then + + // Host +@@ -155,7 +168,7 @@ + if CURL then + // Curl + proxy_host_arg = " --proxy "+ proxy_host; +- else ++ elseif WGET then + // wget + proxy_host_arg = " http_proxy="""+proxy_host+""" "; + end +@@ -165,7 +178,7 @@ + if CURL then + // Curl + proxy_user_arg = " --proxy-user "+atomsGetConfig("proxyUser")+":"+atomsGetConfig("proxyPassword"); +- else ++ elseif WGET then + // wget + proxy_user_arg = " --proxy-user="""+atomsGetConfig("proxyUser")+""" --proxy-password="""+atomsGetConfig("proxyPassword")+""""; + end +@@ -179,9 +192,12 @@ + elseif CURL then + // curl + download_cmd = "curl "+proxy_host_arg+proxy_user_arg+timeout_arg+" -s "+url_in + " -o " + file_out; +- else ++ elseif WGET + // wget + download_cmd = proxy_host_arg+"wget"+proxy_user_arg+timeout_arg+" "+url_in + " -O " + file_out; ++ else ++ // fetch ++ download_cmd = "fetch " + timeout_arg + "-o " + file_out + " " + url_in; + end + + [rep,stat,err] = unix_g(download_cmd); diff --git a/math/scilab/files/patch-modules-core-includes-Thread_Wrapper.h b/math/scilab/files/patch-modules-core-includes-Thread_Wrapper.h new file mode 100644 index 000000000000..7933502d5563 --- /dev/null +++ b/math/scilab/files/patch-modules-core-includes-Thread_Wrapper.h @@ -0,0 +1,16 @@ +--- modules/core/includes/Thread_Wrapper.h.orig 2010-09-01 02:34:21.000000000 -0700 ++++ modules/core/includes/Thread_Wrapper.h 2010-09-01 02:34:47.000000000 -0700 +@@ -70,13 +70,6 @@ + #define __Lock(lockName) pthread_mutex_lock(lockName) + + #define __UnLock(lockName) pthread_mutex_unlock(lockName) +-/* PTHREAD_MUTEX_ERRORCHECK needed for a safe release atexit when we try to release without knowing if we own the lock +-PTHREAD_PROCESS_SHARED needed for interprocess synch (plus alloc in shared mem thread_mutexattr_settype +-Linux uses PTHREAD_MUTEX_ERRORCHECK_NP other Posix use PTHREAD_MUTEX_ERRORCHECK +-*/ +-#ifndef PTHREAD_MUTEX_ERRORCHECK +-#define PTHREAD_MUTEX_ERRORCHECK PTHREAD_MUTEX_ERRORCHECK_NP +-#endif + #define __InitSignalLock(lockName) \ + do { \ + pthread_mutexattr_t attr; \ diff --git a/math/scilab/files/patch-modules-core-src-c-getmemory.c b/math/scilab/files/patch-modules-core-src-c-getmemory.c deleted file mode 100644 index 8329df17d046..000000000000 --- a/math/scilab/files/patch-modules-core-src-c-getmemory.c +++ /dev/null @@ -1,28 +0,0 @@ ---- modules/core/src/c/getmemory.c.orig 2009-12-16 07:24:40.000000000 +0000 -+++ modules/core/src/c/getmemory.c 2010-01-06 19:27:34.939739546 +0000 -@@ -25,8 +25,12 @@ - #include <sys/sysctl.h> - #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) - #define PAGESHIFT_UNDEF -100 -+#elif defined(__FreeBSD__) -+#include <sys/param.h> -+#include <sys/sysctl.h> - #endif - -+ - #include <stdio.h> - #define kooctet 1024 - int getfreememory(void) -@@ -160,6 +164,12 @@ - - return 0; - } -+#elif defined(__FreeBSD__) -+ int avphys_pages; -+ size_t oldlenp = sizeof (avphys_pages); -+ sysctlbyname("vm.stats.vm.v_free_count", &avphys_pages, &oldlenp, NULL, NULL); -+ return (avphys_pages / kooctet) * sysconf(_SC_PAGESIZE); -+ - #else - /* Solaris and others assumed*/ - return (sysconf(_SC_AVPHYS_PAGES)/kooctet)*sysconf(_SC_PAGESIZE); diff --git a/math/scilab/files/patch-modules-dynamic_link-macros-ilib_gen_Make_unix.sci b/math/scilab/files/patch-modules-dynamic_link-macros-ilib_gen_Make_unix.sci new file mode 100644 index 000000000000..497877c81390 --- /dev/null +++ b/math/scilab/files/patch-modules-dynamic_link-macros-ilib_gen_Make_unix.sci @@ -0,0 +1,42 @@ +--- modules/dynamic_link/macros/ilib_gen_Make_unix.sci.orig 2010-11-24 00:50:36.000000000 -0800 ++++ modules/dynamic_link/macros/ilib_gen_Make_unix.sci 2010-12-15 05:04:30.000000000 -0800 +@@ -64,22 +64,7 @@ + originPath = pwd(); + linkBuildDir = TMPDIR; + commandpath = SCI+"/modules/dynamic_link/src/scripts"; +- [fd,ierr] = mopen(commandpath+"/write.test","w+"); +- +- if (ierr<>0) then +- writePerm=%F +- else +- writePerm=%T +- mclose(fd) +- mdelete(commandpath+"/write.test"); +- end +- +- if (writePerm == %T & ( fileinfo(commandpath+"/Makefile.orig") == [] | fileinfo(commandpath+"/libtool") == [] )) then +- // We have write permission on the scilab tree, then generate the stuff into the directory in order to avoid the configure each time. +- generateConfigure(commandpath); +- end +- +- ++ + // Copy files => linkBuildDir + chdir(linkBuildDir); + +@@ -178,7 +163,7 @@ + end + end + +- if ldflags <> '' | cflags <> '' | fflags <> '' | cc <> '' | fileinfo(commandpath+"/Makefile.orig") == [] | fileinfo(commandpath+"/libtool") == [] then ++ if %T then + // Makefile.orig doesn't exists or may be invalid regarding the flags + // run the ./configure with the flags + +@@ -274,4 +259,4 @@ + end + + endfunction +-//============================================================================= +\ No newline at end of file ++//============================================================================= diff --git a/math/scilab/files/patch-modules-hdf5-src-java-org-scilab-modules-hdf5-read-H5Read.java b/math/scilab/files/patch-modules-hdf5-src-java-org-scilab-modules-hdf5-read-H5Read.java deleted file mode 100644 index 8b86d0e32c56..000000000000 --- a/math/scilab/files/patch-modules-hdf5-src-java-org-scilab-modules-hdf5-read-H5Read.java +++ /dev/null @@ -1,12 +0,0 @@ ---- modules/hdf5/src/java/org/scilab/modules/hdf5/read/H5Read.java.orig 2010-03-01 00:10:54.000000000 -0800 -+++ modules/hdf5/src/java/org/scilab/modules/hdf5/read/H5Read.java 2010-03-01 00:11:38.000000000 -0800 -@@ -53,7 +53,8 @@ - int nb_objs = H5.H5Gn_members(fileId, groupName); - String[] allObjectsName = new String[nb_objs]; - int[] allObjectsType = new int[nb_objs]; -- H5.H5Gget_obj_info_all(fileId, groupName, allObjectsName, allObjectsType); -+ long[] refs = new long[nb_objs]; -+ H5.H5Gget_obj_info_all(fileId, groupName, allObjectsName, allObjectsType, refs); - - for (int i = 0 ; i < nb_objs ; ++i) { - if (allObjectsType[i] == HDF5Constants.H5G_DATASET) { diff --git a/math/scilab/files/patch-modules-xcos-src-java-org-scilab-modules-graph-ScilabCanvas.java b/math/scilab/files/patch-modules-xcos-src-java-org-scilab-modules-graph-ScilabCanvas.java deleted file mode 100644 index 51c9667a0083..000000000000 --- a/math/scilab/files/patch-modules-xcos-src-java-org-scilab-modules-graph-ScilabCanvas.java +++ /dev/null @@ -1,11 +0,0 @@ ---- modules/xcos/src/java/org/scilab/modules/graph/ScilabCanvas.java.orig 2010-04-21 20:20:59.000000000 -0700 -+++ modules/xcos/src/java/org/scilab/modules/graph/ScilabCanvas.java 2010-04-21 20:21:25.000000000 -0700 -@@ -265,7 +265,7 @@ - boolean dashed = mxUtils.isTrue(style, - mxConstants.STYLE_DASHED, false); - drawConnector(pts, penWidth, penColor, startMarker, startSize, -- endMarker, endSize, dashed, rounded); -+ endMarker, endSize, rounded, style); - - Object centerMarker = style.get(ScilabConstants.STYLE_CENTERARROW); - if (centerMarker != null) { |