commit 3a615a8087f413a246517ea9611b34be8ab6e1da
Author: Hans de Goede <hdegoede(a)redhat.com>
Date: Sat Aug 22 20:44:51 2020 +0200
New upstream release 3.4
Fix Fedora 33 FTBFS
Remove obsolete gtk-icon-cache and instlal-info scriptlets
.gitignore | 1 +
sources | 8 ++--
vice-2.4.24-datadir.patch | 45 ---------------------
vice-cflags-ldflags-mixup.patch | 14 +++++++
vice-datadir.patch | 23 +++++++++++
vice-htmlview.patch | 12 ------
vice-new-ffmpeg.patch | 49 ----------------------
vice-norpath.patch | 14 -------
vice.spec | 90 ++++++++++++++++++++---------------------
x64.desktop | 2 +-
10 files changed, 86 insertions(+), 172 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index db7efba..7ea58a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ vice-2.4.24.tar.gz
vice-2.4.28.tar.gz
/vice-3.1.tar.gz
/vice-3.2.tar.gz
+/vice-3.4.tar.gz
diff --git a/sources b/sources
index 811b1be..deb1268 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-58ba6b6653097898e059e0194615705a vice-3.2.tar.gz
-a4936bbfe1cc7b37d4fd93f0901de974 vice-largeicons.tar.bz2
-c944e3eeaac9c3962983423f8e7609e7 vice-miniicons.tar.bz2
-1e024cef652bc4bf929905b182ef689b vice-normalicons.tar.bz2
+SHA512 (vice-3.4.tar.gz) =
3d42e7bbe15ec6efac918d11e354052048dac8efdeedc64bb724cb8aaf2dd8ec7a2fc176ddbc93722ce7c680f06d3966efc10587c24e9643238315ded025c4b8
+SHA512 (vice-largeicons.tar.bz2) =
c17e8dd44ee04b1af8f9a3adf91e1a5e0292adde23f263c3df7c0abe8d2a1060f8bf53ce9d4d79206ae21514c164c73ddda577cfcae7b4c1059d0fe782e9ef6e
+SHA512 (vice-miniicons.tar.bz2) =
d3552ff91898ff6e79dbcf53945966b65d572440ae6b8bffe0beda95cc65ea1e997b02d2fed51b93dd69a20129661465945322196f48e794a1db925fae4af731
+SHA512 (vice-normalicons.tar.bz2) =
7f5c4a6482d8ca4b5e5797f7ac16330087dedaf512a83372a94b710018f558ee6202e462b91a3dfadc782f26b1b57f1c0c1df50263e996b7c75fadd8db862c3c
diff --git a/vice-cflags-ldflags-mixup.patch b/vice-cflags-ldflags-mixup.patch
new file mode 100644
index 0000000..d376785
--- /dev/null
+++ b/vice-cflags-ldflags-mixup.patch
@@ -0,0 +1,14 @@
+Patch configure.proto to not use its own CFLAGS with our LDFLAGS when checking
+time_t size, this results in a compilation error building the test.
+Note we patch configure.proto as configure.ac gets generated from that.
+diff -up vice-3.4.gtk/configure.proto~ vice-3.4.gtk/configure.proto
+--- vice-3.4.gtk/configure.proto~ 2020-08-22 16:39:21.000000000 +0200
++++ vice-3.4.gtk/configure.proto 2020-08-22 16:45:20.070343974 +0200
+@@ -429,7 +429,6 @@ fi
+
+
+ old_CFLAGS="$CFLAGS"
+-CFLAGS="$VICE_CFLAGS"
+ dnl Do these checks before any Gtk3 flags are added
+ AC_MSG_CHECKING(for time_t in time.h)
+ AC_CACHE_VAL(bu_cv_decl_time_t_time_h,
diff --git a/vice-datadir.patch b/vice-datadir.patch
new file mode 100644
index 0000000..ff227dc
--- /dev/null
+++ b/vice-datadir.patch
@@ -0,0 +1,23 @@
+Use netbsd settings for the paths as those match what we want.
+Note we patch configure.proto as configure.ac gets generated from that.
+diff -up vice-3.4/configure.proto.datadir vice-3.4/configure.proto
+--- vice-3.4/configure.proto.datadir 2020-08-22 16:24:14.294644292 +0200
++++ vice-3.4/configure.proto 2020-08-22 16:24:53.355124602 +0200
+@@ -3625,7 +3625,7 @@ AC_DEFINE_UNQUOTED(PREFIX, "$PREFIX", [W
+
+ dnl Path for keymaps, ROMs etc.
+ case "$host_os" in
+- netbsd*)
++ linux*)
+ VICEDIR="$PREFIX/share/vice"
+ AM_CONDITIONAL(ALTERNATE_DOCDIR, true)
+ ;;
+@@ -3633,7 +3633,7 @@ case "$host_os" in
+ VICEDIR="$PREFIX/lib/vice"
+ AM_CONDITIONAL(ALTERNATE_DOCDIR, true)
+ ;;
+- linux*)
++ foo*)
+ if test x"$host_cpu" = "xx86_64"; then
+ VICEDIR="$PREFIX/lib64/vice"
+ AM_CONDITIONAL(ALTERNATE_DOCDIR, false)
diff --git a/vice.spec b/vice.spec
index 80c0e56..43721bd 100644
--- a/vice.spec
+++ b/vice.spec
@@ -1,8 +1,8 @@
%define _legacy_common_support 1
Name: vice
-Version: 3.2
-Release: 7%{?dist}
+Version: 3.4
+Release: 1%{?dist}
Summary: Emulator for a variety of Commodore 8bit machines
Group: Applications/Emulators
License: GPLv2+
@@ -23,10 +23,8 @@ Source12: xcbm-ii.metainfo.xml
Source13: xpet.metainfo.xml
Source14: xplus4.metainfo.xml
Source15: xvic.metainfo.xml
-Patch1: vice-2.4.24-datadir.patch
-Patch2: vice-htmlview.patch
-Patch3: vice-norpath.patch
-Patch4: vice-new-ffmpeg.patch
+Patch1: vice-datadir.patch
+Patch2: vice-cflags-ldflags-mixup.patch
BuildRequires: gtk3-devel
BuildRequires: SDL2-devel
BuildRequires: libXext-devel
@@ -37,6 +35,8 @@ BuildRequires: libpng-devel
BuildRequires: ffmpeg-devel
BuildRequires: x264-devel
BuildRequires: lame-devel
+BuildRequires: flac-devel
+BuildRequires: mpg123-devel
BuildRequires: readline-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: libpcap-devel
@@ -49,6 +49,7 @@ BuildRequires: xa
BuildRequires: desktop-file-utils
BuildRequires: xorg-x11-font-utils
BuildRequires: libappstream-glib
+BuildRequires: gcc-c++ automake
Requires: %{name}-x64 = %{version}-%{release}
Requires: %{name}-x128 = %{version}-%{release}
@@ -144,14 +145,13 @@ sed -i 's/\r//' `find -name "*.h"`
sed -i 's/\r//' `find -name "*.c"`
sed -i 's/\r//' `find -name "*.cc"`
%patch1 -p1 -z .datadir
-%patch2 -p1 -z .htmlview
-%patch3 -p1 -z .norpath
-%patch4 -p1 -z .ffmpeg
+%patch2 -p1
for i in man/*.1 doc/*.info* README AUTHORS; do
iconv -f ISO-8859-1 -t UTF8 $i > $i.tmp
touch -r $i $i.tmp
mv $i.tmp $i
done
+./autogen.sh
popd
mv %{name}-%{version} %{name}-%{version}.gtk
@@ -159,12 +159,16 @@ cp -a %{name}-%{version}.gtk %{name}-%{version}.sdl
%build
-COMMON_FLAGS="--enable-ethernet --enable-parsid --without-oss --disable-arch
--enable-external-ffmpeg"
+# The build fails with linking errors when enabling LTO.
+# The build fails because of the .a archives from ARCH_LIBS being passed on the
+# cmdline twice. Fixing this leads to errors about undefined symbols because
+# the various .a archives from ARCH_LIBS have interdependencies in 2 directions,
+# so there is no working order in which they can be passed which resolves all
+# symbols in one go. Passing ARCH_LIBS twice, as the upstream Makefile does
+# works around this, but this breaks LTO. So lets just disable LTO for now.
+%define _lto_cflags %{nil}
-# workaround needed to fix incorrect toolchain check in configure script
-export toolchain_check=no
-export CC=gcc
-export CXX=g++
+COMMON_FLAGS="--enable-ethernet --enable-parsid --without-oss --disable-arch
--enable-external-ffmpeg"
# Some of the code uses GNU / XOPEN libc extensions
export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE=1"
@@ -203,16 +207,25 @@ pushd %{name}-%{version}.sdl
popd
popd
-#find_lang %%{name}
+rm $RPM_BUILD_ROOT%{_infodir}/dir
+
+# vice installs a bunch of docs under /usr/share/doc/vice which are not really
+# end user oriented. Remove these.
+rm $RPM_BUILD_ROOT%{_docdir}/%{name}/*.txt
+rm $RPM_BUILD_ROOT%{_docdir}/%{name}/COPYING
+rm $RPM_BUILD_ROOT%{_docdir}/%{name}/GTK3-*.md
+rm $RPM_BUILD_ROOT%{_docdir}/%{name}/Lato-*
+
+# Fixup wrongly installed images for the html-docs
+mkdir $RPM_BUILD_ROOT%{_docdir}/%{name}/images
+mv $RPM_BUILD_ROOT%{_docdir}/%{name}/{*.png,*.gif,*.svg} \
+ $RPM_BUILD_ROOT%{_docdir}/%{name}/images
+
+# For the manual entry in the help menu
+install -p -m 644 %{name}-%{version}.gtk/doc/%{name}.pdf \
+ $RPM_BUILD_ROOT%{_docdir}/%{name}
+ln -s ../doc/%{name} $RPM_BUILD_ROOT%{_datadir}/%{name}/doc
-rm -f $RPM_BUILD_ROOT%{_infodir}/dir
-# for some reason make install drops a .txt and .pdf in the infodir ... ?
-rm -f $RPM_BUILD_ROOT%{_infodir}/%{name}.txt*
-rm -f $RPM_BUILD_ROOT%{_infodir}/%{name}.pdf*
-# vice installs its docs under /usr/share/vice/doc, we install them ourselves
-# with %%doc, so nuke vice's install and create a symlink for the help function
-rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/doc
-ln -s ../doc/%{name}-%{version} $RPM_BUILD_ROOT%{_datadir}/%{name}/doc
# for use of the -data package with libsidplay bases sid players
mkdir -p $RPM_BUILD_ROOT%{_datadir}/sidplayfp
for i in basic chargen kernal; do
@@ -244,33 +257,11 @@ for i in */apps/*icon.png; do mv $i `echo $i|sed s/icon//`; done
popd
-%post common
-/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
-touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-%preun common
-if [ "$1" = 0 ]; then
- /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
-fi
-
-%postun common
-if [ $1 -eq 0 ] ; then
- touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-fi
-
-%posttrans common
-gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-
-
%files
%files common
-%doc %{name}-%{version}.gtk/AUTHORS %{name}-%{version}.gtk/ChangeLog
-%doc %{name}-%{version}.gtk/FEEDBACK %{name}-%{version}.gtk/README
-%doc %{name}-%{version}.gtk/doc/iec-bus.txt
-%doc %{name}-%{version}.gtk/doc/html/*.html
-%doc %{name}-%{version}.gtk/doc/html/images
+%doc %{_docdir}/%{name}
+%license %{name}-%{version}.gtk/COPYING
%{_bindir}/c1541
%{_bindir}/cartconv
%{_bindir}/petcat
@@ -316,6 +307,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null ||
:
%changelog
+* Sat Aug 22 2020 Hans de Goede <j.w.r.degoede(a)gmail.com> - 3.4-1
+- New upstream release 3.4
+- Fix Fedora 33 FTBFS
+- Remove obsolete gtk-icon-cache and instlal-info scriptlets
+
* Wed Aug 19 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 3.2-7
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
diff --git a/x64.desktop b/x64.desktop
index 3247a46..8d14375 100644
--- a/x64.desktop
+++ b/x64.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=X64 (Vice)
Comment=Commodore 64 Emulator
-Exec=x64
+Exec=x64sc
Icon=c64
Terminal=false
StartupNotify=true