From cf647b69fbeec000663bd9b55047e7c2d69217f8 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 25 Aug 2024 10:42:20 +0200 Subject: [PATCH] package/norm: fix build issue with waf >= 2.1.0 To fix build issues with modern Python versions, commit 8012a86f5cf751f9c4d5d4a63f6502a6ac60d13a ("package/norm: use external waf") switched the norm package from using its internal waf copy to using our external waf package. Then, in fd5623150dcc23441c4f0bd586378daeb91d66ea ("package/waf: bump to v2.1.1"), we updated out external waf to a newer version, which breaks the API around ArgParse, see upstream commit: https://gitlab.com/ita1024/waf/-/commit/bd5c22d484734f7c1b77e16c91a10c7a44fa6c8a: This causes breakage when building the norm package. Fabrice had already submitted patches upstream, to both the "protolib" project (which is used as a submodule in norm) and to the "norm" project. These pull requests are still pending, but let's backport the patches that seem reasonable and that fix the build issue. Fixes: http://autobuild.buildroot.net/results/f005d513434d42d26e601096b94b4070586118b2/ Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- ...lib-wscript-fix-build-with-waf-2.1.0.patch | 53 +++++++++++++++++++ ...005-wscript-fix-build-with-waf-2.1.0.patch | 35 ++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 package/norm/0004-protolib-wscript-fix-build-with-waf-2.1.0.patch create mode 100644 package/norm/0005-wscript-fix-build-with-waf-2.1.0.patch diff --git a/package/norm/0004-protolib-wscript-fix-build-with-waf-2.1.0.patch b/package/norm/0004-protolib-wscript-fix-build-with-waf-2.1.0.patch new file mode 100644 index 0000000000..827a607fb0 --- /dev/null +++ b/package/norm/0004-protolib-wscript-fix-build-with-waf-2.1.0.patch @@ -0,0 +1,53 @@ +From c35a9dc031cda1406eff7de1f199ad55949b17c6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 24 Aug 2024 21:28:16 +0200 +Subject: [PATCH] protolib/wscript: fix build with waf >= 2.1.0 + +Replace add_option_group by add_argument_group and add_option by +add_argument to avoid the following build failure with waf 2.1.0 and +https://gitlab.com/ita1024/waf/-/commit/bd5c22d484734f7c1b77e16c91a10c7a44fa6c8a: + + File "/home/autobuild/autobuild/instance-21/output-1/build/norm-1.5.8/protolib/wscript", line 37, in options + bind_opts = ctx.parser.add_option_group('Language Bindings', 'Use during configure step.') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/USNavalResearchLaboratory/protolib/pull/47 +Signed-off-by: Thomas Petazzoni +--- + protolib/wscript | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/protolib/wscript b/protolib/wscript +index 97dda93..97f65f6 100644 +--- a/protolib/wscript ++++ b/protolib/wscript +@@ -34,18 +34,18 @@ def options(ctx): + ctx.load('python') + ctx.load('java') + +- bind_opts = ctx.parser.add_option_group('Language Bindings', 'Use during configure step.') +- bind_opts.add_option('--build-python', action='store_true', ++ bind_opts = ctx.parser.add_argument_group('Language Bindings', 'Use during configure step.') ++ bind_opts.add_argument('--build-python', action='store_true', + help='Build Python bindings [default:false]') +- bind_opts.add_option('--build-java', action='store_true', ++ bind_opts.add_argument('--build-java', action='store_true', + help='Build Java bindings [default:false]') + +- build_opts = ctx.parser.add_option_group('Compile Options', 'Use during build step.') +- build_opts.add_option('--debug', action='store_true', ++ build_opts = ctx.parser.add_argument_group('Compile Options', 'Use during build step.') ++ build_opts.add_argument('--debug', action='store_true', + help='Build in debug mode [default:release]') +- build_opts.add_option('--enable-wx', action='store_true', ++ build_opts.add_argument('--enable-wx', action='store_true', + help='Enable checking for wxWidgets.') +- build_opts.add_option('--enable-static-library', action='store_true', ++ build_opts.add_argument('--enable-static-library', action='store_true', + help='Enable installing static library. [default:false]') + + def configure(ctx): +-- +2.46.0 + diff --git a/package/norm/0005-wscript-fix-build-with-waf-2.1.0.patch b/package/norm/0005-wscript-fix-build-with-waf-2.1.0.patch new file mode 100644 index 0000000000..7260beefc2 --- /dev/null +++ b/package/norm/0005-wscript-fix-build-with-waf-2.1.0.patch @@ -0,0 +1,35 @@ +From 9f7a9b72ff5a7313793bba86962f9677970c9b4c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 27 Jul 2024 20:41:45 +0200 +Subject: [PATCH] wscript: fix build with waf >= 2.1.0 + +Replace add_option_group by add_argument_group to a build failure with +waf 2.1.0 and +https://gitlab.com/ita1024/waf/-/commit/bd5c22d484734f7c1b77e16c91a10c7a44fa6c8a: + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/USNavalResearchLaboratory/norm/pull/86 +[Thomas: small change needed to backport on version 1.5.8] +Signed-off-by: Thomas Petazzoni +--- + wscript | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/wscript b/wscript +index 0fdae96..6a8c22a 100644 +--- a/wscript ++++ b/wscript +@@ -47,8 +47,8 @@ system = platform.system().lower() + + def options(ctx): + ctx.recurse('protolib') +- build_opts = ctx.parser.add_option_group('Compile/install Options', 'Use during build/install step.') +- build_opts.add_option('--enable-static-library', action='store_true', ++ build_opts = ctx.parser.add_argument_group('Compile/install Options', 'Use during build/install step.') ++ build_opts.add_argument('--enable-static-library', action='store_true', + help='Enable building and installing static library. [default:false]') + + +-- +2.46.0 +