summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Januszewski <spock@gentoo.org>2005-08-28 19:33:33 +0000
committerMichael Januszewski <spock@gentoo.org>2005-08-28 19:33:33 +0000
commitd3d1c9e8384ee432fc8c84dc72b463c671594ced (patch)
treeff55acb8f8359f84b10fd2ab7f71c018e292cdc9 /media-gfx
parentAdded this application to media-optical herd and myself as maintainer. (diff)
downloadgentoo-2-d3d1c9e8384ee432fc8c84dc72b463c671594ced.tar.gz
gentoo-2-d3d1c9e8384ee432fc8c84dc72b463c671594ced.tar.bz2
gentoo-2-d3d1c9e8384ee432fc8c84dc72b463c671594ced.zip
Marked 1.1.9.8 stable on x86, updated 1.1.9.9 to build against an external klibc (bug #103855).
(Portage version: 1.589-cvs)
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/splashutils/ChangeLog11
-rw-r--r--media-gfx/splashutils/files/digest-splashutils-1.1.9.9-r17
-rw-r--r--media-gfx/splashutils/files/splashutils-1.1.9.9-external-klibc.patch297
-rw-r--r--media-gfx/splashutils/splashutils-1.1.9.8.ebuild4
-rw-r--r--media-gfx/splashutils/splashutils-1.1.9.9-r1.ebuild199
5 files changed, 515 insertions, 3 deletions
diff --git a/media-gfx/splashutils/ChangeLog b/media-gfx/splashutils/ChangeLog
index 320ee562ca08..e4d65aad267b 100644
--- a/media-gfx/splashutils/ChangeLog
+++ b/media-gfx/splashutils/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for media-gfx/splashutils
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/ChangeLog,v 1.41 2005/08/21 19:52:07 spock Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/ChangeLog,v 1.42 2005/08/28 19:33:33 spock Exp $
+
+*splashutils-1.1.9.9-r1 (28 Aug 2005)
+
+ 28 Aug 2005; Michał Januszewski <spock@gentoo.org>
+ +files/splashutils-1.1.9.9-external-klibc.patch,
+ splashutils-1.1.9.8.ebuild, +splashutils-1.1.9.9-r1.ebuild:
+ Updated the splashutils ebuild to build against external klibc. Credits for
+ the patch go to Martin Schlemmer <azarah (at) gentoo (dot) org> (bug
+ #103855). Marked 1.1.9.8 stable on x86.
*splashutils-1.1.9.9 (21 Aug 2005)
diff --git a/media-gfx/splashutils/files/digest-splashutils-1.1.9.9-r1 b/media-gfx/splashutils/files/digest-splashutils-1.1.9.9-r1
new file mode 100644
index 000000000000..a8d67902b41a
--- /dev/null
+++ b/media-gfx/splashutils/files/digest-splashutils-1.1.9.9-r1
@@ -0,0 +1,7 @@
+MD5 ff5583eac920804ac90671f30422e50f splashutils-lite-1.1.9.9.tar.bz2 55181
+MD5 04ae6c0cb56738ebc9b6da3ebb9d3c7f splashutils-gentoo-0.1.13.tar.bz2 7669
+MD5 f8e92992682bbaf8e6eb2316ac708bc0 miscsplashutils-0.1.3.tar.bz2 91825
+MD5 00cea4539bea4bd34cbf8b82ff9589cd libpng-1.2.8.tar.bz2 384970
+MD5 dbd5f3b47ed13132f04c685d608a7547 jpegsrc.v6b.tar.gz 613261
+MD5 ec1b903e4be5f073caa72458ea58c29c freetype-2.1.9.tar.bz2 992394
+MD5 8106069990476a3c5187301465bd7a60 zlib-1.2.1.tar.bz2 284152
diff --git a/media-gfx/splashutils/files/splashutils-1.1.9.9-external-klibc.patch b/media-gfx/splashutils/files/splashutils-1.1.9.9-external-klibc.patch
new file mode 100644
index 000000000000..3f1bf5790502
--- /dev/null
+++ b/media-gfx/splashutils/files/splashutils-1.1.9.9-external-klibc.patch
@@ -0,0 +1,297 @@
+diff -urpN splashutils-1.1.9.9/Makefile splashutils-1.1.9.9.klibc/Makefile
+--- splashutils-1.1.9.9/Makefile 2005-08-26 19:43:45.000000000 +0200
++++ splashutils-1.1.9.9.klibc/Makefile 2005-08-26 22:47:40.000000000 +0200
+@@ -12,11 +12,13 @@ DEBUG = false # set to true to preven
+ K_SHARED = false # set to true if you want to link to a shared klibc
+ QUIET = true
+
++CC = gcc
++KLCC = klcc
++
+ JPEGSRC ?= libs/jpeg-6b
+ LPNGSRC ?= libs/libpng-1.2.8
+ ZLIBSRC ?= libs/zlib-1.2.1
+ FT2SRC ?= libs/freetype-2.1.9
+-LIBCSRC ?= libs/klibc-1.0.8/klibc
+
+ prefix =
+ sbindir = ${prefix}/sbin
+@@ -29,38 +31,25 @@ INSTALL_DATA = ${INSTALL} -m 644
+ INSTALL_SCRIPT = ${INSTALL_PROG}
+
+ ifeq ($(strip $(K_SHARED)),true)
+- LIBC = $(LIBCSRC)/libc.so
+- CRT0 = $(LIBCSRC)/interp.o
+- K_LDFLAGS =
++ K_LDFLAGS = -shared
+ else
+- LIBC = $(LIBCSRC)/libc.a
+- CRT0 = $(LIBCSRC)/crt0.o
+- K_LDFLAGS = --gc-sections
++ K_LDFLAGS = -static
+ endif
+
+ ifeq ($(strip $(QUIET)),true)
++ Q = @
+ OUTPUT = /dev/null
+ else
++ Q =
+ OUTPUT = /dev/stdout
+ endif
+
+-LIBGCC = $(shell $(CC) --print-libgcc)
+ ROOT = $(shell pwd)
+-ARCH = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
+-
+-include $(LIBCSRC)/arch/$(ARCH)/MCONFIG
+
+ # flags for the kernel utils
+-K_CFLAGS = -w $(shell grep REQFLAGS $(LIBCSRC)/../klibc.config | cut -d= -f2-) \
+- $(shell grep OPTFLAGS $(LIBCSRC)/../klibc.config | cut -d= -f2-) \
+- -I${ROOT}/$(LIBCSRC)/../include/arch/$(ARCH) \
+- -I${ROOT}/$(LIBCSRC)/../include/bits$(BITSIZE) \
+- -I${ROOT}/$(LIBCSRC)/../include \
+- -I${ROOT}/linux/include \
+- -I${ROOT}/linux/include2 \
+- $(MISCINCS) \
+- -DWITH_ERRLIST -I${ROOT}/$(ZLIBSRC) -I${ROOT}/$(FT2SRC)/include -I/usr/include -ffunction-sections \
+- -fdata-sections -DTARGET_KERNEL -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
++K_CFLAGS = -w -ffunction-sections -fdata-sections $(MISCINCS) \
++ -I$(ROOT)/$(ZLIBSRC) -I$(ROOT)/$(FT2SRC)/include -I$(ROOT)/linux/include -I$(ROOT)/linux/include2 \
++ -DWITH_ERRLIST -DTARGET_KERNEL -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+
+ PNGDEFS = -DPNG_NO_WRITE_TIME -DPNG_NO_FLOATING_POINT_SUPPORTED -DPNG_NO_WRITE_SUPPORTED -DPNG_NO_READ_iTXt \
+ -DPNG_LEGACY_SUPPORTED -DPNG_NO_PROGRESSIVE_READ -DPNG_NO_MNG_FEATURES -DPNG_NO_CONSOLE_IO \
+@@ -76,7 +65,7 @@ K_DEPS =
+ CFLAGS = -march=k8 -O2 -pipe -freorder-blocks -fprefetch-loop-arrays -ftracer -falign-functions=4 -fomit-frame-pointer
+ LDLIBS = -ljpeg -lm
+ LDFLAGS =
+-INCLUDES = -I${ROOT}/linux/include -I/usr/include/freetype2
++INCLUDES = -I$(ROOT)/linux/include -I/usr/include/freetype2
+ OBJS = splash.o parse.o render.o image.o cmd.o common.o daemon.o list.o effects.o
+
+ # checks whether an opton is set in config.h
+@@ -112,7 +101,7 @@ endif
+
+ KOUT = kernel
+ dotg = \e[32;01m*\e[0m
+-info = printf " %-7s %s\n" $(1) $(2)
++info = if [ "${QUIET}" == "true" ] ; then printf " %-7s %s\n" $(1) $(2); fi
+ install_script = $(call info,INSTALL,$(1)) ; $(INSTALL_PROG) -D scripts/$(1) $(DESTDIR)$(usrbindir)/$(1) ; \
+ sed -e 's/%PKG_VERSION%/$(PKG_VERSION)/g' -i $(DESTDIR)$(usrbindir)/$(1)
+
+@@ -131,8 +120,8 @@ splash_user: $(SP_UTIL)
+
+ $(SP_UTIL): $(OBJS)
+ @$(call info,LD,$@)
+- @$(CC) $+ $(LDLIBS) -o $@
+- @$(CC) $+ $(LDLIBS) -static -o $@.static
++ $(Q)$(CC) $+ $(LDLIBS) -o $@
++ $(Q)$(CC) $+ $(LDLIBS) -static -o $@.static
+
+ linux:
+ @if [ ! -e "$(ROOT)/linux" ]; then \
+@@ -144,26 +133,16 @@ kdir:
+ mkdir "$(ROOT)/$(KOUT)" ; \
+ fi
+
+-klibc: linux
+- @if [ ! -e linux ]; then \
+- echo "The 'linux' symlink does not exist!" ; \
+- exit 1 ; \
+- fi
+- @cd $(LIBCSRC) ; \
+- if ! make -q; then $(call info,MAKE,klibc) ; fi ; \
+- make > $(OUTPUT)
+- @cd $(LIBCSRC)/.. ; \
+- make klibc.config > $(OUTPUT)
+-
+ zlib: config.h
+ @cd $(ZLIBSRC) ; \
+ if [ ! -e ./Makefile ]; then \
+ $(call info,CONF,zlib) ; \
++ CC=$(KLCC) CFLAGS="$(K_CFLAGS)" \
+ ./configure > $(OUTPUT); \
+ sed -i 's#^CFLAGS=\(.*\)#CFLAGS=\1 $(K_CFLAGS)#' Makefile ; \
+ fi ; \
+- if ! make -q libz.a; then $(call info,MAKE,zlib) ; fi ; \
+- make libz.a > $(OUTPUT)
++ if ! make -q CC=$(KLCC) libz.a; then $(call info,MAKE,zlib) ; fi ; \
++ make CC=$(KLCC) libz.a > $(OUTPUT)
+
+ libpng: zlib config.h
+ @cd $(LPNGSRC) ; \
+@@ -174,76 +153,63 @@ libpng: zlib config.h
+ -e 's#^ZLIBINC=.*#ZLIBINC=$(ZLIBSRC)#' \
+ -e 's#^ZLIBLIB=.*#ZLIBLIB=$(ZLIBSRC)#' Makefile ; \
+ fi ; \
+- if ! make -q libpng.a; then $(call info,MAKE,libpng) ; fi ; \
+- make libpng.a > $(OUTPUT)
++ if ! make -q CC=$(KLCC) libpng.a; then $(call info,MAKE,libpng) ; fi ; \
++ make CC=$(KLCC) libpng.a > $(OUTPUT)
+
+ jpeglib:
+ @cd $(JPEGSRC) ; \
+ if [ ! -e ./Makefile ]; then \
+ $(call info,CONF,libjpeg) ; \
++ CC=$(KLCC) CFLAGS="$(K_CFLAGS)" \
+ ./configure > $(OUTPUT) ; \
+ echo "#define NO_GETENV 1" >> jconfig.h ; \
+ sed -i "s#CFLAGS=.*#CFLAGS=$(K_CFLAGS)#" Makefile ; \
+ sed -i "s:#define JMESSAGE.*::" jerror.c ; \
+ fi ; \
+- if ! make -q libjpeg.a; then $(call info,MAKE,libjpeg) ; fi ; \
+- make libjpeg.a > $(OUTPUT)
++ if ! make -q CC=$(KLCC) libjpeg.a; then $(call info,MAKE,libjpeg) ; fi ; \
++ make CC=$(KLCC) libjpeg.a > $(OUTPUT)
+
+ ft2: config.h
+ @cd $(FT2SRC) ; \
+ if [ ! -e ./config.mk ]; then \
+ $(call info,CONF,freetype2) ; \
++ CC=$(KLCC) CPPFLAGS="-I$(ROOT)/$(ZLIBSRC)" \
++ CFLAGS="$(K_CFLAGS) -include $(ROOT)/klibc_compat.h" \
+ ./configure --disable-shared > $(OUTPUT) ; \
+ fi ; \
+- if ! make -q library; then $(call info,MAKE,freetype2) ; fi ; \
++ if ! make -q CFLAGS="$(K_CFLAGS)" library; then $(call info,MAKE,freetype2) ; fi ; \
+ make CFLAGS="-c $(K_CFLAGS)" library > $(OUTPUT)
+
+-splash_kern: klibc jpeglib kdir $(K_DEPS) $(SP_HELPER) $(LIBC) config.h $(K_LDLIBS)
++splash_kern: jpeglib kdir $(K_DEPS) $(SP_HELPER) config.h $(K_LDLIBS)
+
+ $(SP_HELPER): $(K_OBJS)
+ @$(call info,LD,$@)
+-ifeq ($(strip $(K_SHARED)),true)
+- @ld $(K_LDFLAGS) -o $@ -e main $(CRT0) $+ $(K_LDLIBS) -R $(LIBC) $(LIBGCC)
+-ifeq ($(strip $(QUIET)),false)
+- @echo ld $(K_LDFLAGS) -o $@ -e main $(CRT0) $+ $(K_LDLIBS) -R $(LIBC) $(LIBGCC)
+-endif
+-else
+- @ld $(K_LDFLAGS) -o $@ $(CRT0) $+ $(K_LDLIBS) $(LIBC) $(LIBGCC)
+-ifeq ($(strip $(QUIET)),false)
+- @echo ld $(K_LDFLAGS) -o $@ $(CRT0) $+ $(K_LDLIBS) $(LIBC) $(LIBGCC)
+-endif
+-endif
+- @$(STRIP) $@
++ $(Q)$(KLCC) $(K_LDFLAGS) -o $@ $+ $(K_LDLIBS)
++ $(Q)$(STRIP) $@
+
+ $(KOUT)/%.o: %.c config.h splash.h
+ @$(call info,CC,$@)
+- @$(CC) $(K_CFLAGS) -c -o $@ $<
+-ifeq ($(strip $(QUIET)),false)
+- @echo $(CC) $(K_CFLAGS) -c -o $@ $<
+-endif
++ $(Q)$(KLCC) $(K_CFLAGS) -I/usr/include -c -o $@ $<
+
+ %.o: %.c config.h splash.h
+ @$(call info,CC,$@)
+- @$(CC) $(CFLAGS) $(INCLUDES) -DPKG_VERSION=\"$(PKG_VERSION)\" -c -o $@ $<
+-ifeq ($(strip $(QUIET)),false)
+- @echo $(CC) $(CFLAGS) $(INCLUDES) -DPKG_VERSION=\"$(PKG_VERSION)\" -c -o $@ $<
+-endif
++ $(Q)$(CC) $(CFLAGS) $(INCLUDES) -DPKG_VERSION=\"$(PKG_VERSION)\" -c -o $@ $<
+
+-clean: clean_klibc clean_jpg clean_png clean_zlib clean_ft2 clean_splash
++clean: clean_jpg clean_png clean_zlib clean_ft2 clean_splash
+
+ clean_splash:
+ @$(call info,CLEAN,splash)
+- @rm -f *.o
+- @rm -f kernel/*.o
+- @rm -f splash_helper splash_util splash_util.static
+- @rm -f linux
++ $(Q)rm -f *.o
++ $(Q)rm -f kernel/*.o
++ $(Q)rm -f splash_helper splash_util splash_util.static
++ $(Q)rm -f linux
+
+ clean_jpg:
+ @cd $(JPEGSRC) ; \
+ if [ -e Makefile ]; then \
+ $(call info,CLEAN,libjpeg) ; \
+ make clean > $(OUTPUT) ; \
+- rm Makefile ; \
++ rm -f Makefile ; \
+ fi
+
+ clean_png:
+@@ -251,7 +217,7 @@ clean_png:
+ if [ -e Makefile ]; then \
+ $(call info,CLEAN,libpng) ; \
+ make clean > $(OUTPUT) ; \
+- rm Makefile ; \
++ rm -f Makefile ; \
+ fi
+
+ clean_zlib:
+@@ -259,7 +225,7 @@ clean_zlib:
+ if [ -e Makefile ]; then \
+ $(call info,CLEAN,zlib) ; \
+ make clean > $(OUTPUT) ; \
+- rm Makefile ; \
++ rm -f Makefile ; \
+ fi
+
+ clean_ft2:
+@@ -267,29 +233,34 @@ clean_ft2:
+ if [ -e ./config.mk ]; then \
+ $(call info,CLEAN,freetype2) ; \
+ make clean > $(OUTPUT) ; \
+- rm config.mk ; \
++ rm -f config.mk ; \
+ fi
+
+-clean_klibc:
+- @cd $(LIBCSRC) ; \
+- $(call info,CLEAN,klibc) ; \
+- make clean > $(OUTPUT) 2>/dev/null
+-
+ install: all
+- @$(call info,INSTALL,$(SP_HELPER)) ; $(INSTALL_PROG) -D $(SP_HELPER) $(DESTDIR)$(sbindir)/$(SP_HELPER)
+- @$(call info,INSTALL,$(SP_UTIL)) ; $(INSTALL_PROG) -D $(SP_UTIL) $(DESTDIR)$(sbindir)/$(SP_UTIL)
+- @$(call info,INSTALL,$(SP_UTIL).static) ; $(INSTALL_PROG) -D $(SP_UTIL).static $(DESTDIR)$(sbindir)/$(SP_UTIL).static
++ @$(call info,INSTALL,$(SP_HELPER))
++ $(Q)$(INSTALL_PROG) -D $(SP_HELPER) $(DESTDIR)$(sbindir)/$(SP_HELPER)
++ @$(call info,INSTALL,$(SP_UTIL))
++ $(Q)$(INSTALL_PROG) -D $(SP_UTIL) $(DESTDIR)$(sbindir)/$(SP_UTIL)
++ @$(call info,INSTALL,$(SP_UTIL).static)
++ $(Q)$(INSTALL_PROG) -D $(SP_UTIL).static $(DESTDIR)$(sbindir)/$(SP_UTIL).static
+ @$(call install_script,$(SP_GIRAM))
+ @$(call install_script,$(SP_CONV))
+ @$(call install_script,$(SP_RESIZE))
+ @$(call install_script,$(SP_MNGR))
+
+ uninstall:
+- @$(call info,UNINSTALL,$(SP_HELPER)) ; rm $(sbindir)/$(SP_HELPER)
+- @$(call info,UNINSTALL,$(SP_UTIL)) ; rm $(sbindir)/$(SP_UTIL)
+- @$(call info,UNINSTALL,$(SP_UTIL).static) ; rm $(sbindir)/$(SP_UTIL).static
+- @$(call info,UNINSTALL,$(SP_GIRAM)) ; rm $(usrbindir)/$(SP_GIRAM)
+- @$(call info,UNINSTALL,$(SP_CONV)) ; rm $(usrbindir)/$(SP_CONV)
+- @$(call info,UNINSTALL,$(SP_RESIZE)) ; rm $(usrbindir)/$(SP_RESIZE)
+- @$(call info,UNINSTALL,$(SP_MNGR)) ; rm $(usrbindir)/$(SP_MNGR)
++ @$(call info,UNINSTALL,$(SP_HELPER))
++ $(Q)rm -f $(sbindir)/$(SP_HELPER)
++ @$(call info,UNINSTALL,$(SP_UTIL))
++ $(Q)rm -f $(sbindir)/$(SP_UTIL)
++ @$(call info,UNINSTALL,$(SP_UTIL).static)
++ $(Q)rm -f $(sbindir)/$(SP_UTIL).static
++ @$(call info,UNINSTALL,$(SP_GIRAM))
++ $(Q)rm -f $(usrbindir)/$(SP_GIRAM)
++ @$(call info,UNINSTALL,$(SP_CONV))
++ $(Q)rm -f $(usrbindir)/$(SP_CONV)
++ @$(call info,UNINSTALL,$(SP_RESIZE))
++ $(Q)rm -f $(usrbindir)/$(SP_RESIZE)
++ @$(call info,UNINSTALL,$(SP_MNGR))
++ $(Q)rm -f $(usrbindir)/$(SP_MNGR)
+
+diff -urpN splashutils-1.1.9.9/klibc_compat.h splashutils-1.1.9.9.klibc/klibc_compat.h
+--- splashutils-1.1.9.9/klibc_compat.h 1970-01-01 02:00:00.000000000 +0200
++++ splashutils-1.1.9.9.klibc/klibc_compat.h 2005-08-26 21:31:42.000000000 +0200
+@@ -0,0 +1,5 @@
++#ifndef __KLIBC_COMPAT_H__
++
++#define ferror(f) 0
++
++#endif /* __KLIBC_COMPAT_H__ */
diff --git a/media-gfx/splashutils/splashutils-1.1.9.8.ebuild b/media-gfx/splashutils/splashutils-1.1.9.8.ebuild
index 76426178e162..d50b03b884b8 100644
--- a/media-gfx/splashutils/splashutils-1.1.9.8.ebuild
+++ b/media-gfx/splashutils/splashutils-1.1.9.8.ebuild
@@ -1,6 +1,6 @@
# 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-1.1.9.8.ebuild,v 1.2 2005/07/18 20:21:21 spock Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-1.1.9.8.ebuild,v 1.3 2005/08/28 19:33:33 spock Exp $
inherit multilib linux-mod
@@ -29,7 +29,7 @@ SRC_URI="mirror://gentoo/${PN}-lite-${PV}.tar.bz2
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~x86 ~amd64 ~ppc"
+KEYWORDS="x86 ~amd64 ~ppc"
RDEPEND="truetype? ( >=media-libs/freetype-2 )
png? ( >=media-libs/libpng-1.2.7 )
>=media-libs/jpeg-6b
diff --git a/media-gfx/splashutils/splashutils-1.1.9.9-r1.ebuild b/media-gfx/splashutils/splashutils-1.1.9.9-r1.ebuild
new file mode 100644
index 000000000000..c315537d280f
--- /dev/null
+++ b/media-gfx/splashutils/splashutils-1.1.9.9-r1.ebuild
@@ -0,0 +1,199 @@
+# 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-1.1.9.9-r1.ebuild,v 1.1 2005/08/28 19:33:33 spock Exp $
+
+inherit eutils multilib linux-mod
+
+MISCSPLASH="miscsplashutils-0.1.3"
+GENTOOSPLASH="splashutils-gentoo-0.1.13"
+V_JPEG="6b"
+V_PNG="1.2.8"
+V_ZLIB="1.2.1"
+V_FT="2.1.9"
+
+IUSE="hardened png truetype kdgraphics"
+
+DESCRIPTION="Framebuffer splash utilities."
+HOMEPAGE="http://dev.gentoo.org/~spock/projects/gensplash/"
+SRC_URI="mirror://gentoo/${PN}-lite-${PV}.tar.bz2
+ mirror://gentoo/${GENTOOSPLASH}.tar.bz2
+ mirror://gentoo/${MISCSPLASH}.tar.bz2
+ mirror://sourceforge/libpng/libpng-${V_PNG}.tar.bz2
+ ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v${V_JPEG}.tar.gz
+ mirror://sourceforge/freetype/freetype-${V_FT}.tar.bz2
+ http://www.gzip.org/zlib/zlib-${V_ZLIB}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~ppc"
+RDEPEND="truetype? ( >=media-libs/freetype-2 )
+ png? ( >=media-libs/libpng-1.2.7 )
+ >=media-libs/jpeg-6b
+ >=sys-apps/baselayout-1.9.4-r5
+ !media-gfx/bootsplash
+ media-gfx/fbgrab"
+DEPEND="${RDEPEND}
+ virtual/linux-sources
+ >=dev-libs/klibc-1.0.14-r1"
+
+S="${WORKDIR}/${P/_/-}"
+SG="${WORKDIR}/${GENTOOSPLASH}"
+SM="${WORKDIR}/${MISCSPLASH}"
+
+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 splash kernel helper."
+ fi
+}
+
+spl_conf() {
+ sed -i -re "s/#.* $2([^_].*|$)//g" ${S}/config.h
+
+ if [[ "$1" == "yes" ]]; then
+ echo "#define $2 1" >> ${S}/config.h
+ else
+ echo "#undef $2" >> ${S}/config.h
+ fi
+}
+
+spl_conf_use() {
+ if use $1; then
+ spl_conf yes $2
+ else
+ spl_conf no $2
+ fi
+}
+
+pkg_setup() {
+ check_kernel_built
+}
+
+src_unpack() {
+ unpack ${A}
+ ln -s ${KV_DIR} ${S}/linux
+
+ mv ${WORKDIR}/{libpng-${V_PNG},jpeg-${V_JPEG},zlib-${V_ZLIB},freetype-${V_FT}} ${S}/libs
+ # We need to delete the Makefile and let it be rebuilt when splashutils
+ # is being configured. Either that, or we end up with a segfaulting kernel
+ # helper.
+ rm ${S}/libs/zlib-${V_ZLIB}/Makefile
+
+ cd ${S}
+ epatch ${FILESDIR}/${P}-external-klibc.patch
+
+ # Check whether the kernel tree has been patched with fbsplash.
+ if [[ ! -e ${KV_DIR}/include/linux/console_splash.h ]]; then
+ ewarn "Your kernel in ${KV_DIR} has not been patched with a compatible version"
+ ewarn "of fbsplash. You can download the latest patch from http://dev.gentoo.org/~spock/"
+ echo ""
+ ewarn "Splashutils will be compiled without fbsplash support. Verbose mode will not"
+ ewarn "be supported."
+ spl_conf no CONFIG_FBSPLASH
+ else
+ spl_conf yes CONFIG_FBSPLASH
+ fi
+
+ # This should make splashutils compile on systems with hardened GCC.
+ sed -e 's@K_CFLAGS =@K_CFLAGS = -fno-stack-protector@' -i ${S}/Makefile
+
+ mkdir ${S}/kernel
+
+ # Use tty16 as the default silent tty.
+ sed -i -e 's/#define TTY_SILENT.*/#define TTY_SILENT 16/' ${S}/splash.h
+}
+
+src_compile() {
+ spl_conf_use png CONFIG_PNG
+ spl_conf_use truetype CONFIG_TTF
+ spl_conf_use truetype CONFIG_TTF_KERNEL
+ spl_conf_use kdgraphics CONFIG_SILENT_KD_GRAPHICS
+ sed -i -e "s/^CFLAGS[ \t]*=.*/CFLAGS = ${CFLAGS}/" Makefile
+ LIBCSRC="libs/klibc-${V_KLIBC}/klibc" \
+ || die "failed to build splashutils"
+
+ cd ${SM}
+ emake LIB=$(get_libdir) || die "failed to build miscsplashutils"
+ cd ${S}
+ emake -j1 LIB=$(get_libdir) || die "failed to build splashutils"
+}
+
+src_install() {
+ cd ${SM}
+ make DESTDIR=${D} install || die
+
+ cd ${S}
+ make DESTDIR=${D} install || die
+
+ keepdir /lib/splash/{tmp,cache,bin}
+ dosym /lib/splash/bin/fbres /sbin/fbres
+
+ dodir /etc/env.d
+ echo 'CONFIG_PROTECT_MASK="/etc/splash"' > ${D}/etc/env.d/99splash
+
+ exeinto /sbin
+ doexe ${SG}/splash
+
+ exeinto /etc/init.d
+ newexe ${SG}/init-splash splash
+
+ insinto /usr/share/${PN}
+ doins ${SG}/initrd.splash
+
+ insinto /sbin
+ doins ${SG}/splash-functions.sh
+
+ insinto /etc/conf.d
+ newins ${SG}/splash.conf splash
+
+ insinto /etc/splash
+ doins ${SM}/fbtruetype/luxisri.ttf
+
+ dodoc docs/* README AUTHORS
+}
+
+pkg_postinst() {
+ ebegin "Checking whether /dev/tty1 is in place"
+ mount --bind / ${T}
+
+ if [[ ! -c ${T}/dev/tty1 ]]; then
+ eend 1
+ ewarn "It appears that the /dev/tty1 character device doesn't exist on"
+ ewarn "the root filesystem. This will prevent the silent mode from working"
+ ewarn "properly. You can fix the problem by doing:"
+ ewarn " mount --bind / /lib/splash/tmp"
+ ewarn " mknod /lib/splash/tmp/dev/tty1 c 4 1"
+ ewarn " umount /lib/splash/tmp"
+ echo ""
+ else
+ eend 0
+ fi
+ umount ${T}
+
+ if has_version sys-fs/devfsd || ! has_version sys-fs/udev ; then
+ ewarn "This package has been designed with udev in mind. Other solutions, such as"
+ ewarn "devfs or a static /dev tree might work, but are generally discouraged and"
+ ewarn "not supported. If you decice to switch to udev, you might want to have a"
+ ewarn "look at 'The Gentoo udev Guide', which can be found at"
+ ewarn " http://www.gentoo.org/doc/en/udev-guide.xml"
+ echo ""
+ fi
+
+ ewarn "If you're upgrading from a pre-1.0 splashutils version, make sure that you"
+ ewarn "rebuild your initrds. You can use the splash_geninitramfs script to do that."
+ echo ""
+ ewarn "It is required that you add 'quiet CONSOLE=/dev/tty1' to your kernel"
+ ewarn "command line parameters."
+ echo ""
+ einfo "After these modifications, the relevant part of the kernel command"
+ einfo "line might look like:"
+ einfo " splash=silent,fadein,theme:emergence quiet CONSOLE=/dev/tty1"
+ echo ""
+ einfo "The sample Gentoo themes (emergence, gentoo) have been removed from the"
+ einfo "core splashutils package. To get some themes you might want to emerge:"
+ einfo " media-gfx/splash-themes-livecd"
+ einfo " media-gfx/splash-themes-gentoo"
+ echo ""
+}