aboutsummaryrefslogtreecommitdiff
path: root/.builds/freebsd.yml
blob: 65e9d41d00d6d6d5396dcf098dd8eebcc21db4d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
image: freebsd
packages:
- devel/automake
- multimedia/ffmpeg
- devel/gmake
- devel/json-c
- devel/libtool
- x11/libxkbcommon
- textproc/libxslt
- x11-toolkits/pango
- devel/pkgconf
- print/texinfo
- x11/xcb-util-image
- x11/xcb-util-wm
- python36
- py36-setuptools
sources:
- https://github.com/swaywm/wlroots
tasks:
- setup: |
    # Don't build unnecessary stuff
    echo "OPTIONS_UNSET+= NLS DOCS EXAMPLES LIBWACOM" | sudo tee -a /etc/make.conf
    # Note: this could probably be set in the FreeBSD base image
    echo "BATCH=yes" | sudo tee -a /etc/make.conf
- ports_tree: |
    # This is ugly, but fetching and extracting the whole ports tree takes a
    # really-really long time...
    # First we need a clean tree, and renaming is faster than deleting.
    sudo mv /usr/ports /usr/ports.orig
    sudo mkdir /usr/ports
    # Fetch only needed ports
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/GIDs /usr/ports/GIDs
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Keywords /usr/ports/Keywords
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Makefile /usr/ports/Makefile
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Mk /usr/ports/Mk
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Templates /usr/ports/Templates
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Tools /usr/ports/Tools
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/UIDs /usr/ports/UIDs
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/libevdev /usr/ports/devel/libevdev
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/libmtdev /usr/ports/devel/libmtdev
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/libudev-devd /usr/ports/devel/libudev-devd
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/meson /usr/ports/devel/meson
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/ninja /usr/ports/devel/ninja
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/py-evdev /usr/ports/devel/py-evdev
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/py-six /usr/ports/devel/py-six
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/graphics/wayland-protocols /usr/ports/graphics/wayland-protocols
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/graphics/wayland /usr/ports/graphics/wayland
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/lang/python27 /usr/ports/lang/python27
    sudo svnlite export --force https://svn.FreeBSD.org/ports/head/lang/python36 /usr/ports/lang/python36
- fixup_libinput: |
    sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/devel/libepoll-shim /usr/ports/devel/libepoll-shim
    sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/x11/libinput /usr/ports/x11/libinput
    sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/devel/evdev-proto /usr/ports/devel/evdev-proto
    sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/devel/py-pyudev /usr/ports/devel/py-pyudev
- ports_build: |
    cd /usr/ports/graphics/wayland-protocols/ && sudo make install
    cd /usr/ports/x11/libinput/ && sudo make install clean
    # v4l_compat is a dependency of libinput, but the version in the ports tree
    # conflicts with the new evdev-proto. It can be safely removed though.
    sudo pkg remove -fy v4l_compat
    cd /usr/ports/devel/evdev-proto && sudo make install clean
- fixup_epoll: |
    cat << 'EOF' | sudo tee /usr/local/libdata/pkgconfig/epoll-shim.pc
    prefix=/usr/local
    exec_prefix=\$\{\$prefix\}
    libdir=${prefix}/lib
    sharedlibdir=${prefix}/lib
    includedir=${prefix}/include/libepoll-shim
    Name: epoll-shim
    Description: epoll shim implemented using kevent
    Version: 0
    Requires:
    Libs: -L${libdir} -L${sharedlibdir} -lepoll-shim -lthr
    Cflags: -I${includedir}
    EOF
- wlroots: |
    cd wlroots
    meson build
    ninja -C build