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