forked from pool/peazip
- Update to 9.7.0: BACKEND * Brotli 1.1.0 * Pea 1.17 * Zstd 1.5.5 * 7z 24.01 beta successfully tested, but not included as backend due its beta status CODE * Compiled with Lazarus 3.0, but still compatible with Lazarus 2.x line * Improved loading of translations * Can now load language files encoded as UTF8, and as UTF8-BOM (preferred) * Improved support for old translation files not matching with application's version * Various fixes * Fixed -ext2simple bug, the switch is now properly working * Fixed Qt5 seection issue, the file browser in details mode is now set to row selection FILE MANAGER * Smart filename sorting can now be turned on/off form Options > Organize * (Windows) PeaZip now supports the Windows 10 and newer systems Dark Mode using zamtmn metadarkstyle.lpk, thanks to user contributed pull request 114. * Classic dark themes / high contrast mode is still supported on all Windows systems * (Themes) Improved "Button" alternative Tab style * Vertical tabs in Options screen are now themed accordingly to theme's tab style EXTRACTION and ARCHIVING * Improved the scripting generation engine: * In Console tab af archiving and extraction screens it is now available a new option for the scripting engine to use strdin/stdout pipe for creation and extraction of compressed TAR archives, so no intermediate TAR file needs to be saved on disk during those operations * This option does not apply to the GUI app itself (which launches the operations as distinct single processes), but only to scripts generated by the application, which can be saved to run independently in console instances * The option applies only to formats handles through 7z / p7zip backend * For extraction operation, the option applies only a single or multiple archives are sent to extraction scren, not while brosing a single archive (either for partial or total extraction) INSTALLERS * (Linux) It is now available PeaZip Portable for aarch64 Linux, the first test release was released built on previous version's code * (Windows) Improved Windows 11 mini-context menu entries, now displaying correct PeaZip icons; sample scripts to integrate PeaZip with W11 mini-context menu are available in the app inside the subfolder (peazip)\res\share\batch\Windows\Windows 11 mini context menu * (Windows) Packages and configuration wizard built with InnoSetup 6.2.2 - Removed peazip-lazfileutils.patch (fixed upstream). OBS-URL: https://build.opensuse.org/request/show/1146176 OBS-URL: https://build.opensuse.org/package/show/devel:languages:pascal/peazip?expand=0&rev=124
193 lines
6.6 KiB
RPMSpec
193 lines
6.6 KiB
RPMSpec
#
|
|
# 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: 9.7.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
|
|
Source2: https://github.com/peazip/PeaZip/releases/download/%{version}/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
|
|
# 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
|
|
|
|
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
|