diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c82a5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +/xournalpp-1.0.16.tar.gz +/xournalpp-1.0.17.tar.gz +/xournalpp-1.0.18.tar.gz +/xournalpp-1.0.19.tar.gz +/xournalpp-1.0.20.tar.gz +/xournalpp-1.1.0.tar.gz +/xournalpp-1.1.1.tar.gz +/xournalpp-1.1.2.tar.gz +/xournalpp-1.1.3.tar.gz +/xournalpp-1.2.0.tar.gz +/xournalpp-1.2.1.tar.gz +/xournalpp-1.2.2.tar.gz +/xournalpp-1.2.3.tar.gz +/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 +/xournalpp-1.3.5.tar.gz +/xournalpp-1.3.6.tar.gz +/xournalpp-1.3.7.tar.gz diff --git a/sources b/sources new file mode 100644 index 0000000..8ad1f7c --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (xournalpp-1.3.7.tar.gz) = 119f11d9a6a22c616b104b559a56fa960047a898e016c22987d44fadcae5659896f7d7ecb110b86bd3bce8d5bdfb5b78849233e96bfa3905b6c750ce80ea3c5d diff --git a/xournalpp.spec b/xournalpp.spec new file mode 100644 index 0000000..c2389af --- /dev/null +++ b/xournalpp.spec @@ -0,0 +1,140 @@ +%bcond cppunit 1 +%bcond gtest 1 +%bcond profiling 1 + +# qpdf is not available with the required version on RHEL ≤ 9 +%if 0%{?rhel} && 0%{?rhel} <= 9 +%bcond qpdf 0 +%else +%bcond qpdf 1 +%endif + +%global forgeurl https://github.com/xournalpp/xournalpp + +Name: xournalpp +Version: 1.3.7 +Release: %autorelease +Summary: Handwriting note-taking software with PDF annotation support +License: GPL-2.0-or-later +%forgemeta +URL: %{forgeurl} +Source: %{forgesource} + +BuildRequires: cmake >= 3.10 +BuildRequires: desktop-file-utils +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: gettext +BuildRequires: git +BuildRequires: help2man +BuildRequires: libappstream-glib +BuildRequires: ninja-build + +%if %{with cppunit} +BuildRequires: pkgconfig(cppunit) >= 1.12 +%endif +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 %{with profiling} +BuildRequires: pkgconfig(libprofiler) >= 2.5 +BuildRequires: pkgconfig(libtcmalloc) >= 2.5 +%endif +%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 +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 application with PDF annotation support. +It is optimized for pen input such as Wacom tablets. + +%package plugins +Summary: Default plugins for %{name} +BuildArch: noarch + +%description plugins +This package contains sample plugins for %{name}. + +%package ui +Summary: User interface files for %{name} +BuildArch: noarch + +%description ui +This package contains user interface resources for %{name}. + +%prep +%forgeautosetup -p1 + +%build +%cmake \ + -DCMAKE_BUILD_TYPE="Release" \ + -DDISTRO_CODENAME="Fedora Linux" \ + -DENABLE_GTEST=%{with gtest} \ + -DENABLE_PROFILING=%{with profiling} \ + -DENABLE_QPDF=%{with qpdf} + +%cmake_build + +%install +%cmake_install +%find_lang %{name} + +# 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 +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/com.github.%{name}.%{name}.appdata.xml + +%files -f %{name}.lang +%license LICENSE +%doc README.md AUTHORS +%{_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 +%autochangelog