You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.9 KiB
81 lines
1.9 KiB
# Copyright 1999-2024 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit bash-completion-r1 toolchain-funcs
|
|
|
|
DESCRIPTION="Unpacker for various archiving formats, e.g. rar v3"
|
|
HOMEPAGE="https://unarchiver.c3.cx/"
|
|
SRC_URI="
|
|
https://github.com/MacPaw/XADMaster/archive/v${PV}/XADMaster-${PV}.tar.gz
|
|
https://github.com/MacPaw/universal-detector/archive/1.1/universal-detector-1.1.tar.gz"
|
|
S="${WORKDIR}/XADMaster-${PV}"
|
|
|
|
LICENSE="LGPL-2.1"
|
|
SLOT="0"
|
|
KEYWORDS="amd64"
|
|
|
|
RDEPEND="
|
|
app-arch/bzip2:=
|
|
dev-libs/icu:=
|
|
gnustep-base/gnustep-base:=
|
|
media-sound/wavpack
|
|
sys-libs/zlib"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
gnustep-base/gnustep-make[native-exceptions]"
|
|
BDEPEND="
|
|
|| (
|
|
sys-devel/gcc[objc]
|
|
gnustep-base/gnustep-make[libobjc2]
|
|
)"
|
|
|
|
PATCHES=( "${FILESDIR}"/${P}-Wint-conversion.patch )
|
|
|
|
check_objc_toolchain() {
|
|
if tc-is-gcc; then
|
|
has_version 'sys-devel/gcc[-objc]' &&
|
|
die "GCC requires sys-devel/gcc with USE=objc"
|
|
elif tc-is-clang; then
|
|
has_version 'gnustep-base/gnustep-make[-libobjc2]' &&
|
|
die "Clang requires gnustep-base/gnustep-make with USE=libobjc2"
|
|
else
|
|
die "${PN} can only be build using GCC or Clang"
|
|
fi
|
|
}
|
|
|
|
pkg_pretend() {
|
|
[[ ${MERGE_TYPE} != binary ]] && check_objc_toolchain
|
|
}
|
|
|
|
pkg_setup() {
|
|
[[ ${MERGE_TYPE} != binary ]] && check_objc_toolchain
|
|
}
|
|
|
|
src_prepare() {
|
|
default
|
|
# avoid jobserver warning "make[1]: warning: jobserver unavailable: using -j1"
|
|
sed -i -e 's:make:$(MAKE):g' Makefile.linux || die
|
|
mv "${WORKDIR}/universal-detector-1.1" "${WORKDIR}/UniversalDetector" || die
|
|
}
|
|
|
|
src_compile() {
|
|
emake -f Makefile.linux \
|
|
AR="$(tc-getAR)" \
|
|
CC="$(tc-getCC)" \
|
|
CXX="$(tc-getCXX)" \
|
|
OBJCC="$(tc-getCC)" \
|
|
CFLAGS="${CFLAGS}" \
|
|
CXXFLAGS="${CXXFLAGS}" \
|
|
OBJCFLAGS="${CFLAGS}" \
|
|
LD="$(tc-getCXX)" \
|
|
LDFLAGS="-Wl,--whole-archive -fexceptions -fgnu-runtime ${LDFLAGS}"
|
|
}
|
|
|
|
src_install() {
|
|
dobin {ls,un}ar
|
|
doman Extra/{ls,un}ar.1
|
|
dobashcomp Extra/{ls,un}ar.bash_completion
|
|
}
|