nixpkgs/pkgs/by-name/ba/bashblog/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

64 lines
1.4 KiB
Nix

{ stdenv
, lib
, fetchFromGitHub
, makeWrapper
, substituteAll
, perlPackages
# Flags to enable processors
# Currently, Markdown.pl does not work
, usePandoc ? true
, pandoc }:
let
inherit (perlPackages) TextMarkdown;
# As bashblog supports various markdown processors
# we can set flags to enable a certain processor
markdownpl_path = "${perlPackages.TextMarkdown}/bin/Markdown.pl";
pandoc_path = "${pandoc}/bin/pandoc";
in stdenv.mkDerivation {
pname = "bashblog";
version = "unstable-2022-03-26";
src = fetchFromGitHub {
owner = "cfenollosa";
repo = "bashblog";
rev = "c3d4cc1d905560ecfefce911c319469f7a7ff8a8";
sha256 = "sha256-THlP/JuaZzDq9QctidwLRiUVFxRhGNhRKleWbQiqsgg=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ TextMarkdown ]
++ lib.optionals usePandoc [ pandoc ];
patches = [
(substituteAll {
src = ./0001-Setting-markdown_bin.patch;
markdown_path = if usePandoc then pandoc_path else markdownpl_path;
})
];
postPatch = ''
patchShebangs bb.sh
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -Dm755 bb.sh $out/bin/bashblog
runHook postInstall
'';
meta = with lib; {
description = "Single Bash script to create blogs";
mainProgram = "bashblog";
homepage = "https://github.com/cfenollosa/bashblog";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = [ ];
};
}