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>

Reply via email to