Mailing List Archive

Ebuilds with conditional patches
Hi list,

In response to Flameeyes' desire to have no conditional patches in
ebuilds, I fired off a simple grep which unfortunately returned many
matches. Anyone who feels to have some spare minutes is invited to have
a look at these ebuilds to see if the patch can be made unconditional.

By the lack of any better idea (maybe I should make a bugzilla bug out
of it), if you 'fix' an ebuild please send a reply to this email which
points out which ebuild is fixed. If you have a good idea how to
administer this, please say so.

% find . -name "*.ebuild" | xargs grep -Hn "use ppc-macos && epatch"
./app-doc/doxygen/doxygen-1.4.1.ebuild:30: use ppc-macos && epatch
${FILESDIR}/bsd-configure.patch
./app-editors/emacs-cvs/emacs-cvs-22.0.50.ebuild:57: use ppc-macos &&
epatch ${FILESDIR}/emacs-cvs-21.3.50-nofink.diff
./app-editors/emacs-cvs/emacs-cvs-23.0.0.ebuild:57: use ppc-macos &&
epatch ${FILESDIR}/emacs-cvs-21.3.50-nofink.diff
./app-text/ghostscript/ghostscript-7.07.1-r8.ebuild:78: use ppc-macos &&
epatch ${FILESDIR}/gs-osx-ijs.patch
./app-text/ghostscript/ghostscript-7.07.1-r9.ebuild:85: use ppc-macos &&
epatch ${FILESDIR}/gs-osx-ijs.patch
./app-text/ghostscript/ghostscript-7.07.1-r10.ebuild:88: use
ppc-macos && epatch ${FILESDIR}/gs-osx-ijs.patch
./app-text/gv/gv-3.5.8-r4.ebuild:32: use ppc-macos && epatch
${FILESDIR}/${P}-setenv.diff
./dev-lang/lua/lua-5.0.2-r1.ebuild:23: use ppc-macos && epatch
${FILESDIR}/lua-ppc-macos-Makefile.patch
./dev-lang/lua/lua-5.0.2.ebuild:23: use ppc-macos && epatch
${FILESDIR}/lua-ppc-macos-Makefile.patch
./dev-libs/fribidi/fribidi-0.10.4.ebuild:20: use ppc-macos && epatch
${FILESDIR}/${PN}-macos.patch
./dev-libs/fribidi/fribidi-0.10.5.ebuild:20: use ppc-macos && epatch
${FILESDIR}/${PN}-macos.patch
./dev-libs/glib/glib-2.8.2.ebuild:28: use ppc-macos && epatch
${FILESDIR}/${PN}-2-macos.patch
./dev-libs/glib/glib-2.6.5.ebuild:27: use ppc-macos && epatch
${FILESDIR}/${PN}-2-macos.patch
./dev-libs/libpcre/libpcre-4.5.ebuild:25: use ppc-macos && epatch
${FILESDIR}/pcre-4.2-macos.patch
./media-libs/gstreamer/gstreamer-0.8.9-r3.ebuild:45: use ppc-macos &&
epatch ${FILESDIR}/${P}-fixpluginload.patch
./media-libs/ladspa-sdk/ladspa-sdk-1.12-r2.ebuild:34: use ppc-macos &&
epatch ${FILESDIR}/${P}-ppc-macos.patch
./media-libs/libao/libao-0.8.5.ebuild:25: use ppc-macos && epatch
${FILESDIR}/${P}-ppc-macos.patch
./media-libs/libdvdnav/libdvdnav-0.1.9.ebuild:20: use ppc-macos &&
epatch ${FILESDIR}/${P}-darwin.diff
./media-sound/esound/esound-0.2.36-r1.ebuild:30: use ppc-macos &&
epatch ${FILESDIR}/${P}-ppc-macos.patch
./sci-libs/fftw/fftw-3.0.1-r1.ebuild:21: use ppc-macos && epatch
${FILESDIR}/${PN}-ppc-macos.patch
./sci-libs/fftw/fftw-3.0.1-r1.ebuild:26: use ppc-macos && epatch
${FILESDIR}/${PN}-ppc-macos.patch
./sci-libs/fftw/fftw-3.0.1-r2.ebuild:23: use ppc-macos && epatch
${FILESDIR}/${PN}-ppc-macos.patch
./sys-libs/readline/readline-4.3-r6.ebuild:33: use ppc-macos && epatch
${FILESDIR}/macos.patch
./www-client/elinks/elinks-0.10.5.ebuild:42: use ppc-macos && epatch
${FILESDIR}/${PN}-osx-configure.diff
./www-client/elinks/elinks-0.10.5-r1.ebuild:47: use ppc-macos && epatch
${FILESDIR}/${PN}-osx-configure.diff
./x11-libs/openmotif/openmotif-2.1.30-r13.ebuild:66: use ppc-macos &&
epatch ${FILESDIR}/${PN}-2.1.30-darwin-netbsd.diff
./x11-libs/openmotif/openmotif-2.1.30-r9.ebuild:67: use ppc-macos &&
epatch ${FILESDIR}/${P}-darwin-netbsd.diff
./x11-libs/openmotif/openmotif-2.2.3-r3.ebuild:49: use ppc-macos &&
epatch ${FILESDIR}/${P}-automake.patch
./x11-libs/openmotif/openmotif-2.2.3-r7.ebuild:50: use ppc-macos &&
epatch ${FILESDIR}/${P}-automake.patch


The other way around, we might have to file bugs, or fix them ourselves too:

% find . -name "*.ebuild" | xargs grep -Hn "use ppc-macos || epatch"
./dev-libs/libpcre/libpcre-5.0.ebuild:24: use ppc-macos || epatch
"${FILESDIR}"/pcre-4.2-link.patch
./dev-libs/libpcre/libpcre-6.1.ebuild:24: use ppc-macos || epatch
"${FILESDIR}"/pcre-6.1-link.patch
./dev-libs/libpcre/libpcre-6.3.ebuild:24: use ppc-macos || epatch
"${FILESDIR}"/pcre-6.3-link.patch
./sys-libs/slang/slang-1.4.9-r1.ebuild:26: use ppc-macos || epatch
${FILESDIR}/${P}-fsuid.patch
./sys-libs/slang/slang-1.4.9-r2.ebuild:26: use ppc-macos || epatch
${FILESDIR}/${P}-fsuid.patch
./x11-libs/pango/pango-1.4.1-r1.ebuild:32: use ppc-macos || epatch
${FILESDIR}/${PN}-1.2.2-slighthint.patch


Last but not least the most CPU intensive category:

% find . -name "*.ebuild" | xargs -n1 awk 'BEGIN { msg = "" } /if use
ppc-macos/, /fi$/ { msg = msg $0 "\n" } END { if (msg != "") { if (msg ~
/epatch/) print FILENAME "\n" msg } }'
./app-doc/doxygen/doxygen-1.4.4.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/bsd-configure.patch
[[ "$MACOSX_DEPLOYMENT_TARGET" == "10.4" ]] && sed -i
-e 's:-D__FreeBSD__:-D__FreeBSD__=5:' \
tmake/lib/macosx-c++/tmake.conf
fi

./app-editors/emacs/emacs-22.0.50_pre20050225.ebuild
if use ppc-macos ; then
use cjk && epatch ${WORKDIR}/${INLINE}/emacs-inline.patch
epatch ${FILESDIR}/emacs-nofink-gentoo.diff
fi

./app-text/ghostscript/ghostscript-7.07.1-r8.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/gs-osx-unix-dll.patch
cp src/unix-gcc.mak Makefile.in
sed -i -e "s:SHARE_JPEG=0:SHARE_JPEG=1:" Makefile.in || die
sed -i -e "s:SHARE_ZLIB=0:SHARE_ZLIB=1:" Makefile.in || die
sed -i -e "s:SHARE_LIBPNG=0:SHARE_LIBPNG=1:"
Makefile.in || die
sed -i -e "s:usr/local:usr:" Makefile.in || die
fi

./app-text/ghostscript/ghostscript-7.07.1-r9.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/gs-osx-unix-dll.patch
cp src/unix-gcc.mak Makefile.in
sed -i -e "s:SHARE_JPEG=0:SHARE_JPEG=1:" Makefile.in || die
sed -i -e "s:SHARE_ZLIB=0:SHARE_ZLIB=1:" Makefile.in || die
sed -i -e "s:SHARE_LIBPNG=0:SHARE_LIBPNG=1:"
Makefile.in || die
sed -i -e "s:usr/local:usr:" Makefile.in || die
fi

./app-text/ghostscript/ghostscript-7.07.1-r10.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/gs-osx-unix-dll.patch
cp src/unix-gcc.mak Makefile.in
sed -i -e "s:SHARE_JPEG=0:SHARE_JPEG=1:" Makefile.in || die
sed -i -e "s:SHARE_ZLIB=0:SHARE_ZLIB=1:" Makefile.in || die
sed -i -e "s:SHARE_LIBPNG=0:SHARE_LIBPNG=1:"
Makefile.in || die
sed -i -e "s:usr/local:usr:" Makefile.in || die
fi

./app-text/recode/recode-3.6-r1.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/${P}-ppc-macos.diff
cp ${S}/lib/error.c ${S}/lib/xstrdup.c ${S}/src/ || die
"file copy failed"
elibtoolize
LDFLAGS="${LDFLAGS} -lgettextlib"
fi

./app-text/recode/recode-3.6-r2.ebuild
if use ppc-macos; then
epatch "${FILESDIR}"/${P}-ppc-macos.diff
cp lib/error.c lib/xstrdup.c src/ || die "file copy failed"
elibtoolize
append-ldflags -lgettextlib
fi

./dev-libs/libsigsegv/libsigsegv-2.1.ebuild
if use ppc-macos ; then
epatch ${FILESDIR}/libsigsegv-2.1-darwin-7.x.patch || die
./configure --enable-shared || die
else
econf --enable-shared || die
fi

./dev-util/guile/guile-1.6.4-r1.ebuild
if use ppc-macos ; then
elibtoolize
epatch ${FILESDIR}/guile-macos-posix.patch
epatch ${FILESDIR}/guile-macos-relink.patch
append-flags -no-cpp-precomp -Dmacosx
fi

./dev-util/guile/guile-1.6.6.ebuild
if use ppc-macos ; then
elibtoolize
epatch ${FILESDIR}/guile-macos-posix.patch
epatch ${FILESDIR}/guile-macos-relink.patch
append-flags -no-cpp-precomp -Dmacosx
fi

./media-gfx/graphviz/graphviz-1.16.ebuild
if use ppc-macos; then
# fixes weird make issue
epatch ${WORKDIR}/${P}-panic.patch
epatch ${FILESDIR}/${P}-common_h.patch
fi

./media-gfx/xv/xv-3.10a-r10.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/${P}-xv-osx.patch
epatch ${FILESDIR}/${P}-vdcomp-osx.patch
epatch ${FILESDIR}/${P}-makefile-osx.patch
fi
if use ppc-macos; then
filter-flags -ffast-math
fi

./media-gfx/xv/xv-3.10a-r11.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/${PF}-xv-osx.patch
epatch ${FILESDIR}/${P}-vdcomp-osx.patch
fi
if use ppc-macos; then
append-flags -DUSE_GETCWD -DUSLEEP
else
append-flags -DUSE_GETCWD -DLINUX -DUSLEEP
fi

./media-gfx/xv/xv-3.10a-r8.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/${P}-xv-osx.patch
epatch ${FILESDIR}/${P}-vdcomp-osx.patch
epatch ${FILESDIR}/${P}-makefile-osx.patch
fi

./media-gfx/xv/xv-3.10a-r9.ebuild
if use ppc-macos; then
epatch ${FILESDIR}/${P}-xv-osx.patch
epatch ${FILESDIR}/${P}-vdcomp-osx.patch
epatch ${FILESDIR}/${P}-makefile-osx.patch
fi

./media-libs/aalib/aalib-1.4_rc5.ebuild
if use ppc-macos; then
cd src
epatch "${FILESDIR}"/${P}-osx.patch
fi
if use ppc-macos && use X; then
sed -i -e 's:aafire_LDFLAGS =:aafire_LDFLAGS =
-undefined define_a_way:' \
${S}/src/Makefile || die "Failed to edit Makefile for X
compatibility"
fi

./media-libs/aalib/aalib-1.4_rc4-r2.ebuild
if use ppc-macos; then
cd src
epatch "${FILESDIR}"/${PN}-osx.patch
fi
if use ppc-macos && use X; then
sed -i -e 's:aafire_LDFLAGS =:aafire_LDFLAGS =
-undefined define_a_way:' \
${S}/src/Makefile || die "Failed to edit Makefile for X
compatibility"
fi

./media-libs/libpng/libpng-1.2.8.ebuild
if use ppc-macos ; then
epatch "${FILESDIR}"/macos.patch # implements strnlen
makefilein="scripts/makefile.darwin"
fi

./media-sound/mpg123/mpg123-0.59s-r9.ebuild
if use ppc-macos;
then
einfo "Patching for OSX build"
epatch ${FILESDIR}/${PN}-osx.diff
fi
if use ppc-macos; then
[ -z "${styles}" ] && styles="macos"
atype=""
else
use esd && styles="${styles} -ppc-esd"
use oss && styles="${styles} -ppc"

[ -z "${styles}" ] && styles="-ppc"
fi

./media-sound/mpg123/mpg123-0.59s-r10.ebuild
if use ppc-macos;
then
einfo "Patching for OSX build"
epatch ${FILESDIR}/${PN}-osx.diff
fi
if use ppc-macos; then
[[ -z "${styles}" ]] && styles="macos"
atype=""
else
use esd && styles="${styles} -ppc-esd"
use oss && styles="${styles} -ppc"

[[ -z "${styles}" ]] && styles="-ppc"
fi

./media-video/ffmpeg/ffmpeg-0.4.9_pre1-r1.ebuild
if use ppc-macos; then
sed -i s:SLIBSUF=".so":SLIBSUF=".dylib": configure
epatch ${FILESDIR}/${PN}-osx.patch
sed -i -e 's:\$<:\$< -L../libavcodec -lavcodec
-L../libavformat -lavformat:g' vhook/Makefile
use oggvorbis && sed -i -e 's:ifeq ($(CPU),Darwin):ifeq
($(CPU),Darwin)\
LDFLAGS+=-logg:' libavformat/Makefile
fi


./x11-libs/qt/qt-3.3.4-r2.ebuild
if use ppc-macos ; then
gzcat ${FILESDIR}/${P}-darwin-fink.patch.gz | sed -e
"s:@QTBASE@:${QTBASE}:g" > ${T}/${P}-darwin-fink.patch
epatch ${T}/${P}-darwin-fink.patch
fi

./x11-libs/qt/qt-3.3.4-r6.ebuild
if use ppc-macos ; then
epatch ${FILESDIR}/${P}-macos.patch
fi

./x11-libs/qt/qt-3.3.4-r3.ebuild
if use ppc-macos ; then
gzcat ${FILESDIR}/${P}-darwin-fink.patch.gz | sed -e
"s:@QTBASE@:${QTBASE}:g" > ${T}/${P}-darwin-fink.patch
epatch ${T}/${P}-darwin-fink.patch
fi

./x11-libs/qt/qt-3.3.5.ebuild
if use ppc-macos ; then
epatch ${FILESDIR}/${P}-macos.patch
fi

./x11-libs/qt/qt-3.3.4-r8.ebuild
if use ppc-macos ; then
epatch ${FILESDIR}/${P}-macos.patch
fi

./x11-libs/qt/qt-3.3.4-r7.ebuild
if use ppc-macos ; then
epatch ${FILESDIR}/${P}-macos.patch
fi


--
Fabian Groffen
Gentoo for Mac OS X Project -- Interim Lead
--
gentoo-osx@gentoo.org mailing list
Re: Ebuilds with conditional patches [ In reply to ]
Grobian wrote:
> By the lack of any better idea (maybe I should make a bugzilla bug out
> of it), if you 'fix' an ebuild please send a reply to this email which
> points out which ebuild is fixed. If you have a good idea how to
> administer this, please say so.

I made a bug out of it. I think that'll be better than tracking on list.

http://bugs.gentoo.org/show_bug.cgi?id=108029

-Nick Dimiduk
--
gentoo-osx@gentoo.org mailing list
Re: Ebuilds with conditional patches [ In reply to ]
cool!

Nick Dimiduk wrote:
> Grobian wrote:
>> By the lack of any better idea (maybe I should make a bugzilla bug out
>> of it), if you 'fix' an ebuild please send a reply to this email which
>> points out which ebuild is fixed. If you have a good idea how to
>> administer this, please say so.
>
> I made a bug out of it. I think that'll be better than tracking on list.
>
> http://bugs.gentoo.org/show_bug.cgi?id=108029
>
> -Nick Dimiduk

--
Fabian Groffen
Gentoo for Mac OS X Project -- Interim Lead
--
gentoo-osx@gentoo.org mailing list