Use makeWrapper
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
# shellcheck shell=bash
|
||||||
|
|
||||||
if [ "$#" -lt 1 ]; then
|
if [ "$#" -lt 1 ]; then
|
||||||
echo "Usage: $0 <executable-path> [args...]"
|
echo "Usage: $0 <executable-path> [args...]"
|
||||||
exit 1
|
exit 1
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
# AUTO-UPDATE: nix-update --flake --version=branch=main darktable-ghost-cms-publish --subpackage npmSrc
|
# AUTO-UPDATE: nix-update --flake --version=branch=main darktable-ghost-cms-publish
|
||||||
pkgs.stdenv.mkDerivation (finalAttrs: {
|
pkgs.buildNpmPackage (finalAttrs: {
|
||||||
pname = "darktable-ghost-cms-publish";
|
pname = "darktable-ghost-cms-publish";
|
||||||
version = "0-unstable-2025-02-23";
|
version = "0-unstable-2025-02-23";
|
||||||
|
|
||||||
@@ -12,29 +12,17 @@ pkgs.stdenv.mkDerivation (finalAttrs: {
|
|||||||
hash = "sha256-5aoGkqxMyvyK8EDsSE6kZa+dpExxVH2GRx2n87VusKE=";
|
hash = "sha256-5aoGkqxMyvyK8EDsSE6kZa+dpExxVH2GRx2n87VusKE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
npmSrc = pkgs.buildNpmPackage {
|
nativeBuildInputs = with pkgs; [ makeWrapper ];
|
||||||
inherit (finalAttrs) src pname version;
|
|
||||||
|
|
||||||
npmDepsHash = "sha256-K/x9ZEMNO8D+SkvVPfqVJtZaDXY5gDApRRocg/POY68=";
|
npmDepsHash = "sha256-K/x9ZEMNO8D+SkvVPfqVJtZaDXY5gDApRRocg/POY68=";
|
||||||
dontNpmBuild = true;
|
dontNpmBuild = true;
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
cp -r . $out
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# FIXME: https://github.com/NixOS/nixpkgs/issues/255890
|
# FIXME: https://github.com/NixOS/nixpkgs/issues/255890
|
||||||
wrapper = pkgs.writeShellApplication {
|
|
||||||
name = finalAttrs.pname;
|
|
||||||
runtimeInputs = with pkgs; [ bun ];
|
|
||||||
text = ''
|
|
||||||
exec bun ${finalAttrs.npmSrc}/src/index.ts "$@"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/lib/${finalAttrs.pname}
|
mkdir -p $out/bin $out/lib/${finalAttrs.pname}
|
||||||
cp publish.lua $out/lib/${finalAttrs.pname}/
|
cp -r publish.lua src $out/lib/${finalAttrs.pname}/
|
||||||
cp ${finalAttrs.wrapper}/bin/${finalAttrs.pname} $out/bin/
|
|
||||||
|
makeWrapper ${pkgs.bun}/bin/bun $out/bin/${finalAttrs.pname} \
|
||||||
|
--add-flag "$out/lib/${finalAttrs.pname}/src/index.ts"
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@@ -18,9 +18,7 @@ pkgs.dockerTools.buildImage {
|
|||||||
Volumes = {
|
Volumes = {
|
||||||
"/var/www/nginx" = { };
|
"/var/www/nginx" = { };
|
||||||
};
|
};
|
||||||
Env = [
|
Env = [ "TARGET_DIR=/var/www/nginx" ];
|
||||||
"TARGET_DIR=/var/www/nginx"
|
|
||||||
];
|
|
||||||
ExposedPorts = {
|
ExposedPorts = {
|
||||||
"8080/tcp" = { };
|
"8080/tcp" = { };
|
||||||
};
|
};
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs ? import <nixpkgs> { }, ... }:
|
{ pkgs, ... }:
|
||||||
pkgs.buildGoModule (finalAttrs: {
|
pkgs.buildGoModule (finalAttrs: {
|
||||||
pname = "nginx-receiver";
|
pname = "nginx-receiver";
|
||||||
version = "0";
|
version = "0";
|
||||||
|
@@ -191,14 +191,14 @@ func removeContents(directory string) error {
|
|||||||
return fmt.Errorf("failed to read dir %s: %w", directory, err)
|
return fmt.Errorf("failed to read dir %s: %w", directory, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, entry := range entries {
|
for _, entry := range entries {
|
||||||
err := os.RemoveAll(filepath.Join(directory, entry.Name()))
|
err := os.RemoveAll(filepath.Join(directory, entry.Name()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func renameOrCopyContents(sourceDirectory string) error {
|
func renameOrCopyContents(sourceDirectory string) error {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
# AUTO-UPDATE: nix-update --flake --version=branch=master littlelink-server --subpackage yarnSrc
|
# AUTO-UPDATE: nix-update --flake --version=branch=master littlelink-server
|
||||||
pkgs.stdenv.mkDerivation (finalAttrs: {
|
pkgs.stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "littlelink-server";
|
pname = "littlelink-server";
|
||||||
version = "0-unstable-2025-06-16";
|
version = "0-unstable-2025-06-16";
|
||||||
@@ -11,41 +11,28 @@ pkgs.stdenv.mkDerivation (finalAttrs: {
|
|||||||
hash = "sha256-BUPqXpiofHlLKgbOYkZr+QEoRIdRgr8alrUzcGS9edc=";
|
hash = "sha256-BUPqXpiofHlLKgbOYkZr+QEoRIdRgr8alrUzcGS9edc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
yarnSrc = pkgs.stdenv.mkDerivation {
|
offlineCache = pkgs.fetchYarnDeps {
|
||||||
inherit (finalAttrs) src pname version;
|
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||||
|
hash = "sha256-nv1NgMm56wWlAYqqdH9UKTnWNhjxWBs1lmG+UCCQAzk=";
|
||||||
offlineCache = pkgs.fetchYarnDeps {
|
|
||||||
yarnLock = finalAttrs.src + "/yarn.lock";
|
|
||||||
hash = "sha256-nv1NgMm56wWlAYqqdH9UKTnWNhjxWBs1lmG+UCCQAzk=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
nodejs
|
|
||||||
yarnConfigHook
|
|
||||||
yarnBuildHook
|
|
||||||
npmHooks.npmInstallHook
|
|
||||||
];
|
|
||||||
|
|
||||||
yarnBuildFlags = [ "--noninteractive" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib/${finalAttrs.pname}
|
|
||||||
cp -r build node_modules $out/lib/${finalAttrs.pname}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
wrapper = pkgs.writeShellApplication {
|
nativeBuildInputs = with pkgs; [
|
||||||
name = finalAttrs.pname;
|
nodejs_20
|
||||||
runtimeInputs = with pkgs; [ nodejs_20 ];
|
yarnConfigHook
|
||||||
text = ''
|
yarnBuildHook
|
||||||
cd ${finalAttrs.yarnSrc}/lib/${finalAttrs.pname}
|
npmHooks.npmInstallHook
|
||||||
exec node build/server.js "$@"
|
makeWrapper
|
||||||
'';
|
];
|
||||||
};
|
|
||||||
|
yarnBuildFlags = [ "--noninteractive" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/lib/${finalAttrs.pname}
|
||||||
cp ${finalAttrs.wrapper}/bin/${finalAttrs.pname} $out/bin/
|
cp -r build node_modules $out/lib/${finalAttrs.pname}
|
||||||
|
|
||||||
|
makeWrapper ${pkgs.nodejs_20}/bin/node $out/bin/${finalAttrs.pname} \
|
||||||
|
--run "cd $out/lib/${finalAttrs.pname}" \
|
||||||
|
--add-flag "build/server.js"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta.mainProgram = finalAttrs.pname;
|
meta.mainProgram = finalAttrs.pname;
|
||||||
|
@@ -25,4 +25,6 @@ pkgs.buildGoModule (finalAttrs: {
|
|||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp "$GOPATH/bin/viya4-orders-cli" $out/bin/viya4-orders-cli
|
cp "$GOPATH/bin/viya4-orders-cli" $out/bin/viya4-orders-cli
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
meta.mainProgram = finalAttrs.pname;
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user