about summary refs log tree commit diff
path: root/pkgs/development/tools/wp-cli/default.nix
blob: a116e8b73e221f60e77678d6891ad9840327aca8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{ stdenv, lib, writeText, writeScript, fetchurl, php }:

let
  version = "0.24.1";
  name = "wp-cli-${version}";

  phpIni = writeText "wp-cli-php.ini" ''
    [Phar]
    phar.readonly = Off
  '';

  wpBin = writeScript "wp" ''
    #! ${stdenv.shell} -e
    exec ${php}/bin/php \
      -c ${phpIni} \
      -f ${src} "$@"
  '';

  src = fetchurl {
    url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
    sha256 = "027nclp8qbfr624ja6aixzcwnvb55d7dskk9l1i042bc86hmphfd";
  };

in stdenv.mkDerivation rec {

  inherit name;

  buildCommand = ''
    mkdir -p $out/bin
    ln -s ${wpBin} $out/bin/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;
  };
}