/[gentoo-x86]/eclass/x-modular.eclass
Gentoo

Diff of /eclass/x-modular.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.5 Revision 1.18
1# Copyright 1999-2005 Gentoo Foundation 1# Copyright 1999-2005 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/x-modular.eclass,v 1.5 2005/08/15 00:33:31 spyderous Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/x-modular.eclass,v 1.18 2005/11/02 05:51:38 joshuabaergen Exp $
4# 4#
5# Author: Donnie Berkholz <spyderous@gentoo.org> 5# Author: Donnie Berkholz <spyderous@gentoo.org>
6# 6#
7# This eclass is designed to reduce code duplication in the modularized X11 7# This eclass is designed to reduce code duplication in the modularized X11
8# ebuilds. 8# ebuilds.
10# If the ebuild installs fonts, set FONT="yes" at the top and set FONT_DIRS to 10# If the ebuild installs fonts, set FONT="yes" at the top and set FONT_DIRS to
11# the subdirectories within /usr/share/fonts to which it installs fonts. 11# the subdirectories within /usr/share/fonts to which it installs fonts.
12 12
13EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_preinst pkg_postinst 13EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_preinst pkg_postinst
14 14
15inherit eutils 15inherit eutils libtool
16 16
17# Directory prefix to use for everything 17# Directory prefix to use for everything
18XDIR="/usr" 18XDIR="/usr"
19 19
20IUSE="" 20IUSE=""
21HOMEPAGE="http://xorg.freedesktop.org/" 21HOMEPAGE="http://xorg.freedesktop.org/"
22SRC_URI="http://xorg.freedesktop.org/X11R7.0-RC0/everything/${P}.tar.bz2" 22SRC_URI="http://xorg.freedesktop.org/releases/X11R7.0-RC1/everything/${P}.tar.bz2
23 http://xorg.freedesktop.org/releases/X11R7.0-RC0/everything/${P}.tar.bz2"
23LICENSE="X11" 24LICENSE="X11"
24SLOT="0" 25SLOT="0"
25 26
26# Set up shared dependencies 27# Set up shared dependencies
27if [ -n "${SNAPSHOT}" ]; then 28if [ -n "${SNAPSHOT}" ]; then
32 >=sys-devel/libtool-1.5 33 >=sys-devel/libtool-1.5
33 >=sys-devel/m4-1.4" 34 >=sys-devel/m4-1.4"
34fi 35fi
35 36
36# If we're a font package, but not the font.alias one 37# If we're a font package, but not the font.alias one
37if [[ "${PN/#font}" != "${PN}" ]] && [[ "${PN}" != "font-alias" ]]; then 38if [[ "${PN/#font-}" != "${PN}" ]] && [[ "${PN}" != "font-alias" ]]; then
38 # Activate font code in the rest of the eclass 39 # Activate font code in the rest of the eclass
39 FONT="yes" 40 FONT="yes"
40 41
41 RDEPEND="${RDEPEND} 42 RDEPEND="${RDEPEND}
42 media-fonts/encodings" 43 media-fonts/encodings"
43 PDEPEND="${PDEPEND} 44 PDEPEND="${PDEPEND}
44 media-fonts/font-alias" 45 media-fonts/font-alias"
45fi 46fi
46 47
48# If we're a driver package
49if [[ "${PN/#xf86-video}" != "${PN}" ]] || [[ "${PN/#xf86-input}" != "${PN}" ]]; then
50 # Don't build static driver modules
51 DRIVER_OPTIONS="--disable-static"
52fi
53
47DEPEND="${DEPEND} 54DEPEND="${DEPEND}
48 dev-util/pkgconfig 55 >=dev-util/pkgconfig-0.18
49 x11-misc/util-macros" 56 >=x11-misc/util-macros-0.99.0_p20051007"
50 57
51RDEPEND="${RDEPEND}" 58RDEPEND="${RDEPEND}
52# Shouldn't be necessary once we're in a standard location 59 !<x11-base/xorg-x11-7.0.0_rc0"
60# Provides virtual/x11 for temporary use until packages are ported
53# x11-base/x11-env" 61# x11-base/x11-env"
54# FIXME: Uncomment once it's in portage 62
55# !x11-base/xorg-x11" 63x-modular_pkg_setup() {
64 # Collision protect will scream bloody murder if we install over old versions
65 if $(has_version "<x11-base/xorg-x11-7.0.0_rc0"); then
66 if has collision-protect ${FEATURES}; then
67 eerror "Having collision-protect in FEATURES will disrupt upgrades"
68 eerror "from non-modular versions of xorg-x11."
69 eerror "Please remove collision-protect from FEATURES while upgrading."
70 die ""
71 fi
72 fi
73}
56 74
57x-modular_unpack_source() { 75x-modular_unpack_source() {
58 unpack ${A} 76 unpack ${A}
59 cd ${S} 77 cd ${S}
78
79 # Joshua Baergen - October 23, 2005
80 # Fix shared lib issues on MIPS, FBSD, etc etc
81 elibtoolize
60} 82}
61 83
62x-modular_patch_source() { 84x-modular_patch_source() {
63 # Use standardized names and locations with bulk patching 85 # Use standardized names and locations with bulk patching
64 # Patch directory is ${WORKDIR}/patch 86 # Patch directory is ${WORKDIR}/patch
88 then 110 then
89 # If possible, generate configure if it doesn't exist 111 # If possible, generate configure if it doesn't exist
90 if [ -f "${S}/configure.ac" ] 112 if [ -f "${S}/configure.ac" ]
91 then 113 then
92 einfo "Running autoreconf..." 114 einfo "Running autoreconf..."
93 autoreconf -v --install 115 autoreconf -v --force --install
94 fi 116 fi
95 fi 117 fi
96 118
97} 119}
98 120
100 x-modular_unpack_source 122 x-modular_unpack_source
101 x-modular_patch_source 123 x-modular_patch_source
102 x-modular_reconf_source 124 x-modular_reconf_source
103} 125}
104 126
105x-modular_src_compile() { 127x-modular_src_configure() {
106 # If prefix isn't set here, .pc files cause problems 128 # If prefix isn't set here, .pc files cause problems
107 if [ -x ./configure ]; then 129 if [ -x ./configure ]; then
108 econf --prefix=${XDIR} \ 130 econf --prefix=${XDIR} \
109 --datadir=${XDIR}/share \ 131 --datadir=${XDIR}/share \
132 ${DRIVER_OPTIONS} \
110 ${CONFIGURE_OPTIONS} 133 ${CONFIGURE_OPTIONS}
111 fi 134 fi
135}
136
137x-modular_src_make() {
112 emake || die "emake failed" 138 emake || die "emake failed"
139}
140
141x-modular_src_compile() {
142 x-modular_src_configure
143 x-modular_src_make
113} 144}
114 145
115x-modular_src_install() { 146x-modular_src_install() {
116 # Install everything to ${XDIR} 147 # Install everything to ${XDIR}
117 make \ 148 make \
119 install 150 install
120# Shouldn't be necessary in XDIR=/usr 151# Shouldn't be necessary in XDIR=/usr
121# einstall forces datadir, so we need to re-force it 152# einstall forces datadir, so we need to re-force it
122# datadir=${XDIR}/share \ 153# datadir=${XDIR}/share \
123# mandir=${XDIR}/share/man \ 154# mandir=${XDIR}/share/man \
155
156 # Don't install libtool archives for server modules
157 if [[ -e ${D}/usr/lib/xorg/modules ]]; then
158 find ${D}/usr/lib/xorg/modules -name '*.la' \
159 | xargs rm -f
160 fi
124} 161}
125 162
126x-modular_pkg_preinst() { 163x-modular_pkg_preinst() {
127 if [[ -n "${FONT}" ]]; then 164 if [[ -n "${FONT}" ]]; then
128 discover_font_dirs 165 discover_font_dirs

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.20