From e34f89623c246d261efb7fd0f2ce4a30b10bd59d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 15 Apr 2021 15:53:51 -0500 Subject: meta-openembedded: subtree update:da393545a2..08c0280b7c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Andreas Müller (8): networkmanager-openvpn: Fix packageing mousepad: upgrade 0.5.3 -> 0.5.4 xfce4-battery-plugin: upgrade 1.1.3 -> 1.1.4 gigolo: upgrade 0.5.1 -> 0.5.2 thunar: upgrade 4.16.4 -> 4.16.6 poppler: upgrade 21.03.0 -> 21.04.0 catfish: add python3-dbus to RDEPENDS fluidsynth: upgrade 2.1.7 -> 2.2.0 Andrew Geissler (1): nodejs: ppc64le machine support Awais Belal (1): libnet-ssleay-perl: add rdep on perl-module-autoloader Hermes Zhang (1): gpsd: backport d-bus message time patch from upstream Hongxu Jia (1): debootstrap: 1.0.67 -> 1.0.123 Kamil Dziezyk (1): bats: upgrade 1.1.0 -> 1.3.0 Kartikey Rameshbhai Parmar (1): fluidsynth: update SRC_URI to remove non-existing 2.1.x branch Khem Raj (12): mariadb: Fix build on newer 32bit architectures iwd: Upgade to 1.13 libmanette: Add recipe pidgin-sipe: Fix build with glib-2.0 >= 2.68 gjs: Fix build with gcc11 poppler: Backport patches to fix build with glib-2.0 2.68+ and GCC11 opencv: Upgrade to 5.4.2 Revert "iwd: Upgade to 1.13" core-image-minimal-xfce: Use graphical.target as default tbb: Fix build with musl vnstat: Disable install parallism to fix a potential install race open-vm-tools: Fix build with gcc 11 Leon Anavi (57): python3-sqlalchemy: Upgrade 1.4.3 -> 1.4.4 python3-bitarray: Upgrade 1.8.1 -> 1.8.2 python3-httplib2: Upgrade 0.19.0 -> 0.19.1 python3-parso: Upgrade 0.8.1 -> 0.8.2 python3-matplotlib: Upgrade 3.3.4 -> 3.4.1 python3-pyroute2: Upgrade 0.5.15 -> 0.5.16 python3-h5py: Upgrade 3.1.0 -> 3.2.1 python3-cheetah: Upgrade 3.2.6 -> 3.2.6.post1 python3-google-api-python-client: Upgrade 2.0.2 -> 2.1.0 python3-xlsxwriter: Upgrade 1.3.7 -> 1.3.8 python3-pymisp: Upgrade 2.4.140 -> 2.4.141 python3-tqdm: Upgrade 4.58.0 -> 4.59.0 python3-contextlib2: Upgrade 0.6.0 -> 0.6.0.post1 python3-typeguard: Upgrade 2.11.1 -> 2.12.0 python3-decorator: Upgrade 4.4.2 -> 5.0.1 python3-pillow: Upgrade 8.1.2 -> 8.2.0 python3-aiohttp: Upgrade 3.7.4 -> 3.7.4.post0 python3-networkx: Upgrade 2.5 -> 2.5.1 python3-pysonos: Upgrade 0.0.40 -> 0.0.41 python3-docutils: Upgrade 0.16 -> 0.17 python3-bitarray: Upgrade 1.8.2 -> 1.9.0 python3-regex: Upgrade 2021.3.17 -> 2021.4.4 python3-sqlalchemy: Upgrade 1.4.4 -> 1.4.5 python3-pychromecast: Upgrade 9.1.1 -> 9.1.2 python3-decorator: Upgrade 5.0.1 -> 5.0.5 python3-pymisp: Upgrade 2.4.141 -> 2.4.141.1 python3-pyroute2: Upgrade 0.5.16 -> 0.5.17 python3-transitions: Upgrade 0.8.7 -> 0.8.8 python3-sqlalchemy: Upgrade 1.4.5 -> 1.4.6 python3-bitarray: Upgrade 1.9.0 -> 1.9.1 python3-pysonos: Upgrade 0.0.41 -> 0.0.42 python3-django: Upgrade 3.1.7 -> 3.2 python3-tqdm: Upgrade 4.59.0 -> 4.60.0 python3-xmlschema: Upgrade 1.5.3 -> 1.6.0 python3-ruamel-yaml: Upgrade 0.17.2 -> 0.17.4 python3-croniter: Upgrade 1.0.10 -> 1.0.11 python3-decorator: Upgrade 5.0.5 -> 5.0.6 python3-grpcio-tools: Upgrade 1.36.1 -> 1.37.0 python3-speedtest-cli: Upgrade 2.1.2 -> 2.1.3 python3-python-vlc: Upgrade 3.0.11115 -> 3.0.12117 python3-robotframework: Upgrade 4.0 -> 4.0.1 python3-grpcio: Upgrade 1.36.1 -> 1.37.0 python3-cerberus: Upgrade 1.3.2 -> 1.3.3 python3-humanize: Upgrade 3.3.0 -> 3.4.0 python3-monotonic: Upgrade 1.5 -> 1.6 python3-sqlalchemy: Upgrade 1.4.6 -> 1.4.7 python3-typed-ast: Upgrade 1.4.2 -> 1.4.3 python3-backports-functools-lru-cache: Upgrade 1.6.3 -> 1.6.4 python3-xmlschema: Upgrade 1.6.0 -> 1.6.1 python3-pyroute2: Upgrade 0.5.17 -> 0.5.18 python3-sympy: Upgrade 1.7.1 -> 1.8 python3-pandas: Upgrade 1.2.3 -> 1.2.4 python3-humanize: Upgrade 3.4.0 -> 3.4.1 python3-decorator: Upgrade 5.0.6 -> 5.0.7 python3-colorlog: Upgrade 4.8.0 -> 5.0.1 python3-google-api-python-client: Upgrade 2.1.0 -> 2.2.0 python3-croniter: Upgrade 1.0.11 -> 1.0.12 Martin Jansa (13): packagegroup-meta-oe: include glfw, icewm, geis only with x11 in DISTRO_FEATURES phonet-utils: remove packagegroup-meta-oe: use 4 spaces for identation telepathy-glib: respect GI_DATA_ENABLED when enabling vala-bindings uml-utilities: fix installed-vs-shipped with usrmerge libsmi: use /bin/sh instead of ${base_bindir}/sh to silence QA error with usrmerge libyui: switch to libyui-old repo which still has this SRCREV libyui(-ncurses): upgrade to 4.1.1, libyui repo was rewritten completely android-tools: use PN instead of BPN in RDEPENDS pidgin-sipe: fix g_memdup2 changes to be backwards compatible with glib-1.67 pidgin: upgrade to 2.14.2 opencv: fetch wechat_qrcode files used by dnn PACKAGECONFIG opencv: link sfm module with Glog Mingli Yu (2): freeradius: Upgrade to 3.0.21 hostapd: fix CVE-2021-0326 and CVE-2021-27803 Naveen Saini (2): tbb: upgrade 2020.3 -> 2021.2.0 ocl-icd: upgrade 2.2.14 -> 2.3.0 Randy MacLeod (2): doxygen: Upgrade 1.8.20 -> 1.9.1 open-vm-tools: upgrade 11.0.1 -> 11.2.5 Ross Burton (1): fwts: upgrade to 21.03.00 Stefan Ghinea (1): hostapd: fix CVE-2021-30004 Vinicius Aquino (1): networkmanager: upgrade 1.28.0 -> 1.30.2 Vinícius Ossanes Aquino (2): modemmanager: upgrade 1.14.10 -> 1.16.2 libqmi: upgrade 1.26.6 -> 1.28.2 Yi Fan Yu (2): rsyslog: fix some of the ptests redis: upgrade 6.0.9 -> 6.2.1 hasan.men (2): librdkafka: Add initial recipe v1.6.1 libcppkafka: Add initial recipe for cppkafka wrapper persianpros (5): PEP8 double aggressive E701, E70 and E502 PEP8 double aggressive E20 and E211 PEP8 double aggressive E22, E224, E241, E242 and E27 PEP8 double aggressive E301 ~ E306 PEP8 double aggressive W291 ~ W293 and W391 wangmy (2): mariadb: upgrade 10.5.8 -> 10.5.9 uftrace: Fix error on aarch64 when binutils update to 2.35.1 zangrc (14): gnome-autoar: upgrade 0.2.4 -> 0.3.1 emacs: upgrade 27.1 -> 27.2 fbgrab: upgrade 1.4 -> 1.5 ostree: upgrade 2020.8 -> 2021.1 zabbix: upgrade 5.2.5 -> 5.2.6 libxaw: upgrade 1.0.13 -> 1.0.14 mosquitto: upgrade 2.0.9 -> 2.0.10 nbdkit: upgrade 1.25.4 -> 1.25.5 stunnel: upgrade 5.58 -> 5.59 usbredir: upgrade 0.8.0 -> 0.9.0 hwdata: upgrade 0.345 -> 0.346 live555: upgrade 20210322 -> 20210406 rabbitmq-c: upgrade 0.10.0 -> 0.11.0 xterm: upgrade 366 -> 367 zhengruoqin (7): fetchmail: upgrade 6.4.17 -> 6.4.18 lldpd: upgrade 1.0.4 -> 1.0.8 networkmanager-openvpn: upgrade 1.8.12 -> 1.8.14 snort: upgrade 2.9.17 -> 2.9.17.1 python3-absl: upgrade 0.10.0 -> 0.12.0 python3-astroid: upgrade 2.5.2 -> 2.5.3 python3-bitarray: upgrade 1.9.1 -> 1.9.2 Signed-off-by: Andrew Geissler Change-Id: I1f0f809aeda70e82140fec5e3310cbf89c760ad4 --- .../meta-oe/recipes-support/emacs/emacs_27.1.bb | 262 --------------------- .../meta-oe/recipes-support/emacs/emacs_27.2.bb | 262 +++++++++++++++++++++ .../meta-oe/recipes-support/hwdata/hwdata_git.bb | 4 +- .../recipes-support/libcppkafka/libcppkafka_git.bb | 22 ++ .../recipes-support/libmanette/libmanette_0.2.6.bb | 16 ++ .../librdkafka/0001_fix_absolute_path_usage.patch | 83 +++++++ .../recipes-support/librdkafka/librdkafka_1.6.1.bb | 23 ++ .../meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb | 2 +- ...-Fix-building-opencv-using-gcc-11.x-19244.patch | 28 --- .../opencv/0001-sfm-link-with-Glog_LIBS.patch | 44 ++++ .../meta-oe/recipes-support/opencv/opencv_4.5.1.bb | 224 ------------------ .../meta-oe/recipes-support/opencv/opencv_4.5.2.bb | 228 ++++++++++++++++++ .../0001-Migrate-to-use-g_memdup2.patch | 192 +++++++++++++++ .../recipes-support/pidgin/pidgin-sipe_1.25.0.bb | 1 + ...configure.ac-fix-build-with-autoconf-2.71.patch | 229 ------------------ ...c-disable-few-languages-not-compatible-wi.patch | 49 ---- .../recipes-support/pidgin/pidgin_2.14.1.bb | 112 --------- .../recipes-support/pidgin/pidgin_2.14.2.bb | 110 +++++++++ .../recipes-support/poppler/poppler_21.03.0.bb | 51 ---- .../recipes-support/poppler/poppler_21.04.0.bb | 51 ++++ ...01-CMakeLists.txt-exclude-riscv64-riscv32.patch | 42 ++++ .../0001-Disable-use-of-_tpause-instruction.patch | 34 +++ ...mallinfo-is-glibc-specific-API-mark-it-so.patch | 27 ++- .../tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch | 22 +- .../recipes-support/tbb/tbb/cross-compile.patch | 35 --- .../tbb/tbb/improve-reproducibility.patch | 30 --- .../meta-oe/recipes-support/tbb/tbb/tbb.pc | 11 - .../meta-oe/recipes-support/tbb/tbb_2020.3.bb | 46 ---- .../meta-oe/recipes-support/tbb/tbb_2021.2.0.bb | 45 ++++ 29 files changed, 1183 insertions(+), 1102 deletions(-) delete mode 100644 meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc delete mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb (limited to 'meta-openembedded/meta-oe/recipes-support') diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb deleted file mode 100644 index cfc089b3b..000000000 --- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb +++ /dev/null @@ -1,262 +0,0 @@ -SUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor" -HOMEPAGE = "https://www.gnu.org/software/emacs/" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz" - -SRC_URI_append_class-target = " file://usemake-docfile-native.patch" - -SRC_URI[sha256sum] = "4a4c128f915fc937d61edfc273c98106711b540c9be3cd5d2e2b9b5b2f172e41" - -PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls" -PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5" -PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp" - -PACKAGECONFIG ??= "gnutls kerberos libgmp" - -# We could use --without-all but its better to -# split it into several packages (size of minimal doesnt change) -EXTRA_OECONF = " --with-x=no --with-dumping=none" - -DEPENDS = "ncurses" -DEPENDS_append_class-target = " emacs-native" - -inherit autotools mime-xdg - - -do_compile_class-native (){ - cd ${B}/lib-src - oe_runmake make-docfile - oe_runmake make-fingerprint -} -do_install_class-native(){ - install -d ${D}${bindir} - install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/ - install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/ -} - - -do_install_append(){ - # Delete systemd stuff, extend using DISTRO_FEATURES? - rm -rf ${D}/${libdir} - # Extra stuff which isnt needed - rm -rf ${D}/${datadir}/metainfo - rm -rf ${D}/${datadir}/info - # Emacs copies files to ${D} while building, which were unpacked - # by a different user, we need to restore those - chown -R root:root ${D}${datadir} -} - - -# Use a similar strategy to how we build python: -# Create three packages -# minimal - A working lisp based text editor -# base - What would probably work for most -# full - A fully working emacs -# The lists of files are long but are worth it -# Installing "emacs" installs the base package -PACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full" -RPROVIDES_${PN}-base = "${PN}" -RDEPENDS_${PN}-base_class-target = "${PN}-minimal" -RDEPENDS_${PN}-full_class-target = "${PN}" - - -# A minimal version of emacs that works -FILES_${PN}-minimal = " \ - ${datadir}/${BPN}/${PV}/lisp/loadup.el \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \ - ${datadir}/${BPN}/${PV}/lisp/subr.elc \ - ${datadir}/${BPN}/${PV}/lisp/version.elc \ - ${datadir}/${BPN}/${PV}/lisp/widget.elc \ - ${datadir}/${BPN}/${PV}/lisp/custom.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/mule.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \ - ${datadir}/${BPN}/${PV}/lisp/env.elc \ - ${datadir}/${BPN}/${PV}/lisp/format.elc \ - ${datadir}/${BPN}/${PV}/lisp/bindings.elc \ - ${datadir}/${BPN}/${PV}/lisp/window.elc \ - ${datadir}/${BPN}/${PV}/lisp/files.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \ - ${datadir}/${BPN}/${PV}/lisp/cus-face.elc \ - ${datadir}/${BPN}/${PV}/lisp/faces.elc \ - ${datadir}/${BPN}/${PV}/lisp/button.elc \ - ${datadir}/${BPN}/${PV}/lisp/loaddefs.el \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \ - ${datadir}/${BPN}/${PV}/lisp/obarray.elc \ - ${datadir}/${BPN}/${PV}/lisp/abbrev.elc \ - ${datadir}/${BPN}/${PV}/lisp/simple.elc \ - ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \ - ${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \ - ${datadir}/${BPN}/${PV}/lisp/case-table.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/charprop.el \ - ${datadir}/${BPN}/${PV}/lisp/international/characters.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \ - ${datadir}/${BPN}/${PV}/lisp/composite.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/english.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/european.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/czech.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/thai.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \ - ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \ - ${datadir}/${BPN}/${PV}/lisp/indent.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \ - ${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \ - ${datadir}/${BPN}/${PV}/lisp/frame.elc \ - ${datadir}/${BPN}/${PV}/lisp/startup.elc \ - ${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \ - ${datadir}/${BPN}/${PV}/lisp/font-core.elc \ - ${datadir}/${BPN}/${PV}/lisp/facemenu.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \ - ${datadir}/${BPN}/${PV}/lisp/font-lock.elc \ - ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \ - ${datadir}/${BPN}/${PV}/lisp/mouse.elc \ - ${datadir}/${BPN}/${PV}/lisp/select.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \ - ${datadir}/${BPN}/${PV}/lisp/isearch.elc \ - ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \ - ${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \ - ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \ - ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \ - ${datadir}/${BPN}/${PV}/lisp/register.elc \ - ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \ - ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \ - ${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \ - ${datadir}/${BPN}/${PV}/lisp/newcomment.elc \ - ${datadir}/${BPN}/${PV}/lisp/replace.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \ - ${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \ - ${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \ - ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \ - ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \ - ${datadir}/${BPN}/${PV}/lisp/electric.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \ - ${datadir}/${BPN}/${PV}/lisp/cus-start.elc \ - ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \ - ${datadir}/${BPN}/${PV}/lisp/simple.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \ - ${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \ - ${datadir}/${BPN}/${PV}/lisp/image.elc \ - ${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \ - ${datadir}/${BPN}/${PV}/lisp/help.elc \ - ${datadir}/${BPN}/${PV}/lisp/international/uni*.el \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \ - ${datadir}/${BPN}/${PV}/etc/charsets/ \ - ${datadir}/${BPN}/${PV}/lisp/disp-table.elc \ - ${bindir}/emacs* \ - ${prefix}/libexec \ -" - - -# What works for "most" is relative, but this can be easily extended if needed -FILES_${PN}-base = " \ - ${datadir}/${BPN}/${PV}/etc/srecode \ - ${datadir}/${BPN}/${PV}/etc/e \ - ${datadir}/${BPN}/${PV}/etc/forms \ - ${datadir}/${BPN}/${PV}/lisp/cedet \ - ${datadir}/${BPN}/${PV}/site-lisp/ \ - ${datadir}/${BPN}/${PV}/lisp/subdirs.el \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/python* \ - ${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \ - ${datadir}/${BPN}/${PV}/lisp/comint.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \ - ${datadir}/${BPN}/${PV}/lisp/json.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \ - ${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \ - ${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \ - ${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \ - ${datadir}/${BPN}/${PV}/lisp/auth-source.elc \ - ${datadir}/${BPN}/${PV}/lisp/password-cache.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \ - ${datadir}/${BPN}/${PV}/lisp/format-spec.elc \ - ${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \ - ${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \ - ${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \ - ${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \ - ${datadir}/${BPN}/${PV}/lisp/shell.elc \ - ${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \ - ${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \ - ${datadir}/${BPN}/${PV}/lisp/files-x.elc \ - ${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \ - ${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \ - ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/make* \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \ - ${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \ - ${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \ - ${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \ - ${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \ - ${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \ - ${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \ - ${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \ - ${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \ -" - -# Restore FILES for the full package to catch everything left -FILES_${PN}-full = "${FILES_${PN}}" -FILES_${PN}-full_append = " ${datadir}/icons" - - -# The following does NOT build a native emacs. -# It only builds some parts of it that are -# required to by the build for target emacs. -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb new file mode 100644 index 000000000..e3157ec42 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb @@ -0,0 +1,262 @@ +SUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor" +HOMEPAGE = "https://www.gnu.org/software/emacs/" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz" + +SRC_URI_append_class-target = " file://usemake-docfile-native.patch" + +SRC_URI[sha256sum] = "b4a7cc4e78e63f378624e0919215b910af5bb2a0afc819fad298272e9f40c1b9" + +PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls" +PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5" +PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp" + +PACKAGECONFIG ??= "gnutls kerberos libgmp" + +# We could use --without-all but its better to +# split it into several packages (size of minimal doesnt change) +EXTRA_OECONF = " --with-x=no --with-dumping=none" + +DEPENDS = "ncurses" +DEPENDS_append_class-target = " emacs-native" + +inherit autotools mime-xdg + + +do_compile_class-native (){ + cd ${B}/lib-src + oe_runmake make-docfile + oe_runmake make-fingerprint +} +do_install_class-native(){ + install -d ${D}${bindir} + install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/ + install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/ +} + + +do_install_append(){ + # Delete systemd stuff, extend using DISTRO_FEATURES? + rm -rf ${D}/${libdir} + # Extra stuff which isnt needed + rm -rf ${D}/${datadir}/metainfo + rm -rf ${D}/${datadir}/info + # Emacs copies files to ${D} while building, which were unpacked + # by a different user, we need to restore those + chown -R root:root ${D}${datadir} +} + + +# Use a similar strategy to how we build python: +# Create three packages +# minimal - A working lisp based text editor +# base - What would probably work for most +# full - A fully working emacs +# The lists of files are long but are worth it +# Installing "emacs" installs the base package +PACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full" +RPROVIDES_${PN}-base = "${PN}" +RDEPENDS_${PN}-base_class-target = "${PN}-minimal" +RDEPENDS_${PN}-full_class-target = "${PN}" + + +# A minimal version of emacs that works +FILES_${PN}-minimal = " \ + ${datadir}/${BPN}/${PV}/lisp/loadup.el \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \ + ${datadir}/${BPN}/${PV}/lisp/subr.elc \ + ${datadir}/${BPN}/${PV}/lisp/version.elc \ + ${datadir}/${BPN}/${PV}/lisp/widget.elc \ + ${datadir}/${BPN}/${PV}/lisp/custom.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/mule.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \ + ${datadir}/${BPN}/${PV}/lisp/env.elc \ + ${datadir}/${BPN}/${PV}/lisp/format.elc \ + ${datadir}/${BPN}/${PV}/lisp/bindings.elc \ + ${datadir}/${BPN}/${PV}/lisp/window.elc \ + ${datadir}/${BPN}/${PV}/lisp/files.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \ + ${datadir}/${BPN}/${PV}/lisp/cus-face.elc \ + ${datadir}/${BPN}/${PV}/lisp/faces.elc \ + ${datadir}/${BPN}/${PV}/lisp/button.elc \ + ${datadir}/${BPN}/${PV}/lisp/loaddefs.el \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \ + ${datadir}/${BPN}/${PV}/lisp/obarray.elc \ + ${datadir}/${BPN}/${PV}/lisp/abbrev.elc \ + ${datadir}/${BPN}/${PV}/lisp/simple.elc \ + ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \ + ${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \ + ${datadir}/${BPN}/${PV}/lisp/case-table.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/charprop.el \ + ${datadir}/${BPN}/${PV}/lisp/international/characters.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \ + ${datadir}/${BPN}/${PV}/lisp/composite.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/english.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/european.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/czech.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/thai.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \ + ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \ + ${datadir}/${BPN}/${PV}/lisp/indent.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \ + ${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \ + ${datadir}/${BPN}/${PV}/lisp/frame.elc \ + ${datadir}/${BPN}/${PV}/lisp/startup.elc \ + ${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \ + ${datadir}/${BPN}/${PV}/lisp/font-core.elc \ + ${datadir}/${BPN}/${PV}/lisp/facemenu.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \ + ${datadir}/${BPN}/${PV}/lisp/font-lock.elc \ + ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \ + ${datadir}/${BPN}/${PV}/lisp/mouse.elc \ + ${datadir}/${BPN}/${PV}/lisp/select.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \ + ${datadir}/${BPN}/${PV}/lisp/isearch.elc \ + ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \ + ${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \ + ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \ + ${datadir}/${BPN}/${PV}/lisp/register.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \ + ${datadir}/${BPN}/${PV}/lisp/newcomment.elc \ + ${datadir}/${BPN}/${PV}/lisp/replace.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \ + ${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \ + ${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \ + ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \ + ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \ + ${datadir}/${BPN}/${PV}/lisp/electric.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \ + ${datadir}/${BPN}/${PV}/lisp/cus-start.elc \ + ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \ + ${datadir}/${BPN}/${PV}/lisp/simple.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \ + ${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \ + ${datadir}/${BPN}/${PV}/lisp/image.elc \ + ${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \ + ${datadir}/${BPN}/${PV}/lisp/help.elc \ + ${datadir}/${BPN}/${PV}/lisp/international/uni*.el \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \ + ${datadir}/${BPN}/${PV}/etc/charsets/ \ + ${datadir}/${BPN}/${PV}/lisp/disp-table.elc \ + ${bindir}/emacs* \ + ${prefix}/libexec \ +" + + +# What works for "most" is relative, but this can be easily extended if needed +FILES_${PN}-base = " \ + ${datadir}/${BPN}/${PV}/etc/srecode \ + ${datadir}/${BPN}/${PV}/etc/e \ + ${datadir}/${BPN}/${PV}/etc/forms \ + ${datadir}/${BPN}/${PV}/lisp/cedet \ + ${datadir}/${BPN}/${PV}/site-lisp/ \ + ${datadir}/${BPN}/${PV}/lisp/subdirs.el \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/python* \ + ${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \ + ${datadir}/${BPN}/${PV}/lisp/comint.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \ + ${datadir}/${BPN}/${PV}/lisp/json.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \ + ${datadir}/${BPN}/${PV}/lisp/auth-source.elc \ + ${datadir}/${BPN}/${PV}/lisp/password-cache.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \ + ${datadir}/${BPN}/${PV}/lisp/format-spec.elc \ + ${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \ + ${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \ + ${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \ + ${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \ + ${datadir}/${BPN}/${PV}/lisp/shell.elc \ + ${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \ + ${datadir}/${BPN}/${PV}/lisp/files-x.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \ + ${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \ + ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/make* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \ + ${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \ + ${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \ + ${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \ +" + +# Restore FILES for the full package to catch everything left +FILES_${PN}-full = "${FILES_${PN}}" +FILES_${PN}-full_append = " ${datadir}/icons" + + +# The following does NOT build a native emacs. +# It only builds some parts of it that are +# required to by the build for target emacs. +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb index 56d814db8..738c32d63 100644 --- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb @@ -5,8 +5,8 @@ SECTION = "System/Base" LICENSE = "GPL-2.0+" LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" -PV = "0.345" -SRCREV = "5d7d97bae533401f60ce9a5a036ff7152c8aca8c" +PV = "0.346" +SRCREV = "a2bff16032a68b089eeb169f09dea08094891c9c" SRC_URI = "git://github.com/vcrhonek/${BPN}.git" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb b/meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb new file mode 100644 index 000000000..6237638d3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb @@ -0,0 +1,22 @@ +SUMMARY = "high level C++ wrapper for rdkafka" +DESCRIPTION = "cppkafka allows C++ applications to consume and produce messages using the Apache Kafka protocol." +HOMEPAGE = "https://github.com/mfontanini/cppkafka" +SECTION = "lib" +LICENSE = "BSD-2-Clause" + +LIC_FILES_CHKSUM = " \ +file://LICENSE;md5=d8b4ca15d239dc1485ef495c8f1bcc72 \ +" + +SRC_URI = "git://github.com/mfontanini/cppkafka;protocol=https" +SRCREV = "5e4b350806d561473138ce7a982e8f6cf2e77733" + +DEPENDS = "librdkafka boost chrpath-replacement-native" + +inherit cmake + +S = "${WORKDIR}/git" + +do_install_append(){ + chrpath -d ${D}${libdir}/libcppkafka.so.0.3.1 +} diff --git a/meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb b/meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb new file mode 100644 index 000000000..23ab348dc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb @@ -0,0 +1,16 @@ +# Copyright (C) 2021 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) +SUMMARY = "The simple GObject game controller library" +HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/libmanette/" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "libevdev libgudev" + +SRC_URI = "https://download.gnome.org/sources/libmanette/0.2/libmanette-${PV}.tar.xz" +SRC_URI[sha256sum] = "63653259a821ec7d90d681e52e757e2219d462828c9d74b056a5f53267636bac" + +inherit meson pkgconfig gobject-introspection ptest vala + +FILES_${PN}-ptest =+ "${bindir}/manette-test" +FILES_${PN}-dev =+ "${libdir}/girepository-1.0" diff --git a/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch new file mode 100644 index 000000000..d60978661 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch @@ -0,0 +1,83 @@ +From dd06894a786edf4bea11dace50d7380b89dfaba5 Mon Sep 17 00:00:00 2001 +From: hasan.men +Date: Sun, 4 Apr 2021 17:20:32 +0200 +Subject: [PATCH] fix absolute path problem + +--- + src/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index c6c05e06..e6c47374 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -176,7 +176,7 @@ if(MINGW) + endif(MINGW) + + # Support '#include ' +-target_include_directories(rdkafka PUBLIC "$") ++target_include_directories(rdkafka PUBLIC $ $) + target_compile_definitions(rdkafka PUBLIC ${rdkafka_compile_definitions}) + if(RDKAFKA_BUILD_STATIC) + target_compile_definitions(rdkafka PUBLIC LIBRDKAFKA_STATICLIB) +@@ -188,7 +188,7 @@ if(MINGW) + target_link_libraries(rdkafka PUBLIC crypt32 ws2_32 secur32) + endif(MINGW) + +-if(WIN32) ++if(WIN32) + if(RDKAFKA_BUILD_STATIC) + target_link_libraries(rdkafka PUBLIC crypt32) + else() +@@ -207,13 +207,13 @@ endif() + + if(WITH_ZLIB) + find_package(ZLIB REQUIRED) +- target_include_directories(rdkafka PUBLIC ${ZLIB_INCLUDE_DIRS}) ++ target_include_directories(rdkafka PRIVATE ${ZLIB_INCLUDE_DIRS}) + target_link_libraries(rdkafka PUBLIC ZLIB::ZLIB) + endif() + + if(WITH_ZSTD) +- target_link_libraries(rdkafka PUBLIC ${ZSTD_LIBRARY}) +- target_include_directories(rdkafka PUBLIC ${ZSTD_INCLUDE_DIR}) ++ target_link_libraries(rdkafka PRIVATE ${ZSTD_LIBRARY}) ++ target_include_directories(rdkafka PRIVATE ${ZSTD_INCLUDE_DIR}) + message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}") + endif() + +@@ -222,12 +222,12 @@ if(WITH_SSL) + if(NOT TARGET bundled-ssl) + message(FATAL_ERROR "bundled-ssl target not exist") + endif() +- target_include_directories(rdkafka BEFORE PUBLIC ${BUNDLED_SSL_INCLUDE_DIR}) ++ target_include_directories(rdkafka BEFORE PRIVATE ${BUNDLED_SSL_INCLUDE_DIR}) + target_link_libraries(rdkafka PUBLIC ${BUNDLED_SSL_LIBRARIES}) + add_dependencies(rdkafka bundled-ssl) + else() + find_package(OpenSSL REQUIRED) +- target_include_directories(rdkafka PUBLIC ${OPENSSL_INCLUDE_DIR}) ++ target_include_directories(rdkafka PRIVATE ${OPENSSL_INCLUDE_DIR}) + target_link_libraries(rdkafka PUBLIC OpenSSL::SSL OpenSSL::Crypto) + get_target_property(OPENSSL_TARGET_TYPE OpenSSL::SSL TYPE) + if(OPENSSL_CRYPTO_LIBRARY MATCHES "\\.a$") +@@ -244,7 +244,7 @@ find_package(Threads REQUIRED) + target_link_libraries(rdkafka PUBLIC Threads::Threads) + + if(WITH_SASL_CYRUS) +- target_include_directories(rdkafka PUBLIC ${SASL_INCLUDE_DIRS}) ++ target_include_directories(rdkafka PRIVATE ${SASL_INCLUDE_DIRS}) + target_link_libraries(rdkafka PUBLIC ${SASL_LIBRARIES}) + endif() + +@@ -253,7 +253,7 @@ if(WITH_LIBDL) + endif() + + if(WITH_LZ4_EXT) +- target_include_directories(rdkafka PUBLIC ${LZ4_INCLUDE_DIRS}) ++ target_include_directories(rdkafka PRIVATE ${LZ4_INCLUDE_DIRS}) + target_link_libraries(rdkafka PUBLIC LZ4::LZ4) + endif() + +-- +2.17.1 \ No newline at end of file diff --git a/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb new file mode 100644 index 000000000..5314f4a48 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "the Apache Kafka C/C++ client library" +DESCRIPTION = "librdkafka is a C library implementation of the Apache Kafka protocol, providing Producer, Consumer and Admin clients." +HOMEPAGE = "https://github.com/edenhill/librdkafka" +SECTION = "libs" +LICENSE = "BSD-2-Clause" + +LIC_FILES_CHKSUM = " \ +file://LICENSE;md5=2be8675acbfdac48935e73897af5f646 \ +" + +SRC_URI = "git://github.com/edenhill/librdkafka;protocol=https \ + file://0001_fix_absolute_path_usage.patch" +SRCREV = "1a722553638bba85dbda5050455f7b9a5ef302de" + +DEPENDS = "zlib openssl zstd" + +inherit cmake + +S = "${WORKDIR}/git" + +FILES_${PN} += "${datadir}" + +EXTRA_OECMAKE += "-DRDKAFKA_BUILD_EXAMPLES=OFF -DRDKAFKA_BUILD_TESTS=OFF" \ No newline at end of file diff --git a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb index 212b1e797..ae76fade7 100644 --- a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb @@ -16,7 +16,7 @@ RDEPENDS_${PN} += "wget" inherit autotools -EXTRA_OECONF = "ac_cv_path_SH=${base_bindir}/sh ac_cv_path_WGET=${bindir}/wget ac_cv_path_AWK=${bindir}/awk" +EXTRA_OECONF = "ac_cv_path_SH=/bin/sh ac_cv_path_WGET=${bindir}/wget ac_cv_path_AWK=${bindir}/awk" do_install_append () { install -d ${D}${sysconfdir} diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch deleted file mode 100644 index ce6499bfc..000000000 --- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 67e1a5400383543b28fc69eb09c9429cb9d8c026 Mon Sep 17 00:00:00 2001 -From: Your Name -Date: Sat, 2 Jan 2021 17:43:11 +0000 -Subject: [PATCH] Fix building opencv using gcc 11.x #19244 - -Add missing `#include ` in modules/gapi/test/test_precomp.hpp - -Upstream-Status: Backport [https://github.com/opencv/opencv/pull/19247] -Signed-off-by: Khem Raj ---- - modules/gapi/test/test_precomp.hpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules/gapi/test/test_precomp.hpp b/modules/gapi/test/test_precomp.hpp -index 7b3c695443..e92b1d03bf 100644 ---- a/modules/gapi/test/test_precomp.hpp -+++ b/modules/gapi/test/test_precomp.hpp -@@ -11,6 +11,7 @@ - #define __OPENCV_GAPI_TEST_PRECOMP_HPP__ - - #include -+#include - #include - - #include --- -2.30.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch new file mode 100644 index 000000000..7b2c4100a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch @@ -0,0 +1,44 @@ +From ffe20fc4ec46c6b491eff29a38f90686d4d035f6 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Mon, 12 Apr 2021 20:37:40 +0000 +Subject: [PATCH] sfm: link with Glog_LIBS + +* in 4.5.0 there was explicit linkage with GLOG_LIBRARY, but since 4.5.1 with: + https://github.com/opencv/opencv_contrib/commit/23ee62a19b7a3e50d6dbf295359d8b1aff2e03fd + + it's gone, probably because Glog_FOUND is already set from Ceres, + but then GLOG_LIBRARIES is empty in LIBMV_LIGHT_LIBS and build with gold fails: + +FAILED: bin/example_tutorial_perspective_correction +: && TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -mssse3 -DNDEBUG -DNDEBUG -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,--gc-sections -Wl,--as-needed samples/cpp/CMakeFiles/example_tutorial_perspective_correction.dir/tutorial_code/features2D/Homography/perspective_correction.cpp.o -o bin/example_tutorial_perspective_correction -ldl -lm -lpthread -lrt lib/libopencv_gapi.so.4.5.2 lib/libopencv_stitching.so.4.5.2 lib/libopencv_ts.so.4.5.2 lib/libopencv_alphamat.so.4.5.2 lib/libopencv_aruco.so.4.5.2 lib/libopencv_bgsegm.so.4.5.2 lib/libopencv_bioinspired.so.4.5.2 lib/libopencv_ccalib.so.4.5.2 lib/libopencv_dnn_objdetect.so.4.5.2 lib/libopencv_dnn_superres.so.4.5.2 lib/libopencv_dpm.so.4.5.2 lib/libopencv_face.so.4.5.2 lib/libopencv_fuzzy.so.4.5.2 lib/libopencv_hfs.so.4.5.2 lib/libopencv_img_hash.so.4.5.2 lib/libopencv_intensity_transform.so.4.5.2 lib/libopencv_line_descriptor.so.4.5.2 lib/libopencv_mcc.so.4.5.2 lib/libopencv_quality.so.4.5.2 lib/libopencv_rapid.so.4.5.2 lib/libopencv_reg.so.4.5.2 lib/libopencv_rgbd.so.4.5.2 lib/libopencv_saliency.so.4.5.2 lib/libopencv_sfm.so.4.5.2 lib/libopencv_stereo.so.4.5.2 lib/libopencv_structured_light.so.4.5.2 lib/libopencv_superres.so.4.5.2 lib/libopencv_surface_matching.so.4.5.2 lib/libopencv_tracking.so.4.5.2 lib/libopencv_videostab.so.4.5.2 lib/libopencv_wechat_qrcode.so.4.5.2 lib/libopencv_xfeatures2d.so.4.5.2 lib/libopencv_xobjdetect.so.4.5.2 lib/libopencv_xphoto.so.4.5.2 lib/libopencv_shape.so.4.5.2 lib/libopencv_highgui.so.4.5.2 lib/libopencv_datasets.so.4.5.2 lib/libopencv_ml.so.4.5.2 lib/libopencv_plot.so.4.5.2 lib/libopencv_phase_unwrapping.so.4.5.2 lib/libopencv_optflow.so.4.5.2 lib/libopencv_ximgproc.so.4.5.2 lib/libopencv_videoio.so.4.5.2 lib/libopencv_video.so.4.5.2 lib/libopencv_dnn.so.4.5.2 lib/libopencv_imgcodecs.so.4.5.2 lib/libopencv_objdetect.so.4.5.2 lib/libopencv_calib3d.so.4.5.2 lib/libopencv_features2d.so.4.5.2 lib/libopencv_flann.so.4.5.2 lib/libopencv_photo.so.4.5.2 lib/libopencv_imgproc.so.4.5.2 lib/libopencv_core.so.4.5.2 -Wl,-rpath-link,TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/build/lib && : +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::LogMessage(char const*, int)' +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::stream()' +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::~LogMessage()' +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::kLogSiteUninitialized' +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'fLI::FLAGS_v' +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::InitVLOG3__(int**, int*, char const*, int)' +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::LogMessageFatal(char const*, int)' +lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::~LogMessageFatal()' +collect2: error: ld returned 1 exit status + + Add Glog_LIBS which is set to the same value as GLOG_LIBRARIES used to be. + +Upstream-Status: Submitted [https://github.com/opencv/opencv_contrib/pull/2923] + +Signed-off-by: Martin Jansa +--- + modules/sfm/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules/sfm/CMakeLists.txt b/modules/sfm/CMakeLists.txt +index 045a1fe6e..ee7cecdac 100644 +--- a/modules/sfm/CMakeLists.txt ++++ b/modules/sfm/CMakeLists.txt +@@ -84,6 +84,7 @@ set(LIBMV_LIGHT_LIBS + multiview + numeric + ${GLOG_LIBRARIES} ++ ${Glog_LIBS} + ${GFLAGS_LIBRARIES} + ) + diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb deleted file mode 100644 index d87e140ba..000000000 --- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb +++ /dev/null @@ -1,224 +0,0 @@ -SUMMARY = "Opencv : The Open Computer Vision Library" -HOMEPAGE = "http://opencv.org/" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" - -SRCREV_opencv = "1363496c1106606684d40447f5d1149b2c66a9f8" -SRCREV_contrib = "b91a781cbc1285d441aa682926d93d8c23678b0b" -SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274" -SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" -SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" -SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" - -def ipp_filename(d): - import re - arch = d.getVar('TARGET_ARCH') - if re.match("i.86$", arch): - return "ippicv_2020_lnx_ia32_20191018_general.tgz" - else: - return "ippicv_2020_lnx_intel64_20191018_general.tgz" - -def ipp_md5sum(d): - import re - arch = d.getVar('TARGET_ARCH') - if re.match("i.86$", arch): - return "ad189a940fb60eb71f291321322fe3e8" - else: - return "7421de0095c7a39162ae13a6098782f9" - -IPP_FILENAME = "${@ipp_filename(d)}" -IPP_MD5 = "${@ipp_md5sum(d)}" - -SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" -SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \ - git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \ - git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \ - git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \ - git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \ - git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \ - file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ - file://0003-To-fix-errors-as-following.patch \ - file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ - file://0001-Dont-use-isystem.patch \ - file://download.patch \ - file://0001-Make-ts-module-external.patch \ - file://0001-Fix-building-opencv-using-gcc-11.x-19244.patch \ - " -SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib" - -S = "${WORKDIR}/git" - -# OpenCV wants to download more files during configure. We download these in -# do_fetch and construct a source cache in the format it expects -OPENCV_DLDIR = "${WORKDIR}/downloads" - -do_unpack_extra() { - tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} - - md5() { - # Return the MD5 of $1 - echo $(md5sum $1 | cut -d' ' -f1) - } - cache() { - TAG=$1 - shift - mkdir --parents ${OPENCV_DLDIR}/$TAG - for F in $*; do - DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F) - test -e $DEST || ln -s $F $DEST - done - } - cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i - cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i - cache data ${WORKDIR}/face/*.dat -} -addtask unpack_extra after do_unpack before do_patch - -CMAKE_VERBOSE = "VERBOSE=1" - -EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ - -DWITH_1394=OFF \ - -DENABLE_PRECOMPILED_HEADERS=OFF \ - -DCMAKE_SKIP_RPATH=ON \ - -DOPENCV_ICV_HASH=${IPP_MD5} \ - -DIPPROOT=${WORKDIR}/ippicv_lnx \ - -DOPENCV_GENERATE_PKGCONFIG=ON \ - -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ - -DOPENCV_ALLOW_DOWNLOADS=OFF \ - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ -" -EXTRA_OECMAKE_append_x86 = " -DX86=ON" - -PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" - -PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade" -PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," -PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," -PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," -PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog," -PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype," -PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2," -PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," -PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," -PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," -PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," -PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," -PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," -PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," -PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," -PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," -PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," -PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," -PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," -PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,," -PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," -PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," - -inherit pkgconfig cmake - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)} -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} - -export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" -export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" -export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" -export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" -export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" - -TARGET_CC_ARCH += "-I${S}/include " - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \ - ${PN}-apps" - -python populate_packages_prepend () { - cv_libdir = d.expand('${libdir}') - do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) - do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') - do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') - do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) - - pn = d.getVar('PN') - metapkg = pn + '-dev' - d.setVar('ALLOW_EMPTY_' + metapkg, "1") - blacklist = [ metapkg ] - metapkg_rdepends = [ ] - packages = d.getVar('PACKAGES').split() - for pkg in packages[1:]: - if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): - metapkg_rdepends.append(pkg) - d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends)) - - metapkg = pn - d.setVar('ALLOW_EMPTY_' + metapkg, "1") - blacklist = [ metapkg, "libopencv-ts" ] - metapkg_rdepends = [ ] - for pkg in packages[1:]: - if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'): - metapkg_rdepends.append(pkg) - d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) -} - -PACKAGES_DYNAMIC += "^libopencv-.*" - -FILES_${PN} = "" -FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*" -FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake" -FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a" -FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses" -FILES_${PN}-java = "${datadir}/OpenCV/java" -FILES_${PN}-samples = "${datadir}/opencv4/samples/" - -INSANE_SKIP_${PN}-java = "libdir" -INSANE_SKIP_${PN}-dbg = "libdir" - -ALLOW_EMPTY_${PN} = "1" - -SUMMARY_python-opencv = "Python bindings to opencv" -FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" -RDEPENDS_python-opencv = "python-core python-numpy" - -SUMMARY_python3-opencv = "Python bindings to opencv" -FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" -RDEPENDS_python3-opencv = "python3-core python3-numpy" - -RDEPENDS_${PN}-apps = "bash" - -do_compile_prepend() { - # remove the build host info to improve reproducibility - if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then - sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc - fi -} - -do_install_append() { - # Move Python files into correct library folder (for multilib build) - if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then - mv ${D}/usr/lib/* ${D}/${libdir}/ - rm -rf ${D}/usr/lib - fi - # remove build host path to improve reproducibility - if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then - sed -e 's@${STAGING_DIR_HOST}@@g' \ - -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake - fi -} - -TOOLCHAIN = "gcc" diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb new file mode 100644 index 000000000..311355bd7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb @@ -0,0 +1,228 @@ +SUMMARY = "Opencv : The Open Computer Vision Library" +HOMEPAGE = "http://opencv.org/" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp" + +SRCREV_opencv = "69357b1e88680658a07cffde7678a4d697469f03" +SRCREV_contrib = "f5d7f6712d4ff229ba4f45cf79dfd11c557d56fd" +SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274" +SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26" +SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" +SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12" +SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252" + +def ipp_filename(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match("i.86$", arch): + return "ippicv_2020_lnx_ia32_20191018_general.tgz" + else: + return "ippicv_2020_lnx_intel64_20191018_general.tgz" + +def ipp_md5sum(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match("i.86$", arch): + return "ad189a940fb60eb71f291321322fe3e8" + else: + return "7421de0095c7a39162ae13a6098782f9" + +IPP_FILENAME = "${@ipp_filename(d)}" +IPP_MD5 = "${@ipp_md5sum(d)}" + +SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg" +SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \ + git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \ + git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \ + git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \ + git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=wechat_qrcode;name=wechat-qrcode \ + file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \ + file://0003-To-fix-errors-as-following.patch \ + file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \ + file://0001-Dont-use-isystem.patch \ + file://download.patch \ + file://0001-Make-ts-module-external.patch \ + file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \ + " +SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib" + +S = "${WORKDIR}/git" + +# OpenCV wants to download more files during configure. We download these in +# do_fetch and construct a source cache in the format it expects +OPENCV_DLDIR = "${WORKDIR}/downloads" + +do_unpack_extra() { + tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR} + + md5() { + # Return the MD5 of $1 + echo $(md5sum $1 | cut -d' ' -f1) + } + cache() { + TAG=$1 + shift + mkdir --parents ${OPENCV_DLDIR}/$TAG + for F in $*; do + DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F) + test -e $DEST || ln -s $F $DEST + done + } + cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i + cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i + cache data ${WORKDIR}/face/*.dat + cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.caffemodel + cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.prototxt +} +addtask unpack_extra after do_unpack before do_patch + +CMAKE_VERBOSE = "VERBOSE=1" + +EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \ + -DWITH_1394=OFF \ + -DENABLE_PRECOMPILED_HEADERS=OFF \ + -DCMAKE_SKIP_RPATH=ON \ + -DOPENCV_ICV_HASH=${IPP_MD5} \ + -DIPPROOT=${WORKDIR}/ippicv_lnx \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \ + -DOPENCV_ALLOW_DOWNLOADS=OFF \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \ + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \ +" +EXTRA_OECMAKE_append_x86 = " -DX86=ON" + +PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" + +PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade" +PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," +PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," +PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native," +PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog," +PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype," +PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2," +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base," +PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3," +PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper," +PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native," +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," +PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," +PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils," +PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd," +PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native," +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," +PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy," +PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy," +PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,," +PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb," +PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,," +PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract," +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," +PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," + +inherit pkgconfig cmake + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)} +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)} + +export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" +export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}" +export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java" +export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native" +export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/" + +TARGET_CC_ARCH += "-I${S}/include " + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \ + ${PN}-apps" + +python populate_packages_prepend () { + cv_libdir = d.expand('${libdir}') + do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) + do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') + do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) + + pn = d.getVar('PN') + metapkg = pn + '-dev' + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + blacklist = [ metapkg ] + metapkg_rdepends = [ ] + packages = d.getVar('PACKAGES').split() + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): + metapkg_rdepends.append(pkg) + d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends)) + + metapkg = pn + d.setVar('ALLOW_EMPTY_' + metapkg, "1") + blacklist = [ metapkg, "libopencv-ts" ] + metapkg_rdepends = [ ] + for pkg in packages[1:]: + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'): + metapkg_rdepends.append(pkg) + d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) +} + +PACKAGES_DYNAMIC += "^libopencv-.*" + +FILES_${PN} = "" +FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*" +FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake" +FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a" +FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses" +FILES_${PN}-java = "${datadir}/OpenCV/java" +FILES_${PN}-samples = "${datadir}/opencv4/samples/" + +INSANE_SKIP_${PN}-java = "libdir" +INSANE_SKIP_${PN}-dbg = "libdir" + +ALLOW_EMPTY_${PN} = "1" + +SUMMARY_python-opencv = "Python bindings to opencv" +FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python-opencv = "python-core python-numpy" + +SUMMARY_python3-opencv = "Python bindings to opencv" +FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python3-opencv = "python3-core python3-numpy" + +RDEPENDS_${PN}-apps = "bash" + +do_compile_prepend() { + # remove the build host info to improve reproducibility + if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then + sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc + fi +} + +do_install_append() { + # Move Python files into correct library folder (for multilib build) + if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then + mv ${D}/usr/lib/* ${D}/${libdir}/ + rm -rf ${D}/usr/lib + fi + # remove build host path to improve reproducibility + if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then + sed -e 's@${STAGING_DIR_HOST}@@g' \ + -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake + fi +} + +TOOLCHAIN = "gcc" diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch new file mode 100644 index 000000000..ceb48d21f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch @@ -0,0 +1,192 @@ +From 51c95a23bff3a024dc19e3127ca751e1458be0f0 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 5 Apr 2021 11:36:50 -0700 +Subject: [PATCH] Migrate to use g_memdup2 + +g_memdup has been deprecated for long and latest glib-2.0 2.68+ has +turned it int an error to use old function. + +The fall-back to g_memdup isn't needed because pidgin provides g_memdup2 +in pidgin-sipe/1.25.0-r0/recipe-sysroot/usr/include/libpurple/glibcompat.h +based on glib-2.0 version: + /* Backport the static inline version of g_memdup2 if we don't have g_memdup2. + * see https://mail.gnome.org/archives/desktop-devel-list/2021-February/msg00000.html + * for more information. + */ + #if !GLIB_CHECK_VERSION(2, 67, 3) + static inline gpointer + g_memdup2(gconstpointer mem, gsize byte_size) { + gpointer new_mem = NULL; + + if(mem && byte_size != 0) { + new_mem = g_malloc (byte_size); + memcpy (new_mem, mem, byte_size); + } + + return new_mem; + } + #endif /* !GLIB_CHECK_VERSION(2, 67, 3) */ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/api/sipe-common.h | 3 +++ + src/core/sip-sec-gssapi.c | 4 ++-- + src/core/sip-sec-ntlm.c | 12 ++++++------ + src/core/sip-sec-tls-dsk.c | 4 ++-- + src/core/sipe-media.c | 2 +- + src/core/sipe-tls-tester.c | 2 +- + src/core/sipe-tls.c | 4 ++-- + src/telepathy/telepathy-protocol.c | 2 +- + 8 files changed, 18 insertions(+), 15 deletions(-) + +diff --git a/src/api/sipe-common.h b/src/api/sipe-common.h +index c964f15..cab81e0 100644 +--- a/src/api/sipe-common.h ++++ b/src/api/sipe-common.h +@@ -51,3 +51,6 @@ + #ifdef _MSC_VER + typedef long ssize_t; + #endif ++ ++// for g_memdup2 ++#include +diff --git a/src/core/sip-sec-gssapi.c b/src/core/sip-sec-gssapi.c +index 873080f..4c63868 100644 +--- a/src/core/sip-sec-gssapi.c ++++ b/src/core/sip-sec-gssapi.c +@@ -602,7 +602,7 @@ sip_sec_init_sec_context__gssapi(SipSecContext context, + + out_buff->length = output_token.length; + if (out_buff->length) +- out_buff->value = g_memdup(output_token.value, output_token.length); ++ out_buff->value = g_memdup2(output_token.value, output_token.length); + else + /* Special case: empty token */ + out_buff->value = (guint8 *) g_strdup(""); +@@ -653,7 +653,7 @@ sip_sec_make_signature__gssapi(SipSecContext context, + return FALSE; + } else { + signature->length = output_token.length; +- signature->value = g_memdup(output_token.value, ++ signature->value = g_memdup2(output_token.value, + output_token.length); + gss_release_buffer(&minor, &output_token); + return TRUE; +diff --git a/src/core/sip-sec-ntlm.c b/src/core/sip-sec-ntlm.c +index 2e2354f..1fa4daa 100644 +--- a/src/core/sip-sec-ntlm.c ++++ b/src/core/sip-sec-ntlm.c +@@ -951,7 +951,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff, + + /* server challenge (nonce) */ + if (server_challenge) { +- *server_challenge = g_memdup(cmsg->nonce, 8); ++ *server_challenge = g_memdup2(cmsg->nonce, 8); + } + + /* flags */ +@@ -984,7 +984,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff, + *target_info_len = len; + } + if (target_info) { +- *target_info = g_memdup(content, len); ++ *target_info = g_memdup2(content, len); + } + } + } +@@ -1117,13 +1117,13 @@ sip_sec_ntlm_gen_authenticate(guchar **client_sign_key, + Set ServerSigningKey to SIGNKEY(ExportedSessionKey, "Server") + */ + SIGNKEY(exported_session_key, TRUE, key); +- *client_sign_key = g_memdup(key, 16); ++ *client_sign_key = g_memdup2(key, 16); + SIGNKEY(exported_session_key, FALSE, key); +- *server_sign_key = g_memdup(key, 16); ++ *server_sign_key = g_memdup2(key, 16); + SEALKEY(neg_flags, exported_session_key, TRUE, key); +- *client_seal_key = g_memdup(key, 16); ++ *client_seal_key = g_memdup2(key, 16); + SEALKEY(neg_flags, exported_session_key, FALSE, key); +- *server_seal_key = g_memdup(key, 16); ++ *server_seal_key = g_memdup2(key, 16); + } + + /* @TODO: */ +diff --git a/src/core/sip-sec-tls-dsk.c b/src/core/sip-sec-tls-dsk.c +index 70433ea..2d3f2db 100644 +--- a/src/core/sip-sec-tls-dsk.c ++++ b/src/core/sip-sec-tls-dsk.c +@@ -88,9 +88,9 @@ sip_sec_init_sec_context__tls_dsk(SipSecContext context, + /* copy key pair */ + ctx->algorithm = state->algorithm; + ctx->key_length = state->key_length; +- ctx->client_key = g_memdup(state->client_key, ++ ctx->client_key = g_memdup2(state->client_key, + state->key_length); +- ctx->server_key = g_memdup(state->server_key, ++ ctx->server_key = g_memdup2(state->server_key, + state->key_length); + + /* extract certicate expiration time */ +diff --git a/src/core/sipe-media.c b/src/core/sipe-media.c +index e9c4b8a..936e31c 100644 +--- a/src/core/sipe-media.c ++++ b/src/core/sipe-media.c +@@ -578,7 +578,7 @@ media_stream_to_sdpmedia(struct sipe_media_call_private *call_private, + // Set our key if encryption is enabled. + if (stream_private->encryption_key && + encryption_policy != SIPE_ENCRYPTION_POLICY_REJECTED) { +- sdpmedia->encryption_key = g_memdup(stream_private->encryption_key, ++ sdpmedia->encryption_key = g_memdup2(stream_private->encryption_key, + SIPE_SRTP_KEY_LEN); + sdpmedia->encryption_key_id = stream_private->encryption_key_id; + } +diff --git a/src/core/sipe-tls-tester.c b/src/core/sipe-tls-tester.c +index e80d715..5fbb5f8 100644 +--- a/src/core/sipe-tls-tester.c ++++ b/src/core/sipe-tls-tester.c +@@ -155,7 +155,7 @@ static guchar *read_tls_record(int fd, + printf("received %d bytes from server\n", result); + record = g_new0(struct record, 1); + record->length = result; +- record->msg = g_memdup(buffer, result); ++ record->msg = g_memdup2(buffer, result); + length += result; + fragments = g_slist_append(fragments, record); + } +diff --git a/src/core/sipe-tls.c b/src/core/sipe-tls.c +index b0235d5..020aedb 100644 +--- a/src/core/sipe-tls.c ++++ b/src/core/sipe-tls.c +@@ -427,7 +427,7 @@ static guchar *sipe_tls_prf(SIPE_UNUSED_PARAMETER struct tls_internal_state *sta + gsize half = (secret_length + 1) / 2; + gsize newseed_length = label_length + seed_length; + /* secret: used as S1; secret2: last half of original secret (S2) */ +- guchar *secret2 = g_memdup(secret + secret_length - half, half); ++ guchar *secret2 = g_memdup2(secret + secret_length - half, half); + guchar *newseed = g_malloc(newseed_length); + guchar *md5, *dest; + guchar *sha1, *src; +@@ -1525,7 +1525,7 @@ static struct tls_compiled_message *tls_client_key_exchange(struct tls_internal_ + + /* found all the required fields */ + state->server_random.length = server_random->length; +- state->server_random.buffer = g_memdup(server_random->data, ++ state->server_random.buffer = g_memdup2(server_random->data, + server_random->length); + tls_calculate_secrets(state); + +diff --git a/src/telepathy/telepathy-protocol.c b/src/telepathy/telepathy-protocol.c +index f6e5337..1dde579 100644 +--- a/src/telepathy/telepathy-protocol.c ++++ b/src/telepathy/telepathy-protocol.c +@@ -237,7 +237,7 @@ static void get_connection_details(SIPE_UNUSED_PARAMETER TpBaseProtocol *self, + SIPE_TYPE_SEARCH_MANAGER, + G_TYPE_INVALID + }; +- *channel_managers = g_memdup(types, sizeof(types)); ++ *channel_managers = g_memdup2(types, sizeof(types)); + } + if (icon_name) + *icon_name = g_strdup("im-" SIPE_TELEPATHY_DOMAIN); diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb index f6b4c7cee..5a96bec90 100644 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb @@ -11,6 +11,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/sipe/pidgin-sipe-${PV}.tar.xz \ file://0001-sipe-consider-64bit-time_t-when-printing.patch \ file://0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch \ file://0001-configure-Do-not-add-native-paths-to-pkgconfig-searc.patch \ + file://0001-Migrate-to-use-g_memdup2.patch \ " SRC_URI[md5sum] = "0e742f021dc8c3f17435aea05c3e0314" diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch deleted file mode 100644 index cfb0290f9..000000000 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch +++ /dev/null @@ -1,229 +0,0 @@ -From e03d3ef5aadd582ebf7102b7d5785fed177a0cb1 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Sun, 7 Feb 2021 13:25:29 +0100 -Subject: [PATCH] configure.ac: fix build with autoconf-2.71 - -* fixes: - | autoreconf: running: intltoolize --copy --force - | ERROR: 'IT_PROG_INTLTOOL' must appear in configure.ac for intltool to work. - | autoreconf: error: intltoolize failed with exit status: 1 - -* replace AM_GLIB_GNU_GETTEXT with AM_GNU_GETTEXT as suggested in: - https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration - https://blogs.gnome.org/jjardon/2010/10/08/use-upstream-gettext-instead-the-glib-one/ - because the former is causing issues with autoconf-2.71: - - -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. - -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... - -../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... - -../autoconf-2.71/lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from... - -../autoconf-2.71/lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from... - -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from... - -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from... - -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from... - -configure.ac:266: the top level]) - -m4trace:configure.ac:266: -1- m4_pattern_allow([^ENABLE_NLS$]) - -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete. - -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/status.m4:1025: AC_OUTPUT_COMMANDS is expanded from... - -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from... - -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from... - -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from... - -configure.ac:266: the top level]) - - and then configure fails with: - - configure.ac:2621: error: `po/stamp-it' is already registered with AC_CONFIG_COMMANDS. - autoconf-2.71/lib/autoconf/status.m4:1008: AC_CONFIG_COMMANDS is expanded from... - configure.ac:2621: the top level - -* add AM_GNU_GETTEXT_VERSION as well to resolve warning with autoconf-2.71 - configure.ac: warning: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION - -Signed-off-by: Martin Jansa ---- - ABOUT-NLS | 1 + - Makefile.am | 6 +--- - configure.ac | 6 ++-- - pidgin/Makefile.am | 7 ++-- - po/Makevars | 82 ++++++++++++++++++++++++++++++++++++++++++++++ - po/POTFILES.in | 1 - - 6 files changed, 92 insertions(+), 11 deletions(-) - create mode 100644 ABOUT-NLS - create mode 100644 po/Makevars - -diff --git a/ABOUT-NLS b/ABOUT-NLS -new file mode 100644 -index 0000000..0a9d56d ---- /dev/null -+++ b/ABOUT-NLS -@@ -0,0 +1 @@ -+ -diff --git a/Makefile.am b/Makefile.am -index f8e2bc9..a74145f 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -13,9 +13,6 @@ EXTRA_DIST = \ - fix-casts.sh \ - gaim.pc.in \ - gaim-uninstalled.pc.in \ -- intltool-extract.in \ -- intltool-merge.in \ -- intltool-update.in \ - package_revision.h \ - pidgin.apspec.in \ - pidgin.spec.in \ -@@ -139,5 +136,4 @@ endif - distuninstallcheck_listfiles = \ - find . -type f -print | grep -v perl | grep -v Purple.3pm | grep -v Pidgin.3pm - --DISTCLEANFILES= intltool-extract intltool-merge intltool-update \ -- package_revision_raw.txt -+DISTCLEANFILES=package_revision_raw.txt -diff --git a/configure.ac b/configure.ac -index 81d8592..e2280cd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -43,7 +43,7 @@ fi - - AC_CANONICAL_HOST - AC_CONFIG_HEADERS([config.h]) --AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2]) -+AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2 foreign]) - dnl TODO: Always use AM_SILENT_RULES when we depend on automake >= 1.11 - m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -@@ -257,12 +257,12 @@ dnl ####################################################################### - AC_ARG_ENABLE(nls, AC_HELP_STRING([--disable-nls], [disable installation of translation files]), enable_i18n="$enableval", enable_i18n=yes) - - if test x$enable_i18n = xyes; then -- AC_PROG_INTLTOOL - GETTEXT_PACKAGE=pidgin - AC_SUBST(GETTEXT_PACKAGE) - - ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW" -- AM_GLIB_GNU_GETTEXT -+ AM_GNU_GETTEXT([external]) -+ AM_GNU_GETTEXT_VERSION([0.21]) - - dnl If we don't have msgfmt, then po/ is going to fail -- ensure that - dnl AM_GLIB_GNU_GETTEXT found it. -diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am -index 2278b88..4d32c53 100644 ---- a/pidgin/Makefile.am -+++ b/pidgin/Makefile.am -@@ -192,13 +192,16 @@ DESKTOP_FILE=data/pidgin.desktop - appsdir = $(datadir)/applications - apps_in_files = data/pidgin.desktop.in - apps_DATA = $(apps_in_files:.desktop.in=.desktop) --@INTLTOOL_DESKTOP_RULE@ -+ -+data/pidgin.desktop: data/pidgin.desktop.in -+ $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ - - appdatadir = $(datarootdir)/appdata - appdata_DATA = $(appdata_in_files:.xml.in=.xml) - appdata_in_files = data/pidgin.appdata.xml.in - --@INTLTOOL_XML_RULE@ -+data/pidgin.appdata.xml: data/pidgin.appdata.xml.in -+ $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ || cp $< $@ - - endif # INSTALL_I18N - -diff --git a/po/Makevars b/po/Makevars -new file mode 100644 -index 0000000..970237a ---- /dev/null -+++ b/po/Makevars -@@ -0,0 +1,82 @@ -+# Makefile variables for PO directory in any package using GNU gettext. -+# -+# Copyright (C) 2003-2019 Free Software Foundation, Inc. -+# This file is free software; the Free Software Foundation gives -+# unlimited permission to use, copy, distribute, and modify it. -+ -+# Usually the message domain is the same as the package name. -+DOMAIN = $(PACKAGE) -+ -+# These two variables depend on the location of this directory. -+subdir = po -+top_builddir = .. -+ -+# These options get passed to xgettext. -+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8 -+ -+# This is the copyright holder that gets inserted into the header of the -+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -+# package. (Note that the msgstr strings, extracted from the package's -+# sources, belong to the copyright holder of the package.) Translators are -+# expected to transfer the copyright for their translations to this person -+# or entity, or to disclaim their copyright. The empty string stands for -+# the public domain; in this case the translators are expected to disclaim -+# their copyright. -+COPYRIGHT_HOLDER = Free Software Foundation, Inc. -+ -+# This tells whether or not to prepend "GNU " prefix to the package -+# name that gets inserted into the header of the $(DOMAIN).pot file. -+# Possible values are "yes", "no", or empty. If it is empty, try to -+# detect it automatically by scanning the files in $(top_srcdir) for -+# "GNU packagename" string. -+PACKAGE_GNU = -+ -+# This is the email address or URL to which the translators shall report -+# bugs in the untranslated strings: -+# - Strings which are not entire sentences, see the maintainer guidelines -+# in the GNU gettext documentation, section 'Preparing Strings'. -+# - Strings which use unclear terms or require additional context to be -+# understood. -+# - Strings which make invalid assumptions about notation of date, time or -+# money. -+# - Pluralisation problems. -+# - Incorrect English spelling. -+# - Incorrect formatting. -+# It can be your email address, or a mailing list address where translators -+# can write to without being subscribed, or the URL of a web page through -+# which the translators can contact you. -+MSGID_BUGS_ADDRESS = -+ -+# This is the list of locale categories, beyond LC_MESSAGES, for which the -+# message catalogs shall be used. It is usually empty. -+EXTRA_LOCALE_CATEGORIES = -+ -+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' -+# context. Possible values are "yes" and "no". Set this to yes if the -+# package uses functions taking also a message context, like pgettext(), or -+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. -+USE_MSGCTXT = no -+ -+# These options get passed to msgmerge. -+# Useful options are in particular: -+# --previous to keep previous msgids of translated messages, -+# --quiet to reduce the verbosity. -+MSGMERGE_OPTIONS = -+ -+# These options get passed to msginit. -+# If you want to disable line wrapping when writing PO files, add -+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and -+# MSGINIT_OPTIONS. -+MSGINIT_OPTIONS = -+ -+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot -+# has changed. Possible values are "yes" and "no". Set this to no if -+# the POT file is checked in the repository and the version control -+# program ignores timestamps. -+PO_DEPENDS_ON_POT = no -+ -+# This tells whether or not to forcibly update $(DOMAIN).pot and -+# regenerate PO files on "make dist". Possible values are "yes" and -+# "no". Set this to no if the POT file and PO files are maintained -+# externally. -+DIST_DEPENDS_ON_UPDATE_PO = no -diff --git a/po/POTFILES.in b/po/POTFILES.in -index a5691a1..b494bf3 100644 ---- a/po/POTFILES.in -+++ b/po/POTFILES.in -@@ -1,4 +1,3 @@ --[encoding: UTF-8] - finch/finch.c - finch/gntaccount.c - finch/gntblist.c diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch deleted file mode 100644 index 99c523d5d..000000000 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 861c8a63c36f9ee7d46238c9bc13a2c1f14372c3 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Sun, 7 Feb 2021 14:35:14 +0000 -Subject: [PATCH] configure.ac: disable few languages not compatible with - modern gettext - -* as pidgin-3 development is moving to meson and probably - most of these changes won't be applicable there, lets just - disable them until someone interested steps-up to maintain it - -* these 3 fail with: -cd ../../pidgin-2.14.1/po && rm -f brx.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o brx.1po brx.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o brx.gmo brx.1po && rm -f brx.1po -cd ../../pidgin-2.14.1/po && rm -f zh_HK.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_HK.1po zh_HK.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_HK.gmo zh_HK.1po && rm -f zh_HK.1po -cd ../../pidgin-2.14.1/po && rm -f zh_TW.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_TW.1po zh_TW.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_TW.gmo zh_TW.1po && rm -f zh_TW.1po -zh_HK.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications. -pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error -zh_TW.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications. -pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error -zh_HK.1po: 3234 translated messages. -make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_HK.gmo] Error 1 -make[3]: *** Waiting for unfinished jobs.... -zh_TW.1po: 3234 translated messages. -make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_TW.gmo] Error 1 -brx.1po:778: number of format specifications in 'msgid' and 'msgstr' does not match -brx.1po:3179: number of format specifications in 'msgid' and 'msgstr' does not match -brx.1po:5175: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same -brx.1po:5184: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same -brx.1po:7754: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same -pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 8 fatal errors -brx.1po: 3246 translated messages. - -Signed-off-by: Martin Jansa ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index e2280cd..9332932 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -260,7 +260,7 @@ if test x$enable_i18n = xyes; then - GETTEXT_PACKAGE=pidgin - AC_SUBST(GETTEXT_PACKAGE) - -- ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW" -+ ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN" - AM_GNU_GETTEXT([external]) - AM_GNU_GETTEXT_VERSION([0.21]) - diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb deleted file mode 100644 index d22380eb0..000000000 --- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb +++ /dev/null @@ -1,112 +0,0 @@ -SUMMARY = "multi-protocol instant messaging client" - -SECTION = "x11/network" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "python3 virtual/libintl intltool-native libxml2 gconf glib-2.0-native" - -inherit autotools gettext pkgconfig gconf perlnative python3native - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ - file://sanitize-configure.ac.patch \ - file://purple-OE-branding-25.patch \ - file://0001-configure.ac-fix-build-with-autoconf-2.71.patch \ - file://0002-configure.ac-disable-few-languages-not-compatible-wi.patch \ -" - -SRC_URI[sha256sum] = "f132e18d551117d9e46acce29ba4f40892a86746c366999166a3862b51060780" - -PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \ -" -PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2" -# --disable-gstreamer compile without GStreamer audio support -# --disable-gstreamer-video -# compile without GStreamer 1.0 Video Overlay support -# --disable-gstreamer-interfaces -# compile without GStreamer 0.10 interface support -# --with-gstreamer= -# compile with GStreamer 0.10 or 1.0 interface -PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer" -PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer" -PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn" -PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+" -PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11" -PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" -PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt" -PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls" -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" -PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss" - -EXTRA_OECONF = " \ - --with-python=python3 \ - --disable-perl \ - --disable-tcl \ - --disable-gevolution \ - --disable-schemas-install \ - --disable-gtkspell \ - --disable-meanwhile \ - --disable-nm \ - --disable-screensaver \ -" - -OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" -OE_LT_RPATH_ALLOW[export]="1" - -PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data" - -RPROVIDES_${PN}-dbg += "libpurple-dbg finch-dbg" - -LEAD_SONAME = "libpurple.so.0" -FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" -FILES_libpurple-dev = "${libdir}/libpurple*.la \ - ${libdir}/libpurple*.so \ - ${libdir}/purple-2/*.la \ - ${libdir}/purple-2/libjabber.so \ - ${libdir}/purple-2/liboscar.so \ - ${libdir}/purple-2/libymsg.so \ - ${datadir}/aclocal" -FILES_finch = "${bindir}/finch" -FILES_finch-dev = "${libdir}/finch/*.la" - -FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \ - ${datadir}/applications" -RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp" - -FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata" -FILES_${PN}-dev += "${libdir}/${PN}/*.la" - -PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*" - -python populate_packages_prepend () { - pidgroot = d.expand('${libdir}/pidgin') - purple = d.expand('${libdir}/purple-2') - finch = d.expand('${libdir}/finch') - - do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$', - output_pattern='pidgin-plugin-%s', - description='Pidgin plugin %s', - prepend=True, extra_depends='') - - do_split_packages(d, purple, '^lib(.*)\.so$', - output_pattern='libpurple-protocol-%s', - description='Libpurple protocol plugin for %s', - prepend=True, extra_depends='') - - do_split_packages(d, purple, '^(ssl-.*)\.so$', - output_pattern='libpurple-plugin-%s', - description='libpurple plugin %s', - prepend=True, extra_depends='libpurple-plugin-ssl') - - do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$', - output_pattern='libpurple-plugin-%s', - description='libpurple plugin %s', - prepend=True, extra_depends='') - - do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$', - output_pattern='finch-plugin-%s', - description='Finch plugin %s', - prepend=True, extra_depends='') -} diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb new file mode 100644 index 000000000..ba0dca233 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb @@ -0,0 +1,110 @@ +SUMMARY = "multi-protocol instant messaging client" + +SECTION = "x11/network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "python3 virtual/libintl intltool-native libxml2 gconf glib-2.0-native" + +inherit autotools gettext pkgconfig gconf perlnative python3native + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ + file://sanitize-configure.ac.patch \ + file://purple-OE-branding-25.patch \ +" + +SRC_URI[sha256sum] = "19654ad276b149646371fbdac21bc7620742f2975f7399fed0ffc1a18fbaf603" + +PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \ +" +PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2" +# --disable-gstreamer compile without GStreamer audio support +# --disable-gstreamer-video +# compile without GStreamer 1.0 Video Overlay support +# --disable-gstreamer-interfaces +# compile without GStreamer 0.10 interface support +# --with-gstreamer= +# compile with GStreamer 0.10 or 1.0 interface +PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer" +PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer" +PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn" +PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+" +PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11" +PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" +PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt" +PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" +PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss" +PACKAGECONFIG[cyrus-sasl] = "--enable-cyrus-sasl,--disable-cyrus-sasl,cyrus-sasl" + +EXTRA_OECONF = " \ + --disable-perl \ + --disable-tcl \ + --disable-gevolution \ + --disable-schemas-install \ + --disable-gtkspell \ + --disable-meanwhile \ + --disable-nm \ + --disable-screensaver \ +" + +OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" +OE_LT_RPATH_ALLOW[export]="1" + +PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data" + +RPROVIDES_${PN}-dbg += "libpurple-dbg finch-dbg" + +LEAD_SONAME = "libpurple.so.0" +FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" +FILES_libpurple-dev = "${libdir}/libpurple*.la \ + ${libdir}/libpurple*.so \ + ${libdir}/purple-2/*.la \ + ${libdir}/purple-2/libjabber.so \ + ${libdir}/purple-2/liboscar.so \ + ${libdir}/purple-2/libymsg.so \ + ${datadir}/aclocal" +FILES_finch = "${bindir}/finch" +FILES_finch-dev = "${libdir}/finch/*.la" + +FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \ + ${datadir}/applications" +RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp" + +FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata" +FILES_${PN}-dev += "${libdir}/${PN}/*.la" + +PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*" + +python populate_packages_prepend () { + pidgroot = d.expand('${libdir}/pidgin') + purple = d.expand('${libdir}/purple-2') + finch = d.expand('${libdir}/finch') + + do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$', + output_pattern='pidgin-plugin-%s', + description='Pidgin plugin %s', + prepend=True, extra_depends='') + + do_split_packages(d, purple, '^lib(.*)\.so$', + output_pattern='libpurple-protocol-%s', + description='Libpurple protocol plugin for %s', + prepend=True, extra_depends='') + + do_split_packages(d, purple, '^(ssl-.*)\.so$', + output_pattern='libpurple-plugin-%s', + description='libpurple plugin %s', + prepend=True, extra_depends='libpurple-plugin-ssl') + + do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$', + output_pattern='libpurple-plugin-%s', + description='libpurple plugin %s', + prepend=True, extra_depends='') + + do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$', + output_pattern='finch-plugin-%s', + description='Finch plugin %s', + prepend=True, extra_depends='') +} diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb deleted file mode 100644 index 52aa17021..000000000 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" -HOMEPAGE = "https://poppler.freedesktop.org/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ - file://0001-Do-not-overwrite-all-our-build-flags.patch \ - file://basename-include.patch \ - " -SRC_URI[sha256sum] = "fd51ead4aac1d2f4684fa6e7b0ec06f0233ed21667e720a4e817e4455dd63d27" - -DEPENDS = "fontconfig zlib cairo lcms glib-2.0" - -inherit cmake pkgconfig gobject-introspection - -PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" -PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" -PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" -PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" -PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" - -# surprise - did not expect this to work :) -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -EXTRA_OECMAKE += " \ - -DENABLE_CMS=lcms2 \ - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ - -DBUILD_GTK_TESTS=OFF \ - -DENABLE_ZLIB=ON \ - -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ -" - -do_configure_append() { - # poppler macro uses pkg-config to check for g-ir runtimes. Something - # makes them point to /usr/bin. Align them to sysroot - that's where the - # gir-wrappers are: - sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja -} - -PACKAGES =+ "libpoppler libpoppler-glib" -FILES_libpoppler = "${libdir}/libpoppler.so.*" -FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" - -RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb new file mode 100644 index 000000000..de5f38036 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" +HOMEPAGE = "https://poppler.freedesktop.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ + file://0001-Do-not-overwrite-all-our-build-flags.patch \ + file://basename-include.patch \ + " +SRC_URI[sha256sum] = "5e2219656c6bbd36154133fef2e12b7d0938464518827098b29a10b1697ea79c" + +DEPENDS = "fontconfig zlib cairo lcms glib-2.0" + +inherit cmake pkgconfig gobject-introspection + +PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" +PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" +PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" +PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" +PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" + +# surprise - did not expect this to work :) +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +EXTRA_OECMAKE += " \ + -DENABLE_CMS=lcms2 \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DBUILD_GTK_TESTS=OFF \ + -DENABLE_ZLIB=ON \ + -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ +" + +do_configure_append() { + # poppler macro uses pkg-config to check for g-ir runtimes. Something + # makes them point to /usr/bin. Align them to sysroot - that's where the + # gir-wrappers are: + sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja +} + +PACKAGES =+ "libpoppler libpoppler-glib" +FILES_libpoppler = "${libdir}/libpoppler.so.*" +FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" + +RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch new file mode 100644 index 000000000..ff6154808 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch @@ -0,0 +1,42 @@ +From cb9e9b5b1ad05dd9de07a65ee7147cdb3433746a Mon Sep 17 00:00:00 2001 +From: Naveen Saini +Date: Fri, 9 Apr 2021 15:41:35 +0800 +Subject: [PATCH] CMakeLists.txt: exclude riscv64 & riscv32 + +Upstream-Status: Pending + +Signed-off-by: Naveen Saini +--- + src/tbb/CMakeLists.txt | 2 +- + src/tbbmalloc/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tbb/CMakeLists.txt b/src/tbb/CMakeLists.txt +index a6edb6ad..4f261813 100644 +--- a/src/tbb/CMakeLists.txt ++++ b/src/tbb/CMakeLists.txt +@@ -55,7 +55,7 @@ target_compile_definitions(tbb + PRIVATE + __TBB_BUILD) + +-if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64)" OR ++if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64|riscv64|riscv32)" OR + "${CMAKE_OSX_ARCHITECTURES}" MATCHES "arm64" OR + WINDOWS_STORE OR + TBB_WINDOWS_DRIVER)) +diff --git a/src/tbbmalloc/CMakeLists.txt b/src/tbbmalloc/CMakeLists.txt +index de7ca7ea..31e854fe 100644 +--- a/src/tbbmalloc/CMakeLists.txt ++++ b/src/tbbmalloc/CMakeLists.txt +@@ -28,7 +28,7 @@ target_compile_definitions(tbbmalloc + PRIVATE + __TBBMALLOC_BUILD) + +-if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64)" OR ++if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64|riscv64|riscv32)" OR + "${CMAKE_OSX_ARCHITECTURES}" MATCHES "arm64" OR + WINDOWS_STORE OR + TBB_WINDOWS_DRIVER)) +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch new file mode 100644 index 000000000..7a4cc3e4e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch @@ -0,0 +1,34 @@ +From 26bc87fdad9f29c00a5e37d6d9aed7f6dc7ff416 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal +Date: Mon, 12 Apr 2021 14:15:53 +0800 +Subject: [PATCH] Disable use of _tpause instruction + +It is assuming right now that WAITPKG instructions are available when using +gcc 11 or clang 12. It's possible that we are building for a +CPU where it's not available - in this case anything older than Alder Lake. + +Disable for now until the detection isn't fixed upstream. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal +--- + src/tbb/scheduler_common.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tbb/scheduler_common.h b/src/tbb/scheduler_common.h +index ee13dbf9..49052001 100644 +--- a/src/tbb/scheduler_common.h ++++ b/src/tbb/scheduler_common.h +@@ -219,7 +219,7 @@ inline void prolonged_pause_impl() { + #endif + + inline void prolonged_pause() { +-#if __TBB_WAITPKG_INTRINSICS_PRESENT && (_WIN32 || _WIN64 || __linux__) && (__TBB_x86_32 || __TBB_x86_64) ++#if 0 + if (governor::wait_package_enabled()) { + std::uint64_t time_stamp = machine_time_stamp(); + // _tpause function directs the processor to enter an implementation-dependent optimized state +-- +2.29.0 + diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch index 7e66945fa..49325447e 100644 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch @@ -1,22 +1,23 @@ -From 6b2b136caa68912d77ffe26143cd3da768b9ef80 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 3 Jun 2017 08:39:37 -0700 +From 52c1586bff0ecb418ac21d6678f8963d70959f04 Mon Sep 17 00:00:00 2001 +From: Naveen Saini +Date: Wed, 7 Apr 2021 11:14:13 +0800 Subject: [PATCH] mallinfo() is glibc specific API mark it so Helps compiling with musl -Signed-off-by: Khem Raj ---- Upstream-Status: Pending - src/tbbmalloc/proxy.cpp | 2 ++ +Signed-off-by: Khem Raj +Signed-off-by: Naveen Saini +--- + src/tbbmalloc_proxy/proxy.cpp | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp -index 5ef279d..06c4872 100644 ---- a/src/tbbmalloc/proxy.cpp -+++ b/src/tbbmalloc/proxy.cpp -@@ -185,6 +185,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW +diff --git a/src/tbbmalloc_proxy/proxy.cpp b/src/tbbmalloc_proxy/proxy.cpp +index f9942bf1..fe0dad89 100644 +--- a/src/tbbmalloc_proxy/proxy.cpp ++++ b/src/tbbmalloc_proxy/proxy.cpp +@@ -253,6 +253,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW return 1; } @@ -24,7 +25,7 @@ index 5ef279d..06c4872 100644 struct mallinfo mallinfo() __THROW { struct mallinfo m; -@@ -192,6 +193,7 @@ struct mallinfo mallinfo() __THROW +@@ -260,6 +261,7 @@ struct mallinfo mallinfo() __THROW return m; } @@ -33,5 +34,5 @@ index 5ef279d..06c4872 100644 #if __ANDROID__ // Android doesn't have malloc_usable_size, provide it to be compatible -- -2.13.0 +2.17.1 diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch index 6f28f6f3a..fb10684cd 100644 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch @@ -1,7 +1,7 @@ -From 27956d4c5fb615098231cebfb8eef11057639d3c Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 8 Dec 2019 18:14:38 +0100 -Subject: [PATCH] src/tbbmalloc/proxy.cpp: __GLIBC_PREREQ is not defined on +From 5cac8b5fffa4ebf5f0090456c9e0cbf43827242a Mon Sep 17 00:00:00 2001 +From: Naveen Saini +Date: Wed, 7 Apr 2021 11:32:52 +0800 +Subject: [PATCH] src/tbbmalloc/proxy.cpp: __GLIBC_PREREQ is not defined on musl Do not call __GLIBC_PREREQ if it is not defined otherwise build will @@ -12,14 +12,15 @@ Signed-off-by: Fabrice Fontaine Upstream-Status: Submitted [https://github.com/oneapi-src/oneTBB/pull/203] Signed-off-by: Anuj Mittal +Signed-off-by: Naveen Saini --- - src/tbbmalloc/proxy.cpp | 6 ++++-- + src/tbbmalloc_proxy/proxy.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) -diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp -index d96ae7a0..709ae839 100644 ---- a/src/tbbmalloc/proxy.cpp -+++ b/src/tbbmalloc/proxy.cpp +diff --git a/src/tbbmalloc_proxy/proxy.cpp b/src/tbbmalloc_proxy/proxy.cpp +index fe0dad89..93e68049 100644 +--- a/src/tbbmalloc_proxy/proxy.cpp ++++ b/src/tbbmalloc_proxy/proxy.cpp @@ -24,7 +24,8 @@ // of aligned_alloc as required by new C++ standard, this makes it hard to // redefine aligned_alloc here. However, running on systems with new libc @@ -40,3 +41,6 @@ index d96ae7a0..709ae839 100644 #endif // __linux__ && !__ANDROID__ #include "proxy.h" +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch deleted file mode 100644 index 36578543f..000000000 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch +++ /dev/null @@ -1,35 +0,0 @@ -Author: Marcin Juszkiewicz - -Upstream-Status: unsuitable ---- - -diff --git a/build/linux.clang.inc b/build/linux.clang.inc -index fe9b5c98..b0dcd68b 100644 ---- a/build/linux.clang.inc -+++ b/build/linux.clang.inc -@@ -12,8 +12,8 @@ - # See the License for the specific language governing permissions and - # limitations under the License. - --CPLUS ?= clang++ --CONLY ?= clang -+CPLUS ?= $(CXX) -+CONLY ?= $(CC) - COMPILE_ONLY = -c -MMD - PREPROC_ONLY = -E -x c++ - INCLUDE_KEY = -I -diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc -index d820c15d..62c76afd 100644 ---- a/build/linux.gcc.inc -+++ b/build/linux.gcc.inc -@@ -12,8 +12,8 @@ - # See the License for the specific language governing permissions and - # limitations under the License. - --CPLUS ?= g++ --CONLY ?= gcc -+CPLUS ?= $(CXX) -+CONLY ?= $(CC) - COMPILE_ONLY = -c -MMD - PREPROC_ONLY = -E -x c++ - INCLUDE_KEY = -I diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch deleted file mode 100644 index 91d10cb7a..000000000 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f56eeb18a07df139864a99e1967d450cc5c8c0bb Mon Sep 17 00:00:00 2001 -From: Lee Chee Yang -Date: Wed, 30 Sep 2020 16:18:35 +0800 -Subject: [PATCH] improve reproducibility - -remove the WORKDIR info from BUILD_COMMAND to improve reproducibility. -also use SOURCE_DATE_EPOCH as DATETIME wherever possible. - -Upstream-Status: Inappropriate [sed WORKDIR does not applies to upstream] -Signed-off-by: Lee Chee Yang ---- - build/version_info_linux.sh | 4 +- - 1 file changed, 2 insertion(+), 2 deletion(-) - -diff --git a/build/version_info_linux.sh b/build/version_info_linux.sh -index 793cad11..ed6f4b2a 100644 ---- a/build/version_info_linux.sh -+++ b/build/version_info_linux.sh -@@ -25,6 +25,6 @@ echo '#N": BUILD_GCC'"\t\t"`g++ --version &1 | grep 'g++'`'" ENDL \ - echo '#N": BUILD_LIBC'"\t"`getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //'`'" ENDL \' - echo '#N": BUILD_LD'"\t\t"`ld -v 2>&1 | grep 'version'`'" ENDL \' - echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \' --echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \' -+echo '#N": BUILD_COMMAND'"\t"$(echo $* | sed 's#'$WORKDIR'#/workdir#g')'" ENDL \' - echo "" --echo "#define __TBB_DATETIME \""`date -u`"\"" -+echo "#define __TBB_DATETIME \""`$(date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" 2>/dev/null || date -u )`"\"" --- -2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc deleted file mode 100644 index 4f9da1140..000000000 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: Threading Building Blocks -Description: Intel's parallelism library for C++ -URL: https://software.intel.com/en-us/tbb -Version: 2020.2 -Libs: -L${libdir} -ltbb -Cflags: -I${includedir} diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb deleted file mode 100644 index 8e0094b31..000000000 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb +++ /dev/null @@ -1,46 +0,0 @@ -DESCRIPTION = "Parallelism library for C++ - runtime files \ - TBB is a library that helps you leverage multi-core processor \ - performance without having to be a threading expert. It represents a \ - higher-level, task-based parallelism that abstracts platform details \ - and threading mechanism for performance and scalability." -HOMEPAGE = "https://software.intel.com/en-us/tbb" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -BRANCH = "tbb_2020" -SRCREV = "eca91f16d7490a8abfdee652dadf457ec820cc37" -SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ - file://cross-compile.patch \ - file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \ - file://GLIBC-PREREQ-is-not-defined-on-musl.patch \ - file://tbb.pc \ - file://improve-reproducibility.patch \ -" - -S = "${WORKDIR}/git" -PE = "1" - -COMPILER ?= "gcc" -COMPILER_toolchain-clang = "clang" - -do_compile() { - oe_runmake compiler=${COMPILER} arch=${HOST_ARCH} -} - -do_install() { - install -d ${D}${includedir} ${D}${libdir} - rm ${S}/include/tbb/index.html -f - cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir} - for f in ${B}/build/linux_*_release/lib*.so* - do - install -Dm 0755 $f ${D}${libdir}/ - done - install -Dm 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig/tbb.pc -} - -# fails with thumb enabled: -# | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp -# | {standard input}: Assembler messages: -# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]' -# ... -# | make[1]: *** [concurrent_queue.o] Error 1 -ARM_INSTRUCTION_SET = "arm" diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb new file mode 100644 index 000000000..b05a59dc7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb @@ -0,0 +1,45 @@ +DESCRIPTION = "Parallelism library for C++ - runtime files \ + TBB is a library that helps you leverage multi-core processor \ + performance without having to be a threading expert. It represents a \ + higher-level, task-based parallelism that abstracts platform details \ + and threading mechanism for performance and scalability." +HOMEPAGE = "https://software.intel.com/en-us/tbb" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327" + +DEPENDS_append_libc-musl = " libucontext" + +BRANCH = "onetbb_2021" +SRCREV = "2dba2072869a189b9fdab3ffa431d3ea49059a19" +SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ + file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \ + file://GLIBC-PREREQ-is-not-defined-on-musl.patch \ + file://0001-CMakeLists.txt-exclude-riscv64-riscv32.patch \ + file://0001-Disable-use-of-_tpause-instruction.patch \ +" + +S = "${WORKDIR}/git" + +inherit cmake + +# test build fails, error: 'mallinfo mallinfo()' is deprecated +EXTRA_OECMAKE += " \ + -DTBB_TEST=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + " + + +# fails with thumb enabled: +# | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp +# | {standard input}: Assembler messages: +# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]' +# ... +# | make[1]: *** [concurrent_queue.o] Error 1 +ARM_INSTRUCTION_SET = "arm" + +ASNEEDED = "" + +LDFLAGS_append_mips = " -latomic" +LDFLAGS_append_mipsel = " -latomic" + +LDFLAGS_append_libc-musl = " -lucontext" -- cgit v1.2.3