diff options
62 files changed, 404 insertions, 186 deletions
@@ -13,5 +13,11 @@ This layer depends on: Layer Maintainer: Joshua Watt <jpewhacker@gmail.com> -Please send changes to the yocto mailing list with [meta-mingw] in the subject line, -cc'ing the maintainer. +Please send changes to the yocto-patches mailing list with [meta-mingw] in the +subject line, cc'ing the maintainer. + +This can be configured within the repository with the commands: + +git config sendemail.to yocto-patches@lists.yoctoproject.org +git config sendemail.cc jpewhacker@gmail.com +git config format.subjectprefix "meta-mingw] [PATCH" diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..7d2ce1f --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,24 @@ +How to Report a Potential Vulnerability? +======================================== + +If you would like to report a public issue (for example, one with a released +CVE number), please report it using the +[https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Security Security Bugzilla]. +If you have a patch ready, submit it following the same procedure as any other +patch as described in README.md. + +If you are dealing with a not-yet released or urgent issue, please send a +message to security AT yoctoproject DOT org, including as many details as +possible: the layer or software module affected, the recipe and its version, +and any example code, if available. + +Branches maintained with security fixes +--------------------------------------- + +See [https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS Stable release and LTS] +for detailed info regarding the policies and maintenance of Stable branches. + +The [https://wiki.yoctoproject.org/wiki/Releases Release page] contains a list of all +releases of the Yocto Project. Versions in grey are no longer actively maintained with +security patches, but well-tested patches may still be accepted for them for +significant issues. diff --git a/classes/toolchain-scripts-mingw32.bbclass b/classes/toolchain-scripts-mingw32.bbclass index 0afbf7d..8cb426a 100644 --- a/classes/toolchain-scripts-mingw32.bbclass +++ b/classes/toolchain-scripts-mingw32.bbclass @@ -1,5 +1,5 @@ # Based off of the oe-core meta/classes/toolchain-scripts.bbclass version -toolchain_create_sdk_env_script_sdkmingw32 () { +toolchain_create_sdk_env_script:sdkmingw32 () { # Create environment setup script sdkpathnative=${7:-${SDKPATHNATIVE}} prefix=${6:-${prefix_nativesdk}} @@ -12,6 +12,7 @@ toolchain_create_sdk_env_script_sdkmingw32 () { touch $script # Be sure to use the 'short' path, so we can have deeper directories. echo 'set SDKROOT=%~sdp0%' >> $script + echo 'IF %SDKROOT:~-1%==\ set SDKROOT=%SDKROOT:~0,-1%' >> $script # Convert to mingw32 subpaths sysroot='%SDKROOT%'${sysroot##${SDKPATH}} @@ -54,7 +55,7 @@ toolchain_create_sdk_env_script_sdkmingw32 () { mv $script.new $script } -toolchain_shared_env_script_sdkmingw32 () { +toolchain_shared_env_script:sdkmingw32 () { echo 'set CC=${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=%SDKTARGETSYSROOT%' >> $script echo 'set CXX=${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=%SDKTARGETSYSROOT%' >> $script echo 'set CPP=${TARGET_PREFIX}gcc -E ${TARGET_CC_ARCH} --sysroot=%SDKTARGETSYSROOT%' >> $script @@ -94,13 +95,13 @@ toolchain_shared_env_script_sdkmingw32 () { EOF } -toolchain_create_sdk_siteconfig_append_sdkmingw32 () { +toolchain_create_sdk_siteconfig:append:sdkmingw32 () { # Make the file windows friendly... awk 'sub("$", "\r")' $siteconfig > $siteconfig.new mv $siteconfig.new $siteconfig } -toolchain_create_sdk_version_append_sdkmingw32 () { +toolchain_create_sdk_version:append:sdkmingw32 () { # Make the file windows friendly... awk 'sub("$", "\r")' $versionfile > $versionfile.new mv $versionfile.new $versionfile diff --git a/conf/layer.conf b/conf/layer.conf index 307099e..ff34e6f 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -3,11 +3,18 @@ BBPATH := "${BBPATH}:${LAYERDIR}" # We have a packages directory, add to BBFILES BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" +BBFILES_DYNAMIC += "\ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bb \ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bbappend \ +" BBFILE_COLLECTIONS += "meta-mingw" BBFILE_PATTERN_meta-mingw := "^${LAYERDIR}/" BBFILE_PRIORITY_meta-mingw = "8" +addpylib ${LAYERDIR}/lib oeqa + LAYERDEPENDS_meta-mingw = "core" -LAYERSERIES_COMPAT_meta-mingw = "dunfell"
\ No newline at end of file +LAYERSERIES_COMPAT_meta-mingw = "scarthgap" + diff --git a/conf/machine-sdk/include/mingw32-common.inc b/conf/machine-sdk/include/mingw32-common.inc index 9011ded..909fc06 100644 --- a/conf/machine-sdk/include/mingw32-common.inc +++ b/conf/machine-sdk/include/mingw32-common.inc @@ -1,4 +1,7 @@ SDK_OS = "mingw32" +SDK_VENDOR:mingw32 = "-w64" +SDK_VENDOR:sdkmingw32 = "-w64" + NATIVESDKLIBC = "libc-mingw" PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-for-gcc_mingw32 = "nativesdk-mingw-w64-runtime" @@ -7,20 +10,23 @@ PREFERRED_PROVIDER_virtual/nativesdk-libc = "nativesdk-mingw-w64-runtime" PREFERRED_PROVIDER_virtual/nativesdk-libintl = "nativesdk-gettext" PREFERRED_PROVIDER_virtual/nativesdk-libiconv = "nativesdk-libiconv" -USE_NLS_mingw32 = "no" +USE_NLS:mingw32 = "no" + +FILES:${PN}-staticdev:append:mingw32 = " ${libdir}/*.lib" +ALLOW_EMPTY:${PN}:mingw32 = "1" -FILES_${PN}-staticdev_append_mingw32 = " ${libdir}/*.lib" -ALLOW_EMPTY_${PN}_mingw32 = "1" +DISTRO_FEATURES_FILTER_NATIVESDK:remove:mingw32 = "debuginfod" # Do what amounts to a NOOP SDK_PACKAGING_FUNC = "do_compile" # Causes an endless loop -#SDKTAROPTS_append = " -h --hard-dereference" +# SDKTAROPTS:append = " -h --hard-dereference" SDKUSE_NLS = "no" SDKIMAGE_LINGUAS = "" -SDK_DEPENDS_remove = "nativesdk-glibc-locale" +SDK_DEPENDS:remove = "nativesdk-glibc-locale" +SDK_DEPENDS:remove = "nativesdk-glibc-utils" SDKPKGSUFFIX = "nativesdk-mingw32" @@ -29,20 +35,24 @@ MACHINEOVERRIDES .= ":sdkmingw32" TESTSDK_CLASS_NAME = "oeqa.sdkmingw.testsdk.TestSDKMinGW" TESTSDKEXT_CLASS_NAME = "" -WINDRES_mingw32 = "${HOST_PREFIX}windres --include-dir=${STAGING_INCDIR}" -RC_mingw32 = "${WINDRES}" +WINDMC:mingw32 = "${HOST_PREFIX}windmc" +WINDRES:mingw32 = "${HOST_PREFIX}windres --include-dir=${STAGING_INCDIR}" +RC:mingw32 = "${WINDRES}" +WINDMC:class-cross-canadian = "${HOST_PREFIX}windmc" +WINDRES:class-cross-canadian = "${HOST_PREFIX}windres --include-dir=${STAGING_INCDIR}" +RC:class-cross-canadian = "${WINDRES}" +export WINDMC export WINDRES export RC -BB_HASHBASE_WHITELIST_append = " WINDRES RC" +BB_BASEHASH_IGNORE_VARS:append = " WINDRES RC WINDMC" # Needed to override no-static-libs.inc -DISABLE_STATIC_mingw32 = "" +DISABLE_STATIC:mingw32 = "" # disable security flags -GCCPIE_mingw32 = "" +GCCPIE:mingw32 = "" # wine and wineserver are required to test MinGW SDKs -HOSTTOOLS += "${@'wine wineserver' if (bb.utils.contains_any('IMAGE_CLASSES', 'testsdk', True, False, d) or any(x in (d.getVar("BBINCLUDED") or "") for x in ["testsdk.bbclass"])) else ''}" - +HOSTTOOLS_NONFATAL += "wine wineserver" diff --git a/dynamic-layers/openembedded-layers/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend b/dynamic-layers/openembedded-layers/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend new file mode 100644 index 0000000..b73a8ea --- /dev/null +++ b/dynamic-layers/openembedded-layers/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend @@ -0,0 +1 @@ +EXTRA_OECMAKE:remove:mingw32 = "-DBUILD_SHARED_LIBS=ON" diff --git a/dynamic-layers/openembedded-layers/recipes-devtools/grpc/grpc_%.bbappend b/dynamic-layers/openembedded-layers/recipes-devtools/grpc/grpc_%.bbappend new file mode 100644 index 0000000..dc0ea42 --- /dev/null +++ b/dynamic-layers/openembedded-layers/recipes-devtools/grpc/grpc_%.bbappend @@ -0,0 +1,5 @@ +# doesn't build and not required +DEPENDS:remove:mingw32 = "libnsl2" + +EXTRA_OECMAKE:remove:mingw32 = "-DBUILD_SHARED_LIBS=ON" +EXTRA_OECMAKE:append:mingw32 = " -DBUILD_SHARED_LIBS=OFF" diff --git a/dynamic-layers/openembedded-layers/recipes-devtools/protobuf-c/protobuf-c_%.bbappend b/dynamic-layers/openembedded-layers/recipes-devtools/protobuf-c/protobuf-c_%.bbappend new file mode 100644 index 0000000..d350e38 --- /dev/null +++ b/dynamic-layers/openembedded-layers/recipes-devtools/protobuf-c/protobuf-c_%.bbappend @@ -0,0 +1 @@ +EXTRA_OECONF:append:mingw32 = " --disable-shared" diff --git a/dynamic-layers/openembedded-layers/recipes-devtools/protobuf/protobuf_%.bbappend b/dynamic-layers/openembedded-layers/recipes-devtools/protobuf/protobuf_%.bbappend new file mode 100644 index 0000000..d350e38 --- /dev/null +++ b/dynamic-layers/openembedded-layers/recipes-devtools/protobuf/protobuf_%.bbappend @@ -0,0 +1 @@ +EXTRA_OECONF:append:mingw32 = " --disable-shared" diff --git a/dynamic-layers/openembedded-layers/recipes-support/c-ares/c-ares_%.bbappend b/dynamic-layers/openembedded-layers/recipes-support/c-ares/c-ares_%.bbappend new file mode 100644 index 0000000..8ef58f9 --- /dev/null +++ b/dynamic-layers/openembedded-layers/recipes-support/c-ares/c-ares_%.bbappend @@ -0,0 +1,2 @@ +EXTRA_OECMAKE:append:mingw32 = "-DCARES_SHARED=OFF" +EXTRA_OECMAKE:append:mingw32 = "-DCARES_STATIC=ON" diff --git a/dynamic-layers/openembedded-layers/recipes-support/re2/re2_%.bbappend b/dynamic-layers/openembedded-layers/recipes-support/re2/re2_%.bbappend new file mode 100644 index 0000000..16bb5a0 --- /dev/null +++ b/dynamic-layers/openembedded-layers/recipes-support/re2/re2_%.bbappend @@ -0,0 +1,2 @@ +EXTRA_OECMAKE:remove:mingw32 = "-DBUILD_SHARED_LIBS=ON" +EXTRA_OECMAKE:append:mingw32 = "-DBUILD_SHARED_LIBS=OFF" diff --git a/lib/oeqa/sdkmingw/case.py b/lib/oeqa/sdkmingw/case.py index 169c143..dee7d3d 100644 --- a/lib/oeqa/sdkmingw/case.py +++ b/lib/oeqa/sdkmingw/case.py @@ -56,7 +56,7 @@ class OESDKMinGWTestCase(OESDKTestCase): return s[1:-1] return s - command = ['wine', 'cmd', '/c', self.tc.wine_sdk_env, '>', 'NUL', '&&', 'cd', self.wine_test_dir, '&&'] + command = ['wine', 'cmd', '/c', self.tc.wine_sdk_env, '>', 'NUL', '&&'] # Perform some massaging so that commands can be written naturally in # test cases. shlex.split() in Non-posix mode gets us most of the way @@ -65,7 +65,7 @@ class OESDKMinGWTestCase(OESDKTestCase): command.extend(strip_quotes(s) for s in shlex.split(cmd, posix=False)) return subprocess.check_output(command, env=self.tc.get_wine_env(), - stderr=subprocess.STDOUT, universal_newlines=True) + stderr=subprocess.STDOUT, universal_newlines=True, cwd=self.test_dir) def assertIsTargetElf(self, path): import oe.qa diff --git a/lib/oeqa/sdkmingw/context.py b/lib/oeqa/sdkmingw/context.py index edabcbd..5319223 100644 --- a/lib/oeqa/sdkmingw/context.py +++ b/lib/oeqa/sdkmingw/context.py @@ -12,10 +12,19 @@ class OESDKMinGWTestContext(OESDKTestContext): sdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files") def __init__(self, td=None, logger=None, sdk_dir=None, sdk_env=None, wine_prefix=None, - wine_arch=None, target_pkg_manifest=None, host_pkg_manifest=None): + wine_arch=None, wine_devices={}, target_pkg_manifest=None, host_pkg_manifest=None): super(OESDKMinGWTestContext, self).__init__(td, logger, sdk_dir, sdk_env, target_pkg_manifest, host_pkg_manifest) self.wine_prefix = wine_prefix self.wine_arch = wine_arch + # Create the wine environment + subprocess.check_output(["wine", "cmd", "/c", "echo 1"], env=self.get_wine_env()) + + device_dir = "%s/dosdevices" % wine_prefix + bb.utils.mkdirhier(device_dir) + for device, path in wine_devices.items(): + device_path = "%s/%s" % (device_dir, device) + os.symlink(os.path.relpath(path, device_dir), device_path) + self.wine_sdk_dir = self.wine_path(sdk_dir) self.wine_sdk_env = self.wine_path(sdk_env) diff --git a/lib/oeqa/sdkmingw/testsdk.py b/lib/oeqa/sdkmingw/testsdk.py index 173cfd9..5c80bb4 100644 --- a/lib/oeqa/sdkmingw/testsdk.py +++ b/lib/oeqa/sdkmingw/testsdk.py @@ -44,6 +44,9 @@ class TestSDKMinGW(TestSDK): return { 'wine_prefix': wine_prefix, - 'wine_arch': d.getVar('TESTSDK_WINEARCH') or 'win64' + 'wine_arch': d.getVar('TESTSDK_WINEARCH') or 'win64', + 'wine_devices': { + 'w:': d.getVar("WORKDIR"), } + } diff --git a/recipes-core/dbus/dbus_%.bbappend b/recipes-core/dbus/dbus_%.bbappend index 76b0c3e..be88280 100644 --- a/recipes-core/dbus/dbus_%.bbappend +++ b/recipes-core/dbus/dbus_%.bbappend @@ -1,11 +1,15 @@ -FILES_${PN}_append_mingw32 = "\ +FILES:${PN}:append:mingw32 = "\ + ${bindir}/dbus-launch.exe \ + ${bindir}/dbus-run-session.exe \ +" + +FILES:${PN}-tools:append:mingw32 = "\ ${bindir}/dbus-send.exe \ ${bindir}/dbus-monitor.exe \ - ${bindir}/dbus-launch.exe \ ${bindir}/dbus-test-tool.exe \ ${bindir}/dbus-update-activation-environment.exe \ " -FILES_${PN}-lib_append_mingw32 = "\ +FILES:${PN}-lib:append:mingw32 = "\ ${bindir}/lib*.dll \ " diff --git a/recipes-core/dtc/dtc_%.bbappend b/recipes-core/dtc/dtc_%.bbappend index 1406937..b71c46b 100644 --- a/recipes-core/dtc/dtc_%.bbappend +++ b/recipes-core/dtc/dtc_%.bbappend @@ -1,16 +1 @@ - -do_configure_append_mingw32 () { - # don't try to build the other dtc components when installing libs - sed -i 's/install-lib: all/install-lib: libfdt/g' ${S}/Makefile -} - -do_compile_mingw32 () { - oe_runmake libfdt -} - -do_install_mingw32 () { - oe_runmake install-lib install-includes -} - -RDEPENDS_${PN}-misc_remove_mingw32 = "bash" - +RDEPENDS:${PN}-misc:remove:mingw32 = "bash" diff --git a/recipes-core/expat/expat_%.bbappend b/recipes-core/expat/expat_%.bbappend index 626ea5b..0749fe3 100644 --- a/recipes-core/expat/expat_%.bbappend +++ b/recipes-core/expat/expat_%.bbappend @@ -1,3 +1,3 @@ -FILES_${PN}-bin_mingw32 = "${bindir}/*.exe ${sbindir}/*.exe" +FILES:${PN}-bin:mingw32 = "${bindir}/*.exe ${sbindir}/*.exe" diff --git a/recipes-core/gettext/gettext_%.bbappend b/recipes-core/gettext/gettext_%.bbappend index d518698..7bb9a4f 100644 --- a/recipes-core/gettext/gettext_%.bbappend +++ b/recipes-core/gettext/gettext_%.bbappend @@ -1,12 +1,13 @@ -EXTRA_OECONF_append_mingw32 = " --enable-static" +EXTRA_OECONF:append:mingw32 = " --enable-static" -FILESEXTRAPATHS_prepend_mingw32 := "${THISDIR}/${BPN}:" -SRC_URI_append_mingw32 = " \ +FILESEXTRAPATHS:prepend:mingw32 := "${THISDIR}/${BPN}:" +SRC_URI:append:mingw32 = " \ " -FILES_libgettextlib_mingw32 = "${bindir}/libgettextlib-*.dll" -FILES_libgettextsrc_mingw32 = "${bindir}/libgettextsrc-*.dll" +FILES:libgettextlib:mingw32 = "${bindir}/libgettextlib-*.dll" +FILES:libgettextsrc:mingw32 = "${bindir}/libgettextsrc-*.dll" -PACKAGES_prepend_mingw32 = "libintl " -FILES_libintl_mingw32 = "${bindir}/libintl*.dll" +PACKAGES:prepend:mingw32 = "libintl ${LOCALEBASEPN}-locale-alias " +FILES:libintl:mingw32 = "${bindir}/libintl*.dll" +FILES:${LOCALEBASEPN}-locale-alias = "${datadir}/locale/locale.alias" diff --git a/recipes-core/glib-2.0/glib-2.0_%.bbappend b/recipes-core/glib-2.0/glib-2.0_%.bbappend index d379f0b..28687eb 100644 --- a/recipes-core/glib-2.0/glib-2.0_%.bbappend +++ b/recipes-core/glib-2.0/glib-2.0_%.bbappend @@ -1,15 +1,15 @@ # glib always provides bash-completion output, package the output but prevent # the dependency chain on bash (via bash-completion) for mingw32 targets only. -RDEPENDS_${PN}-bash-completion_remove_mingw32 = "bash-completion" +RDEPENDS:${PN}-bash-completion:remove:mingw32 = "bash-completion" # libmount is not buildable for mingw/windows -PACKAGECONFIG_remove_mingw32 = "libmount" +PACKAGECONFIG:remove:mingw32 = "libmount" -FILES_${PN}_append_mingw32 = " \ +FILES:${PN}:append:mingw32 = " \ ${bindir}/lib*.dll \ ${libexecdir}/*gio-querymodules.exe \ " -FILES_${PN}-dev_append_mingw32 = " ${libdir}/*.def" -FILES_${PN}-utils_append_mingw32 = " ${bindir}/*.exe" +FILES:${PN}-dev:append:mingw32 = " ${libdir}/*.def" +FILES:${PN}-utils:append:mingw32 = " ${bindir}/*.exe" diff --git a/recipes-core/images/core-image-mingw-sdktest.bb b/recipes-core/images/core-image-mingw-sdktest.bb index 6215aef..9060c3d 100644 --- a/recipes-core/images/core-image-mingw-sdktest.bb +++ b/recipes-core/images/core-image-mingw-sdktest.bb @@ -10,6 +10,7 @@ TOOLCHAIN_HOST_TASK += "\ nativesdk-dbus \ nativesdk-dtc \ nativesdk-libarchive \ + nativesdk-ninja \ nativesdk-swig \ nativesdk-wayland \ " diff --git a/recipes-core/libxml/libxml2_%.bbappend b/recipes-core/libxml/libxml2_%.bbappend index 2c9f206..cc155e5 100644 --- a/recipes-core/libxml/libxml2_%.bbappend +++ b/recipes-core/libxml/libxml2_%.bbappend @@ -1 +1 @@ -PACKAGECONFIG_remove_class-nativesdk_mingw32 = "python" +PACKAGECONFIG:remove:class-nativesdk:mingw32 = "python" diff --git a/recipes-core/meta/meta-environment.bbappend b/recipes-core/meta/meta-environment.bbappend index 0846042..e981401 100644 --- a/recipes-core/meta/meta-environment.bbappend +++ b/recipes-core/meta/meta-environment.bbappend @@ -1,4 +1,4 @@ TCSCRIPTS ?= "" -TCSCRIPTS_sdkmingw32 = "toolchain-scripts-mingw32" +TCSCRIPTS:sdkmingw32 = "toolchain-scripts-mingw32" inherit ${TCSCRIPTS} diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend index a9a51a6..d6ec6d3 100644 --- a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend +++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend @@ -1,4 +1,5 @@ -RDEPENDS_${PN}_mingw32 = "\ +RDEPENDS:${PN}:mingw32 = "\ + nativesdk-sdk-provides-dummy \ nativesdk-pkgconfig \ nativesdk-libtool \ nativesdk-qemu \ diff --git a/recipes-core/zlib/zlib_1.2.%.bbappend b/recipes-core/zlib/zlib_1.2.%.bbappend deleted file mode 100644 index 2fd034b..0000000 --- a/recipes-core/zlib/zlib_1.2.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -EXTRA_OEMAKE_append_mingw32 = " LDSHAREDLIBC=''" diff --git a/recipes-core/zlib/zlib_1.3%.bbappend b/recipes-core/zlib/zlib_1.3%.bbappend new file mode 100644 index 0000000..d03721a --- /dev/null +++ b/recipes-core/zlib/zlib_1.3%.bbappend @@ -0,0 +1 @@ +EXTRA_OEMAKE:append:mingw32 = " LDSHAREDLIBC=''" diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend b/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend index 5845fe0..d838827 100644 --- a/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend +++ b/recipes-devtools/binutils/binutils-cross-canadian_2.%.bbappend @@ -1,5 +1,7 @@ -EXTRA_OECONF_append_sdkmingw32 = " --disable-nls" -LDFLAGS_append_sdkmingw32 = " -Wl,-static" +EXTRA_OECONF:append:sdkmingw32 = " --disable-nls" +LDFLAGS:append:sdkmingw32 = " -Wl,-static" -DEPENDS_remove_sdkmingw32 = "nativesdk-gettext" -DEPENDS_remove_sdkmingw32 = "nativesdk-flex" +DEPENDS:remove:sdkmingw32 = "nativesdk-gettext" +DEPENDS:remove:sdkmingw32 = "nativesdk-flex" + +FILES:${PN}-staticdev:append:sdkmingw32 = " ${libdir}/bfd-plugins/lib*.a" diff --git a/recipes-devtools/cmake/cmake_%.bbappend b/recipes-devtools/cmake/cmake_%.bbappend index d9d7ceb..9fb4f99 100644 --- a/recipes-devtools/cmake/cmake_%.bbappend +++ b/recipes-devtools/cmake/cmake_%.bbappend @@ -1,7 +1,2 @@ -DEPENDS_remove_mingw32 = "ncurses" - -cmake_do_generate_toolchain_file_append_mingw32() { - cat >> ${WORKDIR}/toolchain.cmake <<EOF -set( CMAKE_SYSTEM_NAME Windows ) -EOF -} +DEPENDS:remove:mingw32 = "ncurses" +RDEPENDS:${PN}-bash-completion:remove:mingw32 = "bash-completion" diff --git a/recipes-devtools/flex/flex_%.bbappend b/recipes-devtools/flex/flex_%.bbappend new file mode 100644 index 0000000..898c75a --- /dev/null +++ b/recipes-devtools/flex/flex_%.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +DEPENDS:append:class-nativesdk:mingw32 = " nativesdk-mingw-libgnurx" diff --git a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend index 9c0d828..13ea016 100644 --- a/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend +++ b/recipes-devtools/gcc/gcc-cross-canadian_%.bbappend @@ -1,9 +1,9 @@ -INSANE_SKIP_${PN}_append_sdkmingw32 = " staticdev" -EXTRA_OECONF_append_sdkmingw32 = " --disable-nls" -LDFLAGS_append_sdkmingw32 = " -Wl,-static" -EXEEXT_sdkmingw32 = ".exe" -ELFUTILS_sdkmingw32 = "" -DEPENDS_remove_sdkmingw32 = "nativesdk-gettext" +INSANE_SKIP:${PN}:append:sdkmingw32 = " staticdev" +EXTRA_OECONF:append:sdkmingw32 = " --disable-nls" +LDFLAGS:append:sdkmingw32 = " -Wl,-static" +EXEEXT:sdkmingw32 = ".exe" +ELFUTILS:sdkmingw32 = "" +DEPENDS:remove:sdkmingw32 = "nativesdk-gettext" # With plugins enabled, it will output 'dll.a' files that are mistaken # for ELF which can trigger a failure. Simply avoid processing these diff --git a/recipes-devtools/gcc/gcc-crosssdk_%.bbappend b/recipes-devtools/gcc/gcc-crosssdk_%.bbappend index 3411946..1a4bf6c 100644 --- a/recipes-devtools/gcc/gcc-crosssdk_%.bbappend +++ b/recipes-devtools/gcc/gcc-crosssdk_%.bbappend @@ -1,3 +1,3 @@ PACKAGECONFIG_CONFARGS ?= "" -EXTRA_OECONF_remove_mingw32 = "--enable-initfini-array --with-linker-hash-style=${LINKER_HASH_STYLE}" -EXTRA_OECONF_append_mingw32 = " --disable-initfini-array" +EXTRA_OECONF:remove:mingw32 = "--enable-initfini-array --with-linker-hash-style=${LINKER_HASH_STYLE}" +EXTRA_OECONF:append:mingw32 = " --disable-initfini-array" diff --git a/recipes-devtools/gcc/gcc-runtime_%.bbappend b/recipes-devtools/gcc/gcc-runtime_%.bbappend index f14edf1..1511abb 100644 --- a/recipes-devtools/gcc/gcc-runtime_%.bbappend +++ b/recipes-devtools/gcc/gcc-runtime_%.bbappend @@ -1,14 +1,14 @@ -FILES_libstdc++_append_mingw32 = " ${bindir}/libstdc++*.dll" -FILES_libstdc++-staticdev_append_mingw32 = " ${libdir}/libstdc++.dll.a*" -FILES_libssp_append_mingw32 = " ${bindir}/libssp*.dll" -# FILES_libgomp_append_mingw32 = " ${bindir}/libgomp*.dll" +FILES:libstdc++:append:mingw32 = " ${bindir}/libstdc++*.dll" +FILES:libstdc++-staticdev:append:mingw32 = " ${libdir}/libstdc++.dll.a*" +FILES:libssp:append:mingw32 = " ${bindir}/libssp*.dll" +# FILES:libgomp:append:mingw32 = " ${bindir}/libgomp*.dll" -RUNTIMETARGET_remove_mingw32 = "libatomic libgomp" -RUNTIMETARGET_remove_mingw32 = "libitm" +RUNTIMETARGET:remove:mingw32 = "libatomic libgomp" +RUNTIMETARGET:remove:mingw32 = "libitm" # Intel Memory Protection Extension library for x86 builds are now enabled # by default. However, it does not build for mingw32, so remove it from # mingw builds -RUNTIMETARGET_remove_mingw32 = "libmpx" +RUNTIMETARGET:remove:mingw32 = "libmpx" -DEPENDS_append_mingw32 = " nativesdk-mingw-w64-winpthreads" +DEPENDS:append:mingw32 = " nativesdk-mingw-w64-winpthreads" diff --git a/recipes-devtools/gcc/gcc_%.bbappend b/recipes-devtools/gcc/gcc_%.bbappend index a779bb9..c72363e 100644 --- a/recipes-devtools/gcc/gcc_%.bbappend +++ b/recipes-devtools/gcc/gcc_%.bbappend @@ -1,6 +1,6 @@ -FILES_${PN}_append_mingw32 = "\ +FILES:${PN}:append:mingw32 = "\ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin-0.dll \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.dll.a \ " -INSANE_SKIP_append_mingw32 = " staticdev" +INSANE_SKIP:append:mingw32 = " staticdev" diff --git a/recipes-devtools/gcc/libgcc_%.bbappend b/recipes-devtools/gcc/libgcc_%.bbappend index f542cfc..743b5b7 100644 --- a/recipes-devtools/gcc/libgcc_%.bbappend +++ b/recipes-devtools/gcc/libgcc_%.bbappend @@ -1,9 +1,9 @@ -DEPENDS_append_mingw32 = " nativesdk-mingw-w64-winpthreads" +DEPENDS:append:mingw32 = " nativesdk-mingw-w64-winpthreads" -FILES_${PN}_append_mingw32 = " ${bindir}/libgcc*.dll" -FILES_${PN}-dev_append_mingw32 = " ${base_libdir}/libgcc*.a" +FILES:${PN}:append:mingw32 = " ${bindir}/libgcc*.dll" +FILES:${PN}-dev:append:mingw32 = " ${base_libdir}/libgcc*.a" -do_install_append_mingw32 () { +do_install:append:mingw32 () { # move the .dll files into bindir install -d ${D}${bindir} mv ${D}${base_libdir}/libgcc*.dll ${D}${bindir}/ diff --git a/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend b/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend index c33a9ce..9d8324f 100644 --- a/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend +++ b/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend @@ -1,6 +1,7 @@ -EXEEXT_sdkmingw32 = ".exe" -DEPENDS_remove_sdkmingw32 = "nativesdk-ncurses nativesdk-readline nativesdk-python" -RDEPENDS_${PN}_remove_sdkmingw32 = "nativesdk-python-core nativesdk-python-lang nativesdk-python-re nativesdk-python-codecs nativesdk-python-netclient" -EXTRA_OECONF_append_sdkmingw32 = " --without-curses --without-system-readline --with-python=no" -PACKAGECONFIG_remove_sdkmingw32 = "readline" -PACKAGECONFIG_remove_sdkmingw32 = "python" +EXEEXT:sdkmingw32 = ".exe" +DEPENDS:remove:sdkmingw32 = "nativesdk-ncurses nativesdk-readline nativesdk-python" +RDEPENDS:${PN}:remove:sdkmingw32 = "nativesdk-python-core nativesdk-python-lang nativesdk-python-re nativesdk-python-codecs nativesdk-python-netclient" +EXTRA_OECONF:append:sdkmingw32 = " --without-curses --without-system-readline --with-python=no" +PACKAGECONFIG:remove:sdkmingw32 = "readline" +PACKAGECONFIG:remove:sdkmingw32 = "python" +PACKAGECONFIG:remove:sdkmingw32 = "debuginfod" diff --git a/recipes-devtools/go/go_%.bbappend b/recipes-devtools/go/go_%.bbappend new file mode 100644 index 0000000..846a4ff --- /dev/null +++ b/recipes-devtools/go/go_%.bbappend @@ -0,0 +1,9 @@ +do_install:append:class-nativesdk:mingw32() { + install -d ${D}${SDKPATHNATIVE}/environment-setup.d + + cat <<EOF > ${D}${SDKPATHNATIVE}/environment-setup.d/go.bat +set GOROOT=%OECORE_NATIVE_SYSROOT%\\usr\\lib\\${BPN} +EOF +} + +FILES:${PN}:append:class-nativesdk:mingw32 = " ${SDKPATHNATIVE}/environment-setup.d" diff --git a/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bbappend b/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bbappend deleted file mode 100644 index 4252e8d..0000000 --- a/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bbappend +++ /dev/null @@ -1 +0,0 @@ -EXTRA_OECONF_append_mingw32 = " --disable-shared"
\ No newline at end of file diff --git a/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bbappend b/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bbappend new file mode 100644 index 0000000..63eb066 --- /dev/null +++ b/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bbappend @@ -0,0 +1 @@ +EXTRA_OECONF:append:mingw32 = " --disable-shared"
\ No newline at end of file diff --git a/recipes-devtools/mingw-w64/mingw-w64.inc b/recipes-devtools/mingw-w64/mingw-w64.inc index a435dea..ce5d0db 100644 --- a/recipes-devtools/mingw-w64/mingw-w64.inc +++ b/recipes-devtools/mingw-w64/mingw-w64.inc @@ -5,9 +5,11 @@ COMPATIBLE_HOST = ".*-mingw.*" SRC_URI = "${SOURCEFORGE_MIRROR}/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${PV}.tar.bz2" -SRC_URI[sha256sum] = "aa20dfff3596f08a7f427aab74315a6cb80c2b086b4a107ed35af02f9496b628" +SRC_URI[sha256sum] = "1929b94b402f5ff4d7d37a9fe88daa9cc55515a6134805c104d1794ae22a4181" UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/" UPSTREAM_CHECK_REGEX = "mingw-w64-v(?P<pver>(\d+[\.\-_]*)+)\.tar" - - +#| Assembler messages: +#| i686-w64-mingw32-dlltool --as-flags=--32 -m i386 -k --as=i686-w64-mingw32-as --output-lib lib32/libd3dcompiler_41.a --input-def ../mingw-w64-v9.0.0/mingw-w64-crt/lib32/d3dcompiler_41.def +#| i686-w64-mingw32-dlltool: failed to open temporary tail file: D3DCompiler_dll_t.o: No such file or directory +PARALLEL_MAKE = "" diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_7.0.0.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_9.0.0.bb index 292d22b..68e77fa 100644 --- a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_7.0.0.bb +++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_9.0.0.bb @@ -18,9 +18,9 @@ do_compile() { : } -do_install_append() { +do_install:append() { # install correct pthread headers install -m 0644 -t ${D}${includedir} ${S}/../mingw-w64-libraries/winpthreads/include/*.h } -FILES_${PN} += "${exec_prefix}/${TARGET_SYS}" +FILES:${PN} += "${exec_prefix}/${TARGET_SYS}" diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_7.0.0.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_9.0.0.bb index cf39c6a..e2ca6a5 100644 --- a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_7.0.0.bb +++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_9.0.0.bb @@ -7,7 +7,7 @@ B = "${WORKDIR}/build-${TARGET_SYS}" inherit autotools nativesdk -BUILDSDK_CPPFLAGS_append = " -isystem${STAGING_INCDIR}" +BUILDSDK_CPPFLAGS:append = " -isystem${STAGING_INCDIR}" INHIBIT_DEFAULT_DEPS = "1" DEPENDS = "nativesdk-mingw-w64-headers virtual/${TARGET_PREFIX}gcc " @@ -19,9 +19,11 @@ PROVIDES += "virtual/nativesdk-libintl" TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}" +EXTRA_OECONF:x86-64 = "--disable-lib32" + do_configure() { oe_runconf } -FILES_${PN} += "${exec_prefix}/libsrc" +FILES:${PN} += "${exec_prefix}/libsrc" diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_7.0.0.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_9.0.0.bb index e694e5b..fb7e54e 100644 --- a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_7.0.0.bb +++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_9.0.0.bb @@ -16,7 +16,7 @@ do_configure() { TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}" -do_install_append() { +do_install:append() { # headers are already installed by mingw-w64-headers rm -rf ${D}${includedir} } diff --git a/recipes-devtools/ninja/ninja_%.bbappend b/recipes-devtools/ninja/ninja_%.bbappend new file mode 100644 index 0000000..8860e32 --- /dev/null +++ b/recipes-devtools/ninja/ninja_%.bbappend @@ -0,0 +1,8 @@ +do_compile:mingw32() { + python3 ./configure.py --platform mingw + ninja +} + +do_install:mingw32() { + install -D -m 0755 ${S}/ninja.exe ${D}${bindir}/ninja.exe +} diff --git a/recipes-devtools/swig/swig_%.bbappend b/recipes-devtools/swig/swig_%.bbappend index de40609..e5ce7e7 100644 --- a/recipes-devtools/swig/swig_%.bbappend +++ b/recipes-devtools/swig/swig_%.bbappend @@ -1,6 +1,6 @@ # A wrapper script won't work to set SWIG_LIB for a mingw SDK. Instead, add an # environment setup batch file to set SWIG_LIB when the SDK is configured. -do_install_append_class-nativesdk_mingw32() { +do_install:append:class-nativesdk:mingw32() { install -d ${D}${SDKPATHNATIVE}/environment-setup.d cat <<HEREDOC > ${D}${SDKPATHNATIVE}/environment-setup.d/swig.bat @@ -8,5 +8,5 @@ set SWIG_LIB=%OECORE_NATIVE_SYSROOT%\\usr\\share\\${BPN}\\${PV} HEREDOC } -FILES_${PN}_append_class-nativesdk_mingw32 = " ${SDKPATHNATIVE}/environment-setup.d" +FILES:${PN}:append:class-nativesdk:mingw32 = " ${SDKPATHNATIVE}/environment-setup.d" diff --git a/recipes-extended/diffutils/diffutils_%.bbappend b/recipes-extended/diffutils/diffutils_%.bbappend index 2c54a55..8b54cb0 100644 --- a/recipes-extended/diffutils/diffutils_%.bbappend +++ b/recipes-extended/diffutils/diffutils_%.bbappend @@ -1,9 +1,9 @@ -FILESEXTRAPATHS_prepend_mingw32 := "${THISDIR}/${BPN}:" +FILESEXTRAPATHS:prepend:mingw32 := "${THISDIR}/${BPN}:" # Add some definitions for POSIX signals.. -CFLAGS_append_mingw32 = " -DSIGALRM=14 -DSIGHUP=1 -DSIGQUIT=3 -DSIGPIPE=13 -DSIGTSTP=18 -DSIGSTOP=17 " +CFLAGS:append:mingw32 = " -DSIGALRM=14 -DSIGHUP=1 -DSIGQUIT=3 -DSIGPIPE=13 -DSIGTSTP=18 -DSIGSTOP=17 " -do_configure_prepend_mingw32 () { +do_configure:prepend:mingw32 () { # Remove building of "man" and "gnulib-tests". The tests don't # cross-compile for mingw, but we aren't using them anyway sed -i \ diff --git a/recipes-extended/libarchive/libarchive_%.bbappend b/recipes-extended/libarchive/libarchive_%.bbappend index a411b40..228e85b 100644 --- a/recipes-extended/libarchive/libarchive_%.bbappend +++ b/recipes-extended/libarchive/libarchive_%.bbappend @@ -1 +1 @@ -EXTRA_OECONF_append_mingw32 = " --without-cng" +EXTRA_OECONF:append:mingw32 = " --without-cng" diff --git a/recipes-extended/libidn/libidn2_%.bbappend b/recipes-extended/libidn/libidn2_%.bbappend new file mode 100644 index 0000000..51d0459 --- /dev/null +++ b/recipes-extended/libidn/libidn2_%.bbappend @@ -0,0 +1 @@ +FILES:${PN}-dev:append:mingw32 = " ${libdir}/*.def" diff --git a/recipes-extended/zstd/zstd_%.bbappend b/recipes-extended/zstd/zstd_%.bbappend new file mode 100644 index 0000000..11a2d4e --- /dev/null +++ b/recipes-extended/zstd/zstd_%.bbappend @@ -0,0 +1,2 @@ +EXTRA_OEMAKE:append:mingw32 = " OS=Windows" +FILES:${PN}:append:mingw32 = " ${libdir}/*.dll" diff --git a/recipes-graphics/libsdl2/libsdl2_%.bbappend b/recipes-graphics/libsdl2/libsdl2_%.bbappend index 92fa41c..4f9cde1 100644 --- a/recipes-graphics/libsdl2/libsdl2_%.bbappend +++ b/recipes-graphics/libsdl2/libsdl2_%.bbappend @@ -1,7 +1,7 @@ # Need to disable X11 explictly as nativesdk-libxdmcp fails: # .libs/Fill.o:Fill.c:(.text+0x48): undefined reference to `_imp__recvfrom@24' # .libs/Flush.o:Flush.c:(.text+0x36): undefined reference to `_imp__sendto@24' -PACKAGECONFIG_remove_mingw32_class-nativesdk = "x11 opengl" +PACKAGECONFIG:remove:mingw32:class-nativesdk = "x11 opengl gles2" # libtool doesn't think it can link windres output (COFF) with libtool objects # (COFF) , but it can. This might be because file misidentifies version.o: @@ -10,4 +10,4 @@ PACKAGECONFIG_remove_mingw32_class-nativesdk = "x11 opengl" # # Telling libtool to be dumb and just pass the input to the underlying tools # works fine. -EXTRA_OECONF_append_mingw32 = " lt_cv_deplibs_check_method=pass_all" +EXTRA_OECONF:append:mingw32 = " lt_cv_deplibs_check_method=pass_all" diff --git a/recipes-graphics/wayland/wayland_%.bbappend b/recipes-graphics/wayland/wayland_%.bbappend index bd42595..e4792b9 100644 --- a/recipes-graphics/wayland/wayland_%.bbappend +++ b/recipes-graphics/wayland/wayland_%.bbappend @@ -1,7 +1,6 @@ # The assembly file that encodes the DTD string into wayland-scanner is not # compatible with i686 MinGW -PACKAGECONFIG_remove_mingw32_i686 = "dtd-validation" +PACKAGECONFIG:remove:mingw32:i686 = "dtd-validation" -EXTRA_OECONF_class-nativesdk_mingw32 = "--disable-documentation --disable-libraries" -EXTRA_OEMESON_class-nativesdk_mingw32 = "-Ddocumentation=false -Dlibraries=false" +EXTRA_OEMESON:class-nativesdk:mingw32 = "-Ddocumentation=false -Dlibraries=false -Dtests=false" diff --git a/recipes-support/curl/curl_%.bbappend b/recipes-support/curl/curl_%.bbappend index 7865b46..a55c126 100644 --- a/recipes-support/curl/curl_%.bbappend +++ b/recipes-support/curl/curl_%.bbappend @@ -1,2 +1,3 @@ -PACKAGECONFIG_remove_class-nativesdk_mingw32 = "ssl" -RRECOMMENDS_lib${BPN}_remove_mingw32 = "ca-certificates" +PACKAGECONFIG:remove:class-nativesdk:mingw32 = "openssl" +EXTRA_OECONF:append:class-nativesdk:mingw32 = " --without-ssl" +RRECOMMENDS:lib${BPN}:remove:mingw32 = "ca-certificates" diff --git a/recipes-support/libgcrypt/files/configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch b/recipes-support/libgcrypt/files/configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch deleted file mode 100644 index b7b407a..0000000 --- a/recipes-support/libgcrypt/files/configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch +++ /dev/null @@ -1,46 +0,0 @@ -From bb6f9e18b5ccef26978f3f3ed2fe7bf3d4d498e7 Mon Sep 17 00:00:00 2001 -From: Nathan Rossi <nathan@nathanrossi.com> -Date: Fri, 30 Dec 2016 18:02:26 +1000 -Subject: [PATCH] configure.ac: Set 'mym4_revision' to 0 if not a git repo - ---- -It is possible for the source to not be located in a git repository -(e.g. source is from a tarball). In which case the git repository -information is not available. This results in the mym4_revision being an -empty string however this value is used in BUILD_FILEVERSION where it is -assumed to be 4 decimal values. Additionally BUILD_REVISION uses this -value and is also assumed to be non-empty. - -In the case of BUILD_FILEVERSION it is used in versioninfo.rc.in, where -it must be populated as 4 decimal values due to the expected syntax. In -cases where it is not (e.g. when BUILD_FILEVERSION = '1,7,5,' a syntax -error is raised. - - windres: versioninfo.rc.in:21: syntax error - -This patch changes mym4_revision so that if the 'git rev-parse' returns -non-zero (e.g. not in a git repository) the value falls back to '0'. -This propagates as '0' to both BUILD_FILEVERSION and BUILD_REVISION. - -Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> -Upstream-Status: Submitted ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 31c0d553fa..a3deffa6e9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -39,7 +39,7 @@ m4_define(mym4_version_micro, [0]) - m4_define(mym4_version, - [mym4_version_major.mym4_version_minor.mym4_version_micro]) - m4_define([mym4_revision], -- m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r'])) -+ m4_esyscmd([(git rev-parse --short HEAD || printf '0') | tr -d '\n\r'])) - m4_define([mym4_revision_dec], - m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))])) - m4_define([mym4_betastring], --- -2.11.0 - diff --git a/recipes-support/libgcrypt/libgcrypt_%.bbappend b/recipes-support/libgcrypt/libgcrypt_%.bbappend index 50dca09..76c405a 100644 --- a/recipes-support/libgcrypt/libgcrypt_%.bbappend +++ b/recipes-support/libgcrypt/libgcrypt_%.bbappend @@ -1,11 +1,11 @@ # libcap does not support mingw32 -PACKAGECONFIG_remove_mingw32 = "capabilities" +PACKAGECONFIG:remove:mingw32 = "capabilities" -FILES_${PN}-dev_append_mingw32 = " \ +FILES:${PN}-dev:append:mingw32 = " \ ${libdir}/*.def \ ${bindir}/hmac256.exe \ ${bindir}/mpicalc.exe \ " -FILES_dumpsexp-dev_append_mingw32 = " ${bindir}/dumpsexp.exe" +FILES:dumpsexp-dev:append:mingw32 = " ${bindir}/dumpsexp.exe" diff --git a/recipes-support/libgcrypt/libgcrypt_1.8.%.bbappend b/recipes-support/libgcrypt/libgcrypt_1.8.%.bbappend deleted file mode 100644 index 3da0f53..0000000 --- a/recipes-support/libgcrypt/libgcrypt_1.8.%.bbappend +++ /dev/null @@ -1,6 +0,0 @@ - -FILESEXTRAPATHS_prepend_mingw32 := "${THISDIR}/files:" -SRC_URI_append_mingw32 = " \ - file://configure.ac-Set-mym4_revision-to-0-if-not-a-git-rep.patch \ - " - diff --git a/recipes-support/libgpg-error/libgpg-error_%.bbappend b/recipes-support/libgpg-error/libgpg-error_%.bbappend index 8fcfa78..1e8db69 100644 --- a/recipes-support/libgpg-error/libgpg-error_%.bbappend +++ b/recipes-support/libgpg-error/libgpg-error_%.bbappend @@ -1,3 +1,3 @@ -FILES_${PN}-dev_append_mingw32 = " ${bindir}/gpg-error.exe" +FILES:${PN}-dev:append:mingw32 = " ${bindir}/gpg-error.exe" diff --git a/recipes-support/libiconv/libiconv_1.15.bb b/recipes-support/libiconv/libiconv_1.15.bb index e3eacd9..b58abb4 100644 --- a/recipes-support/libiconv/libiconv_1.15.bb +++ b/recipes-support/libiconv/libiconv_1.15.bb @@ -6,7 +6,7 @@ SECTION = "libs" NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" PROVIDES = "virtual/libiconv" PR = "r1" -LICENSE = "LGPLv3" +LICENSE = "LGPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ file://libcharset/COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" @@ -30,17 +30,17 @@ EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable" LEAD_SONAME = "libiconv.so" -do_configure_prepend () { +do_configure:prepend () { rm -f ${S}/m4/libtool.m4 ${S}/m4/ltoptions.m4 ${S}/m4/ltsugar.m4 ${S}/m4/ltversion.m4 ${S}/m4/lt~obsolete.m4 ${S}/libcharset/m4/libtool.m4 ${S}/libcharset/m4/ltoptions.m4 ${S}/libcharset/m4/ltsugar.m4 ${S}/libcharset/m4/ltversion.m4 ${S}/libcharset/m4/lt~obsolete.m4 } -do_configure_append () { +do_configure:append () { # forcibly remove RPATH from libtool sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' *libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=_NO_RPATH_|g' *libtool } -do_install_append () { +do_install:append () { rm -rf ${D}${libdir}/preloadable_libiconv.so rm -rf ${D}${libdir}/charset.alias } diff --git a/recipes-support/libmpc/libmpc_%.bbappend b/recipes-support/libmpc/libmpc_%.bbappend index 0d289df..b04b4e5 100644 --- a/recipes-support/libmpc/libmpc_%.bbappend +++ b/recipes-support/libmpc/libmpc_%.bbappend @@ -1 +1 @@ -EXTRA_OECONF_append_mingw32 = "--enable-static --disable-shared"
\ No newline at end of file +EXTRA_OECONF:append:mingw32 = " --enable-static --disable-shared" diff --git a/recipes-support/libpcre/libpcre_%.bbappend b/recipes-support/libpcre/libpcre_%.bbappend index b154f8d..ea72d11 100644 --- a/recipes-support/libpcre/libpcre_%.bbappend +++ b/recipes-support/libpcre/libpcre_%.bbappend @@ -1,6 +1,6 @@ -FILES_libpcrecpp_mingw32 = "${bindir}/libpcrecpp*.dll" -FILES_libpcreposix_mingw32 = "${bindir}/libpcreposix*.dll" -FILES_pcregrep_mingw32 = "${bindir}/pcregrep.exe" -FILES_pcretest_mingw32 = "${bindir}/pcretest.exe" +FILES:libpcrecpp:mingw32 = "${bindir}/libpcrecpp*.dll" +FILES:libpcreposix:mingw32 = "${bindir}/libpcreposix*.dll" +FILES:pcregrep:mingw32 = "${bindir}/pcregrep.exe" +FILES:pcretest:mingw32 = "${bindir}/pcretest.exe" diff --git a/recipes-support/mingw-libgnurx/mingw-libgnurx/0001-Honor-DESTDIR-variable-during-install.patch b/recipes-support/mingw-libgnurx/mingw-libgnurx/0001-Honor-DESTDIR-variable-during-install.patch new file mode 100644 index 0000000..ea8d9ed --- /dev/null +++ b/recipes-support/mingw-libgnurx/mingw-libgnurx/0001-Honor-DESTDIR-variable-during-install.patch @@ -0,0 +1,39 @@ +From a9b7e07a8ba9c390d9774daae769748a09d409ce Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 1 May 2021 14:41:21 -0700 +Subject: [PATCH] Honor DESTDIR variable during install + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.in | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 6397bf1..8395d2f 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -78,16 +78,16 @@ gnurx.lib: libgnurx-$(DLLVERSION).dll + install: install-dll @install_dev@ + + install-dll: +- mkdir -p ${bindir} +- cp -p $(BINDIST_FILES) ${bindir} ++ mkdir -p $(DESTDIR)${bindir} ++ cp -p $(BINDIST_FILES) $(DESTDIR)${bindir} + + install-dev: +- mkdir -p ${includedir} ${libdir} +- cp -p ${srcdir}/regex.h ${includedir} +- cp -p $(DEVDIST_FILES) ${libdir} ++ mkdir -p ${includedir} $(DESTDIR)${libdir} ++ cp -p ${srcdir}/regex.h $(DESTDIR)${includedir} ++ cp -p $(DEVDIST_FILES) $(DESTDIR)${libdir} + for s in 3 7; do \ +- mkdir -p ${mandir}/man$$s; \ +- gzip -c ${srcdir}/regex.$$s > ${mandir}/man$$s/regex.$$s.gz; \ ++ mkdir -p $(DESTDIR)${mandir}/man$$s; \ ++ gzip -c ${srcdir}/regex.$$s > $(DESTDIR)${mandir}/man$$s/regex.$$s.gz; \ + done + + dist: bindist devdist srcdist diff --git a/recipes-support/mingw-libgnurx/mingw-libgnurx/0002-Add-autotool-files.patch b/recipes-support/mingw-libgnurx/mingw-libgnurx/0002-Add-autotool-files.patch new file mode 100644 index 0000000..1365f24 --- /dev/null +++ b/recipes-support/mingw-libgnurx/mingw-libgnurx/0002-Add-autotool-files.patch @@ -0,0 +1,125 @@ +From 0b74bbc32c4acf5b67d7568a5d1e776fe6578202 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 1 May 2021 14:53:09 -0700 +Subject: [PATCH] Add autotool files + +This helps in reconfiguring the component with autotools on Linux + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.am | 7 ++++ + configure.ac | 90 ++++++---------------------------------------------- + 2 files changed, 16 insertions(+), 81 deletions(-) + create mode 100644 Makefile.am + +diff --git a/Makefile.am b/Makefile.am +new file mode 100644 +index 0000000..be0a797 +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,7 @@ ++lib_LTLIBRARIES = libgnurx.la ++ ++libgnurx_la_SOURCES = regex.c ++libgnurx_la_includedir = $(includedir) ++libgnurx_la_include_HEADERS = regex.h ++libgnurx_la_CFLAGS = -I$(top_srcdir) ++libgnurx_la_LDFLAGS = -no-undefined -version-info 0:0:0 -export-dynamic +diff --git a/configure.ac b/configure.ac +index c97738d..de64f75 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,83 +1,11 @@ + # configure.ac -*- Autoconf -*- + # Process this file with autoconf, to generate a configure script. +-# +-# $Id: configure.ac,v 1.2 2007/05/03 22:46:09 keithmarshall Exp $ +-# +-# Copyright (C) 2007, MinGW Project +-# Written by Keith Marshall <keithmarshall@users.sourceforge.net> +-# +-# Package identification. +-# +-# This is configure.ac for the MinGW `libgnurx' package. +-# BASENAME, VERSION_MAJOR and VERSION_MINOR are required tags; +-# complete `Value' fields as appropriate. +-# +-# Tag Value +-# --------------- ---------- +- MINGW_AC_DEFINE_PACKAGE_ID([BASENAME], [libgnurx]) +- MINGW_AC_DEFINE_PACKAGE_ID([VERSION_MAJOR], [2]) +- MINGW_AC_DEFINE_PACKAGE_ID([VERSION_MINOR], [5]) +-# +-# PATCHLEVEL is optional; comment/uncomment and adjust as required. +-# +- MINGW_AC_DEFINE_PACKAGE_ID([PATCHLEVEL], [1]) +-# +-# DLL_VERSION is required; installed DLLs will be versioned, by +-# appending a hyphen, the specified tag value, and then the `.dll' +-# file name extension, to the base name of each generated DLL. +-# +- MINGW_AC_DEFINE_PACKAGE_ID([DLL_VERSION], [0]) +-# +-# +-# libgnurx is an adaptation of Tor Lillqvist's original port of the +-# regex functions from GNU libc, for use on native Woe32 platforms. +-# +-# The original sources, on which this port is based, remain copyright +-# of their respective authors, or of the Free Software Foundation Inc., +-# as indicated in individual file headers; all are redistributed with +-# permission, as granted by the GNU Lesser General Public License. +-# +-# This is free software. It is provided AS IS, in the hope that it may +-# be useful, but WITHOUT WARRANTY OF ANY KIND, not even an IMPLIED WARRANTY +-# of MERCHANTABILITY, nor of FITNESS FOR ANY PARTICULAR PURPOSE. +-# +-# Permission is granted to redistribute this software, either "as is" or +-# in modified form, under the terms of the GNU Lesser General Public License, +-# as published by the Free Software Foundation; either version 2.1, or (at +-# your option) any later version. +-# +-# You should have received a copy of the GNU Lesser General Public License +-# along with this software; see the file COPYING.LIB. If not, write to the +-# Free Software Foundation, 51 Franklin St - Fifth Floor, Boston, +-# MA 02110-1301, USA. +- +-# Autoconf initialisation. +-# +- AC_PREREQ([2.59]) +- AC_INIT(__MINGW_AC_PACKAGE_IDENTIFICATION__) +- +-# Compiler and build tool checks. +-# +- AC_PROG_CC +- MINGW_AC_PROG_CC_OPTIONS([CC_QUALIFIED], [-m], [threads tune=pentium3]) +- +-# Set the release version for the resultant DLL. +-# +- AC_SUBST([DLLVERSION], [__MINGW_AC_PACKAGE_DLL_VERSION__]) +- +-# User configuration options. +-# +- MINGW_AC_DISTRIBUTION_TYPE([tar]) +- MINGW_AC_MSVC_IMPORT_LIBS([GNURX_LIB], [gnurx.lib]) +- MINGW_AC_DEV_INSTALL_OPTION +- +-# Configuration output. +-# +- AC_SUBST([GNURX_LIB]) +- AC_SUBST([CC_QUALIFIED], ["$CC $CC_QUALIFIED"]) +- LDFLAGS="$LDFLAGS -Wl,--enable-auto-image-base -Wl,--out-implib,libgnurx.dll.a" +- test -n "${GNURX_LIB}" && LDFLAGS="$LDFLAGS -Wl,--output-def,libgnurx.def" +- AC_CONFIG_FILES([Makefile]) +- AC_OUTPUT +-# +-# $RCSfile: configure.ac,v $Revision: 1.2 $: end of file ++ ++AC_INIT(libgnurx, 2.5.1) ++AM_INIT_AUTOMAKE(foreign) ++AC_PROG_INSTALL ++AC_LIBTOOL_DLOPEN ++AC_LIBTOOL_WIN32_DLL ++AC_PROG_LIBTOOL ++ ++AC_OUTPUT([Makefile]) diff --git a/recipes-support/mingw-libgnurx/mingw-libgnurx_2.5.1.bb b/recipes-support/mingw-libgnurx/mingw-libgnurx_2.5.1.bb new file mode 100644 index 0000000..4547298 --- /dev/null +++ b/recipes-support/mingw-libgnurx/mingw-libgnurx_2.5.1.bb @@ -0,0 +1,17 @@ +# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" + +SRC_URI = "http://download.sourceforge.net/mingw/Other/UserContributed/regex/mingw-regex-${PV}/mingw-libgnurx-${PV}-src.tar.gz \ + file://0001-Honor-DESTDIR-variable-during-install.patch \ + file://0002-Add-autotool-files.patch \ + " +SRC_URI[sha256sum] = "7147b7f806ec3d007843b38e19f42a5b7c65894a57ffc297a76b0dcd5f675d76" + +inherit autotools + +# Specify any options you want to pass to the configure script using EXTRA_OECONF: +EXTRA_OECONF = "" + +BBCLASSEXTEND = "nativesdk" diff --git a/recipes-support/mpfr/mpfr_4.1.%.bbappend b/recipes-support/mpfr/mpfr_4.1.%.bbappend deleted file mode 100644 index 4252e8d..0000000 --- a/recipes-support/mpfr/mpfr_4.1.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -EXTRA_OECONF_append_mingw32 = " --disable-shared"
\ No newline at end of file diff --git a/recipes-support/mpfr/mpfr_4.2.%.bbappend b/recipes-support/mpfr/mpfr_4.2.%.bbappend new file mode 100644 index 0000000..63eb066 --- /dev/null +++ b/recipes-support/mpfr/mpfr_4.2.%.bbappend @@ -0,0 +1 @@ +EXTRA_OECONF:append:mingw32 = " --disable-shared"
\ No newline at end of file |