025c571f1e
Instead of creating 4 different tiny derivations, just stick everything into 1.
52 lines
1.3 KiB
Nix
52 lines
1.3 KiB
Nix
{ stdenv, lib, fetchurl, php }:
|
|
|
|
let
|
|
version = "1.0.0";
|
|
|
|
bin = "bin/wp";
|
|
ini = "etc/php/wp-cli.ini";
|
|
phar = "share/wp-cli/wp-cli.phar";
|
|
|
|
completion = fetchurl {
|
|
url = "https://raw.githubusercontent.com/wp-cli/wp-cli/v${version}/utils/wp-completion.bash";
|
|
sha256 = "15d330x6d3fizrm6ckzmdknqg6wjlx5fr87bmkbd5s6a1ihs0g24";
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
name = "wp-cli-${version}";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
|
|
sha256 = "06a80fz9na9arjdpmnislwr0121kkg11kxfqmac0axa9vkv9fjcp";
|
|
};
|
|
|
|
buildCommand = ''
|
|
mkdir -p $out/bin $out/etc/php
|
|
|
|
cat <<_EOF > $out/${bin}
|
|
#! ${stdenv.shell} -eu
|
|
exec ${lib.getBin php}/bin/php \\
|
|
-c $out/${ini} \\
|
|
-f $out/${phar} "\$@"
|
|
_EOF
|
|
chmod 755 $out/${bin}
|
|
|
|
cat <<_EOF > $out/${ini}
|
|
[Phar]
|
|
phar.readonly = Off
|
|
_EOF
|
|
chmod 644 $out/${ini}
|
|
|
|
install -Dm644 ${src} $out/${phar}
|
|
install -Dm644 ${completion} $out/share/bash-completion/completions/wp
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A command line interface for WordPress";
|
|
maintainers = with maintainers; [ peterhoeg ];
|
|
platforms = platforms.all;
|
|
homepage = https://wp-cli.org;
|
|
license = licenses.mit;
|
|
};
|
|
}
|