This commit is contained in:
Sergey Zhemoytel 2022-12-20 02:30:17 +03:00
parent eecf1fd3de
commit 21398d0ee1

View file

@ -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}