summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libsidplay')
-rw-r--r--media-libs/libsidplay/files/libsidplay-2.1.1-autoconf.patch172
-rw-r--r--media-libs/libsidplay/files/libsidplay-2.1.1-clang16.patch48
-rw-r--r--media-libs/libsidplay/files/libsidplay-2.1.1-slibtool.patch39
-rw-r--r--media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild (renamed from media-libs/libsidplay/libsidplay-1.36.59-r2.ebuild)21
-rw-r--r--media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild (renamed from media-libs/libsidplay/libsidplay-2.1.1-r5.ebuild)34
-rw-r--r--media-libs/libsidplay/metadata.xml6
6 files changed, 303 insertions, 17 deletions
diff --git a/media-libs/libsidplay/files/libsidplay-2.1.1-autoconf.patch b/media-libs/libsidplay/files/libsidplay-2.1.1-autoconf.patch
new file mode 100644
index 000000000000..cdb92c63a034
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-2.1.1-autoconf.patch
@@ -0,0 +1,172 @@
+From 426bebc250c24cb4482c85131927303cbf7c606d Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 7 May 2022 13:47:57 -0700
+Subject: [PATCH 1/2] build: Fix autoreconf
+
+---
+ builders/hardsid-builder/configure.ac | 1 +
+ builders/resid-builder/configure.ac | 1 +
+ configure.ac | 75 ++----
+ libsidplay/configure.ac | 1 +
+ libsidutils/configure.ac | 1 +
+ resid/{configure.in => configure.ac} | 0
+ 6 files changed, 30 insertions(+), 49 deletions(-)
+ rename resid/{configure.in => configure.ac} (100%)
+ create mode 100644 unix/ax_subdirs_configure.m4
+
+diff --git a/builders/hardsid-builder/configure.ac b/builders/hardsid-builder/configure.ac
+index a54cf26..bdc2bd0 100644
+--- a/builders/hardsid-builder/configure.ac
++++ b/builders/hardsid-builder/configure.ac
+@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(Makefile.am)
+ AC_CONFIG_AUX_DIR(unix)
+ AM_CONFIG_HEADER(unix/config.h)
++AC_CONFIG_MACRO_DIR([unix])
+
+ dnl Setup library CURRENT, REVISION and AGE
+ LIBCUR=0
+diff --git a/builders/resid-builder/configure.ac b/builders/resid-builder/configure.ac
+index 4a98801..5f5561b 100644
+--- a/builders/resid-builder/configure.ac
++++ b/builders/resid-builder/configure.ac
+@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(Makefile.am)
+ AC_CONFIG_AUX_DIR(unix)
+ AM_CONFIG_HEADER(unix/config.h)
++AC_CONFIG_MACRO_DIR([unix])
+
+ dnl Setup library CURRENT, REVISION and AGE
+ LIBCUR=0
+diff --git a/configure.ac b/configure.ac
+index 5724156..d622982 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,70 +3,47 @@ AC_INIT(Makefile.am)
+ #Variables
+ pwd=`pwd`
+ builders='${libdir}'/sidplay/builders
+-ac_configure_args="$ac_configure_args --disable-library-checks"
+
+ AC_CONFIG_AUX_DIR(unix)
++AC_CONFIG_MACRO_DIR([unix])
+ AM_INIT_AUTOMAKE(sidplay-libs,2.1.1)
+ AC_CANONICAL_HOST
+
+ hardsid=false
+ case "$host" in
+- *linux*) hardsid=true
+- ;;
++ *linux*) hardsid=true ;;
+ esac
+-AM_CONDITIONAL(HARDSID, test x$hardsid = xtrue)
+
+-echo; echo "Configuring libsidplay..."
+-cd $pwd/libsidplay
+-if ! eval ./configure $ac_configure_args \
+---with-sidbuilders=$builders;
+-then
+-exit
+-fi
++AX_SUBDIRS_CONFIGURE([libsidplay], [
++ [--disable-library-checks],
++ [--with-sidbuilders=$builders]])
+
+-echo; echo "Configuring resid..."
+-cd "$pwd/resid"
+-if ! eval ./configure $ac_configure_args \
+---disable-resid-install;
+-then
+-exit
+-fi
++AX_SUBDIRS_CONFIGURE([resid], [
++ [--disable-library-checks],
++ [--disable-resid-install]])
+
+-echo; echo "Configuring resid-builder..."
+-cd $pwd/builders/resid-builder
+-if ! eval ./configure $ac_configure_args \
+---with-sidplay2-includes=$pwd/libsidplay/include \
+---with-sidplay2-library=$pwd/libsidplay/src \
+---with-resid-includes=$pwd/resid \
+---with-resid-library=$pwd/resid \
+---libdir=$builders;
+-then
+-exit
+-fi
++AX_SUBDIRS_CONFIGURE([builders/resid-builder], [
++ [--disable-library-checks],
++ [--with-sidplay2-includes=$pwd/libsidplay/include],
++ [--with-sidplay2-library=$pwd/libsidplay/src],
++ [--with-resid-includes=$pwd/resid],
++ [--with-resid-library=$pwd/resid],
++ [--libdir=$builders]])
+
+-if test x$hardsid = xtrue; then
+- echo; echo "Configuring hardsid-builder..."
+- cd $pwd/builders/hardsid-builder
+- if ! eval ./configure $ac_configure_args \
+- --with-sidplay2-includes=$pwd/libsidplay/include \
+- --with-sidplay2-library=$pwd/libsidplay/src \
+- --libdir=$builders;
+- then
+- exit
+- fi
+-fi
++AM_CONDITIONAL(HARDSID, test x$hardsid = xtrue)
+
+-echo; echo "Configuring libsidutils..."
+-cd $pwd/libsidutils
+-if ! eval ./configure $ac_configure_args \
+---with-sidplay2-includes=$pwd/libsidplay/include \
+---with-sidplay2-library=$pwd/libsidplay/src;
+-then
+-exit
++if test x$hardsid = xtrue; then
++ AX_SUBDIRS_CONFIGURE([builders/hardsid-builder], [
++ [--disable-library-checks],
++ [--with-sidplay2-includes=$pwd/libsidplay/include],
++ [--with-sidplay2-library=$pwd/libsidplay/src],
++ [--libdir=$builders]])
+ fi
+
+-echo
+-cd $pwd
++AX_SUBDIRS_CONFIGURE([libsidutils], [
++ [--disable-library-checks],
++ [--with-sidplay2-includes=$pwd/libsidplay/include],
++ [--with-sidplay2-library=$pwd/libsidplay/src]])
+
+ AC_OUTPUT(
+ Makefile \
+diff --git a/libsidplay/configure.ac b/libsidplay/configure.ac
+index 1946508..9c9d808 100644
+--- a/libsidplay/configure.ac
++++ b/libsidplay/configure.ac
+@@ -8,6 +8,7 @@ AC_INIT(libsidplay,2.LIBCUR.LIBREV)
+ AC_CONFIG_HEADER(unix/config.h)
+ AC_CONFIG_SRCDIR(Makefile.am)
+ AC_CONFIG_AUX_DIR(unix)
++AC_CONFIG_MACRO_DIR([unix])
+ AM_INIT_AUTOMAKE(no-define)
+
+ dnl libtool-style version-info number
+diff --git a/libsidutils/configure.ac b/libsidutils/configure.ac
+index 1e38d14..4461aa1 100644
+--- a/libsidutils/configure.ac
++++ b/libsidutils/configure.ac
+@@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(Makefile.am)
+ AC_CONFIG_AUX_DIR(unix)
+ AM_CONFIG_HEADER(unix/config.h)
++AC_CONFIG_MACRO_DIR([unix])
+
+ dnl Setup library CURRENT, REVISION and AGE
+ LIBCUR=0
+diff --git a/resid/configure.in b/resid/configure.ac
+similarity index 100%
+rename from resid/configure.in
+rename to resid/configure.ac
+--
+2.35.1
+
diff --git a/media-libs/libsidplay/files/libsidplay-2.1.1-clang16.patch b/media-libs/libsidplay/files/libsidplay-2.1.1-clang16.patch
new file mode 100644
index 000000000000..803cda92d56f
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-2.1.1-clang16.patch
@@ -0,0 +1,48 @@
+_Ios_Openmode is an implementation detail of the GNU c++ stdlib whereas
+ios_base::openmode is the portable way to go
+--- a/libsidplay/src/sidtune/SidTune.cpp
++++ b/libsidplay/src/sidtune/SidTune.cpp
+@@ -29,6 +29,7 @@
+ # include <new>
+ #endif
+ #include <iostream>
++#include <ios>
+ #include <iomanip>
+ #include <string.h>
+ #include <limits.h>
+@@ -283,7 +284,7 @@ bool SidTune::loadFile(const char* fileName, Buffer_sidtt<const uint_least8_t>&
+ uint_least32_t fileLen = 0;
+
+ // This sucks big time
+- std::_Ios_Openmode createAtrr = std::ios::in;
++ std::ios_base::openmode createAtrr = std::ios::in;
+ #ifdef HAVE_IOS_NOCREATE
+ createAtrr |= std::ios::nocreate;
+ #endif
+@@ -952,7 +953,7 @@ bool SidTune::saveC64dataFile( const char* fileName, bool overWriteFlag )
+ if ( status )
+ {
+ // Open binary output file stream.
+- std::_Ios_Openmode createAttr = std::ios::out;
++ std::ios_base::openmode createAttr = std::ios::out;
+ #if defined(HAVE_IOS_BIN)
+ createAttr |= std::ios::bin;
+ #else
+@@ -1002,7 +1003,7 @@ bool SidTune::saveSIDfile( const char* fileName, bool overWriteFlag )
+ if ( status )
+ {
+ // Open ASCII output file stream.
+- std::_Ios_Openmode createAttr = std::ios::out;
++ std::ios_base::openmode createAttr = std::ios::out;
+ if ( overWriteFlag )
+ createAttr |= std::ios::trunc;
+ else
+@@ -1036,7 +1037,7 @@ bool SidTune::savePSIDfile( const char* fileName, bool overWriteFlag )
+ if ( status )
+ {
+ // Open binary output file stream.
+- std::_Ios_Openmode createAttr = std::ios::out;
++ std::ios_base::openmode createAttr = std::ios::out;
+ #if defined(HAVE_IOS_BIN)
+ createAttr |= std::ios::bin;
+ #else
diff --git a/media-libs/libsidplay/files/libsidplay-2.1.1-slibtool.patch b/media-libs/libsidplay/files/libsidplay-2.1.1-slibtool.patch
new file mode 100644
index 000000000000..f549ed7c6d97
--- /dev/null
+++ b/media-libs/libsidplay/files/libsidplay-2.1.1-slibtool.patch
@@ -0,0 +1,39 @@
+From 6536bf3ceb05e4d32f985a896354b98310c49b5b Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 7 May 2022 14:04:08 -0700
+Subject: [PATCH 2/2] resid: Fix build with slibtool
+
+---
+ resid/Makefile.am | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/resid/Makefile.am b/resid/Makefile.am
+index bbec226..0a32647 100644
+--- a/resid/Makefile.am
++++ b/resid/Makefile.am
+@@ -7,20 +7,15 @@ if INSTALL_RESID
+ lib_LTLIBRARIES = libresid.la
+ pkginclude_HEADERS = $(resid_headers)
+ else
+-noinst_LTLIBRARIES = libresidc.la
++noinst_LTLIBRARIES = libresid.la
+ noinst_HEADERS = $(resid_headers)
+-
+-all-local:
+- ln -sf libresidc.la libresid.la
+-
+ endif
+
+ ## Make sure these will be cleaned even when they're not built by
+ ## default.
+-CLEANFILES = libresid.la libresidc.la
++CLEANFILES = libresid.la
+
+ libresid_la_SOURCES = $(resid_sources)
+-libresidc_la_SOURCES = $(resid_sources)
+
+ BUILT_SOURCES = $(noinst_DATA:.dat=.cc)
+
+--
+2.35.1
+
diff --git a/media-libs/libsidplay/libsidplay-1.36.59-r2.ebuild b/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild
index e62c9b8bd9cf..efacb3c3471b 100644
--- a/media-libs/libsidplay/libsidplay-1.36.59-r2.ebuild
+++ b/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit libtool multilib-minimal
+inherit autotools flag-o-matic multilib-minimal
DESCRIPTION="C64 SID player library"
HOMEPAGE="http://critical.ch/distfiles/"
@@ -11,8 +11,8 @@ SRC_URI="http://critical.ch/distfiles/${P}.tgz"
LICENSE="GPL-2"
SLOT="1"
-KEYWORDS="~alpha amd64 hppa ia64 ppc ppc64 sparc x86"
-IUSE="static-libs"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+IUSE=""
DEPEND=""
RDEPEND=""
@@ -24,12 +24,17 @@ PATCHES=(
src_prepare() {
default
- elibtoolize # required for fbsd .so versioning
+
+ # Ships with a autoconf-2.59 generated ./configure, which misdetects strnicmp, bug #859919
+ mv configure.{in,ac} || die
+ eautoreconf
}
multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf $(use_enable static-libs static)
+ # Uses register storage class specifier and it is an ancient version that may have
+ # other problems with newer C++, bug #896252
+ append-cxxflags -std=gnu++14
+ ECONF_SOURCE="${S}" econf
}
multilib_src_install_all() {
diff --git a/media-libs/libsidplay/libsidplay-2.1.1-r5.ebuild b/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild
index 696e1143bb96..f54aaaa9973b 100644
--- a/media-libs/libsidplay/libsidplay-2.1.1-r5.ebuild
+++ b/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit libtool multilib-minimal
+inherit autotools flag-o-matic multilib-minimal
MY_P=sidplay-libs-${PV}
@@ -13,9 +13,11 @@ SRC_URI="mirror://sourceforge/sidplay2/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="2"
-KEYWORDS="~alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="static-libs"
+BDEPEND="dev-build/autoconf-archive"
+
MULTILIB_WRAPPED_HEADERS=(
/usr/include/sidplay/sidconfig.h
)
@@ -26,18 +28,40 @@ PATCHES=(
"${FILESDIR}"/${P}-gcc43.patch
"${FILESDIR}"/${P}-no_libtool_reference.patch
"${FILESDIR}"/${P}-gcc6.patch
+ "${FILESDIR}"/${P}-autoconf.patch
+ "${FILESDIR}"/${P}-slibtool.patch
+ "${FILESDIR}"/${P}-clang16.patch
)
S="${WORKDIR}/${MY_P}"
src_prepare() {
default
- elibtoolize
+
+ local subdirs=(
+ builders/hardsid-builder
+ builders/resid-builder
+ libsidplay
+ libsidutils
+ resid
+ .
+ )
+
+ local i
+ for i in ${subdirs[@]}; do
+ (
+ cd "${i}" || die
+ eautoreconf
+ )
+ done
+
multilib_copy_sources
}
multilib_src_configure() {
+ filter-lto
local myeconfargs=(
+ --cache-file="${BUILD_DIR}"/config.cache
--enable-shared
--with-pic
$(use_enable static-libs static)
diff --git a/media-libs/libsidplay/metadata.xml b/media-libs/libsidplay/metadata.xml
index eec7feaae82e..3b0f616ab403 100644
--- a/media-libs/libsidplay/metadata.xml
+++ b/media-libs/libsidplay/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>hanno@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">sidplay2</remote-id>
</upstream>