diff --git a/peazip.spec b/peazip.spec index 3f4dd26..dd7146b 100644 --- a/peazip.spec +++ b/peazip.spec @@ -10,6 +10,7 @@ Group: File tools URL: https://peazip.github.io Source0: https://github.com/peazip/PeaZip/archive/%{version}/%{name}-%{version}.tar.gz #Source0: https://sourceforge.net/projects/peazip/files/%{version}/%{name}-%{version}.src.zip +Source1000: %{name}.rpmlintrc # configure to run in users home appdata Source1: altconf.txt Source2: rosa-peazip.desktop @@ -18,10 +19,13 @@ BuildRequires: lazarus >= 1.2.0 BuildRequires: qt5pas-devel BuildRequires: qt5-devel BuildRequires: icoutils +BuildRequires: imagemagick Requires: p7zip Requires: upx >= 3.09 Requires: brotli Requires: zstd +Requires: arc +Requires: zpaq # lazaris not build for ARM #ExcludeArch: %{armx} @@ -31,12 +35,14 @@ portable GUI for many Open Source technologies like 7-Zip, FreeArc, PAQ, UPX... %files -%doc readme* copying* +%doc README.md LICENSE peazip-sources/res/share/copying peazip-sources/res/share/readme/*Linux.txt peazip-sources/res/share/*.pdf %{_bindir}/* %{_datadir}/icons/hicolor/*/apps/*.png -%{_datadir}/applications/rosa-peazip.desktop +%{_datadir}/applications/*.desktop +%{_datadir}/kde4/services/ServiceMenus/*.desktop %{_datadir}/%{name} + #--------------------------------------------------------------------- %prep @@ -47,35 +53,53 @@ dos2unix readme* popd %build -pushd peazip-sources -pushd dev -lazbuild --lazarusdir=%{_libdir}/lazarus --widgetset=qt5 --build-all project_pea.lpi && [ -f pea ] -lazbuild --lazarusdir=%{_libdir}/lazarus --widgetset=qt5 --build-all project_peach.lpi && [ -f peazip ] -popd -popd +lazbuild peazip-sources/dev/project_peach.lpi +lazbuild peazip-sources/dev/project_pea.lpi + %install -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_datadir}/%{name} -#rm -rf res/share/icons -cp -r res %{buildroot}%{_datadir}/%{name} -cp %{SOURCE1} %{buildroot}%{_datadir}/%{name}/res/conf +install -d %{buildroot}%{_bindir} +install -d %{buildroot}%{_datadir}/%{name}/res/share +cp -a peazip-sources/res/{bin,conf} %{buildroot}%{_datadir}/%{name}/res +cp -a peazip-sources/res/share/{batch,icons,lang,presets,themes} %{buildroot}%{_datadir}/%{name}/res/share +install -Dm0644 %{SOURCE1} %{buildroot}%{_datadir}/%{name}/res/conf #install helper apps -mkdir -p %{buildroot}%{_datadir}/%{name}/res/bin/{7z,upx,zstd,brotli} +install -d %{buildroot}%{_datadir}/%{name}/res/bin/{7z,upx,zstd,brotli,arc,zpaq} ln -s %{_bindir}/7z %{buildroot}%{_datadir}/%{name}/res/bin/7z/7z ln -s %{_bindir}/upx %{buildroot}%{_datadir}/%{name}/res/bin/upx/upx ln -s %{_bindir}/zstd %{buildroot}%{_datadir}/%{name}/res/bin/zstd/zstd ln -s %{_bindir}/brotli %{buildroot}%{_datadir}/%{name}/res/bin/brotli/brotli +ln -s %{_bindir}/zpaq %{buildroot}%{_datadir}/%{name}/res/bin/zpaq/zpaq +ln -s %{_bindir}/arc %{buildroot}%{_datadir}/%{name}/res/bin/arc/arc -install pea %{buildroot}%{_datadir}/%{name} +# clean txt +find %{buildroot}%{_datadir}/%{name}/res/bin -type f -name "*.txt" -exec rm -f {} \; + + +install -Dm0755 peazip-sources/dev/pea %{buildroot}%{_datadir}/%{name}/pea ln -s %{_datadir}/%{name}/pea %{buildroot}%{_bindir}/pea -install %{name} %{buildroot}%{_datadir}/%{name} +install -Dm0755 peazip-sources/dev/%{name} %{buildroot}%{_datadir}/%{name}/%{name} ln -s %{_datadir}/%{name}/%{name} %{buildroot}%{_bindir}/%{name} -mkdir -p %{buildroot}%{_datadir}/applications -cp %{SOURCE2} %{buildroot}%{_datadir}/applications/ +install -d %{buildroot}%{_datadir}/applications +cp -a peazip-sources/res/share/batch/freedesktop_integration/*.desktop %{buildroot}%{_datadir}/applications -mkdir -p %{buildroot}%{_iconsdir}/hicolor/256x256/apps -icotool -x -i 1 -o %{buildroot}%{_iconsdir}/hicolor/256x256/apps/%{name}.png %{name}.ico -#rm -rf %{buildroot}%{_datadir}/%{name}/res/share/icons + +# KDE 4 integration +install -d %{buildroot}%{_datadir}/kde4/services/ServiceMenus +cp -a peazip-sources/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/*.desktop %{buildroot}%{_datadir}/kde4/services/ServiceMenus/ + +# install icons +pushd peazip-sources/res/share/batch/freedesktop_integration + for x in 16 24 32 48 64 96 128 256; do + install -d %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/ + convert -resize ${x}x${x} peazip.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/peazip.png + convert -resize ${x}x${x} peazip_add.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/peazip_add.png + convert -resize ${x}x${x} peazip_extract.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/peazip_extract.png + done +popd + +# clean +rm -rf %{buildroot}%{_datadir}/%{name}/res/share/icons/{*.ico,*.icl} +rm -rf %{buildroot}%{_datadir}/%{name}/res/share/batch/{*.bat,SendTo,Windows\ 11\ mini\ context\ menu,macOS\ service\ menus,freedesktop_integration}