Files
azos/pkgs/azos-trivial-org.nix
T
2024-09-07 00:24:08 +03:00

46 lines
1.1 KiB
Nix

# trivial builder for Emacs packages
{ callPackage, lib, epkgs, ... }@envargs:
let
libBuildHelper = epkgs.lib-build-helper;
in
libBuildHelper.extendMkDerivation' epkgs.trivialBuild (finalAttrs:
args:
{
preBuild = args.preBuild or ''
for file in ./*.org
do
emacs --batch --eval "(require 'org)" --eval "(org-babel-tangle-file \"$file\" (concat (file-name-sans-extension \"$file\") \".el\") \"emacs-lisp\")"
done
'';
unpackCmd = args.unpackCmd or ''
case "$curSrc" in
*.el)
# keep original source filename without the hash
local filename=$(basename "$curSrc")
filename="''${filename:33}"
cp $curSrc $filename
chmod +w $filename
sourceRoot="."
;;
*.org)
# keep original source filename without the hash
local filename=$(basename "$curSrc")
filename="''${filename:33}"
cp $curSrc $filename
chmod +w $filename
sourceRoot="."
;;
*)
_defaultUnpack "$curSrc"
;;
esac
'';
}
)