octave: add missing dependencies

+ move to qt5
+ enable octave's editor via qscintilla-qt5 (it was missing!)
+ provide support for solving linear programs via glpk
+ provide support for audio file handling
+ provide support for openGL->ghostscript printing via gl2ps
+ provide option for large arrays (but needs 64bit BLAS)

+ add gui launcher script, see: https://savannah.gnu.org/bugs/?53034

https://www.gnu.org/software/octave/doc/interpreter/External-Packages.html#External-Packages
This commit is contained in:
Piraty 2018-03-08 15:54:23 +01:00 committed by Toyam Cox
parent f4e01923a8
commit 6cbb6072e6
3 changed files with 38 additions and 6 deletions

View file

@ -3118,3 +3118,6 @@ libdazzle-1.0.so.0 libdazzle-3.28.0_1
libjsonrpc-glib-1.0.so.1 jsonrpc-glib-3.28.0_1 libjsonrpc-glib-1.0.so.1 jsonrpc-glib-3.28.0_1
libtemplate_glib-1.0.so.0 template-glib-3.28.0_1 libtemplate_glib-1.0.so.0 template-glib-3.28.0_1
libeog.so eog-3.28.0_4 libeog.so eog-3.28.0_4
liboctave.so.4 octave-4.2.1_8
liboctinterp.so.4 octave-4.2.1_8
liboctgui.so.2 octave-4.2.1_8

View file

@ -0,0 +1,14 @@
# reason: configure looks for the wrong filename
# note: should be fixed in the next release
--- configure
+++ configure
@@ -34701,7 +34701,7 @@
;;
5)
QT_MODULES="Qt5Core Qt5Gui Qt5Network Qt5OpenGL Qt5PrintSupport"
- octave_qscintilla_libnames="qscintilla2-qt5 qt5scintilla2"
+ octave_qscintilla_libnames="qscintilla2-qt5 qt5scintilla2 qscintilla2_qt5"
;;
*)
as_fn_error $? "Unrecognized Qt version $qt_version" "$LINENO" 5

View file

@ -1,12 +1,13 @@
# Template file for 'octave' # Template file for 'octave'
pkgname=octave pkgname=octave
version=4.2.1 version=4.2.1
revision=7 revision=8
build_style=gnu-configure build_style=gnu-configure
configure_args=" --with-blas=openblas --with-lapack=openblas " configure_args=" --with-blas=openblas --with-lapack=openblas
$(vopt_if largearrays --enable-64)"
hostmakedepends="perl gcc-fortran pkg-config gnuplot" hostmakedepends="perl gcc-fortran pkg-config gnuplot"
makedepends="pcre-devel openblas-devel readline-devel libSM-devel libltdl-devel makedepends="pcre-devel openblas-devel readline-devel libSM-devel libltdl-devel
lcms2-devel" lcms2-devel glpk-devel"
short_desc="A high-level language, primarily intended for numerical computations" short_desc="A high-level language, primarily intended for numerical computations"
maintainer="Diogo Leal <diogo@diogoleal.com>" maintainer="Diogo Leal <diogo@diogoleal.com>"
license="GPL-3" license="GPL-3"
@ -15,15 +16,18 @@ distfiles="${GNU_SITE}/octave/octave-${version}.tar.gz"
checksum=80c28f6398576b50faca0e602defb9598d6f7308b0903724442c2a35a605333b checksum=80c28f6398576b50faca0e602defb9598d6f7308b0903724442c2a35a605333b
# Package build options # Package build options
# TODO: some options are still missing, such as java # TODO: some options are still missing, such as
# java, qrupdate, suitesparse
build_options=" build_options="
arpack arpack
audio
curl curl
fftw3 fftw3
graphicsmagick graphicsmagick
gui gui
hdf5 hdf5
imagemagick imagemagick
largearrays
opengl opengl
openmp openmp
qhull qhull
@ -33,18 +37,21 @@ build_options="
vopt_conflict graphicsmagick imagemagick vopt_conflict graphicsmagick imagemagick
desc_option_arpack="Provides 'eigs' and 'svds' functions." desc_option_arpack="Provides 'eigs' and 'svds' functions."
desc_option_audio="Provides audiofile related functionality."
desc_option_curl="Provides 'urlread' and 'urlwrite' functions and the 'ftp' class." desc_option_curl="Provides 'urlread' and 'urlwrite' functions and the 'ftp' class."
desc_option_fftw3="Improves performance on discrete Fourier transforms." desc_option_fftw3="Improves performance on discrete Fourier transforms."
desc_option_gui="Graphical User Interface." desc_option_gui="Graphical User Interface."
desc_option_graphicsmagick="Provides 'imread' and 'imwrite' functions." desc_option_graphicsmagick="Provides 'imread' and 'imwrite' functions."
desc_option_hdf5="Support for HDF data files." desc_option_hdf5="Support for HDF data files."
desc_option_imagemagick="Provides 'imread' and 'imwrite' functions." desc_option_imagemagick="Provides 'imread' and 'imwrite' functions."
desc_option_largearrays="Enable large array (64bit pointers)." #req. 64bit BLAS
desc_option_qhull="Provides 'convhull{,n}', 'delaunay{,n}' and 'voronoi{,n}' functions." desc_option_qhull="Provides 'convhull{,n}', 'delaunay{,n}' and 'voronoi{,n}' functions."
desc_option_openmp="Enable support for OpenMP SMP multi-threading" desc_option_openmp="Enable support for OpenMP SMP multi-threading"
desc_option_zlib="Support for compressed data." desc_option_zlib="Support for compressed data."
build_options_default=" build_options_default="
arpack arpack
audio
curl curl
fftw3 fftw3
graphicsmagick graphicsmagick
@ -58,13 +65,14 @@ build_options_default="
makedepends+=" makedepends+="
$(vopt_if arpack arpack-ng-devel) $(vopt_if arpack arpack-ng-devel)
$(vopt_if audio 'libsndfile-devel portaudio-devel')
$(vopt_if curl libcurl-devel) $(vopt_if curl libcurl-devel)
$(vopt_if fftw3 fftw-devel) $(vopt_if fftw3 fftw-devel)
$(vopt_if graphicsmagick libgraphicsmagick-devel) $(vopt_if graphicsmagick libgraphicsmagick-devel)
$(vopt_if gui qt-devel) $(vopt_if gui 'qt5-devel qscintilla-qt5-devel')
$(vopt_if hdf5 hdf5-devel) $(vopt_if hdf5 hdf5-devel)
$(vopt_if imagemagick libmagick-devel) $(vopt_if imagemagick libmagick-devel)
$(vopt_if opengl "glu-devel fltk-devel fontconfig-devel freetype-devel") $(vopt_if opengl "glu-devel fltk-devel fontconfig-devel freetype-devel gl2ps-devel")
$(vopt_if openmp libgomp-devel) $(vopt_if openmp libgomp-devel)
$(vopt_if qhull libqhull-devel) $(vopt_if qhull libqhull-devel)
$(vopt_if zlib zlib-devel) $(vopt_if zlib zlib-devel)
@ -73,8 +81,15 @@ makedepends+="
pre_build() { pre_build() {
chmod +x build-aux/mk-opts.pl chmod +x build-aux/mk-opts.pl
} }
post_build() { post_build() {
# Remove references to hardening -specs. # Remove references to hardening -specs.
sed -e "s|\(-specs=.*hardened-ld\)||g" -e "s|\(-specs=.*hardened-cc1\)||g" \ sed -e "s|\(-specs=.*hardened-ld\)||g" -e "s|\(-specs=.*hardened-cc1\)||g" \
-i src/mkoctfile.cc libinterp/build-env.cc -i src/mkoctfile.cc libinterp/build-env.cc
} }
post_install() {
# add helper to launch octave from dmenu etc.
printf "#!/bin/sh\noctave --force-gui" > octave-gui
vbin octave-gui
}