projects/aports·blob master · refs

164 lines · 4.4 KiB

1# Maintainer: Cowington Post <[email protected]>
2pkgname=freshrss
3pkgver=1.29.1
4pkgrel=0
5pkgdesc="Free and self hosted rss feed agregator"
6url="https://freshrss.org/"
7arch="noarch"
8license="AGPL-3.0-or-later"
9pkgusers="freshrss"
10pkggroups="www-data"
11_php=php85
12depends="
13 $_php
14 $_php-ctype
15 $_php-curl
16 $_php-dom
17 $_php-fileinfo
18 $_php-fpm
19 $_php-gmp
20 $_php-intl
21 $_php-mbstring
22 $_php-pdo
23 $_php-session
24 $_php-simplexml
25 $_php-xml
26 $_php-xmlreader
27 $_php-zip
28 "
29checkdepends="
30 $_php-pdo_sqlite
31 $_php-openssl
32 $_php-phar
33 $_php-tokenizer
34 $_php-xmlwriter
35 composer
36 "
37install="$pkgname.pre-install $pkgname-openrc.post-install"
38subpackages="
39 $pkgname-doc
40 $pkgname-openrc
41 $pkgname-lang
42 $pkgname-themes
43 $pkgname-mysql
44 $pkgname-pgsql
45 $pkgname-sqlite"
46source="https://github.com/FreshRSS/FreshRSS/archive/refs/tags/$pkgver/freshrss-$pkgver.tar.gz
47 defaults.patch
48 freshrss.confd
49 fpm-pool.conf
50 freshrss.crontab
51 "
52builddir="$srcdir/FreshRSS-$pkgver"
53options="net !fhs" # openrc() installs into /var/tmp
54
55prepare() {
56 default_prepare
57
58 # Create directory for tests
59 mkdir -p "$srcdir"/data/users/_
60}
61
62check() {
63 sed -i "s|^#!/usr/bin/env php$|#!/usr/bin/env $_php|" tests/cli/cli-parser-test.php
64 $_php /usr/bin/composer.phar install --prefer-dist --no-progress
65 DATA_PATH="$srcdir"/data \
66 $_php vendor/bin/phpunit ./tests --bootstrap ./tests/bootstrap.php
67 rm -fr vendor
68}
69
70package() {
71 rm -f ./*.md
72 rm -rf .devcontainer
73 rm -f .dockerignore
74 rm -f .editorconfig
75 rm -f .eslint*
76 rm -f .jshint*
77 rm -f .style*
78 rm -f .markdownlint*
79 rm -f .hadolint*
80 rm -f .typos.toml
81 rm -f Makefile
82
83 install -d "$pkgdir"/usr/share/doc
84 mv ./docs "$pkgdir"/usr/share/doc/$pkgname
85
86 install -d "$pkgdir"/usr/share/webapps/freshrss
87 cp -r . "$pkgdir"/usr/share/webapps/freshrss/
88
89 find "$pkgdir/usr/share/webapps/freshrss" -name '.git*' -exec rm -rf {} \; || true
90
91 rm -rf "$pkgdir"/usr/share/webapps/freshrss/Docker
92 rm -rf "$pkgdir"/usr/share/webapps/freshrss/tests
93 install -dm755 "$pkgdir"/var/lib/freshrss
94
95 mv "$pkgdir"/usr/share/webapps/freshrss/data "$pkgdir"/var/lib/freshrss/data
96 chgrp -R "www-data" "$pkgdir"/var/lib/freshrss/
97 chown -R "$pkgname" "$pkgdir"/var/lib/freshrss/
98
99 install -dm775 -o "$pkgname" -g www-data "$pkgdir"/var/log/"$pkgname"
100
101 install -m600 -D "$srcdir"/freshrss.crontab "$pkgdir"/etc/crontabs/freshrss
102}
103
104openrc() {
105 install -m644 -D "$srcdir"/fpm-pool.conf "$subpkgdir/etc/$_php/php-fpm.d/$pkgname".conf
106 install -m644 -D "$srcdir/$pkgname".confd "$subpkgdir"/etc/conf.d/"$pkgname"
107
108 install -d -o freshrss -g www-data "$pkgdir"/var/tmp/freshrss
109
110 mkdir -p "$subpkgdir"/etc/init.d/
111 ln -s "php-fpm${_php#php}" "$subpkgdir"/etc/init.d/"$pkgname"
112}
113
114lang() {
115 pkgdesc="translations for $pkgname"
116 install_if="$pkgname=$pkgver-r$pkgrel lang"
117 local lang
118 for lang in "$pkgdir"/usr/share/webapps/freshrss/app/i18n/*; do
119 # keep in base for default language
120 if [ "$(basename "$lang")" != "en" ]; then
121 amove usr/share/webapps/freshrss/app/i18n/"$(basename "$lang")"
122 fi
123 done
124}
125
126themes() {
127 pkgdesc="themes for $pkgname"
128 local theme
129 for theme in "$pkgdir"/usr/share/webapps/freshrss/p/themes/*; do
130 if [ -d "$theme" ]; then
131 case "$(basename "$theme")" in
132 # keep base-theme and default files, split the rest
133 base-theme | fonts | icons | Origine) ;;
134 *) amove usr/share/webapps/freshrss/p/themes/"$(basename "$theme")" ;;
135 esac
136 fi
137 done
138}
139
140mysql() {
141 pkgdesc="FreshRSS MySQL support"
142 depends="$pkgname $_php-pdo_mysql"
143 mkdir -p "$subpkgdir"
144}
145
146pgsql() {
147 pkgdesc="FreshRSS PostgreSQL support"
148 depends="$pkgname $_php-pgsql $_php-pdo_pgsql"
149 mkdir -p "$subpkgdir"
150}
151
152sqlite() {
153 pkgdesc="FreshRSS SQLite support"
154 depends="$pkgname $_php-sqlite3 $_php-pdo_sqlite"
155 mkdir -p "$subpkgdir"
156}
157
158sha512sums="
1590a42d17c6c357e1cc7338af73fec190556e9b69cff60714f0a3e8b1402018ed90de21f3e212de417176456b83e801077ad4d56d0866c376469005ae02a467cb4 freshrss-1.29.1.tar.gz
160dbd1468439192cd536ae1fc063edcda0a8047504c053f2566486697d454bbc328bb5ba841b597c09c1c4954fa0d71d1c79044fb8a179915b5bcc136fa2b50889 defaults.patch
161304767cc14db425fdb6f0214aca8baaa92ea05e8fc767e79ec96c4d9032509c2b52cb687106dc25b291bc7150305dde0bd0a84d77b0fc8ad872d2331c458bacf freshrss.confd
162b6fe57b31bd48afb067d0c851ff42078e01ee42e3e2f01bbb64f8114429ddce740ce3fbd76eb487acf1b80909eb7e5e2721d5f3b2bdd6264d75d169d032dd2fe fpm-pool.conf
16303e84ba5207dfa3d289326d87a2cba02d05a8de0da6dc7c390a43ab4061c259fe6c62b99a05f0192b5883405f2490022a280fa6a02984f3b640b6d8c9c1dab9a freshrss.crontab
164"