diff --git a/.gitignore b/.gitignore index 52ed481..718a5bb 100644 --- a/.gitignore +++ b/.gitignore @@ -14,11 +14,3 @@ xiphos-3.1.3.tar.gz /xiphos-4.0.2.tar.gz /xiphos-4.0.3.tar.gz /xiphos-4.0.4.tar.gz -/4.0.5.tar.gz -/4.0.6.tar.gz -/4.0.7.tar.gz -/4.1.0.tar.gz -/xiphos-4.2.1.tar.xz -/xiphos-4.3.1.tar.xz -/xiphos-4.3.2.tar.xz -/xiphos-4.4.0.tar.xz diff --git a/format-warning.patch b/format-warning.patch new file mode 100644 index 0000000..5549b68 --- /dev/null +++ b/format-warning.patch @@ -0,0 +1,24 @@ +diff --git a/src/gnome2/dialog.c b/src/gnome2/dialog.c +index d13df3f..ccf161d 100644 +--- a/src/gnome2/dialog.c ++++ b/src/gnome2/dialog.c +@@ -656,18 +656,13 @@ void gui_generic_warning(char *message) + { + #if 1 + GtkWidget *dialog; +- gchar *dialog_text; +- +- dialog_text = g_strdup_printf +- ("Xiphos\n\n%s", message); /* ξίφος */ + + dialog = gtk_message_dialog_new_with_markup + (NULL, /* no need for a parent window */ + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, +- dialog_text); +- g_free(dialog_text); ++ "Xiphos\n\n%s", message); + + g_signal_connect_swapped (dialog, "response", + G_CALLBACK (gtk_widget_destroy), diff --git a/sources b/sources index 7341878..c95f5e1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xiphos-4.4.0.tar.xz) = d5647c90a75897a03ef06219bb2773199bd44b83a79a0be74a378d57f8169c8919a989f43475c71e84e5cb1dfc23029f68ed6d51d7cd5f1837f737ea7e59ff49 +a1d88b7d6812fd261d71a229999c669d xiphos-4.0.4.tar.gz diff --git a/xiphos.spec b/xiphos.spec index a934d17..9263d45 100644 --- a/xiphos.spec +++ b/xiphos.spec @@ -1,39 +1,38 @@ -%undefine __cmake_in_source_build +# Define whether or not we are building for GTK3 +%if 0%{?rhel} > 0 && 0%{?rhel} <= 6 +%define build3 0 +%else +%define build3 1 +%endif -Name: xiphos -Version: 4.4.0 -Release: 1%{?dist} +Name: xiphos +Version: 4.0.4 +Release: 4%{?dist} Summary: Bible study and research tool -# Automatically converted from old format: GPLv2+ - review is highly recommended. -License: GPL-2.0-or-later +License: GPLv2+ URL: http://xiphos.org/ -Source0: https://github.com/crosswire/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz -BuildRequires: appstream -BuildRequires: biblesync-devel >= 2.0.1-3 -BuildRequires: cmake +Source0: http://downloads.sourceforge.net/gnomesword/xiphos-%{version}.tar.gz +BuildRequires: biblesync-devel >= 1.1.2 BuildRequires: desktop-file-utils BuildRequires: dbus-glib-devel BuildRequires: docbook-utils -BuildRequires: gcc -BuildRequires: gcc-c++ +BuildRequires: GConf2-devel BuildRequires: gettext -BuildRequires: gtk3-devel +BuildRequires: gnome-doc-utils +BuildRequires: libglade2-devel +BuildRequires: gtkhtml3-devel +BuildRequires: compat-gtkhtml314-devel BuildRequires: intltool -BuildRequires: itstool -BuildRequires: libappstream-glib +BuildRequires: libgsf-devel BuildRequires: libuuid-devel -BuildRequires: minizip-ng-compat-devel BuildRequires: rarian-compat -BuildRequires: speech-dispatcher-devel -BuildRequires: sword-devel >= 1.8 -BuildRequires: util-linux -BuildRequires: webkit2gtk4.1-devel -BuildRequires: yelp-tools -BuildRequires: libzip-devel +BuildRequires: sword-devel >= 1.7.3 +BuildRequires: webkitgtk-devel +%if 0%{build3} > 0 +BuildRequires: gtk3-devel +BuildRequires: webkitgtk3-devel +%endif Requires: yelp -Obsoletes: xiphos-gtk2 < 4.1 -Obsoletes: xiphos-gtk3 < 4.1 -Obsoletes: xiphos-common < 4.1 %if 0%{?rhel} > 0 && 0%{?rhel} <= 7 ExcludeArch: ppc64 @@ -45,13 +44,50 @@ UNIX, and Windows under the GNOME toolkit, offering a rich and featureful environment for reading, study, and research using modules from The SWORD Project and elsewhere. +%package gtk2 +Obsoletes: xiphos < 4.0.0 +Requires: %{name}-common = %{version}-%{release} +Summary: A version of Xiphos built against the GTK2 toolkit + +%description gtk2 +Xiphos is a Bible study tool written for Linux, +UNIX, and Windows under the GNOME toolkit, offering a rich and featureful +environment for reading, study, and research using modules from The SWORD +Project and elsewhere. + +%if 0%{build3} > 0 +%package gtk3 +Requires: %{name}-common = %{version}-%{release} +Summary: A version of Xiphos built against the GTK3 toolkit + +%description gtk3 +Xiphos is a Bible study tool written for Linux, +UNIX, and Windows under the GNOME toolkit, offering a rich and featureful +environment for reading, study, and research using modules from The SWORD +Project and elsewhere. +%endif + +%package common +Summary: Common files for all versions of Xiphos + +%description common +Xiphos is a Bible study tool written for Linux, +UNIX, and Windows under the GNOME toolkit, offering a rich and featureful +environment for reading, study, and research using modules from The SWORD +Project and elsewhere. + %prep %setup -q rm -rf src/biblesync +# Ugly hack because of bugs in this version of waf +mkdir gtk2 +cp -r * gtk2 || true +mkdir gtk3 +cp -r gtk2/* gtk3 %build -export CFLAGS="$CFLAGS -fPIC" -export CXXFLAGS="$CXXFLAGS -fPIC" +export CC="gcc -fPIC" +export CXX="g++ -fPIC" %ifarch %{power64} CFLAGS="$CFLAGS -D__SANE_USERSPACE_TYPES__" CXXFLAGS="$CXXFLAGS -D__SANE_USERSPACE_TYPES__" @@ -59,248 +95,118 @@ export CXXFLAGS="$CXXFLAGS -fPIC" export CXXFLAGS export CFLAGS -LDFLAGS='%{?__global_ldflags}' \ -%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DGTKTVEDITOR=ON \ - %{nil} -%cmake_build +# Build GTK2 version +pushd gtk2 +LDFLAGS='%{?__global_ldflags}' \ +./waf configure \ + --prefix=%{_prefix} \ + --gtk=2 || cat build/config.log + +./waf build -v +popd + +# Build GTK3 version +%if 0%{build3} > 0 +pushd gtk3 +LDFLAGS='%{?__global_ldflags}' \ +./waf configure \ + --prefix=%{_prefix} \ + --gtk=3 || cat build/config.log + +./waf build -v +popd +%endif %install -%cmake_install +# Install GTK2 version +pushd gtk2 +./waf install -b . --destdir %{buildroot} +mv %{buildroot}%{_bindir}/xiphos %{buildroot}%{_bindir}/xiphos-gtk2 +mv %{buildroot}%{_bindir}/xiphos-nav %{buildroot}%{_bindir}/xiphos-nav-gtk2 +touch %{buildroot}%{_bindir}/xiphos +popd + +# Install GTK3 version +%if 0%{build3} > 0 +pushd gtk3 +./waf install --destdir %{buildroot} +mv %{buildroot}%{_bindir}/xiphos %{buildroot}%{_bindir}/xiphos-gtk3 +mv %{buildroot}%{_bindir}/xiphos-nav %{buildroot}%{_bindir}/xiphos-nav-gtk3 +touch %{buildroot}%{_bindir}/xiphos +popd +%endif desktop-file-install --delete-original \ - --add-category=X-Bible \ - --add-category=X-Religion \ - --dir=%{buildroot}%{_datadir}/applications \ - --copy-name-to-generic-name \ - %{buildroot}%{_datadir}/applications/xiphos.desktop + --add-category=X-Bible \ + --add-category=X-Religion \ + --dir=%{buildroot}%{_datadir}/applications \ + --copy-name-to-generic-name \ + %{buildroot}%{_datadir}/applications/xiphos.desktop # package docs with macro rm -frv %{buildroot}%{_docdir}/%{name} %find_lang %{name} -%files -f %{name}.lang -%doc AUTHORS ChangeLog README.md RELEASE-NOTES TODO -%license COPYING -%{_bindir}/xiphos -%{_bindir}/xiphos-nav -%{_datadir}/metainfo/xiphos.appdata.xml +# Post-install options +%post common +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%if 0%{build3} > 0 +%post gtk3 +%{_sbindir}/update-alternatives --install %{_bindir}/xiphos xiphos %{_bindir}/xiphos-gtk3 10 \ + --slave %{_bindir}/xiphos-nav xiphos-nav %{_bindir}/xiphos-nav-gtk3 +%endif + +%post gtk2 +%{_sbindir}/update-alternatives --install %{_bindir}/xiphos xiphos %{_bindir}/xiphos-gtk2 10 \ + --slave %{_bindir}/xiphos-nav xiphos-nav %{_bindir}/xiphos-nav-gtk2 + +# Post-uninstall options +%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 + +%if 0%{build3} > 0 +# Pre-uninstall options +%preun gtk3 +if [ $1 -eq 0 ]; then + %{_sbindir}/update-alternatives --remove xiphos %{_bindir}/xiphos-gtk3 +fi +%endif + +%preun gtk2 +if [ $1 -eq 0 ]; then + %{_sbindir}/update-alternatives --remove xiphos %{_bindir}/xiphos-gtk2 +fi + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +%files gtk2 +%{_bindir}/xiphos-gtk2 +%{_bindir}/xiphos-nav-gtk2 +%ghost %{_bindir}/xiphos +%{_datadir}/appdata/xiphos.appdata.xml %{_datadir}/applications/xiphos.desktop + +%if 0%{build3} > 0 +%files gtk3 +%{_bindir}/xiphos-gtk3 +%{_bindir}/xiphos-nav-gtk3 +%ghost %{_bindir}/xiphos +%endif + +%files -f %{name}.lang common +%doc AUTHORS COPYING ChangeLog README RELEASE-NOTES TODO Xiphos.ogg +%{_datadir}/gnome/help/xiphos %{_datadir}/icons/hicolor/scalable/apps/xiphos.svg +%{_datadir}/omf/xiphos/ %{_datadir}/xiphos/ -%{_datadir}/help/C/xiphos -%{_datadir}/help/fa/xiphos -%{_datadir}/help/fr/xiphos -%{_datadir}/help/it/xiphos -%{_mandir}/man1/%{name}.1.gz -%{_mandir}/man1/%{name}-nav.1.gz %changelog -* Sun Aug 02 2026 Greg Hellings - 4.4.0-1 -- New upstream release 4.4.0 -- Introduction of speech services for TTS -- Restoration of editor through GTK-native technologies - -* Fri Jul 17 2026 Fedora Release Engineering - 4.3.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Mon Jun 08 2026 František Zatloukal - 4.3.2-6 -- Rebuilt for icu 78.3 - -* Sat Jan 17 2026 Fedora Release Engineering - 4.3.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Aug 06 2025 František Zatloukal - 4.3.2-4 -- Rebuilt for icu 77.1 - -* Sat Aug 2 2025 Aaron Rainbolt - 4.3.2-3 -- Switch to webkitgtk4.1 since webkitgtk4.0 has been retired (rhbz#2385989) - -* Fri Jul 25 2025 Fedora Release Engineering - 4.3.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jun 02 2025 Aaron Rainbolt - 4.3.2-1 -- New upstream version 4.3.2 - -* Sun Mar 23 2025 Greg Hellings - 4.3.1-1 -- New upstream version 4.3.1 which already has editor fixed -- Updated dependencies -- Removed all patches - -* Wed Jan 29 2025 Aaron Rainbolt - 4.2.1-28 -- Strip out editor component to resolve FTBFS - -* Sun Jan 19 2025 Fedora Release Engineering - 4.2.1-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Dec 08 2024 Pete Walter - 4.2.1-26 -- Rebuild for ICU 76 - -* Fri Jul 26 2024 Miroslav Suchý - 4.2.1-25 -- convert license to SPDX - -* Sat Jul 20 2024 Fedora Release Engineering - 4.2.1-24 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Feb 01 2024 Pete Walter - 4.2.1-23 -- Rebuild for ICU 74 - -* Sat Jan 27 2024 Fedora Release Engineering - 4.2.1-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Dec 04 2023 Lukas Javorsky - 4.2.1-21 -- Rebuilt for minizip-ng transition Fedora change -- Fedora Change: https://fedoraproject.org/wiki/Changes/MinizipNGTransition - -* Sat Jul 22 2023 Fedora Release Engineering - 4.2.1-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 František Zatloukal - 4.2.1-19 -- Rebuilt for ICU 73.2 - -* Sat Jan 21 2023 Fedora Release Engineering - 4.2.1-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Dec 31 2022 Pete Walter - 4.2.1-17 -- Rebuild for ICU 72 - -* Tue Nov 15 2022 Sandro Mani - 4.2.1-16 -- Rebuild (minizip-ng) - -* Mon Aug 01 2022 Frantisek Zatloukal - 4.2.1-15 -- Rebuilt for ICU 71.1 - -* Sat Jul 23 2022 Fedora Release Engineering - 4.2.1-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Mar 18 2022 Greg Hellings - 4.2.1-13 -- Add minizip patch to fix FTBFS - -* Sat Jan 22 2022 Fedora Release Engineering - 4.2.1-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 4.2.1-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu May 20 2021 Pete Walter - 4.2.1-10 -- Rebuild for ICU 69 - -* Thu Apr 22 2021 Greg Hellings - 4.2.1-9 -- Added patch for glib version incompatibility - -* Thu Jan 28 2021 Fedora Release Engineering - 4.2.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Dec 14 2020 Greg Hellings - 4.2.1-7 -- Force rebuild against SWORD 1.9.0 - -* Sat Aug 01 2020 Fedora Release Engineering - 4.2.1-6 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 4.2.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jun 11 2020 Greg Hellings - 4.2.1-4 -- Remove libglade2 from BR - -* Sun May 17 2020 Pete Walter - 4.2.1-3 -- Rebuild for ICU 67 - -* Sat May 16 2020 Pete Walter - 4.2.1-2 -- Rebuild for ICU 67 - -* Thu May 14 2020 Greg Hellings - 4.2.1-1 -- Upstream release 4.2.1 -- Remove patches -- Remove GConf2 and libgsf dependencies -- Removed Xiphos.ogg doc -- Added Italian help translation - -* Thu Apr 02 2020 Greg Hellings - 4.1.0-12 -- Added fix_nasb.patch - -* Fri Jan 31 2020 Fedora Release Engineering - 4.1.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Nov 01 2019 Pete Walter - 4.1.0-10 -- Rebuild for ICU 65 - -* Sat Jul 27 2019 Fedora Release Engineering - 4.1.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Feb 03 2019 Fedora Release Engineering - 4.1.0-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 23 2019 Pete Walter - 4.1.0-7 -- Rebuild for ICU 63 - -* Tue Jul 31 2018 Florian Weimer - 4.1.0-6 -- Rebuild with fixed binutils - -* Thu Jul 26 2018 Greg Hellings - 4.1.0-5 -- Change to CMake build process -- Add several BRs -- Include patch from upstream that adds CMake (TBR 4.1.1 or later) - -* Thu Jul 12 2018 Greg Hellings - 4.1.0-2 -- Rebuild for SWORD 1.8.1-7 - -* Tue Jul 10 2018 Pete Walter - 4.1.0-3 -- Rebuild for ICU 62 - -* Mon May 14 2018 Greg Hellings - 4.1.0-1 -- Upstream release 4.1.0 - -* Mon Apr 30 2018 Pete Walter - 4.0.7-6 -- Rebuild for ICU 61.1 - -* Fri Feb 09 2018 Fedora Release Engineering - 4.0.7-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Jan 15 2018 Greg Hellings - 4.0.7-4 -- Rebuild for SWORD 1.8 - -* Fri Jan 12 2018 Tomas Popela - 4.0.7-3 -- Adapt to the webkitgtk4 rename - -* Thu Nov 30 2017 Pete Walter - 4.0.7-2 -- Rebuild for ICU 60.1 - -* Mon Sep 25 2017 Greg Hellings - 4.0.7-1 -- Upstream release 4.0.7 - -* Sat Aug 12 2017 Greg Hellings - 4.0.6-1 -- Upstream release 4.0.6 -- Addresses display bug BZ1448623 - -* Thu Aug 03 2017 Fedora Release Engineering - 4.0.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 4.0.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue Jul 11 2017 Greg Hellings - 4.0.5-2 -- Fix post install scripts for upgrades -- Added obsoletes for xiphos-common to stop collision issues -- Partially addresses BZ1448623 - -* Sun Apr 23 2017 Greg Hellings - 4.0.5-1 -- Upstream version 4.0.5 -- Added extra Provides lines -- Updated URL for source tarball - -* Sat Feb 11 2017 Fedora Release Engineering - 4.0.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Jan 09 2017 Greg Hellings - 4.0.4-6 -- Dropped GTK2 support -- Dropped WebKitGTK support - -* Mon Sep 19 2016 Greg Hellings - 4.0.4-5 -- Moved to WebKit2 - * Wed Jun 01 2016 Greg Hellings - 4.0.4-4 - Moved appdata and desktop files to gtk2 build, allowing proper auto-discovery by gnome-software. BZ#1330096 @@ -311,7 +217,7 @@ rm -frv %{buildroot}%{_docdir}/%{name} * Fri Feb 05 2016 Fedora Release Engineering - 4.0.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild -* Tue Sep 01 2015 Greg Hellings - 4.0.4-1 +* Tue Sep 02 2015 Greg Hellings - 4.0.4-1 - Update to new upstream version * Fri Aug 07 2015 Greg Hellings - 4.0.3-1