Issue 14640 in skia: Please support FreeBSD.

2 views
Skip to first unread message

nimfs… via monorail

unread,
Jul 24, 2023, 10:08:28 PM7/24/23
to bu...@skia.org
Status: Untriaged
Owner: ----
Priority: Medium
Type: Feature

New issue 14640 by nimfs...@gmail.com: Please support FreeBSD.
https://bugs.chromium.org/p/skia/issues/detail?id=14640

Hello.
Skia is not compiled properly on FreeBSD.
So, I made a patch to compile on FreeBSD.
The file is attached, please review it.

Download the Skia source code with the following command.

cd
git clone https://skia.googlesource.com/skia

Run git-sync-deps to download the required source code.

cd skia
python3 tools/git-sync-deps

Ignore the following error message. That error message is caused by not being able to download the gn binary and emsdk binary for FreeBSD.

Traceback (most recent call last):
File "/usr/home/username/skia/bin/fetch-gn", line 22, in <module>
OS = {'darwin': 'mac', 'linux': 'linux', 'linux2': 'linux', 'win32': 'windows'}[sys.platform]
KeyError: 'freebsd13'
Traceback (most recent call last):
File "/usr/home/username/skia/tools/git-sync-deps", line 277, in <module>
exit(main(sys.argv[1:]))
File "/usr/home/username/skia/tools/git-sync-deps", line 267, in main
subprocess.check_call(
File "/usr/local/lib/python3.9/subprocess.py", line 373, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/local/bin/python3', '/usr/home/username/skia/bin/fetch-gn']' returned non-zero exit status 1.

Install the gn and emscripten packages with the following commands:

sudo pkg install gn emscripten
cp /usr/local/bin/gn ~/skia/bin

Apply the patch for FreeBSD support.

0001-Support-for-FreeBSD.patch

cd skia
git am ~/Downloads/0001-Support-for-FreeBSD.patch

Compile with the command:

gn gen out/Static --args='is_debug=false skia_use_fontconfig=true skia_use_freetype=true skia_use_x11=true skia_use_vulkan=true skia_use_dng_sdk=false skia_use_system_libpng=true skia_use_system_zlib=true skia_use_system_icu=true extra_cflags=["-I/usr/local/include", "-I/usr/local/include/harfbuzz", "-I/usr/local/include/freetype2"] extra_ldflags=["-L/usr/local/lib"]'

Try running the following command:

ninja -C out/Static viewer

You can run the viewer to check if Skia is working.

If you need sk_app try running the following command.

ninja -C out/Static sk_app

Attachments:
0001-Support-for-FreeBSD.patch 9.6 KB

--
You received this message because:
1. The project was configured to send all issue notifications to this address

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings
Reply all
Reply to author
Forward
0 new messages