Build Akkoma ourselves

This commit is contained in:
Erin Shepherd 2024-02-23 19:26:22 +01:00
parent 6bfbe8fb7b
commit b14242b9a1
4 changed files with 146 additions and 15 deletions

View file

@ -0,0 +1,76 @@
package:
name: akkoma
version: 3.10.4
epoch: 0
description: "Magically expressive social media"
target-architecture:
- x86_64
copyright:
- attestation: |
Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
Copyright © 2022 Akkoma Authors <https://akkoma.social/>
license: "AGPL-3.0-or-later"
- paths:
- "docs/*"
attestation: |
Copyright © 2021-2022 Pleroma Authors <https://pleroma.social/>
Copyright © 2022 Akkoma Authors <https://akkoma.social/>
license: "CC-BY-4.0"
- paths:
- "priv/static/images/pleroma-fox-tan-smol.png"
attestation: |
Copyright © 2019 shitposter.club
license: "CC-BY-4.0"
- paths:
- "priv/static/instance/thumbnail.jpeg"
attestation: |
Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
license: "CC-BY-4.0"
dependencies:
runtime:
- alpine-baselayout-data
- ca-certificates-bundle
- ffmpeg
- imagemagick
- exiftool
- ncurses
- postgresql-client
- file
- libmagic
environment:
contents:
repositories:
- https://dl-cdn.alpinelinux.org/alpine/edge/main
- https://dl-cdn.alpinelinux.org/alpine/edge/community
packages:
- alpine-baselayout-data
- ca-certificates-bundle
- busybox
- unzip
accounts:
users:
- username: akkoma
uid: 1001
gid: 1001
groups:
- groupname: akkoma
gid: 1001
members: ["akkoma"]
pipeline:
- uses: fetch
with:
uri: "https://akkoma-updates.s3-website.fr-par.scw.cloud/stable/akkoma-amd64-musl.zip"
expected-sha256: "a5e4254761e3fd21400e1520f96d186c458a717cd5a5ea4229d9c378c82198ba"
extract: false
- name: Unpack
runs: |
unzip akkoma-amd64-musl.zip
mkdir -p ${{targets.contextdir}}/usr/akkoma
cp -R release/* ${{targets.contextdir}}/usr/akkoma
- name: Create directories
runs: |
mkdir -p ${{targets.contextdir}}/etc/akkoma
mkdir -p ${{targets.contextdir}}/var/lib/akkoma/uploads
mkdir -p ${{targets.contextdir}}/var/lib/akkoma/static
chown -R akkoma:akkoma ${{targets.contextdir}}/var/lib/akkoma

View file

@ -1,10 +1,11 @@
package: package:
name: akkoma name: akkoma
version: 3.10.4 version: 3.10.99.20240223
epoch: 0 epoch: 0
description: "Magically expressive social media" description: "Magically expressive social media"
target-architecture: target-architecture:
- x86_64 - x86_64
- aarch64
copyright: copyright:
- attestation: | - attestation: |
Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/> Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
@ -44,9 +45,22 @@ environment:
- https://dl-cdn.alpinelinux.org/alpine/edge/community - https://dl-cdn.alpinelinux.org/alpine/edge/community
packages: packages:
- alpine-baselayout-data - alpine-baselayout-data
- ca-certificates-bundle
- busybox - busybox
- unzip - ca-certificates-bundle
- git
- gcc
- g++
- musl-dev
- make
- cmake
- file-dev
- exiftool
- ffmpeg
- imagemagick
- libmagic
- ncurses
- postgresql-client
- elixir
accounts: accounts:
users: users:
- username: akkoma - username: akkoma
@ -58,16 +72,18 @@ environment:
members: ["akkoma"] members: ["akkoma"]
pipeline: pipeline:
- uses: fetch - uses: git-checkout
with: with:
uri: "https://akkoma-updates.s3-website.fr-par.scw.cloud/stable/akkoma-amd64-musl.zip" repository: https://akkoma.dev/AkkomaGang/akkoma.git
expected-sha256: "a5e4254761e3fd21400e1520f96d186c458a717cd5a5ea4229d9c378c82198ba" branch: develop
extract: false - name: Build OTP application
- name: Unpack
runs: | runs: |
unzip akkoma-amd64-musl.zip set -x
mkdir -p ${{targets.contextdir}}/usr/akkoma export MIX_ENV=prod
cp -R release/* ${{targets.contextdir}}/usr/akkoma mix local.hex --force
mix local.rebar --force
mix deps.get --only=prod
mix release --path ${{targets.destdir}}/usr/akkoma
- name: Create directories - name: Create directories
runs: | runs: |
mkdir -p ${{targets.contextdir}}/etc/akkoma mkdir -p ${{targets.contextdir}}/etc/akkoma

42
alpine/elixir-1.16.yaml Normal file
View file

@ -0,0 +1,42 @@
package:
name: elixir-1.16
version: 1.16.0
epoch: 1
description: General-purpose programming language and runtime environment
target-architecture:
- x86_64
- aarch64
copyright:
- license: Apache-2.0
dependencies:
runtime:
- erlang
provides:
- elixir=${{package.full-version}}
environment:
contents:
repositories:
- https://dl-cdn.alpinelinux.org/alpine/edge/main
- https://dl-cdn.alpinelinux.org/alpine/edge/community
packages:
- autoconf
- automake
- build-base
- busybox
- ca-certificates-bundle
- erlang
- erlang-dev
environment:
LANG: "C.UTF-8"
pipeline:
- uses: fetch
with:
expected-sha256: d7fe641e3c85c9774232618d22c880c86c2f31e3508c344ce75d134cd40aea18
uri: https://github.com/elixir-lang/elixir/archive/refs/tags/v${{package.version}}.tar.gz
- name: Build OTP application
runs: "env"
- uses: autoconf/make
- uses: autoconf/make-install
- uses: strip

View file

@ -7,12 +7,9 @@ contents:
- 'https://git.alioth.systems/api/packages/alioth/alpine/key' - 'https://git.alioth.systems/api/packages/alioth/alpine/key'
packages: packages:
- alpine-base - alpine-base
- akkoma@alioth - akkoma=3.10.99.20240223@alioth
archs: archs:
- x86_64 - x86_64
environment: environment:
PATH: /usr/sbin:/sbin:/usr/bin:/bin:/usr/akkoma/bin PATH: /usr/sbin:/sbin:/usr/bin:/bin:/usr/akkoma/bin
cmd: "pleroma daemon" cmd: "pleroma daemon"