From 9bb8160bd3bbd28d2b5f3b50e9e657537a4a32ba Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann Date: Thu, 19 Jul 2018 18:12:18 +0200 Subject: sys-apps/file: Add missing gl_VISIBILITY macro in configure script Closes: https://bugs.gentoo.org/661508 Package-Manager: Portage-2.3.42, Repoman-2.3.9 RepoMan-Options: --force --- sys-apps/file/file-5.33-r2.ebuild | 127 -------------------- sys-apps/file/file-5.33-r3.ebuild | 133 +++++++++++++++++++++ .../file/files/file-5.33-gl_VISIBILITY-macro.patch | 116 ++++++++++++++++++ 3 files changed, 249 insertions(+), 127 deletions(-) delete mode 100644 sys-apps/file/file-5.33-r2.ebuild create mode 100644 sys-apps/file/file-5.33-r3.ebuild create mode 100644 sys-apps/file/files/file-5.33-gl_VISIBILITY-macro.patch (limited to 'sys-apps/file') diff --git a/sys-apps/file/file-5.33-r2.ebuild b/sys-apps/file/file-5.33-r2.ebuild deleted file mode 100644 index e67df7bc93a5..000000000000 --- a/sys-apps/file/file-5.33-r2.ebuild +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy ) -DISTUTILS_OPTIONAL=1 - -inherit distutils-r1 libtool ltprune 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 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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-2018-10360.patch ) - -src_prepare() { - default - - [[ ${PV} == "9999" ]] && eautoreconf - elibtoolize - - # don't let python README kill main README #60043 - mv python/README{,.python} || die -} - -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 - prune_libtool_files -} diff --git a/sys-apps/file/file-5.33-r3.ebuild b/sys-apps/file/file-5.33-r3.ebuild new file mode 100644 index 000000000000..e9203f385ff5 --- /dev/null +++ b/sys-apps/file/file-5.33-r3.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy ) +DISTUTILS_OPTIONAL=1 + +inherit distutils-r1 libtool ltprune 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 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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-2018-10360.patch + "${FILESDIR}"/${P}-gl_VISIBILITY-macro.patch +) + +src_prepare() { + default + + # We are patching configure script so fix timestamp to avoid autoreconf + touch -r compile configure + + [[ ${PV} == "9999" ]] && eautoreconf + elibtoolize + + # don't let python README kill main README #60043 + mv python/README{,.python} || die +} + +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 + prune_libtool_files +} diff --git a/sys-apps/file/files/file-5.33-gl_VISIBILITY-macro.patch b/sys-apps/file/files/file-5.33-gl_VISIBILITY-macro.patch new file mode 100644 index 000000000000..cef3cb5518bb --- /dev/null +++ b/sys-apps/file/files/file-5.33-gl_VISIBILITY-macro.patch @@ -0,0 +1,116 @@ +https://bugs.gentoo.org/661508 + +--- a/configure ++++ b/configure +@@ -638,6 +638,8 @@ + IS_CROSS_COMPILE_FALSE + IS_CROSS_COMPILE_TRUE + LIBOBJS ++HAVE_VISIBILITY ++CFLAG_VISIBILITY + OTOOL64 + OTOOL + LIPO +@@ -12512,7 +12519,92 @@ + # Only expand once: + + +-gl_VISIBILITY ++ ++ ++ CFLAG_VISIBILITY= ++ HAVE_VISIBILITY=0 ++ if test -n "$GCC"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5 ++$as_echo_n "checking whether the -Werror option is usable... " >&6; } ++ if ${gl_cv_cc_vis_werror+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ++ gl_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -Werror" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ gl_cv_cc_vis_werror=yes ++else ++ gl_cv_cc_vis_werror=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ CFLAGS="$gl_save_CFLAGS" ++fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5 ++$as_echo "$gl_cv_cc_vis_werror" >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5 ++$as_echo_n "checking for simple visibility declarations... " >&6; } ++ if ${gl_cv_cc_visibility+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ++ gl_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -fvisibility=hidden" ++ if test $gl_cv_cc_vis_werror = yes; then ++ CFLAGS="$CFLAGS -Werror" ++ fi ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++extern __attribute__((__visibility__("hidden"))) int hiddenvar; ++ extern __attribute__((__visibility__("default"))) int exportedvar; ++ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); ++ extern __attribute__((__visibility__("default"))) int exportedfunc (void); ++ void dummyfunc (void) {} ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ gl_cv_cc_visibility=yes ++else ++ gl_cv_cc_visibility=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ CFLAGS="$gl_save_CFLAGS" ++fi ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 ++$as_echo "$gl_cv_cc_visibility" >&6; } ++ if test $gl_cv_cc_visibility = yes; then ++ CFLAG_VISIBILITY="-fvisibility=hidden" ++ HAVE_VISIBILITY=1 ++ fi ++ fi ++ ++ ++ ++cat >>confdefs.h <<_ACEOF ++#define HAVE_VISIBILITY $HAVE_VISIBILITY ++_ACEOF ++ ++ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 + $as_echo_n "checking for ANSI C header files... " >&6; } + if ${ac_cv_header_stdc+:} false; then : +@@ -16194,7 +16286,7 @@ + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` +- test -z "am__include" && continue ++ test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the -- cgit v1.2.3-65-gdbad