diff options
Diffstat (limited to 'x11-wm/ion3/ion3-20070902.ebuild')
-rw-r--r-- | x11-wm/ion3/ion3-20070902.ebuild | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/x11-wm/ion3/ion3-20070902.ebuild b/x11-wm/ion3/ion3-20070902.ebuild new file mode 100644 index 0000000..0fe3cac --- /dev/null +++ b/x11-wm/ion3/ion3-20070902.ebuild @@ -0,0 +1,200 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20070506-r1.ebuild,v 1.3 2007/06/03 15:08:02 mabi Exp $ + +inherit eutils flag-o-matic + +MY_PV=${PV/_p/-} +MY_PN=ion-3rc-${MY_PV} + +SCRIPTS_PV=20070902 +SCRIPTS_PN=ion3-scripts + +IONFLUX_PV=20070512 +IONFLUX_PN=ion3-mod-ionflux + +IONXRANDR_PV=20070410 +IONXRANDR_PN=ion3-mod-xrandr + +IONDOC_PV=20070902 +IONDOC_PN=ion-doc-3rc + +DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" +HOMEPAGE="http://www.iki.fi/tuomov/ion/" +SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz + doc? ( http://iki.fi/tuomov/dl/${IONDOC_PN}-${IONDOC_PV}.tar.gz )" + +LICENSE="LGPL-2.1+tuomov" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="unicode ion3-voidupstreamsupport-truetype doc" +DEPEND=" + || ( + ( + x11-libs/libICE + x11-libs/libXext + x11-libs/libSM + ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) + ) + virtual/x11 + ) + dev-util/pkgconfig + app-misc/run-mailcap + >=dev-lang/lua-5.1.1 + doc? ( dev-tex/latex2html + virtual/tetex )" + +S=${WORKDIR}/${MY_PN} + +SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" +MODULES="${IONXRANDR_PN}-${IONXRANDR_PV} ${IONFLUX_PN}-${IONFLUX_PV}" + +src_unpack() { + unpack ${A} + + ln -s "${FILESDIR}"/${SCRIPTS_PN}-${SCRIPTS_PV}.tar.bz2 + unpack ./${SCRIPTS_PN}-${SCRIPTS_PV}.tar.bz2 + ln -s "${FILESDIR}"/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + unpack ./${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + ln -s "${FILESDIR}"/${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 + unpack ./${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 + + cd ${S} + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch + if (use ion3-voidupstreamsupport-truetype); then + epatch ${FILESDIR}/xft-ion3-${PV}.patch + + sed -i -e "s:#USE_XFT=1:USE_XFT=1:" ${S}/system.mk + sed -i -e 's:\(#define ION_VERSION "3rc-20070608\):\1-voidupstreamsupport-xft-enabled:' ${S}/version.h + fi; + + # Allow user CFLAGS + sed -i "s:\(CFLAGS=\)-g -Os\(.*\):\1\2 ${CFLAGS}:" system.mk + + # Allow user LDFLAGS + sed -i "s:\(LDFLAGS=\)-g -Os\(.*\):\1\2 ${LDFLAGS}:" system.mk + + # XOPEN_SOURCE does give _POSIX_MONOTONIC_CLOCK, but not CLOCK_MONOTONIC, + # thus compile will fail + sed -e '/CFLAGS +=.*XOPEN_SOURCE.*C99_SOURCE/s:$: $\(POSIX_SOURCE\):' \ + -i libmainloop/Makefile + + # Don't strip ionflux + sed -i "s:-s::" "../${IONFLUX_PN}-${IONFLUX_PV}/ionflux/Makefile" + + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' Makefile */Makefile */*/Makefile build/rules.mk + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i Makefile */Makefile \ + -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' + + done + cd ${S} + + # Hey guys! Implicit rules apply to include statements also. Be more careful! + # Fix an implicit rule that will kill the installation by rewriting a .mk + # should configure be given just the right set of options. + sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile + + # Fix prestripping of files + sed -i mod_statusbar/ion-statusd/Makefile utils/ion-completefile/Makefile \ + -e 's: -s::' + + # FIX for modules + cd ${WORKDIR} + ln -s ${MY_PN} ion-3 +} + +src_compile() { + local myconf="" + + # xfree + if has_version '>=x11-base/xfree-4.3.0'; then + sed -i -e "s:DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:" ${S}/system.mk + fi + + # help out this arch as it can't handle certain shared library linkage + use hppa && sed -i -e "s:#PRELOAD_MODULES=1:PRELOAD_MODULES=1:" ${S}/system.mk + + # unicode support + use unicode && sed -i -e "s:#DEFINES += -DCF_DE_USE_XUTF8:DEFINES += -DCF_DE_USE_XUTF8:" ${S}/system.mk + + cd ${S} + make \ + LIBDIR=/usr/$(get_libdir) \ + DOCDIR=/usr/share/doc/${PF} || die + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + make \ + LIBDIR=/usr/$(get_libdir) + done + + if ( use doc ) + then + export MT_FEATURES=varfonts + mkdir -p ${T}/var/cache/fonts + export VARTEXFONTS=${T}/var/cache/fonts + + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + make all + make all-pdf + fi +} + +src_install() { + + emake \ + DESTDIR=${D} \ + DOCDIR=/usr/share/doc/${PF} \ + install || die + + echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 + echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 + exeinto /etc/X11/Sessions + doexe ${T}/ion3 ${T}/pwm3 + + insinto /usr/share/xsessions + doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop + + cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} + insinto /usr/share/ion3 + find $SCRIPTS_DIRS -type f |\ + while read FILE + do + doins $PWD/$FILE + done + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + emake \ + DESTDIR=${D} \ + install || die + + done + + if ( use doc ) + then + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + dodoc *.pdf + fi + + sed -i -e '/dopath("mod_sp")/a\dopath("mod_xrandr")' ${D}/etc/X11/ion3/cfg_defaults.lua +} + +pkg_postinst() { + elog "This version of ion3 contains no xinerama support (removed upstream)." + elog "Remember that USE='ion3-voidupstreamsupport-truetype' will render" + elog "upstream support for your installation of ion3 void." + elog "Thus, if you encouter a bug in ion-3, be sure to to reproduce it with a" + elog "vanilla build before reporting it upstream. You are welcome to report" + elog "any problem as a bug on http://bugs.gentoo.org." +} |