From c6de8f99e3e867998df793f3d3bcaa76f1705e79 Mon Sep 17 00:00:00 2001 From: wittinobi Date: Sat, 22 Feb 2014 22:19:06 +0100 Subject: [PATCH] add new config options, add libbluray and some fixes --- Makefile | 16 ++- ...-O-for-chained-usage-with-libavforma.patch | 113 ++++++++++++++++++ ...bbluray-0003-Added-bd_get_clip_infos.patch | 65 ++++++++++ ...demuxing-if-the-disc-looks-encrypted.patch | 26 ++++ .../libbluray-0006-disable-M2TS_TRACE.patch | 15 +++ config | 27 ++++- make/archives.mk | 10 +- make/cleantargets.mk | 16 +-- make/environment.mk | 1 + make/libraries.mk | 81 ++++++++++--- make/neutrino.mk | 14 ++- make/plugins.mk | 10 +- make/rootfs.mk | 2 +- 13 files changed, 358 insertions(+), 38 deletions(-) create mode 100644 archive-patches/libbluray-0001-Optimized-file-I-O-for-chained-usage-with-libavforma.patch create mode 100644 archive-patches/libbluray-0003-Added-bd_get_clip_infos.patch create mode 100644 archive-patches/libbluray-0005-Don-t-abort-demuxing-if-the-disc-looks-encrypted.patch create mode 100644 archive-patches/libbluray-0006-disable-M2TS_TRACE.patch diff --git a/Makefile b/Makefile index d54839a..d2ddd03 100755 --- a/Makefile +++ b/Makefile @@ -198,18 +198,28 @@ applications: $(MAKE) $(D)/procps $(D)/busybox $(D)/e2fsprogs $(D)/hotplug $(D)/fbshot $(D)/vsftpd $(D)/flashcp if [ $(LCD4LINUX) = "yes" ]; then \ $(MAKE) $(D)/lcd4linux; \ + else \ + true; \ fi if [ $(INADYN) = "yes" ]; then \ $(MAKE) $(D)/inadyn; \ + else \ + true; \ fi if [ $(DJMOUNT) = "yes" ]; then \ $(MAKE) $(D)/djmount; \ + else \ + true; \ fi if [ $(USHARE) = "yes" ]; then \ $(MAKE) $(D)/ushare; \ + else \ + true; \ fi if [ $(XUPNPD) = "yes" ]; then \ $(MAKE) $(D)/xupnpd; \ + else \ + true; \ fi # multimedia.mk @@ -221,9 +231,13 @@ plugins: $(MAKE) $(D)/links $(D)/tuxcom $(D)/tuxcal $(D)/tuxmail $(D)/tuxwetter $(D)/blockads $(D)/getrc $(D)/msgbox $(D)/input $(D)/shellexec $(D)/logomask $(D)/logoview $(D)/cooliTSclimax $(D)/rcsim $(D)/sdparm $(D)/libfx2 if [ $(CHARTS) = "yes" ]; then \ $(MAKE) $(D)/liga_nat $(D)/boerse $(D)/rssnews $(D)/tanken $(D)/wetter $(D)/formel1; \ + else \ + true; \ fi if [ $(GAMES) = "yes" ]; then \ - $(MAKE) $(D)/snake $(D)/sol $(D)/pac $(D)/tank $(D)/mines $(D)/master $(D)/tetris $(D)/vierg $(D)/yahtzee $(D)/sokoban $(D)/sudoku $(D)/lemm $(D)/solitair $(D)/c64emu; \ + $(MAKE) $(D)/snake $(D)/sol $(D)/pac $(D)/tank $(D)/mines $(D)/master $(D)/tetris $(D)/vierg $(D)/yahtzee $(D)/sokoban $(D)/sudoku $(D)/lemm $(D)/c64emu; \ + else \ + true; \ fi # kernel.mk diff --git a/archive-patches/libbluray-0001-Optimized-file-I-O-for-chained-usage-with-libavforma.patch b/archive-patches/libbluray-0001-Optimized-file-I-O-for-chained-usage-with-libavforma.patch new file mode 100644 index 0000000..5f27004 --- /dev/null +++ b/archive-patches/libbluray-0001-Optimized-file-I-O-for-chained-usage-with-libavforma.patch @@ -0,0 +1,113 @@ +From 8407f21d92544727f5b1bf5232fc43d77289cdc4 Mon Sep 17 00:00:00 2001 +From: Hendrik Leppkes +Date: Thu, 17 Mar 2011 17:22:00 +0100 +Subject: [PATCH 2/5] Optimized file I/O for chained usage with libavformat + +--- + libbluray.def | 1 + + src/file/dir_win32.c | 4 ++-- + src/file/file_posix.c | 6 ++++-- + src/libbluray/bluray.c | 21 ++++++++++++++++++++- + src/libbluray/bluray.h | 10 ++++++++++ + 5 files changed, 37 insertions(+), 5 deletions(-) + +diff --git a/src/file/dir_win32.c b/src/file/dir_win32.c +index f2e8f1c..b76bf15 100644 +--- a/src/file/dir_win32.c ++++ b/src/file/dir_win32.c +@@ -83,8 +83,8 @@ static BD_DIR_H *_dir_open_win32(const char* dirname) + + dir->internal = priv; + +- wchar_t wfilespec[MAX_PATH]; +- if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filespec, -1, wfilespec, MAX_PATH)) ++ wchar_t wfilespec[4096]; ++ if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filespec, -1, wfilespec, 4096)) + priv->handle = _wfindfirst(wfilespec, &priv->info); + else + priv->handle = -1; +diff --git a/src/file/file_posix.c b/src/file/file_posix.c +index 4bca744..485599d 100644 +--- a/src/file/file_posix.c ++++ b/src/file/file_posix.c +@@ -113,13 +113,15 @@ static BD_FILE_H *file_open_linux(const char* filename, const char *mode) + file->eof = file_eof_linux; + + #ifdef _WIN32 +- wchar_t wfilename[MAX_PATH], wmode[8]; +- if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filename, -1, wfilename, MAX_PATH) && ++ wchar_t wfilename[4096], wmode[8]; ++ if (MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filename, -1, wfilename, 4096) && + MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, mode, -1, wmode, 8) && + (fp = _wfopen(wfilename, wmode))) { + #else + if ((fp = fopen(filename, mode))) { + #endif ++ // Set file buffer ++ setvbuf(fp, NULL, _IOFBF, 6144 * 10); + file->internal = fp; + + return file; +diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c +index 4f6d3a3..d19872f 100644 +--- a/src/libbluray/bluray.c ++++ b/src/libbluray/bluray.c +@@ -523,7 +523,7 @@ static int _open_m2ts(BLURAY *bd, BD_STREAM *st) + + f_name = str_printf("%s" DIR_SEP "BDMV" DIR_SEP "STREAM" DIR_SEP "%s", + bd->device_path, st->clip->name); +- st->fp = file_open(f_name, "rb"); ++ st->fp = file_open(f_name, "rbS"); + X_FREE(f_name); + + st->clip_size = 0; +@@ -1433,6 +1433,25 @@ int64_t bd_seek_time(BLURAY *bd, uint64_t tick) + return bd->s_pos; + } + ++int64_t bd_find_seek_point(BLURAY *bd, uint64_t tick) ++{ ++ uint32_t clip_pkt, out_pkt; ++ NAV_CLIP *clip; ++ ++ tick /= 2; ++ ++ if (bd->title && ++ tick < bd->title->duration) { ++ ++ // Find the closest access unit to the requested position ++ clip = nav_time_search(bd->title, tick, &clip_pkt, &out_pkt); ++ ++ return (int64_t)out_pkt * 192; ++ } ++ ++ return bd->s_pos; ++} ++ + uint64_t bd_tell_time(BLURAY *bd) + { + uint32_t clip_pkt = 0, out_pkt = 0, out_time = 0; +diff --git a/src/libbluray/bluray.h b/src/libbluray/bluray.h +index 10c8a09..828a74c 100644 +--- a/src/libbluray/bluray.h ++++ b/src/libbluray/bluray.h +@@ -288,6 +288,16 @@ int64_t bd_seek_time(BLURAY *bd, uint64_t tick); + + /** + * ++ * Find the byte position to specific time in 90Khz ticks ++ * ++ * @param bd BLURAY ojbect ++ * @param tick tick count ++ * @return byte position ++ */ ++int64_t bd_find_seek_point(BLURAY *bd, uint64_t tick); ++ ++/** ++ * + * Read from currently selected title file, decrypt if possible + * + * @param bd BLURAY object +-- +1.8.3.1 + diff --git a/archive-patches/libbluray-0003-Added-bd_get_clip_infos.patch b/archive-patches/libbluray-0003-Added-bd_get_clip_infos.patch new file mode 100644 index 0000000..8b9ca3c --- /dev/null +++ b/archive-patches/libbluray-0003-Added-bd_get_clip_infos.patch @@ -0,0 +1,65 @@ +From 39fee88ca03af04ce41a9a872567f66c70862c91 Mon Sep 17 00:00:00 2001 +From: Hendrik Leppkes +Date: Mon, 28 Mar 2011 22:39:52 +0200 +Subject: [PATCH 3/5] Added bd_get_clip_infos + +This function allows for querying information directly related to the +clips inside a title. +--- + libbluray.def | 1 + + src/libbluray/bluray.c | 17 +++++++++++++++++ + src/libbluray/bluray.h | 13 +++++++++++++ + 3 files changed, 31 insertions(+) + +diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c +index d19872f..5fe5c53 100644 +--- a/src/libbluray/bluray.c ++++ b/src/libbluray/bluray.c +@@ -3292,3 +3292,20 @@ void bd_free_clpi(struct clpi_cl *cl) + { + clpi_free(cl); + } ++ ++int bd_get_clip_infos(BLURAY *bd, int clip, uint64_t *clip_start_time, uint64_t *stream_start_time, uint64_t *pos, uint64_t *duration) ++{ ++ if (bd && bd->title && bd->title->clip_list.count > clip) { ++ if (clip_start_time) ++ *clip_start_time = (uint64_t)bd->title->clip_list.clip[clip].start_time << 1; ++ if (stream_start_time) ++ *stream_start_time = (uint64_t)bd->title->clip_list.clip[clip].in_time << 1; ++ if (pos) ++ *pos = (uint64_t)bd->title->clip_list.clip[clip].pos * 192; ++ if (duration) ++ *duration = (uint64_t)bd->title->clip_list.clip[clip].duration << 1; ++ ++ return 1; ++ } ++ return 0; ++} +diff --git a/src/libbluray/bluray.h b/src/libbluray/bluray.h +index 828a74c..22cb7bc 100644 +--- a/src/libbluray/bluray.h ++++ b/src/libbluray/bluray.h +@@ -861,6 +861,19 @@ struct clpi_cl *bd_read_clpi(const char *clpi_file); + */ + void bd_free_clpi(struct clpi_cl *cl); + ++/** ++ * ++ * Get information about the clip ++ * ++ * @param bd BLURAY object ++ * @param clip clip index ++ * @param clip_start_time start of the clip (in the total title) (in 90khz) ++ * @param stream_start_time first pts in the clip (in 90khz) ++ * @param byte position of the clip (absolute) ++ * @param duration duration of the clip (in 90khz) ++ */ ++int bd_get_clip_infos(BLURAY *bd, int clip, uint64_t *clip_start_time, uint64_t *stream_start_time, uint64_t *pos, uint64_t *duration); ++ + #ifdef __cplusplus + }; + #endif +-- +1.8.3.1 + diff --git a/archive-patches/libbluray-0005-Don-t-abort-demuxing-if-the-disc-looks-encrypted.patch b/archive-patches/libbluray-0005-Don-t-abort-demuxing-if-the-disc-looks-encrypted.patch new file mode 100644 index 0000000..1ea05e0 --- /dev/null +++ b/archive-patches/libbluray-0005-Don-t-abort-demuxing-if-the-disc-looks-encrypted.patch @@ -0,0 +1,26 @@ +From 69f0051b631bdfab19fe3d18d333e50b785447a4 Mon Sep 17 00:00:00 2001 +From: Hendrik Leppkes +Date: Fri, 25 Oct 2013 16:26:11 +0200 +Subject: [PATCH 5/5] Don't abort demuxing if the disc looks encrypted + +Even if the disc is still encrypted, we'll fail later on anyway, and this +allows playback of discs which were decrypted but the marker not cleared. +--- + src/libbluray/bluray.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c +index 5fe5c53..2b113db 100644 +--- a/src/libbluray/bluray.c ++++ b/src/libbluray/bluray.c +@@ -608,7 +608,6 @@ static int _read_block(BLURAY *bd, BD_STREAM *st, uint8_t *buf) + BD_DEBUG(DBG_BLURAY | DBG_CRIT, + "TP header copy permission indicator != 0, unit is still encrypted?\n"); + _queue_event(bd, BD_EVENT_ENCRYPTED, BD_ERROR_AACS); +- return -1; + } + } + +-- +1.8.3.1 + diff --git a/archive-patches/libbluray-0006-disable-M2TS_TRACE.patch b/archive-patches/libbluray-0006-disable-M2TS_TRACE.patch new file mode 100644 index 0000000..8f98689 --- /dev/null +++ b/archive-patches/libbluray-0006-disable-M2TS_TRACE.patch @@ -0,0 +1,15 @@ +diff --git a/src/libbluray/decoders/m2ts_filter.c b/src/libbluray/decoders/m2ts_filter.c +index 38fa37c..200f9cd 100644 +--- a/src/libbluray/decoders/m2ts_filter.c ++++ b/src/libbluray/decoders/m2ts_filter.c +@@ -30,8 +30,8 @@ + #include + #include + +-#define M2TS_TRACE(...) BD_DEBUG(DBG_CRIT,__VA_ARGS__) +-//#define M2TS_TRACE(...) do {} while(0) ++//#define M2TS_TRACE(...) BD_DEBUG(DBG_CRIT,__VA_ARGS__) ++#define M2TS_TRACE(...) do {} while(0) + + /* + * diff --git a/config b/config index 42167f8..a6e8fe9 100755 --- a/config +++ b/config @@ -53,7 +53,28 @@ CST_DRIVER_VERSION=master ########################################################################################### -### PART 2 # APPLICATIONS # OPTIONAL ###################################################### +### PART 2 # LIBRARIES # OPTIONAL ######################################################### +########################################################################################### + +# if you want to build openssl (optional), define OPENSSL=yes: +# OPENSSL=yes +# OPENSSL=no +OPENSSL=no + +# if you want to build libsigc++ (optional), define LIBSIGC=yes: +# LIBSIGC=yes +# LIBSIGC=no +LIBSIGC=no + +########################################################################################### +########################################################################################### + + + + + +########################################################################################### +### PART 3 # APPLICATIONS # OPTIONAL ###################################################### ########################################################################################### # if you want to build lcd4linux (optional), define LCD4LINUX=yes: @@ -89,7 +110,7 @@ XUPNPD=no ########################################################################################### -### PART 3 # MULTIMEDIA # OPTIONAL ######################################################## +### PART 4 # MULTIMEDIA # OPTIONAL ######################################################## ########################################################################################### # if you want to build multimedia (optional), define MULTIMEDIA=yes: @@ -105,7 +126,7 @@ MULTIMEDIA=no ########################################################################################### -### PART 4 # PLUGINS # OPTIONAL ########################################################### +### PART 5 # PLUGINS # OPTIONAL ########################################################### ########################################################################################### # if you want to build charts (optional), define CHARTS=yes: diff --git a/make/archives.mk b/make/archives.mk index 0d1625e..7481cd5 100755 --- a/make/archives.mk +++ b/make/archives.mk @@ -39,8 +39,14 @@ $(ARCHIVE)/libjpeg-turbo-1.3.0.tar.gz: $(ARCHIVE)/boost_1_55_0.tar.bz2: $(WGET) http://www.fhloston-paradise.de/boost_1_55_0.tar.bz2 -$(ARCHIVE)/openssl-0.9.8y.tar.gz: - $(WGET) http://www.fhloston-paradise.de/openssl-0.9.8y.tar.gz +$(ARCHIVE)/libbluray-0.5.0.tar.bz2: + $(WGET) http://www.fhloston-paradise.de/libbluray-0.5.0.tar.bz2 + +$(ARCHIVE)/libsigc++-2.3.1.tar.xz: + $(WGET) http://www.fhloston-paradise.de/libsigc++-2.3.1.tar.xz + +$(ARCHIVE)/openssl-1.0.1f.tar.gz: + $(WGET) http://www.fhloston-paradise.de/openssl-1.0.1f.tar.gz $(ARCHIVE)/libogg-1.3.1.tar.gz: $(WGET) http://www.fhloston-paradise.de/libogg-1.3.1.tar.gz diff --git a/make/cleantargets.mk b/make/cleantargets.mk index df6c304..6fafa9e 100755 --- a/make/cleantargets.mk +++ b/make/cleantargets.mk @@ -18,20 +18,20 @@ all-clean: rebuild-clean bootloader-clean: -rm -rf $(BUILD_TMP)/BOOTLOADER - -rm $(BUILD_TMP)/u-boot* - -rm $(D)/coolstream-u-boot + -rm -f $(BUILD_TMP)/u-boot* + -rm -f $(D)/coolstream-u-boot #drivers-clean: # -rm -rf $(TARGETPREFIX) flashimage-clean: - -rm $(BUILD_TMP)/system* - -rm $(BUILD_TMP)/full* + -rm -f $(BUILD_TMP)/system* + -rm -f $(BUILD_TMP)/full* kernel-clean: -rm -rf $(BUILD_TMP)/linux* - -rm $(BUILD_TMP)/kernel* - -rm $(D)/coolstream-kernel* + -rm -f $(BUILD_TMP)/kernel* + -rm -f $(D)/coolstream-kernel* #libraries-clean: # -rm -rf $(BUILD_TMP)/rootfs @@ -41,9 +41,9 @@ neutrino-clean: -rm -rf $(BUILD_TMP)/neutrino-hd -rm -rf $(BUILD_TMP)/rootfs if [ $(TARGET) = "arm-pnx8400-linux-uclibcgnueabi" ]; then \ - rm $(D)/neutrino-hd-apollo; \ + rm -f $(D)/neutrino-hd-apollo; \ else \ - rm $(D)/neutrino-hd-nevis; \ + rm -f $(D)/neutrino-hd-nevis; \ fi rootfs-clean: diff --git a/make/environment.mk b/make/environment.mk index 5b372fa..11b3f54 100755 --- a/make/environment.mk +++ b/make/environment.mk @@ -36,6 +36,7 @@ VPATH = $(D) PATH := $(HOSTPREFIX)/bin:$(CROSS_DIR)/bin:$(PATH) PKG_CONFIG = /usr/bin/pkg-config +PKG_CONFIG_LIBDIR = $(TARGETPREFIX)/lib PKG_CONFIG_PATH = $(TARGETPREFIX)/lib/pkgconfig # helper-"functions": diff --git a/make/libraries.mk b/make/libraries.mk index 01bc870..760397e 100755 --- a/make/libraries.mk +++ b/make/libraries.mk @@ -12,7 +12,7 @@ ncurses-prereq: false; \ fi -$(D)/libncurses: $(ARCHIVE)/ncurses-5.9.tar.gz ncurses-prereq | $(TARGETPREFIX) +$(D)/libncurses: $(ARCHIVE)/ncurses-5.9.tar.gz | ncurses-prereq $(TARGETPREFIX) $(UNTAR)/ncurses-5.9.tar.gz && \ pushd $(BUILD_TMP)/ncurses-5.9 && \ $(CONFIGURE) --build=$(BUILD) --host=$(TARGET) --target=$(TARGET) \ @@ -100,23 +100,20 @@ $(D)/libungif: $(ARCHIVE)/libungif-4.1.4.tar.bz2 | $(TARGETPREFIX) $(REMOVE)/libungif-4.1.4 touch $@ -$(D)/openssl: $(ARCHIVE)/openssl-0.9.8y.tar.gz | $(TARGETPREFIX) - $(UNTAR)/openssl-0.9.8y.tar.gz - pushd $(BUILD_TMP)/openssl-0.9.8y && \ +$(D)/openssl: $(ARCHIVE)/openssl-1.0.1f.tar.gz | $(TARGETPREFIX) + $(UNTAR)/openssl-1.0.1f.tar.gz + pushd $(BUILD_TMP)/openssl-1.0.1f && \ CC=$(TARGET)-gcc \ ./Configure shared no-hw no-engine linux-generic32 --prefix=/ --openssldir=/.remove && \ - $(MAKE) depend && \ $(MAKE) all && \ $(MAKE) install_sw INSTALL_PREFIX=$(TARGETPREFIX) $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/openssl.pc $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libcrypto.pc $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libssl.pc rm -r $(TARGETPREFIX)/.remove $(TARGETPREFIX)/bin/openssl $(TARGETPREFIX)/bin/c_rehash - $(REMOVE)/openssl-0.9.8y + $(REMOVE)/openssl-1.0.1f pushd $(TARGETPREFIX)/lib && \ - ln -sf libcrypto.so.0.9.8 libcrypto.so.0.9.7 && \ - ln -sf libcrypto.so.0.9.8 libcrypto.so.0 && \ - ln -sf libssl.so.0.9.8 libssl.so.0.9.7 && \ + ln -sf libcrypto.so.1.0.0 libcrypto.so.0 && \ chmod 0755 $(TARGETPREFIX)/lib/libcrypto.so.* $(TARGETPREFIX)/lib/libssl.so.* touch $@ @@ -165,8 +162,7 @@ $(D)/libpng: $(D)/zlib $(ARCHIVE)/libpng-1.6.8.tar.gz | $(TARGETPREFIX) $(D)/libjpeg: $(ARCHIVE)/libjpeg-turbo-1.3.0.tar.gz | $(TARGETPREFIX) $(UNTAR)/libjpeg-turbo-1.3.0.tar.gz - pushd $(BUILD_TMP) && \ - pushd libjpeg-turbo-1.3.0 && \ + pushd $(BUILD_TMP)/libjpeg-turbo-1.3.0 && \ export CC=$(TARGET)-gcc && \ $(CONFIGURE) \ --prefix= \ @@ -189,7 +185,20 @@ $(D)/libboost: $(ARCHIVE)/boost_1_55_0.tar.bz2 | $(TARGETPREFIX) rm -rf boost_1_55_0 touch $@ -$(D)/ffmpeg: | $(TARGETPREFIX) +$(D)/libbluray: $(ARCHIVE)/libbluray-0.5.0.tar.bz2 | $(TARGETPREFIX) + $(UNTAR)/libbluray-0.5.0.tar.bz2 + pushd $(BUILD_TMP)/libbluray-0.5.0 && \ + $(PATCH)/libbluray-0001-Optimized-file-I-O-for-chained-usage-with-libavforma.patch && \ + $(PATCH)/libbluray-0003-Added-bd_get_clip_infos.patch && \ + $(PATCH)/libbluray-0005-Don-t-abort-demuxing-if-the-disc-looks-encrypted.patch && \ + $(PATCH)/libbluray-0006-disable-M2TS_TRACE.patch && \ + $(CONFIGURE) --build=$(BUILD) --host=$(TARGET) --target=$(TARGET) --prefix= --without-libxml2 && \ + $(MAKE) && \ + $(MAKE) install DESTDIR=$(TARGETPREFIX) + $(REMOVE)/libbluray-0.5.0 + touch $@ + +$(D)/ffmpeg: $(D)/libbluray | $(TARGETPREFIX) tar -C $(SOURCE_DIR)/git/LIBRARIES -cp ffmpeg --exclude=.git | tar -C $(BUILD_TMP) -x pushd $(BUILD_TMP)/ffmpeg && \ CFLAGS=-march=armv6 \ @@ -208,7 +217,12 @@ $(D)/ffmpeg: | $(TARGETPREFIX) --enable-parser=vc1 \ --enable-parser=dvdsub \ --enable-parser=dvbsub \ + --enable-parser=flac \ + --enable-parser=vorbis \ --disable-decoders \ + --enable-decoder=dca \ + --enable-decoder=dvdsub \ + --enable-decoder=dvbsub \ --enable-decoder=text \ --enable-decoder=srt \ --enable-decoder=subrip \ @@ -216,9 +230,16 @@ $(D)/ffmpeg: | $(TARGETPREFIX) --enable-decoder=subviewer1 \ --enable-decoder=xsub \ --enable-decoder=pgssub \ - --enable-decoder=dca \ - --enable-decoder=dvdsub \ - --enable-decoder=dvbsub \ + --enable-decoder=mp3 \ + --enable-decoder=flac \ + --enable-decoder=vorbis \ + --enable-decoder=aac \ + --enable-decoder=mjpeg \ + --enable-decoder=h264 \ + --enable-decoder=vc1 \ + --enable-decoder=mpegvideo \ + --enable-decoder=aac \ + --enable-decoder=ac3 \ --enable-decoder=pcm* \ --disable-demuxers \ --enable-demuxer=aac \ @@ -238,6 +259,12 @@ $(D)/ffmpeg: | $(TARGETPREFIX) --enable-demuxer=flv \ --enable-demuxer=rm \ --enable-demuxer=rtsp \ + --enable-demuxer=hls \ + --enable-demuxer=dts \ + --enable-demuxer=wav \ + --enable-demuxer=ogg \ + --enable-demuxer=flac \ + --enable-demuxer=srt \ --disable-encoders \ --disable-muxers \ --disable-ffplay \ @@ -252,16 +279,17 @@ $(D)/ffmpeg: | $(TARGETPREFIX) --enable-protocol=rtmpe \ --enable-protocol=rtmps \ --enable-protocol=rtmpte \ - --enable-protocol=rtp \ + --enable-protocol=mmsh \ + --enable-protocol=mmst \ + --enable-protocol=bluray \ --enable-bsfs \ --disable-devices \ --enable-swresample \ - --enable-avresample \ --disable-postproc \ --disable-swscale \ --disable-mmx \ --disable-altivec \ - --disable-zlib \ + --enable-libbluray \ --enable-network \ --enable-cross-compile \ --enable-shared \ @@ -272,7 +300,9 @@ $(D)/ffmpeg: | $(TARGETPREFIX) --disable-neon \ --cpu=armv6 \ --cross-prefix=$(TARGET)- \ - --target-os=linux && \ + --target-os=linux \ + --extra-cflags="-I$(TARGETPREFIX)/include -I$(TARGETPREFIX)/include/freetype2" \ + --extra-ldflags="-L$(TARGETPREFIX)/lib -lz -lfreetype -lbluray" && \ $(MAKE) && \ $(MAKE) install && \ cp version.sh $(TARGETPREFIX)/lib/ffmpeg-version.h @@ -299,6 +329,19 @@ $(D)/dvbsi: | $(TARGETPREFIX) $(REMOVE)/dvbsi touch $@ +$(D)/libsigc: $(ARCHIVE)/libsigc++-2.3.1.tar.xz | $(TARGETPREFIX) + $(UNTAR)/libsigc++-2.3.1.tar.xz + pushd $(BUILD_TMP)/libsigc++-2.3.1 && \ + $(CONFIGURE) -prefix= \ + --disable-documentation \ + --enable-silent-rules && \ + $(MAKE) && \ + $(MAKE) install DESTDIR=$(TARGETPREFIX) + cp $(BUILD_TMP)/libsigc++-2.3.1/sigc++config.h $(TARGETPREFIX)/include + $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/sigc++-2.0.pc + $(REMOVE)/libsigc++-2.3.1 + touch $@ + # for some reason, libvorbis does not work with "--prefix=/" $(D)/libvorbis: $(D)/libogg $(ARCHIVE)/libvorbis-1.3.2.tar.bz2 | $(TARGETPREFIX) $(UNTAR)/libvorbis-1.3.2.tar.bz2 diff --git a/make/neutrino.mk b/make/neutrino.mk index e2c4c86..8a4e869 100755 --- a/make/neutrino.mk +++ b/make/neutrino.mk @@ -27,7 +27,7 @@ $(D)/neutrino-hd-nevis: $(NEUTRINO_OBJDIR)/config-nevis.status $(MAKE) -C $(NEUTRINO_OBJDIR) all $(MAKE) -C $(NEUTRINO_OBJDIR) install DESTDIR=$(TARGETPREFIX) $(MAKE) $(TARGETPREFIX)/.version - cp -a $(BUILD_TMP)/neutrino-hd/config.h $(TARGETPREFIX)/include/config.h + cp -a $(BUILD_TMP)/neutrino-hd/config.h $(TARGETPREFIX)/include/config.h touch $@ $(D)/neutrino-hd-apollo: $(NEUTRINO_OBJDIR)/config-apollo.status @@ -67,5 +67,15 @@ $(TARGETPREFIX)/.version: $(TARGETPREFIX)/bin/neutrino echo "builddate=`cd $(SOURCE_DIR)/neutrino-hd && git log | grep "^commit" | wc -l` vom `date --reference=$(SOURCE_DIR)/neutrino-hd/.git`" >> $@ $(D)/neutrino-hd-libs: - $(MAKE) $(D)/libmad $(D)/libid3tag $(D)/libungif $(D)/openssl $(D)/libcurl $(D)/freetype $(D)/libjpeg $(D)/libboost $(D)/dvbsi $(D)/libflac $(D)/ffmpeg $(D)/libvorbis $(D)/openthreads $(D)/luaposix + if [ $(OPENSSL) = "yes" ]; then \ + $(MAKE) $(D)/openssl; \ + else \ + true; \ + fi + if [ $(LIBSIGC) = "yes" ]; then \ + $(MAKE) $(D)/libsigc; \ + else \ + true; \ + fi + $(MAKE) $(D)/libmad $(D)/libid3tag $(D)/libungif $(D)/libcurl $(D)/freetype $(D)/libjpeg $(D)/libboost $(D)/dvbsi $(D)/libflac $(D)/ffmpeg $(D)/libvorbis $(D)/openthreads $(D)/luaposix touch $@ diff --git a/make/plugins.mk b/make/plugins.mk index 1e92546..8ba4373 100644 --- a/make/plugins.mk +++ b/make/plugins.mk @@ -23,7 +23,7 @@ $(D)/cooliTSclimax: mkdir -p $(BIN) && \ cp -a $(SOURCE)/cooliTSclimax $(BUILD_TMP)/ && \ pushd $(BUILD_TMP)/cooliTSclimax && \ - $(TARGET)-g++ $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -lavformat -lavcodec -lavutil -o $(BUILD_TMP)/cooliTSclimax/cooliTSclimax cooliTSclimax.cpp + $(TARGET)-g++ $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -lz -lfreetype -lbluray -lavformat -lavcodec -lavutil -lm -o $(BUILD_TMP)/cooliTSclimax/cooliTSclimax cooliTSclimax.cpp cp -f $(BUILD_TMP)/cooliTSclimax/cooliTSclimax $(TARGETPREFIX)/bin/ rm -rf $(BUILD_TMP)/cooliTSclimax touch $@ @@ -225,6 +225,7 @@ $(D)/tuxcal: $(D)/freetype $(TARGET)-gcc $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -I$(TARGETPREFIX)/include/freetype2 -lfreetype -lz -o $(BUILD_TMP)/tuxcal/tuxcal.so tuxcal.c pushd $(BUILD_TMP)/tuxcal/daemon && \ $(TARGET)-gcc $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -I$(TARGETPREFIX)/include/freetype2 -lpthread -lfreetype -lz -o $(BUILD_TMP)/tuxcal/daemon/tuxcald tuxcald.c + sed -i -e 's#name=Kalender#name=CS-Tuxcalender#' $(BUILD_TMP)/tuxcal/tuxcal.cfg && \ cp -f $(BUILD_TMP)/tuxcal/tuxcal.so $(LIBPLUG)/ cp -f $(BUILD_TMP)/tuxcal/tuxcal.cfg $(LIBPLUG)/ cp -f $(BUILD_TMP)/tuxcal/tuxcal.conf $(VARCONF)/tuxcal/ @@ -237,6 +238,8 @@ $(D)/tuxcom: $(D)/freetype cp -a $(GIT_PLUGINS)/tuxcom $(BUILD_TMP)/ && \ pushd $(BUILD_TMP)/tuxcom && \ $(TARGET)-gcc $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -I$(TARGETPREFIX)/include/freetype2 -lfreetype -lz -o $(BUILD_TMP)/tuxcom/tuxcom.so tuxcom.c + sed -i -e 's#name=TuxBox Commander#name=CS-Tuxcommander#' $(BUILD_TMP)/tuxcom/tuxcom.cfg && \ + sed -i -e 's#desc=file manager#desc=Datei Editor#' $(BUILD_TMP)/tuxcom/tuxcom.cfg && \ cp -f $(BUILD_TMP)/tuxcom/tuxcom.so $(LIBPLUG)/ cp -f $(BUILD_TMP)/tuxcom/tuxcom.cfg $(LIBPLUG)/ rm -rf $(BUILD_TMP)/tuxcom @@ -251,6 +254,8 @@ $(D)/tuxmail: $(D)/freetype $(TARGET)-gcc $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -I$(TARGETPREFIX)/include/freetype2 -lfreetype -lz -o $(BUILD_TMP)/tuxmail/tuxmail.so tuxmail.c pushd $(BUILD_TMP)/tuxmail/daemon && \ $(TARGET)-gcc $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -I$(TARGETPREFIX)/include/freetype2 -lpthread -lfreetype -lz -o $(BUILD_TMP)/tuxmail/daemon/tuxmaild tuxmaild.c + sed -i -e 's#name=E-Mail#name=CS-Tuxmail#' $(BUILD_TMP)/tuxmail/tuxmail.cfg && \ + sed -i -e 's#desc=Kontenübersicht#desc=E-Mail Kontenübersicht#' $(BUILD_TMP)/tuxmail/tuxmail.cfg && \ cp -f $(BUILD_TMP)/tuxmail/tuxmail.so $(LIBPLUG)/ cp -f $(BUILD_TMP)/tuxmail/tuxmail.cfg $(LIBPLUG)/ cp -f $(BUILD_TMP)/tuxmail/tuxmail.conf $(VARCONF)/tuxmail/ @@ -420,11 +425,12 @@ $(D)/lemm: $(D)/libfx2 rm -rf $(BUILD_TMP)/lemm touch $@ +#broken!!! $(D)/solitair: $(D)/libfx2 mkdir -p $(LIBPLUG) && \ cp -a $(SOURCE)/solitair $(BUILD_TMP)/ && \ pushd $(BUILD_TMP)/solitair && \ - $(TARGET)-g++ $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -I$(TARGETPREFIX)/include -I$(TARGETPREFIX)/include/freetype2 -I$(TARGETPREFIX)/include/libfx2 -O2 -lfreetype -lz -ljpeg -lpng -lungif -lfx2 -lm -o $(BUILD_TMP)/solitair/solitair.so Block.cpp Buffer.cpp Card.cpp Foundation.cpp Hand.cpp Slot.cpp Table.cpp Tableau.cpp Wastepile.cpp somain.cpp pnm_file.cpp pnm_res.cpp backbuffer.cpp + $(TARGET)-g++ $(TARGET_CFLAGS) -L$(TARGETPREFIX)/lib -I$(TARGETPREFIX)/include -I$(TARGETPREFIX)/include/freetype2 -I$(TARGETPREFIX)/include/libfx2 -O2 -lfreetype -lz -ljpeg -lpng -lungif -lfx2 -o $(BUILD_TMP)/solitair/solitair.so Block.cpp Buffer.cpp Card.cpp Foundation.cpp Hand.cpp Slot.cpp Table.cpp Tableau.cpp Wastepile.cpp somain.cpp pnm_file.cpp pnm_res.cpp backbuffer.cpp cp -f $(BUILD_TMP)/solitair/solitair.so $(LIBPLUG)/ cp -f $(BUILD_TMP)/solitair/solitair.cfg $(LIBPLUG)/ rm -rf $(BUILD_TMP)/solitair diff --git a/make/rootfs.mk b/make/rootfs.mk index 7e51c85..83ab10a 100755 --- a/make/rootfs.mk +++ b/make/rootfs.mk @@ -63,7 +63,7 @@ $(D)/rootfs: du -sh $(BOX) @echo "" @echo " ****************************************************************************** " - @echo " !!! The following warnings from strip are harmless !!! " + @echo -e " \033[32m!!! The following warnings from strip are harmless !!!\033[0m " @echo " ****************************************************************************** " find $(BOX)/bin -type f -print0 | xargs -0 $(TARGET)-strip || true find $(BOX)/sbin -type f -print0 | xargs -0 $(TARGET)-strip || true -- 2.39.5