wp-cli: 1.2.1 -> 1.3.0

+26 -28
+26 -28
pkgs/development/tools/wp-cli/default.nix
··· 1 - { stdenv, lib, fetchurl, php }: 1 + { stdenv, lib, fetchurl, writeScript, writeText, php }: 2 2 3 3 let 4 - version = "1.2.1"; 4 + name = "wp-cli-${version}"; 5 + version = "1.3.0"; 5 6 6 - bin = "bin/wp"; 7 - ini = "etc/php/wp-cli.ini"; 8 - phar = "share/wp-cli/wp-cli.phar"; 7 + src = fetchurl { 8 + url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar"; 9 + sha256 = "0q5d32jq7a6rba77sr1yyj6ib6x838hw14mm186ah1xxgnn7rnry"; 10 + }; 9 11 10 12 completion = fetchurl { 11 13 url = "https://raw.githubusercontent.com/wp-cli/wp-cli/v${version}/utils/wp-completion.bash"; 12 14 sha256 = "15d330x6d3fizrm6ckzmdknqg6wjlx5fr87bmkbd5s6a1ihs0g24"; 13 15 }; 14 16 15 - in stdenv.mkDerivation rec { 16 - name = "wp-cli-${version}"; 17 + bin = writeScript "wp" '' 18 + #! ${stdenv.shell} 17 19 18 - src = fetchurl { 19 - url = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar"; 20 - sha256 = "1ds9nhm0akajwykblg0s131vki02k3rpf72a851r3wjw2qv116wz"; 21 - }; 20 + set -euo pipefail 22 21 23 - buildCommand = '' 24 - mkdir -p $out/bin $out/etc/php 25 - 26 - cat <<_EOF > $out/${bin} 27 - #! ${stdenv.shell} -eu 28 - exec ${lib.getBin php}/bin/php \\ 29 - -c $out/${ini} \\ 30 - -f $out/${phar} "\$@" 31 - _EOF 32 - chmod 755 $out/${bin} 22 + exec ${lib.getBin php}/bin/php \ 23 + -c ${ini} \ 24 + -f ${src} -- "$@" 25 + ''; 33 26 34 - cat <<_EOF > $out/${ini} 27 + ini = writeText "wp-cli.ini" '' 35 28 [Phar] 36 29 phar.readonly = Off 37 - _EOF 38 - chmod 644 $out/${ini} 30 + ''; 31 + 32 + in stdenv.mkDerivation rec { 33 + inherit name version; 34 + 35 + buildCommand = '' 36 + mkdir -p $out/{bin,share/bash-completion/completions} 39 37 40 - install -Dm644 ${src} $out/${phar} 38 + ln -s ${bin} $out/bin/wp 41 39 install -Dm644 ${completion} $out/share/bash-completion/completions/wp 42 40 ''; 43 41 44 42 meta = with stdenv.lib; { 45 43 description = "A command line interface for WordPress"; 44 + homepage = https://wp-cli.org; 45 + license = licenses.mit; 46 46 maintainers = with maintainers; [ peterhoeg ]; 47 - platforms = platforms.all; 48 - homepage = https://wp-cli.org; 49 - license = licenses.mit; 47 + platforms = platforms.all; 50 48 }; 51 49 }