libpsl.wrap: Fix MSYS2 build failure
authorNirbheek Chauhan <nirbheek@centricular.com>
Wed, 12 Jul 2023 07:11:23 +0000 (12:41 +0530)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 24 Jul 2023 14:39:07 +0000 (15:39 +0100)
Also switch from git repo to tarball.

https://github.com/rockdaboot/libpsl/pull/211

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4890>

subprojects/libpsl.wrap
subprojects/packagefiles/libpsl-0.21.2/0001-meson-Don-t-use-paths-with-backslashes-in-defines.patch [new file with mode: 0644]

index 99bcf3eb46d62d3887e71f4ce208a288e8a1550b..4538483984d474973e79eb1365a30aefdf0a3b2c 100644 (file)
@@ -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 (file)
index 0000000..3252a4e
--- /dev/null
@@ -0,0 +1,55 @@
+From 1a683724fab377d47f85ffb98d93d8b650a1cbec Mon Sep 17 00:00:00 2001
+From: Nirbheek Chauhan <nirbheek@centricular.com>
+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
+