at 24.11-pre 41 lines 1.3 kB view raw
1{ lib, stdenv, git, xdg-utils, gnugrep, fetchFromGitHub, installShellFiles, makeWrapper, pandoc }: 2 3stdenv.mkDerivation rec { 4 pname = "git-open"; 5 version = "3.0.0"; 6 7 src = fetchFromGitHub { 8 owner = "paulirish"; 9 repo = "git-open"; 10 rev = "v${version}"; 11 sha256 = "sha256-Bag2rI2uR7ilkg2ozjR8tPXqKz5XjiY7WAUJKTVTXd8="; 12 }; 13 14 nativeBuildInputs = [ installShellFiles makeWrapper pandoc ]; 15 16 buildPhase = '' 17 # marked-man is broken and severly outdated. 18 # pandoc with some extra metadata is good enough and produces a by man readable file. 19 cat <(echo echo '% git-open (1) Version ${version} | Git manual') git-open.1.md > tmp 20 mv tmp git-open.1.md 21 pandoc --standalone --to man git-open.1.md -o git-open.1 22 ''; 23 24 installPhase = '' 25 mkdir -p $out/bin 26 mv git-open $out/bin 27 installManPage git-open.1 28 wrapProgram $out/bin/git-open \ 29 --prefix PATH : "${lib.makeBinPath [ gnugrep ]}" \ 30 --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" 31 ''; 32 33 meta = with lib; { 34 homepage = "https://github.com/paulirish/git-open"; 35 description = "Open the GitHub page or website for a repository in your browser"; 36 license = licenses.mit; 37 platforms = platforms.all; 38 maintainers = with maintainers; [ SuperSandro2000 ]; 39 mainProgram = "git-open"; 40 }; 41}