From e99f7061d2ea8bf5409cb07bbe0518a444205875 Mon Sep 17 00:00:00 2001 From: Jonas Frei Date: Thu, 5 May 2022 06:01:39 +0200 Subject: [PATCH 01/11] media-sound/dzr: add 220503, drop 220309 Signed-off-by: Jonas Frei --- media-sound/dzr/Manifest | 2 +- media-sound/dzr/{dzr-220309.ebuild => dzr-220503.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename media-sound/dzr/{dzr-220309.ebuild => dzr-220503.ebuild} (100%) diff --git a/media-sound/dzr/Manifest b/media-sound/dzr/Manifest index 826c28073d..429e00a8f4 100644 --- a/media-sound/dzr/Manifest +++ b/media-sound/dzr/Manifest @@ -1 +1 @@ -DIST dzr-220309.tar.gz 5231 BLAKE2B 0e315e5def6e702c0d4c31786a30e431f23d428830653af90467fe1e9cb6e7cdea8f721918bcb60589e22ded89b624a20374b009a0e77318fe3c898feef7857c SHA512 b30fc2a7077bff62b4024f403a4a8549b97c9c06caea342145e0008e35ac78a14b5153a7440912b161a87f82e989ea01d10d6c77db521ead9507184193091f12 +DIST dzr-220503.tar.gz 5708 BLAKE2B 6a18784bf8f91b686d6b0fbcad2aff1f494a259252932caad296c3d899d20956aa212ca8ce613a3a85f67c1002159acc5e46def9a5158427b9b460cda74b5126 SHA512 1fb66d8995da1f43520887cf89fa6e03556c479f640ce4b76cab166c75448308a24e3888bc455a57d083efde4b911ae5506cd410d8ddb8b328f608dabcdb5568 diff --git a/media-sound/dzr/dzr-220309.ebuild b/media-sound/dzr/dzr-220503.ebuild similarity index 100% rename from media-sound/dzr/dzr-220309.ebuild rename to media-sound/dzr/dzr-220503.ebuild From d733827f906784f6376048cdd3097028642e75cc Mon Sep 17 00:00:00 2001 From: Nicola Smaniotto Date: Thu, 5 May 2022 09:10:14 +0200 Subject: [PATCH 02/11] mpv-plugin/mpv-plugin-xrandr: add x11-apps/xrandr dependency Signed-off-by: Nicola Smaniotto --- ...r-20190523.ebuild => mpv-plugin-xrandr-20190523-r1.ebuild} | 4 ++++ 1 file changed, 4 insertions(+) rename mpv-plugin/mpv-plugin-xrandr/{mpv-plugin-xrandr-20190523.ebuild => mpv-plugin-xrandr-20190523-r1.ebuild} (94%) diff --git a/mpv-plugin/mpv-plugin-xrandr/mpv-plugin-xrandr-20190523.ebuild b/mpv-plugin/mpv-plugin-xrandr/mpv-plugin-xrandr-20190523-r1.ebuild similarity index 94% rename from mpv-plugin/mpv-plugin-xrandr/mpv-plugin-xrandr-20190523.ebuild rename to mpv-plugin/mpv-plugin-xrandr/mpv-plugin-xrandr-20190523-r1.ebuild index 6f920bb754..71b80c56fa 100644 --- a/mpv-plugin/mpv-plugin-xrandr/mpv-plugin-xrandr-20190523.ebuild +++ b/mpv-plugin/mpv-plugin-xrandr/mpv-plugin-xrandr-20190523-r1.ebuild @@ -18,6 +18,10 @@ SRC_URI="https://gitlab.com/lvml/${PN}/-/archive/${COMMIT}/${MY_P}.tar.gz -> ${P LICENSE="GPL-2" KEYWORDS="~amd64" +RDEPEND=" + x11-apps/xrandr +" + S="${WORKDIR}/${MY_P}" MPV_PLUGIN_FILES=( xrandr.lua ) From cad184ce0526c395646191e9f4fdece311355842 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Wed, 4 May 2022 13:30:26 +0200 Subject: [PATCH 03/11] media-libs/imgui: fix for fpermissive Signed-off-by: Alessandro Barbieri --- media-libs/imgui/files/imgui-1.87-fpermissive.patch | 11 +++++++++++ media-libs/imgui/imgui-1.87-r5.ebuild | 7 +++---- 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 media-libs/imgui/files/imgui-1.87-fpermissive.patch diff --git a/media-libs/imgui/files/imgui-1.87-fpermissive.patch b/media-libs/imgui/files/imgui-1.87-fpermissive.patch new file mode 100644 index 0000000000..7b2fef035d --- /dev/null +++ b/media-libs/imgui/files/imgui-1.87-fpermissive.patch @@ -0,0 +1,11 @@ +--- a/imgui/backends/imgui_impl_allegro5.cpp ++++ b/imgui/backends/imgui_impl_allegro5.cpp +@@ -233,7 +233,7 @@ + return false; + + // Store our identifier +- io.Fonts->SetTexID((void*)cloned_img); ++ io.Fonts->SetTexID((ImTextureID)(intptr_t)cloned_img); + bd->Texture = cloned_img; + + // Create an invisible mouse cursor diff --git a/media-libs/imgui/imgui-1.87-r5.ebuild b/media-libs/imgui/imgui-1.87-r5.ebuild index 51478bf633..927b7feaec 100644 --- a/media-libs/imgui/imgui-1.87-r5.ebuild +++ b/media-libs/imgui/imgui-1.87-r5.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit cmake flag-o-matic +inherit cmake DESCRIPTION="Bloat-free graphical user interface library for C++" HOMEPAGE=" @@ -54,10 +54,9 @@ REQUIRED_USE=" ) " -src_prepare() { - # https://github.com/ocornut/imgui/issues/5281 - append-cxxflags -fpermissive +PATCHES=( "${FILESDIR}/${P}-fpermissive.patch" ) +src_prepare() { pushd ../ || die rm -rf "${S}/imgui" || die mv "${P}" "${S}/imgui" || die From 450bc33de335b67a9ea402faa2395d2e5b10a4a1 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Wed, 4 May 2022 22:11:42 +0200 Subject: [PATCH 04/11] R-packages.eclass: use bash style tests Signed-off-by: Alessandro Barbieri --- eclass/R-packages.eclass | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eclass/R-packages.eclass b/eclass/R-packages.eclass index 1412ba802c..0be59a20ca 100644 --- a/eclass/R-packages.eclass +++ b/eclass/R-packages.eclass @@ -36,7 +36,7 @@ BDEPEND="sys-apps/pkgcore" # @DESCRIPTION: # will contain symlinks to everything in _movelink() { - if [ -e "${1}" ]; then + if [[ -e "${1}" ]]; then local rp1="$(realpath ${1})" || die mv "${rp1}" "${2}" || die cp -rsf "${2}" "${rp1}" || die @@ -110,11 +110,11 @@ R-packages_src_install() { docompress -x "${DOCS_DIR}/${i}" done - if [ -e html ]; then + if [[ -e html ]]; then _movelink html "${ED}${DOCS_DIR}/html" || die docompress -x "${DOCS_DIR}/html" fi - if [ -e doc ]; then + if [[ -e doc ]]; then pushd doc || die for i in * ; do _movelink "${i}" "${ED}${DOCS_DIR}/${i}" || die @@ -122,7 +122,7 @@ R-packages_src_install() { done popd || die fi - if [ -e doc/html ]; then + if [[ -e doc/html ]]; then docompress -x "${DOCS_DIR}/html" fi docompress -x "${DOCS_DIR}" @@ -137,10 +137,10 @@ R-packages_src_install() { # @DESCRIPTION: # function that will prompt to install the suggested packages if they exist R-packages_pkg_postinst() { - if [ -v SUGGESTED_PACKAGES ]; then + if [[ -v SUGGESTED_PACKAGES ]]; then for p in ${SUGGESTED_PACKAGES} ; do pexist=$(pquery -n1 "${p}" 2>/dev/null) || die - if [ -n "${pexist}" ]; then + if [[ -n "${pexist}" ]]; then optfeature "having the upstream suggested package" "${p}" fi done From f16593b366ff0061d602f4dc792a2e2a26006733 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Wed, 4 May 2022 22:12:03 +0200 Subject: [PATCH 05/11] octaveforge.eclass: use bash style tests Signed-off-by: Alessandro Barbieri --- eclass/octaveforge.eclass | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/eclass/octaveforge.eclass b/eclass/octaveforge.eclass index b9303884cf..590f21a1c3 100644 --- a/eclass/octaveforge.eclass +++ b/eclass/octaveforge.eclass @@ -58,7 +58,7 @@ SLOT="0" # function to unpack and set the correct S octaveforge_src_unpack() { default - if [ ! -d "${WORKDIR}/${P}" ]; then + if [[ ! -d "${WORKDIR}/${P}" ]]; then S="${WORKDIR}/${PN}" pushd "${S}" || die fi @@ -76,12 +76,12 @@ octaveforge_src_prepare() { sed -i 's|octave_config_info|__octave_config_info__|g' Makefile || die chmod 0755 "${S}/configure" || die - if [ -e "${S}/src/autogen.sh" ]; then + if [[ -e "${S}/src/autogen.sh" ]]; then pushd "${S}/src" || die ./autogen.sh || die 'failed to run autogen.sh' popd || die fi - if [ -e "${S}/src/Makefile" ]; then + if [[ -e "${S}/src/Makefile" ]]; then sed -i 's/ -s / /g' "${S}/src/Makefile" || die 'sed failed.' fi eapply_user @@ -93,7 +93,7 @@ octaveforge_src_prepare() { # documentation to docsdir octaveforge_src_install() { emake DESTDIR="${D}" DISTPKG='Gentoo' install - if [ -d doc/ ]; then + if [[ -d doc/ ]]; then dodoc -r doc/* fi } @@ -103,7 +103,7 @@ octaveforge_src_install() { # function that will rebuild the octave package database octaveforge_pkg_postinst() { einfo "Registering ${CATEGORY}/${PF} on the Octave package database." - if [ ! -d "${OCT_PKGDIR}" ] ; then + if [[ ! -d "${OCT_PKGDIR}" ]] ; then mkdir -p "${OCT_PKGDIR}" || die fi "${OCT_BIN}" -H -q --no-site-file --eval "pkg('rebuild');" &> /dev/null || die 'failed to register the package.' @@ -122,7 +122,7 @@ octaveforge_pkg_prerm() { " ) rm -f "${pkgdir}/packinfo/on_uninstall.m" || die - if [ -e "${pkgdir}/packinfo/on_uninstall.m.orig" ]; then + if [[ -e "${pkgdir}/packinfo/on_uninstall.m.orig" ]]; then mv "$pkgdir"/packinfo/on_uninstall.m{.orig,} || die cd "$pkgdir/packinfo" || die "${OCT_BIN}" -H -q --no-site-file --eval " @@ -137,7 +137,7 @@ octaveforge_pkg_prerm() { # function that will rebuild the octave package database octaveforge_pkg_postrm() { einfo 'Rebuilding the Octave package database.' - if [ ! -d "${OCT_PKGDIR}" ] ; then + if [[ ! -d "${OCT_PKGDIR}" ]] ; then mkdir -p "${OCT_PKGDIR}" || die fi "${OCT_BIN}" -H --silent --eval 'pkg rebuild' &> /dev/null || die 'failed to rebuild the package database' From 632fc97c2078c3bf487fb4ca43410ea3e980681f Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Thu, 5 May 2022 08:39:46 +0200 Subject: [PATCH 06/11] dev-R/RcppEnsmallen: add eclass phase Signed-off-by: Alessandro Barbieri --- dev-R/RcppEnsmallen/RcppEnsmallen-0.2.19.0.1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-R/RcppEnsmallen/RcppEnsmallen-0.2.19.0.1.ebuild b/dev-R/RcppEnsmallen/RcppEnsmallen-0.2.19.0.1.ebuild index 9f73b5c343..f65fe2842b 100644 --- a/dev-R/RcppEnsmallen/RcppEnsmallen-0.2.19.0.1.ebuild +++ b/dev-R/RcppEnsmallen/RcppEnsmallen-0.2.19.0.1.ebuild @@ -33,7 +33,7 @@ SUGGESTED_PACKAGES=" " src_prepare() { - default + R-packages_src_prepare # remove bundled rm -r inst/include/ensmallen_bits || die From 14617d41adcaac22702439046b5dad6a5979ac94 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Thu, 5 May 2022 09:24:49 +0200 Subject: [PATCH 07/11] octaveforge.eclass: move octaveforge makefile logic into the eclass Signed-off-by: Alessandro Barbieri --- eclass/octaveforge.eclass | 128 +++++++++++++++++++++++++++++--------- 1 file changed, 99 insertions(+), 29 deletions(-) diff --git a/eclass/octaveforge.eclass b/eclass/octaveforge.eclass index 590f21a1c3..7f5f38dee9 100644 --- a/eclass/octaveforge.eclass +++ b/eclass/octaveforge.eclass @@ -17,12 +17,7 @@ case ${EAPI} in *) die "${ECLASS}: EAPI ${EAPI} unsupported." esac -EXPORT_FUNCTIONS src_unpack src_prepare src_install pkg_postinst pkg_prerm pkg_postrm - -# @ECLASS-VARIABLE: OCTAVEFORGE_CAT -# @DESCRIPTION: -# the octave-forge category of the package. -OCTAVEFORGE_CAT="${OCTAVEFORGE_CAT:-main}" +EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_install pkg_postinst pkg_prerm pkg_postrm # @ECLASS-VARIABLE: REPO_URI # @DESCRIPTION: @@ -48,7 +43,6 @@ OCT_BIN="$(type -p octave)" SRC_URI=" mirror://sourceforge/octave/${P}.tar.gz - ${REPO_URI}/packages/package_Makefile.in -> octaveforge_Makefile ${REPO_URI}/packages/package_configure.in -> octaveforge_configure " SLOT="0" @@ -68,12 +62,7 @@ octaveforge_src_unpack() { # @DESCRIPTION: # function to add octaveforge specific makefile and configure and run autogen.sh if available octaveforge_src_prepare() { - for filename in Makefile configure; do - cp "${DISTDIR}/octaveforge_${filename}" "${S}/${filename}" || die - done - - #octave_config_info is deprecated in octave5 - sed -i 's|octave_config_info|__octave_config_info__|g' Makefile || die + cp "${DISTDIR}/octaveforge_configure" "${S}/configure" || die chmod 0755 "${S}/configure" || die if [[ -e "${S}/src/autogen.sh" ]]; then @@ -87,12 +76,87 @@ octaveforge_src_prepare() { eapply_user } +octaveforge_src_compile() { + PKGDIR="$(pwd | sed -e 's|^.*/||' || die)" + export OCT_PACKAGE="${TMPDIR}/${PKGDIR}.tar.gz" + export OCT_PKG=$(echo "${PKGDIR}" | sed -e 's|^\(.*\)-.*|\1|' || die) + export MKOCTFILE="mkoctfile -v" + + cmd="disp(__octave_config_info__('octlibdir'));" + OCTLIBDIR=$(octavecommand "${cmd}" || die) + export LFLAGS="-L${OCTLIBDIR}" + + if [[ -e src/Makefile ]]; then + emake -C src all + fi + + if [[ -e src/Makefile ]]; then + mv src/Makefile src/Makefile.disable || die + fi + if [[ -e src/configure ]]; then + mv src/configure src/configure.disable || die + fi + + pushd .. || die + tar -czf "${OCT_PACKAGE}" "${PKGDIR}" || die +} + # @FUNCTION: octaveforge_src_install # @DESCRIPTION: # function to install the octave package # documentation to docsdir octaveforge_src_install() { - emake DESTDIR="${D}" DISTPKG='Gentoo' install + TMPDIR="${T}" + DESTDIR="${D}" + DISTPKG='Gentoo' + + pushd ../ || die + if [[ "X${DISTPKG}X" != "XX" ]]; then + stripcmd=" + unlink(pkg('local_list')); + unlink(pkg('global_list')); + " + fi + if [[ "X${DESTDIR}X" = "XX" ]]; then + cmd=" + warning('off','all'); + pkg('install','${OCT_PACKAGE}');l=pkg('list'); + disp(l{cellfun(@(x)strcmp(x.name,'${OCT_PKG}'),l)}.dir); + " + oct_pkgdir=$(octavecommand "${cmd}${stripcmd}" || die) + else + cmd="disp(fullfile(OCTAVE_HOME(),'share','octave'));" + shareprefix=${DESTDIR}/$(octavecommand "${cmd}" || die) + cmd="disp(fullfile(__octave_config_info__('libexecdir'),'octave'));" + libexecprefix=${DESTDIR}/$(octavecommand "${cmd}" || die) + octprefix="${shareprefix}/packages" || die + archprefix="${libexecprefix}/packages" || die + if [[ ! -e "${octprefix}" ]]; then + mkdir -p "${octprefix}" || die + fi + if [[ ! -e "${archprefix}" ]]; then + mkdir -p "${archprefix}" || die + fi + cmd=" + warning('off','all'); + pkg('prefix','${octprefix}','${archprefix}'); + pkg('global_list',fullfile('${shareprefix}','octave_packages')); + pkg('local_list',fullfile('${shareprefix}','octave_packages')); + pkg('install','-nodeps','-verbose','${OCT_PACKAGE}'); + " + octavecommand "${cmd}" || die + cmd=" + warning('off','all'); + pkg('prefix','${octprefix}','${archprefix}'); + pkg('global_list',fullfile('${shareprefix}','octave_packages')); + pkg('local_list',fullfile('${shareprefix}','octave_packages')); + l=pkg('list'); + disp(l{cellfun(@(x)strcmp(x.name,'${OCT_PKG}'),l)}.dir); + " + oct_pkgdir=$(octavecommand "${cmd}${stripcmd}" || die) + fi + export oct_pkgdir + if [[ -d doc/ ]]; then dodoc -r doc/* fi @@ -106,7 +170,8 @@ octaveforge_pkg_postinst() { if [[ ! -d "${OCT_PKGDIR}" ]] ; then mkdir -p "${OCT_PKGDIR}" || die fi - "${OCT_BIN}" -H -q --no-site-file --eval "pkg('rebuild');" &> /dev/null || die 'failed to register the package.' + cmd="pkg('rebuild');" + octavecommand "${cmd}" || die 'failed to register the package.' } # @FUNCTION: octaveforge_pkg_prerm @@ -114,21 +179,21 @@ octaveforge_pkg_postinst() { # function that will run on_uninstall routines to prepare the package to remove octaveforge_pkg_prerm() { einfo 'Running on_uninstall routines to prepare the package to remove.' - local pkgdir=$( - "${OCT_BIN}" -H -q --no-site-file --eval " - pkg('rebuild'); - l = pkg('list'); - disp(l{cellfun(@(x)strcmp(x.name,'${PN}'),l)}.dir); - " - ) - rm -f "${pkgdir}/packinfo/on_uninstall.m" || die - if [[ -e "${pkgdir}/packinfo/on_uninstall.m.orig" ]]; then - mv "$pkgdir"/packinfo/on_uninstall.m{.orig,} || die - cd "$pkgdir/packinfo" || die - "${OCT_BIN}" -H -q --no-site-file --eval " + cmd=" + pkg('rebuild'); + l = pkg('list'); + disp(l{cellfun(@(x)strcmp(x.name,'${PN}'),l)}.dir); + " + oct_pkgdir=$(octavecommand "${cmd}" || die) + rm -f "${oct_pkgdir}/packinfo/on_uninstall.m" || die + if [[ -e "${oct_pkgdir}/packinfo/on_uninstall.m.orig" ]]; then + mv "$oct_pkgdir"/packinfo/on_uninstall.m{.orig,} || die + pushd "$oct_pkgdir/packinfo" || die + cmd=" l = pkg('list'); on_uninstall(l{cellfun(@(x)strcmp(x.name,'${PN}'), l)}); - " &> /dev/null || die 'failed to remove the package' + " + octavecommand "${cmd}" || die 'failed to remove the package' fi } @@ -140,5 +205,10 @@ octaveforge_pkg_postrm() { if [[ ! -d "${OCT_PKGDIR}" ]] ; then mkdir -p "${OCT_PKGDIR}" || die fi - "${OCT_BIN}" -H --silent --eval 'pkg rebuild' &> /dev/null || die 'failed to rebuild the package database' + cmd="pkg('rebuild');" + "${OCT_BIN}" -H --silent "${cmd}" || die 'failed to rebuild the package database' +} + +octavecommand() { + "${OCT_BIN}" -H -q --no-site-file --eval "$1" } From 61bbf1f66b85129952797da3c16fd6df89b1dc6c Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Thu, 5 May 2022 09:25:24 +0200 Subject: [PATCH 08/11] profiles: add dev-octave category Signed-off-by: Alessandro Barbieri --- profiles/categories | 1 + 1 file changed, 1 insertion(+) diff --git a/profiles/categories b/profiles/categories index 6a18af1c4d..568d613085 100644 --- a/profiles/categories +++ b/profiles/categories @@ -1,4 +1,5 @@ dev-hare +dev-octave dev-R mpv-plugin net-client From 7cf07131421f0f51511dd6149d27c6ed5f45381e Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Thu, 5 May 2022 09:30:47 +0200 Subject: [PATCH 09/11] dev-octave/control: new package, add 3.4.0 Signed-off-by: Alessandro Barbieri --- dev-octave/control/Manifest | 2 + dev-octave/control/control-3.4.0.ebuild | 32 ++++++++ .../files/control-3.4.0-respect-flags.patch | 19 +++++ .../control/files/control-lapack-3.10.0.patch | 53 ++++++++++++ .../files/control-use-external-slicot.patch | 80 +++++++++++++++++++ dev-octave/control/metadata.xml | 28 +++++++ 6 files changed, 214 insertions(+) create mode 100644 dev-octave/control/Manifest create mode 100644 dev-octave/control/control-3.4.0.ebuild create mode 100644 dev-octave/control/files/control-3.4.0-respect-flags.patch create mode 100644 dev-octave/control/files/control-lapack-3.10.0.patch create mode 100644 dev-octave/control/files/control-use-external-slicot.patch create mode 100644 dev-octave/control/metadata.xml diff --git a/dev-octave/control/Manifest b/dev-octave/control/Manifest new file mode 100644 index 0000000000..5eb70e5e15 --- /dev/null +++ b/dev-octave/control/Manifest @@ -0,0 +1,2 @@ +DIST control-3.4.0.tar.gz 2981767 BLAKE2B c1c13679b10e1b1cee3d7a2057059f1998a7af460de213c18e8e4affbbe8f5068f690ac788ba8422bd91b7a1142f10c9642c0dae1077205599b063c82ccf00bd SHA512 60728f2c42d3d3ad0cdc1e32c458fdcd0a8ccdfd1a00dd27bcb321cbf891b030c005a5ada6de6b745f93efa5a10e9d42004024a575b8088cb46336c677432a5f +DIST octaveforge_configure 75 BLAKE2B a6d08088e51628113f7ee2d125fad93a20978cdec60d30cd6628a6056b127968ccf0bc58d2a01166ecc68e8e1ff25518ecf0a2fff69f1ccf63ba2e95eb327db2 SHA512 f293f8ac550953d7c758dadd1bfbf57754a725e6480e8f11b85b883370989b323324492a16118a9b4bfa897a6720f7f20776754cbf763c61bfa10c90191d9a8f diff --git a/dev-octave/control/control-3.4.0.ebuild b/dev-octave/control/control-3.4.0.ebuild new file mode 100644 index 0000000000..00ae92738d --- /dev/null +++ b/dev-octave/control/control-3.4.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit octaveforge + +DESCRIPTION="Computer-Aided Control System Design" +HOMEPAGE="https://octave.sourceforge.io/control/index.html" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=">=sci-mathematics/octave-4.0.0" +RDEPEND=" + ${DEPEND} + sci-libs/slicot +" + +PATCHES=( + "${FILESDIR}/${PN}-use-external-slicot.patch" + "${FILESDIR}/${PN}-lapack-3.10.0.patch" + "${FILESDIR}/${P}-respect-flags.patch" +) + +src_prepare() { + default + #bundled slicot + rm -f src/slicot.tar.gz || die + octaveforge_src_prepare +} diff --git a/dev-octave/control/files/control-3.4.0-respect-flags.patch b/dev-octave/control/files/control-3.4.0-respect-flags.patch new file mode 100644 index 0000000000..a34eff85ae --- /dev/null +++ b/dev-octave/control/files/control-3.4.0-respect-flags.patch @@ -0,0 +1,19 @@ +--- a/src/Makefile ++++ b/src/Makefile +@@ -15,7 +15,7 @@ + + AR := $(shell $(MKOCTFILE) -p AR) + +-PKG_CXXFLAGS := -Wall -Wno-deprecated-declarations $(PKG_CXXFLAGS_APPEND) ++PKG_CXXFLAGS := $(CXXFLAGS) -Wall -Wno-deprecated-declarations $(PKG_CXXFLAGS_APPEND) + + all: __control_slicot_functions__.oct \ + __control_helper_functions__.oct +@@ -66,6 +66,7 @@ + + # helper functions + __control_helper_functions__.oct: __control_helper_functions__.cc ++ LDFLAGS="$(LDFLAGS)" \ + $(MKOCTFILE) $(PKG_CXXFLAGS) __control_helper_functions__.cc + + clean: diff --git a/dev-octave/control/files/control-lapack-3.10.0.patch b/dev-octave/control/files/control-lapack-3.10.0.patch new file mode 100644 index 0000000000..519994bcae --- /dev/null +++ b/dev-octave/control/files/control-lapack-3.10.0.patch @@ -0,0 +1,53 @@ +Description: Skip tests that fail with lapack 3.10.0 +Author: Sébastien Villemot +Bug: https://savannah.gnu.org/bugs/?61205 +Last-Update: 2021-09-22 +--- a/inst/btaconred.m ++++ b/inst/btaconred.m +@@ -277,5 +277,5 @@ endfunction + %! Mo = [Ao, Bo; Co, Do]; + %! Me = [Ae, Be; Ce, De]; + %! +-%!assert (Mo, Me, 1e-4); ++%!xtest assert (Mo, Me, 1e-4); + %!assert (Info.hsvc, HSVCe, 1e-4); +--- a/inst/btamodred.m ++++ b/inst/btamodred.m +@@ -300,5 +300,5 @@ endfunction + %! Mo = [Ao, Bo; Co, Do]; + %! Me = [Ae, Be; Ce, De]; + %! +-%!assert (Mo, Me, 1e-4); ++%!xtest assert (Mo, Me, 1e-4); + %!assert (Info.hsv, HSVe, 1e-4); +--- a/inst/moen4.m ++++ b/inst/moen4.m +@@ -3028,7 +3028,7 @@ endfunction + %! De = [ -0.4997 0.0451 + %! -1.0011 -0.5567 ]; + %! +-%!assert (SYS.A, Ae, 1e-4); +-%!assert (SYS.B, Be, 1e-4); +-%!assert (SYS.C, Ce, 1e-4); ++%!xtest assert (SYS.A, Ae, 1e-4); ++%!xtest assert (SYS.B, Be, 1e-4); ++%!xtest assert (SYS.C, Ce, 1e-4); + %!assert (SYS.D, De, 1e-4); +--- a/inst/hnamodred.m ++++ b/inst/hnamodred.m +@@ -465,5 +465,5 @@ endfunction + %! Mo = [Ao, Bo; Co, Do]; + %! Me = [Ae, Be; Ce, De]; + %! +-%!assert (Mo, Me, 1e-4); ++%!xtest assert (Mo, Me, 1e-4); + %!assert (Info.hsv, HSVe, 1e-4); +--- a/inst/cfconred.m ++++ b/inst/cfconred.m +@@ -330,5 +330,5 @@ endfunction + %! Mo = [Ao, Bo; Co, Do]; + %! Me = [Ae, Be; Ce, De]; + %! +-%!assert (Mo, Me, 1e-4); ++%!xtest assert (Mo, Me, 1e-4); + %!assert (Info.hsv, HSVe, 1e-4); diff --git a/dev-octave/control/files/control-use-external-slicot.patch b/dev-octave/control/files/control-use-external-slicot.patch new file mode 100644 index 0000000000..db284757bb --- /dev/null +++ b/dev-octave/control/files/control-use-external-slicot.patch @@ -0,0 +1,80 @@ +Description: Use external SLICOT instead of embedded copy +Author: Sébastien Villemot +Forwarded: not-needed +Reviewed-By: Rafael Laboissière +Last-Update: 2021-06-29 +--- a/src/Makefile ++++ b/src/Makefile +@@ -22,47 +22,33 @@ + + # TODO: Private oct-files for control package. + +-# unpack and compile SLICOT library +-# Note that TG04BX is a custom routine. +-# It has the extension .fortran such that +-# it is not deleted by rm *.f when using +-# the developer makefile makefile_control.m +-# The other rotuines *.fortan are modified versions +-# of the original slicot routines. +-# +-# MA02ID.f use in its original version is compiled by an +-# extra command suppressing warnings on indexing errors +-# +-slicotlibrary.a: slicot.tar.gz +- tar -xzf slicot.tar.gz +- mkdir sltmp +- mv slicot/src/*.f ./sltmp +- mv slicot/src_aux/*.f ./sltmp +- if [ "$(HAVE_DGGES)" = "1" ]; then \ +- echo "copy routines using DGGES"; \ +- cp SB04OD.fortran ./sltmp/SB04OD.f; \ +- cp SG03AD.fortran ./sltmp/SG03AD.f; \ +- cp SG03BD.fortran ./sltmp/SG03BD.f; \ +- fi; +- cp AB08NX.fortran ./sltmp/AB08NX.f +- cp AG08BY.fortran ./sltmp/AG08BY.f +- cp SB01BY.fortran ./sltmp/SB01BY.f +- cp SB01FY.fortran ./sltmp/SB01FY.f +- cp SB06ND.fortran ./sltmp/SB06ND.f +- cp TB01MD.fortran ./sltmp/TB01MD.f +- cp TB01ND.fortran ./sltmp/TB01ND.f +- cp TB01ZD.fortran ./sltmp/TB01ZD.f +- cp TG04BX.fortran ./sltmp/TG04BX.f +- cp ODLTZM.fortran ./sltmp/ODLTZM.f +- cp makefile.slicot ./sltmp/makefile +- cd sltmp; $(MKOCTFILE) -w -c MA02ID.f; rm MA02ID.f; $(MKOCTFILE) -c *.f; +- $(AR) -rc slicotlibrary.a ./sltmp/*.o +- rm -rf sltmp slicot ++sltmp/%.f: %.fortran ++ mkdir -p sltmp ++ cp $< $@ ++ ++FORTRAN_SOURCES = \ ++ sltmp/AB08NX.f \ ++ sltmp/AG08BY.f \ ++ sltmp/SB01BY.f \ ++ sltmp/SB01FY.f \ ++ sltmp/SB06ND.f \ ++ sltmp/TB01MD.f \ ++ sltmp/TB01ND.f \ ++ sltmp/TB01ZD.f \ ++ sltmp/TG04BX.f \ ++ sltmp/ODLTZM.f ++ ++ifeq ($(HAVE_DGGES), 1) ++FORTRAN_SOURCES += \ ++ sltmp/SB04OD.f \ ++ sltmp/SG03AD.f \ ++ sltmp/SG03BD.f ++endif + + # slicot functions +-__control_slicot_functions__.oct: __control_slicot_functions__.cc common.cc slicotlibrary.a +- LDFLAGS="$(LDFLAGS)" \ +- $(MKOCTFILE) $(PKG_CXXFLAGS) __control_slicot_functions__.cc common.cc slicotlibrary.a ++__control_slicot_functions__.oct: __control_slicot_functions__.cc common.cc $(FORTRAN_SOURCES) ++ LDFLAGS="$(LDFLAGS)" \ ++ $(MKOCTFILE) $(PKG_CXXFLAGS) __control_slicot_functions__.cc common.cc $(FORTRAN_SOURCES) -lslicot + + # helper functions + __control_helper_functions__.oct: __control_helper_functions__.cc diff --git a/dev-octave/control/metadata.xml b/dev-octave/control/metadata.xml new file mode 100644 index 0000000000..4e993b7c8b --- /dev/null +++ b/dev-octave/control/metadata.xml @@ -0,0 +1,28 @@ + + + + + lssndrbarbieri@gmail.com + Alessandro Barbieri + + + https://octave.sourceforge.io/control/NEWS.html + https://octave.sourceforge.io/control/overview.html + + f.alexander.wilms@gmail.com + Alexander Wilms + + + doug.dastew@gmail.com + Doug Stewart + + + lukas.reichlin@gmail.com + Lukas Reichlin + + octave/control + + +Computer-Aided Control System Design (CACSD) Tools for GNU Octave, based on the proven SLICOT Library + + From 254a781abc0a17d0630c2a0d7318c6fbfcc69761 Mon Sep 17 00:00:00 2001 From: Alessandro Barbieri Date: Thu, 5 May 2022 09:32:58 +0200 Subject: [PATCH 10/11] sci-libs/slicot: EAPI 8 Signed-off-by: Alessandro Barbieri --- ...20101122.ebuild => slicot-5.0_p20101122-r1.ebuild} | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) rename sci-libs/slicot/{slicot-5.0_p20101122.ebuild => slicot-5.0_p20101122-r1.ebuild} (83%) diff --git a/sci-libs/slicot/slicot-5.0_p20101122.ebuild b/sci-libs/slicot/slicot-5.0_p20101122-r1.ebuild similarity index 83% rename from sci-libs/slicot/slicot-5.0_p20101122.ebuild rename to sci-libs/slicot/slicot-5.0_p20101122-r1.ebuild index 2146050826..74662c9d9b 100644 --- a/sci-libs/slicot/slicot-5.0_p20101122.ebuild +++ b/sci-libs/slicot/slicot-5.0_p20101122-r1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 inherit flag-o-matic fortran-2 toolchain-funcs @@ -9,7 +9,10 @@ MY_PV="${PV/_p/+}" MY_P="${PN}-${MY_PV}" DESCRIPTION="Subroutine Library in Systems and Control Theory" -HOMEPAGE="https://web.archive.org/web/20191022092917/http://www.slicot.org" +HOMEPAGE=" + https://web.archive.org/web/20191022092917/http://www.slicot.org + https://tracker.debian.org/pkg/slicot +" SRC_URI="http://cdn-fastly.deb.debian.org/debian/pool/main/s/${PN}/${PN}_${MY_PV}.orig.tar.gz" LICENSE="GPL-2+" @@ -20,7 +23,7 @@ IUSE="doc examples" DEPEND=" virtual/blas - virtual/lapack + || ( sci-libs/lapack[deprecated] sci-libs/openblas ) " RDEPEND="${DEPEND}" From 9203dcbe242d617287ccb4ba173bc5d5a143609e Mon Sep 17 00:00:00 2001 From: Jonas Frei Date: Thu, 5 May 2022 13:59:54 +0200 Subject: [PATCH 11/11] media-sound/dzr: add 220505, drop 220503 Signed-off-by: Jonas Frei --- media-sound/dzr/Manifest | 2 +- media-sound/dzr/{dzr-220503.ebuild => dzr-220505.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename media-sound/dzr/{dzr-220503.ebuild => dzr-220505.ebuild} (100%) diff --git a/media-sound/dzr/Manifest b/media-sound/dzr/Manifest index 429e00a8f4..f875a1a9fc 100644 --- a/media-sound/dzr/Manifest +++ b/media-sound/dzr/Manifest @@ -1 +1 @@ -DIST dzr-220503.tar.gz 5708 BLAKE2B 6a18784bf8f91b686d6b0fbcad2aff1f494a259252932caad296c3d899d20956aa212ca8ce613a3a85f67c1002159acc5e46def9a5158427b9b460cda74b5126 SHA512 1fb66d8995da1f43520887cf89fa6e03556c479f640ce4b76cab166c75448308a24e3888bc455a57d083efde4b911ae5506cd410d8ddb8b328f608dabcdb5568 +DIST dzr-220505.tar.gz 5741 BLAKE2B 727ca4fe3a2cebe8c5c9c97936d729c58be2eb11905b6549b894eed493aa68a571b40e6d06382a47749b999a69abbb0c84e2d01273cf6b11d0149516bb1cce85 SHA512 d70300ec5352e71b6e1edfb4f5e02ee86f7ff49111e21e95e99993e8b10df79544cef3a47b9e840004bd759da1684e419bca999ce8655501fbd6151735f71ed7 diff --git a/media-sound/dzr/dzr-220503.ebuild b/media-sound/dzr/dzr-220505.ebuild similarity index 100% rename from media-sound/dzr/dzr-220503.ebuild rename to media-sound/dzr/dzr-220505.ebuild