mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
new package: readd package 'plymouth-lite'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
56d2f6f50e
commit
53a09ee822
33
packages/initramfs/sysutils/plymouth-lite/build
Executable file
33
packages/initramfs/sysutils/plymouth-lite/build
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
# ensure we use size optimization.
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-O2|-Os|"`
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-O3|-Os|"`
|
||||
|
||||
LDFLAGS="$LDFLAGS -fwhole-program"
|
||||
|
||||
cd $PKG_BUILD
|
||||
|
||||
make
|
33
packages/initramfs/sysutils/plymouth-lite/install
Executable file
33
packages/initramfs/sysutils/plymouth-lite/install
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/bin
|
||||
cp $PKG_BUILD/ply-image $INSTALL/bin
|
||||
|
||||
mkdir -p $INSTALL/splash
|
||||
if [ -f $PROJECT_DIR/$PROJECT/splash/splash.png ]; then
|
||||
cp $PROJECT_DIR/$PROJECT/splash/splash.png $INSTALL/splash
|
||||
else
|
||||
cp $PKG_DIR/splash/splash.png $INSTALL/splash
|
||||
fi
|
36
packages/initramfs/sysutils/plymouth-lite/meta
Normal file
36
packages/initramfs/sysutils/plymouth-lite/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="plymouth-lite"
|
||||
PKG_VERSION="0.6.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.meego.com"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS="gcc-initramfs libpng-initramfs v86d"
|
||||
PKG_BUILD_DEPENDS="toolchain libpng"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="system"
|
||||
PKG_SHORTDESC="plymouth-lite: Boot splash screen based on Fedora's Plymouth code"
|
||||
PKG_LONGDESC="Boot splash screen based on Fedora's Plymouth code"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -0,0 +1,11 @@
|
||||
--- plymouth-lite-0.6.0/ply-image.c~ 2009-03-06 16:20:52.000000000 -0800
|
||||
+++ plymouth-lite-0.6.0/ply-image.c 2009-03-06 16:20:52.000000000 -0800
|
||||
@@ -439,7 +439,7 @@
|
||||
|
||||
exit_code = 0;
|
||||
|
||||
-// hide_cursor ();
|
||||
+ hide_cursor ();
|
||||
|
||||
if (argc == 1)
|
||||
image = ply_image_new ("/usr/share/plymouth/splash.png");
|
@ -0,0 +1,10 @@
|
||||
--- plymouth-lite-0.6.0/Makefile~ 2009-07-22 11:22:32.000000000 -0700
|
||||
+++ plymouth-lite-0.6.0/Makefile 2009-07-22 11:22:32.000000000 -0700
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
ply-image: ply-image.c ply-frame-buffer.c Makefile
|
||||
- gcc -O2 -march=core2 -mtune=generic -lm `pkg-config --cflags libpng12` `pkg-config --libs libpng12` ply-image.c ply-frame-buffer.c -o ply-image
|
||||
+ $(CC) $(CFLAGS) `pkg-config --cflags libpng` ply-image.c ply-frame-buffer.c -o ply-image -lm `pkg-config --libs libpng` -lm -lz
|
||||
|
||||
clean:
|
||||
rm -f ply-image *~ gmon.out
|
@ -0,0 +1,12 @@
|
||||
diff -Naur plymouth-lite-0.6.0/ply-image.c plymouth-lite-0.6.0.patch/ply-image.c
|
||||
--- plymouth-lite-0.6.0/ply-image.c 2009-02-19 12:16:36.000000000 +0100
|
||||
+++ plymouth-lite-0.6.0.patch/ply-image.c 2010-02-08 01:30:05.336856616 +0100
|
||||
@@ -220,7 +220,7 @@
|
||||
png_set_palette_to_rgb (png);
|
||||
|
||||
if ((color_type == PNG_COLOR_TYPE_GRAY) && (bits_per_pixel < 8))
|
||||
- png_set_gray_1_2_4_to_8 (png);
|
||||
+ png_set_expand_gray_1_2_4_to_8 (png);
|
||||
|
||||
if (png_get_valid (png, info, PNG_INFO_tRNS))
|
||||
png_set_tRNS_to_alpha (png);
|
@ -0,0 +1,110 @@
|
||||
diff -urN plymouth-lite-0.6.0/ply-frame-buffer.c plymouth-lite-0.6.0.change/ply-frame-buffer.c
|
||||
--- plymouth-lite-0.6.0/ply-frame-buffer.c 2009-02-19 19:14:24.000000000 +0800
|
||||
+++ plymouth-lite-0.6.0.change/ply-frame-buffer.c 2009-06-13 17:44:05.000000000 +0800
|
||||
@@ -47,41 +47,6 @@
|
||||
#define PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME "/dev/fb0"
|
||||
#endif
|
||||
|
||||
-struct _ply_frame_buffer
|
||||
-{
|
||||
- char *device_name;
|
||||
- int device_fd;
|
||||
-
|
||||
- char *map_address;
|
||||
- size_t size;
|
||||
-
|
||||
- uint32_t *shadow_buffer;
|
||||
-
|
||||
- uint32_t red_bit_position;
|
||||
- uint32_t green_bit_position;
|
||||
- uint32_t blue_bit_position;
|
||||
- uint32_t alpha_bit_position;
|
||||
-
|
||||
- uint32_t bits_for_red;
|
||||
- uint32_t bits_for_green;
|
||||
- uint32_t bits_for_blue;
|
||||
- uint32_t bits_for_alpha;
|
||||
-
|
||||
- int32_t dither_red;
|
||||
- int32_t dither_green;
|
||||
- int32_t dither_blue;
|
||||
-
|
||||
- unsigned int bytes_per_pixel;
|
||||
- unsigned int row_stride;
|
||||
-
|
||||
- ply_frame_buffer_area_t area;
|
||||
- ply_frame_buffer_area_t area_to_flush;
|
||||
-
|
||||
- void (*flush)(ply_frame_buffer_t *buffer);
|
||||
-
|
||||
- int pause_count;
|
||||
-};
|
||||
-
|
||||
static bool ply_frame_buffer_open_device (ply_frame_buffer_t *buffer);
|
||||
static void ply_frame_buffer_close_device (ply_frame_buffer_t *buffer);
|
||||
static bool ply_frame_buffer_query_device (ply_frame_buffer_t *buffer);
|
||||
diff -urN plymouth-lite-0.6.0/ply-frame-buffer.h plymouth-lite-0.6.0.change/ply-frame-buffer.h
|
||||
--- plymouth-lite-0.6.0/ply-frame-buffer.h 2009-02-19 17:35:54.000000000 +0800
|
||||
+++ plymouth-lite-0.6.0.change/ply-frame-buffer.h 2009-06-13 17:31:42.000000000 +0800
|
||||
@@ -38,6 +38,41 @@
|
||||
unsigned long height;
|
||||
};
|
||||
|
||||
+struct _ply_frame_buffer
|
||||
+{
|
||||
+ char *device_name;
|
||||
+ int device_fd;
|
||||
+
|
||||
+ char *map_address;
|
||||
+ size_t size;
|
||||
+
|
||||
+ uint32_t *shadow_buffer;
|
||||
+
|
||||
+ uint32_t red_bit_position;
|
||||
+ uint32_t green_bit_position;
|
||||
+ uint32_t blue_bit_position;
|
||||
+ uint32_t alpha_bit_position;
|
||||
+
|
||||
+ uint32_t bits_for_red;
|
||||
+ uint32_t bits_for_green;
|
||||
+ uint32_t bits_for_blue;
|
||||
+ uint32_t bits_for_alpha;
|
||||
+
|
||||
+ int32_t dither_red;
|
||||
+ int32_t dither_green;
|
||||
+ int32_t dither_blue;
|
||||
+
|
||||
+ unsigned int bytes_per_pixel;
|
||||
+ unsigned int row_stride;
|
||||
+
|
||||
+ ply_frame_buffer_area_t area;
|
||||
+ ply_frame_buffer_area_t area_to_flush;
|
||||
+
|
||||
+ void (*flush)(ply_frame_buffer_t *buffer);
|
||||
+
|
||||
+ int pause_count;
|
||||
+};
|
||||
+
|
||||
#define PLY_FRAME_BUFFER_COLOR_TO_PIXEL_VALUE(r,g,b,a) \
|
||||
(((uint8_t) (CLAMP (a * 255.0, 0.0, 255.0)) << 24) \
|
||||
| ((uint8_t) (CLAMP (r * 255.0, 0.0, 255.0)) << 16) \
|
||||
diff -urN plymouth-lite-0.6.0/ply-image.c plymouth-lite-0.6.0.change/ply-image.c
|
||||
--- plymouth-lite-0.6.0/ply-image.c 2009-02-19 19:16:36.000000000 +0800
|
||||
+++ plymouth-lite-0.6.0.change/ply-image.c 2009-06-13 17:42:52.000000000 +0800
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <png.h>
|
||||
|
||||
#include <linux/fb.h>
|
||||
+#include "ply-frame-buffer.h"
|
||||
|
||||
#define MIN(a,b) ((a) <= (b)? (a) : (b))
|
||||
#define MAX(a,b) ((a) >= (b)? (a) : (b))
|
||||
@@ -464,6 +465,8 @@
|
||||
return exit_code;
|
||||
}
|
||||
|
||||
+ image = ply_image_resize(image, buffer->area.width, buffer->area.height);
|
||||
+
|
||||
animate_at_time (buffer, image);
|
||||
|
||||
ply_frame_buffer_close (buffer);
|
@ -0,0 +1,60 @@
|
||||
diff -Naur plymouth-lite-0.6.0/ply-frame-buffer.c plymouth-lite-0.6.0.patch/ply-frame-buffer.c
|
||||
--- plymouth-lite-0.6.0/ply-frame-buffer.c 2012-05-02 22:29:21.505665089 +0200
|
||||
+++ plymouth-lite-0.6.0.patch/ply-frame-buffer.c 2012-05-02 22:26:42.000000000 +0200
|
||||
@@ -149,6 +149,34 @@
|
||||
}
|
||||
}
|
||||
|
||||
+static void
|
||||
+flush_xbgr32 (ply_frame_buffer_t *buffer)
|
||||
+{
|
||||
+ unsigned long x1, y1, x2, y2, x, y;
|
||||
+ char *dst, *src;
|
||||
+
|
||||
+ x1 = buffer->area_to_flush.x;
|
||||
+ y1 = buffer->area_to_flush.y;
|
||||
+ x2 = x1 + buffer->area_to_flush.width;
|
||||
+ y2 = y1 + buffer->area_to_flush.height;
|
||||
+
|
||||
+ dst = &buffer->map_address[(y1 * buffer->row_stride + x1) * 4];
|
||||
+ src = (char *) &buffer->shadow_buffer[y1 * buffer->area.width + x1];
|
||||
+
|
||||
+ for (y = y1; y < y2; y++)
|
||||
+ {
|
||||
+ for (x = x1; y < x2; x++)
|
||||
+ {
|
||||
+ dst[0] = src[2];
|
||||
+ dst[1] = src[1];
|
||||
+ dst[2] = src[0];
|
||||
+ dst[3] = src[3];
|
||||
+ dst += 4;
|
||||
+ src += 4;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static const char const *p_visual(int visual)
|
||||
{
|
||||
static const char const *visuals[] =
|
||||
@@ -260,11 +288,21 @@
|
||||
buffer->dither_green = 0;
|
||||
buffer->dither_blue = 0;
|
||||
|
||||
+printf("%d,%d,%d,%d,%d,%d,%d\n", buffer->bytes_per_pixel,
|
||||
+ buffer->red_bit_position, buffer->bits_for_red,
|
||||
+ buffer->green_bit_position, buffer->bits_for_green,
|
||||
+ buffer->blue_bit_position, buffer->bits_for_blue);
|
||||
+
|
||||
if (buffer->bytes_per_pixel == 4 &&
|
||||
buffer->red_bit_position == 16 && buffer->bits_for_red == 8 &&
|
||||
buffer->green_bit_position == 8 && buffer->bits_for_green == 8 &&
|
||||
buffer->blue_bit_position == 0 && buffer->bits_for_blue == 8)
|
||||
buffer->flush = flush_xrgb32;
|
||||
+ else if (buffer->bytes_per_pixel == 4 &&
|
||||
+ buffer->red_bit_position == 0 && buffer->bits_for_red == 8 &&
|
||||
+ buffer->green_bit_position == 8 && buffer->bits_for_green == 8 &&
|
||||
+ buffer->blue_bit_position == 16 && buffer->bits_for_blue == 8)
|
||||
+ buffer->flush = flush_xbgr32;
|
||||
else
|
||||
buffer->flush = flush_generic;
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 121 KiB |
BIN
packages/initramfs/sysutils/plymouth-lite/splash/splash.png
Normal file
BIN
packages/initramfs/sysutils/plymouth-lite/splash/splash.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
BIN
packages/initramfs/sysutils/plymouth-lite/splash/splash1.png
Normal file
BIN
packages/initramfs/sysutils/plymouth-lite/splash/splash1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
BIN
packages/initramfs/sysutils/plymouth-lite/splash/splash2.png
Normal file
BIN
packages/initramfs/sysutils/plymouth-lite/splash/splash2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 93 KiB |
Loading…
x
Reference in New Issue
Block a user