ocis: init at 5.0.9

This commit is contained in:
xinyangli 2024-09-09 15:27:23 +08:00
parent 96fd503b3a
commit 4e17c3e53f
No known key found for this signature in database
3 changed files with 158 additions and 0 deletions

View File

@ -0,0 +1,88 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
buildGoModule,
callPackage,
gnumake,
pnpm,
nodejs,
ocis,
}:
let
idp-assets = stdenvNoCC.mkDerivation {
pname = "idp-assets";
version = "0-unstable-2020-10-14";
src = fetchFromGitHub {
owner = "owncloud";
repo = "assets";
rev = "e8b6aeadbcee1865b9df682e9bd78083842d2b5c";
hash = "sha256-PzGff2Zx8xmvPYQa4lS4yz2h+y/lerKvUZkYI7XvAUw=";
};
installPhase = ''
mkdir -p $out/share
cp logo.svg favicon.ico $out/share/
'';
dontConfigure = true;
dontBuild = true;
dontFixup = true;
};
in
buildGoModule rec {
pname = "ocis";
version = "5.0.9";
vendorHash = null;
src = fetchFromGitHub {
owner = "owncloud";
repo = "ocis";
rev = "refs/tags/v${version}";
hash = "sha256-TsMrQx+P1F2t66e0tGG0VvRi4W7+pCpDHd0aNsacOsI=";
};
nativeBuildInputs = [
gnumake
nodejs
pnpm.configHook
];
pnpmDeps = pnpm.fetchDeps {
inherit pname version src;
sourceRoot = "${src.name}/services/idp";
hash = "sha256-gNlN+u/bobnTsXrsOmkDcWs67D/trH3inT5AVQs3Brs=";
};
pnpmRoot = "services/idp";
buildPhase = ''
runHook preBuild
cp -r ${ocis.web}/share/* services/web/assets/
pnpm -C services/idp build
mkdir -p services/idp/assets/identifier/static
cp -r ${idp-assets}/share/* services/idp/assets/identifier/static/
make -C ocis VERSION=${version} DATE=${version} build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin/
cp ocis/bin/ocis $out/bin/
runHook postInstall
'';
passthru = {
web = callPackage ./web.nix { };
updateScript = ./update.sh;
};
meta = {
homepage = "https://github.com/owncloud/web";
description = "Next generation frontend for ownCloud Infinite Scale";
license = lib.licenses.asl20;
mainProgram = "ocis";
maintainers = with lib.maintainers; [ xinyangli ];
};
}

22
pkgs/by-name/oc/ocis/update.sh Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq gnugrep nix-update coreutils
set -ex
TAGS=$(curl -s https://api.github.com/repos/owncloud/ocis/releases | jq -r ".[].tag_name")
for tag in $TAGS; do
main_version_old=$(echo "v$UPDATE_NIX_OLD_VERSION" | cut -d'.' -f1)
main_version_new=$(echo "$tag" | cut -d'.' -f1)
# Compare the main versions
if [[ "$main_version_old" == "$main_version_new" ]]; then
UPDATE_NIX_NEW_VERSION=$tag
break
else
continue
fi
done
OCIS_WEB_VERSION=$(curl -s https://raw.githubusercontent.com/owncloud/ocis/$UPDATE_NIX_NEW_VERSION/services/web/Makefile | grep -oP '(?<=WEB_ASSETS_VERSION = )v[0-9]+\.[0-9]+\.[0-9]+')
nix-update -vr 'v(.*)' --version=$OCIS_WEB_VERSION ocis.web
nix-update -vr 'v(.*)' --version=$UPDATE_NIX_NEW_VERSION ocis

View File

@ -0,0 +1,48 @@
{
lib,
stdenvNoCC,
nodejs,
pnpm,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation rec {
pname = "ocis-web";
version = "8.0.5";
src = fetchFromGitHub {
owner = "owncloud";
repo = "web";
rev = "refs/tags/v${version}";
hash = "sha256-hupdtK/V74+X7/eXoDmUjFvSKuhnoOtNQz7o6TLJXG4=";
};
nativeBuildInputs = [
nodejs
pnpm.configHook
];
buildPhase = ''
runHook preBuild
pnpm build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share
cp -r dist/* $out/share/
runHook postInstall
'';
pnpmDeps = pnpm.fetchDeps {
inherit pname version src;
hash = "sha256-3Erva6srdkX1YQ727trx34Ufx524nz19MUyaDQToz6M=";
};
meta = {
homepage = "https://github.com/owncloud/ocis";
description = "ownCloud Infinite Scale Stack";
maintainers = with lib.maintainers; [ xinyangli ];
license = lib.licenses.agpl3Only;
};
}