commit:     96f1d755b39e80fc469c6a74d8d2a025307f4840
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 27 09:00:47 2018 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Mar 27 09:00:47 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96f1d755

sys-process/lsof: fix for Darwin, bug #648084

This is based on the work by jsteward in bug #648084.

Closes: https://bugs.gentoo.org/648084
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-process/lsof/files/lsof-4.90-darwin-cppfix.patch | 12 ++++++++++++
 sys-process/lsof/lsof-4.90.ebuild                    | 12 +++++++++++-
 sys-process/lsof/lsof-4.91.ebuild                    | 12 +++++++++++-
 3 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/sys-process/lsof/files/lsof-4.90-darwin-cppfix.patch 
b/sys-process/lsof/files/lsof-4.90-darwin-cppfix.patch
new file mode 100644
index 00000000000..fcbfeba410a
--- /dev/null
+++ b/sys-process/lsof/files/lsof-4.90-darwin-cppfix.patch
@@ -0,0 +1,12 @@
+diff -Naur a/dialects/darwin/libproc/dfile.c b/dialects/darwin/libproc/dfile.c
+--- a/dialects/darwin/libproc/dfile.c  2018-02-19 15:04:26.011578124 +0800
++++ b/dialects/darwin/libproc/dfile.c  2018-02-19 15:04:45.006502653 +0800
+@@ -43,7 +43,7 @@
+ #include "lsof.h"
+ 
+ #if   defined(PROC_FP_GUARDED)
+-#extern       struct pff_tab  Pgf_tab[];
++extern        struct pff_tab  Pgf_tab[];
+ #endif        /* defined(PROC_FP_GUARDED) */
+ 
+ 

diff --git a/sys-process/lsof/lsof-4.90.ebuild 
b/sys-process/lsof/lsof-4.90.ebuild
index f22dd0eaae8..8a1faa697af 100644
--- a/sys-process/lsof/lsof-4.90.ebuild
+++ b/sys-process/lsof/lsof-4.90.ebuild
@@ -14,7 +14,7 @@ 
SRC_URI="ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/${MY_P}.tar.bz2
 
 LICENSE="lsof"
 SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos 
~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 IUSE="examples ipv6 rpc selinux static"
 
 RDEPEND="rpc? ( net-libs/libtirpc )
@@ -26,6 +26,7 @@ S="${WORKDIR}/${MY_P}/${MY_P}_src"
 
 PATCHES=(
        "${FILESDIR}"/${PN}-4.85-cross.patch #432120
+       "${FILESDIR}"/${PN}-4.90-darwin-cppfix.patch #648084
 )
 
 src_unpack() {
@@ -66,6 +67,15 @@ src_configure() {
        append-cppflags $(use rpc && $(tc-getPKG_CONFIG) libtirpc --cflags || 
echo "-DHASNOTRPC -DHASNORPC_H")
        append-cppflags $(usex ipv6 -{D,U}HASIPv6)
        [[ ${CHOST} == *-solaris2.11 ]] && append-cppflags -DHAS_PAD_MUTEX
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               # make sys/proc_info.h available in ${T} because of LSOF_INCLUDE
+               # dummy location -- Darwin needs this for a Configure check to
+               # succeed
+               if [[ -e /usr/include/sys/proc_info.h ]] ; then
+                       mkdir -p "${T}"/sys || die
+                       ( cd "${T}"/sys && ln -s /usr/include/sys/proc_info.h ) 
|| die
+               fi
+       fi
 
        export LSOF_CFGL="${CFLAGS} ${LDFLAGS} \
                $(use rpc && $(tc-getPKG_CONFIG) libtirpc --libs)"

diff --git a/sys-process/lsof/lsof-4.91.ebuild 
b/sys-process/lsof/lsof-4.91.ebuild
index f22dd0eaae8..8a1faa697af 100644
--- a/sys-process/lsof/lsof-4.91.ebuild
+++ b/sys-process/lsof/lsof-4.91.ebuild
@@ -14,7 +14,7 @@ 
SRC_URI="ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/${MY_P}.tar.bz2
 
 LICENSE="lsof"
 SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos 
~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
 IUSE="examples ipv6 rpc selinux static"
 
 RDEPEND="rpc? ( net-libs/libtirpc )
@@ -26,6 +26,7 @@ S="${WORKDIR}/${MY_P}/${MY_P}_src"
 
 PATCHES=(
        "${FILESDIR}"/${PN}-4.85-cross.patch #432120
+       "${FILESDIR}"/${PN}-4.90-darwin-cppfix.patch #648084
 )
 
 src_unpack() {
@@ -66,6 +67,15 @@ src_configure() {
        append-cppflags $(use rpc && $(tc-getPKG_CONFIG) libtirpc --cflags || 
echo "-DHASNOTRPC -DHASNORPC_H")
        append-cppflags $(usex ipv6 -{D,U}HASIPv6)
        [[ ${CHOST} == *-solaris2.11 ]] && append-cppflags -DHAS_PAD_MUTEX
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               # make sys/proc_info.h available in ${T} because of LSOF_INCLUDE
+               # dummy location -- Darwin needs this for a Configure check to
+               # succeed
+               if [[ -e /usr/include/sys/proc_info.h ]] ; then
+                       mkdir -p "${T}"/sys || die
+                       ( cd "${T}"/sys && ln -s /usr/include/sys/proc_info.h ) 
|| die
+               fi
+       fi
 
        export LSOF_CFGL="${CFLAGS} ${LDFLAGS} \
                $(use rpc && $(tc-getPKG_CONFIG) libtirpc --libs)"

Reply via email to