From 20d150a3b4d58e4c7b31f8020f95e75827125337 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Wed, 12 Jul 2023 12:41:23 +0530 Subject: [PATCH] libpsl.wrap: Fix MSYS2 build failure Also switch from git repo to tarball. https://github.com/rockdaboot/libpsl/pull/211 Part-of: --- subprojects/libpsl.wrap | 12 ++-- ...se-paths-with-backslashes-in-defines.patch | 55 +++++++++++++++++++ 2 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 subprojects/packagefiles/libpsl-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch diff --git a/subprojects/libpsl.wrap b/subprojects/libpsl.wrap index 99bcf3eb46d..4538483984d 100644 --- a/subprojects/libpsl.wrap +++ b/subprojects/libpsl.wrap @@ -1,6 +1,6 @@ -[wrap-git] -directory=libpsl -url=https://github.com/rockdaboot/libpsl.git -revision=0.21.2 -clone-recursive=true -diff_files = libpsl-0.21.2/0001-tools-psl.c-Fix-build-on-Windows.patch, libpsl-0.21.2/0002-tools-psl.c-Fix-logic-fallout-and-warning.patch \ No newline at end of file +[wrap-file] +directory = libpsl-0.21.2 +source_url = https://github.com/rockdaboot/libpsl/releases/download/0.21.2/libpsl-0.21.2.tar.gz +source_filename = libpsl-0.21.2.tar.gz +source_hash = e35991b6e17001afa2c0ca3b10c357650602b92596209b7492802f3768a6285f +diff_files = libpsl-0.21.2/0001-tools-psl.c-Fix-build-on-Windows.patch, libpsl-0.21.2/0002-tools-psl.c-Fix-logic-fallout-and-warning.patch, libps-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch diff --git a/subprojects/packagefiles/libpsl-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch b/subprojects/packagefiles/libpsl-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch new file mode 100644 index 00000000000..3252a4efc50 --- /dev/null +++ b/subprojects/packagefiles/libpsl-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch @@ -0,0 +1,55 @@ +From 1a683724fab377d47f85ffb98d93d8b650a1cbec Mon Sep 17 00:00:00 2001 +From: Nirbheek Chauhan +Date: Thu, 13 Jul 2023 00:24:30 +0530 +Subject: [PATCH] meson: Don't use paths with backslashes in defines + +Breaks the build on MSYS2 when building inside a directory with +a component starting with `U`, like `C:\Users`: + +``` +FAILED: tests/test-is-public-all.exe.p/test-is-public-all.c.obj +"cc" "-Itests\test-is-public-all.exe.p" "-Itests" "-I..\tests" "-I." "-I.." "-Iinclude" "-I..\include" "-fdiagnostics-color=always" "-D_FILE_OFFSET_BITS=64" "-Wall" "-Winvalid-pch" "-O0" "-g" "-DHAVE_CONFIG_H" "-DSRCDIR=\"C:\\Users\\nirbheek\\tmp\\gstreamer\\subprojects\\libpsl\\tests\"" "-DPSL_FILE=\"C:/Users/nirbheek/tmp/gstreamer/subprojects/libpsl/list/public_suffix_list.dat\"" "-DPSL_TESTFILE=\"C:/Users/nirbheek/tmp/gstreamer/subprojects/libpsl/list/tests/tests.txt\"" "-DPSL_DAFSA=\"C:\\Users\\nirbheek\\tmp\\gstreamer\\subprojects\\libpsl\\builddir\\tests\\psl.dafsa\"" "-DPSL_ASCII_DAFSA=\"C:\\Users\\nirbheek\\tmp\\gstreamer\\subprojects\\libpsl\\builddir\\tests\\psl_ascii.dafsa\"" -MD -MQ tests/test-is-public-all.exe.p/test-is-public-all.c.obj -MF "tests\test-is-public-all.exe.p\test-is-public-all.c.obj.d" -o tests/test-is-public-all.exe.p/test-is-public-all.c.obj "-c" ../tests/test-is-public-all.c +../tests/test-is-public-all.c: In function 'test_psl': +../tests/test-is-public-all.c:149:45: error: incomplete universal character name \U + 149 | if (!(psl3 = psl_load_file(PSL_DAFSA))) { + | ^ +../tests/test-is-public-all.c:149:45: warning: unknown escape sequence: '\g' +../tests/test-is-public-all.c:149:45: warning: unknown escape sequence: '\s' +../tests/test-is-public-all.c:149:45: warning: unknown escape sequence: '\l' +../tests/test-is-public-all.c:149:45: warning: unknown escape sequence: '\p' +../tests/test-is-public-all.c:154:51: error: incomplete universal character name \U + 154 | if (!(psl4 = psl_load_file(PSL_ASCII_DAFSA))) { + | ^ +../tests/test-is-public-all.c:154:51: warning: unknown escape sequence: '\g' +../tests/test-is-public-all.c:154:51: warning: unknown escape sequence: '\s' +../tests/test-is-public-all.c:154:51: warning: unknown escape sequence: '\l' +../tests/test-is-public-all.c:154:51: warning: unknown escape sequence: '\p' +``` +--- + tests/meson.build | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index c2381af..d8c266d 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -10,13 +10,14 @@ psl_ascii_dafsa = custom_target('psl_ascii.dafsa', + build_by_default: false, + command : [python, psl_make_dafsa, '--output-format=binary', '--encoding=ascii', '@INPUT@', '@OUTPUT@']) + ++fsmod = import('fs') + tests_cargs = [ + '-DHAVE_CONFIG_H', + '-DSRCDIR="@0@"'.format(meson.current_source_dir()), + '-DPSL_FILE="@0@"'.format(psl_file), + '-DPSL_TESTFILE="@0@"'.format(psl_test_file), +- '-DPSL_DAFSA="@0@"'.format(psl_dafsa.full_path()), +- '-DPSL_ASCII_DAFSA="@0@"'.format(psl_ascii_dafsa.full_path()), ++ '-DPSL_DAFSA="@0@"'.format(fsmod.as_posix(psl_dafsa.full_path())), ++ '-DPSL_ASCII_DAFSA="@0@"'.format(fsmod.as_posix(psl_ascii_dafsa.full_path())), + ] + + tests = [ +-- +2.41.0.windows.2 +