SHA256
1
0
forked from pool/peazip
peazip/peazip.spec

187 lines
6.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package peazip
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: peazip
Summary: Free Zip files utility
Version: 6.0.0
Release: 1
Url: https://github.com/giorgiotani/PeaZip
Source0: peazip-%{version}.src.zip
Source1: altconf.txt
Source2: peazip_help.pdf
Patch0: peazip-desktop.patch
License: LGPL-3.0
Group: Productivity/Archiving/Compression
Requires: p7zip
Requires: upx
BuildRequires: fpc
BuildRequires: fpc-src
BuildRequires: lazarus
BuildRequires: qt4pas-devel
BuildRequires: xorg-x11-devel
%if 0%{?suse_version} > 1320 || 0%{?is_opensuse}
BuildRequires: kf5-filesystem
%else
BuildRequires: kdebase4-workspace
%endif
BuildRequires: update-desktop-files
BuildRequires: p7zip
BuildRequires: upx
BuildRequires: unzip
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define _peazipinstalldir %{_libdir}/peazip
%description
PeaZip is a free Zip files utility, providing an unified, natively portable,
cross-platform file and archive manager GUI for many Open Source technologies
like 7-Zip, FreeArc, PAQ, UPX.
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
Features of PeaZip includes extract, create and convert multiple archives at once,
create self-extracting archives, split/join files, strong encryption with two factor authentication,
encrypted password manager, secure deletion, find duplicate files, calculate hashes,
export job definition as script.
%if 0%{?suse_version} > 1320 || 0%{?is_opensuse}
%package kf5
Summary: KF5 servicemenu for peazip
Group: Productivity/Archiving/Compression
Requires: peazip
BuildArch: noarch
%description kf5
PeaZip is a free Zip files utility, providing an unified, natively portable,
cross-platform file and archive manager GUI for many Open Source technologies
like 7-Zip, FreeArc, PAQ, UPX.
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
Features of PeaZip includes extract, create and convert multiple archives at once,
create self-extracting archives, split/join files, strong encryption with two factor authentication,
encrypted password manager, secure deletion, find duplicate files, calculate hashes,
export job definition as script.
%else
%package kde4
Summary: KDE4 servicemenu for peazip
Group: Productivity/Archiving/Compression
Requires: peazip
BuildArch: noarch
%kde4_runtime_requires
%description kde4
PeaZip is a free Zip files utility, providing an unified, natively portable,
cross-platform file and archive manager GUI for many Open Source technologies
like 7-Zip, FreeArc, PAQ, UPX.
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
Features of PeaZip includes extract, create and convert multiple archives at once,
create self-extracting archives, split/join files, strong encryption with two factor authentication,
encrypted password manager, secure deletion, find duplicate files, calculate hashes,
export job definition as script.
%endif
%prep
%setup -q -n peazip-%{version}.src
%patch0
chmod +w res/lang
dos2unix readme
cp %{S:2} .
%build
lazbuild \
--lazarusdir=%{_libdir}/lazarus \
%ifarch x86_64
--cpu=x86_64 \
%endif
--widgetset=qt \
-B project_pea.lpi project_peach.lpi project_gwrap.lpi
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_peazipinstalldir}
cp -r res %{buildroot}%{_peazipinstalldir}
cp %{S:1} %{buildroot}%{_peazipinstalldir}/res
mkdir -p %{buildroot}%{_peazipinstalldir}/res/7z
mkdir -p %{buildroot}%{_peazipinstalldir}/res/upx
ln -s %{_bindir}/7z %{buildroot}%{_peazipinstalldir}/res/7z/7z
ln -s %{_bindir}/upx %{buildroot}%{_peazipinstalldir}/res/upx/upx
install -m755 peazip %{buildroot}%{_peazipinstalldir}
ln -s %{_peazipinstalldir}/peazip %{buildroot}%{_bindir}/peazip
install -m755 pealauncher %{buildroot}%{_peazipinstalldir}/res
ln -s %{_peazipinstalldir}/res/pealauncher %{buildroot}%{_bindir}/pealauncher
install -m755 pea %{buildroot}%{_peazipinstalldir}/res
ln -s %{_peazipinstalldir}/res/pea %{buildroot}%{_bindir}/pea
install -D -m644 FreeDesktop_integration/peazip.desktop %{buildroot}%{_datadir}/applications/peazip.desktop
install -D -m644 FreeDesktop_integration/peazip.png %buildroot%{_datadir}/pixmaps/peazip.png
pushd FreeDesktop_integration/kde4-dolphin/usr/share/kde4/services/ServiceMenus
%if 0%{?suse_version} > 1320 || 0%{?is_opensuse}
mkdir -p %{buildroot}%{_kf5_servicesdir}/ServiceMenus
install -m644 *.desktop %{buildroot}%{_kf5_servicesdir}/ServiceMenus
%else
mkdir -p %{buildroot}%{_kde4_servicesdir}/ServiceMenus
install -m644 *.desktop %{buildroot}%{_kde4_servicesdir}/ServiceMenus
%endif
popd
%fdupes %{buildroot}
%files
%defattr(-,root,root)
%{_bindir}/pea
%{_bindir}/pealauncher
%{_bindir}/peazip
%{_peazipinstalldir}
%{_datadir}/applications/peazip.desktop
%{_datadir}/pixmaps/peazip.png
%doc readme copying.txt peazip_help.pdf
%if 0%{?suse_version} > 1320 || 0%{?is_opensuse}
%files kf5
%defattr(-,root,root)
%dir %{_kf5_servicesdir}/ServiceMenus
%{_kf5_servicesdir}/ServiceMenus/*.desktop
%else
%files kde4
%defattr(-,root,root)
%{_kde4_servicesdir}/ServiceMenus/*.desktop
%endif
%changelog