I4PAHRPH6Q5ZXCJ4A6XZTXS43MFLZJG75VHXF7KFQ7D7MA4BMA6AC
7USRVMS5DWJUTK4EYP5F774F4FZJNE2FFS7B2AGEWM3ADU6X4AYAC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC
EY6TDTQF76OHSGWR572JUJP2DENLLKJ7TWM5VVIBOXWTPJ6B6MMAC
C2AK6BRZ7C4GYAJBHJRSV67536KRP6QC2IJN5OENKFFKPXCNTARAC
BS7ABBU7XUN2MNHAKACMC2Z5GWNYW2ZJM2EWYX2P4NQILVBWZMGAC
YEMYZP24MMAEYZJTLAYTOOBVILR7467ZX2K5T2PDGXW75IQE2NJQC
6XELOGDCC2DQEL4VZZIGLIK6EJHY7Q2I76L4DVRJXO3VLYGYPHNAC
2XQC6RDJ66ONMC4WFLYRSAG3LTA4M4TDNP2SY2OWATCRA56EJBUAC
R22AJ7DO4PBTSUAMBLGWMJ7KTGLFMSKJHD7PKZKFOIF3UW7DNRTQC
YTCAGLMETYZOR3KTLNMA2EKQBQRBBD7JYAU3TAWZVROCTJEH7ZZAC
ZNA55M3OW2RZXC4MA5UDS4V3KRBSAKFNAYVYE4I2EASXUSI4WXMQC
TQLFH5INU3ASBDLENOCSAEZ2RHB6JLII6XDGDQ2KRF3WUF4JDLZQC
OWFOCHWRU53CS6GDG4PQDOG7C36CBCJN64OV3YTI3YGPZ4G2K4TQC
;;; -*- Mode:Lisp; Syntax:ANSI-Common-Lisp; Package: ASDF-USER -*-
(in-package :asdf-user)
(defsystem :tools/zenburn
:description "Tool for generating colored text"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:depends-on (#:alexandria
#:serapeum
#:net.didierverna.clon
:serial t
:components ((:file "cls")))
(defsystem :tools/git-pick-patch
:description "list files as json"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:build-pathname "git-pick-patch"
:entry-point "git-pick-patch:main"
:depends-on (#:alexandria
#:serapeum
#:cl-ppcre)
:output-files (program-op (o c)
(let* ((exe-name (asdf/system:component-build-pathname c))
(result (merge-pathnames exe-name
(user-homedir-pathname))))
(values (list result)
t)))
:serial t
:components ((:file "git-pick-patch")))
(defsystem :tools/json-formatter
:description "json formatter"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:class fw-tool-system
:build-pathname "json-formatter"
:entry-point "fwoar.json-formatter:main"
:depends-on (#:alexandria
#:serapeum
#:com.inuoe.jzon
#:net.didierverna.clon)
:serial t
:components ((:file "json-formatter")))
#:yason)
#:uiop)
:serial t
:components ((:file "zenburn")))
(defsystem :tools/cls
:description "list files as json"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
#:data-lens
#:local-time
:class fw-tool-system
:build-pathname "cls"
:entry-point "fwoar.cls:main"
:depends-on ((:require :sb-posix)
(:require :uiop)
#:alexandria
#:dufy
#:net.didierverna.clon
;; :defsystem-depends-on (:tool-system)
:class fw-tool-system
:build-pathname "zenburn"
:entry-point "fwoar.zenburn:main"
(defsystem :tools
:description "Tool for generating colored text"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:depends-on ()
:serial t
:components ())
(defclass asdf-user::fw-tool-system (asdf:system)
())
(defmethod asdf:perform :before ((o program-op) (c fw-tool-system))
(flet ((package-name-for-system ()
(let* ((primary-name (asdf:primary-system-name c)))
(format nil "fwoar.~a"
(subseq (asdf:component-name c)
(1+ (length primary-name)))))))
(uiop:symbol-call (string-upcase (package-name-for-system))
:prepare-dump)))
(defmethod asdf:output-files ((o program-op) (c fw-tool-system))
(let* ((exe-name (asdf/system:component-build-pathname c))
(result (merge-pathnames exe-name
(user-homedir-pathname))))
(values (list result)
t)))
;;; -*- Mode:Lisp; Syntax:ANSI-Common-Lisp; Package: ASDF-USER -*-
(in-package :asdf-user)
(defsystem :fwoar-tools
:description "Tool for generating colored text"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:depends-on ()
:serial t
:components ())
(defclass asdf-user::fw-tool-system (asdf:system)
())
(defmethod asdf:perform :before ((o program-op) (c fw-tool-system))
(flet ((package-name-for-system ()
(let* ((primary-name (asdf:primary-system-name c)))
(format nil "fwoar.~a"
(subseq (asdf:component-name c)
(1+ (length primary-name)))))))
(uiop:symbol-call (string-upcase (package-name-for-system))
:prepare-dump)))
(defmethod asdf:output-files ((o program-op) (c fw-tool-system))
(let* ((exe-name (asdf/system:component-build-pathname c))
(result (merge-pathnames exe-name
(user-homedir-pathname))))
(values (list result)
t)))
(defsystem :fwoar-tools/zenburn
:description "Tool for generating colored text"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
;; :defsystem-depends-on (:tool-system)
:class fw-tool-system
:build-pathname "zenburn"
:entry-point "fwoar.zenburn:main"
:depends-on (#:alexandria
#:dufy
#:net.didierverna.clon
#:serapeum
#:uiop)
:serial t
:components ((:file "zenburn")))
(defsystem :fwoar-tools/cls
:description "list files as json"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:class fw-tool-system
:build-pathname "cls"
:entry-point "fwoar.cls:main"
:depends-on ((:require :sb-posix)
(:require :uiop)
#:alexandria
#:data-lens
#:local-time
#:net.didierverna.clon
#:yason)
:serial t
:components ((:file "cls")))
(defsystem :fwoar-tools/json-formatter
:description "json formatter"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:class fw-tool-system
:build-pathname "json-formatter"
:entry-point "fwoar.json-formatter:main"
:depends-on (#:alexandria
#:serapeum
#:com.inuoe.jzon
#:net.didierverna.clon)
:serial t
:components ((:file "json-formatter")))
(defsystem :fwoar-tools/git-pick-patch
:description "list files as json"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:build-pathname "git-pick-patch"
:entry-point "git-pick-patch:main"
:depends-on (#:alexandria
#:serapeum
#:cl-ppcre)
:output-files (program-op (o c)
(let* ((exe-name (asdf/system:component-build-pathname c))
(result (merge-pathnames exe-name
(user-homedir-pathname))))
(values (list result)
t)))
:serial t
:components ((:file "git-pick-patch")))
{nixpkgs, ...}: let
mkTool = {
name,
lispDeps,
system,
}: let
pkgs = nixpkgs.legacyPackages.${system};
sbcl = pkgs.sbcl.withPackages lispDeps;
in
pkgs.stdenv.mkDerivation {
inherit system name;
src = ./.;
builder = ../build.sh;
dontStrip = true;
buildInputs = [
pkgs.makeWrapper
pkgs.openssl.dev
sbcl
pkgs.which
pkgs.zsh
];
};
in
system: {
zenburn = mkTool {
inherit system;
name = "zenburn";
lispDeps = ps:
with ps; [
alexandria
dufy
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
serapeum
#uiop
];
};
cls = mkTool {
inherit system;
name = "cls";
lispDeps = ps:
with ps; [
alexandria
data-lens
local-time
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
yason
#uiop
];
};
git-pick-patch = mkTool {
inherit system;
name = "git-pick-patch";
lispDeps = ps:
with ps; [
alexandria
serapeum
cl-ppcre
];
};
json-formatter = mkTool {
inherit system;
name = "json-formatter";
lispDeps = ps:
with ps; [
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
alexandria
serapeum
com_dot_inuoe_dot_jzon
];
};
}
{nixpkgs, ...}: let
mkTool = {
name,
lispDeps,
}: system: let
pkgs = nixpkgs.legacyPackages.${system};
sbcl = pkgs.sbcl.withPackages lispDeps;
in
pkgs.stdenv.mkDerivation {
inherit system name;
src = ../../tools;
builder = ../../build.sh;
dontStrip = true;
buildInputs = [
pkgs.makeWrapper
pkgs.openssl.dev
sbcl
pkgs.which
pkgs.zsh
];
};
mkZenburn = mkTool {
name = "zenburn";
lispDeps = ps:
with ps; [
alexandria
dufy
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
serapeum
#uiop
];
};
mkCls = mkTool {
name = "cls";
lispDeps = ps:
with ps; [
alexandria
data-lens
local-time
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
yason
#uiop
];
};
mkGitPickPatch = mkTool {
name = "git-pick-patch";
lispDeps = ps:
with ps; [
alexandria
serapeum
cl-ppcre
];
};
mkJsonFormatter = mkTool {
name = "json-formatter";
lispDeps = ps:
with ps; [
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
alexandria
serapeum
com_dot_inuoe_dot_jzon
];
};
{nixpkgs, ...} @ inputs: let
mkTools = system: {
zenburn = mkZenburn system;
cls = mkCls system;
git-pick-patch = mkGitPickPatch system;
json-formatter = mkJsonFormatter system;
mycurl = mkCurl system;
gsed = mkPrefixedSed system;
};
tools = import ../../tools inputs;
mkTools = system:
{
mycurl = mkCurl system;
gsed = mkPrefixedSed system;
}
// tools system;
--eval '(asdf:load-asd (truename "tools.asd"))' \
--eval "(asdf:load-system :tools/$name)" \
--eval "(asdf:operate :program-op :tools/$name)"
--eval '(asdf:load-asd (truename "fwoar-tools.asd"))' \
--eval "(asdf:load-system :fwoar-tools/$name)" \
--eval "(asdf:operate :program-op :fwoar-tools/$name)"
;;; -*- Mode:Lisp; Syntax:ANSI-Common-Lisp; Package: ASDF-USER -*-
(in-package :asdf-user)
(defsystem :fwoar-tools
:description "Tool for generating colored text"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:depends-on ()
:serial t
:components ())
(defclass asdf-user::fw-tool-system (asdf:system)
())
(defmethod asdf:perform :before ((o program-op) (c fw-tool-system))
(flet ((package-name-for-system ()
(let* ((primary-name (asdf:primary-system-name c)))
(format nil "fwoar.~a"
(subseq (asdf:component-name c)
(1+ (length primary-name)))))))
(uiop:symbol-call (string-upcase (package-name-for-system))
:prepare-dump)))
(defmethod asdf:output-files ((o program-op) (c fw-tool-system))
(let* ((exe-name (asdf/system:component-build-pathname c))
(result (merge-pathnames exe-name
(user-homedir-pathname))))
(values (list result)
t)))
(defsystem :fwoar-tools/zenburn
:description "Tool for generating colored text"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
;; :defsystem-depends-on (:tool-system)
:class fw-tool-system
:build-pathname "zenburn"
:entry-point "fwoar.zenburn:main"
:depends-on (#:alexandria
#:dufy
#:net.didierverna.clon
#:serapeum
#:uiop)
:serial t
:components ((:file "zenburn")))
(defsystem :fwoar-tools/cls
:description "list files as json"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:class fw-tool-system
:build-pathname "cls"
:entry-point "fwoar.cls:main"
:depends-on ((:require :sb-posix)
(:require :uiop)
#:alexandria
#:data-lens
#:local-time
#:net.didierverna.clon
#:yason)
:serial t
:components ((:file "cls")))
(defsystem :fwoar-tools/json-formatter
:description "json formatter"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:class fw-tool-system
:build-pathname "json-formatter"
:entry-point "fwoar.json-formatter:main"
:depends-on (#:alexandria
#:serapeum
#:com.inuoe.jzon
#:net.didierverna.clon)
:serial t
:components ((:file "json-formatter")))
(defsystem :fwoar-tools/git-pick-patch
:description "list files as json"
:author "Ed L <el-l@elangley.org>"
:license "MIT"
:build-pathname "git-pick-patch"
:entry-point "git-pick-patch:main"
:depends-on (#:alexandria
#:serapeum
#:cl-ppcre)
:output-files (program-op (o c)
(let* ((exe-name (asdf/system:component-build-pathname c))
(result (merge-pathnames exe-name
(user-homedir-pathname))))
(values (list result)
t)))
:serial t
:components ((:file "git-pick-patch")))
{nixpkgs, ...}: let
mkTool = {
name,
lispDeps,
system,
}: let
pkgs = nixpkgs.legacyPackages.${system};
sbcl = pkgs.sbcl.withPackages lispDeps;
in
pkgs.stdenv.mkDerivation {
inherit system name;
src = ./.;
builder = ../build.sh;
dontStrip = true;
buildInputs = [
pkgs.makeWrapper
pkgs.openssl.dev
sbcl
pkgs.which
pkgs.zsh
];
};
in
system: {
zenburn = mkTool {
inherit system;
name = "zenburn";
lispDeps = ps:
with ps; [
alexandria
dufy
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
serapeum
#uiop
];
};
cls = mkTool {
inherit system;
name = "cls";
lispDeps = ps:
with ps; [
alexandria
data-lens
local-time
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
yason
#uiop
];
};
git-pick-patch = mkTool {
inherit system;
name = "git-pick-patch";
lispDeps = ps:
with ps; [
alexandria
serapeum
cl-ppcre
];
};
json-formatter = mkTool {
inherit system;
name = "json-formatter";
lispDeps = ps:
with ps; [
net_dot_didierverna_dot_clon
net_dot_didierverna_dot_clon_dot_termio
alexandria
serapeum
com_dot_inuoe_dot_jzon
];
};
}