Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
DESCRIPTION = "The Audio File Library provides a uniform and elegant \
API for accessing a variety of audio file formats, such as AIFF/AIFF-C, \
WAVE, NeXT/Sun .snd/.au, Berkeley/IRCAM/CARL Sound File, Audio Visual \
Research, Amiga IFF/8SVX, and NIST SPHERE."
HOMEPAGE = "http://www.68k.org/~michael/audiofile/"
SECTION = "libs"
LICENSE = "LGPL-2.0-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = " \
${GNOME_MIRROR}/audiofile/0.3/${BP}.tar.xz \
file://0001-fix-negative-shift-constants.patch \
file://0002-fix-build-on-gcc6.patch \
file://0003-fix-CVE-2015-7747.patch \
"
SRC_URI[md5sum] = "235dde14742317328f0109e9866a8008"
SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8cb59782"
inherit autotools lib_package pkgconfig
CXXFLAGS += "-std=c++14"
DEPENDS = " \
asciidoc-native \
alsa-lib \
libogg \
flac \
"

View File

@@ -0,0 +1,79 @@
From 99127676dba8f5d607757428bc14a6b7ab52d5ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Fri, 16 Dec 2016 12:42:06 +0100
Subject: [PATCH 1/3] fix negative shift constants
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Stolen from [1]
[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-left-shift-neg.patch
Upstrem-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
Upstream-Status: Pending
libaudiofile/modules/SimpleModule.h | 2 +-
test/FloatToInt.cpp | 2 +-
test/IntToFloat.cpp | 2 +-
test/Sign.cpp | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libaudiofile/modules/SimpleModule.h b/libaudiofile/modules/SimpleModule.h
index 03c6c69..e4cc138 100644
--- a/libaudiofile/modules/SimpleModule.h
+++ b/libaudiofile/modules/SimpleModule.h
@@ -123,7 +123,7 @@ struct signConverter
typedef typename IntTypes<Format>::UnsignedType UnsignedType;
static const int kScaleBits = (Format + 1) * CHAR_BIT - 1;
- static const int kMinSignedValue = -1 << kScaleBits;
+ static const int kMinSignedValue = 0-(1U<<kScaleBits);
struct signedToUnsigned : public std::unary_function<SignedType, UnsignedType>
{
diff --git a/test/FloatToInt.cpp b/test/FloatToInt.cpp
index 0d179a8..bf491b2 100644
--- a/test/FloatToInt.cpp
+++ b/test/FloatToInt.cpp
@@ -115,7 +115,7 @@ TEST_F(FloatToIntTest, Int16)
EXPECT_EQ(readData[i], expectedData[i]);
}
-static const int32_t kMinInt24 = -1<<23;
+static const int32_t kMinInt24 = 0-(1U<<23);
static const int32_t kMaxInt24 = (1<<23) - 1;
TEST_F(FloatToIntTest, Int24)
diff --git a/test/IntToFloat.cpp b/test/IntToFloat.cpp
index b716635..1d91b58 100644
--- a/test/IntToFloat.cpp
+++ b/test/IntToFloat.cpp
@@ -117,7 +117,7 @@ TEST_F(IntToFloatTest, Int16)
EXPECT_EQ(readData[i], expectedData[i]);
}
-static const int32_t kMinInt24 = -1<<23;
+static const int32_t kMinInt24 = 0-(1U<<23);
static const int32_t kMaxInt24 = (1<<23) - 1;
TEST_F(IntToFloatTest, Int24)
diff --git a/test/Sign.cpp b/test/Sign.cpp
index 7275399..c339514 100644
--- a/test/Sign.cpp
+++ b/test/Sign.cpp
@@ -116,7 +116,7 @@ TEST_F(SignConversionTest, Int16)
EXPECT_EQ(readData[i], expectedData[i]);
}
-static const int32_t kMinInt24 = -1<<23;
+static const int32_t kMinInt24 = 0-(1U<<23);
static const int32_t kMaxInt24 = (1<<23) - 1;
static const uint32_t kMaxUInt24 = (1<<24) - 1;
--
2.7.4

View File

@@ -0,0 +1,77 @@
From a74c1e9c583375b9e55c29a36442485089e4b7f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Fri, 16 Dec 2016 12:42:06 +0100
Subject: [PATCH 2/3] fix build on gcc6
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Stolen from [1]
[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-narrowing.patch
Upstrem-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
Upstream-Status: Pending
test/NeXT.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/test/NeXT.cpp b/test/NeXT.cpp
index 7e39850..a37cea1 100644
--- a/test/NeXT.cpp
+++ b/test/NeXT.cpp
@@ -37,13 +37,13 @@
#include "TestUtilities.h"
-const char kDataUnspecifiedLength[] =
+const signed char kDataUnspecifiedLength[] =
{
'.', 's', 'n', 'd',
0, 0, 0, 24, // offset of 24 bytes
- 0xff, 0xff, 0xff, 0xff, // unspecified length
+ -1, -1, -1, -1, // unspecified length
0, 0, 0, 3, // 16-bit linear
- 0, 0, 172, 68, // 44100 Hz
+ 0, 0, -84, 68, // 44100 Hz (0xAC44)
0, 0, 0, 1, // 1 channel
0, 1,
0, 1,
@@ -57,13 +57,13 @@ const char kDataUnspecifiedLength[] =
0, 55
};
-const char kDataTruncated[] =
+const signed char kDataTruncated[] =
{
'.', 's', 'n', 'd',
0, 0, 0, 24, // offset of 24 bytes
0, 0, 0, 20, // length of 20 bytes
0, 0, 0, 3, // 16-bit linear
- 0, 0, 172, 68, // 44100 Hz
+ 0, 0, -84, 68, // 44100 Hz (0xAC44)
0, 0, 0, 1, // 1 channel
0, 1,
0, 1,
@@ -152,13 +152,13 @@ TEST(NeXT, Truncated)
ASSERT_EQ(::unlink(testFileName.c_str()), 0);
}
-const char kDataZeroChannels[] =
+const signed char kDataZeroChannels[] =
{
'.', 's', 'n', 'd',
0, 0, 0, 24, // offset of 24 bytes
0, 0, 0, 2, // 2 bytes
0, 0, 0, 3, // 16-bit linear
- 0, 0, 172, 68, // 44100 Hz
+ 0, 0, -84, 68, // 44100 Hz (0xAC44)
0, 0, 0, 0, // 0 channels
0, 1
};
--
2.7.4

View File

@@ -0,0 +1,35 @@
From 746c38105ce4fa1b609995d3386ea6b8b1f2f7bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Fri, 16 Dec 2016 12:50:51 +0100
Subject: [PATCH 3/3] fix CVE-2015-7747
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Stolen from [1]
[1] http://pkgs.fedoraproject.org/cgit/rpms/audiofile.git/tree/audiofile-0.3.6-CVE-2015-7747.patch
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
libaudiofile/modules/ModuleState.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libaudiofile/modules/ModuleState.cpp b/libaudiofile/modules/ModuleState.cpp
index f76c495..0c29d7a 100644
--- a/libaudiofile/modules/ModuleState.cpp
+++ b/libaudiofile/modules/ModuleState.cpp
@@ -402,7 +402,7 @@ status ModuleState::arrange(AFfilehandle file, Track *track)
addModule(new Transform(outfc, in.pcm, out.pcm));
if (in.channelCount != out.channelCount)
- addModule(new ApplyChannelMatrix(infc, isReading,
+ addModule(new ApplyChannelMatrix(outfc, isReading,
in.channelCount, out.channelCount,
in.pcm.minClip, in.pcm.maxClip,
track->channelMatrix));
--
2.7.4

View File

@@ -0,0 +1,64 @@
SUMMARY = "CD/DVD command line tools"
HOMEPAGE = "http://cdrkit.org/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8"
# While writing download from cdrkit.org was broken so get sources from debian
SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \
file://0001-do-not-create-a-run-test-to-determine-order-of-bitfi.patch \
file://0001-genisoimage-Fix-fprintf-format-errors.patch \
file://0001-define-__THROW-to-avoid-build-issue-with-musl.patch \
file://0002-Do-not-use-rcmd-on-build-with-musl.patch \
file://0001-genisoimage-Add-missing-extern-definition.patch \
file://0001-add-new-option-eltorito-platform.patch \
file://0001-genisoimage-Add-checksum.h-and-md5.h-for-function-pr.patch \
"
SRC_URI:append:class-nativesdk = " \
file://0001-install-netscsid-to-bin-for-nativesdk.patch \
"
SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9"
SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da"
inherit cmake
DEPENDS = "libcap file bzip2"
RDEPENDS:dirsplit = "perl"
RDEPENDS:${PN}-dev = ""
PACKAGES =+ "dirsplit genisoimage icedax wodim"
FILES:dirsplit = " \
${bindir}/dirsplit \
"
FILES:genisoimage = " \
${bindir}/devdump \
${bindir}/genisoimage \
${bindir}/isodebug \
${bindir}/isodump \
${bindir}/isoinfo \
${bindir}/isovfy \
${bindir}/mkisofs \
"
FILES:icedax = " \
${bindir}/cdda2mp3 \
${bindir}/cdda2ogg \
${bindir}/icedax \
${bindir}/pitchplay \
${bindir}/readmult \
"
FILES:wodim = " \
${bindir}/readom \
${bindir}/wodim \
${sbindir}/netscsid \
"
do_install:append() {
ln -sf --relative ${D}${bindir}/genisoimage ${D}${bindir}/mkisofs
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,335 @@
From 5a2d571f3687910260c45841725f2deb84c8f12e Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 25 Apr 2022 18:18:00 +0800
Subject: [PATCH] add new option -eltorito-platform
Mkisofs now correctly supports El Torito multi boot entries by introducing
a Boot Dection Header before a list of alternate boot entries.
New option -eltorito-platform allows to set the El Torito platform id
for a boot entry or for a list of boot entries. Supported values for
the parameter are:
- x86 the standard value vor x86 based PCs
- PPC the Power PC platform
- Mac The Apple Mac platform
- efi EFI based boot for PCs
- # an arbitrary numerical value
Upstream-Status: Inappropriate [port from cdrtools]
https://github.com/jobermayr/cdrtools/commit/a50804fd61d75eb689a515dbfca6968ca2296fd7
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
genisoimage/eltorito.c | 73 +++++++++++++++++++++++++++++++++++++--
genisoimage/genisoimage.c | 47 +++++++++++++++++++++++++
genisoimage/genisoimage.h | 8 +++++
genisoimage/iso9660.h | 33 ++++++++++++++++--
4 files changed, 157 insertions(+), 4 deletions(-)
diff --git a/genisoimage/eltorito.c b/genisoimage/eltorito.c
index d52e17e..a804988 100644
--- a/genisoimage/eltorito.c
+++ b/genisoimage/eltorito.c
@@ -56,6 +56,7 @@ static unsigned int bcat_de_flags;
void init_boot_catalog(const char *path);
void insert_boot_cat(void);
static void get_torito_desc(struct eltorito_boot_descriptor *boot_desc);
+static void fill_boot_shdr(struct eltorito_sectionheader_entry *boot_shdr_entry, int arch);
static void fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry,
struct eltorito_boot_entry_info *boot_entry);
void get_boot_entry(void);
@@ -282,7 +283,14 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
struct directory_entry *de2; /* Boot catalog */
int i;
int offset;
+ int arch = 0;
+ int nentries = 0;
struct eltorito_defaultboot_entry boot_desc_record;
+ struct eltorito_sectionheader_entry boot_shdr_record;
+#ifdef __needed__
+ struct eltorito_section_entry boot_section_record;
+#endif
+ struct eltorito_sectionheader_entry *last_section_header = 0;
memset(boot_desc, 0, sizeof (*boot_desc));
boot_desc->type[0] = 0;
@@ -311,13 +319,22 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
set_731(boot_desc->bootcat_ptr,
(unsigned int) get_733(de2->isorec.extent));
+ /*
+ * If the platform id for the first (default) boot entry has not been
+ * explicitly set, we default to EL_TORITO_ARCH_x86
+ */
+ if ((first_boot_entry->type & ELTORITO_BOOT_ID) == 0) {
+ first_boot_entry->boot_platform = EL_TORITO_ARCH_x86;
+ }
+ arch = first_boot_entry->boot_platform;
+
/*
* we have the boot image, so write boot catalog information
* Next we write out the primary descriptor for the disc
*/
memset(&valid_desc, 0, sizeof (valid_desc));
valid_desc.headerid[0] = 1;
- valid_desc.arch[0] = EL_TORITO_ARCH_x86;
+ valid_desc.arch[0] = arch; /* Platform id for the default boot */
/*
* we'll shove start of publisher id into id field,
@@ -351,8 +368,17 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
current_boot_entry != NULL;
current_boot_entry = current_boot_entry->next,
offset += sizeof (boot_desc_record)) {
+ int newarch = arch;
- if (offset >= SECTOR_SIZE) {
+ if (current_boot_entry->type & ELTORITO_BOOT_ID)
+ newarch = current_boot_entry->boot_platform;
+ else
+ current_boot_entry->boot_platform = arch;
+
+ /*
+ * El Torito has no such limitation but we currently have...
+ */
+ if (offset >= (SECTOR_SIZE - sizeof (boot_desc_record))) {
#ifdef USE_LIBSCHILY
comerrno(EX_BAD,
"Too many El Torito boot entries\n");
@@ -362,12 +388,53 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
exit(1);
#endif
}
+
+ if (current_boot_entry == first_boot_entry) {
+ ;
+ /* EMPTY */
+ } else if ((current_boot_entry == first_boot_entry->next) ||
+ (arch != newarch) ||
+ (current_boot_entry->type & ELTORITO_SECTION_HEADER)) {
+ if (last_section_header)
+ set_721(&last_section_header->entry_count, nentries);
+ nentries = 1;
+ last_section_header = (struct eltorito_sectionheader_entry *)
+ (de2->table + offset);
+ fill_boot_shdr(&boot_shdr_record, newarch);
+ memcpy(de2->table + offset, &boot_shdr_record,
+ sizeof (boot_shdr_record));
+ offset += sizeof (boot_desc_record);
+ } else {
+ nentries++; /* Add entry to this section header */
+ }
+ /*
+ * This works because a section entry has the same essential
+ * layout as a default entry (and we do not populate the
+ * selection criteria fields).
+ */
+
fill_boot_desc(&boot_desc_record, current_boot_entry);
memcpy(de2->table + offset, &boot_desc_record,
sizeof (boot_desc_record));
}
+
+ if (last_section_header) {
+ set_721(&last_section_header->entry_count, nentries);
+ last_section_header->header_id[0] = EL_TORITO_SHDR_ID_LAST_SHDR;
+ }
+
}/* get_torito_desc(... */
+static void
+fill_boot_shdr(boot_shdr_entry, arch)
+ struct eltorito_sectionheader_entry *boot_shdr_entry;
+ int arch;
+{
+ memset(boot_shdr_entry, 0, sizeof(struct eltorito_sectionheader_entry));
+ boot_shdr_entry->header_id[0] = EL_TORITO_SHDR_ID_SHDR;
+ boot_shdr_entry->platform_id[0] = arch;
+}
+
static void
fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry,
struct eltorito_boot_entry_info *boot_entry)
@@ -678,7 +745,9 @@ get_boot_entry()
if (!first_boot_entry) {
first_boot_entry = current_boot_entry;
last_boot_entry = current_boot_entry;
+ current_boot_entry->boot_platform = EL_TORITO_ARCH_x86;
} else {
+ current_boot_entry->boot_platform = last_boot_entry->boot_platform;
last_boot_entry->next = current_boot_entry;
last_boot_entry = current_boot_entry;
}
diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
index 9089081..84ac3c2 100644
--- a/genisoimage/genisoimage.c
+++ b/genisoimage/genisoimage.c
@@ -271,6 +271,8 @@ struct rcopts {
char **variable;
};
+static int get_boot_platid(char *opt_arg);
+
struct rcopts rcopt[] = {
{"PREP", &preparer},
{"PUBL", &publisher},
@@ -404,6 +406,7 @@ struct ld_option {
#define OPTION_ALLOW_LEADING_DOTS 1070
#define OPTION_PUBLISHER 1071
+#define OPTION_PLATFORM 1072
#ifdef JIGDO_TEMPLATE
#define OPTION_JTT_OUTPUT 1101
@@ -528,6 +531,8 @@ static const struct ld_option ld_options[] =
'b', "FILE", "Set El Torito boot image name", ONE_DASH},
{{"eltorito-alt-boot", no_argument, NULL, OPTION_ALT_BOOT},
'\0', NULL, "Start specifying alternative El Torito boot parameters", ONE_DASH},
+ {{"eltorito-platform", required_argument, NULL, OPTION_PLATFORM},
+ '\0', "ID", "Set El Torito platform id for the next boot entry", ONE_DASH},
{{"sparc-boot", required_argument, NULL, 'B'},
'B', "FILES", "Set sparc boot image names", ONE_DASH},
{{"sunx86-boot", required_argument, NULL, OPTION_SUNX86BOOT},
@@ -1558,6 +1563,9 @@ int main(int argc, char *argv[])
*/
new_boot_entry();
break;
+ case OPTION_PLATFORM:
+ get_boot_platid(optarg);
+ break;
case OPTION_BOOTALPHA:
use_alphaboot++;
/* list of pathnames of boot images */
@@ -3829,3 +3837,42 @@ e_malloc(size_t size)
memset(pt, 0, size);
return (pt);
}
+
+static int
+get_boot_platid(char *opt_arg)
+{
+ long val;
+ char *ptr;
+
+ use_eltorito++;
+ if (streql(opt_arg, "x86")) {
+ val = EL_TORITO_ARCH_x86;
+ } else if (streql(opt_arg, "PPC")) {
+ val = EL_TORITO_ARCH_PPC;
+ } else if (streql(opt_arg, "Mac")) {
+ val = EL_TORITO_ARCH_PPC;
+ } else if (streql(opt_arg, "efi")) {
+ val = EL_TORITO_ARCH_EFI;
+ } else {
+ val = strtol(opt_arg, &ptr, 0);
+ if (*ptr || val < 0 || val >= 0x100) {
+ comerrno(EX_BAD, "Bad boot system ID.\n");
+ }
+ }
+
+ /*
+ * If there is already a boot entry and the boot file name has been set
+ * for this boot entry and the new platform id differs from the
+ * previous value, we start a new boot section.
+ */
+ if (current_boot_entry &&
+ current_boot_entry->boot_image != NULL &&
+ current_boot_entry->boot_platform != val) {
+ new_boot_entry();
+ }
+ get_boot_entry();
+ current_boot_entry->type |= ELTORITO_BOOT_ID;
+ current_boot_entry->boot_platform = val;
+ return (1);
+}
+
diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h
index 82c859b..1170d89 100644
--- a/genisoimage/genisoimage.h
+++ b/genisoimage/genisoimage.h
@@ -299,6 +299,14 @@ struct eltorito_boot_entry_info {
int boot_info_table;
int load_size;
int load_addr;
+
+#define ELTORITO_BOOT_ID 1
+#define ELTORITO_SECTION_HEADER 2
+ int type;
+ /*
+ * Valid if (type & ELTORITO_BOOT_ID) != 0
+ */
+ int boot_platform;
};
extern int goof;
diff --git a/genisoimage/iso9660.h b/genisoimage/iso9660.h
index c74c2a9..61b6fc0 100644
--- a/genisoimage/iso9660.h
+++ b/genisoimage/iso9660.h
@@ -62,6 +62,7 @@ struct iso_volume_descriptor {
#define EL_TORITO_ARCH_x86 0
#define EL_TORITO_ARCH_PPC 1
#define EL_TORITO_ARCH_MAC 2
+#define EL_TORITO_ARCH_EFI 0xEF
#define EL_TORITO_BOOTABLE 0x88
#define EL_TORITO_NOT_BOOTABLE 0
@@ -159,10 +160,15 @@ struct eltorito_boot_descriptor {
};
/* Validation entry for El Torito */
+/*
+ * headerid must be 1
+ * id is the manufacturer ID
+ * cksum to make the sum of all shorts in this record 0
+ */
struct eltorito_validation_entry {
char headerid [ISODCL(1, 1)]; /* 711 */
char arch [ISODCL(2, 2)];
- char pad1 [ISODCL(3, 4)]; /* 711 */
+ char pad1 [ISODCL(3, 4)]; /* 721 */
char id [ISODCL(5, 28)]; /* CD devel/man*/
char cksum [ISODCL(29, 30)];
char key1 [ISODCL(31, 31)];
@@ -173,7 +179,7 @@ struct eltorito_validation_entry {
struct eltorito_defaultboot_entry {
char boot_id [ISODCL(1, 1)]; /* 711 */
char boot_media [ISODCL(2, 2)];
- char loadseg [ISODCL(3, 4)]; /* 711 */
+ char loadseg [ISODCL(3, 4)]; /* 721 */
char sys_type [ISODCL(5, 5)];
char pad1 [ISODCL(6, 6)];
char nsect [ISODCL(7, 8)];
@@ -181,6 +187,29 @@ struct eltorito_defaultboot_entry {
char pad2 [ISODCL(13, 32)];
};
+/* El Torito section header entry in boot catalog */
+struct eltorito_sectionheader_entry {
+#define EL_TORITO_SHDR_ID_SHDR 0x90
+#define EL_TORITO_SHDR_ID_LAST_SHDR 0x91
+ char header_id [ISODCL(1, 1)]; /* 711 */
+ char platform_id [ISODCL(2, 2)];
+ char entry_count [ISODCL(3, 4)]; /* 721 */
+ char id [ISODCL(5, 32)];
+};
+
+/* El Torito section entry in boot catalog */
+struct eltorito_section_entry {
+ char boot_id [ISODCL(1, 1)]; /* 711 */
+ char boot_media [ISODCL(2, 2)];
+ char loadseg [ISODCL(3, 4)]; /* 721 */
+ char sys_type [ISODCL(5, 5)];
+ char pad1 [ISODCL(6, 6)];
+ char nsect [ISODCL(7, 8)];
+ char bootoff [ISODCL(9, 12)];
+ char sel_criteria [ISODCL(13, 13)];
+ char vendor_sel_criteria [ISODCL(14, 32)];
+};
+
/*
* XXX JS: The next two structures have odd lengths!
* Some compilers (e.g. on Sun3/mc68020) padd the structures to even length.
--
2.27.0

View File

@@ -0,0 +1,49 @@
From 7c3036609494296f7c29413bf3acba829c81f62c Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@openwide.fr>
Date: Sat, 8 Aug 2015 22:58:57 +0200
Subject: [PATCH 1/2] define __THROW to avoid build issue with musl
Fixes:
http://autobuild.buildroot.net/results/d27/d2781e70b04a207e2e9397d888032294c7285034/build-end.log
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
Upstream-Status: Pending
genisoimage/sha256.h | 4 ++++
genisoimage/sha512.h | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/genisoimage/sha256.h b/genisoimage/sha256.h
index e7f4cb9..bcae7ef 100644
--- a/genisoimage/sha256.h
+++ b/genisoimage/sha256.h
@@ -29,6 +29,10 @@
#include <stdint.h>
#include <stdio.h>
+/* define __THROW to avoid build issue when it's not available from the libc */
+#ifndef __THROW
+# define __THROW
+#endif
/* Structure to save state of computation between the single steps. */
struct sha256_ctx
diff --git a/genisoimage/sha512.h b/genisoimage/sha512.h
index 7298355..8cee8b0 100644
--- a/genisoimage/sha512.h
+++ b/genisoimage/sha512.h
@@ -29,6 +29,10 @@
#include <stdint.h>
#include <stdio.h>
+/* define __THROW to avoid build issue when it's not available from the libc */
+#ifndef __THROW
+# define __THROW
+#endif
/* Structure to save state of computation between the single steps. */
struct sha512_ctx
--
2.14.1

View File

@@ -0,0 +1,53 @@
From a702cd1bb5eba5a05d1098862b5b863a3f6dd558 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 10 Sep 2015 09:39:13 +0200
Subject: [PATCH] do not create a run test to determine order of bitfields
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
taken from [1]
Upstream-Status: Inappropriate [cross compile specific]
[1] http://cgit.openembedded.org/openembedded/tree/recipes/cdrkit/cdrkit/xconfig.patch
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
include/CMakeLists.txt | 2 --
include/xconfig.h.in | 6 +++++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index 99a69fd..e5ba8a7 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -35,8 +35,6 @@ endif(VA_LIST_IS_ARRAY)
INCLUDE(TestBigEndian)
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
-TRY_RUN(BITFIELDS_HTOL TEST_DUMMY ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/test_BITFIELDS_HTOL.c)
-
INCLUDE(CheckIncludeFiles)
#SET(CMAKE_REQUIRED_INCLUDES "/usr/include;/usr/local/include")
diff --git a/include/xconfig.h.in b/include/xconfig.h.in
index c130600..476c00b 100644
--- a/include/xconfig.h.in
+++ b/include/xconfig.h.in
@@ -233,7 +233,11 @@
/* If using network byte order */
#cmakedefine WORDS_BIGENDIAN
/* If high bits come first in structures */
-#cmakedefine BITFIELDS_HTOL
+#ifdef WORDS_BIGENDIAN
+#define BITFIELDS_HTOL
+#else
+#define BITFIELDS_LTOH
+#endif
#define HAVE_C_BIGENDIAN /* Flag that WORDS_BIGENDIAN test was done */
#define HAVE_C_BITFIELDS /* Flag that BITFIELDS_HTOL test was done */
--
2.1.0

View File

@@ -0,0 +1,44 @@
From f28b8ec20c3485068f1617ff93b497bafe5264e1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 3 Sep 2022 00:50:17 -0700
Subject: [PATCH] genisoimage: Add checksum.h and md5.h for function prototypes
Needed for parse_checksum_algo and calculate_md5sum
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
genisoimage/genisoimage.c | 2 ++
genisoimage/jte.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
index 84ac3c2..5c9f7f3 100644
--- a/genisoimage/genisoimage.c
+++ b/genisoimage/genisoimage.c
@@ -59,6 +59,8 @@
#include "udf.h"
#endif
+#include "checksum.h"
+
#ifdef NEED_O_BINARY
#include <io.h> /* for setmode() prototype */
#endif
diff --git a/genisoimage/jte.c b/genisoimage/jte.c
index 0dff289..1f03ad3 100644
--- a/genisoimage/jte.c
+++ b/genisoimage/jte.c
@@ -36,6 +36,8 @@
#include "vms.h"
#endif
+#include "md5.h"
+
/* Different types used in building our state list below */
#define JTET_FILE_MATCH 1
#define JTET_NOMATCH 2
--
2.37.3

View File

@@ -0,0 +1,29 @@
From fd5251cc8b82ce7a5f907c5129969097d75609fe Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Aug 2020 17:38:59 -0700
Subject: [PATCH] genisoimage: Add missing extern definition
Fixed build with gcc10
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
genisoimage/genisoimage.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h
index bbedfb0..82c859b 100644
--- a/genisoimage/genisoimage.h
+++ b/genisoimage/genisoimage.h
@@ -376,7 +376,7 @@ extern int use_fileversion;
extern int split_SL_component;
extern int split_SL_field;
extern char *trans_tbl;
-char *outfile;
+extern char *outfile;
#define JMAX 64 /* maximum Joliet file name length (spec) */
#define JLONGMAX 103 /* out of spec Joliet file name length */
--
2.28.0

View File

@@ -0,0 +1,51 @@
From 8547f23c4416ed98f585c53c62e7d8afd8edab36 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 27 Jun 2017 21:05:31 -0700
Subject: [PATCH] genisoimage: Fix fprintf format errors
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
genisoimage/genisoimage.c | 4 ++--
genisoimage/tree.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
index 46f0cb7..9089081 100644
--- a/genisoimage/genisoimage.c
+++ b/genisoimage/genisoimage.c
@@ -3406,7 +3406,7 @@ if (check_session == 0)
if (goof) {
fprintf(stderr, "ISO9660/Rock Ridge tree sort failed.\n");
if(merge_warn_msg)
- fprintf(stderr, merge_warn_msg);
+ fprintf(stderr, "%s", merge_warn_msg);
exit(1);
}
#ifdef UDF
@@ -3419,7 +3419,7 @@ if (check_session == 0)
if (goof) {
fprintf(stderr, "Joliet tree sort failed. The -joliet-long switch may help you.\n");
if(merge_warn_msg)
- fprintf(stderr, merge_warn_msg);
+ fprintf(stderr, "%s", merge_warn_msg);
exit(1);
}
/*
diff --git a/genisoimage/tree.c b/genisoimage/tree.c
index 7805888..8412cc3 100644
--- a/genisoimage/tree.c
+++ b/genisoimage/tree.c
@@ -647,7 +647,7 @@ got_valid_name:
fprintf(stderr, "Unable to sort directory %s\n",
this_dir->whole_name);
if(merge_warn_msg)
- fprintf(stderr, merge_warn_msg);
+ fprintf(stderr, "%s", merge_warn_msg);
exit(1);
}
/*
--
2.13.2

View File

@@ -0,0 +1,28 @@
From 6b698b7c1045d279fe24818d45c67d9884d5fd81 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 7 May 2021 15:10:04 +0800
Subject: [PATCH] install netscsid to bin for nativesdk
For Yocto, the nativesdk does not have sbin dir, use bin to relpace
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
netscsid/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/netscsid/CMakeLists.txt b/netscsid/CMakeLists.txt
index f6bddf1..cf23312 100644
--- a/netscsid/CMakeLists.txt
+++ b/netscsid/CMakeLists.txt
@@ -9,5 +9,5 @@ ADD_EXECUTABLE (netscsid netscsid.c)
#SET_SOURCE_FILES_PROPERTIES(netscsid.c )
TARGET_LINK_LIBRARIES(netscsid ${EXTRA_LIBS} )
#SET_TARGET_PROPERTIES(netscsid PROPERTIES SKIP_BUILD_RPATH TRUE)
-INSTALL(TARGETS netscsid DESTINATION sbin)
+INSTALL(TARGETS netscsid DESTINATION bin)
--
2.27.0

View File

@@ -0,0 +1,33 @@
From 510838b2c96a9b097b3ee2694cba1c3623b0bac7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 21 Sep 2017 22:38:05 -0700
Subject: [PATCH 2/2] Do not use rcmd on build with musl
cdrkit unconditionally enables code using rcmd(3), which isn't available
on musl.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
include/xconfig.h.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/xconfig.h.in b/include/xconfig.h.in
index 476c00b..6b4b298 100644
--- a/include/xconfig.h.in
+++ b/include/xconfig.h.in
@@ -186,8 +186,9 @@
* Instead use the tests AC_SMALL_FSEEKO/AC_SMALL/STELLO and make sure
* they are placed before the large file tests.
*/
-
+#ifdef __GLIBC__
#define HAVE_RCMD 1 /* rcmd() is present in libc/libsocket */
+#endif
#define HAVE_SOCKET 1 /* socket() is present in libc/libsocket */
#define HAVE_SOCKETPAIR 1 /* socketpair() is present in libc/libsocket */
#define HAVE_GETSERVBYNAME 1 /* getservbyname() is present in libc/libsocket */
--
2.14.1

View File

@@ -0,0 +1,17 @@
SUMMARY = "An open source MPEG-4 and MPEG-2 AAC decoding library"
HOMEPAGE = "http://www.audiocoding.com/faad2.html"
SECTION = "libs"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=381c8cbe277a7bc1ee2ae6083a04c958"
LICENSE_FLAGS = "commercial"
PV .= "+git"
SRC_URI = "git://github.com/knik0/faad2.git;branch=master;protocol=https"
SRCREV = "216f00e8ddba6f2c64caf481a04f1ddd78b93e78"
S = "${WORKDIR}/git"
inherit cmake

View File

@@ -0,0 +1,42 @@
Add a description to the AC_DEFINE statements so that it appears in config.h and silences a fatal warning.
Upstream-Status: Pending
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
---
configure.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.in b/configure.in
index abfe4cd..ce0d380 100644
--- a/configure.in
+++ b/configure.in
@@ -168,7 +168,7 @@ if test $has_iconv = 1; then
iconv_oldstyle=1, iconv_oldstyle=0)
if test $iconv_oldstyle = 1; then
AC_MSG_RESULT(const char **)
- AC_DEFINE(ID3LIB_ICONV_OLDSTYLE)
+ AC_DEFINE(ID3LIB_ICONV_OLDSTYLE,[1],[Old iconv prototype definition in iconv.h])
#we'll check out the need of
#typecast in the call of iconv_open
AC_MSG_CHECKING(whether to typecast in iconv)
@@ -184,7 +184,7 @@ if test $has_iconv = 1; then
iconv_cast=0, iconv_cast=1)
if test $iconv_cast = 1; then
AC_MSG_RESULT(yes)
- AC_DEFINE(ID3LIB_ICONV_CAST_OK)
+ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype])
else
AC_MSG_RESULT(no)
fi
@@ -206,7 +206,7 @@ if test $has_iconv = 1; then
iconv_cast=0, iconv_cast=1)
if test $iconv_cast = 1; then
AC_MSG_RESULT(yes)
- AC_DEFINE(ID3LIB_ICONV_CAST_OK)
+ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype])
else
AC_MSG_RESULT(no)
fi
--
2.0.0

View File

@@ -0,0 +1,52 @@
SUMMARY = "Library for interacting with ID3 tags"
SECTION = "libs/multimedia"
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
DEPENDS = "zlib"
SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz;name=archive \
${DEBIAN_MIRROR}/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-16.2.debian.tar.xz;name=patch;subdir=${BP} \
file://acdefine.patch \
"
SRC_URI[archive.md5sum] = "19f27ddd2dda4b2d26a559a4f0f402a7"
SRC_URI[archive.sha256sum] = "2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079"
SRC_URI[patch.md5sum] = "997c764d3be11c9a51779d93facf1118"
SRC_URI[patch.sha256sum] = "ac2ee23ec89ba2af51d2c6dd5b1b6bf9f8a9f813de251bc182941439a4053176"
inherit autotools
# Unlike other Debian packages, id3lib*.diff.gz contains another series of
# patches maintained by quilt. So manually apply them before applying other local
# patches. Also remove all temp files before leaving, because do_patch() will pop
# up all previously applied patches in the start
do_patch[depends] += "quilt-native:do_populate_sysroot"
id3lib_do_patch() {
cd ${S}
# it's important that we only pop the existing patches when they've
# been applied, otherwise quilt will climb the directory tree
# and reverse out some completely different set of patches
if [ -d ${S}/patches ]; then
# whilst this is the default directory, doing it like this
# defeats the directory climbing that quilt will otherwise
# do; note the directory must exist to defeat this, hence
# the test inside which we operate
QUILT_PATCHES=${S}/patches quilt pop -a
fi
if [ -d ${S}/.pc-${BPN} ]; then
rm -rf ${S}/.pc
mv ${S}/.pc-${BPN} ${S}/.pc
QUILT_PATCHES=${S}/debian/patches quilt pop -a
rm -rf ${S}/.pc ${S}/debian
fi
QUILT_PATCHES=${S}/debian/patches quilt push -a
mv ${S}/.pc ${S}/.pc-${BPN}
}
do_unpack[cleandirs] += "${S}"
# We invoke base do_patch at end, to incorporate any local patch
python do_patch() {
bb.build.exec_func('id3lib_do_patch', d)
bb.build.exec_func('patch_do_patch', d)
}

View File

@@ -0,0 +1,19 @@
Add musl/ppc mcontext differences specific checks to choose
correct gregs and context structure definitions
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/sigsegv.c
+++ b/sigsegv.c
@@ -95,7 +95,11 @@ static void signal_segv(int signum, sigi
for(i = 0; i < NGREG; i++)
a2j_error("reg[%02d] = 0x" REGFORMAT, i,
#if defined(__powerpc__) && !defined(__powerpc64__)
+# if defined(__GLIBC__)
ucontext->uc_mcontext.uc_regs[i]
+# else
+ ucontext->uc_regs->gregs[i]
+# endif
#elif defined(__powerpc64__)
ucontext->uc_mcontext.gp_regs[i]
#elif defined(__sparc__) && defined(__arch64__)

View File

@@ -0,0 +1,24 @@
Add riscv specific checks to choose correct gregs and context structure definitions
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/sigsegv.c
+++ b/sigsegv.c
@@ -91,7 +91,7 @@ static void signal_segv(int signum, sigi
a2j_error("info.si_errno = %d", info->si_errno);
a2j_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]);
a2j_error("info.si_addr = %p", info->si_addr);
-#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__)
+#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__) && !defined(__riscv)
for(i = 0; i < NGREG; i++)
a2j_error("reg[%02d] = 0x" REGFORMAT, i,
#if defined(__powerpc__) && !defined(__powerpc64__)
@@ -104,7 +104,7 @@ static void signal_segv(int signum, sigi
ucontext->uc_mcontext.gregs[i]
#endif
);
-#endif /* alpha, ia64, kFreeBSD, arm, hppa, aarch64 */
+#endif /* alpha, ia64, kFreeBSD, arm, hppa, aarch64 riscv */
#if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64)
# if defined(SIGSEGV_STACK_IA64)

View File

@@ -0,0 +1,29 @@
SUMMARY = "a2jmidid is daemon for exposing ALSA sequencer applications as JACK MIDI"
SECTION = "libs/multimedia"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=751419260aa954499f7abaabaa882bbe \
"
DEPENDS = "alsa-lib jack dbus"
DEPENDS:append:libc-musl = " libexecinfo"
SRCREV = "de37569c926c5886768f892c019e3f0468615038"
SRC_URI = " \
git://github.com/linuxaudio/a2jmidid;protocol=https;branch=master \
file://riscv_ucontext.patch \
file://ppc_musl_ucontext.patch \
"
S = "${WORKDIR}/git"
inherit meson pkgconfig
EXTRA_OEMESON = "-Db_lto=false"
LDFLAGS:append:libc-musl = " -lexecinfo"
export LINKFLAGS="${LDFLAGS}"
FILES:${PN} += "${datadir}/dbus-1/services"

View File

@@ -0,0 +1,34 @@
From f864a2aa29377a77c3aef61ce917cc03d099c430 Mon Sep 17 00:00:00 2001
From: Thomas Nagy <tnagy@waf.io>
Date: Wed, 14 Aug 2019 22:05:45 +0200
Subject: [PATCH] Conceal imp warnings in Python3
---
Upstream-Status: Backport [from waflib not jack: https://gitlab.com/ita1024/waf/-/commit/d2060dfd8af4edb5824153ff24e207b39ecd67a2.patch]
waflib/Context.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/waflib/Context.py b/waflib/Context.py
index 761b521f..38ab03f1 100644
--- a/waflib/Context.py
+++ b/waflib/Context.py
@@ -6,10 +6,17 @@
Classes and functions enabling the command system
"""
-import os, re, imp, sys
+import os, re, sys
from waflib import Utils, Errors, Logs
import waflib.Node
+if sys.hexversion > 0x3040000:
+ import types
+ class imp(object):
+ new_module = lambda x: types.ModuleType(x)
+else:
+ import imp
+
# the following 3 constants are updated on each new release (do not touch)
HEXVERSION=0x2000c00
"""Constant updated on new releases"""

View File

@@ -0,0 +1,229 @@
From bcba27168d99a3919b730e6a533cf79ab3b24eee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micka=C3=ABl=20Schoentgen?= <contact@tiger-222.fr>
Date: Sat, 5 Jan 2019 12:02:42 +0100
Subject: [PATCH] Fix all DeprecationWarning: invalid escape sequence
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Mickaël Schoentgen <contact@tiger-222.fr>
---
Upstream-Status: Backport [from waflib not jack: https://gitlab.com/ita1024/waf/-/commit/412a9b819e86a0061f990c7245f0f5db76d0eda3]
waflib/Build.py | 2 +-
waflib/ConfigSet.py | 2 +-
waflib/Context.py | 2 +-
waflib/Task.py | 2 +-
waflib/TaskGen.py | 2 +-
waflib/Tools/c_config.py | 2 +-
waflib/Tools/c_preproc.py | 6 +++---
waflib/Tools/msvc.py | 16 ++++++++--------
waflib/Utils.py | 2 +-
waflib/ansiterm.py | 2 +-
10 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/waflib/Build.py b/waflib/Build.py
index c9661df1..9e733c9e 100644
--- a/waflib/Build.py
+++ b/waflib/Build.py
@@ -104,7 +104,7 @@ class BuildContext(Context.Context):
"""Amount of jobs to run in parallel"""
self.targets = Options.options.targets
- """List of targets to build (default: \*)"""
+ """List of targets to build (default: \\*)"""
self.keep = Options.options.keep
"""Whether the build should continue past errors"""
diff --git a/waflib/ConfigSet.py b/waflib/ConfigSet.py
index 84736c9c..901fba6c 100644
--- a/waflib/ConfigSet.py
+++ b/waflib/ConfigSet.py
@@ -11,7 +11,7 @@ The values put in :py:class:`ConfigSet` must be serializable (dicts, lists, stri
import copy, re, os
from waflib import Logs, Utils
-re_imp = re.compile('^(#)*?([^#=]*?)\ =\ (.*?)$', re.M)
+re_imp = re.compile(r'^(#)*?([^#=]*?)\ =\ (.*?)$', re.M)
class ConfigSet(object):
"""
diff --git a/waflib/Context.py b/waflib/Context.py
index 38ab03f1..5799a60a 100644
--- a/waflib/Context.py
+++ b/waflib/Context.py
@@ -614,7 +614,7 @@ class Context(ctx):
Logs.pprint(color, msg)
def load_special_tools(self, var, ban=[]):
- """
+ r"""
Loads third-party extensions modules for certain programming languages
by trying to list certain files in the extras/ directory. This method
is typically called once for a programming language group, see for
diff --git a/waflib/Task.py b/waflib/Task.py
index 6aebc607..0c5cb994 100644
--- a/waflib/Task.py
+++ b/waflib/Task.py
@@ -1044,7 +1044,7 @@ def funex(c):
exec(c, dc)
return dc['f']
-re_cond = re.compile('(?P<var>\w+)|(?P<or>\|)|(?P<and>&)')
+re_cond = re.compile(r'(?P<var>\w+)|(?P<or>\|)|(?P<and>&)')
re_novar = re.compile(r'^(SRC|TGT)\W+.*?$')
reg_act = re.compile(r'(?P<backslash>\\)|(?P<dollar>\$\$)|(?P<subst>\$\{(?P<var>\w+)(?P<code>.*?)\})', re.M)
def compile_fun_shell(line):
diff --git a/waflib/TaskGen.py b/waflib/TaskGen.py
index a74e6431..3776bac1 100644
--- a/waflib/TaskGen.py
+++ b/waflib/TaskGen.py
@@ -727,7 +727,7 @@ def sequence_order(self):
self.bld.prev = self
-re_m4 = re.compile('@(\w+)@', re.M)
+re_m4 = re.compile(r'@(\w+)@', re.M)
class subst_pc(Task.Task):
"""
diff --git a/waflib/Tools/c_config.py b/waflib/Tools/c_config.py
index d2b3c0d8..60cc0ecd 100644
--- a/waflib/Tools/c_config.py
+++ b/waflib/Tools/c_config.py
@@ -239,7 +239,7 @@ def validate_cfg(self, kw):
@conf
def exec_cfg(self, kw):
- """
+ r"""
Executes ``pkg-config`` or other ``-config`` applications to collect configuration flags:
* if atleast_pkgconfig_version is given, check that pkg-config has the version n and return
diff --git a/waflib/Tools/c_preproc.py b/waflib/Tools/c_preproc.py
index 7e04b4a7..68e5f5ae 100644
--- a/waflib/Tools/c_preproc.py
+++ b/waflib/Tools/c_preproc.py
@@ -75,13 +75,13 @@ re_lines = re.compile(
re.IGNORECASE | re.MULTILINE)
"""Match #include lines"""
-re_mac = re.compile("^[a-zA-Z_]\w*")
+re_mac = re.compile(r"^[a-zA-Z_]\w*")
"""Match macro definitions"""
re_fun = re.compile('^[a-zA-Z_][a-zA-Z0-9_]*[(]')
"""Match macro functions"""
-re_pragma_once = re.compile('^\s*once\s*', re.IGNORECASE)
+re_pragma_once = re.compile(r'^\s*once\s*', re.IGNORECASE)
"""Match #pragma once statements"""
re_nl = re.compile('\\\\\r*\n', re.MULTILINE)
@@ -660,7 +660,7 @@ def extract_macro(txt):
# empty define, assign an empty token
return (v, [[], [('T','')]])
-re_include = re.compile('^\s*(<(?:.*)>|"(?:.*)")')
+re_include = re.compile(r'^\s*(<(?:.*)>|"(?:.*)")')
def extract_include(txt, defs):
"""
Process a line in the form::
diff --git a/waflib/Tools/msvc.py b/waflib/Tools/msvc.py
index 17b347d4..ff58449d 100644
--- a/waflib/Tools/msvc.py
+++ b/waflib/Tools/msvc.py
@@ -281,7 +281,7 @@ def gather_wince_supported_platforms():
def gather_msvc_detected_versions():
#Detected MSVC versions!
- version_pattern = re.compile('^(\d\d?\.\d\d?)(Exp)?$')
+ version_pattern = re.compile(r'^(\d\d?\.\d\d?)(Exp)?$')
detected_versions = []
for vcver,vcvar in (('VCExpress','Exp'), ('VisualStudio','')):
prefix = 'SOFTWARE\\Wow6432node\\Microsoft\\' + vcver
@@ -367,7 +367,7 @@ def gather_wsdk_versions(conf, versions):
:param versions: list to modify
:type versions: list
"""
- version_pattern = re.compile('^v..?.?\...?.?')
+ version_pattern = re.compile(r'^v..?.?\...?.?')
try:
all_versions = Utils.winreg.OpenKey(Utils.winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Wow6432node\\Microsoft\\Microsoft SDKs\\Windows')
except OSError:
@@ -525,7 +525,7 @@ def gather_icl_versions(conf, versions):
:param versions: list to modify
:type versions: list
"""
- version_pattern = re.compile('^...?.?\....?.?')
+ version_pattern = re.compile(r'^...?.?\....?.?')
try:
all_versions = Utils.winreg.OpenKey(Utils.winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Wow6432node\\Intel\\Compilers\\C++')
except OSError:
@@ -579,7 +579,7 @@ def gather_intel_composer_versions(conf, versions):
:param versions: list to modify
:type versions: list
"""
- version_pattern = re.compile('^...?.?\...?.?.?')
+ version_pattern = re.compile(r'^...?.?\...?.?.?')
try:
all_versions = Utils.winreg.OpenKey(Utils.winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Wow6432node\\Intel\\Suites')
except OSError:
@@ -683,7 +683,7 @@ def find_lt_names_msvc(self, libname, is_static=False):
if not is_static and ltdict.get('library_names', ''):
dllnames=ltdict['library_names'].split()
dll=dllnames[0].lower()
- dll=re.sub('\.dll$', '', dll)
+ dll=re.sub(r'\.dll$', '', dll)
return (lt_libdir, dll, False)
elif ltdict.get('old_library', ''):
olib=ltdict['old_library']
@@ -700,7 +700,7 @@ def find_lt_names_msvc(self, libname, is_static=False):
@conf
def libname_msvc(self, libname, is_static=False):
lib = libname.lower()
- lib = re.sub('\.lib$','',lib)
+ lib = re.sub(r'\.lib$','',lib)
if lib in g_msvc_systemlibs:
return lib
@@ -747,11 +747,11 @@ def libname_msvc(self, libname, is_static=False):
for libn in libnames:
if os.path.exists(os.path.join(path, libn)):
Logs.debug('msvc: lib found: %s', os.path.join(path,libn))
- return re.sub('\.lib$', '',libn)
+ return re.sub(r'\.lib$', '',libn)
#if no lib can be found, just return the libname as msvc expects it
self.fatal('The library %r could not be found' % libname)
- return re.sub('\.lib$', '', libname)
+ return re.sub(r'\.lib$', '', libname)
@conf
def check_lib_msvc(self, libname, is_static=False, uselib_store=None):
diff --git a/waflib/Utils.py b/waflib/Utils.py
index a0cc2a09..da1b73e7 100644
--- a/waflib/Utils.py
+++ b/waflib/Utils.py
@@ -730,7 +730,7 @@ def unversioned_sys_platform():
if s == 'cli' and os.name == 'nt':
# ironpython is only on windows as far as we know
return 'win32'
- return re.split('\d+$', s)[0]
+ return re.split(r'\d+$', s)[0]
def nada(*k, **kw):
"""
diff --git a/waflib/ansiterm.py b/waflib/ansiterm.py
index 0d20c637..027f0ad6 100644
--- a/waflib/ansiterm.py
+++ b/waflib/ansiterm.py
@@ -264,7 +264,7 @@ else:
'u': pop_cursor,
}
# Match either the escape sequence or text not containing escape sequence
- ansi_tokens = re.compile('(?:\x1b\[([0-9?;]*)([a-zA-Z])|([^\x1b]+))')
+ ansi_tokens = re.compile(r'(?:\x1b\[([0-9?;]*)([a-zA-Z])|([^\x1b]+))')
def write(self, text):
try:
wlock.acquire()

View File

@@ -0,0 +1,59 @@
DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
server for multi-processor machines. It is a new implementation of the \
JACK server core features that aims in removing some limitations of \
the JACK1 design. The activation system has been changed for a data \
flow model and lock-free programming techniques for graph access have \
been used to have a more dynamic and robust system."
SECTION = "libs/multimedia"
LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = " \
file://common/JackControlAPI.cpp;beginline=5;endline=19;md5=9d1921199e203163f160313243f853d6 \
file://common/JackControlAPI.h;beginline=4;endline=18;md5=9d1921199e203163f160313243f853d6 \
file://common/jack/jack.h;beginline=2;endline=17;md5=0a668d22ce661159cad28d1c3b8e66af \
file://common/JackServer.h;beginline=2;endline=17;md5=9bf0870727804a994ee2d19fd368d940 \
"
DEPENDS = "libsamplerate0 libsndfile1"
SRC_URI = "git://github.com/jackaudio/jack2.git;branch=master;protocol=https \
file://0001-Conceal-imp-warnings-in-Python3.patch \
file://0002-Fix-all-DeprecationWarning-invalid-escape-sequence.patch \
"
SRCREV = "4f58969432339a250ce87fe855fb962c67d00ddb"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
inherit waf pkgconfig
PACKAGECONFIG ??= "alsa"
PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
# --dbus only stops building jackd -> add --classic
PACKAGECONFIG[dbus] = "--dbus --classic,,dbus"
PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
# portaudio is for windows builds only
EXTRA_OECONF = "--portaudio=no"
do_install:append() {
if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then
rm -f ${D}${bindir}/jack_control
fi
}
PACKAGES =+ "libjack jack-server jack-utils"
RDEPENDS:jack-dev:remove = "${PN} (= ${EXTENDPKGV})"
FILES:libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
FILES:jack-server = " \
${datadir}/dbus-1/services \
${bindir}/jackdbus \
${bindir}/jackd \
"
FILES:jack-utils = "${bindir}/*"
FILES:${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*"

View File

@@ -0,0 +1,27 @@
DESCRIPTION = "libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. It is mostly compatible with VSFilter."
HOMEPAGE = "https://github.com/libass/libass"
SECTION = "libs/multimedia"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
DEPENDS = "fontconfig freetype fribidi harfbuzz"
SRC_URI = "git://github.com/libass/libass.git;protocol=https;branch=0.17.1-branch"
SRCREV = "e8ad72accd3a84268275a9385beb701c9284e5b3"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
PACKAGECONFIG[asm] = "--enable-asm,--disable-asm,nasm-native"
# use larger tiles in the rasterizer (better performance, slightly worse quality)
PACKAGECONFIG[largetiles] = "--enable-large-tiles,--disable-large-tiles"
PACKAGECONFIG ??= ""
PACKAGECONFIG:append:x86-64 = " asm"
PACKAGES =+ "${PN}-tests"
FILES:${PN}-tests = " \
${libdir}/test/test \
"

View File

@@ -0,0 +1,24 @@
SUMMARY = "library to read digital audio CDs with error correction"
HOMEPAGE = "http://www.gnu.org/software/libcdio/"
BUGTRUCKER = "https://github.com/rocky/libcdio-paranoia/issues/"
SECTION = "libs"
LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "libcdio"
SRC_URI = "${GNU_MIRROR}/libcdio/${BP}.tar.bz2"
SRC_URI[sha256sum] = "33b1cf305ccfbfd03b43936975615000ce538b119989c4bec469577570b60e8a"
inherit autotools pkgconfig
PACKAGES += "${PN}-utils"
FILES:${PN} = "${libdir}/${BPN}${SOLIB}"
FILES:${PN}-utils = "${bindir}/*"
python libcdio_split_packages() {
libdir = d.expand('${libdir}')
do_split_packages(d, libdir, r'^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
}
PACKAGESPLITFUNCS =+ "libcdio_split_packages"

View File

@@ -0,0 +1,40 @@
From e5e54be286bf6d8336b747503c803750bc674c57 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Oct 2021 01:28:18 -0700
Subject: [PATCH] Fix a few -Werror=format-security errors with mvprintw()
In all these places a non-constant is used as a format string which
compiler complains about. Fix by using "%s" as format.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/cdda-player.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/cdda-player.c b/src/cdda-player.c
index 69eddee..8834d60 100644
--- a/src/cdda-player.c
+++ b/src/cdda-player.c
@@ -298,7 +298,7 @@ action(const char *psz_action)
psz_action);
else
snprintf(psz_action_line, sizeof(psz_action_line), "%s", "" );
- mvprintw(LINE_ACTION, 0, psz_action_line);
+ mvprintw(LINE_ACTION, 0, "%s", psz_action_line);
clrtoeol();
refresh();
}
@@ -1029,10 +1029,10 @@ display_tracks(void)
}
if (sub.track == i) {
attron(A_STANDOUT);
- mvprintw(i_line++, 0, line);
+ mvprintw(i_line++, 0, "%s", line);
attroff(A_STANDOUT);
} else
- mvprintw(i_line++, 0, line);
+ mvprintw(i_line++, 0, "%s", line);
clrtoeol();
}
}

View File

@@ -0,0 +1,43 @@
From 08c1768aaeea86c522c0ef1705b9b6d434ebd3ae Mon Sep 17 00:00:00 2001
From: Chris Lamb <chris@chris-lamb.co.uk>
Date: Fri, 28 Jul 2017 11:49:13 +0100
Subject: [PATCH] Drop LIBCDIO_SOURCE_PATH by dropping STRIP_FROM_PATH Doxygen
setup; it's not used as FULL_PATH_NAMES = no
Source: https://sources.debian.org/data/main/libc/libcdio/2.1.0-4/debian/patches/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 5 -----
doc/doxygen/Doxyfile.in | 2 +-
2 files changed, 1 insertion(+), 6 deletions(-)
Index: b/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
@@ -557,11 +557,6 @@ AC_SUBST(HAVE_SOLARIS_CDROM)
AC_SUBST(HAVE_WIN32_CDROM)
AC_SUBST(HAVE_OS2_CDROM)
-LIBCDIO_SOURCE_PATH="`pwd`"
-AC_DEFINE_UNQUOTED(LIBCDIO_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH",
- [Full path to libcdio top_sourcedir.])
-AC_SUBST(LIBCDIO_SOURCE_PATH)
-
AC_CHECK_FUNCS( [chdir drand48 fseeko fseeko64 ftruncate geteuid getgid \
getuid getpwuid gettimeofday lseek64 lstat memcpy memset mkstemp rand \
seteuid setegid snprintf setenv strndup unsetenv tzset sleep \
Index: b/doc/doxygen/Doxyfile.in
===================================================================
--- a/doc/doxygen/Doxyfile.in
+++ b/doc/doxygen/Doxyfile.in
@@ -138,7 +138,7 @@ FULL_PATH_NAMES = NO
# If left blank the directory from which doxygen is run is used as the
# path to strip.
-STRIP_FROM_PATH = @LIBCDIO_SOURCE_PATH@
+STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells

View File

@@ -0,0 +1,35 @@
SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
HOMEPAGE = "http://www.gnu.org/software/libcdio/"
SECTION = "libs"
LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2 \
file://0001-Fix-a-few-Werror-format-security-errors-with-mvprint.patch \
file://Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch \
"
SRC_URI[md5sum] = "aa7629e8f73662a762f64c444b901055"
SRC_URI[sha256sum] = "8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b"
inherit autotools pkgconfig
PACKAGECONFIG ??= "cdda-player"
PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
# add -D_LARGEFILE64_SOURCE for 32bit targets
CFLAGS += "${@['-D_LARGEFILE64_SOURCE',''][d.getVar('SITEINFO_BITS') != '32']}"
PACKAGES += "${PN}-utils"
FILES:${PN} = "${libdir}/${BPN}${SOLIB}"
FILES:${PN}-utils = "${bindir}/*"
python libcdio_split_packages() {
libdir = d.expand('${libdir}')
do_split_packages(d, libdir, r'^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
}
PACKAGESPLITFUNCS =+ "libcdio_split_packages"

View File

@@ -0,0 +1,11 @@
SUMMARY = "DVD access multimeda library"
SECTION = "libs/multimedia"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369"
inherit autotools lib_package binconfig pkgconfig
CONFIGUREOPTS:remove = "--disable-silent-rules"

View File

@@ -0,0 +1,40 @@
From 91fcf66b9182c75cd2b96d88991d5a1c6307d4b4 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 2 Aug 2017 16:27:52 +0300
Subject: [PATCH] Fix gperf 3.1 incompatibility.
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
compat.h | 2 +-
frametype.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/compat.h b/compat.h
index 8af71ec..b3d80d9 100644
--- a/compat.h
+++ b/compat.h
@@ -34,7 +34,7 @@ struct id3_compat {
};
struct id3_compat const *id3_compat_lookup(register char const *,
- register unsigned int);
+ register size_t);
int id3_compat_fixup(struct id3_tag *);
diff --git a/frametype.h b/frametype.h
index dd064b2..b5b7593 100644
--- a/frametype.h
+++ b/frametype.h
@@ -37,6 +37,6 @@ extern struct id3_frametype const id3_frametype_unknown;
extern struct id3_frametype const id3_frametype_obsolete;
struct id3_frametype const *id3_frametype_lookup(register char const *,
- register unsigned int);
+ register size_t);
# endif
--
2.13.2

View File

@@ -0,0 +1,34 @@
libid3tag: patch for CVE-2004-2779
The patch comes from
https://sources.debian.org/patches/libid3tag/0.15.1b-13/10_utf16.dpatch
Upstream-Status: Pending
CVE: CVE-2004-2779
CVE: CVE-2017-11551
Signed-off-by: Changqing Li <changqing.li@windriver.com>
diff -urNad libid3tag-0.15.1b/utf16.c /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c
--- libid3tag-0.15.1b/utf16.c 2006-01-13 15:26:29.000000000 +0100
+++ /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c 2006-01-13 15:27:19.000000000 +0100
@@ -282,5 +282,18 @@
free(utf16);
+ if (end == *ptr && length % 2 != 0)
+ {
+ /* We were called with a bogus length. It should always
+ * be an even number. We can deal with this in a few ways:
+ * - Always give an error.
+ * - Try and parse as much as we can and
+ * - return an error if we're called again when we
+ * already tried to parse everything we can.
+ * - tell that we parsed it, which is what we do here.
+ */
+ (*ptr)++;
+ }
+
return ucs4;
}

View File

@@ -0,0 +1,43 @@
Upstream-Status: Inappropriate [configuration]
Index: libid3tag-0.15.1b/Makefile.am
===================================================================
--- libid3tag-0.15.1b.orig/Makefile.am 2009-07-29 09:29:20.000000000 +0100
+++ libid3tag-0.15.1b/Makefile.am 2009-07-29 09:29:47.000000000 +0100
@@ -27,6 +27,9 @@
lib_LTLIBRARIES = libid3tag.la
include_HEADERS = id3tag.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = id3tag.pc
+
## From the libtool documentation on library versioning:
##
## CURRENT
Index: libid3tag-0.15.1b/configure.ac
===================================================================
--- libid3tag-0.15.1b.orig/configure.ac 2009-07-29 09:27:15.000000000 +0100
+++ libid3tag-0.15.1b/configure.ac 2009-07-29 09:27:45.000000000 +0100
@@ -201,5 +201,5 @@
dnl AC_SUBST(LTLIBOBJS)
AC_CONFIG_FILES([Makefile msvc++/Makefile \
- libid3tag.list])
+ libid3tag.list id3tag.pc])
AC_OUTPUT
Index: libid3tag-0.15.1b/id3tag.pc.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ libid3tag-0.15.1b/id3tag.pc.in 2009-07-29 09:29:10.000000000 +0100
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: id3tag
+Description: ID3 tag reading library
+Requires:
+Version: @VERSION@
+Libs: -L${libdir} -lid3tag -lz
+Cflags: -I${includedir}

View File

@@ -0,0 +1,19 @@
configure contains CFLAGS filtering code which was removing our prefix-map
flags. We need those to generate reproducible binaries. Allow them through.
Upstream-Status: Pending
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
--- a/configure.ac
+++ b/configure.ac
@@ -99,6 +99,10 @@ do
-mno-cygwin)
shift
;;
+ -fmacro-prefix-map*|-fdebug-prefix-map*|-ffile-prefix-map*)
+ CFLAGS="$CFLAGS $1"
+ shift
+ ;;
-m*)
arch="$arch $1"
shift

View File

@@ -0,0 +1,15 @@
Upstream-Status: Submitted [https://sourceforge.net/tracker/?func=detail&aid=3599280&group_id=12349&atid=112349]
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
diff -Nurd libid3tag-0.15.1b/configure.ac libid3tag-0.15.1b/configure.ac
--- libid3tag-0.15.1b/configure.ac 2004-01-24 01:22:46.000000000 +0200
+++ libid3tag-0.15.1b/configure.ac 2013-01-03 06:41:02.734835014 +0200
@@ -28,7 +28,7 @@
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])
-AM_CONFIG_HEADER([config.h])
+AC_CONFIG_HEADERS([config.h])
dnl System type.

View File

@@ -0,0 +1,39 @@
In case of an unknown/invalid encoding, id3_parse_string() will
return NULL, but the return value wasn't checked resulting
in segfault in id3_ucs4_length(). This is the only place
the return value wasn't checked.
Patch taken from Debian:
https://sources.debian.org/patches/libid3tag/0.15.1b-14/11_unknown_encoding.dpatch/
CVE: CVE-2017-11550
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff -urNad libid3tag-0.15.1b~/compat.gperf libid3tag-0.15.1b/compat.gperf
--- libid3tag-0.15.1b~/compat.gperf 2004-01-23 09:41:32.000000000 +0000
+++ libid3tag-0.15.1b/compat.gperf 2007-01-14 14:36:53.000000000 +0000
@@ -236,6 +236,10 @@
encoding = id3_parse_uint(&data, 1);
string = id3_parse_string(&data, end - data, encoding, 0);
+ if (!string)
+ {
+ continue;
+ }
if (id3_ucs4_length(string) < 4) {
free(string);
diff -urNad libid3tag-0.15.1b~/parse.c libid3tag-0.15.1b/parse.c
--- libid3tag-0.15.1b~/parse.c 2004-01-23 09:41:32.000000000 +0000
+++ libid3tag-0.15.1b/parse.c 2007-01-14 14:37:34.000000000 +0000
@@ -165,6 +165,9 @@
case ID3_FIELD_TEXTENCODING_UTF_8:
ucs4 = id3_utf8_deserialize(ptr, length);
break;
+ default:
+ /* FIXME: Unknown encoding! Print warning? */
+ return NULL;
}
if (ucs4 && !full) {

View File

@@ -0,0 +1,27 @@
SUMMARY = "Library for interacting with ID3 tags in MP3 files"
HOMEPAGE = "http://sourceforge.net/projects/mad/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYRIGHT;md5=5e6279efb87c26c6e5e7a68317a6a87a \
file://version.h;beginline=1;endline=8;md5=86ac68b67f054b7afde9e149bbc3fe63"
SECTION = "libs"
DEPENDS = "zlib gperf-native"
SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libid3tag-${PV}.tar.gz \
file://addpkgconfig.patch \
file://obsolete_automake_macros.patch \
file://0001-Fix-gperf-3.1-incompatibility.patch \
file://10_utf16.patch \
file://unknown-encoding.patch \
file://cflags_filter.patch \
"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mad/files/libid3tag/"
UPSTREAM_CHECK_REGEX = "/projects/mad/files/libid3tag/(?P<pver>.*)/$"
SRC_URI[md5sum] = "e5808ad997ba32c498803822078748c3"
SRC_URI[sha256sum] = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151"
S = "${WORKDIR}/libid3tag-${PV}"
inherit autotools pkgconfig

View File

@@ -0,0 +1,39 @@
SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)"
HOMEPAGE = "https://github.com/libjxl/libjxl/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f"
inherit cmake pkgconfig mime
DEPENDS = "highway brotli"
SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1"
SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515"
S = "${WORKDIR}/git"
EXTRA_OECMAKE = " \
-DCMAKE_BUILD_TYPE=Release \
-DJPEGXL_ENABLE_PLUGINS=ON \
-DBUILD_TESTING=OFF \
-DJPEGXL_WARNINGS_AS_ERRORS=OFF \
-DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \
-DJPEGXL_ENABLE_SJPEG=OFF \
-DJPEGXL_ENABLE_BENCHMARK=OFF \
-DJPEGXL_ENABLE_EXAMPLES=OFF \
-DJPEGXL_ENABLE_MANPAGES=OFF \
-DJPEGXL_ENABLE_SKCMS=ON \
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
-DJPEGXL_FORCE_SYSTEM_HWY=ON \
-DJPEGXL_ENABLE_JNI=OFF \
-DJPEGXL_ENABLE_TCMALLOC=OFF \
-DJPEGXL_ENABLE_TOOLS=OFF \
"
PACKAGECONFIG ?= "mime gdk-pixbuf-loader"
PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf"
PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp"
PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF"
FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}"

View File

@@ -0,0 +1,47 @@
From 26342d1c775205f661f5cf005b7e054a04f5d32e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 16 May 2023 10:14:57 -0700
Subject: [PATCH] configure: Respect the cflags from environment
This is needed with OE like cross-build envs where certain important
flags maybe passed as global policy to aid cross compiling or
reproducibility etc.
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
--- a/configure.ac
+++ b/configure.ac
@@ -73,12 +73,9 @@ debug=""
optimize=""
profile=""
-set -- $CFLAGS
-CFLAGS=""
-
if test "$GCC" = yes
then
- CFLAGS="-Wall"
+ CFLAGS="$CFLAGS -Wall"
fi
while test $# -gt 0
@@ -115,10 +112,13 @@ do
optimize="$optimize $1"
shift
;;
- *)
+ -*)
CFLAGS="$CFLAGS $1"
shift
;;
+ *)
+ shift
+ ;;
esac
done

View File

@@ -0,0 +1,85 @@
From 3d3fce9b8b927a817b89dd78a60b5cf7d978f64c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 16 Sep 2014 12:28:47 +0300
Subject: [PATCH 4/4] Remove clang unsupported compiler flags
---
Upstream-Status: Pending
configure.ac | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- a/configure.ac
+++ b/configure.ac
@@ -124,70 +124,7 @@ done
if test "$GCC" = yes
then
- if test -z "$arch"
- then
- case "$host" in
- i386-*) ;;
- i?86-*) arch="-march=i486" ;;
- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
- powerpc-*) ;;
- mips*-agenda-*) arch="-mcpu=vr4100" ;;
- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
- esac
- fi
-
- case "$optimize" in
- -O|"-O "*)
- optimize="-O"
- optimize="$optimize -fforce-addr"
- : #x optimize="$optimize -finline-functions"
- : #- optimize="$optimize -fstrength-reduce"
- optimize="$optimize -fthread-jumps"
- optimize="$optimize -fcse-follow-jumps"
- optimize="$optimize -fcse-skip-blocks"
- : #x optimize="$optimize -frerun-cse-after-loop"
- : #x optimize="$optimize -frerun-loop-opt"
- : #x optimize="$optimize -fgcse"
- optimize="$optimize -fexpensive-optimizations"
- optimize="$optimize -fregmove"
- : #* optimize="$optimize -fdelayed-branch"
- : #x optimize="$optimize -fschedule-insns"
- optimize="$optimize -fschedule-insns2"
- : #? optimize="$optimize -ffunction-sections"
- : #? optimize="$optimize -fcaller-saves"
- : #> optimize="$optimize -funroll-loops"
- : #> optimize="$optimize -funroll-all-loops"
- : #x optimize="$optimize -fmove-all-movables"
- : #x optimize="$optimize -freduce-all-givs"
- : #? optimize="$optimize -fstrict-aliasing"
- : #* optimize="$optimize -fstructure-noalias"
-
- case "$host" in
- arm*-*)
- optimize="$optimize -fstrength-reduce"
- ;;
- mips*-*)
- optimize="$optimize -fstrength-reduce"
- optimize="$optimize -finline-functions"
- ;;
- i?86-*)
- optimize="$optimize -fstrength-reduce"
- ;;
- powerpc-apple-*)
- # this triggers an internal compiler error with gcc2
- : #optimize="$optimize -fstrength-reduce"
-
- # this is really only beneficial with gcc3
- : #optimize="$optimize -finline-functions"
- ;;
- *)
- # this sometimes provokes bugs in gcc 2.95.2
- : #optimize="$optimize -fstrength-reduce"
- ;;
- esac
- ;;
- esac
+ optimize="-O2"
fi
case "$host" in

View File

@@ -0,0 +1,70 @@
Here is a patch for adding pkg-config support to libmad.
It would make life a bit easier for distro maintainers if this was applied.
In case you didn't know, pkg-config is a tool for providing LDFLAGS and
CFLAGS for packages using shared libraries. It's on freedesktop.org.
Debian has already been distributing the pkg-config file mad.pc with
libmad for some time, and people developing on debian (notably xmms2
developers) have started relying on this support being present, causing
some confusion for people installing from source and on some BSDs which
do not provide mad.pc (google: pkgconfig libmad).
EMH
Upstream-Status: Inappropriate [configuration]
--h31gzZEtNLTqOjlF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=&quot;libmad-0.15.1b-pkgconfig.patch&quot;
diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac
--- libmad-0.15.1b.old/configure.ac 2004-01-23 10:41:32.000000000 +0100
+++ libmad-0.15.1b/configure.ac 2004-08-07 02:25:24.633462168 +0200
@@ -429,5 +429,5 @@
dnl AC_SUBST(LTLIBOBJS)
AC_CONFIG_FILES([Makefile msvc++/Makefile \
- libmad.list])
+ libmad.list mad.pc])
AC_OUTPUT
diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in
--- libmad-0.15.1b.old/mad.pc.in 1970-01-01 01:00:00.000000000 +0100
+++ libmad-0.15.1b/mad.pc.in 2004-08-07 02:04:59.617692872 +0200
@@ -0,0 +1,14 @@
+# libmad pkg-config source file
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: mad
+Description: MPEG Audio Decoder
+Version: @VERSION@
+Requires:
+Conflicts:
+Libs: -L${libdir} -lmad -lm
+Cflags: -I${includedir}
diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am
--- libmad-0.15.1b.old/Makefile.am 2004-02-17 03:02:03.000000000 +0100
+++ libmad-0.15.1b/Makefile.am 2004-08-07 02:03:19.859858368 +0200
@@ -24,6 +24,9 @@
SUBDIRS =
DIST_SUBDIRS = msvc++
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = mad.pc
+
lib_LTLIBRARIES = libmad.la
include_HEADERS = mad.h
@@ -34,7 +37,8 @@
minimad_LDADD = libmad.la
EXTRA_DIST = mad.h.sed \
- CHANGES COPYRIGHT CREDITS README TODO VERSION
+ CHANGES COPYRIGHT CREDITS README TODO VERSION \
+ mad.pc.in
exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \
synth.h decoder.h

View File

@@ -0,0 +1,12 @@
Pass foreign to AM_INIT_AUTOMAKE so it doesn't enforce GNU strictness.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/configure.ac b/configure.ac
index e602fd3..e075b86 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29 +29 @@ AC_CONFIG_SRCDIR([decoder.h])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])

View File

@@ -0,0 +1,31 @@
gcc 4.4 did this: The MIPS port no longer recognizes the h asm constraint. It was necessary to remove this constraint in order to avoid generating unpredictable code sequences.
so the libmad build with gcc-4.5.0 was failing.
Found a solution here:
http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html
Upstream-Status: Pending
2010/07/29
Nitin A Kamble <nitin.a.kamble@intel.com>
--- a/fixed.h
+++ b/fixed.h
@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
/* --- MIPS ---------------------------------------------------------------- */
+# elif defined(FPM_MIPS) && (defined(__clang__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
+# define MAD_F_MLX(hi, lo, x, y) \
+ do { \
+ u64_di_t __ll = (u64_di_t) (x) * (y); \
+ hi = __ll >> 32; \
+ lo = __ll; \
+ } while (0)
+
# elif defined(FPM_MIPS)
/*

View File

@@ -0,0 +1,18 @@
This option no longer exists in gcc 3.4.1
RP - 18/07/2008
Upstream-Status: Inappropriate [configuration]
Index: libmad-0.15.1b/configure.ac
===================================================================
--- libmad-0.15.1b.orig/configure.ac 2008-07-18 15:45:30.000000000 +0100
+++ libmad-0.15.1b/configure.ac 2008-07-18 15:45:37.000000000 +0100
@@ -140,7 +140,6 @@
case "$optimize" in
-O|"-O "*)
optimize="-O"
- optimize="$optimize -fforce-mem"
optimize="$optimize -fforce-addr"
: #x optimize="$optimize -finline-functions"
: #- optimize="$optimize -fstrength-reduce"

View File

@@ -0,0 +1,14 @@
Upstream-Status: Submitted [https://sourceforge.net/tracker/?group_id=12349&atid=112349]
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
diff -Nurd libmad-0.15.1b/configure.ac libmad-0.15.1b/configure.ac
--- libmad-0.15.1b/configure.ac 2004-01-23 11:41:32.000000000 +0200
+++ libmad-0.15.1b/configure.ac 2013-01-03 08:28:23.718693697 +0200
@@ -28,7 +28,7 @@
AM_INIT_AUTOMAKE
-AM_CONFIG_HEADER([config.h])
+AC_CONFIG_HEADERS([config.h])
dnl System type.

View File

@@ -0,0 +1,36 @@
SUMMARY = "MPEG Audio Decoder library"
HOMEPAGE = "https://sourceforge.net/projects/mad/"
BUGTRACKER = "https://sourceforge.net/tracker/?group_id=12349&atid=112349"
LICENSE = "GPL-2.0-or-later"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \
file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454"
SECTION = "libs"
DEPENDS = "libid3tag"
SRC_URI = "https://downloads.sourceforge.net/mad/libmad-${PV}.tar.gz \
file://no-force-mem.patch \
file://add-pkgconfig.patch \
file://fix_for_mips_with_gcc-4.5.0.patch \
file://obsolete_automake_macros.patch \
file://automake-foreign.patch \
file://0001-configure-Respect-the-cflags-from-environment.patch \
"
SRC_URI:append:toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"
S = "${WORKDIR}/libmad-${PV}"
inherit autotools pkgconfig
EXTRA_OECONF = "-enable-speed --enable-shared"
EXTRA_OECONF:append:arm = " --enable-fpm=arm"
do_configure:prepend () {
# damn picky automake...
touch NEWS AUTHORS ChangeLog
}
ARM_INSTRUCTION_SET = "arm"

View File

@@ -0,0 +1,20 @@
SUMMARY = "MMS stream protocol library"
HOMEPAGE = "http://sourceforge.net/projects/libmms/"
SECTION = "libs/multimedia"
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fad9b3332be894bab9bc501572864b29"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz"
SRC_URI[md5sum] = "d6b665b335a6360e000976e770da7691"
SRC_URI[sha256sum] = "3c05e05aebcbfcc044d9e8c2d4646cd8359be39a3f0ba8ce4e72a9094bee704f"
inherit autotools pkgconfig
do_install:append() {
# The GLib dependency was removed in libmms 0.6.3, but the
# "Requires" was not removed from the pkg-config file. Since we
# don't have (and don't want) the RDEPENDS on GLib, we should
# remove the "Requires" line.
sed -i '/^Requires: glib-2\.0$/d' ${D}${libdir}/pkgconfig/libmms.pc
}

View File

@@ -0,0 +1,38 @@
From 7a25d5def379db387de9237f0b03605b3ae277b6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 17 Jan 2023 11:32:59 -0800
Subject: [PATCH] fastmix: Drop 'register' storage class keyword
It has been dropped from laters C/C++ standards ( c++17 and newer )
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/fastmix.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/fastmix.cpp b/src/fastmix.cpp
index d693d20..aa51c4a 100644
--- a/src/fastmix.cpp
+++ b/src/fastmix.cpp
@@ -288,7 +288,7 @@ CzWINDOWEDFIR sfir;
// MIXING MACROS
// ----------------------------------------------------------------------------
#define SNDMIX_BEGINSAMPLELOOP8\
- register MODCHANNEL * const pChn = pChannel;\
+ MODCHANNEL * const pChn = pChannel;\
nPos = pChn->nPosLo;\
const signed char *p = (signed char *)(pChn->pCurrentSample+pChn->nPos);\
if (pChn->dwFlags & CHN_STEREO) p += pChn->nPos;\
@@ -296,7 +296,7 @@ CzWINDOWEDFIR sfir;
do {
#define SNDMIX_BEGINSAMPLELOOP16\
- register MODCHANNEL * const pChn = pChannel;\
+ MODCHANNEL * const pChn = pChannel;\
nPos = pChn->nPosLo;\
const signed short *p = (signed short *)(pChn->pCurrentSample+(pChn->nPos*2));\
if (pChn->dwFlags & CHN_STEREO) p += pChn->nPos;\
--
2.39.0

View File

@@ -0,0 +1,21 @@
SUMMARY = "Library for reading mod-like audio files"
HOMEPAGE = "http://modplug-xmms.sf.net"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685"
SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz \
file://0001-fastmix-Drop-register-storage-class-keyword.patch"
SRC_URI[sha256sum] = "457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de"
inherit autotools pkgconfig
EXTRA_OECONF = "--disable-option-checking"
# NOTE: autotools_stage_all does nothing here, we need to do it manually
do_install:append() {
install -d ${D}${includedir}/libmodplug
install -m 0644 ${S}/src/modplug.h ${D}${includedir}/libmodplug
install -m 0644 ${S}/src/modplug.h ${D}${includedir}/
}

View File

@@ -0,0 +1,56 @@
SUMMARY = "Opus Audio Codec"
DESCRIPTION = "The Opus codec is designed for interactive \
speech and audio transmission over the Internet. It is \
designed by the IETF Codec Working Group and incorporates \
technology from Skype's SILK codec and Xiph.Org's CELT codec."
HOMEPAGE = "http://www.opus-codec.org/"
SECTION = "libs/multimedia"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=4b365c2155d66e550e1447075d6744a5"
SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
SRC_URI[sha256sum] = "65c1d2f78b9f2fb20082c38cbe47c951ad5839345876e46941612ee87f9a7ce1"
S = "${WORKDIR}/opus-${PV}"
inherit autotools pkgconfig
PACKAGECONFIG ??= ""
PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
EXTRA_OECONF = " \
--with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
--with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
--enable-asm \
--enable-intrinsics \
--enable-custom-modes \
"
# ne10 is available only for armv7a, armv7ve and aarch64
DEPENDS:append:aarch64 = " ne10"
DEPENDS:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
DEPENDS:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
python () {
if d.getVar('TARGET_FPU') in [ 'soft' ]:
d.appendVar('PACKAGECONFIG', ' fixed-point')
}
# Fails to build with thumb-1 (qemuarm)
#| {standard input}: Assembler messages:
#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
#| make[2]: *** [celt/celt.lo] Error 1
ARM_INSTRUCTION_SET:armv5 = "arm"
BBCLASSEXTEND = "native nativesdk"
CVE_PRODUCT += "opus-codec:opus"

View File

@@ -0,0 +1,19 @@
SUMMARY = "Opus Audio Codec"
DESCRIPTION = "The libopusenc libraries provide a high-level API for encoding \
.opus files. libopusenc depends only on libopus."
HOMEPAGE = "http://www.opus-codec.org/"
SECTION = "libs/multimedia"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=174b92049c2c697eb73112801662a07c"
DEPENDS = "libopus"
UPSTREAM_CHECK_URI = "https://github.com/xiph/libopusenc/releases"
SRC_URI = "https://ftp.osuosl.org/pub/xiph/releases/opus/libopusenc-${PV}.tar.gz"
SRC_URI[md5sum] = "f038ea0f4168d184c76b42d293697c57"
SRC_URI[sha256sum] = "8298db61a8d3d63e41c1a80705baa8ce9ff3f50452ea7ec1c19a564fe106cbb9"
S = "${WORKDIR}/libopusenc-${PV}"
inherit autotools pkgconfig

View File

@@ -0,0 +1,17 @@
COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_STRSTREAM=1 -D_LARGEFILE_SOURCE=1
C = c
C_COMPILER = $(CC)
C_FLAGS = $(COMPILE_OPTS)
CPP = cpp
CPLUSPLUS_COMPILER = $(CXX)
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1
OBJ = o
LINK = $(CXX) -o
LINK_OPTS = -L.
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(LD) -o
LIBRARY_LINK_OPTS = $(LINK_OPTS) -r -Bstatic
LIB_SUFFIX = a
LIBS_FOR_CONSOLE_APPLICATION = -lssl -lcrypto
LIBS_FOR_GUI_APPLICATION =
EXE =

View File

@@ -0,0 +1,63 @@
# live555 OE build file
# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved
# Released under the MIT license (see packages/COPYING)
DESCRIPTION = "LIVE555 Streaming Media libraries"
HOMEPAGE = "http://live.com/"
LICENSE = "LGPL-3.0-only"
SECTION = "devel"
DEPENDS = "openssl"
URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}"
SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \
file://config.linux-cross"
# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
SRC_URI[sha256sum] = "ce95a1c79f6d18e959f9dc129b8529b711c60e76754acc285e60946303b923ec"
S = "${WORKDIR}/live"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
"
TARGET_CC_ARCH += "${LDFLAGS}"
do_configure() {
cp ${WORKDIR}/config.linux-cross .
echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross
./genMakefiles linux-cross
}
do_install() {
install -d ${D}${includedir}/BasicUsageEnvironment
install -d ${D}${includedir}/groupsock
install -d ${D}${includedir}/liveMedia
install -d ${D}${includedir}/UsageEnvironment
install -d ${D}${libdir}
cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/
cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/
cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/
cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/
cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/
# Find all the headers
for i in $(find . -name "*.hh") $(find . -name "*.h") ; do
install ${i} ${D}${includedir}
done
cp ${S}/*/*.a ${D}${libdir}
install -d ${D}${bindir}
for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do
install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/
done
install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/
}
RDEPENDS:${PN}-dev = ""
PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples"
FILES:live555-openrtsp = "${bindir}/openRTSP"
FILES:live555-playsip = "${bindir}/playSIP"
FILES:live555-mediaserver = "${bindir}/live555MediaServer"
FILES:live555-examples = "${bindir}/*"

View File

@@ -0,0 +1,28 @@
DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm."
SECTION = "libs"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "alsa-lib texinfo"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
"
SRC_URI[md5sum] = "f69d7dd06d307e888f466fc27f4f680b"
SRC_URI[sha256sum] = "ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19"
inherit autotools binconfig lib_package
EXTRA_OECONF = "\
--disable-af \
--enable-alsa \
--disable-esd \
--enable-oss \
--disable-sam9407 \
--disable-ultra \
--disable-esdtest \
--enable-threads \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"

View File

@@ -0,0 +1,116 @@
SUMMARY = "Open Source multimedia player"
DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
SECTION = "multimedia"
HOMEPAGE = "http://www.mpv.io/"
DEPENDS = " \
zlib \
ffmpeg \
jpeg \
libv4l \
libass \
"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRCREV_mpv = "140ec21c89d671d392877a7f3b91d67e7d7b9239"
SRC_URI = "git://github.com/mpv-player/mpv;name=mpv;branch=release/0.35;protocol=https \
https://waf.io/waf-2.0.25;name=waf;subdir=git \
"
SRC_URI[waf.sha256sum] = "21199cd220ccf60434133e1fd2ab8c8e5217c3799199c82722543970dc8e38d5"
S = "${WORKDIR}/git"
inherit waf pkgconfig mime-xdg
LDFLAGS:append:riscv64 = " -latomic"
LUA ?= "lua"
LUA:mips64 = ""
LUA:powerpc64 = ""
LUA:powerpc64le = ""
LUA:riscv64 = ""
LUA:riscv32 = ""
LUA:powerpc = ""
# Note: lua is required to get on-screen-display (controls)
PACKAGECONFIG ??= " \
${LUA} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
"
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 xsp libxv libxscrnsaver libxinerama libxpresent libxext"
PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv"
PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm"
PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native libxkbcommon"
python __anonymous() {
packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
extras = []
if "x11" in packageconfig and "opengl" in packageconfig:
extras.append(" --enable-gl-x11")
if "x11" in packageconfig and "egl" in packageconfig:
extras.append(" --enable-egl-x11")
if "egl" in packageconfig and "drm" in packageconfig:
extras.append(" --enable-egl-drm")
if "vaapi" in packageconfig and "x11" in packageconfig:
extras.append(" --enable-vaapi-x11")
if "vaapi" in packageconfig and "drm" in packageconfig:
extras.append(" --enable-vaapi-drm")
if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig:
extras.append(" --enable-vaapi-x-egl")
if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig:
extras.append(" --enable-vdpau-gl-x11")
if "wayland" in packageconfig and "opengl" in packageconfig:
extras.append(" --enable-gl-wayland")
if "wayland" in packageconfig and "vaapi" in packageconfig:
extras.append(" --enable-vaapi-wayland")
if extras:
d.appendVar("EXTRA_OECONF", "".join(extras))
}
SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
EXTRA_OECONF = " \
--prefix=${prefix} \
--target=${SIMPLE_TARGET_SYS} \
--confdir=${sysconfdir} \
--datadir=${datadir} \
--disable-manpage-build \
--disable-libbluray \
--disable-dvdnav \
--disable-cdda \
--disable-uchardet \
--disable-rubberband \
--disable-lcms2 \
--disable-vapoursynth \
${PACKAGECONFIG_CONFARGS} \
"
do_configure:append() {
sed -i -e 's#${WORKDIR}#<WORKDIR>#g' ${B}/config.h
}
link_waf() {
ln -s waf-2.0.25 ${S}/waf
}
do_unpack[postfuncs] += "link_waf"
FILES:${PN} += " \
${datadir}/icons \
${datadir}/zsh \
${datadir}/bash-completion \
${datadir}/metainfo \
"
EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}"

View File

@@ -0,0 +1,19 @@
DESCRIPTION = "PulseAudio Preferences (paprefs) is a simple GTK based configuration dialog for the PulseAudio sound server."
HOMEPAGE = "https://freedesktop.org/software/pulseaudio/paprefs/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "pulseaudio gtkmm3 gtk+3 libsigc++-3 glibmm"
inherit meson pkgconfig features_check
# paprefs.cc includes gdk/gdkx.h and gdkx.h isn't provided by gtk3 without x11 in DISTRO_FEATURES
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "http://freedesktop.org/software/pulseaudio/paprefs/${BP}.tar.xz"
SRC_URI[sha256sum] = "b3f21e40dc3936d15e3ffc910fb0c07c14b88e8c287715b456a948c17638f633"
EXTRA_OEMESON = "-Dlynx=false"
RDEPENDS:${PN} += "pulseaudio-server"

View File

@@ -0,0 +1,112 @@
From 87992a57e5f517d5ceb5dfabaea662ac64983720 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Fri, 27 May 2022 18:37:53 +0200
Subject: [PATCH] pavucontrol: remove canberra-gtk support
libcanberra-gtk3 module isn't buildable for wayland.
Remove its dpendency.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Upstream-Status: Inappropriate
---
configure.ac | 2 +-
src/pavuapplication.cc | 2 --
src/pavucontrol.cc | 4 ----
src/sinkwidget.cc | 17 -----------------
4 files changed, 1 insertion(+), 24 deletions(-)
diff --git a/configure.ac b/configure.ac
index 056ba5e..e857563 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,7 +41,7 @@ AC_TYPE_SIGNAL
AC_HEADER_STDC
AX_CXX_COMPILE_STDCXX_11
-PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 libcanberra-gtk3 >= 0.16 json-glib-1.0 ])
+PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 json-glib-1.0 ])
AC_SUBST(GUILIBS_CFLAGS)
AC_SUBST(GUILIBS_LIBS)
diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc
index 6773b53..60c016c 100644
--- a/src/pavuapplication.cc
+++ b/src/pavuapplication.cc
@@ -24,8 +24,6 @@
#include "i18n.h"
-#include <canberra-gtk.h>
-
#include "pavuapplication.h"
#include "pavucontrol.h"
#include "mainwindow.h"
diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc
index 18d5400..10ab646 100644
--- a/src/pavucontrol.cc
+++ b/src/pavucontrol.cc
@@ -29,8 +29,6 @@
#include <json-glib/json-glib.h>
#endif
-#include <canberra-gtk.h>
-
#include "pavucontrol.h"
#include "i18n.h"
#include "minimalstreamwidget.h"
@@ -916,8 +914,6 @@ MainWindow* pavucontrol_get_window(pa_glib_mainloop *m, bool maximize, bool _ret
tab_number = _tab_number;
retry = _retry;
- ca_context_set_driver(ca_gtk_context_get(), "pulse");
-
mainWindow = MainWindow::create(maximize);
api = pa_glib_mainloop_get_api(m);
diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
index f30bd37..482fd1f 100644
--- a/src/sinkwidget.cc
+++ b/src/sinkwidget.cc
@@ -24,7 +24,6 @@
#include "sinkwidget.h"
-#include <canberra-gtk.h>
#if HAVE_EXT_DEVICE_RESTORE_API
# include <pulse/format.h>
# include <pulse/ext-device-restore.h>
@@ -111,7 +110,6 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
void SinkWidget::executeVolumeUpdate() {
pa_operation* o;
char dev[64];
- int playing = 0;
if (!(o = pa_context_set_sink_volume_by_index(get_context(), index, &volume, NULL, NULL))) {
show_error(_("pa_context_set_sink_volume_by_index() failed"));
@@ -120,22 +118,7 @@ void SinkWidget::executeVolumeUpdate() {
pa_operation_unref(o);
- ca_context_playing(ca_gtk_context_get(), 2, &playing);
- if (playing)
- return;
-
snprintf(dev, sizeof(dev), "%lu", (unsigned long) index);
- ca_context_change_device(ca_gtk_context_get(), dev);
-
- ca_gtk_play_for_widget(GTK_WIDGET(gobj()),
- 2,
- CA_PROP_EVENT_DESCRIPTION, _("Volume Control Feedback Sound"),
- CA_PROP_EVENT_ID, "audio-volume-change",
- CA_PROP_CANBERRA_CACHE_CONTROL, "permanent",
- CA_PROP_CANBERRA_ENABLE, "1",
- NULL);
-
- ca_context_change_device(ca_gtk_context_get(), NULL);
}
void SinkWidget::onMuteToggleButton() {
--
2.25.1

View File

@@ -0,0 +1,27 @@
DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
SECTION = "x11/multimedia"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
# glib-2.0-native is required for glib-gettextize, which is used by the
# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
# glib-2.0-native dependency may go away at some point (something to keep in
# mind when doing version upgrades).
DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 pulseaudio json-glib"
inherit autotools features_check perlnative pkgconfig
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
SRC_URI = "http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-pavucontrol-remove-canberra-gtk-support.patch', '', d)}"
SRC_URI[sha256sum] = "ce2b72c3b5f1a70ad0df19dd81750f9455bd20870d1d3a36d20536af2e8f4e7a"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = ",,libcanberra"
EXTRA_OECONF = "--disable-lynx "
RDEPENDS:${PN} += "pulseaudio-server"

View File

@@ -0,0 +1,16 @@
SUMMARY = "Freedesktop sound theme"
HOMEPAGE = "http://freedesktop.org/wiki/Specifications/sound-theme-spec"
LICENSE = "GPL-2.0-or-later & CC-BY-3.0 & CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://CREDITS;md5=3213e601ce34bb42ddc3498903ac4e69"
# glib-2.0 for glib-gettext.m4 which provides AM_GLIB_GNU_GETTEXT
# intltool for intltool.m4 which provides IT_PROG_INTLTOOL
DEPENDS = "glib-2.0 intltool-native"
inherit autotools gettext
DEPENDS += "glib-2.0-native"
SRC_URI = "http://people.freedesktop.org/~mccann/dist/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "d7387912cfd275282d1ec94483cb2f62"
SRC_URI[sha256sum] = "cb518b20eef05ec2e82dda1fa89a292c1760dc023aba91b8aa69bafac85e8a14"

View File

@@ -0,0 +1,46 @@
From 502c0302827cec3d2b2a69fb25189646685ef2ff Mon Sep 17 00:00:00 2001
From: Fabio Estevam <festevam@denx.de>
Date: Fri, 12 Jan 2024 00:17:14 -0300
Subject: [PATCH] keytable: meson: Restrict the installation of
50-rc_keymap.conf
Currently, meson tries to install 50-rc_keymap.conf even if systemd
is not used.
Commit 01f2c6c58e6f ("keytable: restrict installation of 50-rc_keymap.conf"),
only allowed 50-rc_keymap.conf to be installed when both BPF and systemd
were used.
Apply the same logic in meson to fix the problem.
Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Sean Young <sean@mess.org>
Upstream-Status: Backport [https://git.linuxtv.org/v4l-utils.git/commit/?id=a21924ec424c4744af6f2a794e0677eba35dd168]
---
utils/keytable/meson.build | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/utils/keytable/meson.build b/utils/keytable/meson.build
index 4130a4bea514..76ce329eae8e 100644
--- a/utils/keytable/meson.build
+++ b/utils/keytable/meson.build
@@ -69,6 +69,8 @@ ir_keytable_udev_rules = files(
install_data(ir_keytable_udev_rules,
install_dir : ir_keytable_system_dir / 'rules.d')
+if ir_bpf_enabled
+if dep_systemd.found()
if have_udevdsyscallfilter
ir_keytable_systemd_files = files(
'50-rc_keymap.conf',
@@ -76,6 +78,8 @@ if have_udevdsyscallfilter
install_data(ir_keytable_systemd_files,
install_dir : systemd_systemdir / 'systemd-udevd.service.d')
endif
+endif
+endif
# Install non-existing directory to create empty directory structure
# See: https://github.com/mesonbuild/meson/issues/2904
--
2.34.1

View File

@@ -0,0 +1,78 @@
From 3867fcfa4389c7fa271705f1fd1d4bfb74bc1bd1 Mon Sep 17 00:00:00 2001
From: Neel Gandhi <neel.gandhi@amd.com>
Date: Wed, 5 Jun 2024 13:51:36 +0530
Subject: [PATCH] media-ctl: Install media-ctl header and library files
Install mediactl and v4l2subdev header and library
files, which may be required by 3rd party applications
to populate and control v4l2subdev device node tree
Install of these files was removed in upstream commit
0911dce53b08b0df3066be2c75f67e8a314d8729.
Upstream-Status: Denied
v4l-utils maintainers do not promise a stable API for this library, and
do not currently have the time to do so. So exporting the API in this
way is fine, as long as we understand that it will change and users of
the API will need to adapt over time.
Signed-off-by: Neel Gandhi <neel.gandhi@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
---
utils/media-ctl/meson.build | 28 +++++++++++++++++++++-------
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/utils/media-ctl/meson.build b/utils/media-ctl/meson.build
index 3a7b0c9a..40669b4c 100644
--- a/utils/media-ctl/meson.build
+++ b/utils/media-ctl/meson.build
@@ -3,14 +3,24 @@ libmediactl_sources = files(
'mediactl-priv.h',
)
+libmediactl_api = files(
+ 'mediactl.h',
+ 'v4l2subdev.h',
+)
+
+install_headers(libmediactl_api, subdir: 'mediactl')
+
libmediactl_deps = [
dep_libudev,
]
-libmediactl = static_library('mediactl',
- libmediactl_sources,
- dependencies : libmediactl_deps,
- include_directories : v4l2_utils_incdir)
+libmediactl = library('mediactl',
+ libmediactl_sources,
+ soversion: '0',
+ version: '0.0.0',
+ install : true,
+ dependencies : libmediactl_deps,
+ include_directories : v4l2_utils_incdir)
dep_libmediactl = declare_dependency(link_with : libmediactl)
@@ -18,9 +28,13 @@ libv4l2subdev_sources = files('libv4l2subdev.c')
libv4l2subdev_sources += media_bus_format_names_h
libv4l2subdev_sources += media_bus_format_codes_h
-libv4l2subdev = static_library('v4l2subdev',
- libv4l2subdev_sources,
- include_directories : v4l2_utils_incdir)
+libv4l2subdev = library('v4l2subdev',
+ libv4l2subdev_sources,
+ soversion: '0',
+ version: '0.0.0',
+ install : true,
+ dependencies : dep_libmediactl,
+ include_directories : v4l2_utils_incdir)
dep_libv4l2subdev = declare_dependency(link_with : libv4l2subdev)
--
2.34.1

View File

@@ -0,0 +1,86 @@
SUMMARY = "v4l2 and IR applications"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
PROVIDES = "libv4l media-ctl"
DEPENDS = "jpeg \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}"
DEPENDS:append:libc-musl = " argp-standalone"
DEPENDS:append:class-target = " udev"
LDFLAGS:append = " -pthread"
# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
# both 32 and 64 bit file APIs. But it does not handle the time side?
# Needs further investigation
GLIBC_64BIT_TIME_FLAGS = ""
inherit meson gettext pkgconfig
PACKAGECONFIG ??= ""
PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled"
PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled"
PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c"
SRC_URI = "\
git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.26 \
file://0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch \
file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \
"
SRCREV = "4aee01a027923cab1e40969f56f8ba58d3e6c0d1"
PV .= "+git"
S = "${WORKDIR}/git"
EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false"
# Disable the erroneous installation of gconv-modules that would break glib
# like it is done in Debian and ArchLinux.
EXTRA_OEMESON += "-Dgconv=disabled"
VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap"
RPROVIDES:${PN}-dbg += "libv4l-dbg"
FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
FILES:qv4l2 = "\
${bindir}/qv4l2 \
${datadir}/applications/qv4l2.desktop \
${datadir}/icons/hicolor/*/apps/qv4l2.* \
"
FILES:qvidcap = "\
${bindir}/qvidcap \
${datadir}/applications/qvidcap.desktop \
${datadir}/icons/hicolor/*/apps/qvidcap.* \
"
FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
RDEPENDS:qv4l2 += "\
${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}"
RDEPENDS:qvidcap += "\
${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}"
FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
FILES:${PN} = "${bindir} ${sbindir}"
FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
${libdir}/libdvbv5*${SOLIBS} \
${libdir}/libv4l/*-decomp \
${libdir}/libv4l2tracer.so \
"
FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \
${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
PARALLEL_MAKE:class-native = ""
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,24 @@
SUMMARY = "Yet Another V4L2 Test Application"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "git://git.ideasonboard.org/yavta.git;branch=master \
"
SRCREV = "65f740aa1758531fd810339bc1b7d1d33666e28a"
PV = "0.0"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "-e MAKEFLAGS="
# The yavta sources include copies of the headers required to build in the
# include directory. The Makefile uses CFLAGS to include these, but since
# we override the CFLAGS then we need to add this include path back in.
CFLAGS += "-I${S}/include"
do_install() {
install -d ${D}${bindir}
install -m 0755 yavta ${D}${bindir}
}

View File

@@ -0,0 +1,35 @@
From 25e12cf5918884f232cebc34c92bd548fe40c2b3 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <anonymous.maarten@gmail.com>
Date: Fri, 9 Dec 2022 19:13:09 +0100
Subject: [PATCH] cmake: extract libtool from configure.ac and convert to
SOVERSION
Upstream-Status: Backport [https://github.com/dbry/WavPack/commit/25e12cf5918884f232cebc34c92bd548fe40c2b3]
Signed-off-by: alperak <alperyasinak1@gmail.com>
---
CMakeLists.txt | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index adc73b09..7ae5043f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,18 @@ cmake_minimum_required(VERSION 3.2)
project(WavPack VERSION 5.6.0)
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/configure.ac" CONFIGURE_AC)
+string(REGEX MATCH "LT_CURRENT=([0-9]+)" LT_CURRENT "${CONFIGURE_AC}")
+set(LT_CURRENT "${CMAKE_MATCH_1}")
+string(REGEX MATCH "LT_REVISION=([0-9]+)" LT_REVISION "${CONFIGURE_AC}")
+set(LT_REVISION "${CMAKE_MATCH_1}")
+string(REGEX MATCH "LT_AGE=([0-9]+)" LT_AGE "${CONFIGURE_AC}")
+set(LT_AGE "${CMAKE_MATCH_1}")
+
+math(EXPR SOVERSION_MAJOR "${LT_CURRENT}-${LT_AGE}")
+math(EXPR SOVERSION_MINOR "${LT_AGE}")
+math(EXPR SOVERSION_MICRO "${LT_REVISION}")
+
# Languages
include(CheckLanguage)

View File

@@ -0,0 +1,26 @@
From 7c1dd729302b7f77f65884df4e79301df1490423 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <anonymous.maarten@gmail.com>
Date: Fri, 9 Dec 2022 19:23:51 +0100
Subject: [PATCH] cmake: set SOVERSION and VERSION property of wavpack
This is used to version .so libraries on Linux
Upstream-Status: Backport [https://github.com/dbry/WavPack/commit/7c1dd729302b7f77f65884df4e79301df1490423]
Signed-off-by: alperak <alperyasinak1@gmail.com>
---
CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7ae5043f..285b295b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -361,6 +361,8 @@ if(BUILD_SHARED_LIBS)
target_link_directories(wavpack PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym")
endif()
else()
+ set_target_properties(wavpack PROPERTIES SOVERSION "${SOVERSION_MAJOR}")
+ set_target_properties(wavpack PROPERTIES VERSION "${SOVERSION_MAJOR}.${SOVERSION_MINOR}.${SOVERSION_MICRO}")
set(CONFTTEST_CONTENTS "VERS_1 {\n global: sym;\n};\n\nVERS_2 {\n global: sym;\n} VERS_1;\n")
file(WRITE ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/conftest.map "${CONFTTEST_CONTENTS}")
check_c_linker_flag("-Wl,--version-script=${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/conftest.map" COMPILER_SUPPORTS_SYMBOL_MAPS)

View File

@@ -0,0 +1,18 @@
DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://license.txt;md5=bb5d037e3ad41a3c84c9f2d8bb65a7b4"
DEPENDS = "openssl"
SRC_URI = "git://github.com/dbry/WavPack.git;branch=master;protocol=https \
file://set-soversion-and-version.patch \
file://extract-libtool-and-convert-to-soversion.patch \
"
SRCREV = "e03e8e29dc618e08e7baba9636e57ba1254874ce"
S = "${WORKDIR}/git"
inherit cmake pkgconfig lib_package
EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"

View File

@@ -0,0 +1,53 @@
From 2829e6998b7595dd2108c1497fdd02485ef99e2c Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Tue, 16 Aug 2011 16:04:35 +0200
Subject: [PATCH] Upstream: not yet
Fix configure to accept "--prefix=" (a blank prefix).
Upstream-Status: Pending
---
build/make/configure.sh | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/build/make/configure.sh b/build/make/configure.sh
index b645a666f..0b99a8b38 100644
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -658,6 +658,8 @@ process_common_cmdline() {
;;
--prefix=*)
prefix="${optval}"
+ # Distinguish between "prefix not set" and "prefix set to ''"
+ prefixset=1
;;
--libdir=*)
libdir="${optval}"
@@ -687,13 +689,23 @@ process_cmdline() {
}
post_process_common_cmdline() {
- prefix="${prefix:-/usr/local}"
+ if [ "$prefixset" != "1" ]
+ then
+ prefix=/usr/local
+ fi
+
+ # Strip trailing slash
prefix="${prefix%/}"
+
libdir="${libdir:-${prefix}/lib}"
libdir="${libdir%/}"
- if [ "${libdir#${prefix}}" = "${libdir}" ]; then
- die "Libdir ${libdir} must be a subdirectory of ${prefix}"
- fi
+
+ case "$libdir" in
+ "${prefix}/"*) ;;
+ *)
+ die "Libdir ${libdir} must be a subdirectory of ${prefix}"
+ ;;
+ esac
}
post_process_cmdline() {

View File

@@ -0,0 +1,51 @@
SUMMARY = "VPX multi-format codec"
DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
HOMEPAGE = "http://www.webmproject.org/code/"
BUGTRACKER = "http://code.google.com/p/webm/issues/list"
SECTION = "libs/multimedia"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
SRCREV = "602e2e8979d111b02c959470da5322797dd96a19"
SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https;branch=main \
file://libvpx-configure-support-blank-prefix.patch \
"
S = "${WORKDIR}/git"
# ffmpeg links with this and fails
# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
ARM_INSTRUCTION_SET = "arm"
CFLAGS += "-fPIC"
BUILD_LDFLAGS += "-pthread"
export CC
export LD = "${CC}"
VPXTARGET:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7-linux-gcc","generic-gnu",d)}"
VPXTARGET ?= "generic-gnu"
CONFIGUREOPTS = " \
--target=${VPXTARGET} \
--enable-vp9 \
--enable-libs \
--disable-install-docs \
--disable-static \
--enable-shared \
--prefix=${prefix} \
--libdir=${libdir} \
--size-limit=16384x16384 \
"
do_configure() {
${S}/configure ${CONFIGUREOPTS}
}
do_install() {
oe_runmake install DESTDIR=${D}
chown -R root:root ${D}
}
BBCLASSEXTEND += "native"

View File

@@ -0,0 +1,15 @@
Upstream-Status: Pending
--- configure.ac.old 2005-06-03 12:53:28.000000000 +0200
+++ configure.ac 2005-06-03 12:54:29.000000000 +0200
@@ -25,9 +25,9 @@
AC_PREREQ([2.57])
AC_INIT([spext], [1.0], [lauri.leukkunen@nokia.com], spext)
+AC_CONFIG_AUX_DIR(.)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
-AC_CONFIG_AUX_DIR(.)
dnl PKG_CHECK_MODULES(FIXESEXT, fixesext)

View File

@@ -0,0 +1,20 @@
LICENSE= "MIT"
SUMMARY = "X Server Nokia 770 extensions library"
SECTION = "x11/libs"
DEPENDS = "virtual/libx11 libxext"
LIC_FILES_CHKSUM = "file://COPYING;md5=db043791349ba57ad1169e1c92477cb6"
SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${BPN}/${BPN}_${PV}.tar.gz \
file://auxdir.patch;striplevel=0"
S = "${WORKDIR}/xpext-1.0"
inherit autotools pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
# Remove runtime dependency on empty package ${PN}
RDEPENDS:${PN}-dev = ""
SRC_URI[md5sum] = "1b0cb67b6f2bd7c4abef17648b062896"
SRC_URI[sha256sum] = "a3b06f5188fd9effd0799ae31352b3cd65cb913b964e2c1a923ffa9d3c08abbe"

View File

@@ -0,0 +1,12 @@
Upstream-Status: Pending
--- Xsp/xsp.pc.in~ 2009-01-07 13:06:07.000000000 +0100
+++ Xsp/xsp.pc.in 2009-01-07 13:06:07.000000000 +0100
@@ -6,5 +6,5 @@
Name: Xsp
Description: X Sputnik Library
Version: @PACKAGE_VERSION@
-Cflags: -I${includedir} @XSP_CFLAGS@ @X_CFLAGS@
-Libs: -L${libdir} -lXsp @XSP_LIBS@ @X_LIBS@
+Cflags: -I${includedir}
+Libs: -L${libdir} -lXsp -lX11

View File

@@ -0,0 +1,15 @@
LICENSE= "MIT"
SUMMARY = "X Server Nokia 770 extensions library"
SECTION = "x11/libs"
DEPENDS = "virtual/libx11 libxext xpext"
LIC_FILES_CHKSUM = "file://COPYING;md5=ea2bda168c508c7cd8afa567b2fcc549"
SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${BPN}_${PV}.tar.gz \
file://xsp-fix-pc.patch"
S = "${WORKDIR}/Xsp"
inherit autotools pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[md5sum] = "2a0d8d02228d4cbd28b6e07bb7c17cf5"
SRC_URI[sha256sum] = "8b722b952b64841d996c70c3278499886c81bb5012991beed5f66f4158418f59"