The package rpms/mupen64plus.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/mupen64plus.git/commit/?id=0d1c0f27a....
Change: +ExcludeArch: s390x
Thanks.
Full change: ============
commit 0d1c0f27a5f8cea2bdfc9179e4a54ea5f75b2e6c Author: Wade Berrier wberrier@gmail.com Date: Sun May 24 17:31:08 2020 -0600
Fix build on arm, aarch64, and ppc64le
even though they are not officially supported. They still need to be tested.
exclude s390x as it's not supported at all.
diff --git a/mupen64plus-make-archs.patch b/mupen64plus-make-archs.patch new file mode 100644 index 0000000..0db3b97 --- /dev/null +++ b/mupen64plus-make-archs.patch @@ -0,0 +1,124 @@ +diff -ur mupen64plus-bundle-src-2.5.orig/source/mupen64plus-core/projects/unix/Makefile mupen64plus-bundle-src-2.5/source/mupen64plus-core/projects/unix/Makefile +--- mupen64plus-bundle-src-2.5.orig/source/mupen64plus-core/projects/unix/Makefile 2015-04-26 16:42:49.000000000 -0600 ++++ mupen64plus-bundle-src-2.5/source/mupen64plus-core/projects/unix/Makefile 2020-05-24 18:34:08.039720649 -0600 +@@ -89,6 +89,13 @@ + NO_ASM := 1 + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif ++ifneq ("$(filter ppc64le,$(HOST_CPU))","") ++ CPU := PPC ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ NO_ASM := 1 ++ $(warning Architecture "$(HOST_CPU)" not officially supported.') ++endif + ifneq ("$(filter arm%,$(HOST_CPU))","") + ifeq ("$(filter arm%b,$(HOST_CPU))","") + CPU := ARM +@@ -116,6 +123,16 @@ + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif + endif ++ifneq ("$(filter aarch64,$(HOST_CPU))","") ++ CPU := ARM ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ NEW_DYNAREC := 1 ++ ifeq ($(NEON), 1) ++ CFLAGS += -mfpu=neon -mfloat-abi=hard ++ endif ++ $(warning Architecture "$(HOST_CPU)" not officially supported.') ++endif + ifneq ("$(filter mips,$(HOST_CPU))","") + CPU := MIPS + ARCH_DETECTED := 32BITS +diff -ur mupen64plus-bundle-src-2.5.orig/source/mupen64plus-rsp-hle/projects/unix/Makefile mupen64plus-bundle-src-2.5/source/mupen64plus-rsp-hle/projects/unix/Makefile +--- mupen64plus-bundle-src-2.5.orig/source/mupen64plus-rsp-hle/projects/unix/Makefile 2015-04-26 16:42:54.000000000 -0600 ++++ mupen64plus-bundle-src-2.5/source/mupen64plus-rsp-hle/projects/unix/Makefile 2020-05-24 18:35:07.837550230 -0600 +@@ -103,6 +103,12 @@ + PIC ?= 1 + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif ++ifneq ("$(filter ppc64le,$(HOST_CPU))","") ++ CPU := PPC ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ $(warning Architecture "$(HOST_CPU)" not officially supported.') ++endif + ifneq ("$(filter arm%,$(HOST_CPU))","") + ifeq ("$(filter arm%b,$(HOST_CPU))","") + CPU := ARM +@@ -111,6 +117,12 @@ + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif + endif ++ifneq ("$(filter aarch64,$(HOST_CPU))","") ++ CPU := ARM ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ $(warning Architecture "$(HOST_CPU)" not officially supported.') ++endif + ifneq ("$(filter mips,$(HOST_CPU))","") + CPU := MIPS + ARCH_DETECTED := 32BITS +diff -ur mupen64plus-bundle-src-2.5.orig/source/mupen64plus-video-glide64mk2/projects/unix/Makefile mupen64plus-bundle-src-2.5/source/mupen64plus-video-glide64mk2/projects/unix/Makefile +--- mupen64plus-bundle-src-2.5.orig/source/mupen64plus-video-glide64mk2/projects/unix/Makefile 2015-04-26 16:42:57.000000000 -0600 ++++ mupen64plus-bundle-src-2.5/source/mupen64plus-video-glide64mk2/projects/unix/Makefile 2020-05-24 18:35:45.373443255 -0600 +@@ -108,6 +108,13 @@ + NO_ASM := 1 + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif ++ifneq ("$(filter ppc64le,$(HOST_CPU))","") ++ CPU := PPC ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ NO_ASM := 1 ++ $(warning Architecture "$(HOST_CPU)" not officially supported.') ++endif + ifneq ("$(filter arm%,$(HOST_CPU))","") + ifeq ("$(filter arm%b,$(HOST_CPU))","") + CPU := ARM +@@ -117,6 +124,12 @@ + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif + endif ++ifneq ("$(filter aarch64,$(HOST_CPU))","") ++ CPU := ARM ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ NO_ASM := 1 ++endif + ifeq ("$(CPU)","NONE") + $(error CPU type "$(HOST_CPU)" not supported. Please file bug report at 'http://code.google.com/p/mupen64plus/issues') + endif +diff -ur mupen64plus-bundle-src-2.5.orig/source/mupen64plus-video-rice/projects/unix/Makefile mupen64plus-bundle-src-2.5/source/mupen64plus-video-rice/projects/unix/Makefile +--- mupen64plus-bundle-src-2.5.orig/source/mupen64plus-video-rice/projects/unix/Makefile 2015-04-26 16:42:56.000000000 -0600 ++++ mupen64plus-bundle-src-2.5/source/mupen64plus-video-rice/projects/unix/Makefile 2020-05-24 18:36:24.465331847 -0600 +@@ -105,6 +105,13 @@ + NO_ASM := 1 + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif ++ifneq ("$(filter ppc64le,$(HOST_CPU))","") ++ CPU := PPC ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ NO_ASM := 1 ++ $(warning Architecture "$(HOST_CPU)" not officially supported.') ++endif + ifneq ("$(filter arm%,$(HOST_CPU))","") + ifeq ("$(filter arm%b,$(HOST_CPU))","") + CPU := ARM +@@ -114,6 +121,13 @@ + $(warning Architecture "$(HOST_CPU)" not officially supported.') + endif + endif ++ifneq ("$(filter aarch64,$(HOST_CPU))","") ++ CPU := ARM ++ ARCH_DETECTED := 64BITS ++ PIC ?= 1 ++ NO_ASM := 1 ++ $(warning Architecture "$(HOST_CPU)" not officially supported.') ++endif + ifeq ("$(CPU)","NONE") + $(error CPU type "$(HOST_CPU)" not supported. Please file bug report at 'http://code.google.com/p/mupen64plus/issues') + endif diff --git a/mupen64plus.spec b/mupen64plus.spec index 0bbef8f..924f26c 100644 --- a/mupen64plus.spec +++ b/mupen64plus.spec @@ -3,13 +3,14 @@
Name: mupen64plus Version: 2.5 -Release: 6%{?dist} +Release: 7%{?dist}
Summary: Nintendo 64 Emulator License: GPLv2+ and CC-BY-SA URL: http://www.mupen64plus.org/ Source: https://github.com/mupen64plus/mupen64plus-core/releases/download/2.5/mupen6... Patch1: mupen64plus-multiple-definitions.patch +Patch2: mupen64plus-make-archs.patch
BuildRequires: pkgconfig(SDL_ttf) @@ -31,6 +32,8 @@ Requires: hicolor-icon-theme Conflicts: mupen64plus-qt Conflicts: mupen64plus-cli
+ExcludeArch: s390x + %description Mupen64plus is a Nintendo 64 Emulator. This package includes all the plug-ins. @@ -45,6 +48,7 @@ Development files for mupen64plus %prep %setup -q -n %{name}-bundle-src-%{version} %patch1 -p1 -b.multipledefinitions +%patch2 -p1 -b.makearchs
# Need to avoid filename conflicts so they can be included in the package cp -a source/mupen64plus-rsp-hle/LICENSES LICENSE-rsp-hle @@ -59,10 +63,20 @@ cp -a source/mupen64plus-audio-sdl/LICENSES LICENSE-audio-sdl
%build
+# Architecture build flags +ADDITIONAL_FLAGS="" +if [[ "$(uname -m)" = arm* ]] ; then + ADDITIONAL_FLAGS="NEON=1 VFP_HARD=1 NO_SSE=1" +elif [[ "$(uname -m)" = aarch64 ]] ; then + ADDITIONAL_FLAGS="NO_SSE=1" +elif [[ "$(uname -m)" = ppc* ]] ; then + ADDITIONAL_FLAGS="NO_SSE=1" +fi + export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" export LDFLAGS="%{?__global_ldflags}" -sh m64p_build.sh LIRC=1 +sh m64p_build.sh LIRC=1 $ADDITIONAL_FLAGS
%install
@@ -97,6 +111,8 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/mupen64plus.desktop %{_libdir}/libmupen64plus.so
%changelog +* Mon May 25 2020 Wade Berrier wberrier@gmail.com - 2.5-7 +- Fix builds on arm, aarch64, and ppc64le
* Sun May 24 2020 Wade Berrier wberrier@gmail.com - 2.5-6 - Fix build with gcc 10
commit f4e83c651ceba0d0616787b7549ef2169e940175 Author: Wade Berrier wberrier@gmail.com Date: Sun May 24 09:02:49 2020 -0600
oops, bump the release
diff --git a/mupen64plus.spec b/mupen64plus.spec index 10d5bde..0bbef8f 100644 --- a/mupen64plus.spec +++ b/mupen64plus.spec @@ -3,7 +3,7 @@
Name: mupen64plus Version: 2.5 -Release: 5%{?dist} +Release: 6%{?dist}
Summary: Nintendo 64 Emulator License: GPLv2+ and CC-BY-SA
commit 4c35f5d2bdc1fd6ddddf565951fd9544b4a3382d Author: Wade Berrier wberrier@gmail.com Date: Sun May 24 08:31:34 2020 -0600
mupen64plus: fix build with gcc10
Thanks to commenters in bug https://bugzilla.redhat.com/show_bug.cgi?id=1535549 for finding the upstream patch.
diff --git a/mupen64plus-multiple-definitions.patch b/mupen64plus-multiple-definitions.patch new file mode 100644 index 0000000..96fe0a9 --- /dev/null +++ b/mupen64plus-multiple-definitions.patch @@ -0,0 +1,11 @@ +diff -ur mupen64plus-bundle-src-2.5.orig/source/mupen64plus-core/src/main/workqueue.h mupen64plus-bundle-src-2.5/source/mupen64plus-core/src/main/workqueue.h +--- mupen64plus-bundle-src-2.5.orig/source/mupen64plus-core/src/main/workqueue.h 2015-04-26 16:42:49.000000000 -0600 ++++ mupen64plus-bundle-src-2.5/source/mupen64plus-core/src/main/workqueue.h 2020-05-24 08:45:41.743484866 -0600 +@@ -27,7 +27,6 @@ + + struct work_struct; + +-struct work_struct *work; + typedef void (*work_func_t)(struct work_struct *work); + struct work_struct { + work_func_t func; diff --git a/mupen64plus.spec b/mupen64plus.spec index c20a7c8..10d5bde 100644 --- a/mupen64plus.spec +++ b/mupen64plus.spec @@ -9,6 +9,7 @@ Summary: Nintendo 64 Emulator License: GPLv2+ and CC-BY-SA URL: http://www.mupen64plus.org/ Source: https://github.com/mupen64plus/mupen64plus-core/releases/download/2.5/mupen6... +Patch1: mupen64plus-multiple-definitions.patch
BuildRequires: pkgconfig(SDL_ttf) @@ -43,6 +44,7 @@ Development files for mupen64plus
%prep %setup -q -n %{name}-bundle-src-%{version} +%patch1 -p1 -b.multipledefinitions
# Need to avoid filename conflicts so they can be included in the package cp -a source/mupen64plus-rsp-hle/LICENSES LICENSE-rsp-hle @@ -96,6 +98,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/mupen64plus.desktop
%changelog
+* Sun May 24 2020 Wade Berrier wberrier@gmail.com - 2.5-6 +- Fix build with gcc 10 + * Sat Apr 25 2020 Wade Berrier wberrier@gmail.com - 2.5-5 - Add gcc-c++ to BuildRequires
commit 9f941f2a85de06d5b244e953610560d047f5f003 Author: Wade Berrier wberrier@gmail.com Date: Sat Apr 25 19:50:23 2020 -0600
Fix mock build: add gcc-c++ to BuildRequires
This change happened since the package was reviewed:
https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
diff --git a/mupen64plus.spec b/mupen64plus.spec index bac8e0e..c20a7c8 100644 --- a/mupen64plus.spec +++ b/mupen64plus.spec @@ -3,7 +3,7 @@
Name: mupen64plus Version: 2.5 -Release: 4%{?dist} +Release: 5%{?dist}
Summary: Nintendo 64 Emulator License: GPLv2+ and CC-BY-SA @@ -23,6 +23,7 @@ BuildRequires: boost-devel BuildRequires: gzip BuildRequires: pkgconfig(glew) BuildRequires: binutils +BuildRequires: gcc-c++
Requires: hicolor-icon-theme
@@ -95,6 +96,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/mupen64plus.desktop
%changelog
+* Sat Apr 25 2020 Wade Berrier wberrier@gmail.com - 2.5-5 +- Add gcc-c++ to BuildRequires + * Sat Jan 27 2018 Wade Berrier wberrier@gmail.com - 2.5-4 - Additional updates for Fedora package review (#1535549)
commit 6e7e14f7e9eb2a8c81757b326bf16c63bbe62029 Author: Wade Berrier wberrier@gmail.com Date: Sat Apr 18 21:31:11 2020 -0600
initial package import
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..867def3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/mupen64plus-bundle-src-2.5.tar.gz diff --git a/mupen64plus.spec b/mupen64plus.spec new file mode 100644 index 0000000..bac8e0e --- /dev/null +++ b/mupen64plus.spec @@ -0,0 +1,120 @@ + +%global debug_package %{nil} + +Name: mupen64plus +Version: 2.5 +Release: 4%{?dist} + +Summary: Nintendo 64 Emulator +License: GPLv2+ and CC-BY-SA +URL: http://www.mupen64plus.org/ +Source: https://github.com/mupen64plus/mupen64plus-core/releases/download/2.5/mupen6... + + +BuildRequires: pkgconfig(SDL_ttf) +BuildRequires: pkgconfig(lirc) +BuildRequires: desktop-file-utils +BuildRequires: pkgconfig(glu) +BuildRequires: pkgconfig(samplerate) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(freetype2) +BuildRequires: boost-devel +BuildRequires: gzip +BuildRequires: pkgconfig(glew) +BuildRequires: binutils + +Requires: hicolor-icon-theme + +Conflicts: mupen64plus-qt +Conflicts: mupen64plus-cli + +%description +Mupen64plus is a Nintendo 64 Emulator. +This package includes all the plug-ins. + +%package devel +Summary: Development files for mupen64plus +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Development files for mupen64plus + +%prep +%setup -q -n %{name}-bundle-src-%{version} + +# Need to avoid filename conflicts so they can be included in the package +cp -a source/mupen64plus-rsp-hle/LICENSES LICENSE-rsp-hle +cp -a source/mupen64plus-rom/mupen64plus/assets/LICENSES LICENSE-assets +cp -a source/mupen64plus-rom/LICENSES LICENSE-rom +cp -a source/mupen64plus-input-sdl/LICENSES LICENSE-input-sdl +cp -a source/mupen64plus-video-glide64mk2/LICENSES LICENSE-video-glide64mk2 +cp -a source/mupen64plus-video-rice/LICENSES LICENSE-video-rice +cp -a source/mupen64plus-ui-console/LICENSES LICENSE-ui-console +cp -a source/mupen64plus-core/LICENSES LICENSE-core +cp -a source/mupen64plus-audio-sdl/LICENSES LICENSE-audio-sdl + +%build + +export CFLAGS="%{optflags}" +export CXXFLAGS="%{optflags}" +export LDFLAGS="%{?__global_ldflags}" +sh m64p_build.sh LIRC=1 + +%install + +# NOTE: set LDCONFIG to true so it's not run during this script +./m64p_install.sh DESTDIR=%{buildroot} PREFIX=%{_prefix} MANDIR=%{_mandir} LIBDIR=%{_libdir} DEBUG=1 LDCONFIG='true' +find %{buildroot}%{_libdir} -type f -name "*.so*" -exec chmod 0755 "{}" ; + +# NOTE: The build system should probably create this... +ln -sf %{_libdir}/libmupen64plus.so.2.0.0 %{buildroot}%{_libdir}/libmupen64plus.so + +desktop-file-validate %{buildroot}/%{_datadir}/applications/mupen64plus.desktop + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%{_bindir}/%{name} +%{_libdir}/%{name}/ +%{_libdir}/libmupen64plus.so.2 +%{_libdir}/libmupen64plus.so.2.0.0 +%{_datadir}/%{name}/ +%{_datadir}/applications/mupen64plus.desktop +%{_datadir}/icons/hicolor/48x48/apps/mupen64plus.png +%{_datadir}/icons/hicolor/scalable/apps/mupen64plus.svg +%{_mandir}/man6/mupen64plus.6.gz +%license LICENSE-rsp-hle LICENSE-assets LICENSE-rom LICENSE-input-sdl LICENSE-video-glide64mk2 LICENSE-video-rice LICENSE-core LICENSE-audio-sdl + + +%files devel +%{_includedir}/mupen64plus/ +%{_libdir}/libmupen64plus.so + +%changelog + +* Sat Jan 27 2018 Wade Berrier wberrier@gmail.com - 2.5-4 +- Additional updates for Fedora package review (#1535549) + +* Sat Jan 20 2018 Wade Berrier wberrier@gmail.com - 2.5-3 +- Various updates for Fedora package review (#1535549) + +* Thu Jan 11 2018 Wade Berrier wberrier@gmail.com - 2.5-2 +- Update homepage url +- Remove references to nonexistant gtk gui +- add lirc build option +- split out devel package + +* Fri Oct 02 2015 David Vsquez <davidjeremias82[AT]gmail [DOT] com> - 2.5-1 +- Updated to 2.5 + +* Fri Jul 04 2014 David Vsquez <davidjeremias82[AT]gmail [DOT] com> - 2.0-6 +- Excluded innecesary sources + +* Fri Nov 22 2013 David Vasquez <davidjeremias82[AT]gmail [DOT] com> - 2.0-5 +- Added Modules Input SDL + +* Wed Sep 25 2013 David Vasquez <davidjeremias82[AT]gmail [DOT] com> - 2.0-4 +- Initial build rpm diff --git a/sources b/sources new file mode 100644 index 0000000..0ab0db7 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (mupen64plus-bundle-src-2.5.tar.gz) = 08e9dbf1d851ede561419b1edbae51b46e775e01e33c870ed8b8c2809965a858b21c342804a88f3fd837c83e0c1b5007e45ca9fb9cdf82499b04240b9c799ba8
arch-excludes@lists.fedoraproject.org