Merge updates from master

This commit is contained in:
Repository mirror & CI
2022-05-05 14:48:00 +00:00
16 changed files with 353 additions and 51 deletions

View File

@@ -33,7 +33,7 @@ SUGGESTED_PACKAGES="
"
src_prepare() {
default
R-packages_src_prepare
# remove bundled
rm -r inst/include/ensmallen_bits || die

View 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

View 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
}

View 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:

View 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);

View 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

View 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>

View File

@@ -36,7 +36,7 @@ BDEPEND="sys-apps/pkgcore"
# @DESCRIPTION:
# <dest> will contain symlinks to everything in <source>
_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

View File

@@ -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"
@@ -58,7 +52,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
@@ -68,32 +62,102 @@ 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
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
}
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
if [ -d doc/ ]; then
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
}
@@ -103,10 +167,11 @@ 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.'
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
}
@@ -137,8 +202,13 @@ 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'
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"
}

View File

@@ -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

View File

@@ -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

View File

@@ -1 +1 @@
DIST dzr-220309.tar.gz 5231 BLAKE2B 0e315e5def6e702c0d4c31786a30e431f23d428830653af90467fe1e9cb6e7cdea8f721918bcb60589e22ded89b624a20374b009a0e77318fe3c898feef7857c SHA512 b30fc2a7077bff62b4024f403a4a8549b97c9c06caea342145e0008e35ac78a14b5153a7440912b161a87f82e989ea01d10d6c77db521ead9507184193091f12
DIST dzr-220505.tar.gz 5741 BLAKE2B 727ca4fe3a2cebe8c5c9c97936d729c58be2eb11905b6549b894eed493aa68a571b40e6d06382a47749b999a69abbb0c84e2d01273cf6b11d0149516bb1cce85 SHA512 d70300ec5352e71b6e1edfb4f5e02ee86f7ff49111e21e95e99993e8b10df79544cef3a47b9e840004bd759da1684e419bca999ce8655501fbd6151735f71ed7

View File

@@ -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 )

View File

@@ -1,4 +1,5 @@
dev-hare
dev-octave
dev-R
mpv-plugin
net-client

View File

@@ -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}"