media-gfx/splashutils: delete

mhiretskiy
Alexander Tratsevskiy 5 years ago
parent 0ee409a98a
commit c2e5d790bc

@ -1,7 +0,0 @@
DIST freetype-2.3.12.tar.bz2 1453034 SHA256 3b96438f016a62b676c1d2089c00ca777f710d19f6aefa66ccf068d360db3e92 SHA512 becb0f138ee13181513d3f03b943f0a474e492cab151992fa78d0c84127819dc91ec6d2bd1528af7e111ab150b3a29104f2f7ab79650cebc35ce4d966b19f34b WHIRLPOOL 1a7363b8e1cc1b4597077e6cdf7e978b80cc76e1428124312d139ee81fe5247eed5ec0243352b721c28a25a179bceb901700d0766c1a5110b19f8fe53c303a89
DIST jpegsrc.v8a.tar.gz 962018 SHA256 bf86a5eaafa79b5d60feb27bee08df2db4c9ca2fb40d453e7a2080f7663a713b SHA512 4020e82e16b99189b1a50bad18b09616775559740b94a988692aa33f9302d4b5abe3ccaa30895b49e6950fb3d9a830deeb7df750d128ec5c7e1844583db4524d WHIRLPOOL 46e0c98f30c8d975b85b8e86b69e9c5c64632f579502b1b3c54902706d7e08b86582a85b49a0d3bfffd03cd90946fbd20171324504a5ff521eb89e6ce11d568b
DIST libpng-1.4.3.tar.bz2 658335 SHA256 2b022f39f4788505ad62a4b1f4a33286228d544719680da40f3626393ecde4a2 SHA512 aaa137ebc2312805d58caf19702d24a34ee81593d4250c4e807ce66ba7edb829926919cd0a2b0e5975421451c8eb6674798c06dbaf745175b16c9d3c92b63f61 WHIRLPOOL d383e01e6080166816991650183b47d15938aa269c0a85e234846b9c5a7ec04a1ba7620779b4ddae639ca64440772ce8dd1b3a596f6eb32124c4d6c55592fb0a
DIST miscsplashutils-0.1.8.tar.bz2 91997 SHA256 38e8434c7266126477237c4d9e6cbeca152089ab33c14a7761089b7970f8d336 SHA512 fa017e264249feda45839030728e90c82f775354c3f2c29a88362938c4a31b19e6d61f967512305642f8b96575f4d756ba197e672a361760e40080c23ec0442a WHIRLPOOL c418ee425bf323fc0e00388be4547232207fd6cac10a2e8cafeef8c8aabcd014052307533bd015e61dc483ab45edd9fbd59a3005549b7bee4a4b90bf3297394a
DIST splashutils-gentoo-1.0.17.tar.bz2 15814 SHA256 6877263d0b6f5a3532db0d6a531cd4d41fbc6c45a16c5d10050e9048ecc1af81 SHA512 75f1fbfdf165f571b0bf09235235827f370e1b940f1717c4faf5b223caba0b80f853a910ba492c776512aecfafa6e74fd964239bbc6cf412620143d5ffc74167 WHIRLPOOL de9e1ca86a87c169f0a2f7844ab9a68b29cc46c208daca4d13cf7d552b35c05b6e266d66724078cf1f6eea3d41496fdf4fd7b3219697b2032520ad2b9a5ec5c9
DIST splashutils-lite-1.5.4.4.tar.bz2 441340 SHA256 bc0e22293d4550281d2289672da3acb42594c18a75b9d00ba75526e05162ec6b SHA512 1a78216a1de1fdccff514494d7301640e447c65466e1fe02428e5114485507f67fe4394094880d927d074a8ab2d9c786ba03f9fb0371eb7ab6ef4e3b01aa4613 WHIRLPOOL f861a1673fd9e1fe32e417da48be8c472c5c3cc06844eb0886a66b498ca38cb04a6e51708821eefe3e15f66004bb6a4ef76df7242643b34090035bffdf1f87d7
DIST zlib-1.2.3.tar.bz2 425209 SHA256 e3b9950851a19904d642c4dec518623382cf4d2ac24f70a76510c944330d28ca SHA512 edae735960279d92acf58e1f4095c6392a7c2059b8f1d2c46648fc608a0fb06b392db2d073f4973f5762c034ea66596e769b95b3d26ad963a086b9b2d09825f2 WHIRLPOOL e874b123296f5d77daf60617501b30f4beebccb64b3910c2539f75f6c194a2cf4885dc7a3904bf790e1651120ec33b55c48e95970dd6bfd6c4d0a2ea48d7d0f4

@ -1,15 +0,0 @@
=== modified file 'fbtruetype/Makefile'
--- fbtruetype/Makefile 2011-10-01 14:10:17 +0000
+++ fbtruetype/Makefile 2011-10-01 14:15:02 +0000
@@ -23,8 +23,8 @@
OBJECTS = fbtruetype.o messages.o console.o ttf.o luxisri.o
LDFLAGS += -L$(LIBDIR)
-LIBSS = $(LIBDIR)/libfreetype.a $(LIBDIR)/libz.a -lm
-LIBSD = -lfreetype -lm
+LIBSS = $(shell pkg-config freetype2 --libs --static) -lm
+LIBSD = $(shell pkg-config freetype2 --libs) -lm
CFLAGS += -I/usr/include/freetype2
COMPILE = $(CC) $(CFLAGS)

@ -1,42 +0,0 @@
Gentoo-bug: https://bugs.gentoo.org/506124
Signed-off-by: Lars Wendler (Polynomial-C)
Modified-by: Sergey Popov (Pinkbyte)
--- miscsplashutils-0.1.8/fbtruetype/ttf.c
+++ miscsplashutils-0.1.8/fbtruetype/ttf.c
@@ -13,8 +13,8 @@
#include <ft2build.h>
#include FT_FREETYPE_H
/* #include <freetype/freetype.h> */
-#include <freetype/ftoutln.h>
-#include <freetype/ttnameid.h>
+#include FT_OUTLINE_H
+#include FT_TRUETYPE_IDS_H
#include "ttf.h"
--- splashutils-1.5.4.4/src/ttf.c 2015-02-01 11:35:04.330595381 +0300
+++ splashutils-1.5.4.4/src/ttf.c 2015-02-01 11:35:24.287596342 +0300
@@ -25,8 +25,8 @@
#include <assert.h>
#include <ft2build.h>
-#include <freetype/ftoutln.h>
-#include <freetype/ttnameid.h>
+#include FT_OUTLINE_H
+#include FT_TRUETYPE_IDS_H
#include "common.h"
#include "render.h"
--- splashutils-1.5.4.4/src/ttf.h 2015-02-01 11:38:33.852605470 +0300
+++ splashutils-1.5.4.4/src/ttf.h 2015-02-01 11:38:52.504606368 +0300
@@ -1,8 +1,8 @@
#ifndef _TTF_H
#define _TTF_H
#include <ft2build.h>
-#include <freetype/ftoutln.h>
-#include <freetype/ttnameid.h>
+#include FT_OUTLINE_H
+#include FT_TRUETYPE_IDS_H
#define CACHED_METRICS 0x10
#define CACHED_BITMAP 0x01

@ -1,19 +0,0 @@
commit 74dda8291efae78f00bb781148c8fd4fccaeb764
Author: Michał Januszewski <spock@gentoo.org>
Date: Tue Jun 14 23:23:33 2011 +0200
Fix typo in the Gentoo initscript.
diff --git a/gentoo/init-fbcondecor b/gentoo/init-fbcondecor
index b66f40a..ce921b6 100755
--- a/gentoo/init-fbcondecor
+++ b/gentoo/init-fbcondecor
@@ -12,7 +12,7 @@ start() {
splash_setup
if [ -z "${FBCONDECOR_TTYS}" ]; then
- FBCONDECOR_TTYS=$(seq 1 "${rc_tty_number:-${RC_TTY_NUMBER}:-12}")
+ FBCONDECOR_TTYS=$(seq 1 "${rc_tty_number:-${RC_TTY_NUMBER:-12}}")
fi
local err=0

@ -1,381 +0,0 @@
diff -ru a/core/src/common.h b/core/src/common.h
--- a/core/src/common.h 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/common.h 2013-01-11 06:34:08.000000000 +0200
@@ -34,6 +34,10 @@
#define PATH_PROC FBSPLASH_DIR"/proc"
#endif
+/* Maximum number of keyboard connected to a machine.
+ * The number is big (8) to be on the safe side */
+#define MAX_KBDS 8
+
/* Useful short-named types */
typedef u_int8_t u8;
typedef u_int16_t u16;
diff -ru a/core/src/daemon.c b/core/src/daemon.c
--- a/core/src/daemon.c 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/daemon.c 2013-01-11 06:34:08.000000000 +0200
@@ -20,6 +20,7 @@
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <sys/mman.h>
+#include <sys/select.h>
#include <pthread.h>
#include <errno.h>
#include <dirent.h>
@@ -29,6 +30,8 @@
#include "common.h"
#include "daemon.h"
+#define EV_BUF_SIZE 8
+
/* Threading structures */
pthread_mutex_t mtx_tty = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t mtx_paint = PTHREAD_MUTEX_INITIALIZER;
@@ -41,7 +44,8 @@
int ctty = CTTY_VERBOSE;
/* File descriptors */
-int fd_evdev = -1;
+int fd_evdevs[MAX_KBDS];
+int evdev_count = 0;
#ifdef CONFIG_GPM
int fd_gpm = -1;
#endif
@@ -51,7 +55,6 @@
/* Misc settings */
char *notify[2];
-char *evdev = NULL;
/* Service list */
list svcs = { NULL, NULL };
@@ -400,56 +403,83 @@
}
}
+__u16 get_ev_key_pressed(int fd_evdev, int ev_buf_size,
+ struct input_event *ev_buf) {
+ size_t rb;
+ int i;
+ rb = read(fd_evdev, ev_buf, sizeof(struct input_event) * ev_buf_size);
+ if (rb < (int) sizeof(struct input_event))
+ return 0;
+
+ for (i = 0; i < (int) (rb / sizeof(struct input_event)); i++) {
+ if (ev_buf[i].type != EV_KEY || ev_buf[i].value != 0)
+ continue;
+ return ev_buf[i].code;
+ }
+}
+
/*
* Event device monitor thread.
*/
void* thf_switch_evdev(void *unused)
{
- int i, h, oldstate;
- size_t rb;
- struct input_event ev[8];
+ int i, h, oldstate, nfds, retval, fd_evdev;
+ fd_set rfds;
+ struct input_event ev_buf[EV_BUF_SIZE];
+ __u16 key_pressed = 0;
while (1) {
- rb = read(fd_evdev, ev, sizeof(struct input_event)*8);
- if (rb < (int) sizeof(struct input_event))
- continue;
+ nfds = 0, fd_evdev = -1;
+ FD_ZERO(&rfds);
+ for (i = 0;i < evdev_count;i++) {
+ FD_SET(fd_evdevs[i], &rfds);
+ nfds = max(nfds, fd_evdevs[i]);
+ }
- for (i = 0; i < (int) (rb / sizeof(struct input_event)); i++) {
- if (ev[i].type != EV_KEY || ev[i].value != 0)
- continue;
+ nfds++;
- switch (ev[i].code) {
- case KEY_F2:
- pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate);
- pthread_mutex_lock(&mtx_paint);
- if (ctty == CTTY_SILENT) {
- h = config.tty_v;
- } else {
- h = config.tty_s;
+ retval = select(nfds, &rfds, NULL, NULL, NULL);
+ if (retval == -1)
+ perror("select()");
+ else if (retval) {
+ for (i = 0;i < evdev_count;i++) {
+ if (FD_ISSET(fd_evdevs[i], &rfds)) {
+ fd_evdev = fd_evdevs[i];
+ break;
}
- pthread_mutex_unlock(&mtx_paint);
- pthread_setcancelstate(oldstate, NULL);
+ }
+ key_pressed = get_ev_key_pressed(fd_evdev, EV_BUF_SIZE, ev_buf);
+ if (key_pressed == -1)
+ continue;
+ switch (key_pressed) {
+ case KEY_F2:
+ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate);
+ pthread_mutex_lock(&mtx_paint);
+ h = (ctty == CTTY_SILENT) ? config.tty_v : config.tty_s;
+ pthread_mutex_unlock(&mtx_paint);
+ pthread_setcancelstate(oldstate, NULL);
+
+ /* Switch to the new tty. This ioctl has to be done on
+ * the silent tty. Sometimes init will mess with the
+ * settings of the verbose console which will prevent
+ * console switching from working properly.
+ *
+ * Don't worry about fd_tty[config.tty_s]
+ * not being protected by a mutex --
+ * this thread is always killed before any changes
+ * are made to fd_tty[config.tty_s].
+ */
+ ioctl(fd_tty[config.tty_s], VT_ACTIVATE, h);
+ break;
- /* Switch to the new tty. This ioctl has to be done on
- * the silent tty. Sometimes init will mess with the
- * settings of the verbose console which will prevent
- * console switching from working properly.
- *
- * Don't worry about fd_tty[config.tty_s] not being protected by a
- * mutex -- this thread is always killed before any changes
- * are made to fd_tty[config.tty_s].
- */
- ioctl(fd_tty[config.tty_s], VT_ACTIVATE, h);
- break;
-
- case KEY_F3:
- config.textbox_visible = !config.textbox_visible;
- invalidate_textbox(theme, config.textbox_visible);
- cmd_paint(NULL);
- break;
+ case KEY_F3:
+ config.textbox_visible = !config.textbox_visible;
+ invalidate_textbox(theme, config.textbox_visible);
+ cmd_paint(NULL);
+ break;
}
- }
- }
+ } /* end of else if (retval) */
+ } /* end of while(1) */
pthread_exit(NULL);
}
@@ -519,7 +549,7 @@
/* Do we have to start a monitor thread? */
if (update & UPD_MON) {
- if (fd_evdev != -1) {
+ if (evdev_count >= 0) {
if (pthread_create(&th_switchmon, NULL, &thf_switch_evdev, NULL)) {
iprint(MSG_ERROR, "Evdev monitor thread creation failed.\n");
exit(3);
diff -ru a/core/src/daemon.h b/core/src/daemon.h
--- a/core/src/daemon.h 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/daemon.h 2013-01-11 06:34:08.000000000 +0200
@@ -40,13 +40,13 @@
extern int fd_tty_s, fd_tty1, fd_tty0;
/*
- * Event device on which the daemon listens for F2 keypresses.
- * The proper device has to be detected by an external program and
+ * Event devices on which the daemon listens for F2 keypresses.
+ * The proper devices have to be detected by an external program and
* then enabled by sending an appropriate command to the splash
* daemon.
*/
-extern int fd_evdev;
-extern char *evdev;
+extern int fd_evdevs[];
+extern int evdev_count;
#ifdef CONFIG_GPM
#include <gpm.h>
diff -ru a/core/src/daemon_cmd.c b/core/src/daemon_cmd.c
--- a/core/src/daemon_cmd.c 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/daemon_cmd.c 2013-01-11 06:34:08.000000000 +0200
@@ -239,18 +239,35 @@
*/
int cmd_set_event_dev(void **args)
{
- if (evdev)
- free(evdev);
-
- evdev = strdup(args[0]);
+ char *evdevs;
+ char *evdev;
+ int i, j, fd_evdev = -1;
pthread_cancel(th_switchmon);
+ for (i = 0;i < evdev_count;i++) {
+ close(fd_evdevs[i]);
+ }
+ evdevs = strdup(args[1]);
+ evdev_count = *(int*)args[0];
+ j = 0;
+ for (i = 0;i < evdev_count;i++, evdevs = NULL) {
+ evdev = strtok(evdevs, ",");
+ fd_evdev = open(evdev, O_RDONLY);
+ if (fd_evdev != -1) {
+ fd_evdevs[j] = fd_evdev;
+ j++;
+ } else {
+ perror("failed to open event device");
+ }
+ }
+ if (j == 0) { /* all input devices failed to open */
+ evdev_count = -1;
+ free(evdevs);
+ return -1;
+ }
- if (fd_evdev != -1)
- close(fd_evdev);
-
- fd_evdev = open(evdev, O_RDONLY);
-
+ evdev_count = j;
+ free(evdevs);
switchmon_start(UPD_MON, config.tty_s);
return 0;
@@ -524,8 +541,8 @@
{ .cmd = "set event dev",
.handler = cmd_set_event_dev,
- .args = 1,
- .specs = "s"
+ .args = 2,
+ .specs = "ds"
},
{ .cmd = "set message",
@@ -628,7 +645,7 @@
continue;
for (j = 0; j < known_cmds[i].args; j++) {
- for (; buf[k] == ' '; buf[k] = 0, k++);
+ for (; buf[k] == ' '; buf[k] = '\0', k++);
if (!buf[k]) {
args[j] = NULL;
continue;
diff -ru a/core/src/libfbsplash.c b/core/src/libfbsplash.c
--- a/core/src/libfbsplash.c 2013-01-11 06:35:35.000000000 +0200
+++ b/core/src/libfbsplash.c 2013-01-11 06:34:08.000000000 +0200
@@ -588,6 +588,8 @@
return -1;
}
+#define EVDV_BUF_LEN 128
+
/**
* Try to set the event device for the splash daemon.
*
@@ -595,10 +597,14 @@
*/
int fbsplash_set_evdev(void)
{
- char buf[128];
+ char buf[EVDV_BUF_LEN];
+ char evdev_devs[EVDV_BUF_LEN * MAX_KBDS];
FILE *fp;
int i, j;
-
+ int kbd_count;
+ int max_chars, chars_left, dev_path_len;
+ char dev_path[] = PATH_DEV "/input/";
+ dev_path_len = strlen(dev_path);
char *evdev_cmds[] = {
"/bin/grep -Hsi keyboard " PATH_SYS "/class/input/input*/name | /bin/sed -e 's#.*input\\([0-9]*\\)/name.*#event\\1#'",
"/bin/grep -Hsi keyboard " PATH_SYS "/class/input/event*/device/driver/description | /bin/grep -o 'event[0-9]\\+'",
@@ -608,22 +614,43 @@
/* Try to activate the event device interface so that F2 can
* be used to switch from verbose to silent. */
- buf[0] = 0;
- for (i = 0; i < sizeof(evdev_cmds)/sizeof(char*); i++) {
+ buf[0] = '\0';
+ kbd_count = 0;
+ max_chars = sizeof(evdev_devs) / sizeof(char*);
+ chars_left = max_chars - 1;
+ evdev_devs[0] = '\0';
+ for (i = 0; i < sizeof(evdev_cmds) / sizeof(char*); i++) {
fp = popen(evdev_cmds[i], "r");
if (fp) {
- fgets(buf, 128, fp);
- if ((j = strlen(buf)) > 0) {
- if (buf[j-1] == '\n')
- buf[j-1] = 0;
- break;
+ while (fgets(buf, 128, fp) && kbd_count < MAX_KBDS) {
+ if ((j = strlen(buf)) > 0) {
+ if (buf[j-1] == '\n')
+ buf[j-1] = ',';
+ if (chars_left < (j + dev_path_len)) {
+ break;
+ }
+ kbd_count++;
+ strncat(evdev_devs, dev_path, chars_left);
+ chars_left -= dev_path_len;
+ strncat(evdev_devs, buf, chars_left);
+ chars_left -= j;
+ }
+ }
+ /* replace the last ',' with '\n' */
+ if (chars_left > 0 && evdev_devs[0] != '\0') {
+ j = strlen(evdev_devs);
+ if (j > 2) {
+ evdev_devs[j - 1] = '\n';
+ }
}
pclose(fp);
}
+ if (kbd_count > 0)
+ break;
}
- if (buf[0] != 0) {
- fbsplash_send("set event dev " PATH_DEV "/input/%s\n", buf);
+ if (evdev_devs[0] != '\0') {
+ fbsplash_send("set event dev %d %s", kbd_count, evdev_devs);
return 0;
} else {
return -1;
@@ -661,6 +688,8 @@
return 0;
}
+#define MAX_CMD 2048
+
/**
* Send stuff to the splash daemon using the splash FIFO.
*
@@ -668,7 +697,7 @@
*/
int fbsplash_send(const char *fmt, ...)
{
- char cmd[256];
+ char cmd[MAX_CMD];
va_list ap;
if (!fp_fifo) {
@@ -690,7 +719,7 @@
}
va_start(ap, fmt);
- vsnprintf(cmd, 256, fmt, ap);
+ vsnprintf(cmd, MAX_CMD, fmt, ap);
va_end(ap);
fprintf(fp_fifo, cmd);

@ -1,12 +0,0 @@
--- splashutils-1.5.4.4/src/Makefile.am.orig 2011-06-13 01:43:39.000000000 +0400
+++ splashutils-1.5.4.4/src/Makefile.am 2015-08-09 23:37:23.191078543 +0300
@@ -119,7 +119,7 @@
fbsplash.h
libfbsplashrender_la_CFLAGS = $(AM_CFLAGS)
libfbsplashrender_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(libfbsplashrender_version)
-libfbsplashrender_la_LIBADD = libfbsplash.la
+libfbsplashrender_la_LIBADD =
libfbsplashrender_la_CFLAGS += $(JPEG_CFLAGS)
libfbsplashrender_la_LIBADD += $(JPEG_LIBS)

@ -1,8 +0,0 @@
--- splash.c 2011-06-13 04:45:59.000000000 +0700
+++ splash.c 2014-11-14 20:04:43.000000000 +0700
@@ -21,4 +21,5 @@
#include <sys/wait.h>
#include <sys/ioctl.h>
+#include <sys/queue.h>
#include <linux/kd.h>
#include <linux/fb.h>

@ -1,11 +0,0 @@
--- src/common.c.old 2018-02-25 22:23:32.382369471 +0800
+++ src/common.c 2018-02-25 22:23:02.236854316 +0800
@@ -19,6 +19,7 @@
#include <termios.h>
#include <sys/ioctl.h>
#include <sys/types.h>
+#include <sys/sysmacros.h>
#include <sys/mman.h>
#include <dirent.h>
#include <errno.h>

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>asaf.gery@gmail.com</email>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="fbcondecor">
Support for the fbcondecor kernel patch.
</flag>
<flag name="klibc">
Compile against <pkg>dev-libs/klibc</pkg>
</flag>
</use>
<upstream>
<remote-id type="sourceforge">freetype</remote-id>
</upstream>
</pkgmetadata>

@ -1,241 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
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 klibc +png +truetype gpm fbcondecor"
DESCRIPTION="Framebuffer splash utilities"
HOMEPAGE="https://sourceforge.net/projects/fbsplash.berlios/"
SRC_URI="
mirror://sourceforge/fbsplash.berlios/${PN}-lite-${PV}.tar.bz2
mirror://sourceforge/fbsplash.berlios/${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="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
RDEPEND="
gpm? ( sys-libs/gpm[static-libs(+)] )
truetype? (
>=media-libs/freetype-2[static-libs]
app-arch/bzip2[static-libs(+)]
sys-libs/zlib[static-libs(+)]
)
png? (
>=media-libs/libpng-1.4.3[static-libs]
sys-libs/zlib[static-libs(+)]
)
virtual/jpeg:0[static-libs]
app-arch/cpio
media-gfx/fbgrab
!sys-apps/lcdsplash
sys-apps/openrc"
DEPEND="${RDEPEND}
klibc? ( >=dev-libs/klibc-1.5 )
virtual/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 "${SG}"
epatch "${FILESDIR}/splashutils-1.5.4.4-gentoo-typo-fix.patch"
epatch "${FILESDIR}/splashutils-1.5.4.4-sys-queue.patch"
if use truetype ; then
cd "${SM}"
epatch "${FILESDIR}/splashutils-1.5.4.4-freetype-bz2.patch"
cd "${WORKDIR}"
epatch "${FILESDIR}/splashutils-1.5.4.4-ft25.patch"
fi
cd "${S}"
ln -sf "${S}/src" "${WORKDIR}/core"
#epatch "${FILESDIR}/${P}-bzip2.patch"
epatch "${FILESDIR}/${P}-multi-keyboard.patch"
# Bug #557126
epatch "${FILESDIR}/${P}-no-la.patch"
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/*
epatch_user
export PKG_CONFIG="pkg-config --static"
eautoreconf
epatch "${FILESDIR}"/splashutils-1.5.4.4-sysmacros.patch
}
src_configure() {
tc-export CC
cd "${SM}"
emake CC="${CC}" LIB=$(get_libdir) STRIP=true
cd "${S}"
econf \
$(use_with png) \
--without-mng \
$(use_with klibc) \
$(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)
}
src_compile() {
emake CC="${CC}" STRIP="true"
cd "${SG}"
emake LIB=$(get_libdir)
}
src_install() {
local LIB=$(get_libdir)
cd "${SM}"
emake DESTDIR="${D}" LIB=${LIB} install
cd "${S}"
emake DESTDIR="${D}" STRIP="true" install
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
cd "${SG}"
make DESTDIR="${D}" LIB=${LIB} install
prune_libtool_files
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 virtual/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 " https://wiki.gentoo.org/wiki/Udev"
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
}

@ -1 +0,0 @@
media-gfx/splashutils

@ -86,9 +86,6 @@ app-arch/unzip natspec
# enable mpeg2 codec for cutscenes
games-engines/scummvm mpeg2
# support for the fbcondecor kernel patch
media-gfx/splashutils fbcondecor
# support/bindings for the Python
media-gfx/gimp python

@ -1,13 +1,3 @@
# required by media-gfx/splashutils-1.5.4.4-r7
app-arch/bzip2 static-libs
app-misc/neofetch -X
media-libs/freetype static-libs
media-libs/libjpeg-turbo static-libs
media-libs/libpng static-libs
sys-libs/gpm static-libs
sys-libs/zlib static-libs
virtual/jpeg static-libs
# required by sys-apps/calculate-lib [python]
sys-apps/file python

Loading…
Cancel
Save