Accepting request 1191641 from home:pragmalin:branches:devel:languages:pascal

- Update to 9.9.0:
  BACKEND
  * 7z 24.07
  * Pea 1.19 adds optional extra KDF rounds for triple cascaded encryption in .PEA format
    (up to 20 millions iterations for each algorithm, total 60 M rounds)
  * Zstd 1.5.6 (Windows, Linux)

  CODE
  * Compiled with Lazarus 3.4, sources are still compatible with Lazarus 2.x
  * Fixes and code cleanup
    * Fixed loading Custom format in custom compression settings
    * Fixed browsing some special cases of archives (containing items with absolute paths
      starting with directopry separator characters)
  * Updated Options screen
    * (7z/p7zip) syntax level can now be set to 21.07 and 23.01 legacy versions, form 
      Options > Settings > Advances, Backend binaries
    * (7z/p7zip) new option to show timestamps as UTC insead of local time, form form
      Options > Settings > Archive manager
    * New group for TAR -related options in Options > Settings > Archive manager

  FILE MANAGER
  * (Windows) When UAC elevation is needed (non writeable output path) the user is now
    offered to restart the app UAC elevated.
    * In this way it is not needed to require elevation to subsequent operations on the
      same path, and it is possible to use all of functions of PeaZip (console mode,
      force interactive password)
  * Added internal drag and drop features
    * It is now possible to perform internal drag and drop extraction from file/archive
      manager to sidebar, both toward treeview panel and navigation panel (bookmarks,
      filesystem, history paths).
      * It is possible to extract either one or more entire archive(s), or selected
        archive content while browsing archives
      * If right mouse button is pressed, it will be possible to choese to extract with
        or without new folder/smart new folder, overriding defaults
    * It is now possible to use drag and drop to add items from file browser/archive
      browser to Bookmarks panel
  * Archives are now tested for encryption also for list/test operations, so password is
    required in advance if needed
  * Improved System tools menu for Linux (context menu, File manager)
  * New "Extract here" quick link on the right of the tool bar, shown when browing an archive
    * Extracts selected content, or entire archive if nothing is selected
    * Extracts to new/smart folder depending on settings, link text is adjusted accordingly
    * Shows context menu with all extraction options (here, smart, new folder) to be used
      on the fly without changing the configuration
  * The app now dispays if it isrunning as root (admin or UAC elevated on Windows), 
    showing <ROOT> (or <ADMIN>) note in main menu, or dropdown main menu (if main menu is
    hidden)

  EXTRACTION and ARCHIVING
  * Improved reading DMG, IMG, RPM, and SQUASHFS files as archives
  * Revamped task launcher GUI
  * Updated compression Presets files to support latest options set

OBS-URL: https://build.opensuse.org/request/show/1191641
OBS-URL: https://build.opensuse.org/package/show/devel:languages:pascal/peazip?expand=0&rev=130
This commit is contained in:
Pragmatic Linux 2024-08-05 10:49:07 +00:00 committed by Git OBS Bridge
commit 681b4391c0
12 changed files with 2708 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

2
altconf.txt Normal file
View File

@ -0,0 +1,2 @@
[alternative configuration's path: specify a location for bookmarks.txt, conf.txt and rnd (either absolute or relative path, use " and ' if needed); write "same" to use this path, "appdata" to use user's application data or home path]
appdata

3
peazip-9.8.0.src.zip Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:023e95eb698e1645a66315b9db1bf5f996fbc32c9ec41c64d96a2e02e00ab5de
size 8000860

3
peazip-9.9.0.src.zip Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1be24e7036f5fd0b9935cc9fdd6ec57f31402f4c9566df2cf1f34945a65a0fbc
size 5544898

33
peazip-build_PIE.patch Normal file
View File

@ -0,0 +1,33 @@
From: Luigi Baldoni <aloisio@gmx.com>
Date: 2018-02-11 13:31:28 +0100
Subject: Build PIE binaries
Set lazarus project files so that we produce position
independent executables.
Index: peazip-9.9.0.src/dev/project_pea.lpi
===================================================================
--- peazip-9.9.0.src.orig/dev/project_pea.lpi
+++ peazip-9.9.0.src/dev/project_pea.lpi
@@ -570,6 +570,8 @@
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
<Options>
+ <PassLinkerOptions Value="True"/>
+ <LinkerOptions Value="-pie"/>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
Index: peazip-9.9.0.src/dev/project_peach.lpi
===================================================================
--- peazip-9.9.0.src.orig/dev/project_peach.lpi
+++ peazip-9.9.0.src/dev/project_peach.lpi
@@ -1653,6 +1653,8 @@
<GenerateDebugInfo Value="False"/>
</Debugging>
<Options>
+ <PassLinkerOptions Value="True"/>
+ <LinkerOptions Value="-pie"/>
<Win32>
<GraphicApplication Value="True"/>
</Win32>

26
peazip-debuginfo.patch Normal file
View File

@ -0,0 +1,26 @@
Index: peazip-9.9.0.src/dev/project_pea.lpi
===================================================================
--- peazip-9.9.0.src.orig/dev/project_pea.lpi
+++ peazip-9.9.0.src/dev/project_pea.lpi
@@ -566,7 +566,7 @@
</CodeGeneration>
<Linking>
<Debugging>
- <GenerateDebugInfo Value="False"/>
+ <GenerateDebugInfo Value="True"/>
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
<Options>
Index: peazip-9.9.0.src/dev/project_peach.lpi
===================================================================
--- peazip-9.9.0.src.orig/dev/project_peach.lpi
+++ peazip-9.9.0.src/dev/project_peach.lpi
@@ -1650,7 +1650,7 @@
</CodeGeneration>
<Linking>
<Debugging>
- <GenerateDebugInfo Value="False"/>
+ <GenerateDebugInfo Value="True"/>
</Debugging>
<Options>
<PassLinkerOptions Value="True"/>

200
peazip-desktop.patch Normal file
View File

@ -0,0 +1,200 @@
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipadd.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipadd.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipadd.desktop
@@ -2,6 +2,8 @@
Exec=peazip -add2archive %F
Icon=peazip
Name=Archive with PeaZip
+Name[de]=Archivieren mit PeaZip
+Name[it]=Archivia con PeaZip
[Desktop Entry]
Type=Service
@@ -11,3 +13,4 @@ Name=peazipadd
Name[en_US]=peazipadd
Icon=peazip
ServiceTypes=KonqPopupMenu/Plugin,all/all
+X-SuSE-translate=true
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipext.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipext.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipext.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipext]
Exec=peazip -ext2full %F
Icon=peazip
-Name=Extract (PeaZip)
+Name=Extract with PeaZip
+Name[de]=Extrahieren mit PeaZip
+Name[it]=Estrai con PeaZip
[Desktop Entry]
Type=Service
@@ -11,3 +13,4 @@ Encoding=UTF-8
Name=peazipext
Name[en_US]=peazipext
ServiceTypes=KonqPopupMenu/Plugin,all/all
+X-SuSE-translate=true
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipextfolder.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipextfolder.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipextfolder.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipextfolder]
Exec=peazip -ext2folder %F
Icon=peazip
-Name=Extract here to new folder (PeaZip)
+Name=Extract here to new folder with PeaZip
+Name[de]=Hier mit PeaZip in neues Verzeichnis extrahieren
+Name[it]=Estrai qui con PeaZip in una nuova cartella
[Desktop Entry]
Type=Service
@@ -11,3 +13,4 @@ Icon=peazip
Name=peazipextfolder
Name[en_US]=peazipextfolder
ServiceTypes=KonqPopupMenu/Plugin,all/all
+X-SuSE-translate=true
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipexthere.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipexthere.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipexthere.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipexthere]
Exec=peazip -ext2here %F
Icon=peazip
-Name=Extract here (PeaZip)
+Name=Extract here with PeaZip
+Name[de]=Hier mit PeaZip extrahieren
+Name[it]=Estrai qui con PeaZip
[Desktop Entry]
Type=Service
@@ -11,3 +13,4 @@ Icon=peazip
Name=peazipexthere
Name[en_US]=peazipexthere
ServiceTypes=KonqPopupMenu/Plugin,all/all
+X-SuSE-translate=true
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipopen.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipopen.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE4-dolphin/peazipopen.desktop
@@ -2,6 +2,8 @@
Exec=peazip -ext2browse %F
Icon=peazip
Name=Open with PeaZip
+Name[de]=Öffnen mit PeaZip
+Name[it]=Apri con PeaZip
[Desktop Entry]
Type=Service
@@ -11,3 +13,4 @@ Icon=peazip
Name=peazipopen
Name[en_US]=peazipopen
ServiceTypes=KonqPopupMenu/Plugin,all/all
+X-SuSE-translate=true
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipadd.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipadd.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipadd.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipadd]
Exec=peazip -add2archive %F
Icon=peazip
-Name=Archive...
+Name=Archive with PeaZip
+Name[de]=Archivieren mit PeaZip
+Name[it]=Archivia con PeaZip
[Desktop Entry]
Type=Service
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipext.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipext.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipext.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipext]
Exec=peazip -ext2full %F
Icon=peazip
-Name=Extract...
+Name=Extract with PeaZip
+Name[de]=Extrahieren mit PeaZip
+Name[it]=Estrai con PeaZip
[Desktop Entry]
Type=Service
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipextfolder.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipextfolder.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipextfolder.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipextfolder]
Exec=peazip -ext2folder %F
Icon=peazip
-Name=Extract here to a new folder
+Name=Extract here to new folder with PeaZip
+Name[de]=Hier mit PeaZip in neues Verzeichnis extrahieren
+Name[it]=Estrai qui con PeaZip in una nuova cartella
[Desktop Entry]
Type=Service
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipexthere.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipexthere.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipexthere.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipexthere]
Exec=peazip -ext2here %F
Icon=peazip
-Name=Extract here
+Name=Extract here with PeaZip
+Name[de]=Hier mit PeaZip extrahieren
+Name[it]=Estrai qui con PeaZip
[Desktop Entry]
Type=Service
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipopen.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipopen.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE5-dolphin/peazipopen.desktop
@@ -1,7 +1,9 @@
[Desktop Action peazipopen]
Exec=peazip -ext2browse %F
Icon=peazip
-Name=Open with PeaZip...
+Name=Open with PeaZip
+Name[de]=Öffnen mit PeaZip
+Name[it]=Apri con PeaZip
[Desktop Entry]
Type=Service
Index: peazip-9.8.0.src/res/share/batch/freedesktop_integration/peazip.desktop
===================================================================
--- peazip-9.8.0.src.orig/res/share/batch/freedesktop_integration/peazip.desktop
+++ peazip-9.8.0.src/res/share/batch/freedesktop_integration/peazip.desktop
@@ -1,14 +1,21 @@
[Desktop Entry]
Name=PeaZip
Comment=PeaZip archive manager
-Exec=peazip %F
+Exec=peazip
TryExec=peazip
Icon=peazip
Type=Application
Terminal=false
-Categories=Utility;Archiving;Compression;
+Categories=Qt;KDE;Utility;System;Archiving;
+X-KDE-StartupNotify=true
+X-SuSE-translate=true
Keywords=zip;rar;tar;compress;extract;unpack;
-MimeType=application/bzip2;application/gzip;application/vnd.android.package-archive;application/vnd.ms-cab-compressed;application/vnd.debian.binary-package;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-archive;application/x-arj;application/x-brotli;application/x-bzip-brotli-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-chrome-extension;application/x-deb;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lz4;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lz4-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-rzip-compressed-tar;application/x-tar;application/x-tarz;application/x-tzo;application/x-stuffit;application/x-war;application/x-xar;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zstd-compressed-tar;application/x-zoo;application/zip;application/zstd;
+GenericName=Free Zip files utility
+GenericName[de]=Freies Zip-Dateien Utility
+Comment=Free Zip files utility, supports 150+ formats: 7Z, ISO, RAR, ZIP, ZIPX
+Comment[de]=Freies Zip-Dateien Utility, unterstützt 150+ Formate: 7Z, ISO, RAR, ZIP, ZIPX
+Comment[it]=Programma per file Zip gratuito, supporta 150+ formati: 7Z, ISO, RAR, ZIP, ZIPX
+MimeType=application/x-gzip;application/x-lha;application/x-tar;application/x-tgz;application/x-tbz;application/x-tbz2;application/x-zip;application/zip;application/x-bzip;application/x-rar;application/x-tarz;application/x-archive;application/x-bzip2;application/x-jar;application/x-deb;application/x-ace;application/x-7z;application/x-arc;application/x-arj;application/x-compress;application/x-cpio;
Actions=add;extract;extracthere;extractheresmart;
[Desktop Action add]

22
peazip-help_path.patch Normal file
View File

@ -0,0 +1,22 @@
Index: peazip-9.9.0.src/dev/peach.pas
===================================================================
--- peazip-9.9.0.src.orig/dev/peach.pas
+++ peazip-9.9.0.src/dev/peach.pas
@@ -45769,7 +45769,7 @@ end;
procedure TForm_peach.baboutlocalhelpClick(Sender: TObject);
begin
-cp_open(sharepath+'peazip_help.pdf',desk_env);
+cp_open('/usr/share/doc/packages/peazip/peazip_help.pdf',desk_env);
end;
procedure TForm_peach.baboutplugindirClick(Sender: TObject);
@@ -71205,7 +71205,7 @@ end;
procedure TForm_peach.mpeahelpofflineClick(Sender: TObject);
begin
-cp_open(sharepath+'peazip_help.pdf',desk_env);
+cp_open('/usr/share/doc/packages/peazip/peazip_help.pdf',desk_env);
end;
procedure TForm_peach.mRecent9Click(Sender: TObject);

2199
peazip.changes Normal file

File diff suppressed because it is too large Load Diff

193
peazip.spec Normal file
View File

@ -0,0 +1,193 @@
#
# 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.9.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
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
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

3
peazip_help.pdf Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:028de4bd231ba923503502a04680689ecd02a67067d21e2a7e5bbbceb8a65587
size 1401283