mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-18 19:43:24 -04:00
dev-octave/control: new package, add 3.4.0
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
2
dev-octave/control/Manifest
Normal file
2
dev-octave/control/Manifest
Normal file
@@ -0,0 +1,2 @@
|
||||
DIST control-3.4.0.tar.gz 2981767 BLAKE2B c1c13679b10e1b1cee3d7a2057059f1998a7af460de213c18e8e4affbbe8f5068f690ac788ba8422bd91b7a1142f10c9642c0dae1077205599b063c82ccf00bd SHA512 60728f2c42d3d3ad0cdc1e32c458fdcd0a8ccdfd1a00dd27bcb321cbf891b030c005a5ada6de6b745f93efa5a10e9d42004024a575b8088cb46336c677432a5f
|
||||
DIST octaveforge_configure 75 BLAKE2B a6d08088e51628113f7ee2d125fad93a20978cdec60d30cd6628a6056b127968ccf0bc58d2a01166ecc68e8e1ff25518ecf0a2fff69f1ccf63ba2e95eb327db2 SHA512 f293f8ac550953d7c758dadd1bfbf57754a725e6480e8f11b85b883370989b323324492a16118a9b4bfa897a6720f7f20776754cbf763c61bfa10c90191d9a8f
|
||||
32
dev-octave/control/control-3.4.0.ebuild
Normal file
32
dev-octave/control/control-3.4.0.ebuild
Normal file
@@ -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
|
||||
}
|
||||
19
dev-octave/control/files/control-3.4.0-respect-flags.patch
Normal file
19
dev-octave/control/files/control-3.4.0-respect-flags.patch
Normal file
@@ -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:
|
||||
53
dev-octave/control/files/control-lapack-3.10.0.patch
Normal file
53
dev-octave/control/files/control-lapack-3.10.0.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
Description: Skip tests that fail with lapack 3.10.0
|
||||
Author: Sébastien Villemot <sebastien@debian.org>
|
||||
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);
|
||||
80
dev-octave/control/files/control-use-external-slicot.patch
Normal file
80
dev-octave/control/files/control-use-external-slicot.patch
Normal file
@@ -0,0 +1,80 @@
|
||||
Description: Use external SLICOT instead of embedded copy
|
||||
Author: Sébastien Villemot <sebastien.villemot@ens.fr>
|
||||
Forwarded: not-needed
|
||||
Reviewed-By: Rafael Laboissière <rafael@debian.org>
|
||||
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
|
||||
28
dev-octave/control/metadata.xml
Normal file
28
dev-octave/control/metadata.xml
Normal file
@@ -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>lssndrbarbieri@gmail.com</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>f.alexander.wilms@gmail.com</email>
|
||||
<name>Alexander Wilms</name>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<email>doug.dastew@gmail.com</email>
|
||||
<name>Doug Stewart</name>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<email>lukas.reichlin@gmail.com</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>
|
||||
Reference in New Issue
Block a user