mirror of
https://github.com/gryf/gryf-overlay.git
synced 2025-12-27 08:52:29 +01:00
Till the oddness with zip archives and -z switch will be resolved, I'd like to have working version of file, to be able to access zip files from the midnight commander.
129 lines
3.1 KiB
Bash
129 lines
3.1 KiB
Bash
# Copyright 1999-2021 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
PYTHON_COMPAT=( python3_{7,8} )
|
|
DISTUTILS_OPTIONAL=1
|
|
|
|
inherit distutils-r1 libtool toolchain-funcs multilib-minimal
|
|
|
|
if [[ ${PV} == "9999" ]] ; then
|
|
EGIT_REPO_URI="https://github.com/glensc/file.git"
|
|
inherit autotools git-r3
|
|
else
|
|
SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz"
|
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
fi
|
|
|
|
DESCRIPTION="identify a file's format by scanning binary data for patterns"
|
|
HOMEPAGE="https://www.darwinsys.com/file/"
|
|
|
|
LICENSE="BSD-2"
|
|
SLOT="0"
|
|
IUSE="python static-libs zlib"
|
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
|
|
|
DEPEND="
|
|
python? (
|
|
${PYTHON_DEPS}
|
|
dev-python/setuptools[${PYTHON_USEDEP}]
|
|
)
|
|
zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )"
|
|
RDEPEND="${DEPEND}
|
|
python? ( !dev-python/python-magic )"
|
|
|
|
PATCHES=( "${FILESDIR}"/${P}-CVE-2019-18218.patch )
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
[[ ${PV} == "9999" ]] && eautoreconf
|
|
elibtoolize
|
|
|
|
# don't let python README kill main README #60043
|
|
mv python/README.md python/README.python.md || die
|
|
sed 's@README.md@README.python.md@' -i python/setup.py || die #662090
|
|
}
|
|
|
|
multilib_src_configure() {
|
|
local myeconfargs=(
|
|
--disable-libseccomp
|
|
--enable-fsect-man5
|
|
$(use_enable static-libs static)
|
|
$(use_enable zlib)
|
|
)
|
|
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
|
}
|
|
|
|
src_configure() {
|
|
# when cross-compiling, we need to build up our own file
|
|
# because people often don't keep matching host/target
|
|
# file versions #362941
|
|
if tc-is-cross-compiler && ! ROOT=/ has_version ~${CATEGORY}/${P} ; then
|
|
mkdir -p "${WORKDIR}"/build || die
|
|
cd "${WORKDIR}"/build || die
|
|
tc-export_build_env BUILD_C{C,XX}
|
|
ECONF_SOURCE="${S}" \
|
|
ac_cv_header_zlib_h=no \
|
|
ac_cv_lib_z_gzopen=no \
|
|
CHOST=${CBUILD} \
|
|
CFLAGS=${BUILD_CFLAGS} \
|
|
CXXFLAGS=${BUILD_CXXFLAGS} \
|
|
CPPFLAGS=${BUILD_CPPFLAGS} \
|
|
LDFLAGS="${BUILD_LDFLAGS} -static" \
|
|
CC=${BUILD_CC} \
|
|
CXX=${BUILD_CXX} \
|
|
econf --disable-shared --disable-libseccomp
|
|
fi
|
|
|
|
multilib-minimal_src_configure
|
|
}
|
|
|
|
multilib_src_compile() {
|
|
if multilib_is_native_abi ; then
|
|
emake
|
|
else
|
|
cd src || die
|
|
emake magic.h #586444
|
|
emake libmagic.la
|
|
fi
|
|
}
|
|
|
|
src_compile() {
|
|
if tc-is-cross-compiler && ! ROOT=/ has_version "~${CATEGORY}/${P}" ; then
|
|
emake -C "${WORKDIR}"/build/src magic.h #586444
|
|
emake -C "${WORKDIR}"/build/src file
|
|
PATH="${WORKDIR}/build/src:${PATH}"
|
|
fi
|
|
multilib-minimal_src_compile
|
|
|
|
if use python ; then
|
|
cd python || die
|
|
distutils-r1_src_compile
|
|
fi
|
|
}
|
|
|
|
multilib_src_install() {
|
|
if multilib_is_native_abi ; then
|
|
default
|
|
else
|
|
emake -C src install-{nodist_includeHEADERS,libLTLIBRARIES} DESTDIR="${D}"
|
|
fi
|
|
}
|
|
|
|
multilib_src_install_all() {
|
|
dodoc ChangeLog MAINT README
|
|
|
|
# Required for `file -C`
|
|
dodir /usr/share/misc/magic
|
|
insinto /usr/share/misc/magic
|
|
doins -r magic/Magdir/*
|
|
|
|
if use python ; then
|
|
cd python || die
|
|
distutils-r1_src_install
|
|
fi
|
|
find "${ED}" -type f -name "*.la" -delete || die
|
|
}
|