From ff1cfd614f723e51fbf8120e375d54d72c6acba1 Mon Sep 17 00:00:00 2001 From: Catalin Patulea Date: Sat, 13 Jan 2024 21:26:04 +0200 Subject: [PATCH 1/8] freetype: disable brotli. *** Error during phase configure of fontconfig: ########## Error running /Users/runner/gtk/source/fontconfig-2.14.2/configure --prefix /Users/runner/gtk/inst --disable-docs --with-default-fonts=/System/Library/Fonts --with-add-fonts=/Library/Fonts --with-cache-dir=home *** [20/137] checking for FREETYPE... no configure: error: Package requirements (freetype2 >= 21.0.15) were not met: Package 'libbrotlidec', required by 'freetype2', not found --- modulesets-stable/gtk-osx.modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modulesets-stable/gtk-osx.modules b/modulesets-stable/gtk-osx.modules index 9617293a..136735c0 100644 --- a/modulesets-stable/gtk-osx.modules +++ b/modulesets-stable/gtk-osx.modules @@ -164,7 +164,7 @@ + cmakeargs="-DFT_DISABLE_BROTLI=ON -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release"> Date: Sat, 27 Jan 2024 11:25:18 +0000 Subject: [PATCH 2/8] dnspython: fix build due to missing setup.py. Looks like PyPi tarball doesn't have setup.py, which jhbuild needs. Add it back using a patch. https://github.com/Xpra-org/xpra/issues/4017#issuecomment-1890914435 --- patches/dnspython-setup-py.patch | 62 ++++++++++++++++++++++++++++++++ xpra-python3.modules | 4 ++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 patches/dnspython-setup-py.patch diff --git a/patches/dnspython-setup-py.patch b/patches/dnspython-setup-py.patch new file mode 100644 index 00000000..14af1fda --- /dev/null +++ b/patches/dnspython-setup-py.patch @@ -0,0 +1,62 @@ +commit 16e7070b64e4fe20d87c12ee806eb9201daba29d +Author: Catalin Patulea +Date: Sat Jan 27 11:22:24 2024 +0000 + + Revert "Delete setup.py." + + This reverts commit c9bb83f85c340aff02b87746a665375927cede2c. + +diff --git a/setup.py b/setup.py +new file mode 100755 +index 0000000..cbbbecb +--- /dev/null ++++ b/setup.py +@@ -0,0 +1,48 @@ ++#!/usr/bin/env python3 ++# ++# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license ++# ++# Copyright (C) 2003-2007, 2009-2011 Nominum, Inc. ++# ++# Permission to use, copy, modify, and distribute this software and its ++# documentation for any purpose with or without fee is hereby granted, ++# provided that the above copyright notice and this permission notice ++# appear in all copies. ++# ++# THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES ++# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR ++# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT ++# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ ++import sys ++ ++from setuptools import setup ++ ++try: ++ sys.argv.remove("--cython-compile") ++except ValueError: ++ compile_cython = False ++else: ++ compile_cython = True ++ from Cython.Build import cythonize ++ ++ ext_modules = cythonize( ++ [ ++ "dns/*.py", ++ "dns/dnssecalgs/*.py", ++ "dns/quic/*.py", ++ "dns/rdtypes/*.py", ++ "dns/rdtypes/*/*.py", ++ ], ++ language_level="3", ++ ) ++ ++kwargs = { ++ "ext_modules": ext_modules if compile_cython else None, ++ "zip_safe": False if compile_cython else None, ++} ++ ++setup(**kwargs) diff --git a/xpra-python3.modules b/xpra-python3.modules index 460f126f..423e7aa3 100644 --- a/xpra-python3.modules +++ b/xpra-python3.modules @@ -407,7 +407,9 @@ + version="2.4.2"> + + From b0377c95b4f8a5e8d2caf01e7732d11aefac97fd Mon Sep 17 00:00:00 2001 From: Catalin Patulea Date: Sat, 27 Jan 2024 11:34:08 +0000 Subject: [PATCH 3/8] setuptools-rust: fix build due to missing setup.py. Looks like PyPi tarball doesn't have setup.py, which jhbuild needs: *** Checking out python3-setuptools_rust *** [66/137] *** Building python3-setuptools_rust *** [66/137] python3 setup.py build --build-base /Users/runner/.cache/jhbuild/build/setuptools-rust-1.8.1 python3: can't open file '/Users/runner/gtk/source/setuptools-rust-1.8.1/setup.py': [Errno 2] No such file or directory *** Error during phase build of python3-setuptools_rust: ########## Error running python3 setup.py build --build-base /Users/runner/.cache/jhbuild/build/setuptools-rust-1.8.1 *** [66/137] Add it back using a patch. https://github.com/Xpra-org/xpra/issues/4017#issuecomment-1890914435 --- patches/setuptools-rust-setup-py.patch | 16 ++++++++++++++++ xpra-python3.modules | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 patches/setuptools-rust-setup-py.patch diff --git a/patches/setuptools-rust-setup-py.patch b/patches/setuptools-rust-setup-py.patch new file mode 100644 index 00000000..c79fd34a --- /dev/null +++ b/patches/setuptools-rust-setup-py.patch @@ -0,0 +1,16 @@ +commit 61401d62c557246600b45d09d471450e97b8c6f0 +Author: Catalin Patulea +Date: Sat Jan 27 11:32:52 2024 +0000 + + Add skeleton setup.py. + +diff --git a/setup.py b/setup.py +new file mode 100755 +index 0000000..851cb3f +--- /dev/null ++++ b/setup.py +@@ -0,0 +1,3 @@ ++#!/usr/bin/env python3 ++from setuptools import setup ++setup() +\ No newline at end of file diff --git a/xpra-python3.modules b/xpra-python3.modules index 423e7aa3..d1b1a694 100644 --- a/xpra-python3.modules +++ b/xpra-python3.modules @@ -171,7 +171,9 @@ + version="1.8.1"> + + From 57497d57290bd2c05816099ee523476b3ebab4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jir=CC=8Ci=CC=81=20Techet?= Date: Sat, 7 Oct 2023 19:06:36 +0200 Subject: [PATCH 4/8] Update gettext version and build libiconv to support build on Sonoma The build of gettext on Sonoma (at least arm64) ends with: ld: Undefined symbols: _iconv_ostream_create, referenced from: clang: error: linker command failed with exit code 1 (use -v to see invocation) I tried updating gettext to the latest version (which fixes some Sonoma problems so it is good to do in any case) but this doesn't resolve the problem. Building libiconv and adding it as a dependency of gettext seems to fix the issue. I based the autogen args on what is currently used in the corresponding Homebrew formula. --- modulesets-stable/bootstrap.modules | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/modulesets-stable/bootstrap.modules b/modulesets-stable/bootstrap.modules index 51fa799e..7b467409 100644 --- a/modulesets-stable/bootstrap.modules +++ b/modulesets-stable/bootstrap.modules @@ -53,14 +53,26 @@ repo="ftp.gnu.org" /> + + + + + - + + +