summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/splashutils/splashutils-1.5.4.4.ebuild')
-rw-r--r--media-gfx/splashutils/splashutils-1.5.4.4.ebuild227
1 files changed, 227 insertions, 0 deletions
diff --git a/media-gfx/splashutils/splashutils-1.5.4.4.ebuild b/media-gfx/splashutils/splashutils-1.5.4.4.ebuild
new file mode 100644
index 000000000000..c822586ef7fd
--- /dev/null
+++ b/media-gfx/splashutils/splashutils-1.5.4.4.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-1.5.4.4.ebuild,v 1.1 2011/06/12 22:40:01 spock Exp $
+
+EAPI="2"
+
+inherit autotools eutils multilib toolchain-funcs
+
+MISCSPLASH="miscsplashutils-0.1.8"
+GENTOOSPLASH="splashutils-gentoo-1.0.17"
+V_JPEG="8a"
+V_PNG="1.4.3"
+V_ZLIB="1.2.3"
+V_FT="2.3.12"
+
+ZLIBSRC="libs/zlib-${V_ZLIB}"
+LPNGSRC="libs/libpng-${V_PNG}"
+JPEGSRC="libs/jpeg-${V_JPEG}"
+FT2SRC="libs/freetype-${V_FT}"
+
+RESTRICT="test"
+IUSE="hardened +png +truetype +mng gpm fbcondecor"
+
+DESCRIPTION="Framebuffer splash utilities."
+HOMEPAGE="http://fbsplash.berlios.de"
+SRC_URI="mirror://berlios/fbsplash/${PN}-lite-${PV}.tar.bz2
+ mirror://berlios/fbsplash/${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="~amd64 ~ppc ~x86"
+RDEPEND="gpm? ( sys-libs/gpm )
+ truetype? ( >=media-libs/freetype-2 )
+ png? ( >=media-libs/libpng-1.4.3[static-libs] )
+ mng? (
+ media-libs/lcms:0[static-libs]
+ || ( media-libs/libmng[static-libs] <media-libs/libmng-1.0.10-r1 )
+ )
+ virtual/jpeg[static-libs]
+ >=sys-apps/baselayout-1.9.4-r5
+ app-arch/cpio
+ media-gfx/fbgrab
+ !sys-apps/lcdsplash"
+DEPEND="${RDEPEND}
+ >=dev-libs/klibc-1.5
+ dev-util/pkgconfig"
+
+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
+}
+
+src_prepare() {
+ 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}"
+ ln -sf "${S}/src" "${WORKDIR}/core"
+
+ if ! tc-is-cross-compiler && \
+ has_version "sys-devel/gcc:$(gcc-version)[vanilla]" ; then
+ ewarn "Your GCC was built with the 'vanilla' flag set. If you can't compile"
+ ewarn "splashutils, you're on your own, as this configuration is not supported."
+ else
+ # This should make splashutils compile on systems with hardened GCC.
+ sed -e 's@K_CFLAGS =@K_CFLAGS = -fno-stack-protector@' -i "${S}/Makefile.in"
+ fi
+
+ if ! use truetype ; then
+ sed -i -e 's/fbtruetype kbd/kbd/' "${SM}/Makefile"
+ fi
+
+ # Latest version of klibc defined its own version of ferror, so there is
+ # not need for the hack in klibc_compat.h
+ if has_version ">=dev-libs/klibc-1.5.20"; then
+ echo > "libs/klibc_compat.h"
+ fi
+
+ rm -f m4/*
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ cd "${SM}"
+ emake CC="${CC}" LIB=$(get_libdir) STRIP=true || die "failed to build miscsplashutils"
+
+ cd "${S}"
+ econf \
+ $(use_with png) \
+ $(use_with mng) \
+ $(use_with gpm) \
+ $(use_with truetype ttf) \
+ $(use_with truetype ttf-kernel) \
+ $(use_enable fbcondecor) \
+ --docdir=/usr/share/doc/${PF} \
+ --with-freetype2-src=${FT2SRC} \
+ --with-jpeg-src=${JPEGSRC} \
+ --with-lpng-src=${LPNGSRC} \
+ --with-zlib-src=${ZLIBSRC} \
+ --with-essential-libdir=/$(get_libdir) || die "failed to configure splashutils"
+}
+
+src_compile() {
+ emake CC="${CC}" STRIP="true" || die "failed to build splashutils"
+
+ if has_version ">=sys-apps/baselayout-1.13.99"; then
+ cd "${SG}"
+ emake LIB=$(get_libdir) || die "failed to build the splash plugin"
+ fi
+}
+
+src_install() {
+ local LIB=$(get_libdir)
+
+ cd "${SM}"
+ make DESTDIR="${D}" LIB=${LIB} install || die
+
+ cd "${S}"
+ make DESTDIR="${D}" STRIP="true" install || die
+
+ mv "${D}"/usr/${LIB}/libfbsplash.so* "${D}"/${LIB}/
+ gen_usr_ldscript libfbsplash.so
+
+ echo 'CONFIG_PROTECT_MASK="/etc/splash"' > 99splash
+ doenvd 99splash
+
+ if use fbcondecor ; then
+ newinitd "${SG}"/init-fbcondecor fbcondecor
+ newconfd "${SG}"/fbcondecor.conf fbcondecor
+ fi
+ newconfd "${SG}"/splash.conf splash
+
+ insinto /usr/share/${PN}
+ doins "${SG}"/initrd.splash
+
+ insinto /etc/splash
+ doins "${SM}"/fbtruetype/luxisri.ttf
+
+ if has_version ">=sys-apps/baselayout-1.13.99"; then
+ cd "${SG}"
+ make DESTDIR="${D}" LIB=${LIB} install || die "failed to install the splash plugin"
+ else
+ cp "${SG}"/splash-functions-bl1.sh "${D}"/sbin/
+ fi
+
+ sed -i -e "s#/lib/splash#/${LIB}/splash#" "${D}"/sbin/splash-functions.sh
+ keepdir /${LIB}/splash/{tmp,cache,bin,sys}
+ dosym /${LIB}/splash/bin/fbres /sbin/fbres
+}
+
+pkg_preinst() {
+ has_version "<${CATEGORY}/${PN}-1.0"
+ previous_less_than_1_0=$?
+
+ has_version "<${CATEGORY}/${PN}-1.5.3"
+ previous_less_than_1_5_3=$?
+}
+
+pkg_postinst() {
+ if has_version sys-fs/devfsd || ! has_version sys-fs/udev ; then
+ elog "This package has been designed with udev in mind. Other solutions, such as"
+ elog "devfs or a static /dev tree might work, but are generally discouraged and"
+ elog "not supported. If you decide to switch to udev, you might want to have a"
+ elog "look at 'The Gentoo udev Guide', which can be found at"
+ elog " http://www.gentoo.org/doc/en/udev-guide.xml"
+ elog ""
+ fi
+
+ if [[ $previous_less_than_1_0 = 0 ]] ; then
+ elog "Since you are upgrading from a pre-1.0 version, please make sure that you"
+ elog "rebuild your initrds. You can use the splash_geninitramfs script to do that."
+ elog ""
+ fi
+
+ if [[ $previous_less_than_1_5_3 = 0 ]] && ! use fbcondecor ; then
+ elog "Starting with splashutils-1.5.3, support for the fbcondecor kernel patch"
+ elog "is optional and dependent on the the 'fbcondecor' USE flag. If you wish"
+ elog "to use fbcondecor, run:"
+ elog " echo \"media-gfx/splashutils fbcondecor\" >> /etc/portage/package.use"
+ elog "and re-emerge splashutils."
+ fi
+
+ if ! test -f /proc/cmdline ||
+ ! egrep -q '(console=tty1|CONSOLE=/dev/tty1)' /proc/cmdline ; then
+ elog "It is required that you add 'console=tty1' to your kernel"
+ elog "command line parameters."
+ elog ""
+ elog "After these modifications, the relevant part of the kernel command"
+ elog "line might look like:"
+ elog " splash=silent,fadein,theme:emergence console=tty1"
+ elog ""
+ fi
+
+ if ! has_version 'media-gfx/splash-themes-livecd' &&
+ ! has_version 'media-gfx/splash-themes-gentoo'; then
+ elog "The sample Gentoo themes (emergence, gentoo) have been removed from the"
+ elog "core splashutils package. To get some themes you might want to emerge:"
+ elog " media-gfx/splash-themes-livecd"
+ elog " media-gfx/splash-themes-gentoo"
+ fi
+
+ elog "Please note that the 'fbsplash' kernel patch has now been renamed to"
+ elog "'fbcondecor'. Accordingly, the old 'splash' initscript is now called"
+ elog "'fbcondecor'. Make sure you update your system. See:"
+ elog " http://dev.gentoo.org/~spock/projects/fbcondecor/#history"
+ elog "for further info about the name changes."
+ elog ""
+ elog "Also note that splash_util has now been split into splash_util, fbsplashd"
+ elog "and fbcondecor_ctl."
+}