diff --git a/packaging/copr/subsurface.spec b/packaging/copr/subsurface.spec new file mode 100644 index 000000000..0db9d974a --- /dev/null +++ b/packaging/copr/subsurface.spec @@ -0,0 +1,124 @@ +# +# Fedora COPR spec file for package subsurface +# +# Copyright (c) 2014-2022 Dirk Hohndel +# + +Name: {{{ git_dir_name }}} +Version: {{{ git_dir_version }}} +Release: 1%{?dist} + +Summary: A test build of the latest development version of Subsurface + +License: GPL v2 +Url: http://subsurface-divelog.org +VCS: {{{ git_dir_vcs }}} + +Source0: {{{ git_dir_pack }}} + +Group: Productivity/Other + +BuildRequires: desktop-file-utils +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: asciidoc +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: cmake +BuildRequires: libzip-devel +BuildRequires: libxml2-devel +BuildRequires: libxslt-devel +BuildRequires: libssh2-devel +BuildRequires: libcurl-devel +BuildRequires: libgit2-devel +BuildRequires: libmtp-devel +BuildRequires: netpbm-devel +BuildRequires: openssl-devel +BuildRequires: libsqlite3x-devel +BuildRequires: libusbx-devel +BuildRequires: bluez-libs-devel +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qttools-devel +BuildRequires: qt5-qtwebkit-devel +BuildRequires: qt5-qtsvg-devel +BuildRequires: qt5-qtscript-devel +BuildRequires: qt5-qtdeclarative-devel +BuildRequires: qt5-qtbase-mysql +BuildRequires: qt5-qtbase-postgresql +BuildRequires: qt5-qtbase-ibase +BuildRequires: qt5-qtbase-odbc +BuildRequires: qt5-qtbase-tds +BuildRequires: qt5-qtconnectivity-devel +BuildRequires: qt5-qtlocation-devel +BuildRequires: libappstream-glib + +Recommends: qt5-qttranslations + +%description +This is the official Subsurface build, including our own custom libdivecomputer + + +%prep +{{{ git_dir_setup_macro }}} + + +%build +# we need to temporarily install the output of our two included dependency in order to use those +# when building Subsurface - yes, this is ugly. But since we have private versions of these two +# libraries, this is the most reasonable approach... +mkdir -p install-root +(cd libdivecomputer ; \ + autoreconf --install ; \ + CFLAGS="-fPIC -g -O2" ./configure --prefix=%{_builddir}/install-root --bindir=%{_builddir}/install-root/bin --libdir=%{_builddir}/install-root/lib --includedir=%{_builddir}/install-root/include --disable-examples ; \ + make %{?_smp_mflags} ; \ + make install) +( cd googlemaps ; mkdir -p build ; cd build ; \ + qmake-qt5 ../googlemaps.pro ; \ + # on Fedora 36 and newer we get the package_notes that break the build - let's rip them out + sed -i 's/-Wl[^ ]*package_note[^ ]* //g' Makefile + make -j4 ; \ + make install_target INSTALL_ROOT=%{_builddir}/install-root ) +%cmake -DCMAKE_BUILD_TYPE=Release \ + -DMAKE_TESTS=OFF \ + -DLRELEASE=lrelease-qt5 \ + -DLIBDIVECOMPUTER_INCLUDE_DIR=%{_builddir}/install-root/include \ + -DLIBGIT2_INCLUDE_DIR=%{_builddir}/install-root/include \ + -DLIBDIVECOMPUTER_LIBRARIES=%{_builddir}/install-root/lib/libdivecomputer.a \ + -DNO_PRINTING=OFF \ + . +%cmake_build + +%install +mkdir -p %{buildroot}/%{_libdir} +( cd googlemaps/build ; make install_target INSTALL_ROOT=%{buildroot} ) +%cmake_install +install subsurface.debug %{buildroot}%{_bindir} +install appdata/subsurface.appdata.xml %{buildroot}%{_datadir}/metainfo +desktop-file-install --dir=%{buildroot}/%{_datadir}/applications subsurface.desktop + +%fdupes %{buildroot} + +%post +%desktop_database_post +/sbin/ldconfig + +%postun +%desktop_database_post +/sbin/ldconfig + +%files +%defattr(-,root,root) +%doc gpl-2.0.txt README.md ReleaseNotes/ReleaseNotes.txt +%{_bindir}/subsurface* +%{_libdir}/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so +%{_datadir}/applications/subsurface.desktop +%dir %{_datadir}/metainfo +%{_datadir}/metainfo/subsurface.appdata.xml +%{_datadir}/icons/hicolor/*/apps/subsurface-icon.* +%{_datadir}/subsurface/ + + +%changelog +{{{ git_dir_changelog }}}