mirror of
https://github.com/CHN-beta/nixos.git
synced 2026-01-12 04:39:23 +08:00
偷来一个misskey的打包
This commit is contained in:
@@ -1,25 +1,93 @@
|
||||
{ lib, mkYarnPackage, fetchFromGitHub }:
|
||||
mkYarnPackage
|
||||
{
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchYarnDeps
|
||||
, fixup_yarn_lock
|
||||
, yarn
|
||||
, nodejs
|
||||
, python3
|
||||
, pkg-config
|
||||
, glib
|
||||
, vips
|
||||
}:
|
||||
|
||||
let
|
||||
version = "12.108.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "misskey-dev";
|
||||
repo = "misskey";
|
||||
rev = version;
|
||||
sha256 = "sha256-NTspyTNy3cqc43+YLeCKRR46D7BvtIWoNCmwgqykHgs=";
|
||||
};
|
||||
|
||||
deps = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
sha256 = "sha256-1NEeuBVp5e7RtFzYeT4nTGxGs2oeTxqiz20pEZXmcbo=";
|
||||
};
|
||||
backendDeps = fetchYarnDeps {
|
||||
yarnLock = "${src}/packages/backend/yarn.lock";
|
||||
sha256 = "sha256-G01hkYthBCZnsvPNaTIXSgTN9/1inJXhh34umxfxUsc=";
|
||||
};
|
||||
clientDeps = fetchYarnDeps {
|
||||
yarnLock = "${src}/packages/client/yarn.lock";
|
||||
sha256 = "sha256-LwGjqHN59KditL3igVP1/TZ7cZSbrZopOl9A0c1nlW8=";
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
pname = "misskey";
|
||||
version = "13.14.2";
|
||||
src = fetchFromGitHub
|
||||
{
|
||||
owner = "CHN-beta";
|
||||
repo = "misskey";
|
||||
rev = "8b3920502fd8060e498276c985cd58a0ed86b5df";
|
||||
hash = "sha256-P67D2WAcm44CfeSoeD6/kcQP27C59Hm/htD+gmyn8FE=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
configurePhase =
|
||||
''
|
||||
cp -r $node_modules node_modules
|
||||
'';
|
||||
buildPhase =
|
||||
''
|
||||
runHook preBuild
|
||||
# yarn install --frozen-lockfile --offline
|
||||
NODE_ENV=production yarn build --offline
|
||||
runHook postBuild
|
||||
'';
|
||||
}
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [ fixup_yarn_lock yarn nodejs python3 pkg-config ];
|
||||
buildInputs = [ glib vips ];
|
||||
|
||||
buildPhase = ''
|
||||
export HOME=$PWD
|
||||
export NODE_ENV=production
|
||||
# Build node modules
|
||||
fixup_yarn_lock yarn.lock
|
||||
fixup_yarn_lock packages/backend/yarn.lock
|
||||
fixup_yarn_lock packages/client/yarn.lock
|
||||
yarn config --offline set yarn-offline-mirror ${deps}
|
||||
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
|
||||
(
|
||||
cd packages/backend
|
||||
yarn config --offline set yarn-offline-mirror ${backendDeps}
|
||||
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
|
||||
)
|
||||
(
|
||||
cd packages/client
|
||||
yarn config --offline set yarn-offline-mirror ${clientDeps}
|
||||
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
|
||||
)
|
||||
patchShebangs node_modules
|
||||
patchShebangs packages/backend/node_modules
|
||||
patchShebangs packages/client/node_modules
|
||||
(
|
||||
cd packages/backend/node_modules/re2
|
||||
npm_config_nodedir=${nodejs} npm run rebuild
|
||||
)
|
||||
(
|
||||
cd packages/backend/node_modules/sharp
|
||||
npm_config_nodedir=${nodejs} ../.bin/node-gyp rebuild
|
||||
)
|
||||
yarn build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/packages/client
|
||||
ln -s /var/lib/misskey $out/files
|
||||
ln -s /run/misskey $out/.config
|
||||
cp -r locales node_modules built $out
|
||||
cp -r packages/backend $out/packages/backend
|
||||
cp -r packages/client/assets $out/packages/client/assets
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Interplanetary microblogging platform. 🚀";
|
||||
homepage = "https://misskey-hub.net/";
|
||||
license = licenses.agpl3;
|
||||
maintainers = with maintainers; [ yuka kloenk ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
25
local/pkgs/misskey/default.nix.bak
Normal file
25
local/pkgs/misskey/default.nix.bak
Normal file
@@ -0,0 +1,25 @@
|
||||
{ lib, mkYarnPackage, fetchFromGitHub }:
|
||||
mkYarnPackage
|
||||
{
|
||||
pname = "misskey";
|
||||
version = "13.14.2";
|
||||
src = fetchFromGitHub
|
||||
{
|
||||
owner = "CHN-beta";
|
||||
repo = "misskey";
|
||||
rev = "8b3920502fd8060e498276c985cd58a0ed86b5df";
|
||||
hash = "sha256-P67D2WAcm44CfeSoeD6/kcQP27C59Hm/htD+gmyn8FE=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
configurePhase =
|
||||
''
|
||||
cp -r $node_modules node_modules
|
||||
'';
|
||||
buildPhase =
|
||||
''
|
||||
runHook preBuild
|
||||
# yarn install --frozen-lockfile --offline
|
||||
NODE_ENV=production yarn build --offline
|
||||
runHook postBuild
|
||||
'';
|
||||
}
|
||||
@@ -242,6 +242,6 @@ inputs:
|
||||
# sudo cfdisk /dev/nvme1n1p3
|
||||
|
||||
# test on e20dae7d8b317f95718b5f4175bd4246c09735de mathematica ~15G
|
||||
# 15 5m33s 7.16G
|
||||
# 8 54s 7.32G
|
||||
# 3 17s 7.52G
|
||||
# zstd:15 5m33s 7.16G
|
||||
# zstd:8 54s 7.32G
|
||||
# zstd:3 17s 7.52G
|
||||
|
||||
Reference in New Issue
Block a user