diff --git a/bind-adblock/.SRCINFO b/bind-adblock/.SRCINFO new file mode 100644 index 0000000..3ee108d --- /dev/null +++ b/bind-adblock/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = bind-adblock + pkgdesc = Fetch various blocklists and generate a BIND RPZ zonefile + pkgver = 2009021459 + pkgrel = 1 + url = https://github.com/Trellmor/bind-adblock + install = bind-adblock.install + arch = any + license = MIT + makedepends = python-requests + makedepends = python-dnspython + depends = bind>=9.8 + backup = var/named/adblock.rpz + source = 7bc3d5-update-zonefile.py::https://raw.githubusercontent.com/Trellmor/bind-adblock/7bc3d5b3cd87eb5af11e1b531842eef550df23a7/update-zonefile.py + source = 7bc3d5-LICENSE::https://raw.githubusercontent.com/Trellmor/bind-adblock/7bc3d5b3cd87eb5af11e1b531842eef550df23a7/LICENSE + source = 7bc3d5-blocklist.txt::https://raw.githubusercontent.com/Trellmor/bind-adblock/7bc3d5b3cd87eb5af11e1b531842eef550df23a7/blocklist.txt + sha512sums = a83a727021abae5a2b28843d3111177b2e4ef025db462710012cd642b0c445e449b359a3082bb09c925e9f73ca0535ef739bdd1464783aa433b923aeeb6bd53c + sha512sums = 19c76446db8f97aece5045aeb0e0303d152522383d1d543bb42fcc37dd8d50013030946293047b115f2c3ee0d238f8b1ec6b6dd1b5327d2ff95dded5edd83787 + sha512sums = c7a4b2254d9ac5888a7f02649fa97c1f0540bfcd968366f3a64d8a575576d715a05128fc7d8aa6015ec0e1cbf973c1019f9af76b0fb668478efd9806803f2d2f + +pkgname = bind-adblock + diff --git a/bind-adblock/.gitignore b/bind-adblock/.gitignore new file mode 100644 index 0000000..b6b6937 --- /dev/null +++ b/bind-adblock/.gitignore @@ -0,0 +1,3 @@ +*LICENSE +*blocklist.txt +*update-zonefile.py diff --git a/bind-adblock/PKGBUILD b/bind-adblock/PKGBUILD new file mode 100644 index 0000000..9c88bd3 --- /dev/null +++ b/bind-adblock/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: George Rawlinson +pkgname=bind-adblock +pkgver=2009021459 +pkgrel=1 +pkgdesc="Fetch various blocklists and generate a BIND RPZ zonefile" +arch=('any') +url="https://github.com/Trellmor/bind-adblock" +license=('MIT') +depends=('bind>=9.8') +makedepends=(python-requests python-dnspython) +backup=('var/named/adblock.rpz') +install=$pkgname.install +# Commit IDs of latest Git commit +_long=7bc3d5b3cd87eb5af11e1b531842eef550df23a7 +_short="${_long:0:6}" +source=("$_short-update-zonefile.py::https://raw.githubusercontent.com/Trellmor/bind-adblock/$_long/update-zonefile.py" + "$_short-LICENSE::https://raw.githubusercontent.com/Trellmor/bind-adblock/$_long/LICENSE" + "$_short-blocklist.txt::https://raw.githubusercontent.com/Trellmor/bind-adblock/$_long/blocklist.txt") +sha512sums=('a83a727021abae5a2b28843d3111177b2e4ef025db462710012cd642b0c445e449b359a3082bb09c925e9f73ca0535ef739bdd1464783aa433b923aeeb6bd53c' + '19c76446db8f97aece5045aeb0e0303d152522383d1d543bb42fcc37dd8d50013030946293047b115f2c3ee0d238f8b1ec6b6dd1b5327d2ff95dded5edd83787' + 'c7a4b2254d9ac5888a7f02649fa97c1f0540bfcd968366f3a64d8a575576d715a05128fc7d8aa6015ec0e1cbf973c1019f9af76b0fb668478efd9806803f2d2f') + +pkgver() { + date +%y%m%d%H%M +} + +prepare() { + mkdir -p "$pkgname" + cp "$_short-update-zonefile.py" "$pkgname/update-zonefile.py" + cp "$_short-blocklist.txt" "$pkgname/blocklist.txt" +} + +_zonefile=adblock.rpz +_origin=adblock.rpz + +build() { + cd "$pkgname" + # instead of packaging the script, build zonefile & update regularly + python update-zonefile.py \ + --no-bind \ + "$_zonefile-$pkgver" \ + "$_origin" + + sed -i "1 s/ 1 / ${pkgver} /" "$_zonefile-$pkgver" +} + +package() { + # ensure directory permissions follow upstream (770) + install -dm770 "$pkgdir/var/named" + + # package zonefile + install -Dm644 "$srcdir/$pkgname/$_zonefile-$pkgver" "$pkgdir/var/named/$_zonefile" + + # package license + install -Dm644 "$srcdir/$_short-LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/bind-adblock/bind-adblock.install b/bind-adblock/bind-adblock.install new file mode 100644 index 0000000..2d1e0ae --- /dev/null +++ b/bind-adblock/bind-adblock.install @@ -0,0 +1,18 @@ +post_install() { + cat< +# Contributor: Philipp A. +# Contributor: Jian Zeng + +pkgname=cargo-expand +pkgver=1.0.7 +pkgrel=1 +pkgdesc='Cargo subcommand to show result of macro expansion' +arch=('x86_64') +url='https://github.com/dtolnay/cargo-expand' +license=('Apache' 'MIT') +depends=('gcc-libs') +makedepends=('rust') +source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz") +b2sums=('11a1c08503ac60401dad323afbcc2245b4462d5d31c4c1c66757489fe884e9af11c8447f8e7cefb0943d24d3517f1a1660e14778540e75a5f824b76580c5117a') + +build() { + cd "$pkgname-$pkgver" + RUSTUP_TOOLCHAIN=stable cargo build --release --locked --all-features --target-dir=target +} + +check() { + cd "$pkgname-$pkgver" + RUSTUP_TOOLCHAIN=stable cargo test --locked --target-dir=target +} + +package() { + cd "$pkgname-$pkgver" + + # binary + install -vDm755 -t "$pkgdir/usr/bin" "target/release/$pkgname" + + # licenses + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE* +} diff --git a/cargo-sort/PKGBUILD b/cargo-sort/PKGBUILD new file mode 100644 index 0000000..9f02abe --- /dev/null +++ b/cargo-sort/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: George Rawlinson +# Contributor: Dominic Meiser [git at msrd0 dot de] + +pkgname=cargo-sort +pkgver=1.0.5 +pkgrel=1 +pkgdesc='Check if tables and items in a .toml file are lexically sorted' +arch=('x86_64') +url="https://github.com/DevinR528/cargo-sort" +license=('Apache' 'MIT') +depends=('gcc-libs') +makedepends=('cargo' 'llvm' 'clang') +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") +b2sums=('647ecaea8e6b5a1f53460996b1374a502c4d0356a29d982c67ee83682710e74a7f709c2495291c1be70e572e77176cbbe29fc7d1728ab88283d586bf948ff40b') + +build() { + cd "$pkgname-$pkgver" + RUSTUP_TOOLCHAIN=stable cargo build --release --locked --target-dir=target +} + +check() { + cd "$pkgname-$pkgver" + RUSTUP_TOOLCHAIN=stable cargo test --locked --target-dir=target +} + +package() { + cd "$pkgname-$pkgver" + + # binary + install -vDm755 -t "$pkgdir/usr/bin" "target/release/$pkgname" + + # licenses + install -vd "$pkgdir/usr/share/licenses/$pkgname" + sed -n '/^####.*$/,/^<\/sub>$/p' README.md \ + > "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md + cp -vr examp "$pkgdir/usr/share/doc/$pkgname/examples" +} diff --git a/check-sieve/.SRCINFO b/check-sieve/.SRCINFO new file mode 100644 index 0000000..3702fe0 --- /dev/null +++ b/check-sieve/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = check-sieve + pkgdesc = Syntax checker for Sieve scripts + pkgver = 0.6 + pkgrel = 2 + url = https://github.com/dburkart/check-sieve + arch = i686 + arch = x86_64 + license = MIT + checkdepends = python + depends = gcc-libs + source = https://github.com/dburkart/check-sieve/archive/check-sieve-0.6.tar.gz + b2sums = ceb747f94385f4f5ed883e6503aab1bde82ece472cf41c16f8bdfb039d72068ec80cc2f1f3b3c0374947d2e785504295dbcda252d1d9df165c354eff509ae3ff + +pkgname = check-sieve + diff --git a/check-sieve/PKGBUILD b/check-sieve/PKGBUILD new file mode 100644 index 0000000..f6f92f0 --- /dev/null +++ b/check-sieve/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Geoffrey Frogeye +# Contributor: George Rawlinson + +pkgname=check-sieve +pkgver=0.6 +pkgrel=2 +pkgdesc="Syntax checker for Sieve scripts" +arch=('i686' 'x86_64') +url="https://github.com/dburkart/check-sieve" +license=('MIT') +depends=('gcc-libs') +checkdepends=('python') +source=("$url/archive/$pkgname-$pkgver.tar.gz") +b2sums=('ceb747f94385f4f5ed883e6503aab1bde82ece472cf41c16f8bdfb039d72068ec80cc2f1f3b3c0374947d2e785504295dbcda252d1d9df165c354eff509ae3ff') + +prepare() { + # rename extracted folder for convenience + mv "$pkgname-$pkgname-$pkgver" "$pkgname-$pkgver" + + # ensure LDFLAGS are passed to compiler + sed -i '/\t$(CXX).*/s/$/ $(LDFLAGS)/' "$pkgname-$pkgver/Makefile" +} + + +build() { + cd "$pkgname-$pkgver" + make +} + +check() { + cd "$pkgname-$pkgver" + make test +} + +package() { + cd "$pkgname-$pkgver" + + make INSTALL_PREFIX="$pkgdir/usr" install + + # license + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" COPYING + + # fix incorrect permissions on library + chmod 644 "$pkgdir/usr/lib/libchecksieve.a" +} + diff --git a/cloud-hypervisor/PKGBUILD b/cloud-hypervisor/PKGBUILD new file mode 100644 index 0000000..eb3e09f --- /dev/null +++ b/cloud-hypervisor/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: + +pkgname=cloud-hypervisor +pkgver=16.0 +pkgrel=1 +pkgdesc="A Virtual Machine Monitor for modern cloud workloads" +url="https://github.com/cloud-hypervisor/cloud-hypervisor" +arch=('x86_64') +license=('Apache') +depends=('gcc-libs') +makedepends=('cargo') +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") +b2sums=('f8327de30c123bcab6ed8c67cc1498ff1e00217f94f001701a430f7365cc8dd28df1a164c55b05f692a5ac2abc58b96f43c3bec984cdd38cbdf319c18949d325') + +build() { + cd "$pkgname-$pkgver" + # FTBFS: --all-features due to hypervisor not compiling + #RUSTUP_TOOLCHAIN=stable cargo build --release --locked --all-features --target-dir=target + cargo build --release +} + +package() { + install -vDm755 -t "$pkgdir/usr/bin" \ + "$pkgname-$pkgver/target/release/"{ch-remote,cloud-hypervisor} +} diff --git a/commitizen/PKGBUILD b/commitizen/PKGBUILD new file mode 100644 index 0000000..86fafa9 --- /dev/null +++ b/commitizen/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: George Rawlinson + +pkgname=commitizen +pkgver=2.17.13 +pkgrel=1 +pkgdesc="A tool for enforcing descriptive commit messages and version/changelog management" +arch=('any') +url="https://github.com/commitizen-tools/commitizen" +license=('MIT') +depends=( + 'python' + 'python-questionary' # AUR + 'python-decli' # AUR + 'python-colorama' + 'python-termcolor' + 'python-packaging' + 'python-tomlkit' + 'python-jinja' + 'python-pyaml' + 'python-argcomplete' + 'python-prompt_toolkit' +) +makedepends=('python-pip' 'python-poetry') +#checkdepends=('python-pytest' 'python-pytest-mock' 'python-pytest-freezegun' 'python-pytest-regressions' 'git') +optdepends=() +#checkdepends=( +# 'python-pytest' +# 'python-pytest-mock' +#) +source=("$pkgname-$pkgver.tar.gz::$url/archive//v$pkgver.tar.gz") +b2sums=('da8414d261ac7a1ad5217f6965e2819a936692e5e282d98a1bebcd7e21da4446b75f677e58408301f12c3903c25f1e3149c7d2958aefe7c672a5b673bb3f8edf') + +#prepare() { + #cd "$pkgname-$pkgver" + # Skip test that checks the root folder of the repo but as we download the tar ball + # it would detect aur as its root + #sed -i'' 's/test_find_git_project_root/skip_find_git_project_root/' tests/test_conf.py +#} + +#check() { +# cd "$pkgname-$pkgver" +# pytest tests/ +#} + +build() { + cd "$pkgname-$pkgver" + poetry build --format wheel +} + +package() { + cd "$pkgname-$pkgver" + + PIP_CONFIG_FILE=/dev/null pip \ + install \ + --isolated \ + --root="$pkgdir" \ + --ignore-installed \ + --no-deps \ + dist/*.whl + + # license + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/dracut-alpm-hook/.SRCINFO b/dracut-alpm-hook/.SRCINFO new file mode 100644 index 0000000..38b88ba --- /dev/null +++ b/dracut-alpm-hook/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = dracut-alpm-hook + pkgdesc = alpm hooks for dracut + pkgver = 1.0.0 + pkgrel = 1 + url = https://wiki.archlinux.org/index.php/Dracut + arch = any + license = GPL + depends = dracut + source = dracut-alpm-hook-1.0.0.tar.gz::https://github.com/grawlinson/dracut-alpm-hook/archive/1.0.0.tar.gz + source = dracut-alpm-hook-1.0.0.tar.gz.asc::https://github.com/grawlinson/dracut-alpm-hook/releases/download/1.0.0/1.0.0.tar.gz.asc + validpgpkeys = 034D823DA2055BEE6A6BF0BB25EA6900D9EA5EBC + sha512sums = e186fd69f401ff04f766e6eae056f2bfaeb7437bc71381b9465c9c341e9c92f1f555fcbca677cd7dfcfcb964160f8aa1f9f81babe30f3f534b7afe59197d716e + sha512sums = SKIP + +pkgname = dracut-alpm-hook + diff --git a/dracut-alpm-hook/PKGBUILD b/dracut-alpm-hook/PKGBUILD new file mode 100644 index 0000000..a45bfba --- /dev/null +++ b/dracut-alpm-hook/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: George Rawlinson + +pkgname=dracut-alpm-hook +pkgver=1.0.0 +pkgrel=1 +pkgdesc='alpm hooks for dracut' +url='https://wiki.archlinux.org/index.php/Dracut' +arch=('any') +license=('GPL') +depends=('dracut') +source=("$pkgname-$pkgver.tar.gz::https://github.com/grawlinson/dracut-alpm-hook/archive/$pkgver.tar.gz" + "$pkgname-$pkgver.tar.gz.asc::https://github.com/grawlinson/dracut-alpm-hook/releases/download/$pkgver/$pkgver.tar.gz.asc") +sha512sums=('e186fd69f401ff04f766e6eae056f2bfaeb7437bc71381b9465c9c341e9c92f1f555fcbca677cd7dfcfcb964160f8aa1f9f81babe30f3f534b7afe59197d716e' + 'SKIP') +validpgpkeys=('034D823DA2055BEE6A6BF0BB25EA6900D9EA5EBC') # George Rawlinson + +package() { + cd "$srcdir/$pkgname-$pkgver/hooks" + install -Dm644 -t "${pkgdir}/usr/share/libalpm/hooks" \ + 60-dracut-remove.hook \ + 90-dracut-install.hook + + cd "$srcdir/$pkgname-$pkgver/scripts" + install -Dm755 -t "${pkgdir}/usr/share/libalpm/scripts" \ + dracut-remove \ + dracut-install +} diff --git a/idracadm7/.SRCINFO b/idracadm7/.SRCINFO new file mode 100644 index 0000000..ce363ea --- /dev/null +++ b/idracadm7/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = idracadm7 + pkgdesc = Command-line interface to the Remote Access Controller - iDRAC7 + pkgver = 9.5.0 + pkgrel = 1 + url = https://linux.dell.com/repo/community/openmanage/ + arch = x86_64 + license = custom:dell + depends = argtable + source = idracadm7-9.5.0.deb::https://linux.dell.com/repo/community/openmanage/950/focal/pool/main/s/srvadmin-idracadm8/srvadmin-idracadm7_9.5.0_all.deb + source = LICENSE + b2sums = fc49ef3f0d22b9a5051a1bb062884b72a3747f3617252058d4802ff1b12f0497f97b7c00cf338f20ce2240d9de9eb854b61ee1864e587ffa4b2efd85082d14ef + b2sums = bf369d65bc553e5431ade90457cd45ec7b47da97031b3c478ed02fafff9b6c10009c0fe7fd4bee6da4a9b97e1d1b2f3f716e622185debb919223e49218ac90aa + +pkgname = idracadm7 + diff --git a/idracadm7/LICENSE b/idracadm7/LICENSE new file mode 100644 index 0000000..515c3ba --- /dev/null +++ b/idracadm7/LICENSE @@ -0,0 +1,7 @@ +© 2019 Dell Inc. or its subsidiaries. + +All Rights Reserved. + +Dell, EMC and other trademarks are trademarks of Dell Inc. or its subsidiaries. + +Other trademarks may be trademarks of their respective owners. diff --git a/idracadm7/PKGBUILD b/idracadm7/PKGBUILD new file mode 100644 index 0000000..f43ae76 --- /dev/null +++ b/idracadm7/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: George Rawlinson + +pkgname=idracadm7 +pkgver=9.5.0 +pkgrel=1 +pkgdesc="Command-line interface to the Remote Access Controller - iDRAC7" +arch=('x86_64') +url='https://linux.dell.com/repo/community/openmanage/' +license=('custom:dell') +depends=(argtable) +source=("$pkgname-$pkgver.deb::https://linux.dell.com/repo/community/openmanage/950/focal/pool/main/s/srvadmin-idracadm8/srvadmin-${pkgname}_${pkgver}_all.deb" + LICENSE) +b2sums=('fc49ef3f0d22b9a5051a1bb062884b72a3747f3617252058d4802ff1b12f0497f97b7c00cf338f20ce2240d9de9eb854b61ee1864e587ffa4b2efd85082d14ef' + 'bf369d65bc553e5431ade90457cd45ec7b47da97031b3c478ed02fafff9b6c10009c0fe7fd4bee6da4a9b97e1d1b2f3f716e622185debb919223e49218ac90aa') +# https://www.dell.com/support/article/en-nz/sln310714/support-for-openmanage-enterprise?lang=en +# https://www.delltechnologies.com/en-us/collaterals/unauth/offering-overview-documents/products/servers/openmanage_enterprise_licensing_guide.pdf + +prepare() { + tar xvf "$srcdir/data.tar.xz" ./opt/dell/srvadmin/bin/idracadm7 --strip-components=5 +} + +package() { + # binary + install -Dm755 -t "$pkgdir/usr/bin" "$srcdir/idracadm7" + + # license + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$srcdir/LICENSE" +} diff --git a/ignite/PKGBUILD b/ignite/PKGBUILD new file mode 100644 index 0000000..9b724f9 --- /dev/null +++ b/ignite/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: techknowlogick + +pkgname=ignite +pkgver=0.10.0 +pkgrel=1 +pkgdesc="Utilise Firecracker microVMs with Docker/OCI images to unify containers & VMs" +arch=('x86_64') +url="https://github.com/weaveworks/ignite" +depends=('containerd' 'cni-plugins' 'firecracker') +makedepends=('go' 'git') +optdepends=( + 'containerd: for container runtime' + 'docker: for container runtime' + 'git: for ignite gitops functionality' + 'openssh: for ignite ssh functionality' +) +license=('Apache') +install="$pkgname.install" +source=( + "$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" + 'systemd.service' + 'tmpfiles.conf' +) +b2sums=('aea336f3aa0ab805e68435f52c0c7ede869d379e23e78e93156aa062ca3baaf0f127c409fbdbd0c7dbbc79d9dde9fa6a1ece5196a29a4070ae96295abbf8029a' + 'e95f5c26d8f03d84a219e850ebecbc2b737012bd8a17b29431a8e89cd1ffaa2b84d58808f077df54d49523ec41c81047861052dd5a1632e98b57f92f59a9b0bb' + '104333c65008ce9311b0a539525b9308b389d177abfa1e332ce28c11f1d72d86cbc1de3eece6d37c78150dad051d7c453c9026d6a2e91795f55d31f51a224be7') + +prepare() { + cd "$pkgname-$pkgver" + mkdir build + go mod vendor +} + +build() { + cd "$pkgname-$pkgver" + # build assumes git repo, but we're building from tarball, so we need to set state to clean + go build -v \ + -mod=vendor \ + -ldflags "$(IGNITE_GIT_VERSION=v${pkgver} ./hack/ldflags.sh)" \ + -o build ./cmd/... +} + +package() { + # systemd integration + install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/ignited.service" + install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + + # binaries + cd "$pkgname-$pkgver" + install -vDm755 -t "$pkgdir/usr/bin" build/* +} + diff --git a/ignite/ignite.install b/ignite/ignite.install new file mode 100644 index 0000000..efc5da6 --- /dev/null +++ b/ignite/ignite.install @@ -0,0 +1,10 @@ +post_install() { + cat < +# Contributor: Fernandez Ludovic + +pkgname=lego +pkgver=4.4.0 +pkgrel=1 +pkgdesc='Lets Encrypt client and ACME library' +url='https://go-acme.github.io/lego/' +arch=('x86_64') +license=('MIT') +depends=(glibc) +makedepends=(go git) +source=("$pkgname-$pkgver.tar.gz::https://github.com/go-acme/lego/archive/v$pkgver.tar.gz") +sha512sums=('a8fc84ae2caee4966691092d1f379eb901c67cef3ca968ba78e1628cab3df02f0fc9b345c33121a6437a9d1495356929faf946920bd9a9e33d58975481330ce2') + +prepare() { + cd $pkgname-$pkgver + + go mod vendor +} + +build() { + cd $pkgname-$pkgver/cmd/lego + go build -v \ + -buildmode=pie \ + -trimpath \ + -mod=vendor \ + -modcacherw \ + -ldflags "-extldflags $LDFLAGS -X "main.version=v${pkgver}"" +} + +package() { + cd $pkgname-$pkgver + + # binary + install -Dm755 "cmd/lego/${pkgname}" "${pkgdir}/usr/bin/${pkgname}" + + # license + install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/libversion/.SRCINFO b/libversion/.SRCINFO new file mode 100644 index 0000000..7cfc271 --- /dev/null +++ b/libversion/.SRCINFO @@ -0,0 +1,14 @@ +pkgbase = libversion + pkgdesc = Advanced version string comparison library + pkgver = 3.0.1 + pkgrel = 1 + url = https://github.com/repology/libversion + arch = x86_64 + license = MIT + makedepends = cmake + depends = gcc-libs + provides = libversion.so + source = libversion-3.0.1.tar.gz::https://github.com/repology/libversion/archive/3.0.1.tar.gz + b2sums = d65f4d415e5c17abf49b641bb7ecee08ccd07c747bfddb43c6d0586a6d48bbb4e87b607f0812abb3da7c5696e928c79ebd1c0a00d7baaf5be75caffe7b18a2e7 + +pkgname = libversion diff --git a/libversion/PKGBUILD b/libversion/PKGBUILD new file mode 100644 index 0000000..9d05cd9 --- /dev/null +++ b/libversion/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: KokaKiwi + +pkgname=libversion +pkgver=3.0.1 +pkgrel=1 +pkgdesc='Advanced version string comparison library' +url='https://github.com/repology/libversion' +license=('MIT') +arch=('x86_64') +depends=('gcc-libs') +makedepends=('cmake') +provides=('libversion.so') +source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz") +b2sums=('d65f4d415e5c17abf49b641bb7ecee08ccd07c747bfddb43c6d0586a6d48bbb4e87b607f0812abb3da7c5696e928c79ebd1c0a00d7baaf5be75caffe7b18a2e7') + +build() { + cmake \ + -B build \ + -S "$pkgname-$pkgver" \ + -D CMAKE_INSTALL_PREFIX=/usr + + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + install -vDm644 "$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/nextcloud-app-client-push/.SRCINFO b/nextcloud-app-client-push/.SRCINFO new file mode 100644 index 0000000..e42fbf6 --- /dev/null +++ b/nextcloud-app-client-push/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = nextcloud-app-client-push + pkgdesc = Push update support for Nextcloud clients + pkgver = 0.1.7 + pkgrel = 2 + url = https://github.com/nextcloud/notify_push + install = nextcloud-app-client-push.install + arch = x86_64 + license = AGPL + makedepends = cargo + depends = nextcloud + depends = gcc-libs + optdepends = redis: use a local redis server + source = nextcloud-app-client-push-0.1.7.tar.gz::https://github.com/nextcloud/notify_push/archive/v0.1.7.tar.gz + source = nextcloud-app-client-push.hook + source = nextcloud-app-client-push.service + b2sums = 7365cf94fa17c1e0af8b88995e0763cc23b831ed94d43448973a2cacca260e06067b60981e2f078e0941087a1a6850ddcd224b2bc44193806c688154b29b81e8 + b2sums = 1dd7720beba1482e1759f7dea8e9c07ae32f2107fc45fe94388993e66ad9a442771209af086b36e0cc50ab36e7a3990c6f3a120e24a525292f906e0d1a3434cd + b2sums = 28f2c102b1370ef7d9bc5bc736f71ccb4708e50285a1f6592535efe2ad0c301e99707021bdc4fe2be131082b1589329334b30ad0ad1e6a6764c189fb4f287170 + +pkgname = nextcloud-app-client-push + diff --git a/nextcloud-app-client-push/PKGBUILD b/nextcloud-app-client-push/PKGBUILD new file mode 100644 index 0000000..cee954c --- /dev/null +++ b/nextcloud-app-client-push/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: George Rawlinson + +pkgname=nextcloud-app-client-push +_pkgname=notify_push +pkgver=0.2.1 +pkgrel=1 +pkgdesc="Push update support for Nextcloud clients" +arch=('x86_64') +url="https://github.com/nextcloud/notify_push" +license=('AGPL') +depends=('nextcloud' 'gcc-libs') +makedepends=('cargo') +optdepends=('redis: use a local redis server') +install="$pkgname.install" +source=( + "$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" + "$pkgname.hook" + "$pkgname.service" +) +b2sums=('ebc6f1480e4e4c51ec9c0d48735b56dfa8643831f58f711e90edce98f4cf8c9bb88347461ec1793e92b7312c0c050ad65b97668bc732885c6d29700fd43c84a5' + '1dd7720beba1482e1759f7dea8e9c07ae32f2107fc45fe94388993e66ad9a442771209af086b36e0cc50ab36e7a3990c6f3a120e24a525292f906e0d1a3434cd' + '28f2c102b1370ef7d9bc5bc736f71ccb4708e50285a1f6592535efe2ad0c301e99707021bdc4fe2be131082b1589329334b30ad0ad1e6a6764c189fb4f287170') + +prepare() { + # kludgy workaround to specify target architecture + sed -i "s/ARCH/$CARCH/" "$pkgname.service" +} + +build() { + cd "$_pkgname-$pkgver" + cargo build --release --locked --all-features +} + +check() { + cd "$_pkgname-$pkgver" + cargo test --release --locked --all-features +} + +package() { + local _appdir="$pkgdir/usr/share/webapps/nextcloud/apps/$_pkgname" + cd "$_pkgname-$pkgver" + + # documentation + install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" \ + README.md \ + "$srcdir/$pkgname.hook" + + # app files + install -d "$_appdir" + cp -a . "$_appdir" + + # binary + install -Dm755 -t "$_appdir/bin/$CARCH" "target/release/$_pkgname" + + # systemd integration + install -Dm644 -t "$pkgdir/usr/lib/systemd/system" "$srcdir/$pkgname.service" + + # cleanup + cd "$_appdir" + rm .dockerignore + cat .nextcloudignore | xargs echo rm -rf | sh +} diff --git a/nextcloud-app-client-push/nextcloud-app-client-push.conf b/nextcloud-app-client-push/nextcloud-app-client-push.conf new file mode 100644 index 0000000..0b659a0 --- /dev/null +++ b/nextcloud-app-client-push/nextcloud-app-client-push.conf @@ -0,0 +1,17 @@ +# Specify path to Nextcloud's config.php +NC_CLIENT_PUSH_ARGS="/etc/webapps/nextcloud/config/config.php" + +# If using the config.php isn't possible, you can configure the push server by +# setting the following environment variables: +#PORT=7867 Listen port for push server +#SOCKET_PATH=/run/nextcloud/push.sock +#DATABASE_URL connection url for the Nextcloud database, e.g. postgres://user:password@db_host/db_name +#DATABASE_PREFIX database prefix configured in Nextcloud, e.g. oc_ +#REDIS_URL connection url for redis, e.g. redis://redis_host +#NEXTCLOUD_URL url for the nextcloud instance, e.g. https://cloud.example.com +#LOG log level of the push server, e.g. error, warn, info, debug or trace +#METRICS_PORT Exposes Prometheus-compatible metrics on configured port if set +#ALLOW_SELF_SIGNED Disable certificate verification by setting this to true + +# If both the config.php and environment variables are provided, the environment +# variables will overwrite the value from config.php diff --git a/nextcloud-app-client-push/nextcloud-app-client-push.hook b/nextcloud-app-client-push/nextcloud-app-client-push.hook new file mode 100644 index 0000000..7b7581d --- /dev/null +++ b/nextcloud-app-client-push/nextcloud-app-client-push.hook @@ -0,0 +1,11 @@ +# Copy, move or symlink this file in /usr/share/libalpm/hooks/ to force a +# restart when nextcloud-app-client-push is updated. + +[Trigger] +Operation = Upgrade +Type = Package +Target = nextcloud-app-client-push + +[Action] +When = PostTransaction +Exec = /usr/bin/systemctl try-restart nextcloud-app-client-push.service diff --git a/nextcloud-app-client-push/nextcloud-app-client-push.install b/nextcloud-app-client-push/nextcloud-app-client-push.install new file mode 100644 index 0000000..e8d92cb --- /dev/null +++ b/nextcloud-app-client-push/nextcloud-app-client-push.install @@ -0,0 +1,7 @@ +post_install() { + echo "Run systemctl enable --now nextcloud-app-client-push.service" + echo "Enable the Nextcloud app via 'occ app:enable notify_push'" + echo "Set up the push server via 'occ notify_push:setup https://cloud.example.com/push'" + echo "Perform a self check via 'occ notify_push:self-test" + echo "See /usr/share/doc/nextcloud-app-client-push for README.md and a pacman hook" +} diff --git a/nextcloud-app-client-push/nextcloud-app-client-push.service b/nextcloud-app-client-push/nextcloud-app-client-push.service new file mode 100644 index 0000000..3d1b293 --- /dev/null +++ b/nextcloud-app-client-push/nextcloud-app-client-push.service @@ -0,0 +1,44 @@ +[Unit] +Description=Push daemon for Nextcloud clients + +[Service] +# If NC_CLIENT_PUSH_ARGS needs to be adjusted, it should be adjusted +# using a drop-in systemd file. See `man 5 systemd.unit` for details. +Environment=NC_CLIENT_PUSH_ARGS="/etc/webapps/nextcloud/config/config.php" +ExecStart=/usr/share/webapps/nextcloud/apps/notify_push/bin/ARCH/notify_push $NC_CLIENT_PUSH_ARGS +User=nextcloud +Group=nextcloud +Restart=on-failure +RestartSec=5s + +# hardening options +UMask=0077 +NoNewPrivileges=true +LimitNOFILE=1048576 +ProtectSystem=strict +ProtectHome=true +PrivateUsers=yes +PrivateTmp=true +PrivateDevices=true +ProtectHostname=true +ProtectClock=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=true +LockPersonality=true +MemoryDenyWriteExecute=true +RestrictRealtime=true +RestrictSUIDSGID=true +RemoveIPC=true +CapabilityBoundingSet= +AmbientCapabilities= + +SystemCallFilter=@system-service +SystemCallFilter=~@privileged @resources +SystemCallArchitectures=native + +[Install] +WantedBy=multi-user.target diff --git a/nginx-mainline-mod-brotli/.SRCINFO b/nginx-mainline-mod-brotli/.SRCINFO new file mode 100644 index 0000000..fb31c7f --- /dev/null +++ b/nginx-mainline-mod-brotli/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = nginx-mainline-mod-brotli + pkgdesc = Brotli compression filter module for nginx + pkgver = 1.0.0rc + pkgrel = 10 + url = https://github.com/google/ngx_brotli + arch = x86_64 + license = BSD + makedepends = nginx-mainline-src + depends = nginx-mainline + depends = brotli + depends = glibc + source = https://github.com/google/ngx_brotli/archive/v1.0.0rc/ngx_brotli-1.0.0rc.tar.gz + b2sums = 450d0ea693bd98d4a1b615f2cdcaad41ccd28266f6d80beec7fe77fe750ab8c5d1bb55aabe15161b9b6d819d2b4d99a7774f2706f2f6fd084b52a7c7dddbc00c + +pkgname = nginx-mainline-mod-brotli diff --git a/nginx-mainline-mod-brotli/PKGBUILD b/nginx-mainline-mod-brotli/PKGBUILD new file mode 100644 index 0000000..b70dcb7 --- /dev/null +++ b/nginx-mainline-mod-brotli/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: George Rawlinson +# Contributor: Massimiliano Torromeo + +pkgname=nginx-mainline-mod-brotli +pkgver=1.0.0rc +pkgrel=11 +pkgdesc="Brotli compression filter module (nginx-mainline)" +arch=('x86_64') +url="https://github.com/google/ngx_brotli" +_modname="${url##*/}" +license=('BSD') +depends=('nginx-mainline' 'brotli') +makedepends=('nginx-mainline-src') +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") +b2sums=('450d0ea693bd98d4a1b615f2cdcaad41ccd28266f6d80beec7fe77fe750ab8c5d1bb55aabe15161b9b6d819d2b4d99a7774f2706f2f6fd084b52a7c7dddbc00c') + +prepare() { + mkdir -p build + ln -sf -t build /usr/src/nginx/{auto,src} +} + +build() { + cd build + /usr/src/nginx/configure --with-compat --add-dynamic-module="$srcdir/$_modname-$pkgver" + make modules +} + +package() { + # modules + install -vDm755 -t "$pkgdir/usr/lib/nginx/modules" build/objs/*.so + + # license + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" "$_modname-$pkgver/LICENSE" +} diff --git a/nginx-mainline-mod-headers-more/.SRCINFO b/nginx-mainline-mod-headers-more/.SRCINFO new file mode 100644 index 0000000..2501605 --- /dev/null +++ b/nginx-mainline-mod-headers-more/.SRCINFO @@ -0,0 +1,14 @@ +pkgbase = nginx-mainline-mod-headers-more + pkgdesc = Set and clear input and output headers + pkgver = 0.33 + pkgrel = 38 + url = https://github.com/openresty/headers-more-nginx-module + arch = x86_64 + license = BSD + makedepends = nginx-mainline-src + depends = nginx-mainline + depends = glibc + source = headers-more-0.33.tar.gz::https://github.com/openresty/headers-more-nginx-module/archive/v0.33.tar.gz + b2sums = fe3097a7700ce5da087058f7bb44c95164b75137031187400473f6833bf0e33e5c4920807225a6ff94174fe7dbd6186cca176a33a629ca0911faab6804bdd12a + +pkgname = nginx-mainline-mod-headers-more diff --git a/nginx-mainline-mod-headers-more/PKGBUILD b/nginx-mainline-mod-headers-more/PKGBUILD new file mode 100644 index 0000000..83b4b1f --- /dev/null +++ b/nginx-mainline-mod-headers-more/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: George Rawlinson +# Contributor: Massimiliano Torromeo + +pkgname=nginx-mainline-mod-headers-more +pkgver=0.33 +pkgrel=39 +pkgdesc="Set and clear input and output headers" +arch=('x86_64') +url="https://github.com/openresty/headers-more-nginx-module" +_modname="${url##*/}" +license=('BSD') +depends=('nginx-mainline') +makedepends=('nginx-mainline-src') +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") +b2sums=('fe3097a7700ce5da087058f7bb44c95164b75137031187400473f6833bf0e33e5c4920807225a6ff94174fe7dbd6186cca176a33a629ca0911faab6804bdd12a') + +prepare() { + mkdir -p build + ln -sf -t build /usr/src/nginx/{auto,src} +} + +build() { + cd build + /usr/src/nginx/configure --with-compat --add-dynamic-module="$srcdir/$_modname-$pkgver" + make modules +} + +package() { + # modules + install -vDm755 -t "$pkgdir/usr/lib/nginx/modules" build/objs/*.so + + cd "$_modname-$pkgver" + + # license + install -d "$pkgdir/usr/share/licenses/$pkgname" + sed -n "507,535p" README.markdown > "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md" + + # documentation + install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.markdown +} diff --git a/nodejs-homebridge-denon-tv/.SRCINFO b/nodejs-homebridge-denon-tv/.SRCINFO new file mode 100644 index 0000000..9880c32 --- /dev/null +++ b/nodejs-homebridge-denon-tv/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = nodejs-homebridge-denon-tv + pkgdesc = Homebridge plugin for Denon/Marantz AV receivers + pkgver = 3.10.61 + pkgrel = 1 + url = https://github.com/grzegorz914/homebridge-denon-tv + arch = any + license = MIT + makedepends = npm + depends = homebridge + noextract = homebridge-denon-tv-3.10.61.tar.gz + options = !strip + source = homebridge-denon-tv-3.10.61.tar.gz::https://registry.npmjs.org/homebridge-denon-tv/-/homebridge-denon-tv-3.10.61.tgz + b2sums = f7b1f7b3aeaa379d7589a24d22cf0348f5e6c13eff83be7ccdcecc3bb01da5a7d5692f482b2940404ffa30f26fec2ec2f892510aea6d1876b0c25dba44f27143 + +pkgname = nodejs-homebridge-denon-tv + diff --git a/nodejs-homebridge-denon-tv/PKGBUILD b/nodejs-homebridge-denon-tv/PKGBUILD new file mode 100644 index 0000000..19f166c --- /dev/null +++ b/nodejs-homebridge-denon-tv/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: George Rawlinson + +pkgname=nodejs-homebridge-denon-tv +_pkgname="${pkgname#nodejs-}" +pkgver=3.10.61 +pkgrel=1 +pkgdesc="Homebridge plugin for Denon/Marantz AV receivers" +arch=('any') +url="https://github.com/grzegorz914/homebridge-denon-tv" +license=('MIT') +depends=('homebridge') +makedepends=('npm') +options=('!strip') +source=("$_pkgname-$pkgver.tar.gz::https://registry.npmjs.org/$_pkgname/-/$_pkgname-$pkgver.tgz") +noextract=("$_pkgname-$pkgver.tar.gz") +b2sums=('f7b1f7b3aeaa379d7589a24d22cf0348f5e6c13eff83be7ccdcecc3bb01da5a7d5692f482b2940404ffa30f26fec2ec2f892510aea6d1876b0c25dba44f27143') + +package() { + npm install --global --prefix "$pkgdir/usr" "$_pkgname-$pkgver.tar.gz" + + # Non-deterministic race in npm gives 777 permissions to random directories + # See https://github.com/npm/cli/issues/1103 for details + find "$pkgdir/usr" -type d -exec chmod 755 {} + + + # npm gives ownership of ALL FILES to build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "$pkgdir" + + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" \ + "$pkgdir/usr/lib/node_modules/$_pkgname/LICENSE" +} diff --git a/nodejs-homebridge-platform-orbit/.SRCINFO b/nodejs-homebridge-platform-orbit/.SRCINFO new file mode 100644 index 0000000..e58f5e4 --- /dev/null +++ b/nodejs-homebridge-platform-orbit/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = nodejs-homebridge-platform-orbit + pkgdesc = Homebridge plugin for Orbit Irrigation System + pkgver = 1.4.5 + pkgrel = 1 + url = https://github.com/MortJC/homebridge-platform-orbit + arch = any + license = MIT + makedepends = npm + depends = homebridge + noextract = homebridge-platform-orbit-1.4.5.tar.gz + options = !strip + source = homebridge-platform-orbit-1.4.5.tar.gz::https://registry.npmjs.org/homebridge-platform-orbit/-/homebridge-platform-orbit-1.4.5.tgz + b2sums = 1c4e2c643dd682a5d5d7ebba2def4037b020954512319dd32ebd09c02031ff227605a24a6f1d99a0fb670c083a20ca69a4d55704b4b7e59846595760344d6d82 + +pkgname = nodejs-homebridge-platform-orbit + diff --git a/nodejs-homebridge-platform-orbit/PKGBUILD b/nodejs-homebridge-platform-orbit/PKGBUILD new file mode 100644 index 0000000..62ddba2 --- /dev/null +++ b/nodejs-homebridge-platform-orbit/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: George Rawlinson + +pkgname=nodejs-homebridge-platform-orbit +_pkgname="${pkgname#nodejs-}" +pkgver=1.4.5 +pkgrel=1 +pkgdesc="Homebridge plugin for Orbit Irrigation System" +arch=('any') +url="https://github.com/MortJC/homebridge-platform-orbit" +license=('MIT') +depends=('homebridge') +makedepends=('npm') +options=('!strip') +source=("$_pkgname-$pkgver.tar.gz::https://registry.npmjs.org/$_pkgname/-/$_pkgname-$pkgver.tgz") +noextract=("$_pkgname-$pkgver.tar.gz") +b2sums=('1c4e2c643dd682a5d5d7ebba2def4037b020954512319dd32ebd09c02031ff227605a24a6f1d99a0fb670c083a20ca69a4d55704b4b7e59846595760344d6d82') + +package() { + npm install --global --prefix "$pkgdir/usr" "$_pkgname-$pkgver.tar.gz" + + # Non-deterministic race in npm gives 777 permissions to random directories + # See https://github.com/npm/cli/issues/1103 for details + find "$pkgdir/usr" -type d -exec chmod 755 {} + + + # npm gives ownership of ALL FILES to build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "$pkgdir" + + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" \ + "$pkgdir/usr/lib/node_modules/$_pkgname/LICENSE" +} diff --git a/nodejs-homebridge-webos-tv/.SRCINFO b/nodejs-homebridge-webos-tv/.SRCINFO new file mode 100644 index 0000000..a79ef83 --- /dev/null +++ b/nodejs-homebridge-webos-tv/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = nodejs-homebridge-webos-tv + pkgdesc = Homebridge plugin for LG webOS TVs + pkgver = 2.2.0 + pkgrel = 1 + url = https://github.com/merdok/homebridge-webos-tv + arch = any + license = MIT + makedepends = npm + depends = homebridge + noextract = homebridge-webos-tv-2.2.0.tar.gz + options = !strip + source = homebridge-webos-tv-2.2.0.tar.gz::https://registry.npmjs.org/homebridge-webos-tv/-/homebridge-webos-tv-2.2.0.tgz + b2sums = ab789f1073899dbf805c3fd96f728b6cb7ee35ef60ae8b958b90a5d26602c7ba0303ce77382ed8ea5e2d1da2363b6f1cf7529c7038797c7d22421a43b58d012e + +pkgname = nodejs-homebridge-webos-tv + diff --git a/nodejs-homebridge-webos-tv/PKGBUILD b/nodejs-homebridge-webos-tv/PKGBUILD new file mode 100644 index 0000000..248c162 --- /dev/null +++ b/nodejs-homebridge-webos-tv/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: George Rawlinson + +pkgname=nodejs-homebridge-webos-tv +_pkgname="${pkgname#nodejs-}" +pkgver=2.2.2 +pkgrel=1 +pkgdesc="Homebridge plugin for LG webOS TVs" +arch=('any') +url="https://github.com/merdok/homebridge-webos-tv" +license=('MIT') +depends=('homebridge') +makedepends=('npm') +options=('!strip') +source=("$_pkgname-$pkgver.tar.gz::https://registry.npmjs.org/$_pkgname/-/$_pkgname-$pkgver.tgz") +noextract=("$_pkgname-$pkgver.tar.gz") +b2sums=('6a208aba330c24a70864f373a7b986d3f38c65ebc46735acebd5c03f363dfe9c13d0e656aac99cb033ece450d96738c83396e6c987c66b6e0d2435fd23165453') + +package() { + npm install --global --prefix "$pkgdir/usr" "$_pkgname-$pkgver.tar.gz" + + # Non-deterministic race in npm gives 777 permissions to random directories + # See https://github.com/npm/cli/issues/1103 for details + find "$pkgdir/usr" -type d -exec chmod 755 {} + + + # npm gives ownership of ALL FILES to build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "$pkgdir" + + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" \ + "$pkgdir/usr/lib/node_modules/$_pkgname/LICENSE" +} diff --git a/nzbget-systemd/.SRCINFO b/nzbget-systemd/.SRCINFO new file mode 100644 index 0000000..ff7c6e9 --- /dev/null +++ b/nzbget-systemd/.SRCINFO @@ -0,0 +1,17 @@ +pkgbase = nzbget-systemd + pkgdesc = Systemd service for NZBGet + pkgver = 0.1 + pkgrel = 4 + url = https://github.com/Holzhaus/PKGBUILDs + arch = any + license = GPL + depends = nzbget + source = nzbget.service + source = nzbget.sysusers + source = nzbget.tmpfiles + sha512sums = 74bb6d1a79c6a0c928877c7bc3149c2e7e2d0536b70abcb6e5a328f1aa4a33ce0ddfa02bee589f886f5c7e7cb8ad7c5a739b0e904196819ad81f6357c7b62944 + sha512sums = b178acf03a0c2776a5609070a51d6a07f4ab2e3e8411e7c0b361db73638b097b663ab564b525a49ce01faf91eb8f9cfb3ef92eb44d702d774419213e0745ce0e + sha512sums = d1042a314238add1e10dbd02fc8912565fec47f67b54aeb10ba66cbaf2d20575985db9188e0ce40f679df1e2ce824435ce1523186d160406057c990e82d3fcbc + +pkgname = nzbget-systemd + diff --git a/nzbget-systemd/PKGBUILD b/nzbget-systemd/PKGBUILD new file mode 100644 index 0000000..71c1e85 --- /dev/null +++ b/nzbget-systemd/PKGBUILD @@ -0,0 +1,23 @@ +# Maintainer: Jan Holthuis +# Contributor: George Rawlinson + +pkgname=nzbget-systemd +_pkgname="${pkgname%-systemd}" +pkgver=0.1 +pkgrel=4 +pkgdesc="Systemd service for NZBGet" +url="https://github.com/Holzhaus/PKGBUILDs" +arch=('any') +depends=('nzbget') +license=('GPL') +source=("$_pkgname.service" + "$_pkgname.sysusers" + "$_pkgname.tmpfiles") +sha512sums=('74bb6d1a79c6a0c928877c7bc3149c2e7e2d0536b70abcb6e5a328f1aa4a33ce0ddfa02bee589f886f5c7e7cb8ad7c5a739b0e904196819ad81f6357c7b62944' + 'b178acf03a0c2776a5609070a51d6a07f4ab2e3e8411e7c0b361db73638b097b663ab564b525a49ce01faf91eb8f9cfb3ef92eb44d702d774419213e0745ce0e' + 'd1042a314238add1e10dbd02fc8912565fec47f67b54aeb10ba66cbaf2d20575985db9188e0ce40f679df1e2ce824435ce1523186d160406057c990e82d3fcbc') +package() { + install -Dm644 -t "${pkgdir}/usr/lib/systemd/system" "$_pkgname.service" + install -Dm644 "$_pkgname.sysusers" "${pkgdir}/usr/lib/sysusers.d/$_pkgname.conf" + install -Dm644 "$_pkgname.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/$_pkgname.conf" +} diff --git a/nzbget-systemd/nzbget.service b/nzbget-systemd/nzbget.service new file mode 100644 index 0000000..26a9747 --- /dev/null +++ b/nzbget-systemd/nzbget.service @@ -0,0 +1,17 @@ +[Unit] +Description=NZBGet Daemon +Documentation=http://nzbget.net/Documentation +After=network.target + +[Service] +User=nzbget +Group=nzbget +Type=forking +ExecStart=/usr/bin/nzbget -D +ExecStop=/usr/bin/nzbget -Q +ExecReload=/usr/bin/nzbget -O +KillMode=process +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/nzbget-systemd/nzbget.sysusers b/nzbget-systemd/nzbget.sysusers new file mode 100644 index 0000000..cf09d3a --- /dev/null +++ b/nzbget-systemd/nzbget.sysusers @@ -0,0 +1 @@ +u nzbget - "NZBGet User" /var/lib/nzbget - diff --git a/nzbget-systemd/nzbget.tmpfiles b/nzbget-systemd/nzbget.tmpfiles new file mode 100644 index 0000000..60295b4 --- /dev/null +++ b/nzbget-systemd/nzbget.tmpfiles @@ -0,0 +1 @@ +d /var/lib/nzbget 0755 nzbget nzbget - - diff --git a/prometheus-smbmc-exporter/.SRCINFO b/prometheus-smbmc-exporter/.SRCINFO new file mode 100644 index 0000000..2158389 --- /dev/null +++ b/prometheus-smbmc-exporter/.SRCINFO @@ -0,0 +1,24 @@ +pkgbase = prometheus-smbmc-exporter + pkgdesc = Prometheus exporter for smbmc metrics + pkgver = 0.1.0 + pkgrel = 3 + url = https://github.com/grawlinson/smbmc-exporter + arch = any + license = GPL + makedepends = python-dephell + depends = python-smbmc + depends = python-click + depends = python-prometheus_client + provides = smbmc-exporter + backup = etc/conf.d/prometheus-smbmc-exporter + source = prometheus-smbmc-exporter-0.1.0.tar.gz::https://github.com/grawlinson/smbmc-exporter/archive/v0.1.0.tar.gz + source = prometheus-smbmc-exporter.conf + source = prometheus-smbmc-exporter.service + source = prometheus-smbmc-exporter.sysusers + b2sums = ae5c63b4e7b19746dfb250c9db1a942133ebb826b315e194d396c4aea478bf5e7587b31568542776f9c79eca0a08503f7506136188bf087c5ac112d1f9f6551c + b2sums = 1603847802a1e330aa03a9a586a0b92da80bfd12ef6c949b95dac81b1473f594b4120eca6acae935a6e5875d3c36ff1a0245fdb2dd0987bd538c0db6699b5150 + b2sums = 635eaf4d6abe8a17bcbbba826d6201726880231b919e54def7d0df44ae9d16b605a48d20c144f28dfbf8e00ed1d1fe65932b33664bc07a00960e69ddfaad98ce + b2sums = 6b1b7367ab783700cfff7eadfeff18220a7cc9e63fa923b4af2fd4da85b0b94b2c6462819f2906d8b1f42eb7e2fb2228b1297537e3585bcb47cc498ca314e716 + +pkgname = prometheus-smbmc-exporter + diff --git a/prometheus-smbmc-exporter/PKGBUILD b/prometheus-smbmc-exporter/PKGBUILD new file mode 100644 index 0000000..ffaace6 --- /dev/null +++ b/prometheus-smbmc-exporter/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: George Rawlinson + +pkgname=prometheus-smbmc-exporter +_pkgname=smbmc-exporter +pkgver=0.1.0 +pkgrel=4 +pkgdesc="Prometheus exporter for smbmc metrics" +arch=('any') +url="https://github.com/grawlinson/smbmc-exporter" +license=('GPL') +depends=('python-smbmc' 'python-click' 'python-prometheus_client') +makedepends=('python-pip' 'python-poetry') +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" + 'systemd.service' + 'sysusers.conf') +b2sums=('ae5c63b4e7b19746dfb250c9db1a942133ebb826b315e194d396c4aea478bf5e7587b31568542776f9c79eca0a08503f7506136188bf087c5ac112d1f9f6551c' + 'a78a964ecef23f2eed36c1c926692848d6b03232ba947dd8234cf43cf7a7151f933749913037964764fa9fcf0a89f3344e67a5fada83f4a90aea241e8c4cb06a' + '6b1b7367ab783700cfff7eadfeff18220a7cc9e63fa923b4af2fd4da85b0b94b2c6462819f2906d8b1f42eb7e2fb2228b1297537e3585bcb47cc498ca314e716') + +build() { + cd "$_pkgname-$pkgver" + poetry build --format wheel +} + +package() { + # systemd integration + install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/$pkgname.service" + install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + + cd "$_pkgname-$pkgver" + + # package + PIP_CONFIG_FILE=/dev/null pip install \ + --isolated \ + --root="$pkgdir" \ + --ignore-installed \ + --no-deps \ + dist/*.whl + + # license + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/prometheus-smbmc-exporter/systemd.service b/prometheus-smbmc-exporter/systemd.service new file mode 100644 index 0000000..b75cad4 --- /dev/null +++ b/prometheus-smbmc-exporter/systemd.service @@ -0,0 +1,44 @@ +[Unit] +Description=Prometheus exporter for smbmc metrics +Requires=network-online.target +After=network-online.target + +[Service] +ExecStart=/usr/bin/smbmc-exporter +ExecReload=/bin/kill -HUP $MAINPID +User=smbmc-exporter +Group=smbmc-exporter +Restart=on-failure +RestartSec=5s + +NoNewPrivileges=true +LimitNOFILE=1048576 +UMask=0077 + +ProtectSystem=strict +ProtectHome=true +PrivateUsers=yes +PrivateTmp=true +PrivateDevices=true +ProtectHostname=true +ProtectClock=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=true +LockPersonality=true +MemoryDenyWriteExecute=true +RestrictRealtime=true +RestrictSUIDSGID=true +RemoveIPC=true +CapabilityBoundingSet= +AmbientCapabilities= + +SystemCallFilter=@system-service +SystemCallFilter=~@privileged @resources +SystemCallArchitectures=native + +[Install] +WantedBy=multi-user.target diff --git a/prometheus-smbmc-exporter/sysusers.conf b/prometheus-smbmc-exporter/sysusers.conf new file mode 100644 index 0000000..10b11be --- /dev/null +++ b/prometheus-smbmc-exporter/sysusers.conf @@ -0,0 +1 @@ +u smbmc-exporter - "Prometheus smbmc exporter user" diff --git a/python-decli/PKGBUILD b/python-decli/PKGBUILD new file mode 100644 index 0000000..7efc657 --- /dev/null +++ b/python-decli/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: George Rawlinson + +pkgname=python-decli +_pkgname="${pkgname#python-}" +pkgver=0.5.2 +pkgrel=1 +pkgdesc="A minimal declarative command-line interface library" +arch=('any') +url="https://github.com/Woile/decli" +license=('MIT') +depends=('python') +makedepends=('python-pip' 'python-poetry') +checkdepends=() +optdepends=() +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") +b2sums=('cc6b281e43643dc0f214223d410bc03972051244c3793500a435ea345f2b6cb28d10f6aa6db6a3dfcc69d054818361166c5f10623e091349749b14391929ee8d') + +build() { + cd "$_pkgname-$pkgver" + poetry build --format wheel +} + +#check() { +# cd "$_name-$pkgver" +#} + +package() { + cd "$_pkgname-$pkgver" + + PIP_CONFIG_FILE=/dev/null pip \ + install \ + --isolated \ + --root="$pkgdir" \ + --ignore-installed \ + --no-deps \ + dist/*.whl + + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/python-questionary/PKGBUILD b/python-questionary/PKGBUILD new file mode 100644 index 0000000..35e8d61 --- /dev/null +++ b/python-questionary/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: George Rawlinson + +pkgname=python-questionary +_pkgname="${pkgname#python-}" +pkgver=1.10.0 +pkgrel=1 +pkgdesc="A library to build pretty command line user prompts" +arch=('any') +url="https://github.com/tmbo/questionary" +license=('MIT') +depends=('python') +makedepends=('python-pip' 'python-poetry') +checkdepends=() +optdepends=() +source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz") +b2sums=('b0f5e10df598306d6ea5fc1b1726879cc11ea44fb200f0dbc31d20993587dd463fd5d34d2b16a9a6018fdbeb64cf2b02afdd621e3446a15faf9fb83fc97037db') + +build() { + cd "$_pkgname-$pkgver" + poetry build --format wheel +} + +#check() { +# cd "$_name-$pkgver" +#} + +package() { + cd "$_pkgname-$pkgver" + + PIP_CONFIG_FILE=/dev/null pip \ + install \ + --isolated \ + --root="$pkgdir" \ + --ignore-installed \ + --no-deps \ + dist/*.whl + + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/python-smbmc/.SRCINFO b/python-smbmc/.SRCINFO new file mode 100644 index 0000000..c0d29e6 --- /dev/null +++ b/python-smbmc/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = python-smbmc + pkgdesc = Supermicro BMC interface + pkgver = 0.2.0 + pkgrel = 2 + url = https://github.com/grawlinson/smbmc + arch = any + license = GPL + makedepends = python-dephell + depends = python-requests + depends = python-defusedxml + source = python-smbmc-0.2.0.tar.gz::https://github.com/grawlinson/smbmc/archive/v0.2.0.tar.gz + b2sums = f73f077de5e2b7e6cb96a19a9eb952f8274e0cb1b5980437b365d6586ef557bbdd494362f301737776c924de2f580d91eec4e45ed18c32dd712b37565fb98784 + +pkgname = python-smbmc + diff --git a/python-smbmc/PKGBUILD b/python-smbmc/PKGBUILD new file mode 100644 index 0000000..17660c9 --- /dev/null +++ b/python-smbmc/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: George Rawlinson + +pkgname=python-smbmc +_pkgname=smbmc +pkgver=0.2.0 +pkgrel=2 +pkgdesc="Supermicro BMC interface" +arch=('any') +url="https://github.com/grawlinson/smbmc" +license=('GPL') +depends=('python-requests' 'python-defusedxml') +makedepends=('python-dephell') +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") +b2sums=('f73f077de5e2b7e6cb96a19a9eb952f8274e0cb1b5980437b365d6586ef557bbdd494362f301737776c924de2f580d91eec4e45ed18c32dd712b37565fb98784') + +prepare() { + cd "$_pkgname-$pkgver" + dephell deps convert --from pyproject.toml --to setup.py +} + +build() { + cd "$_pkgname-$pkgver" + python setup.py build +} + +package() { + cd "$_pkgname-$pkgver" + python setup.py install --root="$pkgdir" --optimize=1 --skip-build + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/rbw/PKGBUILD b/rbw/PKGBUILD new file mode 100644 index 0000000..1969baa --- /dev/null +++ b/rbw/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Jesse Luehrs +pkgname=rbw +pkgver=1.3.0 +pkgrel=2 +pkgdesc="Unofficial Bitwarden CLI" +arch=('x86_64') +url="https://git.tozt.net/rbw" +license=('MIT') +depends=('pinentry') +makedepends=('cargo') +optdepends=( + 'bash-completion: for tab auto-completions' + 'zsh-completions: for tab auto-completions' + 'fish: for tab auto-completions' +) +source=("$url/snapshot/${pkgname}-${pkgver}.tar.gz") +b2sums=('556f509e8137f03359ddaa5ca73d06accaca0a9384e6aefb6e1b6cb17683d4ef8c9a6f4678e954ce6806a32db6e8d4eaa60a51254eddd66fe6a124eef88b1bf1') + +build() { + cd "$pkgname-$pkgver" + RUSTUP_TOOLCHAIN=stable cargo build --release --locked --all-features --target-dir=target + + for completion in bash zsh fish; do + RUSTUP_TOOLCHAIN=stable cargo run --release --locked --bin rbw -- \ + gen-completions "$completion" > "$completion-completions" + done +} + +check() { + cd "$pkgname-$pkgver" + RUSTUP_TOOLCHAIN=stable cargo test --locked --target-dir=target +} + +package() { + cd "$pkgname-$pkgver" + + # binaries + install -vDm755 -t "$pkgdir/usr/bin" target/release/rbw{,-agent} + + # license + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md CHANGELOG.md + + # tab auto-completions + install -Dm 644 bash-completions "${pkgdir}/usr/share/bash-completion/completions/rbw" + install -Dm 644 zsh-completions "${pkgdir}/usr/share/zsh/site-functions/_rbw" + install -Dm 644 fish-completions "${pkgdir}/usr/share/fish/vendor_completions.d/rbw.fish" +} diff --git a/rollup/.SRCINFO b/rollup/.SRCINFO new file mode 100644 index 0000000..a8c90fc --- /dev/null +++ b/rollup/.SRCINFO @@ -0,0 +1,17 @@ +pkgbase = rollup + pkgdesc = Next-generation ES6 module bundler + pkgver = 2.39.1 + pkgrel = 1 + url = https://rollupjs.org/ + arch = any + license = MIT + license = ISC + makedepends = npm + makedepends = jq + depends = nodejs + noextract = rollup-2.39.1.tgz + source = https://registry.npmjs.org/rollup/-/rollup-2.39.1.tgz + b2sums = 373d17524836f0c1df65f7e5e7555f69835ff7a7875a5a73794639c3d99a2e54e9199cc1cf519fd90d7df4688163841eef7d8300e2468d5e2d50955085750b85 + +pkgname = rollup + diff --git a/rollup/PKGBUILD b/rollup/PKGBUILD new file mode 100644 index 0000000..d498601 --- /dev/null +++ b/rollup/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Simon Legner +# Contributor: George Rawlinson + +pkgname=rollup +pkgver=2.39.1 +pkgrel=1 +pkgdesc="Next-generation ES6 module bundler" +arch=(any) +url="https://rollupjs.org/" +license=('MIT' 'ISC') +depends=('nodejs') +makedepends=('npm' 'jq') +source=("https://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz") +noextract=("$pkgname-$pkgver.tgz") +b2sums=('373d17524836f0c1df65f7e5e7555f69835ff7a7875a5a73794639c3d99a2e54e9199cc1cf519fd90d7df4688163841eef7d8300e2468d5e2d50955085750b85') + +package() { + # install package + npm install -g \ + --user root \ + --prefix "$pkgdir/usr" \ + --cache "$srcdir/npm-cache" \ + "$srcdir/$pkgname-$pkgver.tgz" + + # install licenses + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" \ + "$pkgdir/usr/lib/node_modules/rollup/LICENSE.md" + + # remove references to ${src,pkg}dir + local tmppackage="$(mktemp)" + local pkgjson="$pkgdir/usr/lib/node_modules/$pkgname/package.json" + jq '.|=with_entries(select(.key|test("_.+")|not))' "$pkgjson" > "$tmppackage" + mv "$tmppackage" "$pkgjson" + chmod 644 "$pkgjson" + + # npm gives ownership of ALL FILES to build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "$pkgdir" +} diff --git a/rtorrent-systemd/.SRCINFO b/rtorrent-systemd/.SRCINFO new file mode 100644 index 0000000..8fcb523 --- /dev/null +++ b/rtorrent-systemd/.SRCINFO @@ -0,0 +1,28 @@ +pkgbase = rtorrent-systemd + pkgdesc = systemd integration for rtorrent + pkgver = 0.2 + pkgrel = 1 + url = https://git.little.kiwi/grawlinson/arch-pkgs + arch = any + license = GPL + depends = rtorrent + depends = bash + depends = mediainfo + depends = unrar + depends = unzip + depends = sox + depends = ffmpeg + options = emptydirs + backup = etc/rtorrent/rtorrent.conf + source = rtorrent.conf + source = cleanlock + source = tmpfiles.conf + source = sysusers.conf + source = systemd.service + b2sums = 9284e1616a0d3c2a1c06195f8db162c9ef0b19a22d8c9cdc4b2a784b242975ab6df6f87f1f28c7e8462fe9b1b88151002daf238502ca54c747066aa5831176ea + b2sums = e4d4040cbf72c83abc68ad0ca3888c04a435034913346d72ebb9db2c7868fd137f1161fd0f2516aa8e9283c53f9d172bbaf3268c91ed35945483fec19256f0f9 + b2sums = bfb998985ba22350bbabf93cabfae8ea6594ccd9516e0f558d6e1698835f63841644e6dbd9c1a7efe8e2bb762cb2da6aaed3fcd4ed905465dd613003289fecc0 + b2sums = 9c5abfe2383c1e95e7566b835dc27a59c1f25a5318d4652d5eac722ea7b689d342b3a8fcccde1b60bf01c763fd2859f0e8b23ccf3f3f8477df4614e5fb682121 + b2sums = 6bc6643e0ec942a07848b249aecf76b815dfa2da67acc95741483d47e05b4e9b80546a2324911e60b3dc9a0d30a8ecc1708974450de2eb30351b354525b05639 + +pkgname = rtorrent-systemd diff --git a/rtorrent-systemd/PKGBUILD b/rtorrent-systemd/PKGBUILD new file mode 100644 index 0000000..7eb6b0c --- /dev/null +++ b/rtorrent-systemd/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: George Rawlinson + +pkgname=rtorrent-systemd +_pkgname=rtorrent +pkgver=0.2 +pkgrel=1 +pkgdesc="systemd integration for rtorrent" +arch=('any') +url="https://git.little.kiwi/grawlinson/arch-pkgs" +license=('GPL') +depends=(rtorrent bash mediainfo unrar unzip sox ffmpeg) # explicit deps after bash +source=( + "$_pkgname.conf" + 'cleanlock' + 'tmpfiles.conf' + 'sysusers.conf' + 'systemd.service' +) +b2sums=('9284e1616a0d3c2a1c06195f8db162c9ef0b19a22d8c9cdc4b2a784b242975ab6df6f87f1f28c7e8462fe9b1b88151002daf238502ca54c747066aa5831176ea' + 'e4d4040cbf72c83abc68ad0ca3888c04a435034913346d72ebb9db2c7868fd137f1161fd0f2516aa8e9283c53f9d172bbaf3268c91ed35945483fec19256f0f9' + 'bfb998985ba22350bbabf93cabfae8ea6594ccd9516e0f558d6e1698835f63841644e6dbd9c1a7efe8e2bb762cb2da6aaed3fcd4ed905465dd613003289fecc0' + '9c5abfe2383c1e95e7566b835dc27a59c1f25a5318d4652d5eac722ea7b689d342b3a8fcccde1b60bf01c763fd2859f0e8b23ccf3f3f8477df4614e5fb682121' + '6bc6643e0ec942a07848b249aecf76b815dfa2da67acc95741483d47e05b4e9b80546a2324911e60b3dc9a0d30a8ecc1708974450de2eb30351b354525b05639') +backup=("etc/$_pkgname/$_pkgname.conf") +options=('emptydirs') + +package() { + # binaries + install -vDm755 -t "$pkgdir/usr/lib/$_pkgname" cleanlock + + # configuration + install -vDm644 -t "$pkgdir/etc/rtorrent" "$_pkgname.conf" + + # systemd integration + install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/$_pkgname.service" + install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$_pkgname.conf" + install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$_pkgname.conf" +} diff --git a/rtorrent-systemd/cleanlock b/rtorrent-systemd/cleanlock new file mode 100644 index 0000000..54f5c89 --- /dev/null +++ b/rtorrent-systemd/cleanlock @@ -0,0 +1,16 @@ +#!/bin/bash + +SESSIONDIR="/var/lib/rtorrent/session" +LOCKFILE="$SESSIONDIR/rtorrent.lock" + +if [[ -f "$LOCKFILE" ]]; then + # extract PID from lockfile + PIDRT="$(awk -F: '{print($2)}' "${LOCKFILE}" | sed "s/[^0-9]//g")" + + # delete lockfile if PIDRT empty or if rtorrent is not said PID + if [[ -z "$PIDRT" ]] || [[ "$(pgrep rtorrent)" -ne "$PIDRT" ]]; then + rm -f "$LOCKFILE" + fi +fi + +exit 0 diff --git a/rtorrent-systemd/rtorrent.conf b/rtorrent-systemd/rtorrent.conf new file mode 100644 index 0000000..cc0da40 --- /dev/null +++ b/rtorrent-systemd/rtorrent.conf @@ -0,0 +1,103 @@ +## Instance layout (base paths) +method.insert = cfg.basedir, private|const|string, (cat,"/var/lib/rtorrent/") +method.insert = cfg.logdir, private|const|string, (cat,"/var/log/rtorrent/") +method.insert = cfg.rundir, private|const|string, (cat,"/run/rtorrent/") +method.insert = cfg.confdir, private|const|string, (cat,"/etc/rtorrent/") +method.insert = cfg.conf_d, private|const|string, (cat, (cfg.confdir), "conf.d") +method.insert = cfg.download, private|const|string, (cat,(cfg.basedir),"download/") +method.insert = cfg.logfile, private|const|string, (cat,(cfg.logdir),"rtorrent.log") +method.insert = cfg.session, private|const|string, (cat,(cfg.basedir),"session/") +method.insert = cfg.watch, private|const|string, (cat,(cfg.basedir),"watch/") + + +## Create instance directories +execute.throw = sh, -c, (cat,\ + "mkdir -p \"",(cfg.download),"\" ",\ + "\"",(cfg.session),"\" ",\ + "\"",(cfg.watch),"/load\" ",\ + "\"",(cfg.watch),"/start\" ") + + +## Listening port for incoming peer traffic (fixed; you can also randomize it) +network.port_range.set = 50000-50000 +network.port_random.set = no + + +## Tracker-less torrent and UDP tracker support +## (conservative settings for 'private' trackers, change for 'public') +dht.mode.set = disable +protocol.pex.set = no +trackers.use_udp.set = no + + +## Peer settings +throttle.max_uploads.set = 100 +throttle.max_uploads.global.set = 250 +throttle.min_peers.normal.set = 20 +throttle.max_peers.normal.set = 60 +throttle.min_peers.seed.set = 30 +throttle.max_peers.seed.set = 80 +trackers.numwant.set = 80 +protocol.encryption.set = allow_incoming,try_outgoing,enable_retry + + +## Limits for file handle resources, this is optimized for +## an `ulimit` of 1024 (a common default). You MUST leave +## a ceiling of handles reserved for rTorrent's internal needs! +network.http.max_open.set = 50 +network.max_open_files.set = 600 +network.max_open_sockets.set = 300 + + +## Memory resource usage (increase if you have a large number of items loaded, +## and/or the available resources to spend) +pieces.memory.max.set = 1800M +network.xmlrpc.size_limit.set = 20M + + +## Other operational settings (check & adapt) +session.path.set = (cat, (cfg.session)) +directory.default.set = (cat, (cfg.download)) +system.cwd.set = (directory.default) +encoding.add = utf8 +system.umask.set = 0002 +network.http.dns_cache_timeout.set = 25 +schedule2 = monitor_diskspace, 15, 60, ((close_low_diskspace, 1000M)) + + +## Some additional values and commands +method.insert = system.startup_time, value|const, (system.time) +method.insert = d.data_path, simple,\ + "if=(d.is_multi_file),\ + (cat, (d.directory), /),\ + (cat, (d.directory), /, (d.name))" +method.insert = d.session_file, simple, "cat=(session.path), (d.hash), .torrent" + + +## Watch directories (add more as you like, but use unique schedule names) +## Add torrent +schedule2 = watch_load, 11, 10, ((load.verbose, (cat, (cfg.watch), "load/*.torrent"))) +## Add & download straight away +schedule2 = watch_start, 10, 10, ((load.start_verbose, (cat, (cfg.watch), "start/*.torrent"))) + + +## Run the rTorrent process as a daemon in the background +system.daemon.set = true + +# create local socket for xmlrpc +network.scgi.open_local = (cat,(cfg.rundir),"rpc.sock") +execute.nothrow = chmod,770,(cat,(cfg.rundir),"rpc.sock") + +## Logging: +## Levels = critical error warn notice info debug +## Groups = connection_* dht_* peer_* rpc_* storage_* thread_* tracker_* torrent_* +log.open_file = "log", (cfg.logfile) +log.add_output = "info", "log" +# also log execute.* commands +log.execute = (cat, (cfg.logdir), "execute.log") + +# Load config fragments from conf.d +execute.nothrow = sh, -c, (cat,\ + "find ", (cfg.conf_d), " -name '*.conf'",\ + " | sort | sed -re 's/^/import=/' > ", (cfg.rundir), "import.conf") +try_import = (cat, (cfg.rundir), "import.conf") diff --git a/rtorrent-systemd/systemd.service b/rtorrent-systemd/systemd.service new file mode 100644 index 0000000..d2e9577 --- /dev/null +++ b/rtorrent-systemd/systemd.service @@ -0,0 +1,16 @@ +[Unit] +Description=rTorrent daemon +After=network-online.target + +[Service] +User=rtorrent +Group=rtorrent +Type=simple +KillMode=process +ExecStartPre=/usr/lib/rtorrent/cleanlock +ExecStart=/usr/bin/rtorrent -n -o import=/etc/rtorrent/rtorrent.conf +TimeoutStopSec=30 +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/rtorrent-systemd/sysusers.conf b/rtorrent-systemd/sysusers.conf new file mode 100644 index 0000000..afb96de --- /dev/null +++ b/rtorrent-systemd/sysusers.conf @@ -0,0 +1 @@ +u rtorrent - "rTorrent system user" /var/lib/rtorrent /bin/bash diff --git a/rtorrent-systemd/tmpfiles.conf b/rtorrent-systemd/tmpfiles.conf new file mode 100644 index 0000000..327ca50 --- /dev/null +++ b/rtorrent-systemd/tmpfiles.conf @@ -0,0 +1,7 @@ +d /var/lib/rtorrent 755 rtorrent +d /var/lib/rtorrent/download 775 rtorrent +d /var/lib/rtorrent/session 775 rtorrent +d /var/lib/rtorrent/watch 775 rtorrent +d /var/log/rtorrent 755 rtorrent +d /run/rtorrent 755 rtorrent +d /etc/rtorrent/conf.d 755 diff --git a/ruby-cool.io/.SRCINFO b/ruby-cool.io/.SRCINFO new file mode 100644 index 0000000..f6b2821 --- /dev/null +++ b/ruby-cool.io/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = ruby-cool.io + pkgdesc = Simple evented I/O for Ruby + pkgver = 1.7.1 + pkgrel = 2 + url = https://github.com/tarcieri/cool.io + arch = x86_64 + license = MIT + depends = ruby + noextract = cool.io-1.7.1.gem + options = !emptydirs + source = https://rubygems.org/downloads/cool.io-1.7.1.gem + sha1sums = d2c62def6ba6bcc40c57baa25fd83f616629bafa + +pkgname = ruby-cool.io + diff --git a/ruby-cool.io/PKGBUILD b/ruby-cool.io/PKGBUILD new file mode 100644 index 0000000..55da67e --- /dev/null +++ b/ruby-cool.io/PKGBUILD @@ -0,0 +1,30 @@ +# Maintainer: Anatol Pomozov +# Contributor: Andrea Scarpino +# Contributor: William Rea +# Contributor: +# Contributor: Alexsandr Pavlov + +_gemname=cool.io +pkgname=ruby-$_gemname +pkgver=1.7.1 +pkgrel=2 +pkgdesc='Simple evented I/O for Ruby' +arch=(x86_64) +url='https://github.com/tarcieri/cool.io' +license=(MIT) +depends=(ruby) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('d2c62def6ba6bcc40c57baa25fd83f616629bafa') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install --no-document -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" + rm -r "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/ext" +# find "$pkgdir/$_gemdir/extensions/" -name *.so -delete +# rm -r "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/test" + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + +} diff --git a/ruby-http_parser.rb/.SRCINFO b/ruby-http_parser.rb/.SRCINFO new file mode 100644 index 0000000..63c6688 --- /dev/null +++ b/ruby-http_parser.rb/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = ruby-http_parser.rb + pkgdesc = simple callback-based HTTP request/response parser + pkgver = 0.6.0 + pkgrel = 2 + url = http://github.com/tmm1/http_parser.rb + arch = i686 + arch = x86_64 + license = MIT + depends = ruby + noextract = http_parser.rb-0.6.0.gem + options = !emptydirs + source = https://rubygems.org/downloads/http_parser.rb-0.6.0.gem + sha256sums = f11d0aec50ef26a7d1f991e627ac88acdb5979282aeba7a5c3be6ce0636ed196 + +pkgname = ruby-http_parser.rb + diff --git a/ruby-http_parser.rb/PKGBUILD b/ruby-http_parser.rb/PKGBUILD new file mode 100644 index 0000000..6976e4c --- /dev/null +++ b/ruby-http_parser.rb/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: George Rawlinson + +_gemname=http_parser.rb +pkgname=ruby-$_gemname +pkgver=0.7.0 +pkgrel=1 +pkgdesc="A simple callback-based HTTP request/response parser" +arch=('x86_64') +url="http://github.com/tmm1/http_parser.rb" +license=('MIT') +depends=('ruby') +options=('!emptydirs') +source=("https://rubygems.org/downloads/$_gemname-$pkgver.gem") +noextract=("$_gemname-$pkgver.gem") +b2sums=('3bf2e71a433bcbf4852adb07c06f3bffd41fbf2d863b9cdd2f9a5ea352ae335dc960970066cbcfbf84d2cb5c1627ce852afb7315a34ab80af0af458a7ebb043d') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install \ + --ignore-dependencies \ + --no-user-install \ + --no-document \ + --install-dir "$pkgdir/$_gemdir" \ + --bindir "$pkgdir/usr/bin" \ + "$_gemname-$pkgver.gem" + + # delete unnecessary files & folders + cd "$pkgdir/$_gemdir" + rm -rf cache + cd "gems/$_gemname-$pkgver" + rm -rf ext .git* + + # move documentation + install -vd "$pkgdir/usr/share/doc/$pkgname" + mv README.md "$pkgdir/usr/share/doc/$pkgname" + + # move license + install -vd "$pkgdir/usr/share/licenses/$pkgname" + mv LICENSE-MIT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + diff --git a/ruby-oj/.SRCINFO b/ruby-oj/.SRCINFO new file mode 100644 index 0000000..5e32e22 --- /dev/null +++ b/ruby-oj/.SRCINFO @@ -0,0 +1,14 @@ +pkgbase = ruby-oj + pkgdesc = The fastest JSON parser and object serializer + pkgver = 3.11.7 + pkgrel = 1 + url = https://github.com/ohler55/oj + arch = x86_64 + license = MIT + depends = ruby + noextract = oj-3.11.7.gem + options = !emptydirs + source = https://rubygems.org/downloads/oj-3.11.7.gem + b2sums = 0e85900c06357c056b81f500d1bf0db1050f63c340523c437b4443cef05532c16b706de04df646842b5072c9ba324c79d5d881111f0a6fabb646fdc3ebc8f22a + +pkgname = ruby-oj diff --git a/ruby-oj/PKGBUILD b/ruby-oj/PKGBUILD new file mode 100644 index 0000000..3da1a78 --- /dev/null +++ b/ruby-oj/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: George Rawlinson + +_gemname=oj +pkgname=ruby-$_gemname +pkgver=3.12.1 +pkgrel=1 +pkgdesc='The fastest JSON parser and object serializer' +arch=('x86_64') +url='https://github.com/ohler55/oj' +license=('MIT') +depends=('ruby') +options=(!emptydirs) +source=("https://rubygems.org/downloads/$_gemname-$pkgver.gem") +noextract=("$_gemname-$pkgver.gem") +b2sums=('415ffef51e0b5c3f6b10d9cede061b99838cf63b49b13b9d5c9de22fafb2537cb40d48277da60c78902c6c7151fc5151a44b291c02e766350f8163624a87c3f7') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + + gem install \ + --ignore-dependencies \ + --no-user-install \ + --no-document \ + --install-dir "$pkgdir/$_gemdir" \ + --bindir "$pkgdir/usr/bin" \ + "$_gemname-$pkgver.gem" + + # delete cache + cd "$pkgdir/$_gemdir" + rm -rf cache + + cd "gems/$_gemname-$pkgver" + # delete unnecessary folders + rm -rf test ext + # move documentation + install -vd "$pkgdir/usr/share/doc/$pkgname" + mv README.md pages "$pkgdir/usr/share/doc/$pkgname" + # license + install -vd "$pkgdir/usr/share/licenses/$pkgname" + mv LICENSE "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/ruby-yajl-ruby/.SRCINFO b/ruby-yajl-ruby/.SRCINFO new file mode 100644 index 0000000..e2efbf4 --- /dev/null +++ b/ruby-yajl-ruby/.SRCINFO @@ -0,0 +1,15 @@ +pkgbase = ruby-yajl-ruby + pkgdesc = C binding to the excellent YAJL JSON parsing and generation library + pkgver = 1.4.1 + pkgrel = 2 + url = https://github.com/brianmario/yajl-ruby + arch = x86_64 + license = MIT + depends = ruby + noextract = yajl-ruby-1.4.1.gem + options = !emptydirs + source = https://rubygems.org/downloads/yajl-ruby-1.4.1.gem + sha1sums = 04d0aa7b51a015bd9b3383d4d561fd9067981f76 + +pkgname = ruby-yajl-ruby + diff --git a/ruby-yajl-ruby/PKGBUILD b/ruby-yajl-ruby/PKGBUILD new file mode 100644 index 0000000..bab7b49 --- /dev/null +++ b/ruby-yajl-ruby/PKGBUILD @@ -0,0 +1,25 @@ +_gemname=yajl-ruby +pkgname=ruby-$_gemname +pkgver=1.4.1 +pkgrel=2 +pkgdesc='C binding to the excellent YAJL JSON parsing and generation library' +arch=(x86_64) +url='https://github.com/brianmario/yajl-ruby' +license=(MIT) +depends=(ruby) +options=(!emptydirs) +source=(https://rubygems.org/downloads/$_gemname-$pkgver.gem) +noextract=($_gemname-$pkgver.gem) +sha1sums=('04d0aa7b51a015bd9b3383d4d561fd9067981f76') + +package() { + local _gemdir="$(ruby -e'puts Gem.default_dir')" + gem install --ignore-dependencies --no-user-install --no-document -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" $_gemname-$pkgver.gem + rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem" + rm -r "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/ext" + install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +# find "$pkgdir/$_gemdir/extensions/" -name *.so -delete +# rm -r "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/test" +# install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/COPYING" "$pkgdir/usr/share/licenses/$pkgname/COPYING" + +} diff --git a/rutorrent/.SRCINFO b/rutorrent/.SRCINFO new file mode 100644 index 0000000..f0e7392 --- /dev/null +++ b/rutorrent/.SRCINFO @@ -0,0 +1,28 @@ +pkgbase = rutorrent + pkgdesc = Yet another web front-end for rTorrent + pkgver = 3.10 + pkgrel = 1 + url = https://github.com/Novik/ruTorrent + arch = any + license = GPL + makedepends = perl + makedepends = git + depends = php-fpm + depends = php-geoip + depends = curl + depends = gzip + depends = coreutils + options = emptydirs + options = !strip + backup = etc/rutorrent/config.php + backup = etc/rutorrent/plugins.ini + backup = etc/rutorrent/access.ini + source = rutorrent-3.10.tar.gz::https://github.com/Novik/ruTorrent/archive/v3.10.tar.gz + source = DarkBetter-c1f7817f3cc9930c7ec7a4d50b1c131670ec888e.tar.gz::https://github.com/chocolatkey/DarkBetter/archive/c1f7817f3cc9930c7ec7a4d50b1c131670ec888e.tar.gz + source = tmpfiles.conf + b2sums = 58ce8673bbb5f25509e4b81bc41512d42221dd36a42aa856b2956c6cc8ad5096c675ef941f45592246b4d04432269146f61544fd7ee1c0f50fa6a08edad93914 + b2sums = 8c490225c478b43738611c305f539bfe2bc1053247a0f4a2b304a5e55a4f8f5be3f490cddbbdb3bef1bb672e1824cd09a6c38dcd021fad1b6945a179430e1f7a + b2sums = f762fe34e415632f4a458f83ab305a7c5fe231c04ed3cce7b3a7ab99e00aa4a767bab8212edcff80b954d974cf347919b36052dcea5caf0504fb79b745456349 + +pkgname = rutorrent + diff --git a/rutorrent/PKGBUILD b/rutorrent/PKGBUILD new file mode 100644 index 0000000..c59b8b8 --- /dev/null +++ b/rutorrent/PKGBUILD @@ -0,0 +1,86 @@ +# Maintainer: George Rawlinson + +pkgname=rutorrent +_pkgname=ruTorrent +pkgver=3.10 +# git submodule within source +# commit ID obtained from $pkgver tree +_darkbetter_commitid="c1f7817f3cc9930c7ec7a4d50b1c131670ec888e" +pkgrel=1 +pkgdesc="Yet another web front-end for rTorrent" +arch=('any') +url='https://github.com/Novik/ruTorrent' +license=('GPL') +depends=(php-fpm php-geoip curl gzip coreutils) +makedepends=(perl git) +optdepends=() +conflicts=() +source=( + "$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" + "DarkBetter-$_darkbetter_commitid.tar.gz::https://github.com/chocolatkey/DarkBetter/archive/$_darkbetter_commitid.tar.gz" + "tmpfiles.conf" +) +b2sums=('58ce8673bbb5f25509e4b81bc41512d42221dd36a42aa856b2956c6cc8ad5096c675ef941f45592246b4d04432269146f61544fd7ee1c0f50fa6a08edad93914' + '8c490225c478b43738611c305f539bfe2bc1053247a0f4a2b304a5e55a4f8f5be3f490cddbbdb3bef1bb672e1824cd09a6c38dcd021fad1b6945a179430e1f7a' + 'f762fe34e415632f4a458f83ab305a7c5fe231c04ed3cce7b3a7ab99e00aa4a767bab8212edcff80b954d974cf347919b36052dcea5caf0504fb79b745456349') +backup=( + etc/rutorrent/config.php + etc/rutorrent/plugins.ini + etc/rutorrent/access.ini +) +options=(emptydirs !strip) + +prepare() { + cd "$_pkgname-$pkgver" + + # move config & log location + sed -i \ + -e 's:../share:/var/lib/rutorrent:' \ + -e 's:tmp/errors.log:var/log/rutorrent.log:' \ + conf/config.php + + # move config/settings to /var/lib/rutorrent + rm -rf share + + # replace with version pinned at git tag rather than latest + rm -rf plugins/theme/themes/DarkBetter + + # delete git files + find . -type f -name ".git*" -delete + + # delete POSIX-incompatible files + cd plugins/tracklabels/labels + find . -print0 | perl -MFile::Path=remove_tree -n0e 'chomp; remove_tree($_, {verbose=>1}) if /[[:^ascii:][:cntrl:]]/' +} + +package() { + cd "$_pkgname-$pkgver" + + # create directories + install -d "$pkgdir/usr/share/$pkgname/conf" + install -d "$pkgdir/etc/$pkgname" + + # copy files over + cp -r . "$pkgdir/usr/share/$pkgname" + cp -r "$srcdir/DarkBetter-$_darkbetter_commitid" \ + "$pkgdir/usr/share/$pkgname/plugins/theme/themes/DarkBetter" + + # link config files to /etc/$pkgname + for conf in config.php plugins.ini access.ini; do + mv "conf/$conf" "$pkgdir/etc/$pkgname" + ln -sf "/etc/$pkgname/$conf" "$pkgdir/usr/share/$pkgname/conf/$conf" + done + + # license & documentation + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE.md + install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md htaccess-example + + # remove unnecessary files + rm "$pkgdir/usr/share/$pkgname/"{LICENSE.md,README.md,htaccess-example} + + # systemd integration + install -Dm644 "$srcdir/tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf" + + # change ownership + chown -R http:http "$pkgdir/usr/share/$pkgname" +} diff --git a/rutorrent/tmpfiles.conf b/rutorrent/tmpfiles.conf new file mode 100644 index 0000000..d3bf942 --- /dev/null +++ b/rutorrent/tmpfiles.conf @@ -0,0 +1,5 @@ +f /var/log/rutorrent.log 0640 http +d /var/lib/rutorrent 0750 http +d /var/lib/rutorrent/settings 0750 http +d /var/lib/rutorrent/torrents 0750 http +d /var/lib/rutorrent/users 0750 http diff --git a/systemd-boot-alpm-hook/.SRCINFO b/systemd-boot-alpm-hook/.SRCINFO new file mode 100644 index 0000000..8fb97e1 --- /dev/null +++ b/systemd-boot-alpm-hook/.SRCINFO @@ -0,0 +1,13 @@ +pkgbase = systemd-boot-alpm-hook + pkgdesc = alpm hook for systemd-boot + pkgver = 1.0.0 + pkgrel = 1 + url = https://wiki.archlinux.org/index.php/Systemd-boot + arch = any + license = GPL + depends = systemd + source = 100-systemd-boot.hook + sha512sums = a1f9c6fdf9315864632d1b7321d4a50b9dbef6a678b4619e9c1f9cd4c057e80ef842533a99079dca8594873d716e650ff7053194bec029f77c1379073bb35809 + +pkgname = systemd-boot-alpm-hook + diff --git a/systemd-boot-alpm-hook/100-systemd-boot.hook b/systemd-boot-alpm-hook/100-systemd-boot.hook new file mode 100644 index 0000000..ae03074 --- /dev/null +++ b/systemd-boot-alpm-hook/100-systemd-boot.hook @@ -0,0 +1,9 @@ +[Trigger] +Type = Package +Operation = Upgrade +Target = systemd + +[Action] +Description = Updating systemd-boot... +When = PostTransaction +Exec = /usr/bin/bootctl update diff --git a/systemd-boot-alpm-hook/PKGBUILD b/systemd-boot-alpm-hook/PKGBUILD new file mode 100644 index 0000000..e087121 --- /dev/null +++ b/systemd-boot-alpm-hook/PKGBUILD @@ -0,0 +1,17 @@ +# Maintainer: George Rawlinson + +pkgname=systemd-boot-alpm-hook +pkgver=1.0.0 +pkgrel=1 +pkgdesc='alpm hook for systemd-boot' +url='https://wiki.archlinux.org/index.php/Systemd-boot' +arch=('any') +license=('GPL') +depends=('systemd') +source=('100-systemd-boot.hook') +sha512sums=('a1f9c6fdf9315864632d1b7321d4a50b9dbef6a678b4619e9c1f9cd4c057e80ef842533a99079dca8594873d716e650ff7053194bec029f77c1379073bb35809') + +package() { + install -Dm644 -t "${pkgdir}/usr/share/libalpm/hooks" \ + 100-systemd-boot.hook +} diff --git a/wiredtiger/.SRCINFO b/wiredtiger/.SRCINFO new file mode 100644 index 0000000..55db957 --- /dev/null +++ b/wiredtiger/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = wiredtiger + pkgdesc = High performance NoSQL platform + pkgver = 10.0.0 + pkgrel = 1 + url = https://source.wiredtiger.com + arch = x86_64 + license = GPL + depends = snappy + depends = lz4 + depends = zlib + depends = zstd + depends = gperftools + source = wiredtiger-10.0.0.tar.gz::https://github.com/wiredtiger/wiredtiger/archive/10.0.0.tar.gz + b2sums = 2b9b85bd7711c114a9b6e3c8cd0db3ce8ba6d08efd3b7b8e39ceff8cd251147c9d9a13942353ec885b7542f732d25946befd814fc046225bfde6ae6d31097c10 + +pkgname = wiredtiger diff --git a/wiredtiger/PKGBUILD b/wiredtiger/PKGBUILD new file mode 100644 index 0000000..1f5156d --- /dev/null +++ b/wiredtiger/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: George Rawlinson + +pkgname=wiredtiger +pkgver=10.0.0 +pkgrel=1 +pkgdesc="High performance NoSQL platform" +arch=('x86_64') +url="https://source.wiredtiger.com" +license=('GPL') +depends=('snappy' 'lz4' 'zlib' 'zstd' 'gperftools') +source=("$pkgname-$pkgver.tar.gz::https://github.com/wiredtiger/wiredtiger/archive/$pkgver.tar.gz") +b2sums=('2b9b85bd7711c114a9b6e3c8cd0db3ce8ba6d08efd3b7b8e39ceff8cd251147c9d9a13942353ec885b7542f732d25946befd814fc046225bfde6ae6d31097c10') + +build() { + cd "$pkgname-$pkgver" + ./autogen.sh + ./configure --prefix=/usr \ + --enable-tcmalloc \ + --with-builtins=snappy,lz4,zlib,zstd + + # FIXME plain `make` does a bunch of tests ... find the invocation that *only* builds + #make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/z-push/.SRCINFO b/z-push/.SRCINFO new file mode 100644 index 0000000..2eea6cc --- /dev/null +++ b/z-push/.SRCINFO @@ -0,0 +1,101 @@ +pkgbase = z-push + pkgdesc = Open-source ActiveSync implementation + pkgver = 2.6.3 + pkgrel = 1 + url = https://z-push.org + arch = any + license = AGPL3 + options = !strip + source = z-push-2.6.3.tar.gz::https://stash.kopano.io/rest/api/latest/projects/ZHUB/repos/z-push/archive?at=refs%2Ftags%2F2.6.3&format=tgz + source = tmpfiles.conf + source = sysusers.conf + b2sums = 19b1e489d48bc85eeb68dc8237e3a483433ba135bd4f09c06a172b6dcefbcbee0693215660f951d5872f99d501d8781c7f7a0c8a46e856a92f5c3533470fb140 + b2sums = 549a61faeed3762ab81ce649eae93ea6cac218740d8bfb022ceef045d5a23eb14b4f94d3cc4065b6c16b8de23f716d2ad10323376c662b54d2dfbbf33cbf1be1 + b2sums = 23a9402bfe309b0e2f509c4f6d250c4b8cb985af358659170563b7393c17de168d8dea5fc1e6222f658b005cf1b2bd00afd0cdf19fc3e150645b9edd29a8cd01 + +pkgname = z-push + install = z-push.install + depends = sh + depends = php + optdepends = php-fpm: to run in FastCGI process manager + optdepends = z-push-backend-caldav: to use a CalDAV server for calendaring + optdepends = z-push-backend-carddav: to use a CardDAV server for contacts + optdepends = z-push-backend-combined: to combine different backends + optdepends = z-push-backend-galsearch-ldap: to search Global Address Book on a LDAP server + optdepends = z-push-backend-imap: to use an IMAP server for e-mails + optdepends = z-push-backend-ldap: to use a LDAP server for contacts + optdepends = z-push-ipc-sharedmemory: to use the default IPC provider + optdepends = z-push-ipc-memcached: to use memcached as an IPC provider + optdepends = z-push-autodiscover: to utilise AutoDiscover + optdepends = z-push-state-sql: to store device state in a SQL database + backup = etc/z-push/z-push.conf.php + backup = etc/z-push/policies.ini + +pkgname = z-push-backend-caldav + pkgdesc = Enables Z-Push to use a CalDAV backend for calendaring + depends = z-push + depends = awl + backup = etc/z-push/caldav.conf.php + +pkgname = z-push-backend-carddav + pkgdesc = Enables Z-Push to use a CardDAV backend for contacts + depends = z-push + depends = php-xsl + backup = etc/z-push/carddav.conf.php + +pkgname = z-push-backend-combined + pkgdesc = Enables Z-Push to simultaneously use different backends + depends = z-push + backup = etc/z-push/combined.conf.php + +pkgname = z-push-backend-galsearch-ldap + pkgdesc = Enables Z-Push to search the Global Address Book of a LDAP backend + depends = z-push + backup = etc/z-push/galsearch-ldap.conf.php + +pkgname = z-push-backend-imap + pkgdesc = Enables Z-Push to use an IMAP backend for e-mails + depends = z-push + depends = php-imap + depends = awl + backup = etc/z-push/imap.conf.php + +pkgname = z-push-backend-ldap + pkgdesc = Enables Z-Push to use a LDAP backend for contacts + depends = z-push + backup = etc/z-push/ldap.conf.php + +pkgname = z-push-ipc-sharedmemory + pkgdesc = Default IPC provider for Z-Push + depends = z-push + +pkgname = z-push-ipc-memcached + pkgdesc = Enables Z-Push to use memcached as an IPC provider + depends = z-push + depends = php-memcached + depends = memcached + backup = etc/z-push/memcached.conf.php + +pkgname = z-push-autodiscover + pkgdesc = Enables Z-Push to utilise AutoDiscover + depends = z-push + depends = awl + backup = etc/z-push/autodiscover.conf.php + +pkgname = z-push-state-sql + pkgdesc = Enables Z-Push to store device state in a SQL database + depends = z-push + optdepends = mariadb: to use a local MariaDB database + optdepends = php-pgsql: to use the PostgreSQL database backend + optdepends = postgresql: to use a local PostgreSQL database + optdepends = php-odbc: to use the ODBC database backend + optdepends = php-sqlite: to use the SQLite database backend + backup = etc/z-push/state-sql.conf.php + +pkgname = z-push-backend-stickynote + pkgdesc = Enables Z-Push to use a PostgreSQL database for notes + install = stickynote.install + depends = z-push + optdepends = php-pgsql: to use the PostgreSQL database backend + optdepends = postgresql: to use a local PostgreSQL database + backup = etc/z-push/stickynote.conf.php diff --git a/z-push/.gitignore b/z-push/.gitignore new file mode 100644 index 0000000..ad5a69f --- /dev/null +++ b/z-push/.gitignore @@ -0,0 +1,6 @@ +# directories +pkg +src + +# files +*.tar* diff --git a/z-push/PKGBUILD b/z-push/PKGBUILD new file mode 100644 index 0000000..88ccd44 --- /dev/null +++ b/z-push/PKGBUILD @@ -0,0 +1,337 @@ +# Maintainer: George Rawlinson + +pkgbase=z-push +pkgname=( + # base package + 'z-push-common' + # backend + 'z-push-backend-caldav' + 'z-push-backend-carddav' + 'z-push-backend-combined' + 'z-push-backend-galsearch-ldap' + 'z-push-backend-imap' + 'z-push-backend-ldap' + # ipc + 'z-push-ipc-sharedmemory' + 'z-push-ipc-memcached' + # autodiscover + 'z-push-autodiscover' + # device state + 'z-push-state-sql' + # not *exactly* supported + #'z-push-backend-stickynote' + # no kopano packages, maintainer does not utilise them +) +pkgver=2.6.4 +pkgrel=1 +pkgdesc="Open-source ActiveSync implementation" +arch=('any') +url="https://z-push.org" +license=('AGPL3') +options=('!strip') +source=( + "$pkgbase-$pkgver.tar.gz::https://stash.kopano.io/rest/api/latest/projects/ZHUB/repos/z-push/archive?at=refs%2Ftags%2F$pkgver&format=tgz" + 'tmpfiles.conf' + 'sysusers.conf' +) +b2sums=('f1686a9b00a3a1427d2a1ce383dbc92f0156be8a2f2b901dda2e9c3be6fbef921a69f90d8e84f3962667742f98405eceb51fb139a8f33aa6094008f7b84f16ee' + '549a61faeed3762ab81ce649eae93ea6cac218740d8bfb022ceef045d5a23eb14b4f94d3cc4065b6c16b8de23f716d2ad10323376c662b54d2dfbbf33cbf1be1' + '23a9402bfe309b0e2f509c4f6d250c4b8cb985af358659170563b7393c17de168d8dea5fc1e6222f658b005cf1b2bd00afd0cdf19fc3e150645b9edd29a8cd01') +#noextract=("$pkgbase-$pkgver.tar.gz") + +#prepare() { +# mkdir "$pkgname-$pkgver" +# bsdtar \ +# --directory "$pkgname-$pkgver" \ +# --extract --file "$srcdir/$pkgname-$pkgver.tar.gz" +#} + +package_z-push-common() { + depends=( + 'sh' + 'php' + ) + optdepends=( + 'php-fpm: to run in FastCGI process manager' + 'z-push-backend-caldav: to use a CalDAV server for calendaring' + 'z-push-backend-carddav: to use a CardDAV server for contacts' + 'z-push-backend-combined: to combine different backends' + 'z-push-backend-galsearch-ldap: to search Global Address Book on a LDAP server' + 'z-push-backend-imap: to use an IMAP server for e-mails' + 'z-push-backend-ldap: to use a LDAP server for contacts' + 'z-push-ipc-sharedmemory: to use the default IPC provider' + 'z-push-ipc-memcached: to use memcached as an IPC provider' + 'z-push-autodiscover: to utilise AutoDiscover' + 'z-push-state-sql: to store device state in a SQL database' + ) + install="$pkgname.install" + backup=( + 'etc/z-push/z-push.conf.php' + 'etc/z-push/policies.ini' + ) + + # create folders + install -vd \ + "$pkgdir/usr/share/$pkgbase" \ + "$pkgdir/usr/share/doc/$pkgbase" \ + "$pkgdir/etc/$pkgbase" + + # install binary wrappers + install -vDm755 -t "$pkgdir/usr/bin" \ + build/deb/z-push-admin \ + build/deb/z-push-top + + # install common + cp -rv \ + src/include \ + src/lib \ + src/vendor \ + src/index.php \ + src/z-push-admin.php \ + src/z-push-top.php \ + "$pkgdir/usr/share/$pkgbase" + + # logrotate configuration + install -vDm644 config/z-push.lr "$pkgdir/etc/logrotate.d/$pkgbase" + + # man pages + install -vDm644 -t "$pkgdir/usr/share/man/man8" \ + man/z-push-admin.8 man/z-push-top.8 + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase" \ + CONTRIBUTING.md README.md src/DEVELOPMENT src/INSTALL + + # web server documentation + cp -rv config/apache2 config/lighttpd config/nginx \ + "$pkgdir/usr/share/doc/$pkgbase" + + # license/trademark + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgbase" \ + src/TRADEMARKS + + # systemd integration + install -vDm644 tmpfiles.conf "$pkgdir/usr/lib//tmpfiles.d/$pkgbase.conf" + install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgbase.conf" + + # configuration + install -vDm644 src/config.php "$pkgdir/etc/$pkgbase/z-push.conf.php" + ln -sfv /etc/z-push/z-push.conf.php "$pkgdir/usr/share/$pkgbase/config.php" + install -vDm644 src/policies.ini "$pkgdir/etc/$pkgbase/policies.ini" + ln -sfv /etc/z-push/policies.ini "$pkgdir/usr/share/$pkgbase/policies.ini" + + # + # patching + # + + # set version number + sed -s "s/ZPUSHVERSION/$pkgver/" build/version.php.in > "$pkgdir/usr/share/$pkgbase/version.php" + + # patch web-user (www-data -> z-push) + sed -i -e "s/www-data/z-push/g" \ + "$pkgdir/usr/bin/z-push-admin" \ + "$pkgdir/usr/bin/z-push-top" \ + "$pkgdir/etc/logrotate.d/z-push" +} + +package_z-push-backend-caldav() { + pkgdesc="Enables Z-Push to use a CalDAV backend for calendaring" + depends=('z-push-common' 'awl') + backup=('etc/z-push/caldav.conf.php') + + cd src/backend/caldav + + # package backend/caldav + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/caldav" caldav.php + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/caldav.conf.php" + ln -sfv /etc/z-push/caldav.conf.php "$pkgdir/usr/share/$pkgbase/backend/caldav/config.php" + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase/caldav" AUTHOR REQUIREMENTS +} + +package_z-push-backend-carddav() { + pkgdesc="Enables Z-Push to use a CardDAV backend for contacts" + depends=('z-push-common' 'php-xsl') + backup=('etc/z-push/carddav.conf.php') + + cd src/backend/carddav + + # package backend/carddav + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/carddav" carddav.php + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/carddav.conf.php" + ln -sfv /etc/z-push/carddav.conf.php "$pkgdir/usr/share/$pkgbase/backend/carddav/config.php" + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase/carddav" README REQUIREMENTS THANKS +} + +package_z-push-backend-combined() { + pkgdesc="Enables Z-Push to simultaneously use different backends" + depends=('z-push-common') + backup=('etc/z-push/combined.conf.php') + + cd src/backend/combined + + # package backend/combined + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/combined" \ + combined.php importer.php exporter.php + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/combined.conf.php" + ln -sfv /etc/z-push/combined.conf.php "$pkgdir/usr/share/$pkgbase/backend/combined/config.php" +} + +package_z-push-backend-galsearch-ldap() { + pkgdesc="Enables Z-Push to search the Global Address Book of a LDAP backend" + depends=('z-push-common') + backup=('etc/z-push/galsearch-ldap.conf.php') + + cd src/backend/searchldap + + # package backend/searchldap + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/searchldap" searchldap.php + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/galsearch-ldap.conf.php" + ln -sfv /etc/z-push/galsearch-ldap.conf.php "$pkgdir/usr/share/$pkgbase/backend/searchldap/config.php" +} + +package_z-push-backend-imap() { + pkgdesc="Enables Z-Push to use an IMAP backend for e-mails" + depends=('z-push-common' 'php-imap' 'awl') + backup=('etc/z-push/imap.conf.php') + + # create folders + install -vd "$pkgdir/usr/share/$pkgbase/backend" "$pkgdir/usr/share/doc/$pkgbase/imap" + + # package backend/imap + cp -rv src/backend/imap "$pkgdir/usr/share/$pkgbase/backend" + + # fix incorrect permissions + find "$pkgdir/usr/share/$pkgbase/backend/imap/Auth" -type f -perm 755 -exec chmod 644 {} \; + + # configuration + install -vDm644 src/backend/imap/config.php "$pkgdir/etc/$pkgbase/imap.conf.php" + ln -sfv /etc/z-push/imap.conf.php "$pkgdir/usr/share/$pkgbase/backend/imap/config.php" + + # documentation + mv -v "$pkgdir/usr/share/$pkgbase/backend/imap/"{README,REQUIREMENTS,THANKS} \ + "$pkgdir/usr/share/doc/$pkgbase/imap" +} + +package_z-push-backend-ldap() { + pkgdesc="Enables Z-Push to use a LDAP backend for contacts" + depends=('z-push-common') + backup=('etc/z-push/ldap.conf.php') + + cd src/backend/ldap + + # package backend/ldap + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/ldap" ldap.php + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/ldap.conf.php" + ln -sfv /etc/z-push/ldap.conf.php "$pkgdir/usr/share/$pkgbase/backend/ldap/config.php" + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase/ldap" AUTHOR +} + +package_z-push-autodiscover() { + pkgdesc="Enables Z-Push to utilise AutoDiscover" + depends=('z-push-common' 'awl') + backup=('etc/z-push/autodiscover.conf.php') + + cd src/autodiscover + + # package autodiscover + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/autodiscover" \ + autodiscover.php response.xml + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/autodiscover.conf.php" + ln -sfv /etc/z-push/autodiscover.conf.php \ + "$pkgdir/usr/share/$pkgbase/autodiscover/config.php" + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase/autodiscover" INSTALL +} + +package_z-push-ipc-sharedmemory() { + pkgdesc="Default IPC provider for Z-Push" + depends=('z-push-common') + + cd src/backend/ipcsharedmemory + + # package backend/ipcsharedmemory + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/ipcsharedmemory" \ + ipcsharedmemoryprovider.php +} + +package_z-push-ipc-memcached() { + pkgdesc="Enables Z-Push to use memcached as an IPC provider" + depends=('z-push-common' 'php-memcached' 'memcached') + backup=('etc/z-push/memcached.conf.php') + + cd src/backend/ipcmemcached + + # package backend/ipcmemcached + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/ipcmemcached" \ + ipcmemcachedprovider.php + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/memcached.conf.php" + ln -sfv /etc/z-push/memcached.conf.php "$pkgdir/usr/share/$pkgbase/backend/ipcmemcached/config.php" +} + +package_z-push-state-sql() { + pkgdesc="Enables Z-Push to store device state in a SQL database" + depends=('z-push-common') + optdepends=( + 'mariadb: to use a local MariaDB database' + 'php-pgsql: to use the PostgreSQL database backend' + 'postgresql: to use a local PostgreSQL database' + 'php-odbc: to use the ODBC database backend' + 'php-sqlite: to use the SQLite database backend' + ) + backup=('etc/z-push/state-sql.conf.php') + + cd src/backend/sqlstatemachine + + # package backend/sqlstatemachine + install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/sqlstatemachine" \ + sqlstatemachine.php + + # configuration + install -vDm644 config.php "$pkgdir/etc/$pkgbase/state-sql.conf.php" + ln -sfv /etc/z-push/state-sql.conf.php "$pkgdir/usr/share/$pkgbase/backend/sqlstatemachine/config.php" +} + +#package_z-push-backend-stickynote() { +# pkgdesc="Enables Z-Push to use a PostgreSQL database for notes" +# depends=('z-push-common') +# optdepends=( +# 'php-pgsql: to use the PostgreSQL database backend' +# 'postgresql: to use a local PostgreSQL database' +# ) +# install='stickynote.install' +# backup=('etc/z-push/stickynote.conf.php') +# +# cd src/backend/stickynote +# +# # package backend/stickynote +# install -vDm644 -t "$pkgdir/usr/share/$pkgbase/backend/stickynote" stickynote.php +# +# # configuration +# install -vDm644 config.php "$pkgdir/etc/$pkgbase/stickynote.conf.php" +# ln -sfv /etc/z-push/stickynote.conf.php "$pkgdir/usr/share/$pkgbase/backend/stickynote/config.php" +# +# # documentation +# install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase/stickynote" \ +# AUTHOR REQUIREMENTS create-sticky-tables.sql +#} diff --git a/z-push/stickynote.install b/z-push/stickynote.install new file mode 100644 index 0000000..28d7362 --- /dev/null +++ b/z-push/stickynote.install @@ -0,0 +1,5 @@ +post_install() { + echo "" + echo "Documentation for the SQL schema can be found in /usr/share/doc/z-push/stickynote" + echo "" +} diff --git a/z-push/sysusers.conf b/z-push/sysusers.conf new file mode 100644 index 0000000..696412d --- /dev/null +++ b/z-push/sysusers.conf @@ -0,0 +1 @@ +u z-push - "z-push user" /var/lib/z-push diff --git a/z-push/tmpfiles.conf b/z-push/tmpfiles.conf new file mode 100644 index 0000000..8fa64d0 --- /dev/null +++ b/z-push/tmpfiles.conf @@ -0,0 +1,4 @@ +d /var/log/z-push 0750 z-push z-push +Z /var/log/z-push - z-push z-push +d /var/lib/z-push 0750 z-push z-push +Z /var/lib/z-push - z-push z-push diff --git a/z-push/z-push-common.install b/z-push/z-push-common.install new file mode 100644 index 0000000..a668266 --- /dev/null +++ b/z-push/z-push-common.install @@ -0,0 +1,12 @@ +post_install() { + cat >&2 <<-EOF + +Z-Push requires at least one of each: + +* z-push-backend-* +* z-push-ipc-* + +Otherwise it will not work properly. + +EOF +} diff --git a/zsh-grawlinson/.SRCINFO b/zsh-grawlinson/.SRCINFO new file mode 100644 index 0000000..ac526aa --- /dev/null +++ b/zsh-grawlinson/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = zsh-grawlinson + pkgdesc = grawlinson's opinionated zsh framework + pkgver = 0.1.2 + pkgrel = 1 + url = https://gitlab.com/grawlinson/zsh-grawlinson + arch = any + license = MIT + depends = zsh + depends = zsh-completions + depends = zsh-prompt-ys + options = !emptydirs + backup = etc/zsh/zshenv + backup = etc/zsh/zshrc + source = zsh-grawlinson-0.1.2.tar.gz::https://codeload.github.com/grawlinson/zsh-grawlinson/tar.gz/0.1.2 + source = zsh-grawlinson-0.1.2.tar.gz.asc::https://github.com/grawlinson/zsh-grawlinson/releases/download/0.1.2/0.1.2.tar.gz.asc + validpgpkeys = 034D823DA2055BEE6A6BF0BB25EA6900D9EA5EBC + sha512sums = e0b0bc9543d1b5c72e5ff6641ff14a01689ffd76fe2dae616eb81641f66d42a82fc861ad601c634ee82e8432f62655ac6b76bf1d01f343e0ff41ad1dca9557f1 + sha512sums = SKIP + +pkgname = zsh-grawlinson + diff --git a/zsh-grawlinson/PKGBUILD b/zsh-grawlinson/PKGBUILD new file mode 100644 index 0000000..b27a368 --- /dev/null +++ b/zsh-grawlinson/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: George Rawlinson + +pkgname=zsh-grawlinson +pkgver=0.1.3 +pkgrel=1 +pkgdesc="grawlinson's opinionated zsh framework" +arch=('any') +url="https://github.com/grawlinson/zsh-grawlinson" +license=('MIT') +depends=('zsh' 'zsh-completions' 'zsh-prompt-ys') +backup=( + 'etc/zsh/zshenv' + 'etc/zsh/zshrc' +) +options=('!emptydirs') +source=( + "$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz" + "$pkgname-$pkgver.tar.gz.asc::$url/releases/download/$pkgver/$pkgver.tar.gz.asc" +) +b2sums=('406dd4d602cb769deb7de8f83f28599fde19f102a7fae137807f00c973bc3fe57302915666cd83417981407df9f27f1fadd1245819a5007d4bacb15f7fc57b6a' + 'SKIP') +validpgpkeys=('034D823DA2055BEE6A6BF0BB25EA6900D9EA5EBC') # George Rawlinson + +package() { + cd "$pkgname-$pkgver" + + # framework + install -vd "$pkgdir/usr/share/$pkgname/prompts" + for folder in completions functions plugins source; do + cp -vr "$folder" "$pkgdir/usr/share/$pkgname" + done + + # global zsh config + install -vDm644 -t "$pkgdir/etc/zsh" zsh{rc,env} + + # LICENSE + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +}