commit: 7cf07131421f0f51511dd6149d27c6ed5f45381e Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Thu May 5 07:30:47 2022 +0000 Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me> CommitDate: Thu May 5 07:32:17 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7cf07131
dev-octave/control: new package, add 3.4.0 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> 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(+) diff --git a/dev-octave/control/Manifest b/dev-octave/control/Manifest new file mode 100644 index 000000000..5eb70e5e1 --- /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 000000000..00ae92738 --- /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 000000000..a34eff85a --- /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 000000000..519994bca --- /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 <[email protected]> +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 000000000..db284757b --- /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 <[email protected]> +Forwarded: not-needed +Reviewed-By: Rafael Laboissière <[email protected]> +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 000000000..4e993b7c8 --- /dev/null +++ b/dev-octave/control/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Alessandro Barbieri</name> + </maintainer> + <upstream> + <changelog>https://octave.sourceforge.io/control/NEWS.html</changelog> + <doc lang="en">https://octave.sourceforge.io/control/overview.html</doc> + <maintainer> + <email>[email protected]</email> + <name>Alexander Wilms</name> + </maintainer> + <maintainer> + <email>[email protected]</email> + <name>Doug Stewart</name> + </maintainer> + <maintainer> + <email>[email protected]</email> + <name>Lukas Reichlin</name> + </maintainer> + <remote-id type="sourceforge">octave/control</remote-id> + </upstream> + <longdescription lang="en"> +Computer-Aided Control System Design (CACSD) Tools for GNU Octave, based on the proven SLICOT Library + </longdescription> +</pkgmetadata>
