summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/rar/rar-7.00.ebuild')
-rw-r--r--app-arch/rar/rar-7.00.ebuild120
1 files changed, 120 insertions, 0 deletions
diff --git a/app-arch/rar/rar-7.00.ebuild b/app-arch/rar/rar-7.00.ebuild
new file mode 100644
index 000000000000..cefa88191bb3
--- /dev/null
+++ b/app-arch/rar/rar-7.00.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV/./}"
+URI_AMD64="https://www.rarlab.com/rar/rarlinux-x64-${MY_PV}.tar.gz"
+URI_X86="https://www.rarlab.com/rar/rarlinux-x32-${MY_PV}.tar.gz"
+URI_WIN64="https://www.rarlab.com/rar/winrar-x64-${MY_PV}.exe"
+
+inherit unpacker
+
+DESCRIPTION="RAR compressor/uncompressor"
+HOMEPAGE="https://www.rarlab.com/"
+SRC_URI="
+ all-sfx? (
+ ${URI_AMD64}
+ ${URI_X86}
+ ${URI_WIN64}
+ )
+ amd64? ( ${URI_AMD64} )
+ x86? ( ${URI_X86} )
+"
+S="${WORKDIR}/${PN}"
+
+LICENSE="BSD BSD-2 RAR"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="all-sfx"
+RESTRICT="bindist mirror"
+
+RDEPEND="sys-libs/glibc"
+BDEPEND="all-sfx? ( app-arch/unrar )"
+
+DOCS=( "acknow.txt" "rar.txt" "readme.txt" "whatsnew.txt" )
+
+QA_PREBUILT="
+ opt/rar/default.sfx
+ opt/rar/default-elf32.sfx
+ opt/rar/default-elf64.sfx
+ opt/rar/default-win32.sfx
+ opt/rar/default-win64.sfx
+ opt/rar/unrar
+ opt/rar/rar
+ opt/rar/WinCon.SFX
+ opt/rar/WinCon64.SFX
+ opt/rar/Zip.SFX
+ opt/rar/Zip64.SFX
+"
+
+src_unpack() {
+ local _file
+
+ for _file in ${A}; do
+ if [[ "${_file}" == rarli* ]]; then
+ if [[ "${_file}" =~ x64 ]]; then
+ if ! use amd64; then
+ continue
+ fi
+
+ unpack "${_file}"
+ elif [[ ! "${_file}" =~ x64 ]]; then
+ if ! use x86; then
+ continue
+ fi
+
+ unpack "${_file}"
+ else
+ die "Unknown SRC file '${_file}'!"
+ fi
+ fi
+ done
+
+ if use all-sfx ; then
+ mkdir sfx
+ cd sfx
+ for _file in ${A}; do
+ if [[ "${_file}" == rarli* ]]; then
+ unpack "${_file}"
+ if [[ "${_file}" =~ x64 ]]; then
+ mv rar/default.sfx default-elf64.sfx || die
+ else
+ mv rar/default.sfx default-elf32.sfx || die
+ fi
+ elif [[ "${_file}" == winrar* ]]; then
+ ln -s "${DISTDIR}"/${_file} w64.rar || die
+ unpack_rar ./w64.rar
+ mv Default.SFX default-win64.sfx || die
+ mv Default32.SFX default-win32.sfx || die
+ else
+ die "Unknown SFX file '${_file}'!"
+ fi
+ done
+ fi
+}
+
+src_compile() { :; }
+
+src_install() {
+ exeinto /opt/rar
+ doexe rar unrar
+
+ insinto /opt/rar
+ doins rarfiles.lst
+
+ if use all-sfx; then
+ doins "${WORKDIR}"/sfx/*.{sfx,SFX}
+ else
+ doins default.sfx
+ fi
+
+ dodir /opt/bin
+ dosym ../rar/rar /opt/bin/rar
+ dosym ../rar/unrar /opt/bin/unrar
+
+ docinto html
+ dodoc order.htm
+
+ einstalldocs
+}