This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

jhbuild on FreeBSD

This is being used as a scratch space for people working on getting jhbuild running on FreeBSD.

These instructions assume an install of FreeBSD 12.1.

Working so far

This is what currently works (± caveats below):

...almost everything now.

jhbuild

Expect build problems with: gdm, accountsservice.

Jhbuild tinderbox

We have a couple of tinderboxes starting to get set up:

Packages to install

Install the following packages via pkg.

pkg install alsa-lib argyllcms asciidoc autoconf-archive automake avahi-app bash bash-completion bison cairomm caribou cmake cracklib cups cyrus-sasl db5 dbus dbus-glib desktop-file-utils docbook-utils docbook-xsl docbook-xsl-ns e2fsprogs-libuuid enchant evdev-proto exempi ffmpeg fusefs-libs fusefs-libs3 gettext git gmake gmime26 gnutls gperf graphviz hyphen icon-naming-utils icu intltool iso-codes itstool ja-anthy jpeg-turbo json-c ko-libhangul krb5 kyotocabinet lcms2 libarchive libbluray libcanberra libcanberra-gtk3 libcdio-paranoia libdmapsharing libdvdread libexif libGLU libgphoto2 libical libimobiledevice libmtp libmusicbrainz5 libnfs liboauth libplist libproxy libpsl libpwquality libraw libsndfile libtasn1 libtool libudisks libunistring libv4l libvpx libXcomposite libXft libxkbcommon libxkbfile libxklavier libxslt libXtst llvm90 lua53 luajit mesa-libs meson mpc mpfr neon nettle nss openldap-client opus p5-Text-CSV pcre2 pixman pkgconf png polkit poppler-glib pulseaudio py27-cairo py27-gobject3 py27-libxml2 py27-rdflib py37-cairo py37-gobject3 python ragel raptor2 ruby rust samba48 sassc shared-mime-info source-highlight speech-dispatcher speex sqlite3 startup-notification taglib texinfo tiff v4l_compat vala valgrind wavpack webp wget xauth xkeyboard-config xorg xorg-macros xtrans xwayland yajl yasm ytnef

jhbuildrc

os.environ['MAKE']='gmake LIBTOOL=/usr/local/bin/libtool'

dvcs_mirror_dir = '~/.cache/git'

# .pc files from FreeBSD base system is missing
skip = ['openssl']

# -Werror
module_autogenargs['easytag'] = '--disable-Werror'
module_autogenargs['gnome-photos'] = '--disable-Werror'
module_autogenargs['rhythmbox'] = '--disable-more-warnings'
module_autogenargs['yelp'] = '--disable-Werror'

# Unintentional upstream Linux/GNUisms
module_autogenargs['cheese'] = '--disable-lcov'
module_autogenargs['gjs'] = '--disable-coverage'
module_autogenargs['pulseaudio'] = '--disable-xen'

# configure script contains bashisms
module_extra_env['aisleriot'] = {'CONFIG_SHELL': '/usr/local/bin/bash'}
module_extra_env['dleyna-connector-dbus'] = {'CONFIG_SHELL': '/usr/local/bin/bash'}
module_extra_env['dleyna-renderer'] = {'CONFIG_SHELL': '/usr/local/bin/bash'}

# format string
module_extra_env['anjuta'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['brasero'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['cheese'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['clutter'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['epiphany'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['evince'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['ghex'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['gitg'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['gnumeric'] = {'CFLAGS': '-Wno-error=format-nonliteral'} 
module_extra_env['goffice'] = {'CFLAGS': '-Wno-error=format-nonliteral'} 
module_extra_env['mutter'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['nautilus-sendto'] = {'CFLAGS': '-Wno-error=format-nonliteral'} 
module_extra_env['totem'] = {'CFLAGS': '-Wno-error=format-nonliteral'}
module_extra_env['vinagre'] = {'CFLAGS': '-Wno-error=format-nonliteral'}

Outstanding FreeBSD issues

These are the current high-priority pain points on the FreeBSD side:

Outstanding GNOME/freedesktop issues

There are some things that are going to go wrong during the build. The links below have patches or suggested workarounds.

Important "hard to fix" issues

There are some issues in core components that cannot be easily fixed. Workarounds are used to keep jhbuild working.

Low priority "nice to fix" issues

Solved GNOME/freedesktop issues

Solved FreeBSD issues

Invalid issues

Obsolete issues

Rejected upstream


2024-10-23 11:37