diff --git a/libsidplay2-2.1.1-gcc-6.patch b/libsidplay2-2.1.1-gcc-6.patch new file mode 100644 index 0000000..53601f6 --- /dev/null +++ b/libsidplay2-2.1.1-gcc-6.patch @@ -0,0 +1,44 @@ +Fix build with gcc6 + +gcc6 triggers an error during build: + +xsid.cpp:101:1: error: narrowing conversion of ''\200'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] + }; + ^ +xsid.cpp:101:1: error: narrowing conversion of ''\224'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\251'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\274'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\316'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\341'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] +xsid.cpp:101:1: error: narrowing conversion of ''\362'' from 'char' to 'int8_t {aka signed char}' inside { } [-Wnarrowing] + +To fix the problem change the array type from int8_t to char as proposed +by Khem Raj: +http://lists.busybox.net/pipermail/buildroot/2016-August/169540.html + +Signed-off-by: Bernd Kuhls + +diff -uNr sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.cpp sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.cpp +--- sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.cpp 2004-06-14 22:08:02.000000000 +0200 ++++ sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.cpp 2016-08-12 18:10:20.000000000 +0200 +@@ -94,7 +94,7 @@ + '\x08', '\x19', '\x2a', '\x3b', '\x4c', '\x5d', '\x6e', '\x7f' + }; + */ +-const int8_t XSID::sampleConvertTable[16] = ++const char XSID::sampleConvertTable[16] = + { + '\x80', '\x94', '\xa9', '\xbc', '\xce', '\xe1', '\xf2', '\x03', + '\x1b', '\x2a', '\x3b', '\x49', '\x58', '\x66', '\x73', '\x7f' +diff -uNr sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.h sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.h +--- sidplay-libs-2.1.1.org/libsidplay/src/xsid/xsid.h 2004-06-14 22:08:02.000000000 +0200 ++++ sidplay-libs-2.1.1/libsidplay/src/xsid/xsid.h 2016-08-12 18:11:01.000000000 +0200 +@@ -238,7 +238,7 @@ + uint8_t sidData0x18; + bool _sidSamples; + int8_t sampleOffset; +- static const int8_t sampleConvertTable[16]; ++ static const char sampleConvertTable[16]; + bool wasRunning; + + private: diff --git a/libsidplay2-2.1.1-includes.patch b/libsidplay2-2.1.1-includes.patch new file mode 100644 index 0000000..ef9cf06 --- /dev/null +++ b/libsidplay2-2.1.1-includes.patch @@ -0,0 +1,30 @@ +--- sidplay-libs-2.1.1/builders/hardsid-builder/src/hardsid-builder.cpp.orig 2004-06-14 22:07:57.000000000 +0200 ++++ sidplay-libs-2.1.1/builders/hardsid-builder/src/hardsid-builder.cpp 2013-11-18 01:01:50.399234880 +0100 +@@ -55,6 +55,7 @@ + + #include "hardsid.h" + #include "hardsid-emu.h" ++#include + + + #ifdef HAVE_MSWINDOWS +--- sidplay-libs-2.1.1/builders/resid-builder/src/resid.cpp.orig 2013-11-18 01:00:07.827229975 +0100 ++++ sidplay-libs-2.1.1/builders/resid-builder/src/resid.cpp 2013-11-18 01:00:21.563230632 +0100 +@@ -24,6 +24,7 @@ + + #include "resid.h" + #include "resid-emu.h" ++#include + + + char ReSID::m_credit[]; +--- sidplay-libs-2.1.1/builders/resid-builder/src/resid-builder.cpp.orig 2013-11-18 01:00:39.727231501 +0100 ++++ sidplay-libs-2.1.1/builders/resid-builder/src/resid-builder.cpp 2013-11-18 01:00:57.415232346 +0100 +@@ -45,6 +45,7 @@ + + #include "resid.h" + #include "resid-emu.h" ++#include + + // Error String(s) + const char *ReSIDBuilder::ERR_FILTER_DEFINITION = "RESID ERROR: Filter definition is not valid (see docs)."; diff --git a/libsidplay2-2.1.1-m4-tests.patch b/libsidplay2-2.1.1-m4-tests.patch new file mode 100644 index 0000000..88592b0 --- /dev/null +++ b/libsidplay2-2.1.1-m4-tests.patch @@ -0,0 +1,26 @@ +--- sidplay-libs-2.1.1/libsidplay/unix/my_macros.m4.orig 2004-06-14 22:08:04.000000000 +0200 ++++ sidplay-libs-2.1.1/libsidplay/unix/my_macros.m4 2013-11-18 01:23:32.195297135 +0100 +@@ -80,8 +80,8 @@ + AC_CACHE_VAL(test_cv_have_ios_binary, + [ + AC_TRY_COMPILE( +- [#include ], +- [ifstream myTest(ios::in|ios::binary);], ++ [#include ], ++ [std::ifstream myTest(std::ios::in|std::ios::binary);], + [test_cv_have_ios_binary=yes], + [test_cv_have_ios_binary=no] + ) +@@ -105,9 +105,9 @@ + AC_CACHE_VAL(test_cv_have_ios_openmode, + [ + AC_TRY_COMPILE( +- [#include +- #include ], +- [ios::openmode myTest = ios::in;], ++ [#include ++ #include ], ++ [std::ios_base::openmode myTest = std::ios::in;], + [test_cv_have_ios_openmode=yes], + [test_cv_have_ios_openmode=no] + ) diff --git a/libsidplay2-2.1.1-operator.patch b/libsidplay2-2.1.1-operator.patch new file mode 100644 index 0000000..88af8cc --- /dev/null +++ b/libsidplay2-2.1.1-operator.patch @@ -0,0 +1,11 @@ +--- sidplay-libs-2.1.1/libsidutils/include/sidplay/utils/SidUsage.h.orig 2013-11-18 00:58:06.111224154 +0100 ++++ sidplay-libs-2.1.1/libsidutils/include/sidplay/utils/SidUsage.h 2013-11-18 00:58:28.219225212 +0100 +@@ -33,7 +33,7 @@ + uint_least16_t length; // usage scan length + + // Copy common parts of basic usage to extended usage. +- sid2_usage_t &sid2_usage_t::operator= (const sid_usage_t &usage) ++ sid2_usage_t &operator= (const sid_usage_t &usage) + { + *((sid_usage_t *) this) = usage; + return *this; diff --git a/libsidplay2.spec b/libsidplay2.spec index b271d82..57f1cda 100644 --- a/libsidplay2.spec +++ b/libsidplay2.spec @@ -1,15 +1,19 @@ Name: libsidplay2 Version: 2.1.1 -Release: 1mamba +Release: 2mamba Summary: A Commodore 64 music player and SID chip emulator library Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://sidplay2.sourceforge.net/ -Source: http://downloads.sourceforge.net/project/sidplay2/sidplay2/sidplay-libs-2.1.1/sidplay-libs-%{version}.tar.gz +Source: http://downloads.sourceforge.net/project/sidplay2/sidplay2/sidplay-libs-%{version}/sidplay-libs-%{version}.tar.gz Patch0: %{name}-2.1.1-gcc-4.0.patch Patch1: %{name}-2.1.1-pkgconfig.patch +Patch2: libsidplay2-2.1.1-m4-tests.patch +Patch3: libsidplay2-2.1.1-operator.patch +Patch4: libsidplay2-2.1.1-includes.patch +Patch5: libsidplay2-2.1.1-gcc-6.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel @@ -29,13 +33,21 @@ Requires: %{name} = %{version} %description devel This library provides the Sound Interface Device (SID) chip emulator engine that is used by music player programs like SIDPLAY. With it you can play musics from Commodore 64 (or compatible) programs. +This package contains static libraries and header files needed for development. -This package contains static libraries and header files need for development. +%debug_package %prep %setup -q -n sidplay-libs-%{version} +sed -i "s,| arm-\* |,| aarch64-\* | arm-\* |," \ + unix/config.sub libsidplay/unix/config.sub builders/hardsid-builder/unix/config.sub \ + builders/resid-builder/unix/config.sub libsidutils/unix/config.sub resid/config.sub %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 %build %configure CPPFLAGS="-fpermissive" @@ -81,6 +93,9 @@ This package contains static libraries and header files need for development. %doc libsidplay/README libsidplay/TODO %changelog +* Wed Jan 27 2021 Silvan Calarco 2.1.1-2mamba +- rebuilt with debug package and aarch64 build fix + * Sat Jul 21 2012 Silvan Calarco 2.1.1-1mamba - update to 2.1.1