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=0d1c0f....
Change:
+ExcludeArch: s390x
Thanks.
Full change:
============
commit 0d1c0f27a5f8cea2bdfc9179e4a54ea5f75b2e6c
Author: Wade Berrier <wberrier(a)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/mup...
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(a)gmail.com> - 2.5-7
+- Fix builds on arm, aarch64, and ppc64le
* Sun May 24 2020 Wade Berrier <wberrier(a)gmail.com> - 2.5-6
- Fix build with gcc 10
commit f4e83c651ceba0d0616787b7549ef2169e940175
Author: Wade Berrier <wberrier(a)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(a)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/mup...
+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(a)gmail.com> - 2.5-6
+- Fix build with gcc 10
+
* Sat Apr 25 2020 Wade Berrier <wberrier(a)gmail.com> - 2.5-5
- Add gcc-c++ to BuildRequires
commit 9f941f2a85de06d5b244e953610560d047f5f003
Author: Wade Berrier <wberrier(a)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(a)gmail.com> - 2.5-5
+- Add gcc-c++ to BuildRequires
+
* Sat Jan 27 2018 Wade Berrier <wberrier(a)gmail.com> - 2.5-4
- Additional updates for Fedora package review (#1535549)
commit 6e7e14f7e9eb2a8c81757b326bf16c63bbe62029
Author: Wade Berrier <wberrier(a)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/mup...
+
+
+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(a)gmail.com> - 2.5-4
+- Additional updates for Fedora package review (#1535549)
+
+* Sat Jan 20 2018 Wade Berrier <wberrier(a)gmail.com> - 2.5-3
+- Various updates for Fedora package review (#1535549)
+
+* Thu Jan 11 2018 Wade Berrier <wberrier(a)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