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.
gentoo-overlay/app-arch/unar/unar-1.10.8.ebuild

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
}