aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/actions/setup_base/action.yml
blob: c510bb74fe02b395ba50c3f57de5bd703b5bf0f7 (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
name: "Setup base"

inputs:
  INSTALL_XORG_PKGS:
    description: 'Install xorg dependencies'
    required: false
    default: false

runs:
  using: "composite"
  steps:
    - name: Get required pacman pkgs
      shell: bash
      run: |
        sed -i 's/SigLevel    = Required DatabaseOptional/SigLevel    = Optional TrustAll/' /etc/pacman.conf
        pacman --noconfirm --noprogressbar -Syyu
        pacman --noconfirm --noprogressbar -Sy \
          base-devel \
          cairo \
          clang \
          cmake \
          git \
          glm \
          glslang \
          go \
          hyprlang \
          hyprcursor \
          jq \
          libc++ \
          libdisplay-info \
          libdrm \
          libepoxy \
          libfontenc \
          libglvnd \
          libinput \
          libjxl \
          libliftoff \
          libwebp \
          libxcursor \
          libxcvt \
          libxfont2 \
          libxkbcommon \
          libxkbfile \
          lld \
          meson \
          ninja \
          pango \
          pixman \
          pkgconf \
          pugixml \
          scdoc \
          seatd \
          systemd \
          tomlplusplus \
          wayland \
          wayland-protocols \
          xcb-util-errors \
          xcb-util-renderutil \
          xcb-util-wm \
          xcb-util \
          xcb-util-image \
          libzip \
          librsvg \
          re2

    - name: Get hyprwayland-scanner-git
      shell: bash
      run: |
        git clone https://github.com/hyprwm/hyprwayland-scanner --recursive
        cd hyprwayland-scanner
        cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
        cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
        cmake --install build

    - name: Get hyprgraphics-git
      shell: bash
      run: |
        git clone https://github.com/hyprwm/hyprgraphics && cd hyprgraphics && cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -B build && cmake --build build --target hyprgraphics && cmake --install build

    - name: Get hyprutils-git
      shell: bash
      run: |
        git clone https://github.com/hyprwm/hyprutils && cd hyprutils && cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -B build && cmake --build build --target hyprutils && cmake --install build

    - name: Get aquamarine-git
      shell: bash
      run: |
        git clone https://github.com/hyprwm/aquamarine && cd aquamarine && cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -B build && cmake --build build --target aquamarine && cmake --install build

    - name: Get Xorg pacman pkgs
      shell: bash
      if: inputs.INSTALL_XORG_PKGS == 'true'
      run: |
        pacman --noconfirm --noprogressbar -Sy \
          xorg-fonts-encodings \
          xorg-server-common \
          xorg-setxkbmap \
          xorg-xkbcomp \
          xorg-xwayland

    - name: Checkout Hyprland
      uses: actions/checkout@v4
      with:
        submodules: recursive

    # Fix an issue with actions/checkout where the checkout repo is not mark as safe
    - name: Mark directory as safe for git
      shell: bash
      run: |
        git config --global --add safe.directory /__w/Hyprland/Hyprland