mirror of
https://github.com/LizardByte/Sunshine.git
synced 2025-03-29 22:20:24 +00:00
aur: move docker build (#895)
This commit is contained in:
parent
0d100a57a6
commit
032680ca9d
103
.github/workflows/CI.yml
vendored
103
.github/workflows/CI.yml
vendored
@ -147,109 +147,6 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
matrix: ${{ steps.flatpak_matrix.outputs.matrix }}
|
matrix: ${{ steps.flatpak_matrix.outputs.matrix }}
|
||||||
|
|
||||||
build_linux_aur:
|
|
||||||
name: Linux AUR
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: setup_release
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Setup Dependencies Linux AUR
|
|
||||||
run: |
|
|
||||||
sudo apt-get update -y
|
|
||||||
sudo apt-get install -y \
|
|
||||||
cmake
|
|
||||||
|
|
||||||
- name: Configure PKGBUILD files
|
|
||||||
id: prepare
|
|
||||||
run: |
|
|
||||||
# variables for manifest
|
|
||||||
aur_publish=false
|
|
||||||
aur_pkg=sunshine-dev
|
|
||||||
sub_version=""
|
|
||||||
conflicts="'sunshine'"
|
|
||||||
provides="'sunshine'"
|
|
||||||
|
|
||||||
branch=${GITHUB_HEAD_REF}
|
|
||||||
|
|
||||||
# check the branch variable
|
|
||||||
if [ -z "$branch" ]; then
|
|
||||||
echo "This is a PUSH event"
|
|
||||||
commit=${{ github.sha }}
|
|
||||||
clone_url=${{ github.event.repository.clone_url }}
|
|
||||||
|
|
||||||
if [[ ${{ github.ref == 'refs/heads/master' }} == true ]]; then
|
|
||||||
echo "This is a main release event"
|
|
||||||
aur_publish=true
|
|
||||||
aur_pkg=sunshine
|
|
||||||
conflicts=""
|
|
||||||
provides=""
|
|
||||||
elif [[ ${{ github.ref == 'refs/heads/nightly' }} == true ]]; then
|
|
||||||
echo "This is a nightly release event"
|
|
||||||
sub_version=".r${commit}"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "This is a PR event"
|
|
||||||
commit=${{ github.event.pull_request.head.sha }}
|
|
||||||
clone_url=${{ github.event.pull_request.head.repo.clone_url }}
|
|
||||||
|
|
||||||
sub_version=".r${commit}"
|
|
||||||
fi
|
|
||||||
echo "Commit: ${commit}"
|
|
||||||
echo "Clone URL: ${clone_url}"
|
|
||||||
|
|
||||||
echo "aur_publish=${aur_publish}" >> $GITHUB_OUTPUT
|
|
||||||
echo "aur_pkg=${aur_pkg}" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
mkdir -p artifacts
|
|
||||||
mkdir -p build
|
|
||||||
|
|
||||||
cd build
|
|
||||||
cmake -DSUNSHINE_CONFIGURE_AUR=ON \
|
|
||||||
-DSUNSHINE_AUR_PKG=${aur_pkg} \
|
|
||||||
-DSUNSHINE_SUB_VERSION=${sub_version} \
|
|
||||||
-DSUNSHINE_AUR_CONFLICTS=${conflicts} \
|
|
||||||
-DSUNSHINE_AUR_PROVIDES=${provides} \
|
|
||||||
-DGITHUB_CLONE_URL=${clone_url} \
|
|
||||||
-DGITHUB_COMMIT=${commit} \
|
|
||||||
-DSUNSHINE_CONFIGURE_ONLY=ON \
|
|
||||||
..
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
mv ./build/PKGBUILD ./artifacts/
|
|
||||||
|
|
||||||
- name: Validate package
|
|
||||||
uses: LizardByte/archlinux-package-action@master
|
|
||||||
with:
|
|
||||||
path: artifacts
|
|
||||||
flags: '--syncdeps --noconfirm'
|
|
||||||
namcap: true
|
|
||||||
srcinfo: true
|
|
||||||
aur: true # workaround mirror problem
|
|
||||||
|
|
||||||
- name: Upload Artifacts
|
|
||||||
if: ${{ always() }}
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: sunshine-linux-aur
|
|
||||||
path: artifacts/
|
|
||||||
|
|
||||||
- name: Publish AUR package
|
|
||||||
if: ${{ steps.prepare.outputs.aur_publish == 'true' }}
|
|
||||||
uses: KSXGitHub/github-actions-deploy-aur@v2.6.0
|
|
||||||
with:
|
|
||||||
pkgname: ${{ steps.prepare.outputs.aur_pkg }}
|
|
||||||
pkgbuild: ./artifacts/PKGBUILD
|
|
||||||
assets: |
|
|
||||||
./artifacts/*
|
|
||||||
commit_username: ${{ secrets.AUR_USERNAME }}
|
|
||||||
commit_email: ${{ secrets.AUR_EMAIL }}
|
|
||||||
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
||||||
commit_message: Automatic update from GitHub ${{ github.repository }} per ${{ github.ref }}
|
|
||||||
allow_empty_commits: false
|
|
||||||
|
|
||||||
build_linux_flatpak:
|
build_linux_flatpak:
|
||||||
name: Linux Flatpak
|
name: Linux Flatpak
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
22
.github/workflows/ci-docker.yml
vendored
22
.github/workflows/ci-docker.yml
vendored
@ -205,9 +205,20 @@ jobs:
|
|||||||
# get branch name
|
# get branch name
|
||||||
BRANCH=${GITHUB_HEAD_REF}
|
BRANCH=${GITHUB_HEAD_REF}
|
||||||
|
|
||||||
|
RELEASE=false
|
||||||
|
|
||||||
if [ -z "$BRANCH" ]; then
|
if [ -z "$BRANCH" ]; then
|
||||||
echo "This is a PUSH event"
|
echo "This is a PUSH event"
|
||||||
BRANCH=${{ github.ref_name }}
|
BRANCH=${{ github.ref_name }}
|
||||||
|
COMMIT=${{ github.sha }}
|
||||||
|
CLONE_URL=${{ github.event.repository.clone_url }}
|
||||||
|
if [[ $BRANCH == "master" ]]; then
|
||||||
|
RELEASE=true
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "This is a PULL REQUEST event"
|
||||||
|
COMMIT=${{ github.event.pull_request.head.sha }}
|
||||||
|
CLONE_URL=${{ github.event.pull_request.head.repo.clone_url }}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# determine to push image to dockerhub and ghcr or not
|
# determine to push image to dockerhub and ghcr or not
|
||||||
@ -220,7 +231,6 @@ jobs:
|
|||||||
# setup the tags
|
# setup the tags
|
||||||
REPOSITORY=${{ github.repository }}
|
REPOSITORY=${{ github.repository }}
|
||||||
BASE_TAG=$(echo $REPOSITORY | tr '[:upper:]' '[:lower:]')
|
BASE_TAG=$(echo $REPOSITORY | tr '[:upper:]' '[:lower:]')
|
||||||
COMMIT=${{ github.sha }}
|
|
||||||
|
|
||||||
TAGS="${BASE_TAG}:${COMMIT:0:7}${{ matrix.tag }},ghcr.io/${BASE_TAG}:${COMMIT:0:7}${{ matrix.tag }}"
|
TAGS="${BASE_TAG}:${COMMIT:0:7}${{ matrix.tag }},ghcr.io/${BASE_TAG}:${COMMIT:0:7}${{ matrix.tag }}"
|
||||||
|
|
||||||
@ -277,6 +287,8 @@ jobs:
|
|||||||
echo "branch=${BRANCH}" >> $GITHUB_OUTPUT
|
echo "branch=${BRANCH}" >> $GITHUB_OUTPUT
|
||||||
echo "build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
|
echo "build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
|
||||||
echo "commit=${COMMIT}" >> $GITHUB_OUTPUT
|
echo "commit=${COMMIT}" >> $GITHUB_OUTPUT
|
||||||
|
echo "clone_url=${CLONE_URL}" >> $GITHUB_OUTPUT
|
||||||
|
echo "release=${RELEASE}" >> $GITHUB_OUTPUT
|
||||||
echo "artifacts=${ARTIFACTS}" >> $GITHUB_OUTPUT
|
echo "artifacts=${ARTIFACTS}" >> $GITHUB_OUTPUT
|
||||||
echo "platforms=${PLATFORMS}" >> $GITHUB_OUTPUT
|
echo "platforms=${PLATFORMS}" >> $GITHUB_OUTPUT
|
||||||
echo "push=${PUSH}" >> $GITHUB_OUTPUT
|
echo "push=${PUSH}" >> $GITHUB_OUTPUT
|
||||||
@ -328,6 +340,8 @@ jobs:
|
|||||||
BUILD_DATE=${{ steps.prepare.outputs.build_date }}
|
BUILD_DATE=${{ steps.prepare.outputs.build_date }}
|
||||||
BUILD_VERSION=${{ needs.check_changelog.outputs.next_version }}
|
BUILD_VERSION=${{ needs.check_changelog.outputs.next_version }}
|
||||||
COMMIT=${{ steps.prepare.outputs.commit }}
|
COMMIT=${{ steps.prepare.outputs.commit }}
|
||||||
|
CLONE_URL=${{ steps.prepare.outputs.clone_url }}
|
||||||
|
RELEASE=${{ steps.prepare.outputs.release }}
|
||||||
tags: ${{ steps.prepare.outputs.tags }}
|
tags: ${{ steps.prepare.outputs.tags }}
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||||
@ -345,6 +359,12 @@ jobs:
|
|||||||
BUILD_DATE=${{ steps.prepare.outputs.build_date }}
|
BUILD_DATE=${{ steps.prepare.outputs.build_date }}
|
||||||
BUILD_VERSION=${{ needs.check_changelog.outputs.next_version }}
|
BUILD_VERSION=${{ needs.check_changelog.outputs.next_version }}
|
||||||
COMMIT=${{ steps.prepare.outputs.commit }}
|
COMMIT=${{ steps.prepare.outputs.commit }}
|
||||||
|
CLONE_URL=${{ steps.prepare.outputs.clone_url }}
|
||||||
|
RELEASE=${{ steps.prepare.outputs.release }}
|
||||||
|
secrets: |
|
||||||
|
"AUR_EMAIL=${{ secrets.AUR_EMAIL }}"
|
||||||
|
"AUR_SSH_PRIVATE_KEY=${{ secrets.AUR_SSH_PRIVATE_KEY }}"
|
||||||
|
"AUR_USERNAME=${{ secrets.AUR_USERNAME }}"
|
||||||
tags: ${{ steps.prepare.outputs.tags }}
|
tags: ${{ steps.prepare.outputs.tags }}
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.18.3] - 2023-02-13
|
||||||
|
### Added
|
||||||
|
- (Linux) Added PKGBUILD for Archlinux based distros to releases
|
||||||
|
- (Linux) Added precompiled package for Archlinux based distros to releases
|
||||||
|
- (Docker) Added archlinux docker image (x86_64 only)
|
||||||
|
|
||||||
## [0.18.2] - 2023-02-13
|
## [0.18.2] - 2023-02-13
|
||||||
### Fixed
|
### Fixed
|
||||||
- (Video/KMV/Linux) Fixed wayland capture on Nvidia for KMS
|
- (Video/KMV/Linux) Fixed wayland capture on Nvidia for KMS
|
||||||
@ -317,3 +323,4 @@ settings. In v0.17.0, games now run under your user account without elevated pri
|
|||||||
[0.18.0]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.0
|
[0.18.0]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.0
|
||||||
[0.18.1]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.1
|
[0.18.1]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.1
|
||||||
[0.18.2]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.2
|
[0.18.2]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.2
|
||||||
|
[0.18.3]: https://github.com/LizardByte/Sunshine/releases/tag/v0.18.3
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
cmake_minimum_required(VERSION 3.18)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
# `CMAKE_CUDA_ARCHITECTURES` requires 3.18
|
# `CMAKE_CUDA_ARCHITECTURES` requires 3.18
|
||||||
|
|
||||||
project(Sunshine VERSION 0.18.2
|
project(Sunshine VERSION 0.18.3
|
||||||
DESCRIPTION "Sunshine is a self-hosted game stream host for Moonlight."
|
DESCRIPTION "Sunshine is a self-hosted game stream host for Moonlight."
|
||||||
HOMEPAGE_URL "https://app.lizardbyte.dev")
|
HOMEPAGE_URL "https://app.lizardbyte.dev")
|
||||||
|
|
||||||
|
@ -23,8 +23,9 @@ ENTRYPOINT steam && sunshine
|
|||||||
- commit hash
|
- commit hash
|
||||||
|
|
||||||
### SUNSHINE_OS
|
### SUNSHINE_OS
|
||||||
Sunshine images are available, based on the following base images.
|
Sunshine images are available with the following tag suffixes, based on their respective base images.
|
||||||
|
|
||||||
|
- `archlinux`
|
||||||
- `debian-bullseye`
|
- `debian-bullseye`
|
||||||
- `fedora-36`
|
- `fedora-36`
|
||||||
- `fedora-37`
|
- `fedora-37`
|
||||||
@ -126,9 +127,13 @@ If you want to change the PUID or PGID after the image has been built, it will r
|
|||||||
Specifying `lizardbyte/sunshine:latest-<SUNSHINE_OS>` or `ghcr.io/lizardbyte/sunshine:latest-<SUNSHINE_OS>` should
|
Specifying `lizardbyte/sunshine:latest-<SUNSHINE_OS>` or `ghcr.io/lizardbyte/sunshine:latest-<SUNSHINE_OS>` should
|
||||||
retrieve the correct image for your architecture.
|
retrieve the correct image for your architecture.
|
||||||
|
|
||||||
The architectures supported by these images are:
|
The architectures supported by these images are shown in the table below.
|
||||||
|
|
||||||
| Architecture | Available |
|
| tag suffix | amd64/x86_64 | arm64/aarch64 |
|
||||||
|:---------------:|:---------:|
|
|-----------------|--------------|---------------|
|
||||||
| amd64 / x86_64 | ✅ |
|
| archlinux | ✅ | ❌ |
|
||||||
| arm64 / aarch64 | ✅ |
|
| debian-bullseye | ✅ | ✅ |
|
||||||
|
| fedora-36 | ✅ | ✅ |
|
||||||
|
| fedora-37 | ✅ | ✅ |
|
||||||
|
| ubuntu-20.04 | ✅ | ✅ |
|
||||||
|
| ubuntu-22.04 | ✅ | ✅ |
|
||||||
|
234
docker/archlinux.dockerfile
Normal file
234
docker/archlinux.dockerfile
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
# syntax=docker/dockerfile:1.4
|
||||||
|
# artifacts: true
|
||||||
|
# platforms: linux/amd64
|
||||||
|
# archlinux does not have an arm64 base image
|
||||||
|
ARG BASE=archlinux
|
||||||
|
ARG TAG=base-devel
|
||||||
|
FROM ${BASE}:${TAG} AS sunshine-base
|
||||||
|
|
||||||
|
# install dependencies
|
||||||
|
RUN <<_DEPS
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
pacman -Syu --noconfirm \
|
||||||
|
archlinux-keyring \
|
||||||
|
git
|
||||||
|
_DEPS
|
||||||
|
|
||||||
|
# Setup builder user, arch prevents running makepkg as root
|
||||||
|
RUN useradd -m builder && \
|
||||||
|
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||||
|
WORKDIR /home/builder
|
||||||
|
USER builder
|
||||||
|
|
||||||
|
# install paru
|
||||||
|
WORKDIR /tmp
|
||||||
|
RUN git clone https://aur.archlinux.org/paru.git
|
||||||
|
WORKDIR /tmp/paru
|
||||||
|
RUN makepkg -si --noconfirm
|
||||||
|
|
||||||
|
# install optional dependencies
|
||||||
|
RUN paru -Syu --noconfirm \
|
||||||
|
cuda \
|
||||||
|
libcap \
|
||||||
|
libdrm
|
||||||
|
|
||||||
|
# switch back to root user, hadolint will complain if last user is root
|
||||||
|
# hadolint ignore=DL3002
|
||||||
|
USER root
|
||||||
|
|
||||||
|
FROM sunshine-base as sunshine-build
|
||||||
|
|
||||||
|
ARG BUILD_VERSION
|
||||||
|
ARG COMMIT
|
||||||
|
ARG CLONE_URL
|
||||||
|
# note: BUILD_VERSION may be blank
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||||
|
# install dependencies
|
||||||
|
RUN <<_DEPS
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
pacman -Syu --noconfirm \
|
||||||
|
base-devel \
|
||||||
|
cmake \
|
||||||
|
namcap
|
||||||
|
_DEPS
|
||||||
|
|
||||||
|
# Setup builder user
|
||||||
|
USER builder
|
||||||
|
|
||||||
|
# copy repository
|
||||||
|
WORKDIR /build/sunshine/
|
||||||
|
COPY .. .
|
||||||
|
|
||||||
|
# setup build directory
|
||||||
|
WORKDIR /build/sunshine/build
|
||||||
|
|
||||||
|
# configure PKGBUILD file
|
||||||
|
RUN <<_MAKE
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
if [[ "${BUILD_VERSION}" == '' ]]; then
|
||||||
|
sub_version=".r${COMMIT}"
|
||||||
|
else
|
||||||
|
sub_version=""
|
||||||
|
fi
|
||||||
|
cmake \
|
||||||
|
-DSUNSHINE_CONFIGURE_AUR=ON \
|
||||||
|
-DSUNSHINE_SUB_VERSION="${sub_version}" \
|
||||||
|
-DGITHUB_CLONE_URL="${CLONE_URL}" \
|
||||||
|
-DGITHUB_COMMIT="${COMMIT}" \
|
||||||
|
-DSUNSHINE_CONFIGURE_ONLY=ON \
|
||||||
|
/build/sunshine
|
||||||
|
_MAKE
|
||||||
|
|
||||||
|
WORKDIR /build/sunshine/pkg
|
||||||
|
RUN mv /build/sunshine/build/PKGBUILD .
|
||||||
|
|
||||||
|
# namcap and build PKGBUILD file
|
||||||
|
RUN <<_PKGBUILD
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
namcap -i PKGBUILD
|
||||||
|
makepkg -si --noconfirm
|
||||||
|
ls -a
|
||||||
|
_PKGBUILD
|
||||||
|
|
||||||
|
FROM scratch as artifacts
|
||||||
|
|
||||||
|
COPY --from=sunshine-build /build/sunshine/pkg/PKGBUILD /PKGBUILD
|
||||||
|
COPY --from=sunshine-build /build/sunshine/pkg/sunshine*.pkg.tar.zst /sunshine.pkg.tar.zst
|
||||||
|
|
||||||
|
FROM sunshine-base as uploader
|
||||||
|
|
||||||
|
# most of this stage is borrowed from
|
||||||
|
# https://github.com/KSXGitHub/github-actions-deploy-aur/blob/master/build.sh
|
||||||
|
|
||||||
|
ARG BUILD_VERSION
|
||||||
|
ARG RELEASE
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
|
||||||
|
# Setup builder user
|
||||||
|
WORKDIR /home/builder
|
||||||
|
USER builder
|
||||||
|
|
||||||
|
# hadolint ignore=SC3010
|
||||||
|
RUN <<_SSH_CONFIG
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
if [[ "${TARGETPLATFORM}" == 'linux/amd64' ]]; then
|
||||||
|
echo "Host aur.archlinux.org"; echo " IdentityFile ~/.ssh/aur"; echo " User aur" >>~/.ssh/config
|
||||||
|
fi
|
||||||
|
_SSH_CONFIG
|
||||||
|
|
||||||
|
# create and apply secrets, hadolint is giving a false positive
|
||||||
|
# hadolint ignore=SC1133
|
||||||
|
RUN --mount=type=secret,id=AUR_EMAIL,target=/secrets/AUR_EMAIL \
|
||||||
|
--mount=type=secret,id=AUR_SSH_PRIVATE_KEY,target=/secrets/AUR_SSH_PRIVATE_KEY \
|
||||||
|
--mount=type=secret,id=AUR_USERNAME,target=/secrets/AUR_USERNAME && \
|
||||||
|
cat /secrets/AUR_SSH_PRIVATE_KEY >~/.ssh/aur && \
|
||||||
|
git config --global user.name "$(cat /secrets/AUR_USERNAME)" && \
|
||||||
|
git config --global user.email "$(cat /secrets/AUR_EMAIL)"
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
# hadolint ignore=SC3010
|
||||||
|
RUN <<_AUR_SETUP
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ "${TARGETPLATFORM}" == 'linux/amd64' ]]; then
|
||||||
|
# Adding aur.archlinux.org to known hosts
|
||||||
|
ssh_keyscan_types="rsa,dsa,ecdsa,ed25519"
|
||||||
|
ssh-keyscan -v -t "$ssh_keyscan_types" aur.archlinux.org >>~/.ssh/known_hosts
|
||||||
|
|
||||||
|
# Importing private key
|
||||||
|
chmod -vR 600 ~/.ssh/aur*
|
||||||
|
ssh-keygen -vy -f ~/.ssh/aur >~/.ssh/aur.pub
|
||||||
|
|
||||||
|
# Clone AUR package
|
||||||
|
mkdir -p /tmp/local-repo
|
||||||
|
git clone -v "https://aur.archlinux.org/sunshine.git" /tmp/local-repo
|
||||||
|
|
||||||
|
# Copy built package
|
||||||
|
COPY --from=artifacts /PRKBUILD /tmp/local-repo/
|
||||||
|
fi
|
||||||
|
_AUR_SETUP
|
||||||
|
|
||||||
|
WORKDIR /tmp/local-repo
|
||||||
|
# aur upload if release event
|
||||||
|
# hadolint ignore=SC3010
|
||||||
|
RUN <<_AUR_UPLOAD
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
if [[ "${RELEASE}" == "true" && "${TARGETPLATFORM}" == 'linux/amd64' ]]; then
|
||||||
|
# update package checksums
|
||||||
|
updpkgsums
|
||||||
|
|
||||||
|
# generate srcinfo
|
||||||
|
makepkg --printsrcinfo >.SRCINFO
|
||||||
|
|
||||||
|
# commit changes
|
||||||
|
git add --all
|
||||||
|
|
||||||
|
# check if there are any changes and commit/push
|
||||||
|
if [[ $(git diff-index --quiet HEAD) != "" ]]; then
|
||||||
|
git commit -m "${BUILD_VERSION}"
|
||||||
|
git remote add aur "https://aur.archlinux.org/sunshine.git"
|
||||||
|
git push -v aur master
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
_AUR_UPLOAD
|
||||||
|
|
||||||
|
# remove secrets
|
||||||
|
RUN rm -rf /secrets
|
||||||
|
|
||||||
|
FROM sunshine-base as sunshine
|
||||||
|
|
||||||
|
COPY --from=artifacts /sunshine*.pkg.tar.zst /sunshine.pkg.tar.zst
|
||||||
|
|
||||||
|
# install sunshine
|
||||||
|
RUN <<_INSTALL_SUNSHINE
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
pacman -U --noconfirm \
|
||||||
|
/sunshine.pkg.tar.zst
|
||||||
|
_INSTALL_SUNSHINE
|
||||||
|
|
||||||
|
# network setup
|
||||||
|
EXPOSE 47984-47990/tcp
|
||||||
|
EXPOSE 48010
|
||||||
|
EXPOSE 47998-48000/udp
|
||||||
|
|
||||||
|
# setup user
|
||||||
|
ARG PGID=1000
|
||||||
|
ENV PGID=${PGID}
|
||||||
|
ARG PUID=1000
|
||||||
|
ENV PUID=${PUID}
|
||||||
|
ENV TZ="UTC"
|
||||||
|
ARG UNAME=lizard
|
||||||
|
ENV UNAME=${UNAME}
|
||||||
|
|
||||||
|
ENV HOME=/home/$UNAME
|
||||||
|
|
||||||
|
# setup user
|
||||||
|
RUN <<_SETUP_USER
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
# first delete the builder
|
||||||
|
userdel -r builder
|
||||||
|
|
||||||
|
# then create the lizard user
|
||||||
|
groupadd -f -g "${PGID}" "${UNAME}"
|
||||||
|
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
||||||
|
mkdir -p ${HOME}/.config/sunshine
|
||||||
|
ln -s ${HOME}/.config/sunshine /config
|
||||||
|
chown -R ${UNAME} ${HOME}
|
||||||
|
_SETUP_USER
|
||||||
|
|
||||||
|
USER ${UNAME}
|
||||||
|
WORKDIR ${HOME}
|
||||||
|
|
||||||
|
# entrypoint
|
||||||
|
ENTRYPOINT ["/usr/bin/sunshine"]
|
@ -17,6 +17,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|||||||
# install dependencies
|
# install dependencies
|
||||||
RUN <<_DEPS
|
RUN <<_DEPS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
build-essential=12.9* \
|
build-essential=12.9* \
|
||||||
@ -63,6 +64,7 @@ ENV CUDA_BUILD="520.61.05"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CUDA
|
RUN <<_INSTALL_CUDA
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
||||||
cuda_suffix=""
|
cuda_suffix=""
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
||||||
@ -89,6 +91,7 @@ WORKDIR /build/sunshine/build
|
|||||||
# cmake and cpack
|
# cmake and cpack
|
||||||
RUN <<_MAKE
|
RUN <<_MAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@ -118,6 +121,7 @@ COPY --from=artifacts /sunshine*.deb /sunshine.deb
|
|||||||
# install sunshine
|
# install sunshine
|
||||||
RUN <<_INSTALL_SUNSHINE
|
RUN <<_INSTALL_SUNSHINE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends /sunshine.deb
|
apt-get install -y --no-install-recommends /sunshine.deb
|
||||||
apt-get clean
|
apt-get clean
|
||||||
@ -142,6 +146,8 @@ ENV HOME=/home/$UNAME
|
|||||||
|
|
||||||
# setup user
|
# setup user
|
||||||
RUN <<_SETUP_USER
|
RUN <<_SETUP_USER
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
groupadd -f -g "${PGID}" "${UNAME}"
|
groupadd -f -g "${PGID}" "${UNAME}"
|
||||||
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
||||||
mkdir -p ${HOME}/.config/sunshine
|
mkdir -p ${HOME}/.config/sunshine
|
||||||
|
@ -16,6 +16,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|||||||
# hadolint ignore=DL3041
|
# hadolint ignore=DL3041
|
||||||
RUN <<_DEPS
|
RUN <<_DEPS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
dnf -y update
|
dnf -y update
|
||||||
dnf -y group install "Development Tools"
|
dnf -y group install "Development Tools"
|
||||||
dnf -y install \
|
dnf -y install \
|
||||||
@ -61,6 +62,7 @@ ENV CUDA_BUILD="525.60.13"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CUDA
|
RUN <<_INSTALL_CUDA
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
||||||
cuda_suffix=""
|
cuda_suffix=""
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
||||||
@ -87,6 +89,7 @@ WORKDIR /build/sunshine/build
|
|||||||
# cmake and cpack
|
# cmake and cpack
|
||||||
RUN <<_MAKE
|
RUN <<_MAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@ -116,6 +119,7 @@ COPY --from=artifacts /sunshine*.rpm /sunshine.rpm
|
|||||||
# install sunshine
|
# install sunshine
|
||||||
RUN <<_INSTALL_SUNSHINE
|
RUN <<_INSTALL_SUNSHINE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
dnf -y update
|
dnf -y update
|
||||||
dnf -y install /sunshine.rpm
|
dnf -y install /sunshine.rpm
|
||||||
dnf clean all
|
dnf clean all
|
||||||
@ -140,6 +144,8 @@ ENV HOME=/home/$UNAME
|
|||||||
|
|
||||||
# setup user
|
# setup user
|
||||||
RUN <<_SETUP_USER
|
RUN <<_SETUP_USER
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
groupadd -f -g "${PGID}" "${UNAME}"
|
groupadd -f -g "${PGID}" "${UNAME}"
|
||||||
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
||||||
mkdir -p ${HOME}/.config/sunshine
|
mkdir -p ${HOME}/.config/sunshine
|
||||||
|
@ -16,6 +16,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|||||||
# hadolint ignore=DL3041
|
# hadolint ignore=DL3041
|
||||||
RUN <<_DEPS
|
RUN <<_DEPS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
dnf -y update
|
dnf -y update
|
||||||
dnf -y group install "Development Tools"
|
dnf -y group install "Development Tools"
|
||||||
dnf -y install \
|
dnf -y install \
|
||||||
@ -61,6 +62,7 @@ ENV CUDA_BUILD="525.60.13"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CUDA
|
RUN <<_INSTALL_CUDA
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
||||||
cuda_suffix=""
|
cuda_suffix=""
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
||||||
@ -87,6 +89,7 @@ WORKDIR /build/sunshine/build
|
|||||||
# cmake and cpack
|
# cmake and cpack
|
||||||
RUN <<_MAKE
|
RUN <<_MAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@ -116,6 +119,7 @@ COPY --from=artifacts /sunshine*.rpm /sunshine.rpm
|
|||||||
# install sunshine
|
# install sunshine
|
||||||
RUN <<_INSTALL_SUNSHINE
|
RUN <<_INSTALL_SUNSHINE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
dnf -y update
|
dnf -y update
|
||||||
dnf -y install /sunshine.rpm
|
dnf -y install /sunshine.rpm
|
||||||
dnf clean all
|
dnf clean all
|
||||||
@ -140,6 +144,8 @@ ENV HOME=/home/$UNAME
|
|||||||
|
|
||||||
# setup user
|
# setup user
|
||||||
RUN <<_SETUP_USER
|
RUN <<_SETUP_USER
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
groupadd -f -g "${PGID}" "${UNAME}"
|
groupadd -f -g "${PGID}" "${UNAME}"
|
||||||
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
||||||
mkdir -p ${HOME}/.config/sunshine
|
mkdir -p ${HOME}/.config/sunshine
|
||||||
|
@ -17,6 +17,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|||||||
# install dependencies
|
# install dependencies
|
||||||
RUN <<_DEPS
|
RUN <<_DEPS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
software-properties-common=0.96.24.32.18
|
software-properties-common=0.96.24.32.18
|
||||||
@ -57,6 +58,7 @@ _DEPS
|
|||||||
# https://stackoverflow.com/a/70653945/11214013
|
# https://stackoverflow.com/a/70653945/11214013
|
||||||
RUN <<_GCC_ALIAS
|
RUN <<_GCC_ALIAS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
update-alternatives --install \
|
update-alternatives --install \
|
||||||
/usr/bin/gcc gcc /usr/bin/gcc-10 100 \
|
/usr/bin/gcc gcc /usr/bin/gcc-10 100 \
|
||||||
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
|
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
|
||||||
@ -93,6 +95,7 @@ ENV CMAKE_VERSION="3.25.1"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CMAKE
|
RUN <<_INSTALL_CMAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake_prefix="https://github.com/Kitware/CMake/releases/download/v"
|
cmake_prefix="https://github.com/Kitware/CMake/releases/download/v"
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/amd64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/amd64' ]]; then
|
||||||
cmake_arch="x86_64"
|
cmake_arch="x86_64"
|
||||||
@ -114,6 +117,7 @@ ENV CUDA_BUILD="520.61.05"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CUDA
|
RUN <<_INSTALL_CUDA
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
||||||
cuda_suffix=""
|
cuda_suffix=""
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
||||||
@ -143,6 +147,7 @@ WORKDIR /build/sunshine/build
|
|||||||
# cmake and cpack
|
# cmake and cpack
|
||||||
RUN <<_MAKE
|
RUN <<_MAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@ -172,6 +177,7 @@ COPY --from=artifacts /sunshine*.deb /sunshine.deb
|
|||||||
# install sunshine
|
# install sunshine
|
||||||
RUN <<_INSTALL_SUNSHINE
|
RUN <<_INSTALL_SUNSHINE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends /sunshine.deb
|
apt-get install -y --no-install-recommends /sunshine.deb
|
||||||
apt-get clean
|
apt-get clean
|
||||||
@ -196,6 +202,8 @@ ENV HOME=/home/$UNAME
|
|||||||
|
|
||||||
# setup user
|
# setup user
|
||||||
RUN <<_SETUP_USER
|
RUN <<_SETUP_USER
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
groupadd -f -g "${PGID}" "${UNAME}"
|
groupadd -f -g "${PGID}" "${UNAME}"
|
||||||
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
||||||
mkdir -p ${HOME}/.config/sunshine
|
mkdir -p ${HOME}/.config/sunshine
|
||||||
|
@ -17,6 +17,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|||||||
# install dependencies
|
# install dependencies
|
||||||
RUN <<_DEPS
|
RUN <<_DEPS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
build-essential=12.8* \
|
build-essential=12.8* \
|
||||||
@ -60,6 +61,7 @@ _DEPS
|
|||||||
# https://stackoverflow.com/a/70653945/11214013
|
# https://stackoverflow.com/a/70653945/11214013
|
||||||
RUN <<_GCC_ALIAS
|
RUN <<_GCC_ALIAS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
update-alternatives --install \
|
update-alternatives --install \
|
||||||
/usr/bin/gcc gcc /usr/bin/gcc-10 100 \
|
/usr/bin/gcc gcc /usr/bin/gcc-10 100 \
|
||||||
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
|
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
|
||||||
@ -76,6 +78,7 @@ ENV CMAKE_VERSION="3.25.1"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CMAKE
|
RUN <<_INSTALL_CMAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake_prefix="https://github.com/Kitware/CMake/releases/download/v"
|
cmake_prefix="https://github.com/Kitware/CMake/releases/download/v"
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/amd64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/amd64' ]]; then
|
||||||
cmake_arch="x86_64"
|
cmake_arch="x86_64"
|
||||||
@ -97,6 +100,7 @@ ENV CUDA_BUILD="520.61.05"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CUDA
|
RUN <<_INSTALL_CUDA
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
||||||
cuda_suffix=""
|
cuda_suffix=""
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
||||||
@ -123,6 +127,7 @@ WORKDIR /build/sunshine/build
|
|||||||
# cmake and cpack
|
# cmake and cpack
|
||||||
RUN <<_MAKE
|
RUN <<_MAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@ -152,6 +157,7 @@ COPY --from=artifacts /sunshine*.deb /sunshine.deb
|
|||||||
# install sunshine
|
# install sunshine
|
||||||
RUN <<_INSTALL_SUNSHINE
|
RUN <<_INSTALL_SUNSHINE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends /sunshine.deb
|
apt-get install -y --no-install-recommends /sunshine.deb
|
||||||
apt-get clean
|
apt-get clean
|
||||||
@ -176,6 +182,8 @@ ENV HOME=/home/$UNAME
|
|||||||
|
|
||||||
# setup user
|
# setup user
|
||||||
RUN <<_SETUP_USER
|
RUN <<_SETUP_USER
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
groupadd -f -g "${PGID}" "${UNAME}"
|
groupadd -f -g "${PGID}" "${UNAME}"
|
||||||
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
||||||
mkdir -p ${HOME}/.config/sunshine
|
mkdir -p ${HOME}/.config/sunshine
|
||||||
|
@ -17,6 +17,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|||||||
# install dependencies
|
# install dependencies
|
||||||
RUN <<_DEPS
|
RUN <<_DEPS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
build-essential=12.9* \
|
build-essential=12.9* \
|
||||||
@ -63,6 +64,7 @@ ENV CUDA_BUILD="520.61.05"
|
|||||||
# hadolint ignore=SC3010
|
# hadolint ignore=SC3010
|
||||||
RUN <<_INSTALL_CUDA
|
RUN <<_INSTALL_CUDA
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
cuda_prefix="https://developer.download.nvidia.com/compute/cuda/"
|
||||||
cuda_suffix=""
|
cuda_suffix=""
|
||||||
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
if [[ "${TARGETPLATFORM}" == 'linux/arm64' ]]; then
|
||||||
@ -89,6 +91,7 @@ WORKDIR /build/sunshine/build
|
|||||||
# cmake and cpack
|
# cmake and cpack
|
||||||
RUN <<_MAKE
|
RUN <<_MAKE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
-DCMAKE_CUDA_COMPILER:PATH=/build/cuda/bin/nvcc \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@ -118,6 +121,7 @@ COPY --from=artifacts /sunshine*.deb /sunshine.deb
|
|||||||
# install sunshine
|
# install sunshine
|
||||||
RUN <<_INSTALL_SUNSHINE
|
RUN <<_INSTALL_SUNSHINE
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
apt-get update -y
|
apt-get update -y
|
||||||
apt-get install -y --no-install-recommends /sunshine.deb
|
apt-get install -y --no-install-recommends /sunshine.deb
|
||||||
apt-get clean
|
apt-get clean
|
||||||
@ -142,6 +146,8 @@ ENV HOME=/home/$UNAME
|
|||||||
|
|
||||||
# setup user
|
# setup user
|
||||||
RUN <<_SETUP_USER
|
RUN <<_SETUP_USER
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
groupadd -f -g "${PGID}" "${UNAME}"
|
groupadd -f -g "${PGID}" "${UNAME}"
|
||||||
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
useradd -lm -d ${HOME} -s /bin/bash -g "${PGID}" -G input -u "${PUID}" "${UNAME}"
|
||||||
mkdir -p ${HOME}/.config/sunshine
|
mkdir -p ${HOME}/.config/sunshine
|
||||||
|
@ -36,7 +36,9 @@ CUDA is used for NVFBC capture.
|
|||||||
Package CUDA Version Min Driver CUDA Compute Capabilities
|
Package CUDA Version Min Driver CUDA Compute Capabilities
|
||||||
=========================================== ============== ============== ================================
|
=========================================== ============== ============== ================================
|
||||||
https://aur.archlinux.org/packages/sunshine User dependent User dependent User dependent
|
https://aur.archlinux.org/packages/sunshine User dependent User dependent User dependent
|
||||||
|
PKGBUILD 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
||||||
sunshine.AppImage 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
sunshine.AppImage 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
||||||
|
sunshine.pkg.tar.zst 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
||||||
sunshine_{arch}.flatpak 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
sunshine_{arch}.flatpak 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
||||||
sunshine-debian-bullseye-{arch}.deb 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
sunshine-debian-bullseye-{arch}.deb 11.8.0 450.80.02 50;52;60;61;62;70;75;80;86;90;35
|
||||||
sunshine-fedora-36-{arch}.rpm 12.0.0 525.60.13 50;52;60;61;62;70;75;80;86;90
|
sunshine-fedora-36-{arch}.rpm 12.0.0 525.60.13 50;52;60;61;62;70;75;80;86;90
|
||||||
@ -78,8 +80,8 @@ Uninstall:
|
|||||||
|
|
||||||
./sunshine.AppImage --remove
|
./sunshine.AppImage --remove
|
||||||
|
|
||||||
AUR Package
|
Archlinux AUR Package
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
#. Open terminal and run the following code.
|
#. Open terminal and run the following code.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
@ -93,6 +95,34 @@ Uninstall:
|
|||||||
|
|
||||||
pacman -R sunshine
|
pacman -R sunshine
|
||||||
|
|
||||||
|
Archlinux PKGBUILD
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
#. Open terminal and run the following code.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
wget https://github.com/LizardByte/Sunshine/releases/latest/download/PKGBUILD
|
||||||
|
makepkg -fi
|
||||||
|
|
||||||
|
Uninstall:
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
pacman -R sunshine
|
||||||
|
|
||||||
|
Archlinux pkg
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
#. Open terminal and run the following code.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
wget https://github.com/LizardByte/Sunshine/releases/latest/download/sunshine.pkg.tar.zst
|
||||||
|
pacman -U --noconfirm sunshine.pkg.tar.zst
|
||||||
|
|
||||||
|
Uninstall:
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
pacman -R sunshine
|
||||||
|
|
||||||
Debian Package
|
Debian Package
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
#. Download ``sunshine-{ubuntu-version}.deb`` and run the following code.
|
#. Download ``sunshine-{ubuntu-version}.deb`` and run the following code.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# Edit on github: https://github.com/LizardByte/Sunshine/tree/nightly/packaging/linux/aur/PKGBUILD
|
# Edit on github: https://github.com/LizardByte/Sunshine/tree/nightly/packaging/linux/aur/PKGBUILD
|
||||||
# Reference: https://wiki.archlinux.org/title/PKGBUILD
|
# Reference: https://wiki.archlinux.org/title/PKGBUILD
|
||||||
|
|
||||||
pkgname=@SUNSHINE_AUR_PKG@
|
pkgname='sunshine'
|
||||||
pkgver=@PROJECT_VERSION@@SUNSHINE_SUB_VERSION@
|
pkgver=@PROJECT_VERSION@@SUNSHINE_SUB_VERSION@
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="@PROJECT_DESCRIPTION@"
|
pkgdesc="@PROJECT_DESCRIPTION@"
|
||||||
arch=('x86_64' 'i686')
|
arch=('x86_64' 'aarch64')
|
||||||
url=@PROJECT_HOMEPAGE_URL@
|
url=@PROJECT_HOMEPAGE_URL@
|
||||||
license=('GPL3')
|
license=('GPL3')
|
||||||
|
|
||||||
@ -15,8 +15,7 @@ optdepends=('cuda: NvFBC capture support'
|
|||||||
'libcap'
|
'libcap'
|
||||||
'libdrm')
|
'libdrm')
|
||||||
|
|
||||||
provides=(@SUNSHINE_AUR_PROVIDES@)
|
provides=('sunshine')
|
||||||
conflicts=(@SUNSHINE_AUR_CONFLICTS@)
|
|
||||||
|
|
||||||
source=("$pkgname::git+@GITHUB_CLONE_URL@#commit=@GITHUB_COMMIT@")
|
source=("$pkgname::git+@GITHUB_CLONE_URL@#commit=@GITHUB_COMMIT@")
|
||||||
sha256sums=('SKIP')
|
sha256sums=('SKIP')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user