peazip/peazip.spec

196 lines
6.8 KiB
RPMSpec
Raw Normal View History

- Update to 10.0.0: BACKEND * Pea 1.20, can now search hash values of files on Google and Virustotal for detecting known malware, new command line switches to show text preview of files, and to directly save checksum/hash results in GNU Coreutils -compatible formats * 7z 24.08 CODE * Legacy code cleanup * Sorted tab order of UI items * Various fixes FILE MANAGER * (Linux) Added MTP devices folder (Media Transfer Protocol) in Filesystem section of navigation sidebar, to make easier to access to mounted devices, i.e. Android phones / tablets * Expanded File tools section in file browser context menu, archive/extract context menu, and in Test menu in tool bar; it is now possible to + Save hash values in GNU Coreutils compatible format + Search SHA256 hash values on Google and VirusTotal + Display Text preview of file (attempts to parse file as utf8 text, displays linle numbers, text strings and line mumbers can be sorted alphabetically) * Revamped GUI + Hints and tooltips can now be turned on/off from Options > Settings, General tab + Icons used more sparingly to avoid information repetition and overload + Updated progress screen + Updated GUI rendering engine to be more flexible and memory efficient (up to 30% depending on the icon mode) + Updated Style menu + Updated Themes and embedded icons + Updated context menu EXTRACTION and ARCHIVING * From Options > Settings, Advanced tab it is possible to set "7z / p7zip syntax level" back to 17.05 and 16.02 releases, to improve compatibility with the syntaxt of legacy 7z / p7zip versions * Improved quick "Extract here" link in the toolbar is now also shown when one or more archives are selected in the file browser * Updated compression presets OBS-URL: https://build.opensuse.org/package/show/devel:languages:pascal/peazip?expand=0&rev=134
2024-10-28 07:44:41 +00:00
#
# spec file for package peazip
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _peazipinstalldir %{_libdir}/peazip
Name: peazip
Version: 10.0.0
Release: 0
Summary: Graphical file archiver
License: LGPL-3.0-only
Group: Productivity/Archiving/Compression
URL: https://peazip.github.io/
Source0: https://github.com/peazip/PeaZip/releases/download/%{version}/peazip-%{version}.src.zip
Source1: altconf.txt
# The help file did not change between 9.9.0 and 9.9.1. When it does, replace version number with the version macro again.
Source2: https://github.com/peazip/PeaZip/releases/download/10.0.0/peazip_help.pdf
Patch0: peazip-desktop.patch
# PATCH-FIX-OPENSUSE peazip-build_PIE.patch -- aloisio@gmx.com
Patch1: peazip-build_PIE.patch
# PATCH-FIX-OPENSUSE peazip-help_path.patch set correct path for the pdf guide -- aloisio@gmx.com
Patch2: peazip-help_path.patch
# PATCH-FEATURE-OPENSUSE peazip-debuginfo.patch
Patch3: peazip-debuginfo.patch
BuildRequires: arc
BuildRequires: brotli
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: fpc
BuildRequires: fpc-src
BuildRequires: kf5-filesystem
BuildRequires: lazarus-ide
BuildRequires: lazarus-lcl-qt5
BuildRequires: lazarus-tools
BuildRequires: libX11-devel
BuildRequires: unzip
BuildRequires: upx
BuildRequires: zpaq
BuildRequires: zstd
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150100
BuildRequires: p7zip-full
Requires: p7zip-full
%else
BuildRequires: p7zip
Requires: p7zip
%endif
Requires: upx
%if 0%{?suse_version} < 1500
BuildRequires: update-desktop-files
%endif
Suggests: arc
Suggests: brotli
Suggests: zpaq
Suggests: zstd
%description
PeaZip is a file and archive manager GUI for many formats.
Create: 7Z, ARC, BZ2, GZ, *PAQ, PEA, QUAD/BALZ, TAR, UPX, WIM, XZ, ZIP files
Extract 150+ archive types: ACE, ARJ, CAB, DMG, ISO, LHA, RAR, UDF, ZIPX and more
It can extract, create and convert multiple archives at once,
create self-extracting archives, split/join files, supports strong encryption with two-factor authentication,
has an encrypted password manager, secure deletion, can find duplicate files, calculate hashes, and
export job definition as a script.
%package kf5
Summary: KF5 servicemenu for peazip
Group: Productivity/Archiving/Compression
Requires: peazip
%if 0%{?suse_version} < 1500
Requires(post): update-desktop-files
Requires(postun): update-desktop-files
%endif
BuildArch: noarch
%description kf5
PeaZip is a file and archive manager GUI for many formats.
This subpackage contains the KF5 integration.
%prep
%autosetup -p1 -n %{name}-%{version}.src
chmod +w res/share/lang
dos2unix readme.txt
mv res/share/copying/copying.txt .
cp %{SOURCE2} peazip_help.pdf
%build
cd dev
lazbuild --add-package metadarkstyle/metadarkstyle.lpk
# Add additional packages to vanilla Lazarus
lazbuild \
--lazarusdir=%{_libdir}/lazarus \
%ifarch x86_64
--cpu=x86_64 \
%endif
--widgetset=qt5 \
--max-process-count=1 \
-B --add-package metadarkstyle/metadarkstyle.lpk
# Build Peazip
lazbuild \
--lazarusdir=%{_libdir}/lazarus \
%ifarch x86_64
--cpu=x86_64 \
%endif
--widgetset=qt5 \
--max-process-count=1 \
-B project_pea.lpi project_peach.lpi
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_peazipinstalldir}
cp -r res %{buildroot}%{_peazipinstalldir}
cp %{SOURCE1} %{buildroot}%{_peazipinstalldir}/res
mkdir -p %{buildroot}%{_peazipinstalldir}/res/bin/7z
mkdir -p %{buildroot}%{_peazipinstalldir}/res/bin/upx
ln -s %{_bindir}/7z %{buildroot}%{_peazipinstalldir}/res/bin/7z/7z
ln -s %{_bindir}/upx %{buildroot}%{_peazipinstalldir}/res/bin/upx/upx
mkdir -p %{buildroot}%{_peazipinstalldir}/res/bin/arc
mkdir -p %{buildroot}%{_peazipinstalldir}/res/bin/brotli
mkdir -p %{buildroot}%{_peazipinstalldir}/res/bin/zpaq
mkdir -p %{buildroot}%{_peazipinstalldir}/res/bin/zstd
ln -s %{_bindir}/arc %{buildroot}%{_peazipinstalldir}/res/bin/arc/arc
ln -s %{_bindir}/brotli %{buildroot}%{_peazipinstalldir}/res/bin/brotli/brotli
ln -s %{_bindir}/zpaq %{buildroot}%{_peazipinstalldir}/res/bin/zpaq/zpaq
ln -s %{_bindir}/zstd %{buildroot}%{_peazipinstalldir}/res/bin/zstd/zstd
install -m755 dev/peazip %{buildroot}%{_peazipinstalldir}
ln -s %{_peazipinstalldir}/peazip %{buildroot}%{_bindir}/peazip
install -m755 dev/pea %{buildroot}%{_peazipinstalldir}/res
ln -s %{_peazipinstalldir}/res/pea %{buildroot}%{_bindir}/pea
mkdir -p %{buildroot}%{_datadir}/applications/
cp %{buildroot}%{_peazipinstalldir}/res/share/batch/freedesktop_integration/peazip.desktop %{buildroot}%{_datadir}/applications/
rm %{buildroot}%{_peazipinstalldir}/res/share/batch/freedesktop_integration/peazip.desktop
# Remove duplicate comment line
sed -i '/Comment=PeaZip/d' %{buildroot}%{_datadir}/applications/peazip.desktop
# Set correct category
sed -i 's/Categories=Qt;KDE;Utility;System;Archiving;/Categories=Qt;KDE;Utility;Archiving;/' %{buildroot}%{_datadir}/applications/peazip.desktop
mkdir -p %{buildroot}%{_datadir}/pixmaps/
cp %{buildroot}%{_peazipinstalldir}/res/share/batch/freedesktop_integration/peazip.png %{buildroot}%{_datadir}/pixmaps/
rm %{buildroot}%{_peazipinstalldir}/res/share/batch/freedesktop_integration/peazip.png
# Remove hard linked png
rm %{buildroot}%{_peazipinstalldir}/res/share/icons/peazip_app.png
rm %{buildroot}%{_peazipinstalldir}/res/share/icons/peazip_alt.png
- Update to 10.0.0: BACKEND * Pea 1.20, can now search hash values of files on Google and Virustotal for detecting known malware, new command line switches to show text preview of files, and to directly save checksum/hash results in GNU Coreutils -compatible formats * 7z 24.08 CODE * Legacy code cleanup * Sorted tab order of UI items * Various fixes FILE MANAGER * (Linux) Added MTP devices folder (Media Transfer Protocol) in Filesystem section of navigation sidebar, to make easier to access to mounted devices, i.e. Android phones / tablets * Expanded File tools section in file browser context menu, archive/extract context menu, and in Test menu in tool bar; it is now possible to + Save hash values in GNU Coreutils compatible format + Search SHA256 hash values on Google and VirusTotal + Display Text preview of file (attempts to parse file as utf8 text, displays linle numbers, text strings and line mumbers can be sorted alphabetically) * Revamped GUI + Hints and tooltips can now be turned on/off from Options > Settings, General tab + Icons used more sparingly to avoid information repetition and overload + Updated progress screen + Updated GUI rendering engine to be more flexible and memory efficient (up to 30% depending on the icon mode) + Updated Style menu + Updated Themes and embedded icons + Updated context menu EXTRACTION and ARCHIVING * From Options > Settings, Advanced tab it is possible to set "7z / p7zip syntax level" back to 17.05 and 16.02 releases, to improve compatibility with the syntaxt of legacy 7z / p7zip versions * Improved quick "Extract here" link in the toolbar is now also shown when one or more archives are selected in the file browser * Updated compression presets OBS-URL: https://build.opensuse.org/package/show/devel:languages:pascal/peazip?expand=0&rev=134
2024-10-28 07:44:41 +00:00
chmod +x %{buildroot}%{_peazipinstalldir}/res/share/batch/freedesktop_integration/Nautilus-scripts/Archiving/PeaZip/*
pushd %{buildroot}%{_peazipinstalldir}/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/
mkdir -p %{buildroot}%{_kf5_servicesdir}/ServiceMenus
install -m644 *.desktop %{buildroot}%{_kf5_servicesdir}/ServiceMenus
popd
find %{buildroot} -type f -size 0 -delete
%fdupes %{buildroot}/%{_prefix}
%if 0%{?suse_version} < 1500
%post kf5
%desktop_database_post
%postun kf5
%desktop_database_postun
%endif
%files
%license copying.txt
%doc readme.txt peazip_help.pdf
%{_bindir}/pea
%{_bindir}/peazip
%{_peazipinstalldir}
%{_datadir}/applications/peazip.desktop
%{_datadir}/pixmaps/peazip.png
%files kf5
%dir %{_kf5_servicesdir}/ServiceMenus
%{_kf5_servicesdir}/ServiceMenus/*.desktop
%changelog