ocis: init at 5.0.9
This commit is contained in:
parent
96fd503b3a
commit
4e17c3e53f
88
pkgs/by-name/oc/ocis/package.nix
Normal file
88
pkgs/by-name/oc/ocis/package.nix
Normal 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
22
pkgs/by-name/oc/ocis/update.sh
Executable 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
|
||||
48
pkgs/by-name/oc/ocis/web.nix
Normal file
48
pkgs/by-name/oc/ocis/web.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user