forked from Mirror/docker-audacity
rebase to ubuntu and build latest from source
This commit is contained in:
parent
2d2ca05ac3
commit
4c7c5d9401
7 changed files with 168 additions and 67 deletions
3
.github/workflows/external_trigger.yml
vendored
3
.github/workflows/external_trigger.yml
vendored
|
@ -18,8 +18,7 @@ jobs:
|
|||
fi
|
||||
echo "**** External trigger running off of main branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_AUDACITY_MAIN\". ****"
|
||||
echo "**** Retrieving external version ****"
|
||||
EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:'"audacity"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://')
|
||||
EXT_RELEASE=$(curl -sX GET https://api.github.com/repos/audacity/audacity/releases/latest | jq -r '.tag_name' | sed 's|^Audacity-||')
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "**** Can't retrieve external version, exiting ****"
|
||||
FAILURE_REASON="Can't retrieve external version for audacity branch main"
|
||||
|
|
68
Dockerfile
68
Dockerfile
|
@ -1,30 +1,66 @@
|
|||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:alpine
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:focal as buildstage
|
||||
|
||||
ARG AUDACITY_VERSION
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
python3-minimal \
|
||||
libjack-jackd2-dev && \
|
||||
echo "**** build audacity ****" && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sX GET "https://api.github.com/repos/audacity/audacity/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^Audacity-||'); \
|
||||
fi && \
|
||||
mkdir -p /app/audacity/build && \
|
||||
curl -o \
|
||||
/tmp/audacity.tar.xz -L \
|
||||
"https://github.com/audacity/audacity/releases/download/Audacity-${AUDACITY_VERSION}/audacity-minsrc-${AUDACITY_VERSION}.tar.xz" && \
|
||||
tar xf \
|
||||
/tmp/audacity.tar.xz -C \
|
||||
/app/audacity --strip-components=1 && \
|
||||
cd /app/audacity/build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -Daudacity_use_wxwidgets=local -Daudacity_use_ffmpeg=loaded .. && \
|
||||
make -j6 && \
|
||||
make install
|
||||
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:focal
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG AUDACITY_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
curl && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:audacity$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
|
||||
fi && \
|
||||
apk add --no-cache \
|
||||
audacity==${AUDACITY_VERSION} && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libasound2 \
|
||||
libavformat58 \
|
||||
libgtk2.0-0 \
|
||||
libjack-jackd2-0 \
|
||||
python3-minimal && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
COPY --from=buildstage /usr/local/share/audacity /usr/local/share/audacity
|
||||
COPY --from=buildstage /usr/local/lib/audacity /usr/local/lib/audacity
|
||||
COPY --from=buildstage /usr/local/bin/audacity /usr/local/bin/audacity
|
||||
COPY --from=buildstage /app/audacity/build/bin/Release/locale /usr/local/share/locale
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3000
|
||||
|
|
|
@ -1,30 +1,66 @@
|
|||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm64v8-alpine
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm64v8-focal as buildstage
|
||||
|
||||
ARG AUDACITY_VERSION
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
python3-minimal \
|
||||
libjack-jackd2-dev && \
|
||||
echo "**** build audacity ****" && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sX GET "https://api.github.com/repos/audacity/audacity/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^Audacity-||'); \
|
||||
fi && \
|
||||
mkdir -p /app/audacity/build && \
|
||||
curl -o \
|
||||
/tmp/audacity.tar.xz -L \
|
||||
"https://github.com/audacity/audacity/releases/download/Audacity-${AUDACITY_VERSION}/audacity-minsrc-${AUDACITY_VERSION}.tar.xz" && \
|
||||
tar xf \
|
||||
/tmp/audacity.tar.xz -C \
|
||||
/app/audacity --strip-components=1 && \
|
||||
cd /app/audacity/build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -Daudacity_use_wxwidgets=local -Daudacity_use_ffmpeg=loaded .. && \
|
||||
make -j6 && \
|
||||
make install
|
||||
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm64v8-focal
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG AUDACITY_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
curl && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:audacity$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
|
||||
fi && \
|
||||
apk add --no-cache \
|
||||
audacity==${AUDACITY_VERSION} && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libasound2 \
|
||||
libavformat58 \
|
||||
libgtk2.0-0 \
|
||||
libjack-jackd2-0 \
|
||||
python3-minimal && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
COPY --from=buildstage /usr/local/share/audacity /usr/local/share/audacity
|
||||
COPY --from=buildstage /usr/local/lib/audacity /usr/local/lib/audacity
|
||||
COPY --from=buildstage /usr/local/bin/audacity /usr/local/bin/audacity
|
||||
COPY --from=buildstage /app/audacity/build/bin/Release/locale /usr/local/share/locale
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3000
|
||||
|
|
|
@ -1,30 +1,66 @@
|
|||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm32v7-alpine
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm32v7-focal as buildstage
|
||||
|
||||
ARG AUDACITY_VERSION
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
python3-minimal \
|
||||
libjack-jackd2-dev && \
|
||||
echo "**** build audacity ****" && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sX GET "https://api.github.com/repos/audacity/audacity/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^Audacity-||'); \
|
||||
fi && \
|
||||
mkdir -p /app/audacity/build && \
|
||||
curl -o \
|
||||
/tmp/audacity.tar.xz -L \
|
||||
"https://github.com/audacity/audacity/releases/download/Audacity-${AUDACITY_VERSION}/audacity-minsrc-${AUDACITY_VERSION}.tar.xz" && \
|
||||
tar xf \
|
||||
/tmp/audacity.tar.xz -C \
|
||||
/app/audacity --strip-components=1 && \
|
||||
cd /app/audacity/build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -Daudacity_use_wxwidgets=local -Daudacity_use_ffmpeg=loaded .. && \
|
||||
make -j6 && \
|
||||
make install
|
||||
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm32v7-focal
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG AUDACITY_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
curl && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:audacity$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
|
||||
fi && \
|
||||
apk add --no-cache \
|
||||
audacity==${AUDACITY_VERSION} && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libasound2 \
|
||||
libavformat58 \
|
||||
libgtk2.0-0 \
|
||||
libjack-jackd2-0 \
|
||||
python3-minimal && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
COPY --from=buildstage /usr/local/share/audacity /usr/local/share/audacity
|
||||
COPY --from=buildstage /usr/local/lib/audacity /usr/local/lib/audacity
|
||||
COPY --from=buildstage /usr/local/bin/audacity /usr/local/bin/audacity
|
||||
COPY --from=buildstage /app/audacity/build/bin/Release/locale /usr/local/share/locale
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3000
|
||||
|
|
18
Jenkinsfile
vendored
18
Jenkinsfile
vendored
|
@ -23,10 +23,7 @@ pipeline {
|
|||
DOCKERHUB_IMAGE = 'linuxserver/audacity'
|
||||
DEV_DOCKERHUB_IMAGE = 'lsiodev/audacity'
|
||||
PR_DOCKERHUB_IMAGE = 'lspipepr/audacity'
|
||||
DIST_IMAGE = 'alpine'
|
||||
DIST_TAG = '3.13'
|
||||
DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.13/community/'
|
||||
DIST_REPO_PACKAGES = 'audacity'
|
||||
DIST_IMAGE = 'ubuntu'
|
||||
MULTIARCH = 'true'
|
||||
CI = 'true'
|
||||
CI_WEB = 'true'
|
||||
|
@ -101,15 +98,14 @@ pipeline {
|
|||
/* ########################
|
||||
External Release Tagging
|
||||
######################## */
|
||||
// If this is an alpine repo change for external version determine an md5 from the version string
|
||||
stage("Set tag Alpine Repo"){
|
||||
// If this is a custom command to determine version use that command
|
||||
stage("Set tag custom bash"){
|
||||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: '''curl -sL "${DIST_REPO}x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
|
||||
&& awk '/^P:'"${DIST_REPO_PACKAGES}"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://' ''',
|
||||
script: ''' curl -sX GET https://api.github.com/repos/audacity/audacity/releases/latest | jq -r '.tag_name' | sed 's|^Audacity-||' ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'alpine_repo'
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -740,11 +736,11 @@ pipeline {
|
|||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||
echo "Pushing New release for Tag"
|
||||
sh '''#! /bin/bash
|
||||
echo "Updating external repo packages to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
echo '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "main",\
|
||||
"name": "'${META_TAG}'",\
|
||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Repo Changes:**\\n\\n' > start
|
||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
# jenkins variables
|
||||
project_name: docker-audacity
|
||||
external_type: alpine_repo
|
||||
external_type: na
|
||||
custom_version_command: "curl -sX GET https://api.github.com/repos/audacity/audacity/releases/latest | jq -r '.tag_name' | sed 's|^Audacity-||'"
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: main
|
||||
|
@ -14,10 +15,7 @@ repo_vars:
|
|||
- DOCKERHUB_IMAGE = 'linuxserver/audacity'
|
||||
- DEV_DOCKERHUB_IMAGE = 'lsiodev/audacity'
|
||||
- PR_DOCKERHUB_IMAGE = 'lspipepr/audacity'
|
||||
- DIST_IMAGE = 'alpine'
|
||||
- DIST_TAG = '3.13'
|
||||
- DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.13/community/'
|
||||
- DIST_REPO_PACKAGES = 'audacity'
|
||||
- DIST_IMAGE = 'ubuntu'
|
||||
- MULTIARCH = 'true'
|
||||
- CI = 'true'
|
||||
- CI_WEB = 'true'
|
||||
|
|
|
@ -1 +1 @@
|
|||
audacity
|
||||
LD_LIBRARY_PATH="/usr/local/lib/audacity" audacity
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue