# Force out of source build
%global __cmake_in_source_build 0

#This spec file is intended for daily development snapshot release
%global build_shortcommit {{{ git rev-parse --short HEAD }}}
%global version_string {{{ git describe --tags --match 'v[0-9]*' | sed -e 's/^v\(.*\)-\([0-9]*\)-g\(.*\)$/\1^\2.g\3/' }}}
%global _gtest 1

Name:           xournalpp
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_examples
Version:        %{version_string}
Release:        1%{dist}
Summary:        Handwriting note-taking software with PDF annotation support

License:        GPLv2+
URL:            https://xournalpp.github.io
VCS:            {{{ git_cwd_vcs }}}
Source:         {{{ git_cwd_pack }}}

BuildRequires:  cmake >= 3.10
BuildRequires:  desktop-file-utils
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  gettext
BuildRequires:  git
BuildRequires:  help2man
BuildRequires:  libappstream-glib
#This would be the right way to do it xpp downloads from Google nonetheless.
%{?_gtest:
BuildRequires:  pkgconfig(gtest)
}
BuildRequires:  pkgconfig(glib-2.0) >= 2.32.0
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.18.9
BuildRequires:  pkgconfig(librsvg-2.0)
BuildRequires:  pkgconfig(libxml-2.0) >= 2.0.0
BuildRequires:  pkgconfig(libzip) >= 1.0.1
BuildRequires:  pkgconfig(lua) >= 5.3
BuildRequires:  pkgconfig(poppler-glib) >= 0.41.0
BuildRequires:  pkgconfig(portaudiocpp) >= 12
BuildRequires:  pkgconfig(sndfile) >= 1.0.25
BuildRequires:  pkgconfig(zlib)
BuildRequires:  pkgconfig(gtksourceview-4) >= 4.0
Recommends:     texlive-scheme-basic
Recommends:     texlive-dvipng
Recommends:     texlive-standalone
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

%package	plugins
Summary:        Default plugin for %{name}
BuildArch:      noarch

%description	plugins
The %{name}-plugins package contains sample plugins for  %{name}.

%package	ui
Summary:        User interface for %{name}
BuildArch:      noarch

%description	ui
The %{name}-ui package contains a graphical user interface for  %{name}.


%prep
%autosetup -n %{name}

%build
%cmake \
        -DDISTRO_CODENAME="Fedora Linux" \
        %{?_gtest: -DENABLE_GTEST=ON} \
        -DENABLE_MATHTEX=ON \
        -DGIT_VERSION=%{build_shortcommit} \
        -DMAC_INTEGRATION=OFF

%cmake_build

%install
%cmake_install

#Remove depreciated key from desktop file
desktop-file-install \
 --remove-key="Encoding" \
 --set-key="StartupWMClass" \
 --set-value="xournalpp" \
  %{buildroot}%{_datadir}/applications/com.github.%{name}.%{name}.desktop
%find_lang %{name}

# Remove unnecssary scripts
find %{buildroot}%{_datadir}/%{name} -name update-icon-cache.sh -delete -print
%fdupes %{buildroot}%{_datadir}

%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
%{_bindir}/%{name}
%{_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/{xournal,xournalpp}.gpl
%{_datadir}/%{name}/resources/{default,legacy}_template.tex
%{_mandir}/man1/%{name}*.gz
%{_metainfodir}/com.github.%{name}.%{name}.appdata.xml

%files plugins
%{_datadir}/%{name}/plugins

%files ui
%{_datadir}/%{name}/ui

%changelog
* Mon Sep 9 2024 Luya Tshimbalanga <luya@fedoraproject.org>
- Add color palettes support

* Fri Apr 1 2022 Michael J Gruber <mjg@fedoraproject.org>
- Switch spec file to rpkg format

* Sun Mar 6 2022 Luya Tshimbalanga <luya@fedoraproject.org>
- Port enhanced spec file from Michael J Gruber version

* Thu Oct 21 2021 Ulrich Huber <ulrich@huberulrich.de>
- See https://github.com/%{name}/%{name}/CHANGELOG.md

* Sat Feb 20 2021 Luya Tshimbalanga <luya@fedoraproject.org>
- Add librsvg2 dependencies
- Add notice about daily git snapshot

* Mon Dec 16 2019 Luya Tshimbalanga <luya@fedoraproject.org>
- Implement some version autodetection to reduce maintenance work.
