diff options
Diffstat (limited to 'x11-libs/openmotif/openmotif-2.1.30-r13.ebuild')
-rw-r--r-- | x11-libs/openmotif/openmotif-2.1.30-r13.ebuild | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/x11-libs/openmotif/openmotif-2.1.30-r13.ebuild b/x11-libs/openmotif/openmotif-2.1.30-r13.ebuild new file mode 100644 index 000000000000..57703e3d93f8 --- /dev/null +++ b/x11-libs/openmotif/openmotif-2.1.30-r13.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/openmotif/openmotif-2.1.30-r13.ebuild,v 1.1 2005/04/26 13:56:43 lanius Exp $ + +inherit eutils flag-o-matic multilib + +MY_P=${P}-4_MLI.src +S=${WORKDIR}/motif +DESCRIPTION="Open Motif (Metrolink Bug Fix Release)" +HOMEPAGE="http://www.openmotif.org/" +SRC_URI="ftp://ftp.metrolink.com/pub/openmotif/2.1.30-4/${MY_P}.tar.gz" + +LICENSE="MOTIF" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~ppc-macos ~sparc ~x86" +IUSE="" + +PROVIDE="virtual/motif" + +RDEPEND="virtual/libc + virtual/x11 + >=x11-libs/motif-config-0.9" +DEPEND="${RDEPEND} + >=sys-apps/sed-4" + +SLOT="2.1" + +src_unpack() { + local cfg="${S}/config/cf/site.def" + + unpack ${A} + cd ${S} + + epatch ${FILESDIR}/${P}-CAN-2004-0687-0688.patch.bz2 + epatch ${FILESDIR}/${P}-CAN-2004-0914-newer.patch.bz2 + epatch ${FILESDIR}/${P}-CAN-2004-0914_sec8.patch + epatch ${FILESDIR}/CAN-2005-0605.patch + + ebegin "adjusting file permissions" + chmod -R ug+w . + eend $? || die + + ebegin "setting up site.def" + cp ${FILESDIR}/site.def ${S}/config/cf/site.def && \ + echo >>$cfg && \ + echo >>$cfg "#undef OptimizedCDebugFlags" && \ + echo >>$cfg "#define OptimizedCDebugFlags ${CFLAGS}" && \ + echo >>$cfg "#undef OptimizedCplusplusDebugFlags" && \ + echo >>$cfg "#define OptimizedCplusplusDebugFlags ${CXXFLAGS}" &&\ + echo >>$cfg "#undef LinuxCLibMajorVersion" && \ + echo >>$cfg "#define LinuxCLibMajorVersion 6" + eend $? || die + + + # move `system.mwmrc' from `lib/X11' to `lib/X11/mwm' + ebegin "patching 'clients/mwm/Imakefile' (mwm confdir)" + LC_ALL="C" sed -i \ + -e 's:\(SpecialObjectRule.*WmResParse\.o.*/lib/X11\)\(.*\):\1/mwm\2:'\ + -e 's:\(InstallNonExecFile.system\.mwmrc,\).*/lib/X11\(.*\):\1/etc/X11/mwm\2:'\ + "${S}/clients/mwm/Imakefile" + eend $? || die + + epatch ${FILESDIR}/${PN}-2.1.30-imake-tmpdir.patch + # compile on gcc 2.9x + epatch ${FILESDIR}/${PN}-2.1.30-imake-ansi.patch + epatch ${FILESDIR}/${PN}-2.1.30-uil-bad_grammar_fix.diff + use ppc-macos && epatch ${FILESDIR}/${PN}-2.1.30-darwin-netbsd.diff + + if use amd64 && has_multilib_profile && [[ ${ABI} == "amd64" ]] ; then + sed -i 's:__i386__:__x86_64__:g' ${S}/config/cf/*.cf ${S}/config/imake/* ${S}/config/makedepend/* + fi +} + +src_compile() { + # multilib includes don't work right in this package... + has_multilib_profile && append-flags "-I/usr/include/gentoo-multilib/${ABI}" + + # glibc-2.3.2-r1/gcc-3.2.3 /w `-mcpu=athlon-xp -O2', right-clicking + # in nedit triggers DPMS monitor standby instead of popping up the + # context menu. this doesn't happen on my `stable' test partition + # where everything is compiled i686, nor with most non-essential + # packages athlon-xp and only motif i686. needs investigation. + replace-flags "-mcpu=athlon-xp" "-mcpu=i686" + + # fails to copmile with -jx + export MAKEOPTS="${MAKEOPTS} -j1" + + mkdir -p imports/x11 + cd imports/x11 + ln -s /usr/X11R6/bin bin + ln -s /usr/X11R6/include include + ln -s /usr/X11R6/lib lib + cd ${S} + make World || make World || die +} + +src_install() { + make DESTDIR=${D} VARDIR=${D}/var install || die "make install" + make DESTDIR=${D} install.man || die "make install.man" + + # cleanups + local NOINSTBIN="imake lndir makedepend makeg mergelib mkdirhier xmkmf" + local NOINSTMAN1="imake lndir makedepend makeg mkdirhier xmkmf" + + rm -fR ${D}/etc + for nib in ${NOINSTBIN}; do + f="${D}/usr/X11R6/bin/${nib}"; rm "$f" || die "rm $f" + done + for nim in ${NOINSTMAN1}; do + if useq ppc-macos ; then + f="${D}/usr/X11R6/man/man1/${nim}.1" + else + f="${D}/usr/X11R6/man/man1/${nim}.1x" + fi + rm "$f" || die "rm $f" + done + rm -rf "${D}/usr/X11R6/lib/X11" || die "rm config" + rm -rf "${D}/usr/X11R6/include/X11" || die "rm config" + rm -rf "${D}/usr/X11R6/lib/bindings" || die "rm bindings" + + dodir /usr/share/man + mv ${D}/usr/X11R6/man/* ${D}/usr/share/man/ + dodir /usr/bin + mv ${D}/usr/X11R6/bin/* ${D}/usr/bin/ + dodir /usr/include + mv ${D}/usr/X11R6/include/* ${D}/usr/include/ + dodir /usr/$(get_libdir) + mv ${D}/usr/X11R6/lib/* ${D}/usr/$(get_libdir)/ + rm -fR ${D}/usr/X11R6 + + + einfo "Fixing binaries" + dodir /usr/$(get_libdir)/openmotif-2.1 + for file in `ls ${D}/usr/bin` + do + mv ${D}/usr/bin/${file} ${D}/usr/$(get_libdir)/openmotif-2.1/ + done + + einfo "Fixing libraries" + mv ${D}/usr/$(get_libdir)/* ${D}/usr/$(get_libdir)/openmotif-2.1/ + + einfo "Fixing includes" + dodir /usr/include/openmotif-2.1/ + mv ${D}/usr/include/* ${D}/usr/include/openmotif-2.1 + + einfo "Fixing man pages" + mans="1 3 5 7" + for man in $mans; do + dodir /usr/share/man/man${man} + for file in `ls ${D}/usr/share/man/man${man}` + do + file=${file/.${man}x/} + mv ${D}/usr/share/man/man$man/${file}.${man}x ${D}/usr/share/man/man${man}/${file}-openmotif-2.1.${man} + done + done + + dodoc README COPYRIGHT.MOTIF RELEASE RELNOTES + dodoc BUGREPORT OPENBUGS CLOSEDBUGS + + # profile stuff + dodir /etc/env.d + echo "LDPATH=/usr/lib/openmotif-2.1" > ${D}/etc/env.d/15openmotif-2.1 + dodir /usr/$(get_libdir)/motif + echo "PROFILE=openmotif-2.1" > ${D}/usr/$(get_libdir)/motif/openmotif-2.1 +} + +pkg_postinst() { + /usr/bin/motif-config -s +} + +pkg_postrm() { + /usr/bin/motif-config -s +} |