build-system: initial spec file for Fedora copr build
This should allow us to automate builds using the Fedora infrastructure. For now this is intended to create 'test' builds of the latest commit; it would make sense to extend this to create release builds as well. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
ef0a6b7bee
commit
2a14e2b995
124
packaging/copr/subsurface.spec
Normal file
124
packaging/copr/subsurface.spec
Normal file
@ -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 }}}
|
||||
Loading…
x
Reference in New Issue
Block a user