diff options
author | Michael Januszewski <spock@gentoo.org> | 2005-08-28 19:33:33 +0000 |
---|---|---|
committer | Michael Januszewski <spock@gentoo.org> | 2005-08-28 19:33:33 +0000 |
commit | d3d1c9e8384ee432fc8c84dc72b463c671594ced (patch) | |
tree | ff55acb8f8359f84b10fd2ab7f71c018e292cdc9 /media-gfx | |
parent | Added this application to media-optical herd and myself as maintainer. (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | media-gfx/splashutils/files/digest-splashutils-1.1.9.9-r1 | 7 | ||||
-rw-r--r-- | media-gfx/splashutils/files/splashutils-1.1.9.9-external-klibc.patch | 297 | ||||
-rw-r--r-- | media-gfx/splashutils/splashutils-1.1.9.8.ebuild | 4 | ||||
-rw-r--r-- | media-gfx/splashutils/splashutils-1.1.9.9-r1.ebuild | 199 |
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 "" +} |