Scilab is a scientific software package for numerical computations in a
user-friendly environment.
Main features
* Hundreds of mathematical functions
* High level programming language
* 2-D and 3-D graphics
* Advanced data structures and user defined data types
* Xcos: hybrid dynamic systems modeler and simulator
2-D and 3-D visualization
* Lines
* Pie charts
* Histograms
* Surfaces
* Animations
* Graphics export in many formats: GIF, BMP, JPEG, SVG, PDF...
Numerical computation
* Linear algebra
* Sparse matrices
* Polynomials and rational functions
* Simulation: explicit and implicit systems of differential
equations solvers
* Classic and robust control
* Differentiable and non-differentiable optimization
Data analysis
* Interpolation, approximation
* Signal Processing
* Statistics
Extended features
* Graphs and Networks
* Interface with Fortran, C, C++, Java
* Functions for calling Scilab from C, C++, Fortran and Java
* LabVIEW Gateway
* A large number of modules available via ATOMS
===> The following configuration options are available for scilab-2026.1.0_3:
GUI=on: Java-based Graphical User Interface
OCAML=on: Scicos - dynamical system simulator (requires GUI)
TK=on: Tk GUI toolkit support
====> Options available for the radio BLAS: you can only select none or one of them
NETLIB=off: BLAS implementation from Netlib
OPENBLAS=on: OpenBLAS BLAS implementation
===> Use 'make config' to modify these settings
Templates/config.(guess|sub): Update to 2026-05-17
Also remove our local changes that replaced x86_64 with amd64 because
these complicate porting by forcing port maintainers to replace x86_64
with amd64 in configure scripts.
Additional changes:
bsd.port.mk: Apply S/amd64/x86_64/ to CONFIGURE_TARGET. This is not
required to run configure but some ports need to use this in pkg-plist.
comms/qico, news/fidogate:
CONFIGURE_TARGET shouldn't contain "--build". Just remove it altogether
because the default value is fine.
(Only the first 15 lines of the commit message are shown above )
math/scilab: chase the upgrade of math/matio to 1.6.0
The recent upgrade of matio broke Scilab, because Scilab only test
the minor version MATIO_RELEASE_LEVEL and not the full string.
Reported by: pkg-fallout
math/scilab: upgrade to 2026.1.0 and undeprecate
Latest releases notes at
https://gitlab.com/scilab/scilab/-/blob/2026.1.0/scilab/CHANGES.md
Also take maintainership.
This is a first attempt at an upgrade of this port. It is usuable, but
not perfect: don't hesitate to send patches!
Known limitations:
- I've not been able to get a dynamic libary_path, this explains the
work-around in etc/jvm_options.xml, and a non-breaking exception when
starting;
- MAKE_JOBS_UNSAFE has to be set, should be avoidable with some fixes in
the makefiles;
- FreeBSD is not officially supported, and no Atoms modules are available
for us ATM.
math/scilab-toolbox-swt: fix build
Fixed by adding some libraries to NO_SHLIB_REQUIRES_GLOB in math/scilab.
Unbroken, but still deprecated as nobody noticed that it was broken.
Approved-by: no maintainer
math/scilab*: deprecate and expire in 4 months
No maintainer, old version, did not keep up with upstream, does not build with
Java 11 or at all.
Please mail the maintainer if you use this.
Reported-by: https://portsfallout.com/fallout?port=math%2Fscilab
Approved-by: no maintainer
*/*: Use C.UTF-8 locale
Ports 02f27a83b44d fixed the ports tree to the C locale so it would work
correctly in environments where users use a locale that isn't compatible
with the C locale, e.g. xx_YY.UTF-8 where [A-Z] includes more than just
upper case letters. USE_LOCALE was introduced to let ports use another
locale if they needed it. The C.UTF-8 locale was created later on to be
mostly compatible with the C locale.
Switch the ports tree locale to C.UTF-8 and remove USE_LOCALE. The
world has moved to Unicode so all ports either require it or know how to
build correctly in a Unicode environment.
PR: 295945
Exp-run by: antoine
math/arpack-ng: Flavorize on MPI implementation
Positives are that now *-mpich, *-openmpi, *-nompi
packages would be all available.
Negative is that they conflict with each other.
The files need to have the unique suffix.
All flavors are equal, there is no obvious default
among them, so suffixes were added to all of them
to make it clear which implementation is installed.
PR: 293569
Requested by: Steve Kargl <[email protected]>
math/scilab: pin to java 8
Does not build with jdk11+.
[javac]
/wrkdirs/usr/ports/math/scilab/work/scilab-6.1.1/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParser.java:17:
error: package javax.annotation does not exist
PR: 272855
Approved-by: no maintainer
math/scilab: unbreak
- update dependency reference for textproc/saxon-he
- update some error handling stuff for libxml2 >= 2.13 API
- prevent picking up valgrind in ports builds with valgrind installed
because that causes duplicate definition of the _start symbol in the
final link at least on FreeBSD-14.3-RELEASE-p1 amd64.
- bump PORTREVISION and remove BROKEN
MFH: 2025Q3
math/scilab: Mark BROKEN
Fails to build, configure: error: Could not find or use the Java package/jar
saxon used by Saxon XSLT Processor (looking for package com.icl.saxon.Loader)
Reported by: pkg-fallout
math/scilab: Update path to xml-apis-ext.jar
Also:
- Replace PORTVERSION with DISTVERSION.
- Improve search path for jar-files in general.
- Fix search jrosetta-api.jar.
- Fix search saxon-he*.jar, but this old version of scilab support
saxon < 10 and textproc/saxon-he have 12.6 - math/scilab is broken
and need update.
Mk/**java.mk: Convert bsd.java.mk to USES
The following features have been added or changed:
- Instead of USE_JAVA use USES=java. This defaults to
USES=java:build,run if NO_BUILD is undefined. Else it defaults to
USES=java:run
- Instead of USE_ANT=yes use USES=java:ant which also implies
USES=java:build
- Instead of JAVA_BUILD=yes use USES=java:build. Does not imply run or
extract
- Instead of JAVA_EXTRACT=yes use USES=java:extract does not imply
build or run
- Instead of JAVA_RUN=yes use USES=java:run does not imply extract or
build
- Instead of USE_JAVA=<version> use USES=java and JAVA_VERSION=<version>
Approved by: mat (portmgr), glewis
Differential Revision: https://reviews.freebsd.org/D48201
all: drop support for FreeBSD 13.2 which reached EOL today
Thanks again to jbeich for noticing various things I overlooked.
Reviewed by: acm, ashish, eduardo, ehaupt, eugen, jbeich, martymac, mat,
nobukata, sunpoet, tagattie, yuri, arrowd, kde
Differential Revision: https://reviews.freebsd.org/D45141
math/scilab: Fix parallel build with gmake 4.4
Remove prerequisites from .NOTPARALLEL to restore the behaviour from
previous versions of gmake.
PR: 272216
Reported by: antoine
math/scilab: Unbreak build on 12 and 13
Although my previous commit fixed build with llvm16 it broke the build
on 12 and 13.
Reported by: makc
Approved by: portmgr (blanket)
Sponsored by: The FreeBSD Foundation
lang/ocaml: Update to 4.08.1
This update allows (and for some requires) to also update dependencies
to newer versions. Where possible I updated to the latest version.
The ocaml port now is MAKE_JOBS safe.
Changes to dependent ports included in this commit:
- devel/ocaml-sexplib: Rename to devel/ocaml-sexplib0 adapting to
upstream. Update to 0.16.0
- devel/coccinelle: Update to 1.1.1, moved to github
- devel/ocaml-camlp4: Update to 4.08+1
- devel/ocaml-camomile: Use dune for build, adapt port
- devel/ocaml-cppo: Fix lib files installation [1]
(Only the first 15 lines of the commit message are shown above )
*/*: llvm15 build fixes
llvm15 was also merged into 13.2-STABLE effective from OSVERSION
1302505. Fix the ports that failed to build with llvm15.
Approved by: portmgr (blanket)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel/avalon-framework: Remove deprecation notice
The deprecation notice was added by mistake.
avalon-framework is used by math/scilab. SciLab is a major
software package for systems modeling, visualization, numeric
analysis, etc.
SciLab is used in multiple industries, and I am sure that
it has FreeBSD users. GUI is its main feature and it can't be
deprecated.
Its dependency (devel/avalon-framework) can't be deprecated
just because it was abandoned upstream. It is buildable and
runnable, and should stay for the time being.
Approved by: portmgr (blanket; correct mistake)
science/hdf5: bump PORTREVISION of consumers
The SO-version increased in the update to 1.12.2 in
a43418b81530f7e897abfbe18dd59f44265a1a0f .
Reported by: VVD <[email protected]>
OCaml: transient update of the stack to version 4.07.1
This is the first step in modernizing our OCaml ports infrastructure,
as we had accumulated substantial technical debt over the years when
many of its consumer ports had not received proper care and updates.
It is currently considered as the lowest supported version (baseline)
in majority of open-source OCaml projects, which would help to pull
up other ports, e.g. `devel/ocaml-dune' in smaller, manageable pieces.
For conservative hackers among us and for compatibility with RHEL 8
which is also on it, having 4.07 in the tree would allow users stick
to that package (pkg lock it) if needed.
PR: 250408, 262781
Exp-run by: antoine
textproc/libxml2: bump all LIB_DEPENDS consumers
This is a separate commit to facilitate easier cherry-picking for
quarterly.
PR: 262853, 262940, 262877, 263126
Approved by: fluffy (mentor)
textproc/libxml2: bump all dependencies
This should make sure that all dependent ports will pick
up the new version commited with a13ec21cd733f67a9fc0dc00ab45268bdc236246
INSTALLS_ICONS: retire the macro and rework the related dependencies
While here, make sure gtk-update-icon-cache is only on run dependency
where added as a dependency
Enforce gtk3 to depend on gtk-update-icon-cache (previously it was
inheriting the dependency)
graphics/mesa-libs: Bump reverse deps for libglvnd
Per discussion with bapt on helping pkg handle the changing of these
deps and avoiding impossible upgrade senarios.
PR: 246767
Reviewed by: manu, bapt
Approved by: x11
Differential Revision: https://reviews.freebsd.org/D30824
math/suitesparse: adapt dependency lines after modularization
Do not bump PORTREVISION, because this should not change the resulting
packages.
Note for maintainers: try to not depend on the whole suitesparse package,
especially if your port do not require GraphBLAS (the biggest one).
math/scilab: fix build on powerpc64*
Please check your user-defined functions (or external module ones) should they
appear in the stack trace.
Otherwise you can report a bug on http://bugzilla.scilab.org/ with:
* a sample code which reproduces the issue
* the result of [a, b] = getdebuginfo()
* the following information:
[powerpc64le-default-job-11:33162] Signal: Abort trap (6)
[powerpc64le-default-job-11:33162] Signal code: (65543)
PR: 225628
Fix r561520
/!\ scilab-6.1.0_4: Makefile errors /!\
you cannot include bsd.port[.pre].mk twice
Defining both PORTVERSION and DISTVERSION is wrong, only set one, if necessary,
set DISTNAME
*** Error code 1
Stop.
make: stopped in /usr/ports/math/scilab
Approved by: portmgr (blanket)
Update GCC_DEFAULT from 9 to 10.
A few (mostly Fortran-based) ports need to be patched because GCC 10
is stricter. A handful of ports need to be restricted to GCC 9 because
they fail with 10.
5 ports still fail with GCC 10. However, seeing as this work has been
ongoing since 2020-05-24, it is simply time to make the commit and
notify the affected maintainers.
While here, pet portlint (Makevar order).
PR: 246700
Submitted by: gerald
Approved by: antoine (after many, many, -exp runs)
- Upgrade math/eigen3 to 3.3.8;
- Add some dependencies which might be detected by Find_Package but not
registered;
- Bump PORTREVISION of consumers.
PR: 250833
Submitted by: /me
Approved by: tcberner@ (KDE / maintainer) + exp-run
math/scilab:
- Chase devel/apache-commons-io update to 2.7. Although it is binary
compatible with 2.6, scilab hardcodes path to the versioned jar.
- Patch scilab configure script to avoid dependencies on versioned jar files.
math/scilab:
- Update to 6.1.0. Requires decent c++ compiler and iconv from ports.
- Clean up patch target: remove no longer needed patches and those ones which
don't affect build - at least for me.
- Remove MAKE_JOBS_UNSAFE. It was added in svn r417126 arguing that many
ocaml-dependent ports are not jobs safe, but there were no logs to analyse.
The plist change in that commit is unrelated to jobs safety.
Bump 37 ports depending on math/openblas through USES=blaslapack:openblas
because after the recent math/openblas update the library name changed in
openblas
Finish migration of java/jakarta-commons-beanutils to apache-commons-beanutils.
- Update to version 1.9.4
- Pet portlint
- Bump PORTREVISION for related dependencies
PR: 243719
Submitted by: pfg
Security: CESA-2020:0194
Mark BROKEN: fails to build
LANG=C LC_ALL=en_US.UTF-8 SCI_DISABLE_TK=1 SCI_JAVA_ENABLE_HEADLESS=1
./bin/scilab-adv-cli -noatomsautoload -nb -l en_US -nouserstartup -e "try
xmltojar([],[],'en_US');catch disp(lasterror()); exit(-1);end;exit(0);"
Could not access to the Main Scilab Class:
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.scilab.modules.localization.Messages.gettext(Unknown Source)
at org.scilab.modules.commons.xml.XConfiguration.<clinit>(Unknown Source)
at org.scilab.modules.core.Scilab.<clinit>(Unknown Source)
Caused by: java.lang.NullPointerException
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1847)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at org.scilab.modules.localization.MessagesJNI.<clinit>(Unknown Source)
... 3 more
Reported by: pkg-fallout
rename most cases of jakarta- to apache-
The Apache Softare Foundation used to maintain an umbrella project named
Jakarta but it was retired on 2011. This name now conflicts with the new
name for Java EE under the Eclipse Foundation.
Rename most of the packages to be more consistent. Some other packages remain
but they will require intervention by their corresponding maintainers.
Approved by: thierry (mentor), makc
Differential Revision: https://reviews.freebsd.org/D21902
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Adjust to proposed changes in Java versioning
* Bug #238758 proposes to change the Java versioning from versions such
as "1.6.0" to versions such as "6" (for example). Modify the Makefile
checks on JAVA_PORT_VERSION to cope with either format.
PR: 238982
Approved by: makc (maintainer)
Related to revision 499061 bump ports with USES=fortran to have them
benefit from the improved situation where libgcc_s is only used when
absolutely necessary.
Suggested by: tijl
Make USES=gl conditional on the GUI option to unbreak build when GUI is
disabled. Error was:
scilab-5.5.2_15 need to specify gl component with USE_GL.
because USE_GUI is conditional on GUI.
While here, tweak Makefile statement ordering to reduce portlint warnings.
PR: 234651
Approved by: makc (maintainer)
MFH: 2019Q1
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
cad/calculix-ccx math/arpack++ math/armadillo math/scilab math/octave: Change
dependency from math/arpack to math/arpack-ng
math/arpack is a dead, unmaintained project, and math/arpack-ng is a maintained
and updated fork.
This commit is effectively a version upgrade of the arpack dependency.
Approved by: portmgr blanket (does not result in a change in contents of the
resulting package)