mirror of
https://github.com/versia-pub/server.git
synced 2025-12-06 08:28:19 +01:00
fix: nix package
This commit is contained in:
parent
877b216eae
commit
c95296b82c
|
|
@ -25,6 +25,10 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
apps.update-modules = {
|
||||||
|
type = "app";
|
||||||
|
program = self.packages.${system}.versiajs.passthru.updateScript;
|
||||||
|
};
|
||||||
devShells = {
|
devShells = {
|
||||||
default = pkgs.mkShell {
|
default = pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{ lib }: {
|
|
||||||
x86_64-linux = "sha256-T/U9altP5HFzmULtsuvHQIXQXDCmQEAau8KFN8J5i/8=";
|
|
||||||
x86_64-darwin = lib.fakeHash;
|
|
||||||
aarch64-linux = "sha256-6ZzrYI2G+7q9Efgu5iKhZB3bT2C7T5fk4I/t5glpQYA=";
|
|
||||||
aarch64-darwin = lib.fakeHash;
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +1,29 @@
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
|
||||||
bun,
|
bun,
|
||||||
callPackage,
|
callPackage,
|
||||||
nodeHashes ? callPackage ./nodeHashes.nix { inherit lib; },
|
modulesSrc ? callPackage ./source.nix {},
|
||||||
nodePackages_latest,
|
nodePackages_latest,
|
||||||
makeBinaryWrapper,
|
makeBinaryWrapper,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert lib.assertMsg (
|
||||||
|
with builtins; hashFile "sha256" ../bun.lockb == hashFile "sha256" "${modulesSrc.src}/bun.lockb"
|
||||||
|
) "bun.lockb has changed. Please run 'nix run .#apps.x86_64-linux.update-modules'";
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "versiajs";
|
pname = "versiajs";
|
||||||
version = "0.7.0";
|
version = "0.7.0";
|
||||||
|
|
||||||
src = ../.;
|
src = ../.;
|
||||||
|
|
||||||
node_modules = stdenv.mkDerivation {
|
versiajsModules = stdenv.mkDerivation (modulesAttrs: {
|
||||||
pname = "${finalAttrs.pname}-node_modules";
|
pname = "${finalAttrs.pname}-modules";
|
||||||
|
|
||||||
inherit (finalAttrs) version src;
|
inherit (finalAttrs) version;
|
||||||
|
|
||||||
|
src = modulesSrc.src;
|
||||||
|
|
||||||
nativeBuildInputs = with nodePackages_latest; [ bun nodejs typescript ];
|
nativeBuildInputs = with nodePackages_latest; [ bun nodejs typescript ];
|
||||||
|
|
||||||
|
|
@ -35,9 +40,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
dontFixup = true;
|
dontFixup = true;
|
||||||
|
|
||||||
outputHash = nodeHashes.${stdenv.system};
|
outputHash = modulesSrc.outputHash.${stdenv.system};
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
};
|
});
|
||||||
|
|
||||||
nativeBuildInputs = [ bun ];
|
nativeBuildInputs = [ bun ];
|
||||||
|
|
||||||
|
|
@ -48,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
||||||
cp -r ${finalAttrs.node_modules}/node_modules .
|
cp -r ${finalAttrs.versiajsModules}/node_modules .
|
||||||
|
|
||||||
runHook postConfigure
|
runHook postConfigure
|
||||||
'';
|
'';
|
||||||
|
|
@ -80,11 +85,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A new federated server written with TypeScript and Bun ";
|
description = "A new federated server written with TypeScript and Bun ";
|
||||||
homepage = "https://lysand.org";
|
homepage = "https://lysand.org";
|
||||||
license = with lib.licenses; [ agpl3Plus ];
|
license = with lib.licenses; [ agpl3Plus ];
|
||||||
maintainers = with lib.maintainers; [ snaki ];
|
maintainers = with lib.maintainers; [ snaki ];
|
||||||
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
||||||
13
nix/source.nix
Normal file
13
nix/source.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}: {
|
||||||
|
outputHash.x86_64-linux = "sha256-SbOgLEdrKA7MwkiUvmenXyfbwgrKsq3AYo4Rjlqn0YA=";
|
||||||
|
outputHash.aarch64-linux = "sha256-KJBsOhtDOmW/EVFgZF1TNB5G7mSeRZs18zwZlh1MsUM=";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "lysand-org";
|
||||||
|
repo = "server";
|
||||||
|
rev = "832f72160f574f86c8a8897e5dcb3d6382d8192c";
|
||||||
|
hash = "sha256-BaojznCj0WWA0KkDMLjjlYikwpn975arGLyd0lFBXm0=";
|
||||||
|
};
|
||||||
|
}
|
||||||
21
nix/update.sh
Executable file
21
nix/update.sh
Executable file
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p nix-prefetch-github
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
SOURCE=$(nix-prefetch-github --nix lysand-org server | tail -n 6)
|
||||||
|
|
||||||
|
cat > ./nix/source.nix << EOF
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}: {
|
||||||
|
outputHash.x86_64-linux = lib.fakeHash;
|
||||||
|
outputHash.aarch64-linux = lib.fakeHash;
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
${SOURCE};
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
|
echo "Please update the attributes of 'outputHash' in nix/source.nix."
|
||||||
Loading…
Reference in a new issue