blob: ed43183ae785a1aa9f85964075148d78793b0595 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-0.9.1.ebuild,v 1.4 2005/03/07 21:19:12 wolf31o2 Exp $
MISCSPLASH="miscsplashutils-0.1.2"
GENTOOSPLASH="splashutils-gentoo-0.1.4"
KLIBC_VERSION="0.179"
DESCRIPTION="Framebuffer splash utilities."
HOMEPAGE="http://dev.gentoo.org/~spock/"
SRC_URI="mirror://gentoo/${P/_/-}.tar.bz2
mirror://gentoo/${MISCSPLASH}.tar.bz2
mirror://gentoo/${GENTOOSPLASH}.tar.bz2
mirror://gentoo/fbsplash-theme-emergence-r2.tar.bz2
mirror://gentoo/fbsplash-theme-gentoo-r1.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 amd64 ~ppc"
IUSE="hardened"
RDEPEND=">=media-libs/freetype-2
>=media-libs/libpng-1.2.7
>=media-libs/jpeg-6b
>=sys-apps/baselayout-1.9.4-r5
!media-gfx/bootsplash"
DEPEND="${RDEPEND}
virtual/linux-sources"
S="${WORKDIR}/${P/_/-}"
SM="${WORKDIR}/${MISCSPLASH}"
SG="${WORKDIR}/${GENTOOSPLASH}"
pkg_setup() {
if use hardened; then
ewarn "Due to problems with klibc, it is currently impossible to compile splashutils"
ewarn "with 'hardened' GCC flags. As a workaround, the package will be compiled with"
ewarn "-fno-stack-protector. Hardened GCC features will not be used while building"
ewarn "the fbsplash kernel helper."
fi
}
src_unpack() {
unpack ${A}
ln -s /usr/src/linux ${S}/linux
if [ ! -e /usr/src/linux/include/linux/console_splash.h ]; then
eerror "Your kernel in /usr/src/linux has not been patched with a compatible version"
eerror "of fbsplash. Please download the latest patch from http://dev.gentoo.org/~spock/"
eerror "and patch your kernel."
die "Fbsplash not found"
fi
if [ ! -e /usr/src/linux/include/asm ]; then
t=$(readlink /usr/src/linux)
t=${t#/usr/src/}
if [ -z "${KBUILD_OUTPUT_PREFIX}" ] ||
[ ! -e "${KBUILD_OUTPUT_PREFIX}/${t/linux-}/include/asm" ]; then
eerror "It appears that your kernel has not been configured. Please run at least"
eerror "\`make prepare\` before merging splashutils."
die "Kernel not configured"
else
t2=$(readlink ${KBUILD_OUTPUT_PREFIX}/${t/linux-}/include/asm)
ln -s /usr/src/linux/include/${t2} ${T}/asm
sed -e "s@#CHANGEME#@${T}/@" -i ${S}/libs/klibc-${KLIBC_VERSION}/klibc/makeerrlist.pl
fi
fi
# this should make this version of splashutils compile with hardened systems
if use hardened; then
sed -e 's@K_CFLAGS =@K_CFLAGS = -fno-stack-protector@' -i ${S}/Makefile
sed -e 's@CFLAGS =@CFLAGS = -fno-stack-protector@' -i ${S}/libs/klibc-${KLIBC_VERSION}/klibc/MCONFIG
fi
}
src_compile() {
local miscincs
if [ -n "${KBUILD_OUTPUT_PREFIX}" ]; then
t=$(readlink /usr/src/linux)
t=${t#/usr/src/}
miscincs="-I${T} -I${KBUILD_OUTPUT_PREFIX}/${t/linux-}/include"
fi
emake -j1 MISCINCS="${miscincs}"
cd ${SM}
emake
}
src_install() {
cd ${SM}
make DESTDIR=${D} install || die
cd ${S}
make DESTDIR=${D} install || die
exeinto /sbin
doexe ${SG}/splash
exeinto /etc/init.d
newexe ${SG}/init-splash splash
insinto /sbin
doins ${SG}/splash-functions.sh
insinto /etc/conf.d
newins ${SG}/splash.conf splash
dodir /etc/splash/{emergence,gentoo}
cp -pR ${WORKDIR}/{emergence,gentoo} ${D}/etc/splash
ln -s emergence ${D}/etc/splash/default
dodoc docs/* README AUTHORS
if [ ! -e ${ROOT}/etc/splash/default ]; then
dosym /etc/splash/emergence /etc/splash/default
fi
}
|