summaryrefslogtreecommitdiff
path: root/math/scilab
diff options
context:
space:
mode:
Diffstat (limited to 'math/scilab')
-rw-r--r--math/scilab/Makefile31
-rw-r--r--math/scilab/files/patch-libxml2.1341
2 files changed, 60 insertions, 12 deletions
diff --git a/math/scilab/Makefile b/math/scilab/Makefile
index 95a4faccb394..ed81d37d291e 100644
--- a/math/scilab/Makefile
+++ b/math/scilab/Makefile
@@ -1,8 +1,8 @@
PORTNAME= scilab
-PORTVERSION= 6.1.1
-PORTREVISION= 21
+DISTVERSION= 6.1.1
+PORTREVISION= 24
CATEGORIES= math cad java
-MASTER_SITES= https://www.scilab.org/download/${PORTVERSION}/
+MASTER_SITES= https://www.scilab.org/download/${DISTVERSION}/
DISTFILES= ${DISTNAME}-src${EXTRACT_SUFX}
MAINTAINER= ports@FreeBSD.org
@@ -41,7 +41,7 @@ LDFLAGS+= ${ICONV_LIB}
CONFIGURE_ENV= BLAS_LIBS="${BLASLIB}" LAPACK_LIBS="${LAPACKLIB}"
INSTALL_TARGET= install-strip
-PLIST_SUB= SHLIB_VER=${PORTVERSION}
+PLIST_SUB= SHLIB_VER=${DISTVERSION}
OPTIONS_DEFINE= GUI OCAML TK
OPTIONS_RADIO= BLAS
@@ -58,6 +58,7 @@ OPENBLAS_USES= blaslapack:openblas
GUI_DESC= Java-based Graphical User Interface
OCAML_DESC= Scicos - dynamical system simulator (requires GUI)
+_JAVADIR= ${LOCALBASE}/share/java
# Java dependencies:
_GUI_DEPENDS+= ${JAVALIBDIR}/flexdock.jar:devel/flexdock \
${JAVALIBDIR}/jogl2.jar:graphics/jogamp-jogl \
@@ -70,9 +71,9 @@ _GUI_DEPENDS+= ${JAVALIBDIR}/flexdock.jar:devel/flexdock \
${JAVALIBDIR}/ecj-4.4.2.jar:java/eclipse-ecj \
${JAVALIBDIR}/lucene-core-5.5.5.jar:textproc/lucene5
# Documentation, graphic export:
-_GUI_DEPENDS+= ${LOCALBASE}/share/java/fop/build/fop.jar:textproc/fop \
+_GUI_DEPENDS+= ${_JAVADIR}/fop/build/fop.jar:textproc/fop \
${JAVALIBDIR}/jlatexmath-fop.jar:math/jlatexmath \
- ${LOCALBASE}/share/java/batik/lib/batik-all.jar:graphics/batik \
+ ${_JAVADIR}/batik/lib/batik-all.jar:graphics/batik \
${JAVALIBDIR}/avalon-framework.jar:devel/avalon-framework \
${JAVALIBDIR}/commons-io.jar:devel/apache-commons-io \
${JAVALIBDIR}/xmlgraphics-commons.jar:graphics/xmlgraphics-commons
@@ -83,8 +84,8 @@ _GUI_DEPENDS+= ${JAVALIBDIR}/commons-beanutils.jar:java/apache-commons-beanutils
${LOCALBASE}/bin/splint:devel/splint
# Documentation building:
_GUI_DEPENDS+= ${LOCALBASE}/share/xsl/docbook/javahelp/javahelp.xsl:textproc/docbook-xsl \
- ${JAVALIBDIR}/saxon-he-12.5.jar:textproc/saxon-he \
- ${JAVALIBDIR}/xml-apis-ext.jar:textproc/xml-commons \
+ saxon-he>=12.8:textproc/saxon-he \
+ ${_JAVADIR}/xml-commons/xml-apis-ext.jar:textproc/xml-commons \
xsltproc:textproc/libxslt
# Other gui deps:
_GUI_DEPENDS+= ${JAVALIBDIR}/looks.jar:devel/jgoodies-looks \
@@ -145,6 +146,7 @@ FFLAGS+= -fallow-argument-mismatch
post-patch:
@${REINPLACE_CMD} 's,/usr/local,${LOCALBASE},' ${WRKSRC}/etc/librarypath.xml
@${REINPLACE_CMD} -e 's, gfortran, ${FC},' ${WRKSRC}/modules/dynamic_link/src/scripts/configure
+ @${REINPLACE_CMD} -e 's,valgrind,X_X_NONEXIST_X_X,' ${WRKSRC}/configure
.if ${COMPILER_TYPE} == clang
@${REINPLACE_CMD} -e 's|std::filesystem|std::__fs::filesystem|g' \
${WRKSRC}/modules/fileio/src/cpp/fullpath.cpp \
@@ -162,16 +164,21 @@ post-patch-GUI-on:
@${REINPLACE_CMD} -e 's|/usr/lib/java|${JAVALIBDIR}|g' ${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|/usr/lib64/jni|${LOCALBASE}/lib/|g' ${WRKSRC}/configure
@${REINPLACE_CMD} 's,\(DEFAULT_JAR_DIR="\),\1 \
- ${LOCALBASE}/share/java/classes \
- ${LOCALBASE}/share/java/fop/build \
- ${LOCALBASE}/share/java/batik/lib \
- ${LOCALBASE}/share/java/jeuclid/repo ,' ${WRKSRC}/configure
+ ${JAVALIBDIR} \
+ ${_JAVADIR} \
+ ${_JAVADIR}/batik/lib \
+ ${_JAVADIR}/fop/build \
+ ${_JAVADIR}/jeuclid/repo \
+ ${_JAVADIR}/xml-commons \
+ ,' ${WRKSRC}/configure
# Prefer non-versioned files to avoid excessive rebuilds. This also fixes detection of fop.
@${REINPLACE_CMD} 's|batik-all\*\.jar|batik-all.jar|g; \
s|commons-io\*\.jar|commons-io.jar|g; \
s|commons-logging\*\.jar|commons-logging.jar|g; \
s|fop\*\.jar|fop.jar|g; \
s|jlatexmath\*\.jar|jlatexmath.jar|g; \
+ s|jrosetta-API.jar|jrosetta-api.jar|g; \
+ s|saxon9he.jar|saxon-he-*.jar|g; \
s|xmlgraphics-commons\*\.jar|xmlgraphics-commons.jar|g' \
${WRKSRC}/configure
# Part of the jogamp-jogl-2.3 patch:
diff --git a/math/scilab/files/patch-libxml2.13 b/math/scilab/files/patch-libxml2.13
new file mode 100644
index 000000000000..d304ca60c5df
--- /dev/null
+++ b/math/scilab/files/patch-libxml2.13
@@ -0,0 +1,41 @@
+diff -up modules/scicos/src/cpp/XMIResource_load.cpp.orig modules/scicos/src/cpp/XMIResource_load.cpp
+--- modules/scicos/src/cpp/XMIResource_load.cpp.orig 2021-07-15 13:55:14.000000000 +0200
++++ modules/scicos/src/cpp/XMIResource_load.cpp 2025-07-14 14:43:30.773655000 +0200
+@@ -56,11 +56,11 @@ struct LibXML2State
+ LibXML2State()
+ {
+ xmlGenericErrorFunc f = &console_print;
+- initGenericErrorDefaultFunc(&f);
++ xmlSetGenericErrorFunc(nullptr, f);
+ }
+ ~LibXML2State()
+ {
+- initGenericErrorDefaultFunc(nullptr);
++ xmlSetGenericErrorFunc(nullptr, nullptr);
+ }
+ };
+
+diff -up modules/xml/src/cpp/XMLDocument.cpp.orig modules/xml/src/cpp/XMLDocument.cpp
+--- modules/xml/src/cpp/XMLDocument.cpp.orig 2021-07-15 13:55:21.000000000 +0200
++++ modules/xml/src/cpp/XMLDocument.cpp 2025-07-14 14:31:16.844487000 +0200
+@@ -520,7 +520,7 @@ void XMLDocument::errorFunction(void *ctx, const char
+ errorBuffer.append(str);
+ }
+
+-void XMLDocument::errorXPathFunction(void *ctx, xmlError * error)
++void XMLDocument::errorXPathFunction(void *ctx, const xmlError * error)
+ {
+ errorXPathBuffer.append(error->message);
+ }
+diff -up modules/xml/src/cpp/XMLDocument.hxx.orig modules/xml/src/cpp/XMLDocument.hxx
+--- modules/xml/src/cpp/XMLDocument.hxx.orig 2021-07-15 13:55:21.000000000 +0200
++++ modules/xml/src/cpp/XMLDocument.hxx 2025-07-14 14:31:29.264578000 +0200
+@@ -175,7 +175,7 @@ class XML_SCILAB_IMPEXP XMLDocument: public XMLObject
+ * Error function used when the XPath query is compiled/
+ * @see http://xmlsoft.org/html/libxml-xmlerror.html#xmlStructuredErrorFunc
+ */
+- static void errorXPathFunction(void *ctx, xmlError * error);
++ static void errorXPathFunction(void *ctx, const xmlError * error);
+
+ /**
+ * Reads and parses a document given in a file.