| 1 | # Maintainer: Tony Evl <[email protected]> |
| 2 | pkgname=opencloud |
| 3 | pkgver=8.1.0 |
| 4 | pkgrel=0 |
| 5 | _webver=8.1.0 |
| 6 | pkgdesc="Modern file-sync and share platform - server with embedded web UI" |
| 7 | url="https://opencloud.eu/" |
| 8 | # riscv64: pnpm install segfaults |
| 9 | arch="all !riscv64" |
| 10 | license="Apache-2.0" |
| 11 | depends="ca-certificates mailcap attr" |
| 12 | makedepends="go nodejs pnpm rollup make bash" |
| 13 | install="$pkgname.pre-install $pkgname.post-install" |
| 14 | subpackages="$pkgname-openrc" |
| 15 | pkgusers="opencloud" |
| 16 | pkggroups="opencloud" |
| 17 | source="opencloud-$pkgver.tar.gz::https://github.com/opencloud-eu/opencloud/archive/refs/tags/v$pkgver.tar.gz |
| 18 | opencloud-web-$_webver.tar.gz::https://github.com/opencloud-eu/web/releases/download/v$_webver/web.tar.gz |
| 19 | system-rollup.patch |
| 20 | opencloud.initd |
| 21 | opencloud.confd |
| 22 | " |
| 23 | # net : pnpm fetches the idp frontend's npm dependencies during build(). |
| 24 | # !check: upstream has no self-contained unit-test target suitable for the |
| 25 | # packaging sandbox; the acceptance suite needs a running stack. |
| 26 | options="net !check" |
| 27 | |
| 28 | build() { |
| 29 | export GOFLAGS="$GOFLAGS -mod=vendor -trimpath" |
| 30 | export GOPROXY=off |
| 31 | |
| 32 | mkdir -p services/web/assets/core |
| 33 | tar -C services/web/assets/core -xzf "$srcdir/$pkgname-web-$_webver.tar.gz" |
| 34 | |
| 35 | make -C services/idp node-generate-prod |
| 36 | |
| 37 | local _pkg="github.com/opencloud-eu/opencloud" |
| 38 | local _ldflags="-s -w |
| 39 | -X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn |
| 40 | -X $_pkg/pkg/version.Tag=v$pkgver |
| 41 | -X $_pkg/pkg/version.String=$pkgver |
| 42 | -X $_pkg/pkg/version.Edition=stable |
| 43 | -X $_pkg/pkg/config/defaults.BaseConfigPathType=path |
| 44 | -X $_pkg/pkg/config/defaults.BaseConfigPathValue=/etc/opencloud |
| 45 | -X $_pkg/pkg/config/defaults.BaseDataPathType=path |
| 46 | -X $_pkg/pkg/config/defaults.BaseDataPathValue=/var/lib/opencloud" |
| 47 | |
| 48 | cd "$builddir"/opencloud |
| 49 | go build -tags disable_crypt -ldflags "$_ldflags" \ |
| 50 | -o bin/opencloud ./cmd/opencloud |
| 51 | } |
| 52 | |
| 53 | package() { |
| 54 | install -Dm755 "$builddir"/opencloud/bin/opencloud \ |
| 55 | "$pkgdir"/usr/bin/opencloud |
| 56 | |
| 57 | install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname |
| 58 | install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname |
| 59 | |
| 60 | install -dm700 "$pkgdir"/etc/opencloud |
| 61 | install -dm700 "$pkgdir"/var/lib/opencloud |
| 62 | install -dm755 "$pkgdir"/var/log/opencloud |
| 63 | } |
| 64 | |
| 65 | sha512sums=" |
| 66 | c14f4598086466537c29de4a6eaad594f8d578dbd2a4def964086b20aa15964ab9be33c68b3886da6aa4c0b0898ad1021e9512f2235b9a4ec77679e81e2150ee opencloud-8.1.0.tar.gz |
| 67 | eeafb648765628d7e4f0740d0cd94d15df8470919e246ae79d4e4147be87413338b825e4ea4ce6ee725998034e163b3a23f8cc9e1bf866005cf44aeb011db315 opencloud-web-8.1.0.tar.gz |
| 68 | 899b37658553684a72dc836cb158ca8e6bee8f9219c7c21b16427b0d0d73a598052811d7af2232d84462d126935c06b60e2d0ce309073eda9ad1f1eac37555a0 system-rollup.patch |
| 69 | 3ba5eb5862c780c3af1865423cccb0b0c19dcea8c2892aa7e3375054d769766f63df783b90a26f790bdfea312f4bc7993aaa755898e295233733936c72f3c3d5 opencloud.initd |
| 70 | d0efd0564edc826f5f06fe1fc04a412790cf0835b579e78c654f7157fdd1d2f87b24ebdbc33b5161560af22a89ec255919b16e9c3f03635a358ca8d2df45ce78 opencloud.confd |
| 71 | " |