SHA256
1
0
forked from pool/peazip
peazip/peazip.spec
Pragmatic Linux fee01c54a5 Accepting request 1146176 from home:pragmalin:branches:devel:languages:pascal
- 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
2024-02-12 13:08:14 +00:00

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