| # Copyright 1999-2018 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=5 |
| |
| PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy ) |
| 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="*" |
| 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 )" |
| |
| 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}" -name "*.la" -delete || die |
| } |