Merge branch 'master' of gitlab.alpinelinux.org:ayakael/user-aports

This commit is contained in:
build@apk-groulx 2022-08-15 15:56:58 +00:00
commit bb2ddb410c
18 changed files with 182 additions and 819 deletions

118
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,118 @@
stages:
- verify
variables:
GIT_STRATEGY: clone
GIT_DEPTH: "500"
lint:
stage: verify
image: alpinelinux/apkbuild-lint-tools:latest
interruptible: true
script:
- lint
allow_failure: true
only:
- merge_requests
tags:
- docker-alpine
- x86_64
.build:
stage: verify
image: alpinelinux/alpine-gitlab-ci:latest
interruptible: true
script:
- build.sh
artifacts:
paths:
- packages/
- keys/
- logs/
expire_in: 1 day
when: always
only:
- merge_requests
build-x86_64:
extends: .build
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_x86_64
tags:
- docker-alpine
- ci-build
- x86_64
build-x86:
extends: .build
image:
name: alpinelinux/alpine-gitlab-ci:latest-x86
entrypoint: ["linux32", "sh", "-c"]
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_x86
tags:
- docker-alpine
- ci-build
- x86
build-s390x:
extends: .build
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_s390x
tags:
- docker-alpine
- ci-build
- s390x
build-ppc64le:
extends: .build
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_ppc64le
tags:
- docker-alpine
- ci-build
- ppc64le
build-aarch64:
extends: .build
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_aarch64
tags:
- docker-alpine
- ci-build
- aarch64
build-armv7:
extends: .build
image:
name: alpinelinux/alpine-gitlab-ci:latest-armv7
entrypoint: ["linux32", "sh", "-c"]
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_armv7
tags:
- docker-alpine
- ci-build
- armv7
build-armhf:
extends: .build
image:
name: alpinelinux/alpine-gitlab-ci:latest-armhf
entrypoint: ["linux32", "sh", "-c"]
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_armhf
tags:
- docker-alpine
- ci-build
- armhf
build-riscv64-emulated:
extends: .build
when: manual
artifacts:
name: MR${CI_MERGE_REQUEST_ID}_riscv64
tags:
- docker-alpine
- ci-build
- riscv64

View file

@ -1,44 +0,0 @@
# Maintainer: Antoine Martin <dev@ayakael.net>
pkgname=airsonic-advanced
_pkgver=11.0.0
_snapshot=20211119194245
pkgver=${_pkgver}.${_snapshot}
_pkgver=${_pkgver}-SNAPSHOT.${_snapshot}
pkgrel=1
pkgdesc="A free, web-based media streamer and jukebox."
arch='noarch'
url="https://github.com/airsonic-advanced/airsonic-advanced/"
license='GPL3'
depends="openjdk11-jre flac lame ffmpeg"
backup='etc/airsonic/airsonic.conf'
noextract=airsonic.war
source="$pkgname-$_pkgver.war::https://github.com/airsonic-advanced/airsonic-advanced/releases/download/${_pkgver}/airsonic.war
airsonic.conf
airsonic.initd
airsonic.sh"
subpackages="$pkgname-openrc"
provides="airsonic"
options="!check"
package() {
cd ${srcdir}
mkdir -p $pkgdir/var/lib/airsonic
mkdir -p $pkgdir/etc/init.d
mkdir -p $pkgdir/etc/conf.d
mkdir -p $pkgdir/etc/airsonic
mkdir -p $pkgdir/usr/bin
install -Dm755 $srcdir/airsonic-advanced-$_pkgver.war $pkgdir/var/lib/airsonic/airsonic.war
install -Dm755 $srcdir/airsonic.initd $pkgdir/etc/init.d/airsonic
install -Dm644 $srcdir/airsonic.conf $pkgdir/etc/conf.d/airsonic
ln -s /etc/conf.d/airsonic $pkgdir/etc/airsonic/airsonic.conf
install -Dm755 $srcdir/airsonic.sh $pkgdir/usr/bin/airsonic
}
sha512sums="
be8e5485a0119589f82efd958250bc022cc0d499d2ccb961691e9a2056ae53d4c89f817068106cde70ce5d870fb10e3dcfdc169cff7805dd29e2c4b84927fb43 airsonic-advanced-11.0.0-SNAPSHOT.20211119194245.war
0d0c543986a7db15202667461796ed1281e90c0f9c1b5b44bc0df48693f8b1f604b333bef54408c598c23bd9173b8641f102ad7f24ed7abf3316c61d0ca82cb6 airsonic.conf
1f190647bac0b09153de9121c7bb7a4d7ed316a388bbea7087f2a39d2cbe937b3b2f75c4598f887baf9110a4aa2b31745aadf1cade0dfe6a0e4d0f06b00facce airsonic.initd
cebf02fb303fa2587c35c06b86fa0235033aa991f74492ed14b8a777793ba2d832cc67fb66aab0ea5272513960314fafd217d7be32101fc47acb44ea68e03c4c airsonic.sh
"

View file

@ -1,19 +0,0 @@
# Host and port to listen on
AIRSONIC_HOST=127.0.0.1
AIRSONIC_PORT=8080
# To disable https, set to 0
AIRSONIC_HTTPS_PORT=0
AIRSONIC_CONTEXT_PATH=/
AIRSONIC_MAX_MEMORY=1024
# Music directories
AIRSONIC_DEFAULT_MUSIC_FOLDER=/var/music
AIRSONIC_DEFAULT_PODCAST_FOLDER=/var/music/Podcast
AIRSONIC_DEFAULT_PLAYLIST_FOLDER=/var/playlists
NICELEVEL=0
# Further subsonic start script options, if ever needed
AIRSONIC_OPTS="

View file

@ -1,43 +0,0 @@
#!/sbin/openrc-run
# Distributed under the terms of the GNU General Public License, v2 or later
AIRSONIC_HOME=${AIRSONIC_HOME:-/var/lib/${SVCNAME}}
AIRSONIC_USER=${AIRSONIC_USER:-${SVCNAME}}
PIDFILE=/run/airsonic/airsonic.pid
depend() {
after net
}
start() {
checkpath -dq -o airsonic:airsonic -m 755 /run/airsonic/
ebegin "Starting ${SVCNAME}"
start-stop-daemon \
--start --user "${AIRSONIC_USER}" --name airsonic \
--env HOME="${AIRSONIC_HOME}" --exec /usr/bin/airsonic \
--pidfile="${PIDFILE}" \
--nicelevel "${NICELEVEL}" \
-- \
--home="${AIRSONIC_HOME}" \
--host="${AIRSONIC_HOST}" \
--port="${AIRSONIC_PORT}" \
--https-port="${AIRSONIC_HTTPS_PORT}" \
--context-path="${AIRSONIC_CONTEXT_PATH}" \
--max-memory="${AIRSONIC_MAX_MEMORY}" \
--pidfile="${PIDFILE}" \
--default-music-folder="${AIRSONIC_DEFAULT_MUSIC_FOLDER}" \
--default-podcast-folder="${AIRSONIC_DEFAULT_PODCAST_FOLDER}" \
--default-playlist-folder="${AIRSONIC_DEFAULT_PLAYLIST_FOLDER}" \
--quiet
eend $?
}
stop() {
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --stop --user "${AIRSONIC_USER}" \
--pidfile "${PIDFILE}" \
--wait 15000 \
--progress
eend $?
}

View file

@ -1,135 +0,0 @@
#!/bin/sh
###################################################################################
# Shell script for starting Airsonic. See http://airsonic.org.
#
# Author: Sindre Mehus
###################################################################################
AIRSONIC_HOME=/var/lib/airsonic
AIRSONIC_HOST=127.0.0.1
AIRSONIC_PORT=8080
AIRSONIC_HTTPS_PORT=0
AIRSONIC_CONTEXT_PATH=/
AIRSONIC_MAX_MEMORY=150
AIRSONIC_PIDFILE=
AIRSONIC_DEFAULT_MUSIC_FOLDER=/var/lib/media/music
AIRSONIC_DEFAULT_PODCAST_FOLDER=/var/lib/media/podcasts
AIRSONIC_DEFAULT_PLAYLIST_FOLDER=/var/lib/media/playlists
quiet=0
usage() {
echo "Usage: airsonic.sh [options]"
echo " --help This small usage guide."
echo " --home=DIR The directory where Airsonic will create files."
echo " Make sure it is writable. Default: /var/airsonic"
echo " --host=HOST The host name or IP address on which to bind Airsonic."
echo " Only relevant if you have multiple network interfaces and want"
echo " to make Airsonic available on only one of them. The default value"
echo " will bind Airsonic to all available network interfaces. Default: 0.0.0.0"
echo " --port=PORT The port on which Airsonic will listen for"
echo " incoming HTTP traffic. Default: 4040"
echo " --https-port=PORT The port on which Airsonic will listen for"
echo " incoming HTTPS traffic. Default: 0 (disabled)"
echo " --context-path=PATH The context path, i.e., the last part of the Airsonic"
echo " URL. Typically '/' or '/airsonic'. Default '/'"
echo " --max-memory=MB The memory limit (max Java heap size) in megabytes."
echo " Default: 100"
echo " --pidfile=PIDFILE Write PID to this file. Default not created."
echo " --quiet Don't print anything to standard out. Default false."
echo " --default-music-folder=DIR Configure Airsonic to use this folder for music. This option "
echo " only has effect the first time Airsonic is started. Default '/var/music'"
echo " --default-podcast-folder=DIR Configure Airsonic to use this folder for Podcasts. This option "
echo " only has effect the first time Airsonic is started. Default '/var/music/Podcast'"
echo " --default-playlist-folder=DIR Configure Airsonic to use this folder for playlists. This option "
echo " only has effect the first time Airsonic is started. Default '/var/playlists'"
exit 1
}
# Parse arguments.
while [ $# -ge 1 ]; do
case $1 in
--help)
usage
;;
--home=?*)
AIRSONIC_HOME=${1#--home=}
;;
--host=?*)
AIRSONIC_HOST=${1#--host=}
;;
--port=?*)
AIRSONIC_PORT=${1#--port=}
;;
--https-port=?*)
AIRSONIC_HTTPS_PORT=${1#--https-port=}
;;
--context-path=?*)
AIRSONIC_CONTEXT_PATH=${1#--context-path=}
;;
--max-memory=?*)
AIRSONIC_MAX_MEMORY=${1#--max-memory=}
;;
--pidfile=?*)
AIRSONIC_PIDFILE=${1#--pidfile=}
;;
--quiet)
quiet=1
;;
--default-music-folder=?*)
AIRSONIC_DEFAULT_MUSIC_FOLDER=${1#--default-music-folder=}
;;
--default-podcast-folder=?*)
AIRSONIC_DEFAULT_PODCAST_FOLDER=${1#--default-podcast-folder=}
;;
--default-playlist-folder=?*)
AIRSONIC_DEFAULT_PLAYLIST_FOLDER=${1#--default-playlist-folder=}
;;
*)
usage
;;
esac
shift
done
# Use JAVA_HOME if set, otherwise assume java is in the path.
JAVA=java
if [ -e "${JAVA_HOME}" ]
then
JAVA=${JAVA_HOME}/bin/java
fi
# Create Airsonic home directory.
mkdir -p ${AIRSONIC_HOME}
LOG=${AIRSONIC_HOME}/airsonic_sh.log
rm -f ${LOG}
cd $(dirname $0)
if [ -L $0 ] && ([ -e /bin/readlink ] || [ -e /usr/bin/readlink ]); then
cd $(dirname $(readlink $0))
fi
${JAVA} -Xmx${AIRSONIC_MAX_MEMORY}m \
-Dairsonic.home=${AIRSONIC_HOME} \
-Dairsonic.host=${AIRSONIC_HOST} \
-Dairsonic.port=${AIRSONIC_PORT} \
-Dairsonic.httpsPort=${AIRSONIC_HTTPS_PORT} \
-Dairsonic.contextPath=${AIRSONIC_CONTEXT_PATH} \
-Dairsonic.defaultMusicFolder=${AIRSONIC_DEFAULT_MUSIC_FOLDER} \
-Dairsonic.defaultPodcastFolder=${AIRSONIC_DEFAULT_PODCAST_FOLDER} \
-Dairsonic.defaultPlaylistFolder=${AIRSONIC_DEFAULT_PLAYLIST_FOLDER} \
-Djava.awt.headless=true \
-verbose:gc \
-jar ${AIRSONIC_HOME}/airsonic.war > ${LOG} 2>&1 &
# Write pid to pidfile if it is defined.
if [ $AIRSONIC_PIDFILE ]; then
echo $! > ${AIRSONIC_PIDFILE}
fi
if [ $quiet = 0 ]; then
echo Started Airsonic [PID $!, ${LOG}]
fi

View file

@ -1,114 +0,0 @@
# Maintainer: Antoine "ayakael" Martin <dev@ayakael.net>
pkgname=git-annex
pkgver=8.20211231
pkgrel=0
pkgdesc="Manage files with git, without checking their contents into git"
url="http://git-annex.branchable.com"
arch="x86_64"
license="AGPL-3.0-or-later"
depends="
curl
git
openssh-client
rsync
"
makedepends="
alex
cabal
dbus-dev
file-dev
ghc
gmp-dev
gnutls-dev
happy
libffi-dev
libgsasl-dev
libxml2-dev
ncurses-dev
zlib-dev
"
source="https://git.joeyh.name/index.cgi/git-annex.git/snapshot/$pkgname-$pkgver.tar.gz"
subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-zsh-completion"
# Add / remove '-' between "-f" and "FeatureName" to adjust feature build
_feature_flags="
-fAssistant \
-fWebApp \
-fPairing \
-fProduction \
-fTorrentParser \
-fMagicMime \
-fBenchmark \
-f-DebugLocks \
-fDbus \
-fNetworkBSD \
-fGitLfs \
-fHttpClientRestricted \
"
# The man page is always built but, building the rest of the documentation
# requires ikiwiki. If you want to build the documentation add ikiwiki
# to _cabal_flags
_cabal_flags=" --force-reinstalls "
_cabal_makedepends="c2hs cpphs"
_cabal_libdepends="exceptions hslogger async tasty filepath-bytestring split unix-compat"
_localize_home() {
ORIG_HOME="$HOME"
ORIG_TMPDIR="$TMPDIR"
export HOME="$srcdir"/cabal
export TMPDIR="$srcdir"/cabal/tmp
export PATH="$HOME/.cabal/bin:$PATH"
}
_restore_home() {
export HOME="$ORIG_HOME"
export TMPDIR="$ORIG_TMPDIR"
}
prepare() {
default_prepare
_localize_home
mkdir -p "$HOME" "$TMPDIR"
msg "Features: $_feature_flags"
msg "Installing missing cabal dependencies..."
cabal update
cabal install $_cabal_makedepends
cabal install --lib $_cabal_libdepends
cabal install $_cabal_flags --user --only-dependencies $_feature_flags
_restore_home
}
build() {
_localize_home
msg "Configuring..."
cabal configure $_feature_flags
msg "Starting build..."
make
_restore_home
}
check() {
_localize_home
make test
_restore_home
}
package() {
_localize_home
make DESTDIR="$pkgdir" install
_restore_home
}
sha512sums="
cfe5d5dec31b0c9e4f856400b7659cafdb003b3942f7fabc2db9d267d522f8d1ab354a0dd7a63c223575b85b58bac1dce68af4efb15183a6dc63e744a8318f47 git-annex-8.20211231.tar.gz
"

View file

@ -1,11 +0,0 @@
# Description
APKBUILD for git-annex.
# Generates packages
* git-annex (x86_64)
# How to build
* abuild -r
# Known issues
* Docs do not fully generate due to lack of ikwiki dependency

View file

@ -1,103 +0,0 @@
# Maintainer: Antoine "ayakael" Martin <dev@ayakael.net>
pkgname=jellyfin
pkgver=10.8.0_alpha5
_gittag=v${pkgver/_/-}
pkgrel=7
pkgdesc="The Free Software Media System"
arch="x86_64"
case $CARCH in
x86_64) _dotnet_arch=x64;;
aarch64) _dotnet_arch=arm64;;
armv7) _dotnet_arch=arm;;
esac
url="https://github.com/jellyfin/jellyfin"
license="GPL2"
options="!strip !check" # No testsuite
makedepends="
dotnet6-sdk
npm
icu-dev
skia-sharp
"
source="
jellyfin-$_gittag.tar.gz::https://github.com/jellyfin/jellyfin/archive/$_gittag.tar.gz
jellyfin-web-$_gittag.tar.gz::https://github.com/jellyfin/jellyfin-web/archive/$_gittag.tar.gz
jellyfin.conf
jellyfin.initd
"
subpackages="
$pkgname-server
$pkgname-web::noarch
$pkgname-openrc
"
builddir="${srcdir}"/jellyfin-${_gittag/v}
_webdir="${srcdir}"/jellyfin-web-${_gittag/v}
_build_web() {
# Build jellyfin-web
cd "$_webdir"
npm ci --no-audit --unsafe-perm
}
_build_server() {
# Build jellyfin-server
cd "$builddir"
dotnet build --configuration Release Jellyfin.Server
# Ideally, this would be run in package() with the --output variable pointing
# to "$pkgdir"/usr/lib/jellyfin, but this step fails in fakeroot.
# The makepkg output looks like
# Restore completed in 56.84 ms for /aur/jellyfin-git/src/jellyfin/Jellyfin.Server/Jellyfin.Server.csproj.
# ==> ERROR: A failure occurred in package().
# without indicating any sort of failure.
dotnet publish --configuration Release Jellyfin.Server --output "$PWD"/publish
}
build() {
_build_server
_build_web
}
package() {
depends="
jellyfin-web
jellyfin-server
"
mkdir -p "${pkgdir}"
}
server() {
pkgdesc="Jellyfin server component"
depends="
dotnet6-runtime
aspnetcore6-runtime
jellyfin-ffmpeg
sqlite
"
install -dm 755 "$subpkgdir"/usr/lib
cp -r "$builddir"/publish "$subpkgdir"/usr/lib/jellyfin
find "$subpkgdir"/usr/lib/jellyfin/runtimes/ -type d -maxdepth 1 -mindepth 1 \( -not -name "linux-musl-$_dotnet_arch" -a -not -name "alpine-$_dotnet_arch" \) -print0 | xargs -0 -I {} rm -r {}
}
web() {
pkgdesc="Jellyfin web client"
install -dm 755 "$subpkgdir"/usr/lib/jellyfin
cp -r "$_webdir"/dist "$subpkgdir"/usr/lib/jellyfin/jellyfin-web
}
openrc () {
install -Dm 755 jellyfin.initd "$subpkgdir"/etc/init.d/jellyfin
install -Dm 644 jellyfin.conf "$subpkgdir"/etc/conf.d/jellyfin
}
sha512sums="
27c6ee64d2072e664e3d371002d6a1321ff2edd2ffc4cdf6927d8e1361b31c05cef75eaed1862bdb06ffc1b40f4d616c153e0e612d52aab4a90031511ba1532f jellyfin-v10.8.0-alpha5.tar.gz
315646792e00ad6e7f18fd1e64f391188ad48bb765633ea06ccb4fff9239eeec5d204e6721c223936c49eb957f7ef587cebd865dae1225a9df2673e21a784ad1 jellyfin-web-v10.8.0-alpha5.tar.gz
d82fcf2ac22a94c3d189ec2df2e70316688f5e2edbd2f60d6817639cb930a4d19fc5ed2c55bc367f084f91a71cc6d606d1d8e045a6bf947f2a832f682de6734d jellyfin.conf
ed256699b65c6319a42b037e47e99e62db227f336f53599c96914d1b9d859f4a36cca5fdabeec77bd58295a026f11039effd39328d2010ef7537b705a8bd4d60 jellyfin.initd
"

View file

@ -1,7 +0,0 @@
# Data directory
JELLYFIN_DATA_DIRECTORY="/var/lib/jellyfin"
# Cache directory
JELLYFIN_CACHE_DIRECTORY="/var/cache/jellyfin"
# Additional options for the binary
JELLYFIN_ADD_OPTS=""
NICELEVEL=1

View file

@ -1,35 +0,0 @@
#!/sbin/openrc-run
# Distributed under the terms of the GNU General Public License, v2 or later
JELLYFIN_HOME=${JELLYFIN_HOME:-/var/lib/${SVCNAME}}
JELLYFIN_USER=${JELLYFIN_USER:-${SVCNAME}}
PIDFILE=/run/jellyfin/jellyfin.pid
depend() {
after net
}
start() {
checkpath -dq -o jellyfin:jellyfin -m 755 /run/jellyfin/
ebegin "Starting ${SVCNAME}"
start-stop-daemon \
--start --user "${JELLYFIN_USER}" --name jellyfin \
--env HOME="${JELLYFIN_HOME}" --exec /usr/bin/dotnet /usr/lib/jellyfin/jellyfin.dll \
--pidfile="${PIDFILE}" \
--nicelevel "${NICELEVEL}" \
-- \
--datadir "${JELLYFIN_DATA_DIRECTORY}" \
--cachedir "${JELLYFIN_CACHE_DIRECTORY}" \
${JELLYFIN_ADD_OPTS}
eend $?
}
stop() {
ebegin "Stopping ${SVCNAME}"
start-stop-daemon --stop --user "${JELLYFIN_USER}" \
--pidfile "${PIDFILE}" \
--wait 15000 \
--progress
eend $?
}

43
user/jellysub/APKBUILD Normal file
View file

@ -0,0 +1,43 @@
# Maintainer: Antoine Martin <dev@ayakael.net>
pkgname=jellysub
pkgver=0.0.6
pkgrel=0
arch="noarch"
pkgdesc="Jellysub is an HTTP service which sits between Subsonic-compatible clients and a Jellyfin server."
url="https://pypi.python.org/project/$pkgname"
license="MIT"
depends="
python3
py3-aiohttp
py3-configargparse
"
makedepends='py3-setuptools'
subpackages="$pkgname-openrc"
source="
$pkgname-$pkgver.tar.gz::https://pypi.io/packages/source/${pkgname:0:1}/$pkgname/$pkgname-$pkgver.tar.gz
jellysub.openrc
jellysub.conf
"
build() {
msg "Building $pkgname"
python3 setup.py build
}
package() {
python3 setup.py install --root="$pkgdir"/ --optimize=1 --skip-build
install -Dm755 "$srcdir"/jellysub.openrc "$pkgdir"/etc/init.d/jellysub
install -Dm644 "$srcdir"/jellysub.conf "$pkgdir"/etc/conf.d/jellysub
}
check() {
msg "Checking $pkgname"
python3 setup.py test
}
sha512sums="
938b8c32dd4fa093db3e00bb0ec17a362087c772f41eba0129a431c31402df0d046fb039cad2509fd9240554df69f980c81f094a8ee0455de6a09aa8b5fb4b2e jellysub-0.0.6.tar.gz
f10d2187c2cb929f80910ab3b7d80cc5be9e8d211e05ee1e36ab5a2bede2440a63d0cc9a9dc84b97f959b8dfda667654e83e4bf999e5e0ea9b98d19930a07cf7 jellysub.openrc
3b86a9c50bf5a7c1c5144b0f993a0fca5b61d56580209d8c477d81c03e2fd05bdd688c9644063eb8e04542a59cfe68a3a404215afa79a12239ed4cce326f10bd jellysub.conf
"

View file

@ -0,0 +1,2 @@
JELLSUB_HTTP_PORT=4040
JELLYSUB_UPSTREAM_URL=https://yourjellyfinserver.com

View file

@ -0,0 +1,19 @@
#!/sbin/openrc-run
name=$RC_SVCNAME
cfgfile="/etc/conf.d/$RC_SVCNAME.conf"
pidfile="/var/run/$RC_SVCNAME.pid"
command="/usr/bin/jellysub"
command_args=""
command_user="jellysub"
start_stop_daemon_args=""
command_background="yes"
output_log="/var/log/$RC_SVCNAME/$RC_SVCNAME.log"
error_log="/var/log/$RC_SVCNAME/$RC_SVCNAME.err"
start_pre() {
checkpath --directory --owner $command_user:qubes --mode 0775 \
/var/run /var/log/$RC_SVCNAME
export JELLYSUB_HTTP_PORT JELLYSUB_UPSTREAM_URL
}

View file

@ -1,67 +0,0 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=signal-desktop
_pkgname=Signal-Desktop
pkgver=5.52.0
pkgrel=0
pkgdesc="Signal Private Messenger for Linux"
license="GPL-3.0-only"
arch="x86_64"
url="https://signal.org"
depends="hicolor-icon-theme"
makedepends="
alsa-lib-dev
git
git-lfs
gtk+3.0
nodejs
npm
openjpeg-dev
p7zip
python3
libxscrnsaver-dev
vips-dev
yarn
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/signalapp/$_pkgname/archive/v$pkgver.tar.gz
$pkgname.desktop
expire-from-source-date-epoch.patch
"
builddir="$srcdir"/$_pkgname-$pkgver
prepare() {
default_prepare
# Allow higher Node versions
sed 's#"node": "#&>=#' -i package.json
# git-lfs hook needs to be installed for one of the dependencies
git lfs install
yarn --cache-folder "$srcdir"/yarn-cache --ignore-engines --ignore-scripts install
}
build() {
USE_SYSTEM_7ZA=true yarn --cache-folder "$srcdir"/yarn-cache generate
USE_SYSTEM_7ZA=true yarn --cache-folder "$srcdir"/yarn-cache build
}
package() {
install -d "${pkgdir}/usr/"{lib,bin}
cp -a release/linux-unpacked "${pkgdir}/usr/lib/${pkgname}"
ln -s "/usr/lib/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/"
chmod u+s "${pkgdir}/usr/lib/signal-desktop/chrome-sandbox"
install -Dm 644 "../${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
for i in 16 24 32 48 64 128 256 512 1024; do
install -Dm 644 "build/icons/png/${i}x${i}.png" "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${pkgname}.png"
done
}
sha512sums="
64e6ff2dba4525b5bb6bc45f8f8aa422a4ac5da0688d9d6fd9b621d1c4fe288b37f1b6f4b48d92022deea4e8da155297504ea77a5434ec23099e421f3f572cfc signal-desktop-5.52.0.tar.gz
90cfee563a985bc73c4e7984715d190ae0b5c7aa887a7dc15c665980ca5cc8420b02f6c7a54e032c29e18876d5d51cfbe5027a9f0a59de3903f50fd469d73ce0 signal-desktop.desktop
1154859e87d8a2d649bc23210f2dd8aa473f268166559a51a2a64fe6ae094c101121535623b05b711bd87aab1f219627e9274fa542fdb0e5fe6f34b46fd7b7df expire-from-source-date-epoch.patch
"

View file

@ -1,187 +0,0 @@
Return-Path: aruna@signal.org
Delivered-To: kpcyrd@rxv.cc
Received: from orion.archlinux.org (orion.archlinux.org [88.198.91.70])
by mail.rxv.cc (OpenSMTPD) with ESMTPS id 20277d00 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO)
for <kpcyrd@rxv.cc>;
Tue, 7 Jan 2020 18:20:28 +0000 (UTC)
Received: from orion.archlinux.org (localhost [127.0.0.1])
by orion.archlinux.org (Postfix) with ESMTP id AB67717EC9F8AC
for <kpcyrd@archlinux.org>; Tue, 7 Jan 2020 18:20:23 +0000 (UTC)
X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on orion.archlinux.org
X-Spam-Level:
X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00=-1,DKIM_SIGNED=0.1,
DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HTML_MESSAGE=0.001,
LOCAL_FAKEBUSINESS=0.5,RCVD_IN_DNSWL_NONE=-0.0001,SPF_HELO_NONE=0.001,
T_DMARC_POLICY_NONE=0.01 autolearn=no autolearn_force=no version=3.4.3
X-Spam-BL-Results: <dns:1.3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org>
[127.0.5.0]
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by orion.archlinux.org (Postfix) with ESMTPS
for <kpcyrd@archlinux.org>; Tue, 7 Jan 2020 18:20:23 +0000 (UTC)
Received: by mail-ed1-x531.google.com with SMTP id b8so383435edx.7
for <kpcyrd@archlinux.org>; Tue, 07 Jan 2020 10:20:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=signal.org; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
bh=bSFjfcgPZhi0DEnSAuOFA+jYWeb26nFDHmCc2toMM1U=;
b=B7BgoISRirE9NVUMI3pKSDzMirKsxQ7+BN5JJk/WlgHEZ+anP6uIaXLUIcxzjfc8d6
qdHdD1UsUdqHgbwXiE2KeZdTAtIoy80lQUDzjQZRTORfOVgQtgelvwq7d8N8EFy2jfik
K/QOU8pN+NSqsNTw6rZyATa6y1c3OSaxRkJ/I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to;
bh=bSFjfcgPZhi0DEnSAuOFA+jYWeb26nFDHmCc2toMM1U=;
b=YzxIQxXMSHyuIUMo/XiKE4Q4Yo070VgbsWV57e8hWI4vZIQKN3490bAkt0XlGR+bQv
ozPh35v8AjOJ9DSBWOtWriZdB3k05pV+Y/Pu44bmMWE/ThF9eFHZomhHkKOyFdgWpQjT
ffOM39d3DpMY/gTi083CMstFmYtpjYcxTMMTfD6vXtaIBivBUqq5S9shFiwUNEIPQZPy
2DS+NCRi62/8NzIZlXkbeWLmBzTgyEjR7H4DPKHuvxAjDIYfdF3kAnVVBrqvxbQ+VKRu
3Cw4cla6HZq4npO82NPTzYBNZzZfdsypoWLjmopDxdEX+9aEFACOHoCgfQGUPjsaMe5O
7cnQ==
X-Gm-Message-State: APjAAAWXyDg/5THr46Vg5hniOGGHZ/OgYqnBSnmU97hgIZTUbnXhkO3B
RW7cMtIUVxuPUz3DUzeeD/7An/HIl1DpIgePlalM41ZfST8=
X-Google-Smtp-Source: APXvYqxh9T/e1HyKnOSFhjFW3jhiuhEBWF0NhnTDGALsoZHz/wcEaRca9g8sqmsHLAN4Nfu/BE6+mYbuE5F0Ja2LW6g=
X-Received: by 2002:a50:ed94:: with SMTP id h20mr1236027edr.17.1578421222932;
Tue, 07 Jan 2020 10:20:22 -0800 (PST)
MIME-Version: 1.0
References: <CABxKNwm+vbYYDgtooozOok3n5jvqQJXZ0XL0gvz+iSmsLwWQQw@mail.gmail.com>
In-Reply-To: <CABxKNwm+vbYYDgtooozOok3n5jvqQJXZ0XL0gvz+iSmsLwWQQw@mail.gmail.com>
From: Aruna Harder <aruna@signal.org>
Date: Tue, 7 Jan 2020 10:19:54 -0800
Message-ID: <CABxKNwnh+g7wRPd4S5z3pd4RspxRQxtOuz2iANCQ45-DJczVSg@mail.gmail.com>
Subject: Re: distributing Signal Desktop
To: kpcyrd@archlinux.org
Content-Type: multipart/alternative; boundary="0000000000004c9813059b90d4b0"
--0000000000004c9813059b90d4b0
Content-Type: text/plain; charset="UTF-8"
Hello,
I consulted with our attorney and despite the language in our Terms of
Service related to various IP rights, the Signal code is explicitly
licensed under GPLv3. As long as your company complies with the GPLv3, your
use and distribution of Signal Desktop is explicitly permitted under GPLv3.
We do ask that you use reasonable efforts to make timely updates to your
repository to the most current version of Signal as it becomes available.
Please let me know if you have any questions. All the best to you and your
organization.
Thanks.
-aruna
Aruna Harder
Signal Messenger
On Mon, Jan 6, 2020 at 9:38 AM Aruna Harder <aruna@signal.org> wrote:
> Hello,
>
> Moxie forwarded your message to me about distributing Signal Desktop
> (copied here). I will get an agreement to you in the next few days. We
> would like to ensure you are always distributing the latest Signal code,
> for obvious reasons - e.g. to ensure latest fixes to known issues are
> addressed, etc. What is a reasonable timeframe to have latest Signal
> Desktop releases incorporated into your package?
>
> Thanks.
> -aruna
>
> Aruna Harder
> Signal
>
> ==================================================
>
> Date: Tue, 31 Dec 2019 17:48:24 +0000
> From: kpcyrd <kpcyrd@rxv.cc>
> To: moxie@thoughtcrime.org
> Subject: Grant Trademark Use to Arch Linux
>
> ohai!
>
> I'm reaching out to you because I'm looking into distributing
> signal-desktop as an official Arch Linux package. While the GPLv3
> license works great for us we noticed this in the Terms and Conditions:
>
> > Signal's Rights. [...] You may not use our copyrights, trademarks,
> > domains, logos, trade dress, patents, and other intellectual property
> > rights unless you have our written permission. [...]
>
> This is similar to firefox (which we distribute) but more strictly
> worded so we need to ask you to please send us a written permission to
> distribute signal-desktop in the Arch Linux repositories.
>
> We did this before for discord[1] and teamspeak[2].
>
> [1]:
>
> https://git.archlinux.org/svntogit/community.git/tree/trunk/Permission_to_Distribute.mbox?h=packages/discord
> [2]:
>
> https://git.archlinux.org/svntogit/community.git/tree/trunk/PERMISSION.eml?h=packages/teamspeak3
>
> If you wish you may send it to kpcyrd@archlinux.org
>
> Thank you very much
>
--0000000000004c9813059b90d4b0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hello,=C2=A0<div><br></div><div>I consulted with our attor=
ney and despite the language in our Terms of Service related to various IP =
rights,=C2=A0the Signal code is explicitly licensed under GPLv3. As long as=
your company complies with the GPLv3, your use and distribution of Signal =
Desktop is explicitly permitted under GPLv3.=C2=A0</div><div><br></div><div=
>We do ask that you use reasonable efforts to make timely updates to your r=
epository to the most current version of Signal as it becomes available.=C2=
=A0</div><div><br></div><div>Please let me know if you have any questions. =
All the best to you and your organization.=C2=A0</div><div><br></div><div>T=
hanks.</div><div>-aruna</div><div><br></div><div>Aruna Harder</div><div>Sig=
nal=C2=A0Messenger</div></div><br><div class=3D"gmail_quote"><div dir=3D"lt=
r" class=3D"gmail_attr">On Mon, Jan 6, 2020 at 9:38 AM Aruna Harder &lt;<a =
href=3D"mailto:aruna@signal.org">aruna@signal.org</a>&gt; wrote:<br></div><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hell=
o,=C2=A0</div><div><br></div><div>Moxie forwarded your message to me about =
distributing Signal Desktop (copied here). I will get an agreement to you i=
n the next few days. We would like to ensure you are always=C2=A0distributi=
ng the latest Signal code, for obvious=C2=A0reasons - e.g. to ensure latest=
fixes to known issues are addressed, etc. What is a reasonable timeframe t=
o have latest Signal Desktop releases incorporated into your package?=C2=A0=
</div><div><br></div><div>Thanks.=C2=A0</div><div>-aruna</div><div><br></di=
v><div>Aruna Harder<br>Signal=C2=A0</div><div><br></div><div>=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><br>Da=
te: Tue, 31 Dec 2019 17:48:24 +0000<br>From: kpcyrd &lt;kpcyrd@rxv.cc&gt;<b=
r>To:=C2=A0<a href=3D"mailto:moxie@thoughtcrime.org" rel=3D"noreferrer" tar=
get=3D"_blank">moxie@thoughtcrime.org</a><br>Subject: Grant Trademark Use t=
o Arch Linux<br><br>ohai!<br><br>I&#39;m reaching out to you because I&#39;=
m looking into distributing<br>signal-desktop as an official Arch Linux pac=
kage. While the GPLv3<br>license works great for us we noticed this in the =
Terms and Conditions:<br><br>&gt; Signal&#39;s Rights. [...] You may not us=
e our copyrights, trademarks,<br>&gt; domains, logos, trade dress, patents,=
and other intellectual property<br>&gt; rights unless you have our written=
permission. [...]<br><br>This is similar to firefox (which we distribute) =
but more strictly<br>worded so we need to ask you to please send us a writt=
en permission to<br>distribute signal-desktop in the Arch Linux repositorie=
s.<br><br>We did this before for discord[1] and teamspeak[2].<br><br>[1]:<b=
r><a href=3D"https://git.archlinux.org/svntogit/community.git/tree/trunk/Pe=
rmission_to_Distribute.mbox?h=3Dpackages/discord" rel=3D"noreferrer norefer=
rer" target=3D"_blank">https://git.archlinux.org/svntogit/community.git/tre=
e/trunk/Permission_to_Distribute.mbox?h=3Dpackages/discord</a><br>[2]:<br><=
a href=3D"https://git.archlinux.org/svntogit/community.git/tree/trunk/PERMI=
SSION.eml?h=3Dpackages/teamspeak3" rel=3D"noreferrer noreferrer" target=3D"=
_blank">https://git.archlinux.org/svntogit/community.git/tree/trunk/PERMISS=
ION.eml?h=3Dpackages/teamspeak3</a><br><br>If you wish you may send it to=
=C2=A0<a href=3D"mailto:kpcyrd@archlinux.org" rel=3D"noreferrer" target=3D"=
_blank">kpcyrd@archlinux.org</a><br><br>Thank you very much<br></div>
</blockquote></div>
--0000000000004c9813059b90d4b0--

View file

@ -1,11 +0,0 @@
--- a/ts/scripts/get-expire-time.ts
+++ b/ts/scripts/get-expire-time.ts
@@ -8,7 +8,7 @@ import { writeFileSync } from 'fs';
import { DAY } from '../util/durations';
const unixTimestamp = parseInt(
- execSync('git show -s --format=%ct').toString('utf8'),
+ process.env.SOURCE_DATE_EPOCH || execSync('git show -s --format=%ct').toString('utf8'),
10
);
const buildCreation = unixTimestamp * 1000;

View file

@ -1,13 +0,0 @@
[Desktop Entry]
Type=Application
Name=Signal
Comment=Signal - Private Messenger
Comment[de]=Signal - Sicherer Messenger
Icon=signal-desktop
Exec=signal-desktop -- %u
Terminal=false
Categories=Network;InstantMessaging;
StartupWMClass=Signal
MimeType=x-scheme-handler/sgnl;
Keywords=sgnl;chat;im;messaging;messenger;sms;security;privat;
X-GNOME-UsesNotifications=true

View file

@ -1,30 +0,0 @@
# Maintainer: Antoine Martin <antoine@ayakael.net>
# Based on PKGBUILD by the following:
# Contributor: Stefan Tatschner <stefan@rumpelsepp.org>
# Contributor: Franek Madej <franek.madej@gmail.com>
pkgname=yadm
pkgver=3.1.0
pkgrel=3
pkgdesc="Yet Another Dotfiles Manager"
arch='noarch'
url="https://github.com/TheLocehiliosan/yadm"
license='GPL3'
depends='gnupg py3-envtpl bash'
source="$pkgname-$pkgver.tar.gz::https://github.com/TheLocehiliosan/${pkgname}/archive/${pkgver}.tar.gz"
builddir="$srcdir/$pkgname-${pkgver}"
subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-zsh-completion"
options="!check"
package(){
cd "${builddir}"
install -D -m 755 yadm $pkgdir/usr/bin/yadm
install -D -m 644 yadm.1 $pkgdir/usr/share/man/man1/yadm.1
install -D -m 644 completion/bash/yadm "${pkgdir}/usr/share/bash-completion/completions/yadm"
install -D -m 644 completion/zsh/_yadm "${pkgdir}/usr/share/zsh/site-functions/_yadm"
install -D -m 644 completion/fish/yadm.fish "${pkgdir}/usr/share/fish/vendor_completions.d/yadm.fish"
}
sha512sums="9b01243253a117dfbbe5ff5457e9ed1ba0b8dfae71d27cf39325b87042da362ae019ee27067501705dd127cb0ee4d1e6a009968a4b18eda57b2b34273127bc9e yadm-3.1.0.tar.gz"