# Maintainer: Antoine Martin pkgname=mastodon pkgver=3.4.3 pkgrel=0 pkgdesc='Self-hosted social media and network server based on ActivityPub and OStatus' arch='x86_64' url=https://github.com/tootsuite/mastodon license='AGPL3' depends='ffmpeg imagemagick libidn libpqxx libxml2 libxslt libyaml icu-libs libpq libressl nodejs npm postgresql redis ruby ruby-bundler protobuf yarn gnu-libiconv zlib ruby-bigdecimal ruby-io-console ruby-irb ruby-json ruby-nokogiri gcompat ruby-etc' makedepends='git libffi-dev ruby-rdoc ruby-dev icu-dev protobuf-dev libidn-dev openssl-dev postgresql-dev libxml2-dev libxslt-dev zlib-dev' install="$pkgname.post-install $pkgname.post-upgrade" source="mastodon-$pkgver.tar.gz::https://github.com/tootsuite/mastodon/archive/v$pkgver.tar.gz mastodon-web.initd mastodon-sidekiq.initd mastodon-streaming.initd" subpackages="$pkgname-openrc" options="!check !strip" prepare() { cd "$srcdir"/mastodon-$pkgver # Allow use of any bundler sed -i -e '/BUNDLED/,+1d' Gemfile.lock # Allow use of higher Node versions sed -i 's/"node": .*"/"node": ">=14.15"/' package.json } build() { cd "$srcdir"/mastodon-$pkgver bundle config set deployment 'true' bundle config set without 'development test' bundle install -j$(getconf _NPROCESSORS_ONLN) yarn install --pure-lockfile --ignore-engines # RAILS_ENV='production' OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder bundle exec rails assets:precompile } package() { cd "$srcdir"/mastodon-$pkgver/dist # Fix path discrepancies for f in mastodon-*.service; do sed -e '0,/home/s/home/var\/lib/' \ -e 's/\/live//' \ -e 's/=\/usr\/bin/=\/var\/lib\/mastodon/' \ -e 's/home\/mastodon\/.rbenv\/shims/usr\/bin/' \ -i $f done install -d "$pkgdir"/usr/share/webapps install -d "$pkgdir"/etc cp -a "$srcdir"/mastodon-$pkgver "$pkgdir"/usr/share/webapps/mastodon # Put the config file in /etc and link to it touch "$pkgdir"/etc/mastodon.conf ln -s /etc/mastodon.conf "$pkgdir"/usr/share/webapps/mastodon/.env.production ln -s /usr/bin/node "$pkgdir"/usr/share/webapps/mastodon/node install -Dm 755 "$srcdir"/mastodon-web.initd "$pkgdir"/etc/init.d/mastodon-web install -Dm 755 "$srcdir"/mastodon-streaming.initd "$pkgdir"/etc/init.d/mastodon-streaming install -Dm 755 "$srcdir"/mastodon-sidekiq.initd "$pkgdir"/etc/init.d/mastodon-sidekiq rm -R "$pkgdir"/usr/share/webapps/mastodon/vendor/bundle/ruby/*/gems/nokogiri-*-x86_64-linux } sha512sums=" cb89b27d48bb6849f66ba31d8e869a0f0590fbe52b28b1fc8da612d2df39d45f7a0137926adcb19fbd2c19d227314a9863f56246d0e4e6d1bc1fe52e8fa72319 mastodon-3.4.3.tar.gz 9e77061fbdebe90492398f8089a7d2612ff4b6e70b5462dd67330b66d9788cb0133eab38c372b1f27a7214aacdd9f7f70381d4ecc6e92c8c38d794404ae0f840 mastodon-web.initd 06ebff4b4f51e0c7122db9ed175958fbcadf7e25d1d33c4cfd43992865b1ba183dbe6b4c8c244575f30a45a72d7d4ea3d887c597060e9cf2203bb00ae1a7ac79 mastodon-sidekiq.initd eb8af0188c49b3507f9eedf54baf9d848f11288ce475963bde70686a1e5ff8960d32560771479651597703728bf0c8663a7bd068ccd8d32b620eba442a9a8ff1 mastodon-streaming.initd "