diff --git a/sci-mathematics/octave/additional-files/octave.rdef.in b/sci-mathematics/octave/additional-files/octave.rdef.in new file mode 100644 index 000000000..8a353bc35 --- /dev/null +++ b/sci-mathematics/octave/additional-files/octave.rdef.in @@ -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" +}; diff --git a/sci-mathematics/octave/octave-5.1.0.recipe b/sci-mathematics/octave/octave-7.1.0.recipe similarity index 65% rename from sci-mathematics/octave/octave-5.1.0.recipe rename to sci-mathematics/octave/octave-7.1.0.recipe index 43a1fb346..8fbe2d8f4 100644 --- a/sci-mathematics/octave/octave-5.1.0.recipe +++ b/sci-mathematics/octave/octave-7.1.0.recipe @@ -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 diff --git a/sci-mathematics/octave/patches/octave-5.1.0.patchset b/sci-mathematics/octave/patches/octave-7.1.0.patchset similarity index 51% rename from sci-mathematics/octave/patches/octave-5.1.0.patchset rename to sci-mathematics/octave/patches/octave-7.1.0.patchset index 0f6422281..555b78e79 100644 --- a/sci-mathematics/octave/patches/octave-5.1.0.patchset +++ b/sci-mathematics/octave/patches/octave-7.1.0.patchset @@ -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?= 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