Debian 13 removed the `cross-gcc-dev` package as it was unmaintained (Debian bug #1107126). This broke the existing cross build setup. Instead, switch to using binary cross-gcc packages, which work the same without having to manually generate the libraries. This is still fully symmetrical.
145 lines
3.9 KiB
YAML
145 lines
3.9 KiB
YAML
---
|
|
# Build definitions for `build.py`
|
|
|
|
# Upstream Framework versions
|
|
# This section defines target commits after which a particular framework is required.
|
|
# This is used by build.py to automatically determine which framework version to use
|
|
# within the build containers based on whatever HEAD the project is at (from checkout.py).
|
|
# Target commits should be a merge commit!
|
|
# Target commits should be in order from oldest to newest!
|
|
# HOW THIS WORKS:
|
|
# For each submodule, and then for each upstream framework version ARG to Docker...
|
|
# Provide a commit hash as a key, and a version as a value...
|
|
# If the given commit is in the commit tree of the current HEAD of the repo...
|
|
# Use the given version. Otherwise use the default.
|
|
frameworks:
|
|
jellyfin-web:
|
|
NODEJS_VERSION:
|
|
6c0a64ef12b9eb40a7c4ee4b9d43d0a5f32f2287: 20 # Default
|
|
jellyfin-server:
|
|
DOTNET_VERSION:
|
|
6d1abf67c36379f0b061095619147a3691841e21: 8.0 # Default
|
|
ceb850c77052c465af8422dcf152f1d1d1530457: 9.0
|
|
|
|
# DEB packages
|
|
debian:
|
|
releases:
|
|
bullseye: '11'
|
|
bookworm: '12'
|
|
trixie: '13'
|
|
archmaps:
|
|
amd64:
|
|
PACKAGE_ARCH: amd64
|
|
GCC_ARCH: x86-64
|
|
arm64:
|
|
PACKAGE_ARCH: arm64
|
|
GCC_ARCH: aarch64
|
|
cross-gcc:
|
|
bullseye: '10'
|
|
bookworm: '12'
|
|
trixie: '14'
|
|
build_function: build_package_deb
|
|
dockerfile: debian/docker/Dockerfile
|
|
imagename: jellyfin-builder-debian
|
|
ubuntu:
|
|
releases:
|
|
focal: '20.04'
|
|
jammy: '22.04'
|
|
noble: '24.04'
|
|
archmaps:
|
|
amd64:
|
|
PACKAGE_ARCH: amd64
|
|
arm64:
|
|
PACKAGE_ARCH: arm64
|
|
cross-gcc:
|
|
focal: '10'
|
|
jammy: '12'
|
|
noble: '13'
|
|
build_function: build_package_deb
|
|
dockerfile: debian/docker/Dockerfile
|
|
imagename: jellyfin-builder-ubuntu
|
|
|
|
# Portable archives
|
|
linux:
|
|
build_function: build_linux
|
|
archivetypes: targz,tarxz
|
|
archmaps:
|
|
amd64:
|
|
DOTNET_ARCH: x64
|
|
PACKAGE_ARCH: amd64
|
|
amd64-musl:
|
|
DOTNET_ARCH: musl-x64
|
|
PACKAGE_ARCH: amd64-musl
|
|
arm64:
|
|
DOTNET_ARCH: arm64
|
|
PACKAGE_ARCH: arm64
|
|
arm64-musl:
|
|
DOTNET_ARCH: musl-arm64
|
|
PACKAGE_ARCH: arm64-musl
|
|
dockerfile: portable/Dockerfile
|
|
imagename: jellyfin-builder-linux
|
|
windows:
|
|
build_function: build_windows
|
|
archivetypes: zip
|
|
archmaps:
|
|
amd64:
|
|
DOTNET_ARCH: x64
|
|
PACKAGE_ARCH: amd64
|
|
arm64:
|
|
DOTNET_ARCH: arm64
|
|
PACKAGE_ARCH: arm64
|
|
dockerfile: portable/Dockerfile
|
|
imagename: jellyfin-builder-windows
|
|
macos:
|
|
build_function: build_macos
|
|
archivetypes: tarxz
|
|
archmaps:
|
|
amd64:
|
|
DOTNET_ARCH: x64
|
|
PACKAGE_ARCH: amd64
|
|
arm64:
|
|
DOTNET_ARCH: arm64
|
|
PACKAGE_ARCH: arm64
|
|
dockerfile: portable/Dockerfile
|
|
imagename: jellyfin-builder-macos
|
|
portable:
|
|
build_function: build_portable
|
|
archivetypes: targz,tarxz,zip
|
|
dockerfile: portable/Dockerfile
|
|
imagename: jellyfin-builder-portable
|
|
|
|
# Docker images
|
|
docker:
|
|
build_function: build_docker
|
|
archmaps:
|
|
amd64:
|
|
DOTNET_ARCH: x64
|
|
IMAGE_ARCH: amd64
|
|
PACKAGE_ARCH: amd64
|
|
QEMU_ARCH: x86_64
|
|
TARGET_ARCH: amd64
|
|
arm64:
|
|
DOTNET_ARCH: arm64
|
|
IMAGE_ARCH: arm64v8
|
|
PACKAGE_ARCH: arm64
|
|
QEMU_ARCH: aarch64
|
|
TARGET_ARCH: arm64/v8
|
|
dockerfile: docker/Dockerfile
|
|
imagename: jellyfin/jellyfin
|
|
|
|
# Nuget packages
|
|
nuget:
|
|
build_function: build_nuget
|
|
projects:
|
|
- Jellyfin.Data/Jellyfin.Data.csproj
|
|
- MediaBrowser.Common/MediaBrowser.Common.csproj
|
|
- MediaBrowser.Controller/MediaBrowser.Controller.csproj
|
|
- MediaBrowser.Model/MediaBrowser.Model.csproj
|
|
- Emby.Naming/Emby.Naming.csproj
|
|
- src/Jellyfin.Extensions/Jellyfin.Extensions.csproj
|
|
- src/Jellyfin.Database/Jellyfin.Database.Implementations/Jellyfin.Database.Implementations.csproj
|
|
- src/Jellyfin.MediaEncoding.Keyframes/Jellyfin.MediaEncoding.Keyframes.csproj
|
|
feed_urls:
|
|
stable: https://api.nuget.org/v3/index.json
|
|
unstable: https://nuget.pkg.github.com/jellyfin/index.json
|