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 URL: https://peazip.github.io
Source0: https://github.com/peazip/PeaZip/archive/%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/peazip/PeaZip/archive/%{version}/%{name}-%{version}.tar.gz
#Source0: https://sourceforge.net/projects/peazip/files/%{version}/%{name}-%{version}.src.zip #Source0: https://sourceforge.net/projects/peazip/files/%{version}/%{name}-%{version}.src.zip
Source1000: %{name}.rpmlintrc
# configure to run in users home appdata # configure to run in users home appdata
Source1: altconf.txt Source1: altconf.txt
Source2: rosa-peazip.desktop Source2: rosa-peazip.desktop
@ -18,10 +19,13 @@ BuildRequires: lazarus >= 1.2.0
BuildRequires: qt5pas-devel BuildRequires: qt5pas-devel
BuildRequires: qt5-devel BuildRequires: qt5-devel
BuildRequires: icoutils BuildRequires: icoutils
BuildRequires: imagemagick
Requires: p7zip Requires: p7zip
Requires: upx >= 3.09 Requires: upx >= 3.09
Requires: brotli Requires: brotli
Requires: zstd Requires: zstd
Requires: arc
Requires: zpaq
# lazaris not build for ARM # lazaris not build for ARM
#ExcludeArch: %{armx} #ExcludeArch: %{armx}
@ -31,12 +35,14 @@ portable GUI for many Open Source technologies like 7-Zip, FreeArc, PAQ,
UPX... UPX...
%files %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}/* %{_bindir}/*
%{_datadir}/icons/hicolor/*/apps/*.png %{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/applications/rosa-peazip.desktop %{_datadir}/applications/*.desktop
%{_datadir}/kde4/services/ServiceMenus/*.desktop
%{_datadir}/%{name} %{_datadir}/%{name}
#--------------------------------------------------------------------- #---------------------------------------------------------------------
%prep %prep
@ -47,35 +53,53 @@ dos2unix readme*
popd popd
%build %build
pushd peazip-sources lazbuild peazip-sources/dev/project_peach.lpi
pushd dev lazbuild peazip-sources/dev/project_pea.lpi
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
%install %install
mkdir -p %{buildroot}%{_bindir} install -d %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/%{name} install -d %{buildroot}%{_datadir}/%{name}/res/share
#rm -rf res/share/icons cp -a peazip-sources/res/{bin,conf} %{buildroot}%{_datadir}/%{name}/res
cp -r res %{buildroot}%{_datadir}/%{name} cp -a peazip-sources/res/share/{batch,icons,lang,presets,themes} %{buildroot}%{_datadir}/%{name}/res/share
cp %{SOURCE1} %{buildroot}%{_datadir}/%{name}/res/conf install -Dm0644 %{SOURCE1} %{buildroot}%{_datadir}/%{name}/res/conf
#install helper apps #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}/7z %{buildroot}%{_datadir}/%{name}/res/bin/7z/7z
ln -s %{_bindir}/upx %{buildroot}%{_datadir}/%{name}/res/bin/upx/upx 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}/zstd %{buildroot}%{_datadir}/%{name}/res/bin/zstd/zstd
ln -s %{_bindir}/brotli %{buildroot}%{_datadir}/%{name}/res/bin/brotli/brotli 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 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} ln -s %{_datadir}/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
mkdir -p %{buildroot}%{_datadir}/applications install -d %{buildroot}%{_datadir}/applications
cp %{SOURCE2} %{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 # KDE 4 integration
#rm -rf %{buildroot}%{_datadir}/%{name}/res/share/icons 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}