109 lines
2.2 KiB
Bash
109 lines
2.2 KiB
Bash
# Copyright 1999-2017 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI="6"
|
|
|
|
DESCRIPTION="RAR compressor/uncompressor"
|
|
HOMEPAGE="http://www.rarsoft.com/"
|
|
URI_x86="https://mirror.whissi.de/distfiles/rar/rarlinux-${PV}.tar.gz"
|
|
URI_amd64="https://mirror.whissi.de/distfiles/rar/rarlinux-x64-${PV}.tar.gz"
|
|
URI_w64="https://mirror.whissi.de/distfiles/rar/winrar-x64-${PV}.exe"
|
|
SRC_URI="x86? ( ${URI_x86} )
|
|
amd64? ( ${URI_amd64} )
|
|
all_sfx? (
|
|
${URI_x86}
|
|
${URI_amd64}
|
|
${URI_w64}
|
|
)"
|
|
|
|
LICENSE="RAR BSD BSD-2"
|
|
SLOT="0"
|
|
KEYWORDS="-* ~amd64 ~x86"
|
|
IUSE="all_sfx"
|
|
RESTRICT="mirror bindist"
|
|
|
|
DEPEND="all_sfx? ( app-arch/unrar )"
|
|
RDEPEND="sys-libs/glibc"
|
|
|
|
S="${WORKDIR}/${PN}"
|
|
|
|
QA_FLAGS_IGNORED="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/WinCon.SFX
|
|
opt/rar/WinCon64.SFX
|
|
opt/rar/Zip.SFX
|
|
opt/rar/Zip64.SFX
|
|
opt/rar/unrar
|
|
opt/rar/rar"
|
|
QA_PRESTRIPPED=${QA_FLAGS_IGNORED}
|
|
|
|
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
|
|
|
|
rm -f "${S}"/license.txt
|
|
|
|
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 ./w64.rar
|
|
mv Default.SFX default-win32.sfx || die
|
|
mv Default64.SFX default-win64.sfx || die
|
|
else
|
|
die "Unknown SFX file '${_file}'!"
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
src_compile() { :; }
|
|
|
|
src_install() {
|
|
exeinto /opt/rar
|
|
doexe rar unrar || die
|
|
|
|
dodir /opt/bin
|
|
dosym ../rar/rar /opt/bin/rar || die
|
|
dosym ../rar/unrar /opt/bin/unrar || die
|
|
|
|
insinto /opt/rar
|
|
if use all_sfx ; then
|
|
doins "${WORKDIR}"/sfx/*.{sfx,SFX} || die
|
|
else
|
|
doins default.sfx || die
|
|
fi
|
|
doins rarfiles.lst || die
|
|
dodoc *.txt
|
|
}
|