diff --git a/media-libs/libdvbpsi/libdvbpsi-1.3.1.recipe b/media-libs/libdvbpsi/libdvbpsi-1.3.2.recipe similarity index 74% rename from media-libs/libdvbpsi/libdvbpsi-1.3.1.recipe rename to media-libs/libdvbpsi/libdvbpsi-1.3.2.recipe index b6dcec798..6cc29bec4 100644 --- a/media-libs/libdvbpsi/libdvbpsi-1.3.1.recipe +++ b/media-libs/libdvbpsi/libdvbpsi-1.3.2.recipe @@ -7,27 +7,30 @@ Client and the VideoLAN Server capable of demultiplexing a satellite \ DVB stream. The library aims at making it easy to decode PSI tables \ (such as PAT, PMT etc.) present in a TS/DVB stream." HOMEPAGE="https://www.videolan.org/libdvbpsi" -COPYRIGHT="2001-2015 VideoLAN" +COPYRIGHT="2001-2018 VideoLAN" LICENSE="GNU LGPL v2.1" -REVISION="2" +REVISION="1" SOURCE_URI="https://download.videolan.org/pub/libdvbpsi/$portVersion/libdvbpsi-$portVersion.tar.bz2" -CHECKSUM_SHA256="d68367afd5ad8e6ebca813e7958a3ceb9743b421adb4265eceeb6a3511c84420" +CHECKSUM_SHA256="ac4e39f2b9b1e15706ad261fa175a9430344d650a940be9aaf502d4cb683c5fe" PATCHES="libdvbpsi-$portVersion.patchset" ARCHITECTURES="x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86_gcc2 x86" +libVersion=10.0.0 +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + PROVIDES=" - libdvbpsi$secondaryArchSuffix = $portVersion compat >= 1 - lib:libdvbpsi$secondaryArchSuffix = 10.0.0 compat >= 10 + libdvbpsi$secondaryArchSuffix = $portVersion + lib:libdvbpsi$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix " PROVIDES_devel=" - libdvbpsi${secondaryArchSuffix}_devel = $portVersion compat >= 1 - devel:libdvbpsi$secondaryArchSuffix = 10.0.0 compat >= 10 + libdvbpsi${secondaryArchSuffix}_devel = $portVersion + devel:libdvbpsi$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" libdvbpsi$secondaryArchSuffix == $portVersion base @@ -48,6 +51,9 @@ BUILD_PREREQUIRES=" cmd:xsltproc " +defineDebugInfoPackage libdvbpsi$secondaryArchSuffix \ + "$libDir"/libdvbpsi.so.$libVersion + BUILD() { autoreconf -fi diff --git a/media-libs/libdvbpsi/patches/libdvbpsi-1.3.1.patchset b/media-libs/libdvbpsi/patches/libdvbpsi-1.3.2.patchset similarity index 98% rename from media-libs/libdvbpsi/patches/libdvbpsi-1.3.1.patchset rename to media-libs/libdvbpsi/patches/libdvbpsi-1.3.2.patchset index 6dbd73f8f..e04d1f23c 100644 --- a/media-libs/libdvbpsi/patches/libdvbpsi-1.3.1.patchset +++ b/media-libs/libdvbpsi/patches/libdvbpsi-1.3.2.patchset @@ -51,7 +51,7 @@ Subject: gcc2 fixes. diff --git a/configure.ac b/configure.ac -index 2f58205..7465d9e 100644 +index 53e5ac0..ca62534 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ dnl store CFLAGS from user @@ -366,7 +366,7 @@ index 657fd35..9a2b9b9 100644 if (pthread_join(handle, NULL) < 0) libdvbpsi_log(param, DVBINFO_LOG_ERROR, "error joining capture thread\n"); diff --git a/examples/dvbinfo/libdvbpsi.c b/examples/dvbinfo/libdvbpsi.c -index ce4613c..a2be0b1 100644 +index ce4613c..6ce45b1 100644 --- a/examples/dvbinfo/libdvbpsi.c +++ b/examples/dvbinfo/libdvbpsi.c @@ -333,6 +333,7 @@ static void dvbpsi_message(dvbpsi_t *p_dvbpsi, const dvbpsi_msg_level_t level, c @@ -1140,27 +1140,28 @@ index da5fc20..ba92933 100644 if (p_tag) { diff --git a/src/descriptors/dr_41.c b/src/descriptors/dr_41.c -index db4ac3e..fd628cc 100644 +index cb4b92b..44064c1 100644 --- a/src/descriptors/dr_41.c +++ b/src/descriptors/dr_41.c -@@ -46,6 +46,8 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr( +@@ -48,6 +48,8 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr( dvbpsi_descriptor_t * p_descriptor) { dvbpsi_service_list_dr_t * p_decoded; -+ unsigned int service_count = p_descriptor->i_length / 3; -+ uint8_t i; ++ unsigned int service_count; ++ uint8_t i; /* Check the tag */ if (p_descriptor->i_tag != 0x41) -@@ -56,7 +58,6 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr( +@@ -58,7 +60,7 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr( return p_descriptor->p_decoded; /* Check the length */ - unsigned int service_count = p_descriptor->i_length / 3; ++ service_count = p_descriptor->i_length / 3; if ((p_descriptor->i_length < 1) || (p_descriptor->i_length % 3 != 0) || - (service_count>63)) -@@ -70,7 +71,7 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr( + (service_count > DVBPSI_SLS_DR_MAX - 1)) +@@ -72,7 +74,7 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr( /* Decode data */ p_decoded->i_service_count = service_count; @@ -1169,14 +1170,14 @@ index db4ac3e..fd628cc 100644 { p_decoded->i_service[i].i_service_id = ((uint16_t)(p_descriptor->p_data[i*3]) << 8) | p_descriptor->p_data[i*3+1]; -@@ -90,18 +91,20 @@ dvbpsi_descriptor_t * dvbpsi_GenServiceListDr( +@@ -92,18 +94,20 @@ dvbpsi_descriptor_t * dvbpsi_GenServiceListDr( dvbpsi_service_list_dr_t * p_decoded, bool b_duplicate) { + dvbpsi_descriptor_t * p_descriptor; -+ uint8_t i; ++ uint8_t i; /* Check the length */ - if (p_decoded->i_service_count > 63) + if (p_decoded->i_service_count > DVBPSI_SLS_DR_MAX - 1) return NULL; /* Create the descriptor */ @@ -1193,7 +1194,7 @@ index db4ac3e..fd628cc 100644 p_descriptor->p_data[i*3] = p_decoded->i_service[i].i_service_id >> 8; p_descriptor->p_data[i*3+1] = p_decoded->i_service[i].i_service_id; diff --git a/src/descriptors/dr_45.c b/src/descriptors/dr_45.c -index 2262fbc..bf10dee 100644 +index 2262fbc..2a3a823 100644 --- a/src/descriptors/dr_45.c +++ b/src/descriptors/dr_45.c @@ -46,6 +46,9 @@ @@ -1272,7 +1273,7 @@ index 2262fbc..bf10dee 100644 if( (p_decoded->p_services[i].i_data_service_id >= 0x01) && (p_decoded->p_services[i].i_data_service_id <= 0x07) ) diff --git a/src/descriptors/dr_48.c b/src/descriptors/dr_48.c -index 760da83..3094017 100644 +index 760da83..24825d5 100644 --- a/src/descriptors/dr_48.c +++ b/src/descriptors/dr_48.c @@ -48,6 +48,7 @@ @@ -1735,7 +1736,7 @@ index 6dd1a41..8ce9bee 100644 p_descriptor->p_data[8 * i] = p_decoded->p_parental_rating[i].i_country_code >> 16; diff --git a/src/descriptors/dr_56.c b/src/descriptors/dr_56.c -index 4729cf0..92c0b81 100644 +index d81e90d..5f44695 100644 --- a/src/descriptors/dr_56.c +++ b/src/descriptors/dr_56.c @@ -46,6 +46,8 @@ @@ -1772,7 +1773,7 @@ index 4729cf0..92c0b81 100644 bool b_duplicate) { + dvbpsi_descriptor_t * p_descriptor; -+ int i; ++ int i; if (p_decoded->i_pages_number > DVBPSI_TELETEXT_DR_MAX) p_decoded->i_pages_number = DVBPSI_TELETEXT_DR_MAX; @@ -1787,7 +1788,7 @@ index 4729cf0..92c0b81 100644 - for (int i = 0; i < p_decoded->i_pages_number; i++ ) + for (i = 0; i < p_decoded->i_pages_number; i++ ) { - memcpy( p_descriptor->p_data + 8 * i, + memcpy( p_descriptor->p_data + 5 * i, p_decoded->p_pages[i].i_iso6392_language_code, diff --git a/src/descriptors/dr_58.c b/src/descriptors/dr_58.c index cc52630..cb1fc46 100644 @@ -2046,7 +2047,7 @@ index 117d58a..9ddb3cf 100644 dvbpsi_caption_service_t * p_service = &p_decoded->services[i]; diff --git a/src/descriptors/dr_8a.c b/src/descriptors/dr_8a.c -index 899640e..7e059af 100644 +index 1b59a58..292b995 100644 --- a/src/descriptors/dr_8a.c +++ b/src/descriptors/dr_8a.c @@ -45,6 +45,7 @@ @@ -2119,7 +2120,7 @@ index 0e7130c..67bdc89 100644 p_es_data[1] = p_es.i_elementary_pid >> 8; p_es_data[2] = p_es.i_elementary_pid; diff --git a/src/dvbpsi.c b/src/dvbpsi.c -index b8f5489..7c16aaa 100644 +index c5f0ddc..d5a1377 100644 --- a/src/dvbpsi.c +++ b/src/dvbpsi.c @@ -79,9 +79,10 @@ void dvbpsi_delete(dvbpsi_t *p_dvbpsi) @@ -2173,7 +2174,7 @@ index b8f5489..7c16aaa 100644 while (p) { -@@ -262,6 +267,7 @@ bool dvbpsi_packet_push(dvbpsi_t *p_dvbpsi, uint8_t* p_data) +@@ -263,6 +268,7 @@ bool dvbpsi_packet_push(dvbpsi_t *p_dvbpsi, uint8_t* p_data) section is handled */ int i_available; /* Byte count available in the packet */ @@ -2181,7 +2182,7 @@ index b8f5489..7c16aaa 100644 dvbpsi_decoder_t *p_decoder = p_dvbpsi->p_decoder; assert(p_decoder); -@@ -274,7 +280,7 @@ bool dvbpsi_packet_push(dvbpsi_t *p_dvbpsi, uint8_t* p_data) +@@ -275,7 +281,7 @@ bool dvbpsi_packet_push(dvbpsi_t *p_dvbpsi, uint8_t* p_data) } /* Continuity check */ @@ -2190,7 +2191,7 @@ index b8f5489..7c16aaa 100644 if (b_first) p_decoder->i_continuity_counter = p_data[3] & 0xf; else -@@ -521,17 +527,18 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char +@@ -522,17 +528,18 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char (level <= dvbpsi->i_msg_level)) { va_list ap; @@ -2212,7 +2213,7 @@ index b8f5489..7c16aaa 100644 #endif va_end(ap); if (err > 0) { -@@ -548,14 +555,15 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char +@@ -549,14 +556,15 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char # define DVBPSI_MSG_COMMON(level) \ do { \ va_list ap; \ @@ -2231,7 +2232,7 @@ index b8f5489..7c16aaa 100644 if (asprintf(&msg, DVBPSI_MSG_FORMAT "%s", src, tmp) < 0) { \ va_end(ap); \ free(tmp); \ -@@ -573,9 +581,10 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char +@@ -574,9 +582,10 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char # define DVBPSI_MSG_COMMON(level) \ do { \ va_list ap; \ @@ -2243,7 +2244,7 @@ index b8f5489..7c16aaa 100644 if ((tmp == NULL) || (msg == NULL)) { \ va_end(ap); \ if (tmp) free(tmp); \ -@@ -589,7 +598,7 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char +@@ -590,7 +599,7 @@ void dvbpsi_message(dvbpsi_t *dvbpsi, const dvbpsi_msg_level_t level, const char return; \ } \ va_end(ap); \ @@ -2774,7 +2775,7 @@ index 385c50d..1539ffc 100644 /* TS discontinuity check */ if (p_cat_decoder->b_discontinuity) diff --git a/src/tables/eit.c b/src/tables/eit.c -index fa1ae7e..0399404 100644 +index 1853d10..969feab 100644 --- a/src/tables/eit.c +++ b/src/tables/eit.c @@ -57,10 +57,13 @@ @@ -2876,7 +2877,7 @@ index fa1ae7e..0399404 100644 /* TS discontinuity check */ if (p_demux->b_discontinuity) -@@ -541,12 +544,13 @@ void dvbpsi_eit_sections_decode(dvbpsi_eit_t* p_eit, +@@ -540,12 +543,13 @@ void dvbpsi_eit_sections_decode(dvbpsi_eit_t* p_eit, dvbpsi_eit_event_t *p_event = dvbpsi_eit_event_add(p_eit, i_event_id, i_start_time, i_duration, i_running_status, b_free_ca, i_ev_length); @@ -3562,3 +3563,34 @@ index d4a650f..d641235 100644 -- 2.7.0 + +From 825b7af634e2fdeb59ad7a565dd1140bc674a7c1 Mon Sep 17 00:00:00 2001 +From: fbrosson +Date: Sat, 26 May 2018 21:07:34 +0000 +Subject: C89 fix for gcc2 compatibility. + + +diff --git a/src/tables/eit.c b/src/tables/eit.c +index 969feab..353cb4f 100644 +--- a/src/tables/eit.c ++++ b/src/tables/eit.c +@@ -428,6 +428,7 @@ void dvbpsi_eit_sections_gather(dvbpsi_t *p_dvbpsi, dvbpsi_decoder_t *p_private_ + { + dvbpsi_demux_t *p_demux; + dvbpsi_eit_decoder_t* p_eit_decoder; ++ bool b_complete; + + const uint8_t i_table_id = (p_section->i_table_id >= 0x4e && + p_section->i_table_id <= 0x6f) ? +@@ -476,7 +477,7 @@ void dvbpsi_eit_sections_gather(dvbpsi_t *p_dvbpsi, dvbpsi_decoder_t *p_private_ + } + } + +- bool b_complete = dvbpsi_IsCompleteEIT(p_eit_decoder, p_section); ++ b_complete = dvbpsi_IsCompleteEIT(p_eit_decoder, p_section); + + /* Add section to EIT */ + if (!dvbpsi_AddSectionEIT(p_dvbpsi, p_eit_decoder, p_section)) +-- +2.17.0 +