mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
media-libs/libpano13: fix build with gcc 15 for bug #956590
Bug: https://bugs.gentoo.org/956590 Signed-off-by: Markus Meier <maekke@gentoo.org>
This commit is contained in:
parent
cb43b933f6
commit
ceac182a39
19
media-libs/libpano13/files/libpano13-2.9.22-fabs-sqrt.patch
Normal file
19
media-libs/libpano13/files/libpano13-2.9.22-fabs-sqrt.patch
Normal file
@ -0,0 +1,19 @@
|
||||
diff '--color=auto' -ru libpano13-2.9.22.orig/lmdif.c libpano13-2.9.22/lmdif.c
|
||||
--- libpano13-2.9.22.orig/lmdif.c 2025-05-25 09:57:52.790672552 +0200
|
||||
+++ libpano13-2.9.22/lmdif.c 2025-05-25 09:58:26.444542495 +0200
|
||||
@@ -1222,7 +1222,6 @@
|
||||
static double zero = 0.0;
|
||||
static double p25 = 0.25;
|
||||
static double p5 = 0.5;
|
||||
-double fabs(), sqrt();
|
||||
|
||||
/*
|
||||
* copy r and (q transpose)*b to preserve input and initialize s.
|
||||
@@ -1416,7 +1415,6 @@
|
||||
static double rgiant = 1.304e19;
|
||||
static double zero = 0.0;
|
||||
static double one = 1.0;
|
||||
-double fabs(), sqrt();
|
||||
|
||||
s1 = zero;
|
||||
s2 = zero;
|
||||
50
media-libs/libpano13/files/libpano13-2.9.22-gcc15.patch
Normal file
50
media-libs/libpano13/files/libpano13-2.9.22-gcc15.patch
Normal file
@ -0,0 +1,50 @@
|
||||
|
||||
|
||||
Fix for gcc15 breakage (Lukas Wirz)
|
||||
|
||||
https://bugs.launchpad.net/bugs/2096612
|
||||
|
||||
abi-compliance-checker:
|
||||
Problems with Data Types
|
||||
High 0
|
||||
Medium 0
|
||||
Low 1
|
||||
filter.h
|
||||
[+] typedef lmfunc 1
|
||||
Change Effect
|
||||
1 Base type has been changed from int(*)(...) to int(*)(int, int, double*, double*, int*). Recompilation of a client program may be broken.
|
||||
[+] affected symbols: 26 (4.7%)
|
||||
|
||||
--- a/filter.h
|
||||
+++ b/filter.h
|
||||
@@ -410,7 +410,7 @@
|
||||
|
||||
// function to minimize in Levenberg-Marquardt solver
|
||||
|
||||
-typedef int (*lmfunc)();
|
||||
+typedef int (*lmfunc)(int m, int n, double x[], double fvec[], int *iflag);
|
||||
|
||||
struct triangle
|
||||
{
|
||||
@@ -774,13 +774,19 @@
|
||||
PANO13_IMPEX void matrix_inv_mult ( double m[3][3], double vector[3] );
|
||||
PANO13_IMPEX double smallestRoot ( double *p );
|
||||
PANO13_IMPEX void SetCorrectionRadius ( cPrefs *cP );
|
||||
-PANO13_IMPEX int lmdif ();
|
||||
+PANO13_IMPEX int lmdif(int m, int n, double x[], double fvec[],
|
||||
+ double ftol, double xtol, double gtol,
|
||||
+ int maxfev, double epsfcn, double diag[],
|
||||
+ int mode, double factor, int nprint,
|
||||
+ int *info, int *nfev, double fjac[],
|
||||
+ int ldfjac, int ipvt[], double qtf[],
|
||||
+ double wa1[], double wa2[], double wa3[], double wa4[]);
|
||||
PANO13_IMPEX void fourier ( TrformStr *TrPtr, cPrefs *cP );
|
||||
PANO13_IMPEX unsigned short gamma_correct( double pix );
|
||||
PANO13_IMPEX int EqualCPrefs( cPrefs *c1, cPrefs *c2 );
|
||||
PANO13_IMPEX double OverlapRMS ( MultiLayerImage *mim );
|
||||
PANO13_IMPEX double distSquared ( int num );
|
||||
-PANO13_IMPEX int fcnPano();
|
||||
+PANO13_IMPEX int fcnPano(int m, int n, double x[], double fvec[], int *iflag);
|
||||
PANO13_IMPEX int EvaluateControlPointError ( int num, double *errptr, double errComponent[2]);
|
||||
PANO13_IMPEX void doCoordinateTransform( CoordInfo *c, tMatrix *t );
|
||||
PANO13_IMPEX void findOptimumtMatrix( transformCoord *tP, tMatrix *tM, lmfunc f);
|
||||
53
media-libs/libpano13/libpano13-2.9.22-r1.ebuild
Normal file
53
media-libs/libpano13/libpano13-2.9.22-r1.ebuild
Normal file
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
inherit java-pkg-opt-2 cmake
|
||||
|
||||
DESCRIPTION="Helmut Dersch's panorama toolbox library"
|
||||
HOMEPAGE="http://panotools.sourceforge.net/"
|
||||
SRC_URI="https://downloads.sourceforge.net/panotools/${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/3"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="java static-libs suitesparse"
|
||||
|
||||
DEPEND="media-libs/libpng:=
|
||||
media-libs/tiff:=
|
||||
media-libs/libjpeg-turbo:=
|
||||
sys-libs/zlib
|
||||
java? ( >=virtual/jdk-1.8:* )
|
||||
suitesparse? ( sci-libs/suitesparse )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-gcc15.patch"
|
||||
"${FILESDIR}/${P}-fabs-sqrt.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DSUPPORT_JAVA_PROGRAMS=$(usex java)
|
||||
-DUSE_SPARSE_LEVMAR=$(usex suitesparse)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
if ! use static-libs ; then
|
||||
find "${D}" -name "*.a" -type f -delete || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
java-pkg-opt-2_pkg_preinst
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user