diff --git a/.gitignore b/.gitignore index 08789ba..89dab92 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,11 @@ /xournalpp-1.2.4.tar.gz /xournalpp-1.2.5.tar.gz /xournalpp-1.2.6.tar.gz +/xournalpp-1.2.7.tar.gz +/xournalpp-1.2.8.tar.gz +/xournalpp-1.2.10.tar.gz +/xournalpp-1.3.0.tar.gz +/xournalpp-1.3.1.tar.gz +/xournalpp-1.3.2.tar.gz +/xournalpp-1.3.3.tar.gz +/xournalpp-1.3.4.tar.gz diff --git a/sources b/sources index 7beca6f..e40c86a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xournalpp-1.2.6.tar.gz) = 8e74d19414a35d10bcea16594ec08077c864c119e9c4d6069a1fa9ab95f0ce518aa7db08063280890dd7711f8d7b68c2e41cf55ba0b083ecf03e2c2f6b030c4f +SHA512 (xournalpp-1.3.4.tar.gz) = bc2c925d084722d3418b3de0c0131518fa2dab1563acd6636ab3a2c5a358962e71feea339a248341f57cadf83733a1f0532f0993287da9d56eb9b0e5ab203578 diff --git a/xournalpp.spec b/xournalpp.spec index 34ed1ba..3f089e7 100644 --- a/xournalpp.spec +++ b/xournalpp.spec @@ -1,88 +1,105 @@ -%global with_cppunit 1 -%global gtest 1 -%global profiling 1 +%bcond cppunit 1 +%bcond gtest 1 +%bcond profiling 1 +%bcond qpdf 1 +%global forgeurl https://github.com/xournalpp/xournalpp Name: xournalpp -Version: 1.2.6 +Version: 1.3.4 Release: %autorelease Summary: Handwriting note-taking software with PDF annotation support -License: GPL-2.0-or-later -URL: https://github.com/%{name}/%{name} -Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +License: GPL-2.0-or-later +%forgemeta +URL: %{forgeurl} +Source: %{forgesource} -# Building with Ninja generator fails, further investigation needed -%global _cmake_generator "Unix Makefiles" -BuildRequires: make BuildRequires: cmake >= 3.10 BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gettext +BuildRequires: git BuildRequires: help2man BuildRequires: libappstream-glib -%if 0%{?with_cppunit} -BuildRequires: pkgconfig(cppunit) >= 1.12-0 +BuildRequires: ninja-build + +%if %{with cppunit} +BuildRequires: pkgconfig(cppunit) >= 1.12 %endif -BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 -%if 0%{?gtest} +BuildRequires: pkgconfig(glib-2.0) >= 2.32 +%if %{with gtest} BuildRequires: pkgconfig(gtest) %endif BuildRequires: pkgconfig(gtk+-3.0) >= 3.19.9 BuildRequires: pkgconfig(gtksourceview-4) >= 4.0.0 BuildRequires: pkgconfig(librsvg-2.0) -%if 0%{?profiling} +%if %{with profiling} BuildRequires: pkgconfig(libprofiler) >= 2.5 BuildRequires: pkgconfig(libtcmalloc) >= 2.5 %endif -BuildRequires: pkgconfig(libxml-2.0) >= 2.0.0 +%if %{with qpdf} +BuildRequires: pkgconfig(libqpdf) >= 10.6.0 +%endif +BuildRequires: pkgconfig(libxml-2.0) >= 2.0 BuildRequires: pkgconfig(libzip) >= 1.0.1 BuildRequires: pkgconfig(lua) >= 5.3 -BuildRequires: pkgconfig(poppler-glib) >= 0.41.0 +BuildRequires: pkgconfig(poppler-glib) >= 0.41 BuildRequires: pkgconfig(portaudiocpp) >= 12 BuildRequires: pkgconfig(sndfile) >= 1.0.25 + Recommends: texlive-latex-bin Requires: hicolor-icon-theme Requires: %{name}-plugins = %{version}-%{release} Requires: %{name}-ui = %{version}-%{release} %description -Xournal++ is a handwriting note-taking software with PDF annotation support. -Supports Pen input like Wacom Tablets +Xournal++ is a handwriting note-taking application with PDF annotation support. +It is optimized for pen input such as Wacom tablets. -%package plugins -Summary: Default plugin for %{name} +%package plugins +Summary: Default plugins for %{name} BuildArch: noarch -%description plugins -The %{name}-plugins package contains sample plugins for %{name}. +%description plugins +This package contains sample plugins for %{name}. -%package ui -Summary: User interface for %{name} +%package ui +Summary: User interface files for %{name} BuildArch: noarch -%description ui -The %{name}-ui package contains a graphical user interface for %{name}. - +%description ui +This package contains user interface resources for %{name}. %prep -%autosetup -p1 +%forgeautosetup -p1 %build %cmake \ - -DDISTRO_CODENAME="Fedora Linux" \ - -DENABLE_GTEST=%{gtest} \ - -DENABLE_PROFILING=%{profiling} + -DCMAKE_BUILD_TYPE="Release" \ + -DDISTRO_CODENAME="Fedora Linux" \ + -DENABLE_GTEST=%{with gtest} \ + -DENABLE_PROFILING=%{with profiling} %cmake_build %install %cmake_install - %find_lang %{name} -# REMOVE UNNECESSARY SCRIPTS -find %{buildroot}%{_datadir}/%{name} -name update-icon-cache.sh -delete -print -%fdupes %{buildroot}%{_datadir} +# Generate and install man pages. +install -d '%{buildroot}%{_mandir}/man1' +for cmd in %{buildroot}%{_bindir}/* +do + LD_LIBRARY_PATH='%{buildroot}%{_libdir}' \ + help2man \ + --no-info --no-discard-stderr --version-string='%{version}' \ + --output="%{buildroot}%{_mandir}/man1/$(basename "${cmd}").1" \ + "${cmd}" +done + +# Remove unnecessary scripts and duplicate files +find %{buildroot} -name "*.sh" -delete +%fdupes %{buildroot} %check desktop-file-validate %{buildroot}%{_datadir}/applications/com.github.%{name}.%{name}.desktop @@ -91,22 +108,24 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/com.github.%{n %files -f %{name}.lang %license LICENSE %doc README.md AUTHORS -%{_bindir}/%{name}-thumbnailer -%{_bindir}/%{name} +%{_bindir}/%{name}{,-thumbnailer,-wrapper} %{_datadir}/applications/com.github.%{name}.%{name}.desktop %{_datadir}/icons/hicolor/scalable/apps/com.github.%{name}.%{name}.svg %{_datadir}/icons/hicolor/scalable/mimetypes/* %{_datadir}/mime/packages/com.github.%{name}.%{name}.xml %{_datadir}/thumbnailers/com.github.%{name}.%{name}.thumbnailer %dir %{_datadir}/%{name} +%{_datadir}/%{name}/palettes/*.gpl %{_datadir}/%{name}/resources/*_template.tex %{_mandir}/man1/%{name}*.gz %{_metainfodir}/com.github.%{name}.%{name}.appdata.xml %files plugins +%doc README.md %{_datadir}/%{name}/plugins %files ui +%doc README.md %{_datadir}/%{name}/ui %changelog