Octave: bump version

* Enable Qt5 gui
* Add application icon
This commit is contained in:
Gerasim Troeglazov
2022-05-24 22:44:26 +10:00
parent f709c1fa8f
commit 8b07cea9c7
3 changed files with 160 additions and 37 deletions

View File

@@ -0,0 +1,60 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Octave",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E6369660704FF00020106024378FC43C614C0333A400647487EBD4B70000000"
$"8CBEFFB2FFFF03FF7F2A03D4550004000405000400650A020CB72AC05BB72AC0"
$"5BB73FBD8AB768B7E6B754BAB8B974B682BD8AB3BBBB7FB51EBF80B433C36DB5"
$"24C176B4ABC4C0B625C769B825C615B724C83EB92BC9EBBB36C916BA2FCA94BD"
$"41CBE2C157CB3ABF4CCB65C3A1CA69C834CAE7C5EBC8B2C90FC543CAC7C6FBC9"
$"EBC342CA5FBF41C98DC141C9F6BD4CC7F5B95FC4C5BB55C65DB95FC4C5B72AC0"
$"5BB72AC05BB72AC05B0205BB08B76CBB08B76CBE22B40DC7C1B90DC3D4B4C8CB"
$"B0BD53C944C6E2CC5DC384C629CA3FBC8AC53FC077C984B89BC0FABB08B76CB7"
$"EFBAC8BB08B76C0205B775B5A3B775B5A3B384B9ECB996C77AB479C1E9BEB5CD"
$"0ACA01C9CBC60ECE14CDF1C582C7DFB7F4CCFDBD84C2BFB263B775B5A3BB67B1"
$"5BB775B5A30209C66CB728C66CB728C721B728C88DB728C7D7B728C8E1B728C9"
$"23B7BFC923B76CC923B874C923B9E0C923B92BC923BA34C88DBA76C8E1BA76C7"
$"D7BA76C66CBA76C721BA76C61ABA76C5D6B9E0C5D6BA34C5D6B92BC5D6B7BFC5"
$"D6B874C5D6B76CC66CB728C61AB728C66CB7280209C66CB728C66CB728C721B7"
$"28C88DB728C7D7B728C8E1B728C923B7BFC923B76CC923B874C923B9E0C923B9"
$"2BC923BA34C88DBA76C8E1BA76C7D7BA76C66CBA76C721BA76C61ABA76C5D6B9"
$"E0C5D6BA34C5D6B92BC5D6B7BFC5D6B874C5D6B76CC66CB728C61AB728C66CB7"
$"280209B4A7BB83B4A7BB83B655BB83B9ADBB83B801BB83BA70BB83BB0EBCE3BB"
$"0EBC1FBB0EBE8FBB0EC1E9BB0EC03CBB0EC2ABB9ADC348BA70C348B801C348B4"
$"A7C348B655C348B3E5C348B348C1E9B348C2ABB348C03CB348BCE3B348BE8FB3"
$"48BC1FB4A7BB83B3E5BB83B4A7BB830209B4A7BB83B4A7BB83B655BB83B9ADBB"
$"83B801BB83BA70BB83BB0EBCE3BB0EBC1FBB0EBE8FBB0EC1E9BB0EC03CBB0EC2"
$"ABB9ADC348BA70C348B801C348B4A7C348B655C348B3E5C348B348C1E9B348C2"
$"ABB348C03CB348BCE3B348BE8FB348BC1FB4A7BB83B3E5BB83B4A7BB830209C8"
$"35C5B0C835C5B0C937C5B0CB3DC5B0CA3AC5B0CBB3C5B0CC12C685CC12C60FCC"
$"12C787CC12C98DCC12C88ACC12CA03CB3DCA63CBB3CA63CA3ACA63C835CA63C9"
$"37CA63C7BECA63C760C98DC760CA03C760C88AC760C685C760C787C760C60FC8"
$"35C5B0C7BEC5B0C835C5B00209C835C5B0C835C5B0C937C5B0CB3DC5B0CA3AC5"
$"B0CBB3C5B0CC12C685CC12C60FCC12C787CC12C98DCC12C88ACC12CA03CB3DCA"
$"63CBB3CA63CA3ACA63C835CA63C937CA63C7BECA63C760C98DC760CA03C760C8"
$"8AC760C685C760C787C760C60FC835C5B0C7BEC5B0C835C5B002044030C34430"
$"BC3930304030BC3930C3444050BC3950C34450504050C34450BC390B0A060109"
$"024140000000000000003E2000C77FFF4A68000A050900020304050607080112"
$"3F7FBC0000000000003F7FCD42FFFF43FF0501178422040A000100023F7FBC00"
$"00000000003F7FCD42FFFF43FF050A01020201023F7FBC0000000000003F7FCD"
$"42FFFF43FF050A020103023F7FBC0000000000003F7FCD42FFFF43FF050A0301"
$"04123F7FBC0000000000003F7FCD42FFFF43FF0501178100040A0400123F7FBC"
$"0000000000003F7FCD42FFFF43FF0501178000040A020105023F7FBC00000000"
$"00003F7FCD42FFFF43FF050A030106123F7FBC0000000000003F7FCD42FFFF43"
$"FF0501178100040A020107023F7FBC0000000000003F7FCD42FFFF43FF050A03"
$"0108123F7FBC0000000000003F7FCD42FFFF43FF050117810004"
};

View File

@@ -3,20 +3,23 @@ DESCRIPTION="GNU Octave is a high-level language, primarily intended for \
numerical computations. It provides a convenient command line interface \
for solving linear and nonlinear problems numerically."
HOMEPAGE="http://www.octave.org/"
COPYRIGHT="1996-2019 John W. Eaton"
COPYRIGHT="1996-2022 John W. Eaton"
LICENSE="GNU GPL v3"
REVISION="4"
REVISION="1"
SOURCE_URI="https://ftp.gnu.org/gnu/octave/octave-$portVersion.tar.gz"
CHECKSUM_SHA256="e36b1124cac27c7caa51cc57de408c31676d5f0096349b4d50b57bfe1bcd7495"
CHECKSUM_SHA256="d4a9d81f3f67b4a6e07cb7a80dcb10ad5e9176fcc30762c70a81580a64b8b0b6"
PATCHES="octave-$portVersion.patchset"
ADDITIONAL_FILES="octave.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
SECONDARY_ARCHITECTURES="x86"
liboctaveVersion="7.0.0"
liboctaveVersion="9.0.0"
liboctaveVersionCompat="$liboctaveVersion compat >= ${liboctaveVersion%%.*}"
liboctinterpVersion="7.0.0"
liboctinterpVersion="10.0.0"
liboctinterpVersionCompat="$liboctinterpVersion compat >= ${liboctinterpVersion%%.*}"
liboctguiVersion="8.0.0"
liboctguiVersionCompat="$liboctguiVersion compat >= ${liboctinterpVersion%%.*}"
PROVIDES="
octave$secondaryArchSuffix = $portVersion
@@ -28,8 +31,11 @@ PROVIDES="
cmd:octave_cli_$portVersion$secondaryArchSuffix = $portVersion
cmd:octave_config$secondaryArchSuffix = $portVersion
cmd:octave_config_$portVersion$secondaryArchSuffix = $portVersion
cmd:octave_gui$secondaryArchSuffix = $portVersion
cmd:octave_svgconvert$secondaryArchSuffix = $portVersion
lib:liboctave$secondaryArchSuffix = $liboctaveVersionCompat
lib:liboctinterp$secondaryArchSuffix = $liboctinterpVersionCompat
lib:liboctgui$secondaryArchSuffix = $liboctguiVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
@@ -52,7 +58,8 @@ REQUIRES="
lib:libGl$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libgomp$secondaryArchSuffix
# lib:libgraphicsmagick$secondaryArchSuffix
lib:libgraphicsmagick$secondaryArchSuffix
lib:libgraphicsmagick++$secondaryArchSuffix
lib:libhdf5$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:liblapack$secondaryArchSuffix
@@ -60,12 +67,12 @@ REQUIRES="
lib:libncursesw$secondaryArchSuffix
lib:libopenblas$secondaryArchSuffix
lib:libpcre$secondaryArchSuffix
# lib:libQt5Core$secondaryArchSuffix
# lib:libQt5Gui$secondaryArchSuffix
# lib:libQt5Network$secondaryArchSuffix
# lib:libQt5OpenGL$secondaryArchSuffix
# lib:libQt5PrintSupport$secondaryArchSuffix
# lib:libQt5Widgets$secondaryArchSuffix
lib:libqhull_r$secondaryArchSuffix
lib:libqscintilla2_qt5$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5OpenGL$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libsndfile$secondaryArchSuffix
lib:libsuitesparseconfig$secondaryArchSuffix
@@ -78,6 +85,7 @@ PROVIDES_devel="
octave${secondaryArchSuffix}_devel = $portVersion
devel:liboctave$secondaryArchSuffix = $liboctaveVersionCompat
devel:liboctinterp$secondaryArchSuffix = $liboctinterpVersionCompat
devel:liboctgui$secondaryArchSuffix = $liboctguiVersionCompat
"
REQUIRES_devel="
octave$secondaryArchSuffix == $portVersion base
@@ -92,7 +100,6 @@ BUILD_REQUIRES="
devel:libccolamd$secondaryArchSuffix
devel:libcholmod$secondaryArchSuffix
devel:libcolamd$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libcxsparse$secondaryArchSuffix
devel:libfftw3$secondaryArchSuffix
@@ -102,7 +109,7 @@ BUILD_REQUIRES="
devel:libGl$secondaryArchSuffix
devel:libGLU$secondaryArchSuffix
devel:libgomp$secondaryArchSuffix
# devel:libgraphicsmagick$secondaryArchSuffix
devel:libgraphicsmagick$secondaryArchSuffix
devel:libhdf5$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libklu$secondaryArchSuffix
@@ -111,13 +118,16 @@ BUILD_REQUIRES="
devel:libncursesw$secondaryArchSuffix
devel:libopenblas$secondaryArchSuffix
devel:libpcre$secondaryArchSuffix
# devel:libQt5Core$secondaryArchSuffix
# devel:libQt5Gui$secondaryArchSuffix
# devel:libQt5Network$secondaryArchSuffix
# devel:libQt5OpenGL$secondaryArchSuffix
# devel:libQt5PrintSupport$secondaryArchSuffix
# devel:libQt5Widgets$secondaryArchSuffix
devel:libqhull_r$secondaryArchSuffix
devel:libqscintilla2_qt5$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Network$secondaryArchSuffix
devel:libQt5OpenGL$secondaryArchSuffix
devel:libQt5PrintSupport$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
devel:librapidjson$secondaryArchSuffix
devel:libsndfile$secondaryArchSuffix
devel:libsuitesparseconfig$secondaryArchSuffix
devel:libsundials_ida$secondaryArchSuffix
@@ -138,15 +148,15 @@ BUILD_PREREQUIRES="
cmd:gs
cmd:less
cmd:libtoolize$secondaryArchSuffix
# cmd:lrelease$secondaryArchSuffix >=5 # Qt
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:makeinfo
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
# cmd:qcollectiongenerator$secondaryArchSuffix >=5 # Qt
# cmd:qhelpgenerator$secondaryArchSuffix >=5 # Qt
# cmd:rsvg_convert
cmd:qcollectiongenerator$secondaryArchSuffix >= 5
cmd:qhelpgenerator$secondaryArchSuffix >= 5
cmd:rsvg_convert
cmd:sed
"
@@ -159,12 +169,12 @@ BUILD()
touch etc/icons/octave-logo-{16,22,24,32,48,64,128,256,512}.png
touch etc/icons/octave-logo.ico
export LDFLAGS="-lnetwork"
export CFLAGS="-D_BSD_SOURCE"
export CXXFLAGS="-D_BSD_SOURCE"
export LDFLAGS="-lnetwork -lbsd"
runConfigure ./configure \
--disable-docs \
--without-qt \
--with-openssl \
--without-x
# $jobArgs uses too much RAM
@@ -179,15 +189,17 @@ INSTALL()
# TODO libs should be left in $libDir/octave/$portVersion
# Move libs to $libDir to please Haikuporter complaining
# about missing libs.
for f in liboctave liboctinterp; do
for f in liboctave liboctinterp liboctgui; do
rm -rf $libDir/octave/$portVersion/$f.la
mv $libDir/octave/$portVersion/$f.so* $libDir
done
# Remove empty folders
rm -rf $libDir/octave/$portVersion/site
mv $libDir/octave/$portVersion/exec/*/octave-* $binDir
for f in api-v51 site; do
# Remove empty folders
rm -rf $libDir/octave/$portVersion/{site,exec}
for f in api-v57 site; do
rm -rf $libDir/octave/$f
done
@@ -195,9 +207,37 @@ INSTALL()
for f in appdata applications icons; do
rm -rf $dataDir/$f
done
local APP_SIGNATURE="application/x-vnd.octave-gui"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/octave.rdef.in > octave.rdef
addResourcesToBinaries octave.rdef $binDir/octave-gui
mimeset -f $binDir/octave-gui
# Add Octave-GUI to Deskbar
mkdir -p $dataDir/deskbar/menu/Applications
cat > $dataDir/deskbar/menu/Applications/Octave << EOF
#!/bin/sh
$binDir/octave-gui --gui --experimental-terminal-widget
EOF
chmod +x $dataDir/deskbar/menu/Applications/Octave
copyattr -n "BEOS:ICON" $binDir/octave-gui $dataDir/deskbar/menu/Applications/Octave
mimeset -f $dataDir/deskbar/menu/Applications/Octave
prepareInstalledDevelLibs \
liboctave \
liboctgui \
liboctinterp
fixPkgconfig

View File

@@ -1,14 +1,14 @@
From 90d63741636b88d9fd84a281d99eb6c87fcf193e Mon Sep 17 00:00:00 2001
From c977a6a3d6377a2eb72f16c62c3230a5133e4e00 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sun, 26 Mar 2017 19:42:22 +0200
Subject: rusage Haiku patch
diff --git a/liboctave/wrappers/time-wrappers.c b/liboctave/wrappers/time-wrappers.c
index 5bc8c89..99c9452 100644
index a22cd2e..b430281 100644
--- a/liboctave/wrappers/time-wrappers.c
+++ b/liboctave/wrappers/time-wrappers.c
@@ -128,6 +128,7 @@ octave_getrusage_wrapper (time_t *usr_sec, time_t *sys_sec,
@@ -131,6 +131,7 @@ octave_getrusage_wrapper (time_t *usr_sec, time_t *sys_sec,
*sys_sec = ru.ru_stime.tv_sec;
*sys_usec = ru.ru_stime.tv_usec;
@@ -16,7 +16,7 @@ index 5bc8c89..99c9452 100644
*maxrss = ru.ru_maxrss;
*ixrss = ru.ru_ixrss;
*idrss = ru.ru_idrss;
@@ -142,6 +143,22 @@ octave_getrusage_wrapper (time_t *usr_sec, time_t *sys_sec,
@@ -145,6 +146,22 @@ octave_getrusage_wrapper (time_t *usr_sec, time_t *sys_sec,
*nsignals = ru.ru_nsignals;
*nvcsw = ru.ru_nvcsw;
*nivcsw = ru.ru_nivcsw;
@@ -40,5 +40,28 @@ index 5bc8c89..99c9452 100644
return status;
--
2.11.0
2.36.1
From 1f809f17c5d3795d6bdd685135d8bae8615c62f7 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Tue, 24 May 2022 21:46:17 +1000
Subject: Disable adjust figure position
diff --git a/libgui/graphics/Figure.cc b/libgui/graphics/Figure.cc
index 3fa56a0..22eba33 100644
--- a/libgui/graphics/Figure.cc
+++ b/libgui/graphics/Figure.cc
@@ -137,7 +137,7 @@ namespace octave
m_innerRect = boundingBoxToRect (fp.get_boundingbox (true));
m_outerRect = boundingBoxToRect (fp.get_boundingbox (false));
- set_geometry (m_innerRect);
+// set_geometry (m_innerRect);
// Menubar
m_menuBar = new MenuBar (win);
--
2.36.1