Skip to contentSkip to conversation

openh264: fix build for 32-bit intel arch

PATCH Superseded Trevor Woerner 2 participants 5 messages May 16, 2018

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 openh264: fix build for 32-bit intel arch

---
 .../recipes-multimedia/openh264/openh264_1.7.0.bb        | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +4 -5
index a7aaab3623..d77de2876b 100644
@@ -3,9 +3,8 @@ decoding. It is suitable for use in real time applications such as WebRTC."
 HOMEPAGE = "http://www.openh264.org/"
 SECTION = "libs/multimedia"
 
-DEPENDS = "${@oe.utils.conditional('TARGET_ARCH', 'i386', 'nasm-native', \
-              oe.utils.conditional('TARGET_ARCH', 'x86_64', 'nasm-native', \
-             '', d), d)}"
+DEPENDS_x86 += "nasm-native"
+DEPENDS_x86-64 += "nasm-native"
 
 LICENSE = "BSD-2-Clause"
 LICENSE_FLAGS = "commercial"
@@ -17,14 +16,14 @@ SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f68957
 
 COMPATIBLE_MACHINE_armv7a = "(.*)"
 COMPATIBLE_MACHINE_aarch64 = "(.*)"
-COMPATIBLE_MACHINE_i386 = "(.*)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
 COMPATIBLE_MACHINE_x86-64 = "(.*)"
 COMPATIBLE_MACHINE_mips = "(.*)"
 COMPATIBLE_MACHINE_mips64 = "(.*)"
 
 EXTRA_OEMAKE_armv7a = "ARCH=arm"
 EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
-EXTRA_OEMAKE_i386 = "ARCH=i386"
+EXTRA_OEMAKE_x86 = "ARCH=i386"
 EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
 EXTRA_OEMAKE_mips = "ARCH=mips"
 EXTRA_OEMAKE_mips64 = "ARCH=mips64"
Signature · 1 line
2.17.0.rc2.3.gc2a499e6c
#1 lore raw

PATCH v2 2/2 openh264: switch away from github archive

Since we know that github archives which are automatically generated have a tendency to change their checksums[1], switch to using a git clone.

[1] http://lists.openembedded.org/pipermail/openembedded-devel/2017-September/114916.html

---
changes since v1
- none. the only change is to introduce the fix for qemux86 builds (patch 1/2) which isn't related to this patch and has no effect on it

---
 .../recipes-multimedia/openh264/openh264_1.7.0.bb          | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +4 -3
index d77de2876b..44c46f81e8 100644
@@ -10,9 +10,10 @@ LICENSE = "BSD-2-Clause"
 LICENSE_FLAGS = "commercial"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
 
-SRC_URI = "https://github.com/cisco/openh264/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "93da4e76cfda7ede8fd2df51b0021efd"
-SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f6895738653f"
+S = "${WORKDIR}/git"
+SRCREV = "a180c9d4d6f1a4830ca9eed9d159d54996bd63cb"
+BRANCH = "openh264v1.7"
+SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH};"
 
 COMPATIBLE_MACHINE_armv7a = "(.*)"
 COMPATIBLE_MACHINE_aarch64 = "(.*)"
Signature · 1 line
2.17.0.rc2.3.gc2a499e6c
#2 lore raw
In reply to Trevor Woerner
Quoted 10 lines · Trevor Woerner
---
 .../recipes-multimedia/openh264/openh264_1.7.0.bb        | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +0 -0
index a7aaab3623..d77de2876b 100644

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb decoding. It is suitable for use in real time applications such as WebRTC." · line 8

Quoted 9 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +2 -3
@@ -3,9 +3,8 @@ decoding. It is suitable for use in real time applications such as WebRTC."
 HOMEPAGE = "http://www.openh264.org/"
 SECTION = "libs/multimedia"
 
-DEPENDS = "${@oe.utils.conditional('TARGET_ARCH', 'i386', 'nasm-native', \
-              oe.utils.conditional('TARGET_ARCH', 'x86_64', 'nasm-native', \
-             '', d), d)}"
+DEPENDS_x86 += "nasm-native"
+DEPENDS_x86-64 += "nasm-native"
 

if using overrides, perhaps using _append instead of += is better.

Quoted 6 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +0 -0
 LICENSE = "BSD-2-Clause"
 LICENSE_FLAGS = "commercial"
@@ -17,14 +16,14 @@ SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f68957
 
 COMPATIBLE_MACHINE_armv7a = "(.*)"
 COMPATIBLE_MACHINE_aarch64 = "(.*)"

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f68957 · line 26

Quoted 10 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +2 -2
-COMPATIBLE_MACHINE_i386 = "(.*)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
 COMPATIBLE_MACHINE_x86-64 = "(.*)"
 COMPATIBLE_MACHINE_mips = "(.*)"
 COMPATIBLE_MACHINE_mips64 = "(.*)"
 
 EXTRA_OEMAKE_armv7a = "ARCH=arm"
 EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
-EXTRA_OEMAKE_i386 = "ARCH=i386"
+EXTRA_OEMAKE_x86 = "ARCH=i386"

can you take another look if there are other options eg. i686 ? if in literal sense it means i386 then we should not be using it for newer i*86 arches.

Quoted 11 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +0 -1
 EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
 EXTRA_OEMAKE_mips = "ARCH=mips"
 EXTRA_OEMAKE_mips64 = "ARCH=mips64"
--

2.17.0.rc2.3.gc2a499e6c

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

#3 lore raw
Quoted 19 lines · Khem Raj

Review

Quoted 6 lines · Trevor Woerner
---
 .../recipes-multimedia/openh264/openh264_1.7.0.bb        | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
(quoted diff) +0 -0

1.7.0.bb b/meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb decoding. It is suitable for use in real time

Quoted 4 lines

index a7aaab3623..d77de2876b 100644

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +0 -0
@@ -3,9 +3,8 @@ decoding. It is suitable for use in real time

applications such as WebRTC."

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb decoding. It is suitable for use in real time applications such as WebRTC."

Quoted 4 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +0 -1
 HOMEPAGE = "http://www.openh264.org/"
 SECTION = "libs/multimedia"
 
-DEPENDS = "${@oe.utils.conditional('TARGET_ARCH', 'i386',

'nasm-native', \

Quoted 10 lines

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb decoding. It is suitable for use in real time · line 7

Quoted 1 line
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +0 -1
-              oe.utils.conditional('TARGET_ARCH', 'x86_64',

'nasm-native', \

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb decoding. It is suitable for use in real time applications such as WebRTC." · line 8

Quoted 4 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +2 -1
-             '', d), d)}"
+DEPENDS_x86 += "nasm-native"
+DEPENDS_x86-64 += "nasm-native"
 

if using overrides, perhaps using _append instead of += is better.

ok

Quoted 13 lines

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2a

Quoted 3 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +0 -0
 LICENSE = "BSD-2-Clause"
 LICENSE_FLAGS = "commercial"
@@ -17,14 +16,14 @@ SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2a

f7648b70d05bd5460c8b67f68957

Quoted 9 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +1 -1
 COMPATIBLE_MACHINE_armv7a = "(.*)"
 COMPATIBLE_MACHINE_aarch64 = "(.*)"
-COMPATIBLE_MACHINE_i386 = "(.*)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
 COMPATIBLE_MACHINE_x86-64 = "(.*)"
 COMPATIBLE_MACHINE_mips = "(.*)"
 COMPATIBLE_MACHINE_mips64 = "(.*)"
 
Quoted 9 lines

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f68957 · line 26

Quoted 4 lines
meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +1 -1
 EXTRA_OEMAKE_armv7a = "ARCH=arm"
 EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
-EXTRA_OEMAKE_i386 = "ARCH=i386"
+EXTRA_OEMAKE_x86 = "ARCH=i386"

can you take another look if there are other options eg. i686 ? if in literal sense it means i386 then we should not be using it for newer i*86 arches.

i'll take a look

#4 lore raw
Quoted 8 lines · Trevor Woerner
Quoted 8 lines

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb SRC_URI[sha256sum] = "9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f68957 · line 26

Quoted 4 lines

EXTRA_OEMAKE_armv7a = "ARCH=arm"
EXTRA_OEMAKE_aarch64 = "ARCH=arm64"

meta-multimedia/recipes-multimedia/openh264/openh264_1.7.0.bb +1 -1
-EXTRA_OEMAKE_i386 = "ARCH=i386"
+EXTRA_OEMAKE_x86 = "ARCH=i386"

can you take another look if there are other options eg. i686 ? if in literal sense it means i386 then we should not be using it for newer i*86 arches.

According to the README
(https://github.com/cisco/openh264/blob/openh264v1.7/README.md#for-all-platforms)
specifying "ARCH=i386" is this project's generic way of saying "32-bit x86 builds" (which is why the recipe needs to "translate" between x86 and i386).

I'll send an updated v4 (this was actually supposed to be v3, oops!) with the += replaced with an _appends.

thanks for reviewing! :-)