/[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.3 Revision 1.7
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.3 2005/08/14 23:04:02 spyderous Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/x-modular.eclass,v 1.7 2005/08/22 17:46:03 spyderous 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.
9# 9#
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_postinst 13EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_preinst pkg_postinst
14 14
15inherit eutils 15inherit eutils
16 16
17# Directory prefix to use for everything 17# Directory prefix to use for everything
18# Change to /usr/X11R6 once it's standard
19XDIR="/usr" 18XDIR="/usr"
20 19
21IUSE="" 20IUSE=""
22HOMEPAGE="http://xorg.freedesktop.org/" 21HOMEPAGE="http://xorg.freedesktop.org/"
23SRC_URI="http://xorg.freedesktop.org/X11R7.0-RC0/everything/${P}.tar.bz2" 22SRC_URI="http://xorg.freedesktop.org/X11R7.0-RC0/everything/${P}.tar.bz2"
34 >=sys-devel/m4-1.4" 33 >=sys-devel/m4-1.4"
35fi 34fi
36 35
37# If we're a font package, but not the font.alias one 36# If we're a font package, but not the font.alias one
38if [[ "${PN/#font}" != "${PN}" ]] && [[ "${PN}" != "font-alias" ]]; then 37if [[ "${PN/#font}" != "${PN}" ]] && [[ "${PN}" != "font-alias" ]]; then
38 # Activate font code in the rest of the eclass
39 FONT="yes"
40
39 RDEPEND="${RDEPEND} 41 RDEPEND="${RDEPEND}
40 media-fonts/encodings" 42 media-fonts/encodings"
41 PDEPEND="${PDEPEND} 43 PDEPEND="${PDEPEND}
42 media-fonts/font-alias" 44 media-fonts/font-alias"
45fi
46
47# If we're a driver package
48if [[ "${PN/#xf86-video}" != "${PN}" ]] | [[ "${PN}" != "xf86-input" ]]; then
49 # Don't build static driver modules
50 DRIVER_OPTIONS="--disable-static"
43fi 51fi
44 52
45DEPEND="${DEPEND} 53DEPEND="${DEPEND}
46 dev-util/pkgconfig 54 dev-util/pkgconfig
47 x11-misc/util-macros" 55 x11-misc/util-macros"
98 x-modular_unpack_source 106 x-modular_unpack_source
99 x-modular_patch_source 107 x-modular_patch_source
100 x-modular_reconf_source 108 x-modular_reconf_source
101} 109}
102 110
103x-modular_src_compile() { 111x-modular_src_configure() {
104 # If prefix isn't set here, .pc files cause problems 112 # If prefix isn't set here, .pc files cause problems
105 if [ -x ./configure ]; then 113 if [ -x ./configure ]; then
106 econf --prefix=${XDIR} \ 114 econf --prefix=${XDIR} \
107 --datadir=${XDIR}/share \ 115 --datadir=${XDIR}/share \
116 ${DRIVER_OPTIONS} \
108 ${CONFIGURE_OPTIONS} 117 ${CONFIGURE_OPTIONS}
109 fi 118 fi
119}
120
121x-modular_src_make() {
110 emake || die "emake failed" 122 emake || die "emake failed"
123}
124
125x-modular_src_compile() {
126 x-modular_src_configure
127 x-modular_src_make
111} 128}
112 129
113x-modular_src_install() { 130x-modular_src_install() {
114 # Install everything to ${XDIR} 131 # Install everything to ${XDIR}
115 make \ 132 make \
117 install 134 install
118# Shouldn't be necessary in XDIR=/usr 135# Shouldn't be necessary in XDIR=/usr
119# einstall forces datadir, so we need to re-force it 136# einstall forces datadir, so we need to re-force it
120# datadir=${XDIR}/share \ 137# datadir=${XDIR}/share \
121# mandir=${XDIR}/share/man \ 138# mandir=${XDIR}/share/man \
139
140 # Don't install libtool archives for server modules
141 if [[ -e ${D}/usr/lib/xorg/modules ]]; then
142 find ${D}/usr/lib/xorg/modules -name '*.la' \
143 | xargs rm -f
144 fi
145}
146
147x-modular_pkg_preinst() {
148 if [[ -n "${FONT}" ]]; then
149 discover_font_dirs
150 fi
122} 151}
123 152
124x-modular_pkg_postinst() { 153x-modular_pkg_postinst() {
125 if [[ -n "${FONT}" ]]; then 154 if [[ -n "${FONT}" ]]; then
126 setup_fonts 155 setup_fonts
136 165
137 create_fonts_scale 166 create_fonts_scale
138 create_fonts_dir 167 create_fonts_dir
139 fix_font_permissions 168 fix_font_permissions
140 create_font_cache 169 create_font_cache
170}
171
172discover_font_dirs() {
173 pushd ${IMAGE}/usr/share/fonts
174 FONT_DIRS="$(find . -maxdepth 1 -mindepth 1 -type d)"
175 FONT_DIRS="$(echo ${FONT_DIRS} | sed -e 's:./::g')"
176 popd
141} 177}
142 178
143create_fonts_scale() { 179create_fonts_scale() {
144 ebegin "Creating fonts.scale files" 180 ebegin "Creating fonts.scale files"
145 local x 181 local x

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.20