├── .envrc ├── database └── cl2nix.sexp ├── scripts ├── latest_github_tag ├── latest_gitlab_tag ├── extract ├── nix-prefetch-svn └── nix-prefetch-hg ├── src ├── .dir-locals.el ├── util.lisp ├── cl2nix.lisp ├── dump-nix-system.lisp ├── source-list.lisp ├── log.lisp ├── database.lisp ├── dep.lisp ├── nix-prefetch.lisp ├── src.lisp └── nix-system.lisp ├── flake.nix ├── cl2nix.asd ├── flake.lock ├── README.org ├── source-list └── overrides.sexp └── list.txt /.envrc: -------------------------------------------------------------------------------- 1 | use_flake 2 | -------------------------------------------------------------------------------- /database/cl2nix.sexp: -------------------------------------------------------------------------------- 1 | ( 2 | ) 3 | -------------------------------------------------------------------------------- /scripts/latest_github_tag: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | owner="$1" 4 | repo="$2" 5 | 6 | tag=$(curl -sL "https://api.github.com/repos/$owner/$repo/tags" \ 7 | | jq --raw-output '.[0].name') 8 | 9 | echo -n $tag 10 | -------------------------------------------------------------------------------- /scripts/latest_gitlab_tag: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | owner="$1" 4 | repo="$2" 5 | 6 | tag=$(curl -sL "https://gitlab.com/api/v4/projects/$owner%2F$repo/repository/tags" \ 7 | | jq --raw-output '.[0].release.tag_name') 8 | 9 | echo -n $tag 10 | -------------------------------------------------------------------------------- /src/.dir-locals.el: -------------------------------------------------------------------------------- 1 | ;;; Directory Local Variables 2 | ;;; For more information see (info "(emacs) Directory Variables") 3 | 4 | ((lisp-mode . ((eval . (envrc-mode 1)) 5 | (eval . (setq inferior-lisp-program (executable-find "sbcl")))))) 6 | -------------------------------------------------------------------------------- /scripts/extract: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | tmpDir="$(mktemp -d /tmp/cl-archive.XXXXXXXX)" 4 | 5 | case "$1" in 6 | *.tar.gz | *.tgz) tar xzf "$1" -C "$tmpDir" ;; 7 | *.tar.xz) tar xJf "$1" -C "$tmpDIr" ;; 8 | *.zip) unzip "$1" -d "$tmpDir" ;; 9 | *) cp -r --no-preserve=mode,ownership "$1"/* "$tmpDir"/ ;; 10 | esac 11 | 12 | echo -n "$tmpDir" 13 | -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | inputs.nixpkgs.url = "github:nixos/nixpkgs?rev=0f316e4d72daed659233817ffe52bf08e081b5de"; 3 | inputs.flake-utils.url = "github:numtide/flake-utils"; 4 | 5 | outputs = { self, nixpkgs, flake-utils }: 6 | flake-utils.lib.eachDefaultSystem (system: 7 | let pkgs = nixpkgs.legacyPackages.${system}; in 8 | { 9 | devShell = pkgs.mkShell { 10 | LD_LIBRARY_PATH = with pkgs; lib.makeLibraryPath [ sqlite.out ]; 11 | buildInputs = with pkgs; [ sbcl sqlite.out ]; 12 | }; 13 | } 14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /cl2nix.asd: -------------------------------------------------------------------------------- 1 | #-asdf3.3 2 | (error "cl2nix requires ASDF 3.3 or later. 3 | Version used: ~A" (asdf:asdf-version)) 4 | 5 | (defsystem :cl2nix 6 | :version "0.0.1" 7 | :author "Pavel Stepanov" 8 | :mailto "" 9 | :description "CL2NIX is a tool to assist in maintaining Common Lisp in Nix." 10 | :pathname "src" 11 | :class :package-inferred-system 12 | :defsystem-depends-on ("trivial-features") 13 | :depends-on ("cl2nix/dep" 14 | "cl2nix/src" 15 | "cl2nix/nix-prefetch" 16 | "cl2nix/util" 17 | "cl2nix/nix-system" 18 | "cl2nix/source-list" 19 | "cl2nix/dump-nix-system" 20 | "cl2nix/log" 21 | "cl2nix/database") 22 | :components ((:file "cl2nix"))) 23 | -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "flake-utils": { 4 | "locked": { 5 | "lastModified": 1642700792, 6 | "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", 7 | "owner": "numtide", 8 | "repo": "flake-utils", 9 | "rev": "846b2ae0fc4cc943637d3d1def4454213e203cba", 10 | "type": "github" 11 | }, 12 | "original": { 13 | "owner": "numtide", 14 | "repo": "flake-utils", 15 | "type": "github" 16 | } 17 | }, 18 | "nixpkgs": { 19 | "locked": { 20 | "lastModified": 1643503720, 21 | "narHash": "sha256-tJic20ufuRnG8V+fTCd3YU6xl1ImxNspoEkXHct0AG4=", 22 | "owner": "nixos", 23 | "repo": "nixpkgs", 24 | "rev": "0f316e4d72daed659233817ffe52bf08e081b5de", 25 | "type": "github" 26 | }, 27 | "original": { 28 | "owner": "nixos", 29 | "repo": "nixpkgs", 30 | "rev": "0f316e4d72daed659233817ffe52bf08e081b5de", 31 | "type": "github" 32 | } 33 | }, 34 | "root": { 35 | "inputs": { 36 | "flake-utils": "flake-utils", 37 | "nixpkgs": "nixpkgs" 38 | } 39 | } 40 | }, 41 | "root": "root", 42 | "version": 7 43 | } 44 | -------------------------------------------------------------------------------- /src/util.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/util 2 | (:use #:common-lisp) 3 | (:export 4 | #:split-on-space 5 | #:split-on-slash 6 | #:split-on-dash 7 | #:split-on 8 | #:ends-with 9 | #:in-cl2nix-dir 10 | #:starts-with 11 | #:gassoc 12 | #:trim-end)) 13 | 14 | (in-package :cl2nix/util) 15 | 16 | (defun split-on (str char) 17 | (uiop:split-string str :separator (list char))) 18 | 19 | (defun split-on-space (str) 20 | (split-on str #\Space)) 21 | 22 | (defun split-on-slash (str) 23 | (split-on str #\/)) 24 | 25 | (defun split-on-dash (str) 26 | (split-on str #\-)) 27 | 28 | (defun starts-with (start str) 29 | (let ((start-position (search start str :test #'string=))) 30 | (values 31 | (when start-position 32 | (= 0 start-position)) 33 | start-position))) 34 | 35 | (defun ends-with (end str) 36 | (let ((end-position (search end str :from-end t :test #'string=))) 37 | (values 38 | (and end-position 39 | (= (length str) (+ end-position (length end)))) 40 | end-position))) 41 | 42 | (defun in-cl2nix-dir (pathname) 43 | (merge-pathnames pathname 44 | (asdf:system-source-directory :cl2nix))) 45 | 46 | (defun gassoc (list key value) 47 | (flet ((getf-1 (seq) 48 | (getf seq key))) 49 | (find value list :key #'getf-1 :test #'string=))) 50 | 51 | (defun trim-end (end str) 52 | (multiple-value-bind (ends-with end-position) 53 | (ends-with end str) 54 | (if ends-with 55 | (subseq str 0 end-position) 56 | str))) 57 | -------------------------------------------------------------------------------- /src/cl2nix.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix 2 | (:use #:common-lisp 3 | #:cl2nix/source-list 4 | #:cl2nix/dep 5 | #:cl2nix/nix-prefetch 6 | #:cl2nix/src 7 | #:cl2nix/nix-system 8 | #:cl2nix/dump-nix-system 9 | #:cl2nix/log 10 | #:cl2nix/database) 11 | (:export 12 | #:check-sources)) 13 | 14 | (in-package :cl2nix) 15 | 16 | (defun check-sources (&rest files) 17 | (let ((lists (mapcar #'read-source-list-file files))) 18 | (loop :for source 19 | :in (apply #'merge-source-lists lists) 20 | :unless (null source) 21 | :do (nix-prefetch (read-source source))) 22 | (prog1 23 | (copy-list *failed-prefetch*) 24 | (setf *failed-prefetch* nil)))) 25 | 26 | (defun write-source (source-description &key (mode :error)) 27 | (let ((directory (ensure-directories-exist 28 | (uiop:truenamize 29 | (format nil "cl2nix/~A/" (pname source-description)))))) 30 | (with-open-file (f (merge-pathnames "source.json" directory) 31 | :direction :output 32 | :if-exists mode 33 | :if-does-not-exist :create) 34 | (format f "{ 35 | \"url\": ~S, 36 | \"sha256\": ~S~@[,~& \"rev\": ~S~] 37 | }" 38 | (url source-description) 39 | (sha256 source-description) 40 | (rev source-description)))) 41 | ) 42 | 43 | (in-package :cl-user) 44 | 45 | (defpackage :cffi-grovel 46 | (:use #:cl) 47 | (:export #:grovel-file)) 48 | 49 | (in-package :cffi-grovel) 50 | 51 | (defmacro grovel-file (name) 52 | `(:cffi-grovel-file ,name)) 53 | -------------------------------------------------------------------------------- /src/dump-nix-system.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/dump-nix-system 2 | (:use #:common-lisp #:cl2nix/nix-system) 3 | (:export 4 | #:dump-system-dependencies 5 | #:dump-system 6 | #:dump-source 7 | #:dump*)) 8 | 9 | (in-package :cl2nix/dump-nix-system) 10 | 11 | (defun dump* (object-name filename data &optional (if-exists :error)) 12 | (let ((directory (ensure-directories-exist 13 | (format nil "~A/" object-name)))) 14 | (uiop:with-output-file (f (merge-pathnames filename directory) 15 | :if-does-not-exist :create 16 | :if-exists if-exists) 17 | (format f "~S" data)))) 18 | 19 | (defun dump-source (source-description &optional (if-exists :error)) 20 | (dump* (name source-description) 21 | "src.sexp" 22 | `(:fetcher ,(fetcher source-description) 23 | :url ,(url source-description) 24 | :sha256 ,(sha256 source-description) 25 | ,@(when (rev source-description) 26 | (list :rev (rev source-description)))) 27 | if-exists)) 28 | 29 | (defun dump-system (system &optional (if-exists :error)) 30 | (let ((name (pname system))) 31 | (dump* name 32 | (format nil "~A.sexp" name) 33 | `(:pname ,name 34 | :version ,(version system) 35 | :description ,(description system) 36 | :source-root ,(source-root system) 37 | :asd ,(asd system)) 38 | if-exists))) 39 | 40 | (defun dump-system-dependencies (system &optional (if-exists :error)) 41 | (let ((name (pname system))) 42 | (dump* name 43 | (format nil "~A-~A-dependencies.sexp" 44 | name (string-downcase (string (uiop:implementation-type)))) 45 | (dependencies system) 46 | if-exists))) 47 | -------------------------------------------------------------------------------- /scripts/nix-prefetch-svn: -------------------------------------------------------------------------------- 1 | #! /bin/sh -e 2 | 3 | url=$1 4 | rev=$2 5 | expHash=$3 6 | 7 | hashType=$NIX_HASH_ALGO 8 | if test -z "$hashType"; then 9 | hashType=sha256 10 | fi 11 | if test -z "$hashFormat"; then 12 | hashFormat=--base32 13 | fi 14 | 15 | if test -z "$url"; then 16 | echo "syntax: nix-prefetch-svn URL [REVISION [EXPECTED-HASH]]" >&2 17 | exit 1 18 | fi 19 | 20 | test -n "$rev" || rev="HEAD" 21 | 22 | repoName=$(echo $url | sed ' 23 | s,.*/\([^/]\+\)/trunk/*$,\1,;t 24 | s,.*/\([^/]\+\)/branches/\([^/]\+\)/*$,\1-\2,;t 25 | s,.*/\([^/]\+\)/tags/\([^/]\+\)/*$,\1-\2,;t 26 | s,.*/\([^/]\+\)/*$,\1,;t 27 | ') 28 | dstFile=$repoName-r$rev 29 | 30 | # If the hash was given, a file with that hash may already be in the 31 | # store. 32 | if test -n "$expHash"; then 33 | finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" $dstFile) 34 | if ! nix-store --check-validity "$finalPath" 2>/dev/null; then 35 | finalPath= 36 | fi 37 | hash=$expHash 38 | fi 39 | 40 | # If we don't know the hash or a path with that hash doesn't exist, 41 | # download the file and add it to the store. 42 | if test -z "$finalPath"; then 43 | tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/svn-checkout-tmp-XXXXXXXX")" 44 | trap "rm -rf \"$tmpPath\"" EXIT 45 | 46 | tmpFile="$tmpPath/$dstFile" 47 | 48 | # Perform the checkout. 49 | if test "$NIX_PREFETCH_SVN_LEAVE_DOT_SVN" != 1; then 50 | command="export" 51 | else 52 | command="checkout" 53 | fi 54 | 55 | echo p | svn "$command" --quiet -r "$rev" "$url" "$tmpFile" >&2 56 | svn info -r "$rev" "$url" | grep "Revision: " | cut -d' ' -f2 57 | 58 | # Compute the hash. 59 | hash=$(nix-hash --type $hashType $hashFormat $tmpFile) 60 | 61 | # Add the downloaded file to the Nix store. 62 | finalPath=$(nix-store --add-fixed --recursive "$hashType" $tmpFile) 63 | 64 | if test -n "$expHash" -a "$expHash" != "$hash"; then 65 | echo "hash mismatch for URL \`$url'" 66 | exit 1 67 | fi 68 | fi 69 | 70 | echo $hash 71 | echo $finalPath 72 | -------------------------------------------------------------------------------- /scripts/nix-prefetch-hg: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | set -e 3 | 4 | url=$1 5 | rev=$2 6 | expHash=$3 7 | 8 | hashType="${NIX_HASH_ALGO:-sha256}" 9 | hashFormat=${hashFormat:-"--base32"} 10 | rev="${rev:-tip}" 11 | 12 | die() { 13 | exit 1 14 | } 15 | 16 | if [[ -z "$url" || "$url" == "--help" ]]; then 17 | die "Usage: nix-prefetch-hg URL [rev [EXPECTED-HASH]]" 18 | fi 19 | 20 | if [[ "${fetchSubrepos:-0}" == 1 ]]; then 21 | subrepoClause=S 22 | else 23 | subrepoClause= 24 | fi 25 | 26 | # If the hash was given, a file with that hash may already be in the 27 | # store. 28 | if [[ -n "$expHash" ]]; then 29 | finalPath=$(nix-store --print-fixed-path --recursive "$hashType" "$expHash" hg-archive) 30 | if ! nix-store --check-validity "$finalPath" 2>/dev/null; then 31 | finalPath= 32 | fi 33 | hash="$expHash" 34 | fi 35 | 36 | # If we don't know the hash or a path with that hash doesn't exist, 37 | # download the file and add it to the store. 38 | if [[ -z "$finalPath" ]]; then 39 | 40 | tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/hg-checkout-tmp-XXXXXXXX")" 41 | cleanup() { 42 | x=$? 43 | rm -rf "$tmpPath" 44 | exit $x 45 | } 46 | trap cleanup EXIT 47 | 48 | tmpArchive="$tmpPath/hg-archive" 49 | 50 | # Perform the checkout. 51 | if [[ "$url" != /* ]]; then 52 | tmpClone="$tmpPath/hg-clone" 53 | hg clone -q -y -U "$url" "$tmpClone" >&2 54 | else 55 | tmpClone=$url 56 | fi 57 | hg archive -q$subrepoClause -y -r "$rev" --cwd "$tmpClone" "$tmpArchive" 58 | rm -f "$tmpArchive/.hg_archival.txt" 59 | 60 | echo "$( 61 | cd "$tmpClone" 62 | hg id -r "$rev" -i 63 | )" 64 | 65 | # Compute the hash. 66 | hash=$(nix-hash --type "$hashType" "$hashFormat" "$tmpArchive") 67 | 68 | # Add the downloaded file to the Nix store. 69 | finalPath=$(nix-store --add-fixed --recursive "$hashType" "$tmpArchive") 70 | 71 | if [[ -n "$expHash" && "$expHash" != "$hash" ]]; then 72 | die "ERROR: hash mismatch for URL \`$url'" 73 | fi 74 | 75 | fi 76 | 77 | echo "$hash" 78 | echo "$finalPath" 79 | -------------------------------------------------------------------------------- /src/source-list.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/source-list 2 | (:use #:common-lisp 3 | #:cl2nix/util) 4 | (:export 5 | #:merge-source-lists 6 | #:read-source-list-file 7 | #:edit-default-overrides 8 | #:*default-projects-list* 9 | #:*default-overrides-list* 10 | #:*editor* 11 | #:read-source-lists)) 12 | 13 | (in-package :cl2nix/source-list) 14 | 15 | (defvar *editor* nil) 16 | 17 | (defvar *default-projects-list* 18 | (in-cl2nix-dir 19 | "source-list/projects.sexp")) 20 | 21 | (defvar *default-overrides-list* 22 | (in-cl2nix-dir 23 | "source-list/overrides.sexp")) 24 | 25 | (defun edit-default-overrides (&optional editor) 26 | (uiop:launch-program (list (or editor *editor* (uiop:getenv "EDITOR")) 27 | (namestring *default-overrides-list*)))) 28 | 29 | (defun read-source-list-file (filepath) 30 | (handler-case 31 | (uiop:safe-read-file-form 32 | filepath 33 | :if-does-not-exist :error) 34 | #+sbcl 35 | (sb-ext:file-does-not-exist 36 | (c) 37 | (declare (ignorable c)) 38 | (format t "No such file \"~A\", ignoring." 39 | filepath)) 40 | #+ccl 41 | (ccl::simple-file-error 42 | (c) 43 | (declare (ignorable c)) 44 | (format t "No such file \"~A\", ignoring." 45 | filepath)))) 46 | 47 | (defun merge-source-lists (&rest lists) 48 | (loop :for source :in (apply #'append lists) 49 | :with projects = nil 50 | :do (let* ((name (getf source :name)) 51 | (in-projects (gassoc projects :name name))) 52 | (if in-projects 53 | (setf (getf in-projects :source-desc) 54 | (getf source :source-desc)) 55 | (push source projects))) 56 | :finally (return (reverse projects)))) 57 | 58 | (defun read-source-lists (&rest files) 59 | (let ((lists (mapcar #'read-source-list-file 60 | (append (list *default-projects-list* 61 | *default-overrides-list*) 62 | files)))) 63 | (apply #'merge-source-lists lists))) 64 | -------------------------------------------------------------------------------- /src/log.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/log 2 | (:use #:common-lisp) 3 | (:export 4 | #:*log* 5 | #:log-message 6 | #:log-timestamp 7 | #:to-log 8 | #:log-opened 9 | #:log-closed 10 | #:close-log 11 | #:open-log)) 12 | 13 | (in-package :cl2nix/log) 14 | 15 | (defmethod normalize ((o number)) 16 | (if (member o '(0 1 2 3 4 5 6 7 8 9)) 17 | (format nil "0~A" o) 18 | (format nil "~A" o))) 19 | 20 | (defun time-now () 21 | (multiple-value-bind (second minute hour date month year) 22 | (get-decoded-time) 23 | (apply #'format nil "~A/~A/~A ~A:~A:~A" 24 | (mapcar #'normalize (list date month year hour minute second))))) 25 | 26 | (defvar *log* *error-output*) 27 | 28 | (defun open-log (&optional file) 29 | (setf *log* 30 | (if (or (pathnamep file) 31 | (stringp file)) 32 | (open file 33 | :direction :output 34 | :if-exists :supersede 35 | :if-does-not-exist :create) 36 | (or *log* *error-output*))) 37 | (to-log 'log-opened)) 38 | 39 | (defun close-log () 40 | (to-log 'log-closed) 41 | (unless (equal *log* *error-output*) 42 | (close *log*) 43 | (setf *log* *error-output*))) 44 | 45 | (defun to-log (condition-class &rest args) 46 | (let ((*print-escape* nil)) 47 | (print-object (apply #'make-condition condition-class args) 48 | *log*) 49 | (finish-output *log*))) 50 | 51 | (define-condition log-message (simple-condition) 52 | ((time :initarg :time 53 | :reader log-time)) 54 | (:default-initargs 55 | :time (time-now))) 56 | 57 | (defmethod log-timestamp ((object log-message)) 58 | (format nil "~A~0,20T|" (log-time object))) 59 | 60 | (define-condition log-opened (log-message) 61 | () 62 | (:report (lambda (condition stream) 63 | (format stream 64 | "~{~c~} 65 | ~A Log opened~%" 66 | (make-list 79 :initial-element #\-) 67 | (log-timestamp condition))))) 68 | 69 | (define-condition log-closed (log-message) 70 | () 71 | (:report (lambda (condition stream) 72 | (format stream 73 | "~A Log closed 74 | ~{~c~}~%" 75 | (log-timestamp condition) 76 | (make-list 79 :initial-element #\-))))) 77 | -------------------------------------------------------------------------------- /src/database.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/database 2 | (:use #:common-lisp 3 | #:cl2nix/nix-system 4 | #:facts) 5 | (:export 6 | #:add-package)) 7 | 8 | (in-package :cl2nix/database) 9 | 10 | (defvar *db-path* 11 | #P"../database/cl2nix.sexp") 12 | 13 | (defvar *transaction-count* 0) 14 | 15 | (defun transaction-count () 16 | *transaction-count*) 17 | 18 | (defun inc-transaction-count () 19 | (incf *transaction-count*)) 20 | 21 | (defmacro with-transaction* (&body body) 22 | `(progn 23 | (inc-transaction-count) 24 | (with-transaction ,@body))) 25 | 26 | (defun package-exists (name) 27 | (facts:bound-p ((name :is-a :package)))) 28 | 29 | (defun collect-packages () 30 | "Collect package names from facts db." 31 | (facts:collect ((?package :is-a :package)) 32 | (values ?package))) 33 | 34 | (defmethod add-package ((obj nix-source-description)) 35 | (let* ((name (pname obj)) 36 | (systems (systems obj)) 37 | (system-names (mapcar #'name systems))) 38 | (flet ((is-internal (system) 39 | (member system system-names :test #'string=))) 40 | (with-transaction* 41 | (add (name :is-a :package 42 | :fetcher (fetcher obj) 43 | :url (url obj) 44 | :sha256 (sha256 obj) 45 | :rev (rev obj) 46 | :systems system-names 47 | :dependencies (remove-duplicates 48 | (remove-if #'is-internal 49 | (apply #'append 50 | (mapcar #'dependencies systems))) 51 | :test #'string=))))))) 52 | 53 | (defun get-package-by-name (name) 54 | (facts:with ((name :is-a :package 55 | :fetcher ?fetcher 56 | :url ?url 57 | :sha256 ?sha256 58 | :rev ?rev 59 | :systems ?systems 60 | :dependencies ?dependencies)) 61 | (return (list :name name 62 | :fetcher ?fetcher 63 | :url ?url 64 | :sha256 ?sha256 65 | :rev ?rev 66 | :systems ?systems 67 | :dependencies ?dependencies)))) 68 | 69 | (defun get-package-name-by-system (system) 70 | (facts:with ((?package :is-a :package 71 | :systems ?systems)) 72 | (when (member system ?systems :test #'string=) 73 | (return ?package)))) 74 | 75 | (defun make-package-chain (package) 76 | (remove-duplicates 77 | (loop :for dependency :in (facts:with ((package :is-a :package 78 | :dependencies ?dependencies)) 79 | (return ?dependencies)) 80 | :collect (get-package-name-by-system dependency)) 81 | :test #'string=)) 82 | -------------------------------------------------------------------------------- /README.org: -------------------------------------------------------------------------------- 1 | * CL2NIX 2 | CL2NIX is a tool to assist in maintaining Common Lisp in Nix. 3 | * Motivation 4 | Currently (December, 2021), the support for Common Lisp in Nixpkgs is far from 5 | perfect: 6 | 7 | 1. Quicklisp is used. I do like Quicklisp and I am very thankful to its creator 8 | for making Common Lisp system distribution easy and maintaining the dist. 9 | However, in the case of Nix, we already have a package manager. 10 | 2. Generating dists with Quicklisp can interfere with local Quicklisp 11 | installation. 12 | 3. The generator tool only works inside of a nix-shell, providing build 13 | dependencies for the systems being checked. Do we actually have to build 14 | everything before resolving lisp dependencies? We will find out later. 15 | 4. Adding new lisp systems to Nixpkgs is unintuitive. Nix-shells make this 16 | worse, when there is a system missing from Nixpkgs, because we are forced to 17 | define lisp dependencies by hand if they are missing as well. 18 | 5. Lisp compilers miss the ~withPackages~ option, that, for example, GHC and 19 | Python have. Every lisp system is isolated in the store and collected for the 20 | compiler by the clwrapper script. As it seems to me, this breaks the rules 21 | that exist for other languages. 22 | * Goals 23 | 1. CL2NIX should only depend on ASDF. 24 | 2. CL2NIX should be able to: 25 | 1. Generate a package expression: 26 | 1. Read a system description in [[https://github.com/quicklisp/quicklisp-projects][quicklisp-projects format]] 27 | 2. Prefetch the system, save its URL, revision and sha256 sum 28 | 3. Find the system's .asd files, read them, extract the defined system names and 29 | lisp dependencies for each system 30 | 4. Use the gathered information to generate a lisp package 31 | expression for Nix 32 | 2. Generate an attrset for lisp packages: 33 | 1. Read a list of system descriptions in [[https://github.com/quicklisp/quicklisp-projects][quicklisp-projects format]] 34 | 2. Check that lisp dependencies are satisfied, warn if not and log the 35 | missing systems 36 | 3. Generate and collect expressions, then save to a file 37 | 38 | The nix expression should allow for overrides to provide external build- and 39 | runtime dependencies. If an attrset is created, overrides are written by hand in 40 | [[https://github.com/NixOS/nixpkgs/blob/a0dbe47318bbab7559ffbfa7c4872a517833409f/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix][quicklisp-to-nix-overrides.nix]] manner. 41 | 42 | New wrappers should be written to allow for intuitive lisp usage with Nix 43 | (~withPackages~). Hopefully, we will be able to reuse the compiler definitions 44 | from Nixpkgs. It may also be viable to create different attrsets for different 45 | compilers. 46 | 47 | Broken lisp packages should be marked. 48 | * Other ways to run Common Lisp with Nix(OS) that I tried 49 | 1. Quicklisp: 50 | - Familiar 51 | - Nix-shells still need to be written (for Roswell also) 52 | 2. Roswell: 53 | - Familiar 54 | - Not really sure if .ros scripts work right 55 | - The installation process is unreliable. For me manually changing the config 56 | file worked on one machine, but on the other one it was resetting 57 | 3. [[https://github.com/SquircleSpace/ql2nix][Ql2nix]]: 58 | - Builds an environment with lisp systems, which are not isolated 59 | - When I tried it, there were systems that it could not build 60 | - Minor changes in nix-shell required to rebuild the entire environment 61 | 62 | I did not track the project for quite some time, things may have changed. 63 | 4. [[https://github.com/teu5us/cl-nix-project-skeleton][cl-nix-project-skeleton]] was my attempt to reuse the facilities available in 64 | Nixpkgs to build a nix-shell. It is a mess, but it gave me some 65 | insights 66 | 67 | * Source descriptions 68 | Apparently some descriptions in the quicklisp-projects repository are outdated, so check also [[https://github.com/cldm/cldm-repo][cldm-repo]]. 69 | 70 | * Single-file libraries 71 | Output paths should be collected and put into an environment variable (~NIX_SINGLE_FILE_SYSTEMS~). 72 | 73 | Lisp compiler needs to get a function to find single-file libraries through ~NIX_SINGLE_FILE_SYSTEMS~. The function symbol is put into ~*MODULE-PROVIDER-FUNCTIONS*~. 74 | 75 | This is not required for ASDF systems, as those are already managed by ASDF and ~CL_SOURCE_REGISTRY~. 76 | -------------------------------------------------------------------------------- /src/dep.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/dep 2 | (:use #:common-lisp #:cl2nix/log #:cl2nix/util) 3 | (:export 4 | #:load-system 5 | #:system-dependencies 6 | #:inferred-system-p)) 7 | 8 | (in-package :cl2nix/dep) 9 | 10 | (define-condition failed-to-load-asd (log-message) 11 | ((system-name :initarg :system-name 12 | :reader system-name) 13 | (asd-path :initarg :asd-path 14 | :reader asd-path)) 15 | (:report (lambda (condition stream) 16 | (format stream 17 | "~A Failed to load system ~S from file ~S~%" 18 | (log-timestamp condition) 19 | (system-name condition) 20 | (asd-path condition))))) 21 | 22 | (defun dedup-append (pred &rest lists) 23 | (remove-duplicates (apply #'append lists) :test pred)) 24 | 25 | (defun load-system (pathname &key name) 26 | (handler-case 27 | (progn 28 | (asdf:load-asd pathname :name name) 29 | (asdf:find-system name)) 30 | (error (c) 31 | (declare (ignorable c)) 32 | (to-log 'failed-to-load-asd :system-name name 33 | :asd-path pathname) 34 | nil))) 35 | 36 | (defun internal-package-p (package-name impl) 37 | (case impl 38 | (:sbcl (starts-with "sb-" package-name)) 39 | (t nil))) 40 | 41 | (defun inferred-system-p (system) 42 | (case (class-name (class-of system)) 43 | (asdf/system:system nil) 44 | (asdf/package-inferred-system:package-inferred-system t))) 45 | 46 | (defun %inferred-system-component-p (system-name component-name) 47 | (when (starts-with (format nil "~A/" system-name) component-name) 48 | system-name)) 49 | 50 | (defun inferred-system-component-p (system-name component-name) 51 | (let ((parent 52 | (or (%inferred-system-component-p system-name component-name) 53 | (%inferred-system-component-p (car (split-on-dash system-name)) component-name)))) 54 | parent)) 55 | 56 | (defun inferred-dependencies (system depends-on) 57 | (uiop:nest 58 | (let ((system-name (asdf:component-name system)) 59 | (src (asdf:component-pathname system)))) 60 | (flet ((system-component-p (component) 61 | (inferred-system-component-p system-name component)))) 62 | (if (not (member t (mapcar #'system-component-p depends-on))) 63 | depends-on) 64 | (let ((depends-no-inferred (remove-if #'system-component-p depends-on)) 65 | (inferred (apply #'append 66 | (loop :for dependency :in depends-on 67 | :collect (let ((parent (system-component-p dependency))) 68 | (when parent 69 | (uiop:nest 70 | (asdf/package-inferred-system::package-inferred-system-file-dependencies) 71 | (format nil "~A~A.lisp" src) 72 | (subseq dependency (1+ (length parent)))))))))) 73 | (inferred-dependencies system (append depends-no-inferred inferred))))) 74 | 75 | (defun normalize-version (version-string) 76 | (format nil "_~A" (substitute #\_ #\. version-string))) 77 | 78 | ;; FIXME: parse all specifiers 79 | (defun parse-specifier (dependency) 80 | (if (stringp dependency) 81 | dependency 82 | (case (first dependency) 83 | ;; (:feature 84 | ;; (if (atom (second dependency)) 85 | ;; (when (uiop:featurep (second dependency)) 86 | ;; (parse-specifier (third dependency))) 87 | ;; (when (member t (second dependency) :test #'eql) 88 | ;; (parse-specifier (third dependency))))) 89 | ;; (:version ) 90 | ((or :feature :version) 91 | (parse-specifier (car (last dependency)))) 92 | (:require nil)))) 93 | 94 | (defun system-dependencies (system &optional (remove-inferred t)) 95 | (let* ((system-name (asdf:component-name system)) 96 | (defsystem-dependencies (asdf:system-defsystem-depends-on system)) 97 | (weak-dependencies (asdf:system-weakly-depends-on system)) 98 | (direct-dependencies (asdf:system-depends-on system)) 99 | (inferred-dependencies (when (inferred-system-p system) 100 | (inferred-dependencies system 101 | direct-dependencies)))) 102 | (uiop:nest 103 | (dedup-append #'string-equal) 104 | (remove-if #'(lambda (dependency-name) 105 | (or (null dependency-name) 106 | (internal-package-p dependency-name (asdf:implementation-type)) 107 | (when (and remove-inferred 108 | (inferred-system-p system)) 109 | (inferred-system-component-p system-name dependency-name))))) 110 | (mapcar #'parse-specifier 111 | (append defsystem-dependencies 112 | weak-dependencies 113 | direct-dependencies 114 | inferred-dependencies))))) 115 | -------------------------------------------------------------------------------- /source-list/overrides.sexp: -------------------------------------------------------------------------------- 1 | ;; -*- mode: lisp; -*- 2 | 3 | ((:NAME "adopt" 4 | :SOURCE-DESC "git https://github.com/sjl/adopt.git") 5 | (:NAME "wu-decimal" 6 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/wu-decimal/2013-01-28/wu-decimal-20130128-git.tgz") 7 | (:NAME "umbra" 8 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/umbra/2021-01-24/umbra-20210124-git.tgz") 9 | (:NAME "template" 10 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/template/2019-03-07/template-20190307-hg.tgz") 11 | (:NAME "synonyms" 12 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/synonyms/2019-03-07/synonyms-20190307-hg.tgz") 13 | (:NAME "stripe" 14 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/stripe/2021-01-24/stripe-20210124-git.tgz") 15 | (:NAME "sn.man" 16 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/sn.man/2019-02-02/sn.man-20190202-git.tgz") 17 | (:NAME "simpsamp" 18 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/simpsamp/2010-10-06/simpsamp-0.1.tgz") 19 | (:NAME "shadow" 20 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/shadow/2021-01-24/shadow-20210124-git.tgz") 21 | (:NAME "seedable-rng" 22 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/seedable-rng/2021-02-28/seedable-rng-20210228-git.tgz") 23 | (:NAME "s-xml-rpc" 24 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/s-xml-rpc/2019-05-21/s-xml-rpc-20190521-git.tgz") 25 | (:NAME "recur" 26 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/recur/2019-03-07/recur-20190307-hg.tgz") 27 | (:NAME "random-uuid" 28 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/random-uuid/2021-02-28/random-uuid-20210228-git.tgz") 29 | (:NAME "pngload" 30 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/pngload/2021-01-24/pngload-20210124-git.tgz") 31 | (:NAME "patchwork" 32 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/patchwork/2021-01-24/patchwork-20210124-git.tgz") 33 | (:NAME "parsley" 34 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/parsley/2021-01-24/parsley-20210124-git.tgz") 35 | (:NAME "parenscript-classic" 36 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/parenscript-classic/2011-12-03/parenscript-classic-20111203-darcs.tgz") 37 | (:NAME "parameterized-function" 38 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/parameterized-function/2019-03-07/parameterized-function-20190307-hg.tgz") 39 | (:NAME "origin" 40 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/origin/2021-02-28/origin-20210228-git.tgz") 41 | (:NAME "org-sampler" 42 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/org-sampler/2016-03-18/org-sampler-0.2.0.tgz") 43 | (:NAME "net-telent-date" 44 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/net-telent-date/2010-10-06/net-telent-date_0.42.tgz") 45 | (:NAME "mw-equiv" 46 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/mw-equiv/2010-10-06/mw-equiv-0.1.3.tgz") 47 | (:NAME "metacopy" 48 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz") 49 | (:NAME "map-set" 50 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/map-set/2019-03-07/map-set-20190307-hg.tgz") 51 | (:NAME "letrec" 52 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/letrec/2019-03-07/letrec-20190307-hg.tgz") 53 | (:NAME "json-responses" 54 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/json-responses/2019-03-07/json-responses-20190307-hg.tgz") 55 | (:NAME "jpl-queues" 56 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/jpl-queues/2010-10-06/jpl-queues-0.1.tgz") 57 | (:NAME "interface" 58 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/interface/2019-03-07/interface-20190307-hg.tgz") 59 | (:NAME "hu.dwim.web-server" 60 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/hu.dwim.web-server/2020-10-16/hu.dwim.web-server-20201016-darcs.tgz") 61 | (:NAME "hu.dwim.rdbms" 62 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz") 63 | (:NAME "hu.dwim.presentation" 64 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/hu.dwim.presentation/2020-10-16/hu.dwim.presentation-20201016-darcs.tgz") 65 | (:NAME "hu.dwim.perec" 66 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/hu.dwim.perec/2020-04-27/hu.dwim.perec-20200427-darcs.tgz") 67 | (:NAME "golden-utils" 68 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/golden-utils/2021-01-24/golden-utils-20210124-git.tgz") 69 | (:NAME "flac-metadata" 70 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/flac-metadata/2021-01-24/flac-metadata-20210124-git.tgz") 71 | (:NAME "eager-future" 72 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/eager-future/2010-10-06/eager-future-20101006-darcs.tgz") 73 | (:NAME "dynamic-collect" 74 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/dynamic-collect/2019-03-07/dynamic-collect-20190307-hg.tgz") 75 | (:NAME "defsystem-compatibility" 76 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/defsystem-compatibility/2010-10-06/defsystem-compatibility-20101006-darcs.tgz") 77 | (:NAME "defrec" 78 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/defrec/2019-03-07/defrec-20190307-hg.tgz") 79 | (:NAME "cubic-bezier" 80 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cubic-bezier/2021-02-28/cubic-bezier-20210228-git.tgz") 81 | (:NAME "cricket" 82 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cricket/2021-02-28/cricket-20210228-git.tgz") 83 | (:NAME "clod" 84 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/clod/2019-03-07/clod-20190307-hg.tgz") 85 | (:NAME "cl-string-complete" 86 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cl-string-complete/2019-03-07/cl-string-complete-20190307-hg.tgz") 87 | (:NAME "cl-stopwatch" 88 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cl-stopwatch/2019-03-07/cl-stopwatch-20190307-hg.tgz") 89 | (:NAME "cl-prolog" 90 | :SOURCE-DESC "") 91 | (:NAME "cl-ntriples" 92 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cl-ntriples/2019-03-07/cl-ntriples-20190307-hg.tgz") 93 | (:NAME "cl-locatives" 94 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cl-locatives/2019-03-07/cl-locatives-20190307-hg.tgz") 95 | (:NAME "cl-generic-arithmetic" 96 | :SOURCE-DESC "") 97 | (:NAME "cl-gap-buffer" 98 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cl-gap-buffer/2019-03-07/cl-gap-buffer-20190307-hg.tgz") 99 | (:NAME "cl-cut" 100 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/cl-cut/2018-01-31/cl-cut-20180131-git.tgz") 101 | (:NAME "cl-abstract-classes" 102 | :SOURCE-DESC "") 103 | (:NAME "big-string" 104 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/big-string/2019-03-07/big-string-20190307-hg.tgz") 105 | (:NAME "algae" 106 | :SOURCE-DESC "http http://beta.quicklisp.org/archive/algae/2021-02-28/algae-20210228-git.tgz")) 107 | -------------------------------------------------------------------------------- /src/nix-prefetch.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/nix-prefetch 2 | (:use #:common-lisp #:cl2nix/src #:cl2nix/log #:cl2nix/util) 3 | (:export 4 | #:nix-prefetch 5 | #:prefetch-source 6 | #:prefetch-rev 7 | #:prefetch-sha256 8 | #:prefetch-path 9 | #:*failed-prefetch*)) 10 | 11 | (in-package :cl2nix/nix-prefetch) 12 | 13 | ; utility ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 14 | 15 | (defun read-nix-prefetch-output (string &rest keywords) 16 | "Read string and assign output lines to keywords in order: 17 | 18 | :sha256 :path 19 | OR 20 | :rev :sha256 :path" 21 | (if (or (equal keywords '(:sha256 :path)) 22 | (equal keywords '(:rev :sha256 :path))) 23 | (with-input-from-string (stream string) 24 | (loop :for kw :in keywords 25 | :collect kw 26 | :collect (let ((line (read-line stream))) 27 | (if (eql kw :rev) 28 | (car (last (split-on-space line))) 29 | line)))) 30 | (error "Wrong keyword order. See `READ-NIX-PREFETCH-OUTPUT' description."))) 31 | 32 | (defun filter-nix-prefetch-git (output) 33 | (uiop:nest 34 | (mapcar #'read-from-string) 35 | (flet ((trim (str) 36 | (string-trim '(#\Space #\,) str)) 37 | (column-to-dot (str) 38 | (substitute #\. #\: str :count 1)))) 39 | (let ((list (cdr (butlast 40 | (uiop:split-string output :separator '(#\Newline)) 41 | 2))))) 42 | (loop :for line :in list 43 | :collect (format nil "(~A)" (column-to-dot (trim line)))))) 44 | 45 | (defun read-nix-prefetch-git (output) 46 | (mapcar #'read-from-string (filter-nix-prefetch-git output))) 47 | 48 | (defun strassoc (key alist) 49 | (cdr (assoc key alist :test #'string=))) 50 | 51 | ; prefetchers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 52 | 53 | (define-condition prefetching-source (log-message) 54 | ((name :initarg :name 55 | :reader name) 56 | (source-desc :initarg :source-desc 57 | :reader source-desc)) 58 | (:report (lambda (condition stream) 59 | (format stream 60 | "~A Prefetching source ~S with source-desc ~S~&" 61 | (log-timestamp condition) 62 | (name condition) 63 | (source-desc condition))))) 64 | 65 | (define-condition prefetch-failed (prefetching-source) 66 | () 67 | (:report (lambda (condition stream) 68 | (format stream 69 | "~A Failed to prefetch source ~S with source-desc ~S~&" 70 | (log-timestamp condition) 71 | (name condition) 72 | (source-desc condition))))) 73 | 74 | (defclass nix-prefetch () 75 | ((source :initarg :source 76 | :accessor prefetch-source) 77 | (rev :initarg :rev 78 | :initform nil 79 | :accessor prefetch-rev) 80 | (sha256 :initarg :sha256 81 | :accessor prefetch-sha256) 82 | (path :initarg :path 83 | :accessor prefetch-path))) 84 | 85 | (defvar *failed-prefetch* nil) 86 | 87 | ;; fix "warning: unknown setting..." 88 | (defun run-nix-prefetch (program &rest args) 89 | (progn 90 | (setf (uiop:getenv "QUIET") "1") 91 | (setf (uiop:getenv "PRINT_PATH") "1") 92 | (with-output-to-string (s) 93 | (uiop:run-program `(,program ,@args) :output s) 94 | s))) 95 | 96 | (defun run-simple-nix-prefetch (program url keywords &rest args) 97 | (apply #'read-nix-prefetch-output 98 | (apply #'run-nix-prefetch program url args) 99 | keywords)) 100 | 101 | (defun run-git-nix-prefetch (url &rest args) 102 | (setf (uiop:getenv "GIT_ASKPASS") "") 103 | (setf (uiop:getenv "GIT_TERMINAL_PROMPT") "") 104 | (setf (uiop:getenv "GCM_INTERACTIVE") "never") 105 | (let* ((output (apply #'run-nix-prefetch "nix-prefetch-git" url args)) 106 | (parsed (filter-nix-prefetch-git output))) 107 | (flet ((a (str) (strassoc str parsed))) 108 | (list :rev (a "rev") 109 | :sha256 (a "sha256") 110 | :path (a "path"))))) 111 | 112 | (defgeneric nix-prefetch (source) 113 | (:documentation "Invoke the nix-prefetch-* program. 114 | 115 | Returns a plist with three keys. 116 | :rev => The revision or patch, if applicable 117 | :sha256 => The sha of the fetched file 118 | :path => The path to the file in the nix store")) 119 | 120 | ;; (defmethod nix-prefetch ((source url-source)) 121 | ;; (run-simple-nix-prefetch "nix-prefetch-url" 122 | ;; (location source) 123 | ;; '(:sha256 :path))) 124 | 125 | ;; (defmethod nix-prefetch ((source mercurial-source)) 126 | ;; (run-simple-nix-prefetch "nix-prefetch-hg" 127 | ;; (location source) 128 | ;; '(:rev :sha256 :path))) 129 | 130 | ;; (defmethod nix-prefetch ((source darcs-source)) 131 | ;; (run-simple-nix-prefetch "nix-prefetch-darcs" 132 | ;; (location source) 133 | ;; '(:rev :sha256 :path))) 134 | 135 | ;; (defmethod nix-prefetch ((source svn-source)) 136 | ;; (run-simple-nix-prefetch "nix-prefetch-svn" 137 | ;; (location source) 138 | ;; '(:rev :sha256 :path))) 139 | 140 | (defmethod nix-prefetch ((source source)) 141 | (run-simple-nix-prefetch (source-prefetch source) 142 | (location source) 143 | '(:rev :sha256 :path))) 144 | 145 | (defmethod nix-prefetch ((source url-source)) 146 | (run-simple-nix-prefetch (source-prefetch source) 147 | (location source) 148 | '(:sha256 :path))) 149 | 150 | (defmethod nix-prefetch ((source git-source)) 151 | (run-git-nix-prefetch (location source))) 152 | 153 | (defmethod nix-prefetch ((source branched-git-source)) 154 | (run-git-nix-prefetch (location source) "--branch-name" (git-source-branch source))) 155 | 156 | (defmethod nix-prefetch ((source latest-release-git-source)) 157 | (run-git-nix-prefetch (location source) "--branch-name" (latest-branch source))) 158 | 159 | (defmethod nix-prefetch :around ((source source)) 160 | (let ((name (source-name source)) 161 | (source-desc (source-desc source))) 162 | (to-log 'prefetching-source 163 | :name name 164 | :source-desc source-desc) 165 | (handler-case 166 | (apply #'make-instance 'nix-prefetch 167 | :source source (call-next-method)) 168 | (error (c) 169 | (declare (ignorable c)) 170 | (push (list :name name 171 | :source-desc source-desc) 172 | *failed-prefetch*) 173 | (to-log 'prefetch-failed 174 | :name name 175 | :source-desc source-desc))))) 176 | -------------------------------------------------------------------------------- /src/src.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/src 2 | (:use 3 | #:common-lisp 4 | #:cl2nix/log 5 | #:cl2nix/util) 6 | (:export 7 | #:source #:git-source #:branched-git-source #:url-source 8 | #:mercurial-source #:svn-source #:darcs-source 9 | #:source-name #:location #:git-source-branch 10 | #:latest-release-git-source #:latest-branch 11 | #:read-source 12 | #:source-fetch 13 | #:source-prefetch 14 | #:assoc-source-type 15 | #:source-location 16 | #:source-desc 17 | #:assoc-source-class)) 18 | 19 | (in-package :cl2nix/src) 20 | 21 | ; utility ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 22 | 23 | (defun read-source-list (file) 24 | (mapcar #'(lambda (str) 25 | (string-trim '(#\Space) str)) 26 | (remove-if #'(lambda (str) 27 | (= 0 (length str))) 28 | (uiop:read-file-lines file)))) 29 | 30 | ; source definitions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 31 | 32 | (define-condition working-on-source (log-message) 33 | ((name :initarg :name 34 | :reader name) 35 | (source-desc :initarg :source-desc 36 | :reader source-desc)) 37 | (:report (lambda (condition stream) 38 | (format stream 39 | "~A Working on source ~S with source-desc ~S~&" 40 | (log-timestamp condition) 41 | (name condition) 42 | (source-desc condition))))) 43 | 44 | (define-condition empty-source-desc (working-on-source) 45 | () 46 | (:report (lambda (condition stream) 47 | (format stream 48 | "~A Source ~S is ignored due to empty source-desc~&" 49 | (log-timestamp condition) 50 | (name condition))))) 51 | 52 | (defclass source () 53 | ((name :initarg :name 54 | :accessor source-name) 55 | (fetch :initarg :fetch 56 | :reader source-fetch) 57 | (source-desc :initarg :source-desc 58 | :reader source-desc) 59 | (prefetch :initarg :prefetch 60 | :reader source-prefetch) 61 | (location :initarg :location 62 | :accessor source-location))) 63 | 64 | (defclass templated-source (source) 65 | ((location-template :initarg :location-template 66 | :accessor location-template))) 67 | 68 | (defmethod location ((source source)) 69 | (source-location source)) 70 | 71 | (defmethod location ((source templated-source)) 72 | (format nil (location-template source) (source-name source))) 73 | 74 | ; git sources ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 75 | 76 | (defclass git-source (source) 77 | () 78 | (:default-initargs 79 | :prefetch "nix-prefetch-git" 80 | :fetch "fetchgit")) 81 | 82 | (defclass templated-git-source (git-source templated-source) 83 | ()) 84 | 85 | (defclass branched-git-source (git-source) 86 | ((branch :initarg :branch 87 | :accessor git-source-branch))) 88 | 89 | (defclass tagged-git-source (branched-git-source) 90 | ()) 91 | 92 | (defclass latest-release-git-source (branched-git-source) 93 | ((script :initarg :script 94 | :accessor script))) 95 | 96 | (defclass latest-github-release-source (latest-release-git-source) 97 | () 98 | (:default-initargs 99 | :script (in-cl2nix-dir "scripts/latest_github_tag"))) 100 | 101 | (defclass latest-gitlab-release-source (latest-release-git-source) 102 | () 103 | (:default-initargs 104 | :script (in-cl2nix-dir "scripts/latest_gitlab_tag"))) 105 | 106 | (defclass kmr-git-source (templated-git-source) 107 | () 108 | (:default-initargs 109 | :location-template "http://git.kpe.io/~A.git")) 110 | 111 | (defclass ediware-git-source (templated-git-source) 112 | () 113 | (:default-initargs 114 | :location-template "https://github.com/edicl/~A.git")) 115 | 116 | (defmethod latest-branch ((source latest-release-git-source)) 117 | (let* ((split (split-on-slash (trim-end ".git" (location source)))) 118 | (owner (fourth split)) 119 | (repo (fifth split))) 120 | (uiop:run-program (list (script source) owner repo) 121 | :output :string))) 122 | 123 | ; url sources ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 124 | 125 | (defclass url-source (source) 126 | () 127 | (:default-initargs 128 | :prefetch "nix-prefetch-url" 129 | :fetch "fetchurl")) 130 | 131 | (defclass mercurial-source (source) 132 | () 133 | (:default-initargs 134 | :prefetch (in-cl2nix-dir "scripts/nix-prefetch-hg") 135 | :fetch "fetchhg")) 136 | 137 | (defclass svn-source (source) 138 | () 139 | (:default-initargs 140 | :prefetch (in-cl2nix-dir "scripts/nix-prefetch-svn") 141 | :fetch "fetchsvn")) 142 | 143 | (defclass darcs-source (source) 144 | () 145 | (:default-initargs 146 | :prefetch "nix-prefetch-darcs" 147 | :fetch "fetchdarcs")) 148 | 149 | ; create sources ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 150 | 151 | (defun make-source (class name &rest slots) 152 | (apply #'make-instance class :name name slots)) 153 | 154 | (defun name-from-link (link) 155 | (uiop:nest 156 | (car) 157 | (last) 158 | (split-on-slash) 159 | (trim-end "/") 160 | (trim-end ".git") 161 | (trim-end ".tar.gz") 162 | (trim-end ".tgz") 163 | (trim-end ".zip") 164 | (trim-end "/trunk") 165 | link)) 166 | 167 | (defvar *source-classes* 168 | '(("git" . git-source) 169 | ("branched-git" . branched-git-source) 170 | ("tagged-git" . tagged-git-source) 171 | ("kmr-git" . kmr-git-source) 172 | ("latest-github-release" . latest-github-release-source) 173 | ("latest-gitlab-release" . latest-gitlab-release-source) 174 | ("latest-github-tag" . latest-gitlab-release-source) 175 | ("ediware-http" . ediware-git-source) 176 | ("darcs" . darcs-source) 177 | ("svn" . svn-source) 178 | ("mercurial" . mercurial-source) 179 | ("single-file" . url-source) 180 | ("http" . url-source) 181 | ("https" . url-source))) 182 | 183 | (defun assoc-source-type (type) 184 | (cdr (assoc type *source-classes* :test #'string-equal))) 185 | 186 | (defun read-source (plist-source) 187 | (let ((name (getf plist-source :name)) 188 | (source-desc (getf plist-source :source-desc))) 189 | (to-log 'working-on-source :name name :source-desc source-desc) 190 | (if (or (string= source-desc "") 191 | (null source-desc)) 192 | (to-log 'empty-source-desc :name name) 193 | (destructuring-bind (type link &rest args) 194 | (split-on-space source-desc) 195 | (let ((class (assoc-source-type type))) 196 | (apply #'make-source 197 | class 198 | `(,name 199 | :source-desc ,source-desc 200 | ,@(unless (subtypep class 'templated-source) 201 | (list :location link)) 202 | ,@(when args 203 | (cons :branch args))))))))) 204 | -------------------------------------------------------------------------------- /src/nix-system.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl2nix/nix-system 2 | (:use #:common-lisp 3 | #:cl2nix/log 4 | #:cl2nix/util 5 | #:cl2nix/src 6 | #:cl2nix/dep 7 | #:cl2nix/nix-prefetch) 8 | (:export 9 | #:extract 10 | #:describe-source 11 | #:name 12 | #:version 13 | #:dependencies 14 | #:fetcher 15 | #:url 16 | #:sha256 17 | #:rev 18 | #:systems 19 | #:pname 20 | #:asd 21 | #:source-root 22 | #:description 23 | #:package-main-system 24 | #:nix-source-description 25 | #:nix-system 26 | #:describe-source-by-name)) 27 | 28 | (in-package :cl2nix/nix-system) 29 | 30 | (defvar *registered-systems* nil) 31 | 32 | (defun inferred-from-name-p (name) 33 | (inferred-system-p (find-system name))) 34 | 35 | (defun initialize-registered-systems () 36 | (asdf/system-registry:clear-registered-systems) 37 | (setf *registered-systems* (copy-list (asdf:registered-systems)))) 38 | 39 | (defun restore-registered-systems () 40 | (dolist (system-name *registered-systems*) 41 | (asdf:register-preloaded-system system-name))) 42 | 43 | (define-condition dependency-missing (log-message) 44 | ((system-name :initarg :system-name 45 | :reader system-name) 46 | (asd :initarg :asd 47 | :reader asd)) 48 | (:report (lambda (condition stream) 49 | (format stream 50 | "~A ~A (~A) probably has a `defsystem-depends-on', skipping~%" 51 | (log-timestamp condition) 52 | (system-name condition) 53 | (asd condition))))) 54 | 55 | (defclass nix-system () 56 | ((name :initarg :name 57 | :accessor name) 58 | (version :initarg :version 59 | :accessor version) 60 | (asd :initarg :asd 61 | :accessor asd) 62 | (source-root :initarg :source-root 63 | :accessor source-root) 64 | (description :initarg :description 65 | :accessor description) 66 | (dependencies :initarg :dependencies 67 | :accessor dependencies))) 68 | 69 | (defmethod print-object ((object nix-system) stream) 70 | (print-unreadable-object (object stream :type t) 71 | (with-slots (name version fetcher src dependencies) object 72 | (format stream " 73 | ~:Tname = ~S 74 | ~:Tversion = ~S 75 | ~:Tdependencies = ~S 76 | ~:T" name version dependencies)))) 77 | 78 | (defclass nix-source-description () 79 | ((pname :initarg :pname 80 | :accessor pname) 81 | (fetcher :initarg :fetcher 82 | :accessor fetcher) 83 | (url :initarg :url 84 | :accessor url) 85 | (sha256 :initarg :sha256 86 | :accessor sha256) 87 | (rev :initarg :rev 88 | :accessor rev) 89 | (systems :initarg :systems 90 | :accessor systems))) 91 | 92 | (defun extract (path) 93 | (uiop:run-program 94 | (list (in-cl2nix-dir "scripts/extract") 95 | (namestring path)) 96 | :output :string)) 97 | 98 | (defun asds (path) 99 | (remove-if #'(lambda (str) 100 | (starts-with "." 101 | (car (last (split-on-slash str))))) 102 | (remove-if-not #'(lambda (str) 103 | (ends-with ".asd" str)) 104 | (uiop:nest 105 | (mapcar #'namestring) 106 | (apply #'append 107 | (uiop:directory-files path)) 108 | (loop :for dir :in (uiop:subdirectories path) 109 | :collect (uiop:directory-files dir)))))) 110 | 111 | (defun asds-paths (path) 112 | (mapcar #'(lambda (asd) 113 | (directory-namestring asd)) 114 | (asds path))) 115 | 116 | (defun sharp-dot-quote (stream ign1 ign2) 117 | (declare (ignorable ign1 ign2)) 118 | (funcall (get-macro-character #\') stream nil)) 119 | 120 | (defun %read-asd-forms-literally (asd) 121 | (uiop:with-safe-io-syntax () 122 | (let* ((*readtable* (copy-readtable nil))) 123 | (set-dispatch-macro-character #\# #\. #'sharp-dot-quote) 124 | (uiop:read-file-forms asd)))) 125 | 126 | (defun read-asd-forms-literally (asd) 127 | (handler-bind 128 | ((t #'(lambda (c) 129 | (declare (ignorable c)) 130 | (invoke-restart (find-restart 'unintern))))) 131 | (%read-asd-forms-literally asd))) 132 | 133 | (defun primary-first (asd names) 134 | (let ((asd-name (trim-end ".asd" (pathname-name asd)))) 135 | (loop :for name :in names 136 | :with result = nil 137 | :with matching = nil 138 | :do (if (string= name asd-name) 139 | (setf matching name) 140 | (push name result)) 141 | :finally (return (push matching result))))) 142 | 143 | (defun asds-to-system-names (asds) 144 | (let ((asd-names (mapcar #'(lambda (asd) 145 | (trim-end ".asd" (pathname-name asd))) 146 | asds))) 147 | (dolist (asd-name asd-names) 148 | (destructuring-bind (system _) (find-system asd-name) 149 | (declare (ignorable _)) 150 | (when system 151 | (dolist (dep (system-dependencies system nil)) 152 | (asdf/package-inferred-system:sysdef-package-inferred-system-search dep))))) 153 | (set-difference (asdf:registered-systems) *registered-systems*))) 154 | 155 | (defmacro with-isolated-source (directory &body body) 156 | `(let ((bu (copy-list asdf:*central-registry*)) 157 | (dir (directory-namestring ,directory))) 158 | (unwind-protect 159 | (progn 160 | (setf asdf:*central-registry* 161 | (asds-paths dir)) 162 | ,@body) 163 | (setf asdf:*central-registry* bu)))) 164 | 165 | (defun return-nil (&rest args) 166 | (declare (ignorable args)) 167 | nil) 168 | 169 | (defun find-system (system-name) 170 | (let ((out-of-definition-dependencies nil) 171 | ;; backup asdf:load-system definition 172 | (old-load-systems* (symbol-function 'asdf:load-systems*)) 173 | ;; backup asdf/find-component:resolve-dependency-spec 174 | (old-resolve-dependency-spec 175 | (symbol-function 'asdf/find-component:resolve-dependency-spec))) 176 | (list 177 | (handler-bind 178 | ((asdf:load-system-definition-error 179 | #'(lambda (c) 180 | (declare (ignorable c)) 181 | (invoke-restart (find-restart 'continue)))) 182 | (asdf:missing-component 183 | #'(lambda (c) 184 | (push (string-downcase 185 | (symbol-name 186 | (asdf/find-component:missing-requires c))) 187 | out-of-definition-dependencies) 188 | (invoke-restart (find-restart 'continue))))) 189 | (setf ;; override asdf:load-systems* 190 | (symbol-function 'asdf:load-systems*) #'return-nil) 191 | (setf ;; override asdf/find-component:resolve-dependency-spec 192 | (symbol-function 'asdf/find-component:resolve-dependency-spec) 193 | #'return-nil) 194 | (unwind-protect (asdf:find-system system-name nil) 195 | (setf 196 | ;; restore load-system* 197 | (symbol-function 'asdf:load-systems*) old-load-systems* 198 | ;; restore reslove-dependency-spec 199 | (symbol-function 'asdf/find-component:resolve-dependency-spec) 200 | old-resolve-dependency-spec))) 201 | out-of-definition-dependencies))) 202 | 203 | (defun asd-system (system-name) 204 | "Has to be called with CWD set to the root of the system source, see `DESCRIBE-SOURCE'." 205 | (destructuring-bind (system out-of-definition-dependencies) 206 | (find-system system-name) 207 | (when system 208 | (let ((asd (asdf:system-source-file system)) 209 | (dependencies (system-dependencies system))) 210 | (dolist (dep out-of-definition-dependencies) 211 | (pushnew dep dependencies :test #'string=)) 212 | (make-instance 'nix-system 213 | :name (asdf:component-name system) ;; component-name 214 | :version (asdf:component-version system) ;; component-version 215 | :description (asdf/component:component-description system) 216 | :asd (when asd (file-namestring asd)) 217 | :source-root (when asd 218 | (let* ((path (directory-namestring 219 | (pathname asd)))) 220 | (if (string= path "") "." path))) 221 | :dependencies dependencies))))) 222 | 223 | (defun collect-dependencies (systems) 224 | (remove-if #'(lambda (dep) 225 | (member dep 226 | (list "asdf" "uiop" "asdf-package-system") 227 | :test #'string=)) 228 | (apply #'append 229 | (mapcar #'(lambda (system) 230 | (dependencies system)) 231 | systems)))) 232 | 233 | (defun systems-from-names (system-names systems) 234 | (let* ((new-systems (remove-if #'null (mapcar #'asd-system system-names)))) 235 | (if new-systems 236 | (systems-from-names (collect-dependencies new-systems) 237 | (remove-duplicates (append new-systems systems) 238 | :test #'string= :key #'name)) 239 | systems))) 240 | 241 | (defun systems-from-asds (asds) 242 | (let* ((system-names (asds-to-system-names asds)) 243 | (systems (systems-from-names system-names nil))) 244 | (mapcar #'(lambda (system) 245 | (setf (dependencies system) 246 | (remove-if 247 | #'(lambda (name) 248 | (member name (mapcar #'name systems) 249 | :test #'string=)) 250 | (dependencies system))) 251 | system) 252 | systems))) 253 | 254 | (defun package-find-system (name system-list) 255 | (find name system-list :key #'name :test #'string-equal)) 256 | 257 | (defmethod system-has-description ((obj nix-system)) 258 | (when (not (null (description obj))) 259 | obj)) 260 | 261 | (defmethod package-main-system ((obj nix-source-description)) 262 | (with-slots (pname systems) obj 263 | (let* ((cl? (starts-with "cl-" pname)) 264 | (same-name-system (package-find-system pname systems)) 265 | (no-cl-system (when cl? 266 | (package-find-system (subseq pname 3) systems)))) 267 | (if (not cl?) 268 | same-name-system 269 | (or (system-has-description same-name-system) 270 | (system-has-description no-cl-system)))))) 271 | 272 | (defun describe-source (src-desc) 273 | (initialize-registered-systems) 274 | (let ((source (read-source src-desc))) 275 | (when source 276 | (let* ((prefetch-result (nix-prefetch source)) 277 | (path (prefetch-path prefetch-result)) 278 | (extracted-path (uiop:truenamize (extract (namestring path)))) 279 | (asds (asds extracted-path))) 280 | (with-isolated-source extracted-path 281 | (unwind-protect 282 | (uiop:with-current-directory (extracted-path) 283 | (let ((systems (remove-if-not 284 | #'(lambda (system) 285 | (or (not (source-root system)) ;; package-inferred components 286 | (starts-with (namestring extracted-path) 287 | (source-root system)))) 288 | (systems-from-asds asds)))) 289 | (make-instance 'nix-source-description 290 | :pname (source-name source) 291 | :fetcher (source-fetch source) 292 | :url (location source) 293 | :rev (prefetch-rev prefetch-result) 294 | :sha256 (prefetch-sha256 prefetch-result) 295 | :systems systems))) 296 | (uiop:delete-directory-tree extracted-path 297 | :validate t 298 | :if-does-not-exist :ignore) 299 | (asdf/system-registry:clear-registered-systems) 300 | (restore-registered-systems))))))) 301 | 302 | (defun describe-source-by-name (source-list name) 303 | (describe-source (gassoc source-list :name name))) 304 | -------------------------------------------------------------------------------- /list.txt: -------------------------------------------------------------------------------- 1 | git https://github.com/lmj/1am.git 2 | git https://github.com/3b/3b-bmfont.git 3 | git https://github.com/3b/3b-hdr.git 4 | git https://github.com/3b/3b-swf.git 5 | git https://github.com/3b/3bgl-shader.git 6 | git https://github.com/3b/3bmd.git 7 | git https://github.com/3b/3bz.git 8 | git https://github.com/Shinmera/3d-matrices.git 9 | git https://github.com/Shinmera/3d-vectors.git 10 | git https://github.com/AccelerationNet/a-cl-logger.git 11 | git https://github.com/dherring/able.git 12 | git https://github.com/sharplispers/access.git 13 | git https://github.com/robert-strandh/Acclimation.git 14 | mercurial https://hg.stevelosh.com/adopt 15 | latest-gitlab-release https://gitlab.com/daewok/adopt-subcommands.git 16 | git https://github.com/Kalimehtar/advanced-readtable.git 17 | https https://common-lisp.net/project/adw-charting/adw-charting.tar.gz 18 | latest-github-release https://github.com/dtqec/aether.git 19 | git https://gitlab.common-lisp.net/mraskin/agnostic-lizard.git 20 | git https://github.com/alex-gutev/agutil.git 21 | git https://github.com/ahungry/ahungry-fleece.git 22 | latest-github-tag https://github.com/rigetti/alexa.git 23 | git https://gitlab.common-lisp.net/alexandria/alexandria.git 24 | git https://github.com/Symbolics/alexandria-plus.git 25 | git https://git.mfiano.net/mfiano/algae.git 26 | git https://github.com/tarballs-are-good/algebraic-data-library.git 27 | git https://github.com/varjagg/also-alsa.git 28 | git https://github.com/gonzojive/amazon-ecs 29 | git https://github.com/tokenrove/anaphora 30 | https https://common-lisp.net/project/anaphora/files/anaphora-latest.tar.gz 31 | https https://tarballs.hexstreamsoft.com/libraries/latest/anaphoric-variants_latest.tar.gz 32 | branched-git https://gitlab.common-lisp.net/antik/antik.git master 33 | 34 | git https://github.com/fukamachi/anypool.git 35 | git https://github.com/pve1/apply-argv.git 36 | git https://github.com/phantomics/april.git 37 | git https://github.com/g000001/arc-compat.git 38 | git https://github.com/scymtym/architecture.builder-protocol.git 39 | git https://github.com/scymtym/architecture.hooks.git 40 | git https://github.com/scymtym/architecture.service-provider.git 41 | git https://github.com/sharplispers/archive.git 42 | git https://github.com/K1D77A/arithmetic-operators-as-words.git 43 | git https://github.com/AccelerationNet/arnesi.git 44 | git https://github.com/bendudson/array-operations.git 45 | git https://github.com/Shinmera/array-utils.git 46 | git https://github.com/guicho271828/ArriVAL.git 47 | git https://github.com/hipeta/arrow-macros.git 48 | git https://gitlab.com/Harleqin/arrows.git 49 | git https://github.com/phoe/asd-generator.git 50 | git https://gitlab.common-lisp.net/xcvb/asdf-dependency-grovel.git 51 | git https://gitlab.common-lisp.net/asdf/asdf-encodings.git 52 | git https://gitlab.common-lisp.net/asdf/asdf-finalizers.git 53 | latest-github-tag https://github.com/didierverna/asdf-flv.git 54 | git https://github.com/eudoxia0/asdf-linguist.git 55 | git https://github.com/roswell/asdf-manager.git 56 | git https://gitlab.common-lisp.net/asdf/asdf-package-system.git 57 | git https://github.com/ichimal/asdf-project-helper.git 58 | git https://github.com/gwkkwg/asdf-system-connections.git 59 | git https://github.com/guicho271828/asdf-viz.git 60 | git https://github.com/gendl/aserve.git 61 | git https://github.com/noloop/assert-p.git 62 | git https://github.com/noloop/assertion-error.git 63 | git https://github.com/fukamachi/assoc-utils.git 64 | git https://github.com/stacksmith/asteroids.git 65 | git https://gitlab.com/TheLostLambda/astonish.git 66 | git https://github.com/cxxxr/async-process.git 67 | git http://www.lichteblau.com/git/atdoc.git 68 | git https://github.com/shinmera/atomics.git 69 | git https://github.com/C-Entropy/audio-tag.git 70 | git https://github.com/kkazuo/authenticated-encryption.git 71 | git https://github.com/fami-com/autoexport.git 72 | git https://github.com/eudoxia0/avatar-api.git 73 | git https://github.com/stablecross/aws-foundation.git 74 | git https://github.com/rotatef/aws-sign4.git 75 | git https://github.com/aarvid/ayah-captcha.git 76 | git https://github.com/cl-babel/babel.git 77 | 78 | tagged-git https://github.com/borodust/base-blobs.git stable 79 | git https://github.com/massung/base64.git 80 | git https://github.com/markcox80/basic-binary-ipc.git 81 | git https://github.com/defaultxr/bdef.git 82 | mercurial https://hg.stevelosh.com/beast 83 | git https://gitlab.common-lisp.net/beirc/beirc.git 84 | mercurial https://bitbucket.org/tarballs_are_good/big-string 85 | git https://github.com/Lovesan/bike.git 86 | git https://github.com/mgi/binary-io.git 87 | git https://github.com/Ferada/binary-types 88 | git https://github.com/sharplispers/binascii.git 89 | git https://github.com/phoe/binding-arrows.git 90 | git https://github.com/vcerovski/binfix.git 91 | git https://github.com/vy/binomial-heap.git 92 | git https://github.com/lispgames/binpack.git 93 | git https://github.com/jorams/birch.git 94 | git https://github.com/guicho271828/bit-ops.git 95 | git https://github.com/thephoeron/bit-smasher.git 96 | git https://github.com/marcoheisig/bitfield.git 97 | git https://bitbucket.org/swizard/bitfield-schema.git 98 | git https://github.com/psilord/bitio.git 99 | git https://github.com/vy/bk-tree.git 100 | git https://github.com/sharplispers/bknr.datastore.git 101 | git https://github.com/hanshuebner/bknr-web.git 102 | git https://gitlab.com/aerique/black-tie.git 103 | git https://github.com/orthecreedence/blackbird.git 104 | git https://github.com/hyotang666/bnf.git 105 | mercurial https://hg.stevelosh.com/bobbin 106 | tagged-git https://github.com/borodust/bodge-blobs-support.git stable 107 | tagged-git https://github.com/borodust/bodge-chipmunk.git stable 108 | tagged-git https://github.com/borodust/bodge-concurrency.git stable 109 | tagged-git https://github.com/borodust/bodge-glad.git stable 110 | tagged-git https://github.com/borodust/bodge-glfw.git stable 111 | tagged-git https://github.com/borodust/bodge-heap.git stable 112 | tagged-git https://github.com/borodust/bodge-host.git stable 113 | tagged-git https://github.com/borodust/bodge-libc-essentials.git stable 114 | tagged-git https://github.com/borodust/bodge-math.git stable 115 | tagged-git https://github.com/borodust/bodge-memory.git stable 116 | tagged-git https://github.com/borodust/bodge-nanovg.git stable 117 | tagged-git https://github.com/borodust/bodge-nuklear.git stable 118 | tagged-git https://github.com/borodust/bodge-ode.git stable 119 | tagged-git https://github.com/borodust/bodge-openal.git stable 120 | tagged-git https://github.com/borodust/bodge-queue.git stable 121 | tagged-git https://github.com/borodust/bodge-sndfile.git stable 122 | tagged-git https://github.com/borodust/bodge-utilities.git stable 123 | http http://vintage-digital.com/hefner/software/bordeaux-fft/bordeaux-fft-current.tar.gz 124 | latest-github-release https://github.com/sionescu/bordeaux-threads.git 125 | 126 | http http://juhaarpi.users.paivola.fi/bourbaki/bourbaki.tar.gz 127 | git https://github.com/rodentrabies/bp.git 128 | git https://github.com/glv2/bst.git 129 | git https://github.com/rmoritz/bt-semaphore.git 130 | git https://github.com/peterhil/btrie.git 131 | https https://tarballs.hexstreamsoft.com/libraries/latest/bubble-operator-upwards_latest.tar.gz 132 | https https://www.xach.com/lisp/buildapp.tgz 133 | git https://github.com/AccelerationNet/buildnode.git 134 | git https://github.com/pinterface/burgled-batteries.git 135 | git https://github.com/mmontone/burgled-batteries.syntax.git 136 | git https://github.com/bytecurry/bytecurry.asdf-ext.git 137 | git https://github.com/bytecurry/bytecurry.mocks.git 138 | tagged-git https://github.com/borodust/c2ffi-blob.git stable 139 | git https://github.com/noloop/cacau.git 140 | git https://github.com/charje/cache-while.git 141 | git https://github.com/jlahd/cacle.git 142 | git https://github.com/hawkir/calispel.git 143 | git https://github.com/jwiegley/cambl.git 144 | git https://github.com/fukamachi/can.git 145 | https https://tarballs.hexstreamsoft.com/libraries/latest/canonicalized-initargs_latest.tar.gz 146 | git https://github.com/pocket7878/Caramel.git 147 | git https://gitlab.com/a.aguilar/cardiogram.git 148 | git https://github.com/Shinmera/cari3s.git 149 | git https://github.com/orthecreedence/carrier.git 150 | https https://tarballs.hexstreamsoft.com/libraries/latest/cartesian-product-switch_latest.tar.gz 151 | git https://github.com/fukamachi/caveman.git 152 | git https://github.com/ritschmaster/caveman2-widgets.git 153 | git https://github.com/ritschmaster/caveman2-widgets-bootstrap.git 154 | git https://github.com/phoe/ccl-compat.git 155 | git https://github.com/Clozure/ccldoc.git 156 | git https://github.com/kennytilton/cells.git 157 | git https://github.com/Lisp-Stat/cephes.cl.git 158 | branched-git https://github.com/cbaggers/cepl.git release-quicklisp 159 | branched-git https://github.com/cbaggers/cepl.camera.git release-quicklisp 160 | branched-git https://github.com/cbaggers/cepl.devil.git release-quicklisp 161 | git https://github.com/malcolmstill/cepl.drm-gbm.git 162 | branched-git https://github.com/cbaggers/cepl.glop.git release-quicklisp 163 | branched-git https://github.com/cbaggers/cepl.sdl2.git release-quicklisp 164 | branched-git https://github.com/cbaggers/cepl.sdl2-image.git release-quicklisp 165 | branched-git https://github.com/cbaggers/cepl.sdl2-ttf.git release-quicklisp 166 | branched-git https://github.com/cbaggers/cepl.skitter.git release-quicklisp 167 | branched-git https://github.com/cbaggers/cepl.spaces.git release-quicklisp 168 | git https://github.com/ceramic/ceramic.git 169 | git https://github.com/fjames86/cerberus.git 170 | https https://tarballs.hexstreamsoft.com/libraries/latest/cesdi_latest.tar.gz 171 | https https://common-lisp.net/project/cffi/releases/cffi_latest.tar.gz 172 | tagged-git https://github.com/borodust/cffi-c-ref.git stable 173 | latest-github-tag https://github.com/sheepduke/chameleon.git 174 | mercurial https://hg.stevelosh.com/chancery 175 | git https://github.com/WarrenWilkinson/changed-stream.git 176 | git https://github.com/zkat/chanl.git 177 | git https://github.com/mbrezu/Cheat-JS.git 178 | git https://github.com/hyotang666/check-bnf.git 179 | git https://github.com/DalekBaldwin/check-it.git 180 | git https://github.com/rpav/CheckL.git 181 | https https://common-lisp.net/project/chemboy/chemical-compounds-latest.tar.gz 182 | git https://github.com/zkat/chillax.git 183 | tagged-git https://github.com/borodust/chipmunk-blob.git stable 184 | git https://github.com/sharplispers/chipz.git 185 | 186 | git https://github.com/Shinmera/chirp.git 187 | git https://github.com/Ralt/chrome-native-messaging.git 188 | git https://github.com/chaitanyagupta/chronicity.git 189 | git https://github.com/eslick/chtml-matcher.git 190 | ediware-http chunga 191 | git https://github.com/neil-lindquist/ci-utils.git 192 | git https://github.com/fukamachi/circular-streams.git 193 | git https://github.com/brown/city-hash.git 194 | git https://github.com/cl-plus-ssl/cl-plus-ssl.git 195 | git https://github.com/redline6561/cl-6502.git 196 | git https://github.com/dimitri/cl-abnf.git 197 | mercurial https://bitbucket.org/eeeickythump/cl-abstract-classes 198 | git https://github.com/isoraqathedh/cl-acronyms.git 199 | git https://github.com/tarballs-are-good/cl-algebraic-data-type.git 200 | git https://github.com/Shinmera/cl-all.git 201 | latest-github-release https://github.com/cl-rabbit/cl-amqp.git 202 | git https://github.com/ghollisjr/cl-ana.git 203 | git https://github.com/m2ym/cl-annot.git 204 | git https://github.com/Rudolph-Miller/cl-annot-prove.git 205 | git https://github.com/arielnetworks/cl-anonfun.git 206 | git https://github.com/vindarel/cl-ansi-term.git 207 | git https://github.com/pnathan/cl-ansi-text.git 208 | git https://github.com/veer66/cl-apertium-stream-parser.git 209 | git https://github.com/RobBlackwell/cl-apple-plist.git 210 | git https://github.com/pieterw/cl-arff-parser.git 211 | git https://github.com/simkoc/cl-argparse.git 212 | git https://github.com/FdelMazo/cl-aristid.git 213 | git https://github.com/mabragor/cl-arxiv-api.git 214 | git https://github.com/Blue-Sky-Skunkworks/cl-ascii-art.git 215 | git https://github.com/telephil/cl-ascii-table.git 216 | git https://github.com/diogoalexandrefranco/cl-association-rules.git 217 | git https://github.com/orthecreedence/cl-async.git 218 | git https://github.com/j3pic/cl-async-await.git 219 | git https://github.com/orthecreedence/cl-async-future.git 220 | git https://github.com/Lautaro-Garcia/cl-aubio.git 221 | git https://github.com/billstclair/cl-autorepo.git 222 | git https://github.com/rpav/cl-autowrap.git 223 | git https://github.com/RobBlackwell/cl-azure.git 224 | git https://github.com/tpine/cl-base16.git 225 | git https://github.com/hargettp/cl-base32.git 226 | git https://github.com/eudoxia0/cl-base58.git 227 | kmr-git cl-base64 228 | git https://github.com/tamurashingo/cl-batis.git 229 | git https://github.com/lhope/cl-bayesnet.git 230 | git https://github.com/dnaeon/cl-bcrypt.git 231 | git https://github.com/antifuchs/cl-beanstalk.git 232 | git https://github.com/nja/cl-bencode.git 233 | git https://github.com/flambard/cl-bert.git 234 | git https://github.com/mkoeppe/cl-bibtex.git 235 | 236 | git https://github.com/zodmaner/cl-bip39.git 237 | git https://github.com/K1D77A/cl-bloggy.git 238 | git https://github.com/ruricolist/cl-bloom.git 239 | git https://github.com/diasbruno/cl-bnf.git 240 | git https://github.com/rajasegar/cl-bootstrap.git 241 | git https://github.com/ebobby/cl-bplustree.git 242 | git https://github.com/EuAndreh/cl-bson.git 243 | git https://github.com/jmbr/cl-buchberger.git 244 | latest-github-release https://github.com/cl-rabbit/cl-bunny.git 245 | git https://gitlab.com/Aksej/cl-bus.git 246 | git https://github.com/lukasepple/cl-ca.git 247 | git https://github.com/diogoalexandrefranco/cl-cache-tables.git 248 | git https://github.com/rpav/cl-cairo2.git 249 | git https://github.com/GrammaTech/cl-capstone.git 250 | git https://github.com/ichimal/cl-case-control.git 251 | git https://github.com/Jach/cl-catmull-rom-spline.git 252 | git https://github.com/ghollisjr/cl-cerf.git 253 | git https://github.com/Ferada/cl-cffi-gtk.git 254 | git https://github.com/rudolfochrist/cl-change-case.git 255 | git https://github.com/HiTECNOLOGYs/cl-charms.git 256 | git https://github.com/mentel/cl-cheshire-cat.git 257 | git https://github.com/gos-k/cl-clblas.git 258 | git https://github.com/renard/cl-cli.git 259 | git https://gitlab.common-lisp.net/cl-cli-parser/cl-cli-parser.git 260 | https https://www.lrde.epita.fr/~didier/software/lisp/clon/latest.tar.gz 261 | git https://github.com/archimag/cl-closure-template.git 262 | git https://github.com/gos-k/cl-clsparse.git 263 | git https://github.com/stablecross/cl-cognito.git 264 | git https://github.com/K1D77A/cl-coinpayments.git 265 | git https://github.com/byulparan/cl-collider.git 266 | git https://github.com/tpapp/cl-colors.git 267 | git https://notabug.org/cage/cl-colors2.git 268 | git http://github.com/own-pt/cl-conllu.git 269 | git https://github.com/conspack/cl-conspack.git 270 | git https://gitlab.common-lisp.net/cl-cont/cl-cont.git 271 | git https://github.com/gwkkwg/cl-containers.git 272 | git https://github.com/fukamachi/cl-cookie.git 273 | git https://github.com/takagi/cl-coroutine.git 274 | git https://github.com/fukamachi/cl-coveralls.git 275 | git https://github.com/dnaeon/cl-covid19.git 276 | git https://github.com/muyinliu/cl-cpus.git 277 | git https://github.com/hikettei/cl-cram.git 278 | git https://github.com/RobBlackwell/cl-crc64.git 279 | git https://github.com/AccelerationNet/cl-creditcard.git 280 | git https://github.com/ciel-lang/cl-cron.git 281 | git https://github.com/renard/cl-crypt.git 282 | git https://github.com/Inaimathi/cl-css.git 283 | git https://github.com/AccelerationNet/cl-csv.git 284 | 285 | git https://github.com/takagi/cl-cuda.git 286 | git https://github.com/metawilm/cl-custom-hash-table.git 287 | git https://github.com/cromachina/cl-cut.git 288 | git https://github.com/Islam0mar/cl-cxx.git 289 | git https://github.com/Islam0mar/CL-CXX-JIT.git 290 | git https://github.com/0xk175un3/cl-darksky.git 291 | git https://github.com/willijar/cl-data-format-validation.git 292 | git https://github.com/tpapp/cl-data-frame.git 293 | git https://github.com/sirherrbatka/cl-data-structures.git 294 | git https://github.com/tkych/cl-date-time-parser.git 295 | git https://github.com/dimitri/cl-db3.git 296 | git https://github.com/fukamachi/cl-dbi.git 297 | git https://github.com/tamurashingo/cl-dbi-connection-pool.git 298 | git https://github.com/belambert/cl-dct.git 299 | git https://github.com/masatoi/cl-debug-print.git 300 | git https://github.com/tlikonen/cl-decimals 301 | git https://github.com/dkochmanski/cl-dejavu.git 302 | git https://github.com/zkat/cl-devil.git 303 | git https://github.com/billstclair/cl-diceware.git 304 | git https://github.com/wiseman/cl-difflib.git 305 | mercurial https://hg.stevelosh.com/cl-digraph/ 306 | git https://github.com/muyinliu/cl-diskspace.git 307 | git https://github.com/CodyReichert/cl-disque.git 308 | git https://github.com/willijar/cl-docutils.git 309 | git https://github.com/michaelw/cl-dot.git 310 | git https://github.com/ollelauribostrom/cl-dotenv.git 311 | git https://github.com/Goheeca/cl-drawille.git 312 | git https://github.com/malcolmstill/cl-drm.git 313 | git https://github.com/jsmpereira/cl-dropbox.git 314 | git https://github.com/mabragor/cl-dsl.git 315 | git https://github.com/GordianNaught/cl-durian.git 316 | git https://github.com/oyvinht/cl-earley-parser.git 317 | http http://verisimilitudes.net/cl-ecma-48.tgz 318 | git https://github.com/belambert/cl-editdistance.git 319 | git https://github.com/malcolmstill/cl-egl.git 320 | git https://github.com/FiV0/cl-elasticsearch.git 321 | git https://github.com/7max/cl-emacs-if.git 322 | git https://github.com/38a938c2/cl-emb.git 323 | git https://github.com/asciian/cl-emoji.git 324 | git https://github.com/tlikonen/cl-enchant.git 325 | git https://gitlab.common-lisp.net/cl-enumeration/enumerations.git 326 | 327 | git https://github.com/mini-eggs/cl-env.git 328 | git https://github.com/alex-gutev/cl-environments.git 329 | git https://github.com/flambard/cl-epmd.git 330 | git https://github.com/mcandre/cl-epoch.git 331 | git https://github.com/flambard/cl-erlang-term.git 332 | git https://github.com/atgreen/cl-etcd.git 333 | git https://github.com/sbryant/cl-ev.git 334 | git https://github.com/deadtrickster/cl-events.git 335 | git https://github.com/filonenko-mikhail/cl-ewkb.git 336 | git https://github.com/smithzvk/cl-factoring.git 337 | ediware-http cl-fad 338 | git https://github.com/7max/cl-fam.git 339 | git https://github.com/KDr2/cl-fastcgi.git 340 | git https://github.com/klimenko-serj/cl-fbclient.git 341 | git https://github.com/ruricolist/cl-feedparser.git 342 | git https://gitlab.com/fix9/cl-fix.git 343 | git https://github.com/libre-man/cl-fixtures.git 344 | git https://github.com/Shirakumo/cl-flac.git 345 | git https://github.com/noffle/cl-flat-tree.git 346 | tagged-git https://github.com/borodust/cl-flow.git stable 347 | git https://github.com/mmaul/cl-flowd.git 348 | git https://github.com/fukamachi/cl-fluent-logger.git 349 | git https://github.com/hdurer/cl-fluiddb.git 350 | git https://github.com/Shirakumo/cl-fond.git 351 | git https://github.com/alex-gutev/cl-form-types.git 352 | git https://github.com/mmontone/cl-forms.git 353 | git https://github.com/BradWBeer/cl-freeimage.git 354 | git https://github.com/rpav/cl-freetype2.git 355 | git https://github.com/howeyc/cl-fsnotify.git 356 | https https://web.kepibu.org/code/lisp/cl-ftp/cl-ftp.tar.gz 357 | git https://github.com/fb08af68/cl-fuse.git 358 | git https://github.com/fb08af68/cl-fuse-meta-fs.git 359 | git https://github.com/ndantam/cl-fuzz.git 360 | git https://github.com/Goheeca/cl-fxml.git 361 | git https://github.com/Shirakumo/cl-gamepad.git 362 | mercurial https://bitbucket.org/tarballs_are_good/cl-gap-buffer 363 | git https://github.com/malcolmstill/cl-gbm.git 364 | git https://github.com/gorozhin/cl-gcrypt.git 365 | git https://github.com/edicl/cl-gd.git 366 | git https://github.com/lokedhs/cl-gdata.git 367 | 368 | git https://github.com/taksatou/cl-gearman.git 369 | git https://github.com/rpav/cl-gendoc.git 370 | git https://github.com/TheDarkTrumpet/cl-gene-searcher.git 371 | git https://github.com/tlikonen/cl-general-accumulator.git 372 | git https://github.com/ukari/cl-generator.git 373 | mercurial https://bitbucket.org/tarballs_are_good/cl-generic-arithmetic 374 | git https://github.com/e40/cl-geocode.git 375 | git https://github.com/dasuxullebt/cl-geoip.git 376 | git https://github.com/vydd/cl-geometry.git 377 | git https://github.com/daewok/cl-geos.git 378 | git https://gitlab.com/Harag/cl-getx.git 379 | git https://github.com/cxxxr/cl-gimei.git 380 | git https://github.com/Rudolph-Miller/cl-gists.git 381 | git https://github.com/russell/cl-git.git 382 | git https://github.com/hanshuebner/cl-github-v3.git 383 | git https://github.com/jimrthy/cl-glfw.git 384 | git https://github.com/AlexCharlton/cl-glfw3.git 385 | git https://github.com/andy128k/cl-gobject-introspection.git 386 | git https://github.com/knusbaum/cl-gopher.git 387 | git https://github.com/Shinmera/cl-gpio.git 388 | git https://github.com/gwkkwg/cl-graph 389 | 390 | git https://github.com/sellout/cl-gravatar.git 391 | git https://github.com/mmontone/cl-graylog.git 392 | git https://github.com/tychoish/cl-grip.git 393 | git https://github.com/rigetticomputing/cl-grnm.git 394 | git https://github.com/wlbr/cl-groupby.git 395 | git https://github.com/nklein/cl-growl.git 396 | git https://github.com/mdbergmann/cl-gserver.git 397 | git https://github.com/lokedhs/cl-gss.git 398 | git https://github.com/dmitryvk/cl-gtk2.git 399 | git https://github.com/40ants/cl-hamcrest.git 400 | git https://github.com/Unspeakable/cl-haml.git 401 | git https://github.com/danshapero/cl-hamt.git 402 | git https://github.com/andrey-tikhonov/cl-hash-table-destructuring.git 403 | git https://github.com/orthecreedence/cl-hash-util.git 404 | https https://common-lisp.net/project/cl-heap/releases/cl-heap_latest.tar.gz 405 | git https://github.com/e-user/cl-heredoc.git 406 | git https://github.com/wiseman/cl-html-diff.git 407 | git https://github.com/gwkkwg/cl-html-parse.git 408 | 409 | branched-git https://github.com/Frechmatz/cl-html-readme.git quicklisp-current-release 410 | git https://github.com/rotatef/cl-html5-parser.git 411 | git https://github.com/heegaiximephoomeeghahyaiseekh/cl-htmlprag.git 412 | git https://github.com/Liutos/cl-httpsqs.git 413 | git https://github.com/jd/cl-hue.git 414 | git https://notabug.org/cage/cl-i18n.git 415 | git https://github.com/quek/cl-iconv.git 416 | git https://github.com/inloco/cl-incognia.git 417 | git https://github.com/yitzchak/cl-indentify.git 418 | git https://github.com/AccelerationNet/cl-inflector.git 419 | git https://github.com/mmaul/cl-influxdb.git 420 | git https://github.com/40ants/cl-info.git 421 | git https://github.com/compufox/cl-ini.git 422 | git https://github.com/Ferada/cl-inotify.git 423 | git https://github.com/EuAndreh/cl-intbytes.git 424 | ediware-http cl-interpol 425 | git https://github.com/rpav/cl-interval.git 426 | git https://github.com/JadedCtrl/cl-ipfs-api2.git 427 | https https://common-lisp.net/project/cl-irc/releases/cl-irc_latest.tar.gz 428 | git https://gitlab.common-lisp.net/cl-irregsexp/cl-irregsexp.git 429 | git https://github.com/thephoeron/cl-isaac.git 430 | git https://github.com/kanru/cl-isolated.git 431 | git https://github.com/mobius-eng/cl-iterative.git 432 | git https://github.com/mabragor/cl-itertools.git 433 | git https://github.com/dimitri/cl-ixf.git 434 | git https://github.com/sharplispers/cl-jpeg.git 435 | git https://github.com/hawkir/cl-jpl-util.git 436 | git https://github.com/hankhero/cl-json.git 437 | git https://github.com/stablecross/cl-json-helper.git 438 | git https://github.com/y2q-actionman/cl-json-pointer.git 439 | git https://github.com/notmgsk/cl-json-schema.git 440 | git https://git.benkard.de/mulk/cl-json-template.git 441 | git https://github.com/mmontone/cl-jsx.git 442 | git https://github.com/AccelerationNet/cl-junit-xml.git 443 | git https://github.com/tlikonen/cl-just-getopt-parser.git 444 | git https://github.com/Shinmera/cl-k8055.git 445 | git https://notabug.org/cage/cl-kanren.git 446 | git https://gitlab.common-lisp.net/cl-kanren-trs/cl-kanren-trs.git 447 | 448 | git https://github.com/michipili/cl-kaputt.git 449 | git https://github.com/ikbenlike/cl-keycloak.git 450 | git https://github.com/jonatack/cl-kraken.git 451 | git https://gitlab.com/bob.denver.co/cl-ksuid.git 452 | git https://github.com/kraison/cl-kyoto-cabinet.git 453 | git https://gitlab.common-lisp.net/cl-l10n/cl-l10n.git 454 | git https://gitlab.common-lisp.net/cl-l10n/cl-l10n-cldr.git 455 | git https://github.com/eslick/cl-langutils.git 456 | git https://github.com/mgi/cl-las.git 457 | https https://github.com/nlamirault/cl-lastfm/archive/0.2.1.tar.gz 458 | 459 | https https://common-lisp.net/project/xcvb/cl-launch/cl-launch.tar.gz 460 | git https://github.com/ledger/cl-ledger.git 461 | git https://github.com/djr7C4/cl-lex.git 462 | git https://github.com/starseeker/cl-lexer.git 463 | git https://github.com/resttime/cl-liballegro.git 464 | git https://gitlab.com/lockie/cl-liballegro-nuklear.git 465 | git https://github.com/orthecreedence/cl-libevent2.git 466 | git https://github.com/macdavid313/cl-libfarmhash.git 467 | git https://github.com/macdavid313/cl-libhoedown.git 468 | git https://github.com/mihaiolteanu/cl-libiio.git 469 | git https://github.com/malcolmstill/cl-libinput.git 470 | git https://github.com/pocket7878/cl-libpuzzle.git 471 | git https://github.com/alxchk/cl-libssh2.git 472 | git https://github.com/melisgl/cl-libsvm.git 473 | git https://github.com/masatoi/cl-libsvm-format.git 474 | git https://github.com/soemraws/cl-libusb.git 475 | git https://github.com/orthecreedence/cl-libuv.git 476 | git https://github.com/archimag/cl-libxml2.git 477 | 478 | git https://github.com/eudoxia0/cl-libyaml.git 479 | git https://github.com/fukamachi/cl-locale.git 480 | mercurial https://bitbucket.org/tarballs_are_good/cl-locatives 481 | https https://www.nicklevine.org/cl-log/cl-log-latest.tar.gz 482 | git https://github.com/jollheef/cl-logic.git 483 | git https://github.com/taksatou/cl-ltsv.git 484 | git https://github.com/glv2/cl-lzlib.git 485 | git https://github.com/phoe/cl-lzma.git 486 | git https://github.com/e-user/cl-m4.git 487 | git https://github.com/cmoore/cl-mango.git 488 | git https://gitlab.common-lisp.net/cl-markdown/cl-markdown.git 489 | 490 | git https://github.com/Shirakumo/cl-markless.git 491 | git https://github.com/opsresearch/cl-marklogic.git 492 | git https://github.com/arielnetworks/cl-markup.git 493 | git https://github.com/wlbr/cl-marshal.git 494 | git https://github.com/tonyg/cl-match.git 495 | 496 | git https://github.com/gwkkwg/cl-mathstats.git 497 | 498 | git https://github.com/turtle-bazon/cl-maxminddb.git 499 | git https://github.com/cl-model-languages/cl-maxsat.git 500 | git https://github.com/carrotflakes/cl-mecab.git 501 | git https://github.com/joachifm/cl-mechanize.git 502 | git https://github.com/AccelerationNet/cl-mediawiki.git 503 | git https://github.com/K1D77A/cl-megolm.git 504 | git https://github.com/quasi/cl-memcached.git 505 | git https://github.com/mbrezu/cl-messagepack.git 506 | git https://github.com/adolenc/cl-messagepack-rpc.git 507 | https https://common-lisp.net/project/cl-migrations/cl-migrations-latest.tgz 508 | git https://github.com/dnaeon/cl-migratum.git 509 | git https://github.com/hanshuebner/cl-mime.git 510 | 511 | git https://github.com/K1D77A/cl-mime-from-string.git 512 | git https://github.com/mmontone/cl-mimeparse.git 513 | git https://github.com/noloop/cl-minify-css.git 514 | git https://github.com/Shirakumo/cl-mixed.git 515 | git https://github.com/fzalkow/cl-mlep.git 516 | git https://github.com/Ferada/cl-mock.git 517 | kmr-git cl-modlisp 518 | svn https://svn.common-lisp.net/cl-monad-macros/trunk 519 | 520 | git https://github.com/vsedach/cl-moneris.git 521 | git https://github.com/fons/cl-mongo.git 522 | git https://github.com/orthecreedence/cl-mongo-id.git 523 | git https://github.com/Shirakumo/cl-monitors.git 524 | git https://github.com/Inaimathi/cl-mop.git 525 | git https://github.com/wsgac/cl-moss.git 526 | git https://notabug.org/cage/cl-mount-info.git 527 | git https://github.com/Shirakumo/cl-mpg123.git 528 | git https://github.com/marcoheisig/cl-mpi.git 529 | git https://github.com/archimag/cl-mssql.git 530 | 531 | git https://github.com/mtstickney/cl-mtgnet.git 532 | git https://github.com/ruricolist/cl-murmurhash.git 533 | git https://github.com/kanru/cl-mustache.git 534 | tagged-git https://github.com/borodust/cl-muth.git stable 535 | git https://github.com/psilord/cl-mw.git 536 | git https://github.com/hackinghat/cl-mysql.git 537 | git https://gitlab.com/Harag/cl-naive-store.git 538 | https https://common-lisp.net/project/cl-ncurses/files/cl-ncurses_latest-version.tgz 539 | branched-git https://github.com/kraison/cl-neo4j.git release 540 | git https://github.com/adolenc/cl-neovim.git 541 | mercurial https://hg.stevelosh.com/cl-netpbm 542 | git https://github.com/mtstickney/cl-netstring-plus.git 543 | git https://github.com/RyanHope/cl-netstrings.git 544 | git https://github.com/inaimathi/cl-notebook.git 545 | git https://github.com/jphmrst/cl-nst.git 546 | git https://github.com/varjagg/cl-ntp-client.git 547 | mercurial https://bitbucket.org/vityok/cl-ntriples 548 | git https://github.com/tpapp/cl-num-utils.git 549 | git https://github.com/woudshoo/cl-nxt.git 550 | git https://github.com/skypher/cl-oauth.git 551 | git https://github.com/gos-k/cl-oclapi.git 552 | git https://github.com/glv2/cl-octet-streams.git 553 | git https://github.com/BradWBeer/cl-ode.git 554 | git https://github.com/dym/cl-odesk.git 555 | git https://github.com/rudolfochrist/cl-ohm.git 556 | git http://logand.com/git/cl-olefs.git 557 | git https://github.com/bhyde/cl-one-time-passwords.git 558 | git https://github.com/masatoi/cl-online-learning.git 559 | git https://github.com/zkat/cl-openal.git 560 | git https://github.com/pokepay/cl-openapi-parser.git 561 | git https://github.com/ghollisjr/cl-opencl.git 562 | git https://github.com/ghollisjr/cl-opencl-utils.git 563 | git https://github.com/3b/cl-opengl.git 564 | git https://opendev.org/x/cl-openstack-client.git 565 | git https://github.com/opsresearch/cl-opsresearch.git 566 | git https://gitlab.common-lisp.net/cl-org-mode/cl-org-mode.git 567 | git https://github.com/Shirakumo/cl-out123.git 568 | git https://github.com/dballard/cl-pack.git 569 | git https://github.com/elliottjohnson/cl-package-locks.git 570 | git https://github.com/BradWBeer/cl-pango.git 571 | git https://github.com/nahiluhmot/cl-parallel.git 572 | git https://github.com/Ramarren/cl-parser-combinators.git 573 | git https://github.com/eudoxia0/cl-pass.git 574 | git https://github.com/u-u-h/cl-password-store.git 575 | git https://github.com/arielnetworks/cl-pattern.git 576 | git https://github.com/defaultxr/cl-patterns.git 577 | git https://github.com/a0-prw/cl-paymill.git 578 | git https://github.com/standin000/cl-paypal.git 579 | mercurial https://hg.stevelosh.com/cl-pcg 580 | git https://github.com/mbattyani/cl-pdf.git 581 | git https://github.com/mmontone/cl-peppol.git 582 | git https://github.com/ichimal/cl-performance-tuning-helper.git 583 | git https://github.com/tarballs-are-good/cl-permutation.git 584 | kmr-git cl-photo 585 | git https://github.com/ReinUsesLisp/cl-pixman.git 586 | git https://github.com/HazenBabcock/cl-plplot.git 587 | git https://github.com/smithzvk/cl-plumbing.git 588 | git https://github.com/takagi/cl-ply.git 589 | git https://github.com/sharplispers/cl-png.git 590 | git https://github.com/jperson/cl-poker-eval.git 591 | https https://common-lisp.net/project/cl-pop/cl-pop.tar.gz 592 | git https://github.com/filonenko-mikhail/cl-portaudio.git 593 | git https://github.com/traut/cl-portmanteau.git 594 | git https://github.com/chaitanyagupta/cl-postgres-datetime.git 595 | git https://github.com/michaeljforster/cl-postgres-plus-uuid.git 596 | ediware-http cl-ppcre 597 | git https://github.com/40ants/cl-prevalence.git 598 | git https://github.com/smithzvk/cl-primality.git 599 | git https://github.com/nakrakiiya/cl-prime-maker.git 600 | git https://github.com/sirherrbatka/cl-progress-bar.git 601 | git https://github.com/fukamachi/cl-project.git 602 | git https://github.com/keithj/cl-prolog.git 603 | git https://github.com/cl-model-languages/cl-prolog2.git 604 | git https://github.com/qitab/cl-protobufs.git 605 | git https://notabug.org/cage/cl-pslib.git 606 | git https://notabug.org/cage/cl-pslib-barcode.git 607 | git https://github.com/windymelt/cl-punch.git 608 | git https://github.com/metawilm/cl-python.git 609 | git https://github.com/eugeneia/cl-qprint.git 610 | git https://github.com/jnjcc/cl-qrencode.git 611 | git https://github.com/e40/cl-quakeinfo.git 612 | git https://github.com/mcandre/cl-quickcheck 613 | git https://github.com/lokedhs/cl-rabbit.git 614 | git https://github.com/marad/cl-rail.git 615 | git https://github.com/lvaruzza/cl-randist.git 616 | git https://github.com/tpapp/cl-random.git 617 | git https://github.com/masatoi/cl-random-forest.git 618 | https https://www.lrde.epita.fr/~didier/software/lisp/cl-rcfiles.tar.gz 619 | git https://github.com/tayloj/cl-rdfxml.git 620 | git https://github.com/SahilKang/cl-rdkafka.git 621 | git https://github.com/vindarel/cl-readline.git 622 | git https://github.com/madnificent/cl-recaptcha/ 623 | git https://github.com/jperson/cl-reddit.git 624 | git https://github.com/vseloved/cl-redis.git 625 | git https://github.com/takagi/cl-reexport.git 626 | git https://github.com/djeis97/cl-renderdoc.git 627 | git https://github.com/orthecreedence/cl-rethinkdb.git 628 | git https://github.com/eugeneia/cl-rfc2047.git 629 | git https://github.com/dnaeon/cl-rfc4251.git 630 | git https://github.com/RobBlackwell/cl-riff.git 631 | git https://github.com/guicho271828/cl-rlimit.git 632 | git https://github.com/tpapp/cl-rmath.git 633 | git https://github.com/archimag/cl-routes.git 634 | git https://github.com/hbock/cl-rrd.git 635 | git https://github.com/guicho271828/cl-rrt.git 636 | kmr-git cl-rss 637 | git https://github.com/roerd/cl-rsvg2.git 638 | git https://github.com/Dimercel/cl-rules.git 639 | git https://github.com/svenvc/cl-s3.git 640 | git https://github.com/keithj/cl-sam.git 641 | git https://github.com/MatthewRock/cl-sandbox.git 642 | git git://repo.or.cz/cl-sane.git 643 | git https://github.com/archimag/cl-sanitize.git 644 | latest-github-tag https://github.com/legoscia/cl-sasl 645 | 646 | git https://github.com/cl-model-languages/cl-sat.git 647 | git https://github.com/cl-model-languages/cl-sat.glucose.git 648 | git https://github.com/cl-model-languages/cl-sat.minisat.git 649 | git https://github.com/jcguu95/cl-schedule.git 650 | git https://github.com/mprelude/cl-scram.git 651 | git https://github.com/jsmpereira/cl-scribd.git 652 | git https://github.com/fare/cl-scripting.git 653 | git https://github.com/redline6561/cl-scrobbler.git 654 | git https://github.com/y2q-actionman/cl-scsu.git 655 | git https://github.com/lispgames/cl-sdl2.git 656 | git https://github.com/lispgames/cl-sdl2-image.git 657 | git https://github.com/lispgames/cl-sdl2-mixer.git 658 | git https://github.com/sharplispers/cl-sdl2-ttf.git 659 | git https://github.com/html/cl-selenium.git 660 | 661 | git https://github.com/TatriX/cl-selenium-webdriver.git 662 | git https://github.com/cldm/cl-semver.git 663 | git https://github.com/vindarel/cl-sendgrid.git 664 | git https://github.com/RobBlackwell/cl-sentiment.git 665 | git https://github.com/pw4ever/cl-server-manager.git 666 | git https://github.com/Jach/cl-ses4.git 667 | git https://github.com/shamazmazum/cl-setlocale.git 668 | git https://github.com/naryl/sha1.git 669 | git https://github.com/jorams/cl-shellwords.git 670 | git https://github.com/ruricolist/cl-shlex.git 671 | git https://github.com/JordanPowell/cl-simple-concurrent-jobs.git 672 | git https://github.com/isoraqathedh/cl-simple-fsm.git 673 | git https://github.com/ebobby/cl-simple-table.git 674 | git https://github.com/hipeta/cl-singleton-mixin.git 675 | git https://github.com/kraison/cl-skip-list.git 676 | git https://github.com/asciian/cl-skkserv.git 677 | git https://github.com/jkordani/cl-sl4a.git 678 | git https://github.com/tpapp/cl-slice.git 679 | git https://github.com/fjames86/cl-slp.git 680 | git https://github.com/EuAndreh/cl-slug.git 681 | git https://github.com/GrammaTech/cl-smt-lib.git 682 | git https://gitlab.common-lisp.net/cl-smtp/cl-smtp.git 683 | branched-git https://github.com/cbaggers/cl-soil.git release-quicklisp 684 | git https://github.com/Shirakumo/cl-soloud.git 685 | git https://github.com/multimethod/cl-sophia.git 686 | git https://github.com/tkych/cl-spark.git 687 | git https://github.com/mmontone/cl-sparql.git 688 | git https://github.com/zkat/cl-speedy-queue.git 689 | git https://github.com/archimag/cl-sphinx.git 690 | git https://github.com/Shinmera/cl-spidev.git 691 | git https://github.com/mabragor/cl-splicing-macro.git 692 | git https://github.com/dmitryvk/cl-sqlite.git 693 | git https://github.com/muyinliu/cl-ssdb.git 694 | git https://github.com/dtenny/cl-sse.git 695 | git https://github.com/dnaeon/cl-ssh-keys.git 696 | git https://github.com/deadtrickster/cl-statsd.git 697 | git https://github.com/eslick/cl-stdutils.git 698 | git https://github.com/shinmera/cl-steamworks.git 699 | git https://gitlab.common-lisp.net/cl-stomp/cl-stomp.git 700 | mercurial https://bitbucket.org/tarballs_are_good/cl-stopwatch 701 | git https://github.com/skypher/cl-store.git 702 | git https://github.com/vindarel/cl-str.git 703 | git https://github.com/cl-stream/cl-stream.git 704 | git https://github.com/ruricolist/cl-strftime.git 705 | mercurial https://bitbucket.org/tarballs_are_good/cl-string-complete 706 | git https://github.com/pokepay/cl-string-generator.git 707 | mercurial https://bitbucket.org/vityok/cl-string-match 708 | git https://github.com/diogoalexandrefranco/cl-strings.git 709 | git https://github.com/wmannis/cl-svg 710 | git https://github.com/gonzojive/cl-svm 711 | git https://github.com/incjung/cl-swagger-codegen.git 712 | git https://github.com/eadmund/cl-sxml.git 713 | git https://github.com/m2ym/cl-syntax 714 | git https://github.com/mmaul/cl-syslog.git 715 | git https://github.com/Kalimehtar/cl-table.git 716 | git git://git.code.sf.net/p/cl-tap-producer/code 717 | git https://github.com/gos-k/cl-tasukete.git 718 | git https://github.com/podiki/cl-tcod.git 719 | git https://github.com/gzip4/cl-telebot.git 720 | git https://github.com/40ants/cl-telegram-bot.git 721 | git https://github.com/alpha123/cl-template.git 722 | git https://github.com/cl-fui/cl-termbox.git 723 | git https://github.com/GOFAI/cl-tesseract.git 724 | git https://github.com/grouzen/cl-tetris3d.git 725 | git https://github.com/trumae/cl-textmagic.git 726 | git https://github.com/fisxoj/cl-tga.git 727 | branched-git https://github.com/Frechmatz/cl-threadpool.git quickload-current-release 728 | git https://github.com/gonzojive/cl-tidy 729 | git https://github.com/Zulu-Inuoe/cl-tiled.git 730 | git https://github.com/marijnh/cl-tk.git 731 | git https://github.com/1u4nx/cl-tld.git 732 | git https://github.com/keithj/cl-tokyo-cabinet.git 733 | git https://github.com/cxxxr/cl-toml.git 734 | git https://gitlab.com/vindarel/cl-torrents/ 735 | git https://github.com/libre-man/cl-transmission.git 736 | git https://github.com/MatthewRock/cl-trie.git 737 | git https://github.com/naryl/cl-tui.git 738 | git https://github.com/varjagg/cl-tulip-graph.git 739 | git https://github.com/johnfredcee/cl-tuples.git 740 | 741 | git https://github.com/fons/cl-twitter.git 742 | 743 | git https://github.com/mbattyani/cl-typesetting.git 744 | git https://github.com/mishoo/cl-uglify-js.git 745 | ediware-http cl-unicode 746 | git https://gitlab.common-lisp.net/cl-unification/cl-unification.git 747 | git https://github.com/tdrhq/cl-unix-sockets.git 748 | https https://common-lisp.net/project/cl-utilities/cl-utilities-latest.tar.gz 749 | git https://github.com/grammatech/cl-utils.git 750 | git git://repo.or.cz/cl-v4l2.git 751 | git https://gitlab.common-lisp.net/cl-variates/cl-variates.git 752 | 753 | git https://github.com/fjolliton/cl-vectors.git 754 | git https://github.com/mabragor/cl-vhdl.git 755 | git https://github.com/varjagg/cl-video.git 756 | git https://github.com/eudoxia0/cl-virtualbox.git 757 | git https://github.com/shirakumo/cl-vorbis.git 758 | git https://github.com/takagi/cl-voxelize.git 759 | git https://github.com/remexre/cl-wadler-pprint.git 760 | git https://github.com/RobBlackwell/cl-wav.git 761 | branched-git https://github.com/Frechmatz/cl-wave-file-writer.git quickload-current-release 762 | git https://github.com/shamazmazum/cl-wavelets.git 763 | git https://github.com/malcolmstill/cl-wayland.git 764 | git https://github.com/fukamachi/cl-weather-jp.git 765 | git https://github.com/edicl/cl-webdav.git 766 | git https://github.com/copyleft/cl-webdriver-client.git 767 | git https://github.com/joachifm/cl-webkit.git 768 | ediware-http cl-who 769 | git https://github.com/jpcima/cl-why.git 770 | git https://github.com/stacksmith/cl-with.git 771 | git http://github.com/veer66/cl-wordcut.git 772 | git https://github.com/eadmund/cl-xdg.git 773 | git https://github.com/malcolmstill/cl-xkb.git 774 | git https://github.com/stumpwm/cl-xkeysym.git 775 | https https://common-lisp.net/project/cl-xmlspam/cl-xmlspam.tgz 776 | https https://common-lisp.net/project/cl-xmpp/cl-xmpp_latest.tar.gz 777 | git https://github.com/mmontone/cl-xul.git 778 | git https://github.com/jech/cl-yacc.git 779 | 780 | 781 | git https://github.com/mabragor/cl-yaclyaml.git 782 | git https://github.com/pnathan/cl-yahoo-finance.git 783 | git https://github.com/eudoxia0/cl-yaml.git 784 | git https://github.com/ruricolist/cl-yesql.git 785 | git https://github.com/charJe/cl-yxorp.git 786 | git https://github.com/inaimathi/cl-zipper.git 787 | git https://github.com/freiksenet/cl-zmq.git 788 | git https://github.com/glv2/cl-zstd.git 789 | git https://github.com/jesseoff/cl-zyre.git 790 | git https://github.com/mmontone/cl4store.git 791 | git https://github.com/html/clache.git 792 | git https://github.com/fukamachi/clack.git 793 | git https://github.com/eudoxia0/clack-errors.git 794 | git https://github.com/BnMcGn/clack-pretend.git 795 | git https://github.com/fisxoj/clack-static-asset-middleware.git 796 | git https://gitlab.common-lisp.net/mantoniotti/CLAD.git 797 | https https://tarballs.hexstreamsoft.com/libraries/latest/class-options_latest.tar.gz 798 | git https://github.com/3b/classimp.git 799 | git https://github.com/shinmera/classowary.git 800 | git https://git.code.sf.net/p/clast/code 801 | git https://github.com/BnMcGn/clath.git 802 | git https://github.com/pinterface/clavatar.git 803 | git https://github.com/mmontone/clavier.git 804 | tagged-git https://github.com/borodust/claw.git stable 805 | git https://github.com/K1D77A/claw-olm.git 806 | tagged-git https://github.com/borodust/claw-support.git stable 807 | tagged-git https://github.com/borodust/claw-utils.git stable 808 | git https://github.com/sharplispers/clawk.git 809 | 810 | git https://github.com/BnMcGn/claxy.git 811 | git https://gitlab.common-lisp.net/clazy/clazy.git 812 | git https://github.com/slyrus/clem.git 813 | 814 | git https://github.com/flambard/CLERIC.git 815 | git https://github.com/lisp-maintainers/clerk.git 816 | git https://github.com/Neronus/clesh.git 817 | git https://github.com/nlamirault/cletris.git 818 | git https://gitlab.common-lisp.net/clfswm/clfswm.git 819 | https https://tarballs.hexstreamsoft.com/libraries/latest/clhs_latest.tar.gz 820 | git https://github.com/schani/clickr.git 821 | git https://github.com/jschatzer/clim-pkg-doc.git 822 | git https://github.com/jschatzer/clim-widgets.git 823 | git https://gitlab.common-lisp.net/climacs/climacs.git 824 | git https://github.com/nlamirault/climc.git 825 | git https://github.com/nlamirault/climon.git 826 | git https://github.com/BradWBeer/CLinch.git 827 | git https://github.com/jasom/clinenoise.git 828 | git https://github.com/dnaeon/clingon.git 829 | git https://github.com/Shinmera/clip.git 830 | git https://github.com/Rudolph-Miller/clipper.git 831 | git https://github.com/lispy-stuff/clite.git 832 | git https://github.com/inaimathi/clj.git 833 | git https://github.com/dtenny/clj-con.git 834 | git https://github.com/dtenny/clj-re.git 835 | git https://github.com/mmaul/clml.git 836 | git http://gitlab.common-lisp.net/clnuplot/clnuplot.git 837 | 838 | git https://github.com/robert-strandh/Clobber.git 839 | mercurial https://bitbucket.org/eeeickythump/clod 840 | git https://github.com/jlahd/clods-export.git 841 | git https://github.com/rabbibotton/clog.git 842 | git https://gitlab.common-lisp.net/clonsigna/clonsigna.git 843 | git https://github.com/krzysz00/clos-diff.git 844 | git https://github.com/eudoxia0/clos-fixtures.git 845 | git https://github.com/pcostanza/closer-mop.git 846 | 847 | git https://github.com/sharplispers/closure-common.git 848 | 849 | git https://github.com/bluelisp/closure-html.git 850 | https https://common-lisp.net/project/clouchdb/clouchdb-latest.tar.gz 851 | kmr-git clsql 852 | git https://github.com/html/clsql-fluid.git 853 | git https://github.com/AccelerationNet/clsql-helper.git 854 | git https://github.com/moderninterpreters/clsql-local-time.git 855 | git https://github.com/AccelerationNet/clsql-orm.git 856 | git https://github.com/Shinmera/clss.git 857 | git https://github.com/nilqed/cltcl.git 858 | git https://github.com/robert-strandh/Cluffer.git 859 | git https://github.com/robert-strandh/Clump.git 860 | git https://github.com/tgutu/clunit.git 861 | git https://notabug.org/cage/clunit2.git 862 | latest-github-release https://github.com/alessiostalla/clutter.git 863 | git https://github.com/plotnick/clweb.git 864 | git https://github.com/3b/clws.git 865 | git https://github.com/sharplispers/clx.git 866 | git https://github.com/laynor/clx-xembed.git 867 | git https://github.com/filonenko-mikhail/clx-xkeyboard.git 868 | git https://github.com/zbq/cmake-parser.git 869 | git https://github.com/ruricolist/cmd.git 870 | git https://github.com/rigetticomputing/cmu-infix.git 871 | git https://github.com/ralph-schleicher/codata-recommended-values.git 872 | git https://github.com/CommonDoc/codex.git 873 | git https://github.com/coleslaw-org/coleslaw.git 874 | git https://github.com/AccelerationNet/collectors.git 875 | git https://github.com/Shinmera/colleen.git 876 | git https://github.com/bytecurry/colliflower.git 877 | git https://github.com/Shinmera/colored.git 878 | git https://github.com/redline6561/colorize.git 879 | git https://github.com/Shinmera/com-on.git 880 | git https://github.com/jaeschliman/com.clearly-useful.generic-collection-interface.git 881 | git https://github.com/jaeschliman/com.clearly-useful.iterate-plus.git 882 | git https://github.com/jaeschliman/com.clearly-useful.iterator-protocol.git 883 | git https://github.com/jaeschliman/com.clearly-useful.protocols.git 884 | git https://github.com/brown/base.git 885 | git https://github.com/fare/command-line-arguments.git 886 | git https://github.com/CommonDoc/common-doc.git 887 | git https://github.com/CommonDoc/common-doc-plump.git 888 | git https://github.com/CommonDoc/common-html.git 889 | git https://github.com/naveensundarg/Common-Lisp-Actors.git 890 | git https://github.com/yitzchak/common-lisp-jupyter.git 891 | git https://github.com/40ants/commondoc-markdown.git 892 | git https://github.com/commonqt/commonqt.git 893 | 894 | https https://tarballs.hexstreamsoft.com/libraries/latest/compatible-metaclasses_latest.tar.gz 895 | latest-github-tag https://github.com/digikar99/compiler-macro-notes.git 896 | git https://github.com/tarballs-are-good/computable-reals.git 897 | git https://github.com/robert-strandh/Concrete-Syntax-Tree.git 898 | git https://github.com/tfeb/conduit-packages.git 899 | git https://github.com/noloop/conf.git 900 | git https://github.com/scymtym/configuration.options.git 901 | git https://github.com/sharplispers/conium.git 902 | 903 | latest-github-tag https://github.com/spwhitton/consfigurator.git 904 | git https://github.com/death/consix.git 905 | git https://github.com/numcl/constantfold.git 906 | git https://github.com/markasoftware/context-lite.git 907 | git https://github.com/pcostanza/contextl.git 908 | git https://github.com/ceramic/copy-directory.git 909 | git https://github.com/interactive-ssr/core.git 910 | git https://github.com/hyotang666/core-reader.git 911 | git https://github.com/eudoxia0/corona.git 912 | git https://github.com/pfdietz/cover.git 913 | git https://github.com/AeroNotix/cqlcl.git 914 | git https://github.com/eudoxia0/crane.git 915 | git https://git.mfiano.net/mfiano/cricket.git 916 | git https://github.com/McParen/croatoan.git 917 | git https://github.com/Shinmera/crypto-shortcuts.git 918 | git https://github.com/snmsts/cserial-port.git 919 | git https://github.com/paddymul/css-lite.git 920 | git https://github.com/AccelerationNet/css-selectors.git 921 | 922 | git https://github.com/equwal/CSV.git 923 | git https://github.com/sharplispers/csv-parser 924 | 925 | git https://github.com/s-expressionists/ctype.git 926 | git https://git.mfiano.net/mfiano/cubic-bezier.git 927 | git https://github.com/shamazmazum/cue-parser.git 928 | git https://github.com/mpasternacki/curly.git 929 | git https://github.com/eschulte/curry-compose-reader-macros.git 930 | git https://github.com/elbeno/curve.git 931 | git https://github.com/sharplispers/cxml.git 932 | 933 | git http://www.lichteblau.com/git/cxml-rng.git 934 | 935 | git https://github.com/antifuchs/cxml-rpc.git 936 | 937 | git https://github.com/sharplispers/cxml-stp.git 938 | 939 | git https://github.com/yitzchak/cytoscape-clj.git 940 | git https://github.com/snmsts/daemon.git 941 | git https://github.com/phoe/damn-fast-priority-queue.git 942 | branched-git http://github.com/deterministic-arts/DartsCLEmailAddress.git quicklisp-release 943 | git https://github.com/deterministic-arts/DartsCLHashTree.git 944 | git https://github.com/deterministic-arts/DartsCLMessagePack.git 945 | git https://github.com/deterministic-arts/DartsCLSequenceMetrics.git 946 | git https://github.com/deterministic-arts/DartsCLTools.git 947 | git https://github.com/deterministic-arts/DartsCLUUID.git 948 | git https://github.com/Lisp-Stat/data-frame.git 949 | git https://github.com/fiddlerwoaroof/data-lens.git 950 | git https://github.com/archimag/data-sift.git 951 | git https://github.com/AccelerationNet/data-table.git 952 | git https://github.com/madnificent/database-migrations.git 953 | git https://github.com/fukamachi/datafly.git 954 | git https://github.com/guicho271828/dataloader.git 955 | git https://github.com/defaultxr/datamuse.git 956 | git https://github.com/ruricolist/date-calc.git 957 | git https://github.com/tgbugs/datum-comments.git 958 | git https://github.com/death/dbus.git 959 | git https://github.com/lisp/de.setf.wilbur.git 960 | https https://www.lrde.epita.fr/~didier/software/lisp/declt/latest.tar.gz 961 | 962 | git https://github.com/Shinmera/deeds.git 963 | git https://github.com/EuAndreh/defclass-std.git 964 | git https://github.com/szos/defconfig.git 965 | git http://git.code.sf.net/p/defenum/code 966 | git https://github.com/Shinmera/deferred.git 967 | git https://github.com/ejbs/define-json-expander.git 968 | git https://gitlab.common-lisp.net/definer/definer.git 969 | git https://github.com/Shinmera/definitions.git 970 | https https://tarballs.hexstreamsoft.com/libraries/latest/definitions-systems_latest.tar.gz 971 | git https://github.com/pmai/Deflate.git 972 | git https://github.com/40ants/defmain.git 973 | git https://github.com/orivej/defmemo.git 974 | git https://github.com/rpav/defpackage-plus.git 975 | mercurial https://bitbucket.org/tarballs_are_good/defrec 976 | git https://github.com/bonkzwonil/defrest.git 977 | git https://bitbucket.org/eeeickythump/defstar.git 978 | darcs http://common-lisp.net/project/cl-containers/defsystem-compatibility/ 979 | git https://github.com/fredokun/defvariant.git 980 | git https://github.com/cddr/delorean.git 981 | git https://github.com/eschulte/delta-debug.git 982 | branched-git https://github.com/cbaggers/dendrite.git release-quicklisp 983 | git https://github.com/keithj/deoxybyte-gzip.git 984 | git https://github.com/keithj/deoxybyte-io.git 985 | git https://github.com/keithj/deoxybyte-systems.git 986 | git https://github.com/keithj/deoxybyte-unix.git 987 | git https://github.com/keithj/deoxybyte-utilities.git 988 | git https://github.com/Shinmera/deploy.git 989 | git https://github.com/shinmera/depot.git 990 | git https://github.com/mmontone/descriptions.git 991 | git https://github.com/phoe/destructuring-bind-star.git 992 | git https://github.com/fukamachi/dexador.git 993 | git https://github.com/Lisp-Stat/dfio.git 994 | git https://github.com/sharplispers/diff.git 995 | git https://github.com/agrostis/diff-match-patch.git 996 | branched-git https://github.com/cbaggers/dirt.git release-quicklisp 997 | git https://github.com/cbaggers/disposable.git 998 | git https://github.com/Shinmera/dissect.git 999 | git https://github.com/mmontone/djula.git 1000 | git https://github.com/krzysz00/dlist.git 1001 | git https://github.com/cuichaox/dml.git 1002 | git https://github.com/Shinmera/dns-client.git 1003 | git https://github.com/drdo/do-urlencode.git 1004 | git https://github.com/40ants/doc.git 1005 | git https://github.com/lokedhs/docbrowser.git 1006 | 1007 | git https://github.com/eudoxia0/docparser.git 1008 | git https://github.com/40ants/docs-builder.git 1009 | ediware-http documentation-template 1010 | git https://github.com/Shinmera/documentation-utils.git 1011 | git https://github.com/sirherrbatka/documentation-utils-extensions.git 1012 | git https://github.com/tkych/donuts.git 1013 | latest-github-release https://github.com/alessiostalla/doplus.git 1014 | latest-github-release https://github.com/edicl/drakma.git 1015 | git https://github.com/orthecreedence/drakma-async.git 1016 | git https://github.com/cbaggers/draw-cons-tree.git 1017 | https https://download.fugue88.ws/lex/dso-lex-0.3.2.tar.gz 1018 | https https://download.fugue88.ws/util/dso-util-0.1.2.tar.gz 1019 | git https://github.com/danlentz/dstm-collections.git 1020 | git https://github.com/privet-kitty/dufy.git 1021 | git https://github.com/mmontone/duologue.git 1022 | git https://github.com/death/dweet.git 1023 | git https://github.com/Rudolph-Miller/dyna.git 1024 | git https://github.com/gwkkwg/dynamic-classes.git 1025 | mercurial https://bitbucket.org/tarballs_are_good/dynamic-collect 1026 | git https://github.com/rpav/dynamic-mixins.git 1027 | darcs http://common-lisp.net/project/eager-future/repository/eager-future/ 1028 | git https://gitlab.common-lisp.net/vsedach/eager-future2.git 1029 | git https://github.com/vydd/easing.git 1030 | git https://github.com/shamazmazum/easy-audio.git 1031 | git https://github.com/Edraag/Easy-bind.git 1032 | git https://github.com/mmontone/easy-routes.git 1033 | git https://github.com/guicho271828/eazy-documentation.git 1034 | git https://github.com/guicho271828/eazy-gnuplot.git 1035 | git https://github.com/guicho271828/eazy-opencl.git 1036 | git https://github.com/guicho271828/eazy-process.git 1037 | git https://github.com/guicho271828/eazy-project.git 1038 | git https://github.com/nikodemus/ec2.git 1039 | git https://github.com/chaitanyagupta/ec2-price-finder.git 1040 | git https://github.com/s-expressionists/Ecclesia.git 1041 | git https://github.com/robert-strandh/eclector.git 1042 | git https://github.com/eudoxia0/eco.git 1043 | git https://github.com/Rudolph-Miller/elb-log.git 1044 | git https://github.com/ceramic/electron-tools.git 1045 | git https://github.com/eschulte/elf.git 1046 | https https://tarballs.hexstreamsoft.com/libraries/latest/enhanced-boolean_latest.tar.gz 1047 | https https://tarballs.hexstreamsoft.com/libraries/latest/enhanced-defclass_latest.tar.gz 1048 | https https://tarballs.hexstreamsoft.com/libraries/latest/enhanced-eval-when_latest.tar.gz 1049 | https https://tarballs.hexstreamsoft.com/libraries/latest/enhanced-find-class_latest.tar.gz 1050 | https https://tarballs.hexstreamsoft.com/libraries/latest/enhanced-multiple-value-bind_latest.tar.gz 1051 | https https://tarballs.hexstreamsoft.com/libraries/latest/enhanced-typep_latest.tar.gz 1052 | git https://github.com/fukamachi/envy.git 1053 | git https://github.com/adlai/Eos.git 1054 | git https://github.com/slyrus/epigraph.git 1055 | git https://github.com/csziacobus/equals.git 1056 | git https://github.com/nlamirault/ernestine.git 1057 | git https://github.com/mmontone/erudite.git 1058 | git https://bitbucket.org/elliottslaughter/escalator 1059 | git https://github.com/scymtym/esrap.git 1060 | git https://github.com/mabragor/esrap-liquid.git 1061 | git https://github.com/fb08af68/esrap-peg.git 1062 | https https://tarballs.hexstreamsoft.com/libraries/latest/evaled-when_latest.tar.gz 1063 | git https://github.com/fukamachi/event-emitter.git 1064 | git https://github.com/orthecreedence/event-glue.git 1065 | git https://github.com/noloop/eventbus.git 1066 | git https://github.com/deadtrickster/eventfd.git 1067 | git https://github.com/phoe/everblocking-stream.git 1068 | git https://github.com/e-user/evol.git 1069 | git https://github.com/ailisp/exit-hooks.git 1070 | git https://github.com/death/exponential-backoff.git 1071 | git https://gitlab.common-lisp.net/frideau/exscribe.git 1072 | git https://github.com/kevinlynx/ext-blog.git 1073 | git https://github.com/tpapp/extended-reals.git 1074 | git https://github.com/sellout/external-program.git 1075 | git https://github.com/phoe/external-symbol-not-found.git 1076 | git https://gitlab.common-lisp.net/bpm/f-underscore.git 1077 | git https://gitlab.common-lisp.net/f2cl/f2cl.git 1078 | git https://github.com/inaimathi/fact-base.git 1079 | https https://tarballs.hexstreamsoft.com/libraries/latest/fakenil_latest.tar.gz 1080 | git https://gitlab.common-lisp.net/frideau/fare-csv.git 1081 | git https://gitlab.common-lisp.net/frideau/fare-memoization.git 1082 | git https://gitlab.common-lisp.net/frideau/fare-mop.git 1083 | git https://gitlab.common-lisp.net/frideau/fare-quasiquote.git 1084 | git https://github.com/fare/fare-scripts.git 1085 | git https://gitlab.common-lisp.net/frideau/fare-utils.git 1086 | git https://github.com/marcoheisig/fast-generic-functions.git 1087 | git https://github.com/fukamachi/fast-http.git 1088 | git https://github.com/rpav/fast-io.git 1089 | git https://github.com/fukamachi/fast-websocket.git 1090 | git https://github.com/shinmera/feeder.git 1091 | git git://git.savannah.nongnu.org/femlisp.git 1092 | git https://github.com/tpapp/ffa.git 1093 | git https://github.com/nklein/FFT.git 1094 | git https://github.com/capitaomorte/fiasco.git 1095 | git https://github.com/Shinmera/file-attributes.git 1096 | git https://github.com/guicho271828/file-local-variable.git 1097 | git https://github.com/shinmera/file-notify.git 1098 | git https://github.com/Shinmera/file-select.git 1099 | git https://github.com/eugeneia/file-types.git 1100 | git https://github.com/pcostanza/filtered-functions.git 1101 | 1102 | git https://github.com/eudoxia0/find-port.git 1103 | git https://github.com/html/firephp.git 1104 | https https://tarballs.hexstreamsoft.com/libraries/latest/first-time-value_latest.tar.gz 1105 | git https://github.com/lispci/fiveam.git 1106 | git https://github.com/rpgoldman/fiveam-asdf.git 1107 | git https://github.com/npatrick04/fixed.git 1108 | git https://git.mfiano.net/mfiano/flac-metadata.git 1109 | git https://github.com/Shinmera/flare.git 1110 | ediware-http flexi-streams 1111 | git https://github.com/robert-strandh/Flexichain.git 1112 | git https://github.com/Shinmera/float-features.git 1113 | git https://github.com/OdonataResearchLLC/floating-point.git 1114 | git https://github.com/ruricolist/floating-point-contractions.git 1115 | git https://github.com/Shinmera/flow.git 1116 | git https://github.com/ailisp/flute.git 1117 | git https://github.com/mmontone/fmt.git 1118 | git https://github.com/cbaggers/fn.git 1119 | git https://github.com/didierverna/focus.git 1120 | git https://gitlab.com/ambrevar/fof.git 1121 | git https://github.com/mikelevins/folio.git 1122 | git https://github.com/mikelevins/folio2.git 1123 | git https://github.com/shinmera/font-discovery.git 1124 | git https://github.com/Shinmera/for.git 1125 | git https://github.com/Shinmera/form-fiddle.git 1126 | git https://github.com/fiddlerwoaroof/format-string-builder.git 1127 | git https://github.com/Inaimathi/formlets.git 1128 | git https://github.com/plkrueger/CommonLispFred.git 1129 | git https://github.com/shamazmazum/freebsd-sysctl.git 1130 | git https://github.com/ntrocado/freesound.git 1131 | git https://gitlab.com/GrammaTech/Mnemosyne/fresnel.git 1132 | git https://github.com/FungusHumungus/froute.git 1133 | git https://github.com/fjames86/frpc.git 1134 | git https://github.com/Ralt/fs-watcher.git 1135 | git https://github.com/slburson/fset.git 1136 | git https://github.com/melisgl/fsvd.git 1137 | latest-github-release https://github.com/monoid/fucc.git 1138 | git https://github.com/AccelerationNet/function-cache.git 1139 | git https://github.com/GordianNaught/Function-Literal.git 1140 | git https://github.com/GrammaTech/functional-trees.git 1141 | git https://github.com/charJe/funds.git 1142 | git https://github.com/vindarel/fuzzy-match.git 1143 | git https://github.com/ruricolist/FXML.git 1144 | git https://github.com/BnMcGn/gadgets.git 1145 | git https://github.com/archimag/garbage-pools.git 1146 | 1147 | 1148 | git https://github.com/death/gcm.git 1149 | git https://github.com/gpwwjr/GECO.git 1150 | branched-git https://gitlab.common-lisp.net/gendl/gendl.git master 1151 | git https://github.com/AccelerationNet/generators.git 1152 | git https://github.com/alex-gutev/generic-cl.git 1153 | git https://github.com/pnathan/generic-comparability.git 1154 | git https://github.com/dsorokin/generic-sequences.git 1155 | git https://github.com/inters/geneva.git 1156 | git https://github.com/pnathan/genhash.git 1157 | git https://github.com/mgi/geodesic.git 1158 | git https://github.com/mgi/geowkt.git 1159 | kmr-git getopt 1160 | git https://github.com/rotatef/gettext.git 1161 | git https://github.com/eudoxia0/git-file-history.git 1162 | git https://github.com/compufox/glacier.git 1163 | tagged-git https://github.com/borodust/glad-blob.git stable 1164 | git https://github.com/fjames86/glass.git 1165 | git https://github.com/patzy/glaw.git 1166 | tagged-git https://github.com/borodust/glfw-blob.git stable 1167 | git https://github.com/tamamu/glisph.git 1168 | git https://github.com/lispgames/glkit.git 1169 | git https://github.com/lmj/global-vars.git 1170 | git https://github.com/lispgames/glop.git 1171 | git https://github.com/3b/glsl-packing.git 1172 | branched-git https://github.com/cbaggers/glsl-spec.git release-quicklisp 1173 | git https://github.com/Shirakumo/glsl-toolkit.git 1174 | git https://github.com/orthecreedence/glu-tessellate.git 1175 | git https://github.com/ahungry/glyphs.git 1176 | git https://git.mfiano.net/mfiano/golden-utils.git 1177 | git https://github.com/markasoftware/gooptest.git 1178 | git https://github.com/sgarciac/gordon.git 1179 | 1180 | git https://github.com/eschulte/graph.git 1181 | git https://github.com/e-user/graylex.git 1182 | git https://github.com/thezerobit/green-threads.git 1183 | git https://github.com/AccelerationNet/group-by.git 1184 | git https://github.com/cbaggers/grovel-locally.git 1185 | git https://gitlab.common-lisp.net/gsharp/gsharp.git 1186 | branched-git https://gitlab.common-lisp.net/antik/gsll.git quicklisp 1187 | 1188 | 1189 | branched-git https://github.com/grammatech/gtirb.git quicklisp 1190 | git https://github.com/grammatech/gtirb-capstone.git 1191 | git https://github.com/grammatech/gtirb-functions.git 1192 | branched-git https://github.com/stacksmith/gtk-tagged-streams.git quicklisp 1193 | git https://github.com/cbeo/gtwiwtg.git 1194 | git https://github.com/numcl/gtype.git 1195 | git https://github.com/genelkim/gute.git 1196 | https https://common-lisp.net/project/gzip-stream/files/gzip-stream_latest.tgz 1197 | git https://github.com/Shinmera/halftone.git 1198 | git https://github.com/Shirakumo/harmony.git 1199 | git https://github.com/samebchase/hash-set.git 1200 | git https://github.com/hyotang666/hash-table-ext.git 1201 | git https://github.com/DanielKeogh/hashtrie.git 1202 | git https://github.com/HDFGroup/hdf5-cffi.git 1203 | git https://github.com/massung/heap.git 1204 | git git://git.code.sf.net/p/helambdap/code 1205 | git https://github.com/bluelisp/hemlock.git 1206 | git https://github.com/eudoxia0/hermetic.git 1207 | git https://github.com/HenryS1/herodotus.git 1208 | git https://github.com/hargettp/hh-aws.git 1209 | git https://github.com/hargettp/hh-redblack.git 1210 | git https://github.com/hargettp/hh-web.git 1211 | git https://github.com/MartinEnders/hl7-client.git 1212 | git https://github.com/MartinEnders/hl7-parser.git 1213 | git https://github.com/ruricolist/horner.git 1214 | git https://gitlab.com/ralt/horse-html.git 1215 | git https://github.com/inaimathi/house.git 1216 | https https://common-lisp.net/project/ht-ajax/files/ht-ajax.tar.gz 1217 | git https://github.com/martin-loetzsch/ht-simple-ajax.git 1218 | http http://beta.quicklisp.org/orphans/html-encode-1.2.tgz 1219 | git https://github.com/BnMcGn/html-entities.git 1220 | ediware-http html-template 1221 | git https://github.com/fukamachi/http-body.git 1222 | git https://github.com/michaeljforster/http-get-cache.git 1223 | git https://github.com/orthecreedence/http-parse.git 1224 | tagged-git https://github.com/hu-dwim/hu.dwim.asdf.git stable 1225 | tagged-git https://github.com/hu-dwim/hu.dwim.bluez.git stable 1226 | tagged-git https://github.com/hu-dwim/hu.dwim.common.git stable 1227 | tagged-git https://github.com/hu-dwim/hu.dwim.common-lisp.git stable 1228 | tagged-git https://github.com/hu-dwim/hu.dwim.computed-class.git stable 1229 | tagged-git https://github.com/hu-dwim/hu.dwim.debug.git stable 1230 | tagged-git https://github.com/hu-dwim/hu.dwim.def.git stable 1231 | tagged-git https://github.com/hu-dwim/hu.dwim.defclass-star.git stable 1232 | tagged-git https://github.com/hu-dwim/hu.dwim.delico.git stable 1233 | tagged-git https://github.com/hu-dwim/hu.dwim.graphviz.git stable 1234 | tagged-git https://github.com/hu-dwim/hu.dwim.logger.git stable 1235 | tagged-git https://github.com/hu-dwim/hu.dwim.partial-eval.git stable 1236 | darcs http://dwim.hu/live/hu.dwim.perec/ 1237 | darcs http://dwim.hu/live/hu.dwim.presentation/ 1238 | 1239 | tagged-git https://github.com/hu-dwim/hu.dwim.quasi-quote.git stable 1240 | darcs http://dwim.hu/live/hu.dwim.rdbms/ 1241 | tagged-git https://github.com/hu-dwim/hu.dwim.reiterate.git stable 1242 | tagged-git https://github.com/hu-dwim/hu.dwim.sdl.git stable 1243 | tagged-git https://github.com/hu-dwim/hu.dwim.serializer.git stable 1244 | tagged-git https://github.com/hu-dwim/hu.dwim.stefil.git stable 1245 | tagged-git https://github.com/hu-dwim/hu.dwim.syntax-sugar.git stable 1246 | tagged-git https://github.com/hu-dwim/hu.dwim.uri.git stable 1247 | tagged-git https://github.com/hu-dwim/hu.dwim.util.git stable 1248 | tagged-git https://github.com/hu-dwim/hu.dwim.walker.git stable 1249 | darcs http://dwim.hu/live/hu.dwim.web-server/ 1250 | tagged-git https://github.com/hu-dwim/hu.dwim.zlib.git stable 1251 | git https://github.com/massung/huffman.git 1252 | git https://github.com/Shinmera/humbler.git 1253 | git https://github.com/interactive-ssr/hunchenissr.git 1254 | git https://github.com/interactive-ssr/hunchenissr-routes.git 1255 | git https://github.com/capitaomorte/hunchensocket.git 1256 | git https://github.com/michaeljforster/hunchentools.git 1257 | latest-github-release https://github.com/edicl/hunchentoot.git 1258 | 1259 | 1260 | git https://github.com/slyrus/hunchentoot-auth.git 1261 | git https://github.com/slyrus/hunchentoot-cgi.git 1262 | git https://github.com/mmontone/hunchentoot-errors.git 1263 | git https://github.com/moderninterpreters/hunchentoot-multi-acceptor.git 1264 | git https://github.com/lokedhs/hunchentoot-single-signon.git 1265 | git https://github.com/cosmos72/hyperluminal-mem.git 1266 | kmr-git hyperobject 1267 | git https://github.com/fisxoj/hyperspec.git 1268 | git https://github.com/deadtrickster/ia-hash-table.git 1269 | git https://github.com/Shinmera/iclendar.git 1270 | git https://github.com/fukamachi/id3v2.git 1271 | git https://github.com/antifuchs/idna 1272 | git https://github.com/marijnh/ieee-floats.git 1273 | git https://bitbucket.org/tarballs_are_good/illogical-pathnames.git 1274 | git https://github.com/ailisp/illusion.git 1275 | git https://github.com/kevinlynx/image.git 1276 | git https://github.com/tokenrove/imago.git 1277 | git https://github.com/guicho271828/immutable-struct.git 1278 | git https://github.com/jmbr/incf-cl.git 1279 | https https://tarballs.hexstreamsoft.com/libraries/latest/incognito-keywords_latest.tar.gz 1280 | git https://github.com/pve1/incongruent-methods.git 1281 | git https://gitlab.common-lisp.net/qitab/inferior-shell.git 1282 | git https://github.com/ichimal/infix-dollar-reader.git 1283 | git https://github.com/ruricolist/infix-math.git 1284 | https https://tarballs.hexstreamsoft.com/libraries/latest/inheriting-readers_latest.tar.gz 1285 | git https://github.com/ahungry/injection.git 1286 | git https://github.com/Shinmera/inkwell.git 1287 | git https://github.com/guicho271828/inlined-generic-function.git 1288 | git https://github.com/guicho271828/inner-conditional.git 1289 | git https://github.com/stassats/inotify.git 1290 | git https://github.com/t-sin/inquisitor.git 1291 | git https://github.com/fukamachi/integral.git 1292 | git https://github.com/Rudolph-Miller/integral-rest.git 1293 | git https://github.com/takagi/intel-hex.git 1294 | git https://github.com/madnificent/intercom.git 1295 | mercurial https://bitbucket.org/tarballs_are_good/interface 1296 | git https://github.com/Bike/introspect-environment.git 1297 | latest-github-release https://github.com/sionescu/iolib.git 1298 | https https://common-lisp.net/project/ip-interfaces/releases/ip-interfaces-latest.tar.gz 1299 | kmr-git irc-logger 1300 | latest-github-tag https://github.com/sharplispers/ironclad.git 1301 | git https://gitlab.com/DataLinkDroid/iso-8601-date.git 1302 | branched-git https://gitlab.common-lisp.net/iterate/iterate.git release 1303 | 1304 | https https://common-lisp.net/project/iterate-clsql/releases/iterate-clsql-0.2.tar.gz 1305 | https https://tarballs.hexstreamsoft.com/libraries/latest/its_latest.tar.gz 1306 | git https://github.com/scymtym/jenkins.git 1307 | git https://github.com/hyotang666/jingoh.git 1308 | git https://github.com/Rudolph-Miller/jonathan.git 1309 | git https://github.com/fukamachi/jose.git 1310 | git https://github.com/y2q-actionman/jp-numeral.git 1311 | git https://github.com/shamazmazum/jpeg-turbo.git 1312 | https https://www.thoughtcrime.us/software/jpl-queues/jpl-queues-0.1.tar.gz 1313 | git https://github.com/akapav/js.git 1314 | git https://github.com/gonzojive/js-parser 1315 | git https://github.com/gschjetne/json-mop.git 1316 | mercurial https://bitbucket.org/bradJM/json-responses 1317 | git https://github.com/rotatef/json-streams.git 1318 | git https://github.com/fukamachi/jsonrpc.git 1319 | git https://github.com/madnificent/jsown.git 1320 | git https://github.com/chumsley/jwacs.git 1321 | 1322 | git https://github.com/pocket7878/kebab.git 1323 | git https://github.com/yitzchak/kekule-clj.git 1324 | git https://github.com/gheber/kenzo.git 1325 | git https://github.com/GrammaTech/keystone.git 1326 | git https://github.com/kevinlynx/kl-verify.git 1327 | https https://www.cs.utexas.edu/users/mfkb/km/km-latest.tgz 1328 | kmr-git kmrcl 1329 | git https://github.com/TheRiver/L-MATH.git 1330 | git https://github.com/ebrasca/l-system.git 1331 | git https://gitlab.com/ralt/laap.git 1332 | git https://github.com/fukamachi/lack.git 1333 | git https://github.com/takagi/lake.git 1334 | git https://github.com/Shinmera/lambda-fiddle.git 1335 | git https://gitlab.common-lisp.net/frideau/lambda-reader.git 1336 | git https://github.com/Wukix/LambdaLite.git 1337 | git https://github.com/Shinmera/language-codes.git 1338 | git https://github.com/Shinmera/LASS.git 1339 | git https://github.com/eudoxia0/lass-flexbox.git 1340 | git https://github.com/melisgl/lassie.git 1341 | git https://github.com/mihaiolteanu/lastfm.git 1342 | git https://github.com/tpapp/latex-table.git 1343 | git https://github.com/massung/lazy.git 1344 | git https://github.com/fukamachi/legion.git 1345 | git https://github.com/Shinmera/legit.git 1346 | git https://github.com/sirherrbatka/lense.git 1347 | git https://github.com/thephoeron/let-over-lambda.git 1348 | git https://github.com/sharplispers/let-plus.git 1349 | mercurial https://bitbucket.org/tarballs_are_good/letrec 1350 | git https://github.com/fukamachi/lev.git 1351 | git https://github.com/death/leveldb.git 1352 | http http://abstractnonsense.com/levenshtein-1.0.tgz 1353 | git https://github.com/lmj/lfarm.git 1354 | git https://github.com/mrc/lhstats.git 1355 | 1356 | git https://github.com/antimer/liblmdb.git 1357 | git https://github.com/Shirakumo/lichat-ldap.git 1358 | git https://github.com/Shirakumo/lichat-protocol.git 1359 | git https://github.com/Shirakumo/lichat-serverlib.git 1360 | git https://github.com/Shirakumo/lichat-tcp-client.git 1361 | git https://github.com/Shirakumo/lichat-tcp-server.git 1362 | git https://github.com/Shirakumo/lichat-ws-server.git 1363 | git https://github.com/gwkkwg/lift 1364 | git https://github.com/codr7/lila.git 1365 | git https://github.com/eudoxia0/lime.git 1366 | git https://github.com/neil-lindquist/linear-programming.git 1367 | git https://github.com/neil-lindquist/linear-programming-glpk.git 1368 | git https://github.com/sharplispers/linedit.git 1369 | git https://github.com/agrostis/linewise-template.git 1370 | git https://gitlab.com/ralt/linux-packaging.git 1371 | git https://github.com/Shirakumo/lionchat.git 1372 | git https://github.com/johanlindberg/lisa.git 1373 | git https://github.com/heegaiximephoomeeghahyaiseekh/lisp-binary.git 1374 | git https://github.com/ryukinix/lisp-chat.git 1375 | git https://github.com/g000001/lisp-critic.git 1376 | git https://github.com/markcox80/lisp-executable.git 1377 | git https://github.com/brown/lisp-gflags.git 1378 | git https://github.com/fare/lisp-interface-library.git 1379 | git https://gitlab.common-lisp.net/qitab/lisp-invocation.git 1380 | http http://www.nil.at/download/lisp-magick.tar.gz 1381 | git https://github.com/guicho271828/lisp-namespace.git 1382 | git https://github.com/cxxxr/lisp-preprocessor.git 1383 | git https://github.com/Lisp-Stat/lisp-stat.git 1384 | git https://github.com/OdonataResearchLLC/lisp-unit.git 1385 | 1386 | git https://github.com/AccelerationNet/lisp-unit2.git 1387 | git https://github.com/galdor/lisp-zmq.git 1388 | git https://github.com/lispbuilder/lispbuilder.git 1389 | 1390 | 1391 | git https://github.com/lispcord/lispcord.git 1392 | git https://github.com/mare5x/LispQR.git 1393 | git https://github.com/phoe/list-named-class.git 1394 | git https://github.com/blindglobe/listoflist.git 1395 | git https://github.com/Dimercel/listopia.git 1396 | git https://github.com/jingtaozf/literate-lisp.git 1397 | git https://github.com/stefandevai/litterae.git 1398 | branched-git https://github.com/cbaggers/livesupport.git release-quicklisp 1399 | git https://github.com/tpapp/lla.git 1400 | git https://github.com/antimer/lmdb.git 1401 | kmr-git lml 1402 | kmr-git lml2 1403 | git https://github.com/avodonosov/local-package-aliases.git 1404 | git https://github.com/dlowe-net/local-time.git 1405 | git https://github.com/enaeher/local-time-duration.git 1406 | git https://github.com/sharplispers/log4cl.git 1407 | git https://github.com/7max/log4cl.git 1408 | git https://github.com/40ants/log4cl-extras.git 1409 | git https://github.com/sharplispers/log5.git 1410 | git https://github.com/phoe/lorem-ipsum.git 1411 | git https://github.com/chfin/lowlight.git 1412 | git https://github.com/lmj/lparallel.git 1413 | git https://github.com/Shinmera/lquery.git 1414 | git https://github.com/death/lredis 1415 | git https://github.com/fukamachi/lsx.git 1416 | git https://github.com/herth/ltk.git 1417 | 1418 | git https://github.com/eudoxia0/lucerne.git 1419 | git https://github.com/pcostanza/lw-compat.git 1420 | git https://github.com/mihaiolteanu/lyrics.git 1421 | git https://github.com/eugeneia/macro-html.git 1422 | https https://tarballs.hexstreamsoft.com/libraries/latest/macro-level_latest.tar.gz 1423 | git https://github.com/DalekBaldwin/macrodynamics.git 1424 | single-file http://john.freml.in/static-blog/macroexpand-dammit/macroexpand-dammit.lisp 1425 | 1426 | git https://github.com/nikodemus/madeira-port.git 1427 | git https://github.com/sanel/magic-ed.git 1428 | git https://github.com/guicho271828/magicffi.git 1429 | latest-github-release https://github.com/rigetti/magicl.git 1430 | git https://github.com/Shirakumo/maiden.git 1431 | git https://github.com/drurowin/mailbox.git 1432 | git https://github.com/40ants/mailgun.git 1433 | git https://github.com/genovese/make-hash.git 1434 | git https://github.com/gigamonkey/manifest.git 1435 | https https://tarballs.hexstreamsoft.com/libraries/latest/map-bind_latest.tar.gz 1436 | mercurial https://bitbucket.org/tarballs_are_good/map-set 1437 | git https://github.com/takagi/marching-cubes.git 1438 | git https://github.com/orthecreedence/markdown.cl.git 1439 | git https://github.com/moderninterpreters/markup.git 1440 | git https://github.com/kaiserprogrammer/marshal.git 1441 | git https://github.com/mnasoft/math.git 1442 | git https://github.com/lispgames/mathkit.git 1443 | git https://github.com/hyotang666/matrix-case.git 1444 | git https://github.com/eugeneia/maxpc.git 1445 | git https://github.com/g000001/mbe.git 1446 | git https://github.com/hyotang666/mcase.git 1447 | git https://github.com/mcclim/mcclim 1448 | git https://github.com/pmai/md5.git 1449 | git https://github.com/ruricolist/media-types.git 1450 | git https://github.com/neonsquare/mel-base.git 1451 | 1452 | single-file http://beta.quicklisp.org/orphans/tfeb/memoize.lisp 1453 | single-file http://www.tfeb.org/programs/lisp/memoize.lisp 1454 | git https://github.com/Kalimehtar/message-oo.git 1455 | git https://github.com/Shinmera/messagebox.git 1456 | git https://gitlab.common-lisp.net/frideau/meta.git 1457 | git https://github.com/vy/meta-sexp.git 1458 | git https://github.com/gwkkwg/metabang-bind 1459 | darcs http://dwim.hu/live/metacopy/ 1460 | 1461 | 1462 | git https://github.com/K1D77A/metalock.git 1463 | git https://github.com/hipeta/metap.git 1464 | git https://github.com/gwkkwg/metatilities.git 1465 | git https://github.com/gwkkwg/metatilities-base.git 1466 | git https://gitlab.common-lisp.net/dkochmanski/metering.git 1467 | git https://github.com/sellout/method-combination-utilities.git 1468 | git https://github.com/Gnuxie/method-hooks.git 1469 | http http://nklein.com/wp-content/uploads/2011/05/method-versions_0.1.2011.05.18.tar.gz 1470 | git https://github.com/tmccombs/mexpr.git 1471 | git https://github.com/melisgl/mgl-pax.git 1472 | git https://github.com/glv2/mgrs.git 1473 | git https://github.com/melisgl/micmac.git 1474 | http http://www.doc.gold.ac.uk/isms/lisp/midi/midi-20070618.tar.gz 1475 | git https://github.com/hyotang666/millet.git 1476 | git https://github.com/sfrank/minheap.git 1477 | git http://git.tentpost.com/git/lisp/mini-cas.git 1478 | git https://github.com/gmasching/minilem.git 1479 | git https://gitlab.common-lisp.net/misc-extensions/devel.git 1480 | git https://github.com/fukamachi/mito.git 1481 | git https://github.com/fukamachi/mito-attachment.git 1482 | git https://github.com/fukamachi/mito-auth.git 1483 | git https://github.com/ahefner/mixalot.git 1484 | git https://github.com/cbaggers/mk-string-metrics.git 1485 | git https://github.com/Shinmera/mmap.git 1486 | git https://github.com/mnasoft/mnas-graph.git 1487 | git https://github.com/mnasoft/mnas-hash-table.git 1488 | git https://github.com/mnasoft/mnas-package.git 1489 | git https://github.com/mnasoft/mnas-path.git 1490 | git https://github.com/mnasoft/mnas-string.git 1491 | git https://github.com/Chream/mockingbird.git 1492 | git https://github.com/tormaroe/modest-config.git 1493 | git https://github.com/smithzvk/modf.git 1494 | git https://github.com/smithzvk/modf-fset.git 1495 | git https://github.com/Shinmera/modularize.git 1496 | git https://github.com/Shinmera/modularize-hooks.git 1497 | git https://github.com/Shinmera/modularize-interfaces.git 1498 | git https://github.com/ruricolist/moira.git 1499 | git https://github.com/gigamonkey/monkeylib-binary-data.git 1500 | git https://github.com/gigamonkey/monkeylib-html.git 1501 | git https://github.com/gigamonkey/monkeylib-json.git 1502 | git https://github.com/gigamonkey/monkeylib-macro-utilities.git 1503 | git https://github.com/gigamonkey/monkeylib-markup.git 1504 | git https://github.com/gigamonkey/monkeylib-markup-html.git 1505 | git https://github.com/gigamonkey/monkeylib-parser.git 1506 | git https://github.com/gigamonkey/monkeylib-pathnames.git 1507 | git https://github.com/gigamonkey/monkeylib-prose-diff.git 1508 | git https://github.com/gigamonkey/monkeylib-test-framework.git 1509 | git https://github.com/gigamonkey/monkeylib-text-languages.git 1510 | git https://github.com/gigamonkey/monkeylib-text-output.git 1511 | git https://github.com/gigamonkey/monkeylib-utilities.git 1512 | git https://gitlab.com/smaller-infinity/monomyth.git 1513 | git https://github.com/sharplispers/montezuma.git 1514 | https https://common-lisp.net/project/submarine/mop-utils.tar.gz 1515 | git https://github.com/gwkkwg/moptilities.git 1516 | git https://github.com/scymtym/more-conditions.git 1517 | git https://github.com/fukamachi/mp3-duration.git 1518 | git https://github.com/eugeneia/mpc.git 1519 | git https://github.com/shamazmazum/mra-wavelet-plot.git 1520 | https https://common-lisp.net/project/asdf-packaging/mt19937-latest.tar.gz 1521 | git https://github.com/rmhsilva/mtif.git 1522 | git https://github.com/mtravers/mtlisp.git 1523 | git https://github.com/Shinmera/multilang-documentation.git 1524 | https https://tarballs.hexstreamsoft.com/libraries/latest/multiple-value-variants_latest.tar.gz 1525 | git https://github.com/Shinmera/multiposter.git 1526 | git https://github.com/fukamachi/multival-plist.git 1527 | git https://github.com/defaultxr/mutility.git 1528 | http http://www.foldr.org/~michaelw/projects/mw-equiv/mw-equiv.tar.gz 1529 | git https://github.com/roswell/mystic.git 1530 | git https://github.com/fukamachi/myway.git 1531 | git https://github.com/troydm/myweb.git 1532 | git https://github.com/williamyaoh/named-read-macros.git 1533 | git https://github.com/melisgl/named-readtables.git 1534 | tagged-git https://github.com/borodust/nanovg-blob.git stable 1535 | git https://github.com/pkhuong/Napa-FFT3.git 1536 | git https://github.com/jpcima/narrowed-types.git 1537 | git https://gitlab.com/ralt/nbd.git 1538 | git https://github.com/equill/neo4cl.git 1539 | http http://ftp.linux.org.uk/pub/lisp/cclan/net-telent-date.tar.gz 1540 | git https://github.com/ralt/network-addresses.git 1541 | git https://github.com/shamazmazum/neural-classifier.git 1542 | git https://gitlab.common-lisp.net/new-op/new-op.git 1543 | git https://github.com/sharplispers/nibbles.git 1544 | branched-git https://github.com/cbaggers/nineveh.git release-quicklisp 1545 | git https://github.com/fukamachi/ningle.git 1546 | git https://notabug.org/cage/nodgui.git 1547 | git http://github.com/Shinmera/north.git 1548 | git https://github.com/jschatzer/nsort.git 1549 | git https://github.com/slyrus/nuclblog.git 1550 | 1551 | tagged-git https://github.com/borodust/nuklear-blob.git stable 1552 | tagged-git https://github.com/borodust/nuklear-renderer-blob.git stable 1553 | git https://github.com/hyotang666/null-package.git 1554 | git https://github.com/numcl/numcl.git 1555 | git https://github.com/Lisp-Stat/numerical-utilities.git 1556 | git https://github.com/marcoheisig/numpy-file-format.git 1557 | git https://github.com/jasom/nyaml.git 1558 | git https://github.com/atlas-engineer/nyxt.git 1559 | https https://tarballs.hexstreamsoft.com/libraries/latest/object-class_latest.tar.gz 1560 | git https://github.com/gos-k/oclcl.git 1561 | tagged-git https://github.com/borodust/ode-blob.git stable 1562 | git https://github.com/mtstickney/oe-encode.git 1563 | git https://gitlab.com/DataLinkDroid/omer-count.git 1564 | git https://github.com/hemml/OMGlib.git 1565 | git https://github.com/mck-/oneliner.git 1566 | git https://gitlab.common-lisp.net/ook/ook.git 1567 | git https://github.com/rmhsilva/oook.git 1568 | git https://github.com/ralph-schleicher/open-location-code.git 1569 | git https://github.com/mck-/Open-VRP.git 1570 | tagged-git https://github.com/borodust/openal-blob.git stable 1571 | git https://github.com/kkazuo/openid-key.git 1572 | git https://github.com/sharplispers/ops5.git 1573 | git https://github.com/slyrus/opticl.git 1574 | git https://github.com/slyrus/opticl-core.git 1575 | git https://github.com/m2ym/optima.git 1576 | git https://github.com/davep/org-davep-dict.git 1577 | git https://github.com/davep/org-davep-dictrepl.git 1578 | http http://nst.maraist.org/download/org-sampler-latest.tar.gz 1579 | git https://git.mfiano.net/mfiano/origin.git 1580 | git https://notabug.org/cage/orizuru-orm.git 1581 | git https://github.com/zzkt/osc.git 1582 | git https://github.com/osicat/osicat.git 1583 | git https://git.theta.eu.org/eta/osmpbf.git 1584 | git https://github.com/ruricolist/overlord.git 1585 | git https://github.com/Shinmera/oxenfurt.git 1586 | git https://github.com/soemraws/pack.git 1587 | git https://gitlab.common-lisp.net/frideau/package-renaming.git 1588 | git https://github.com/fjames86/packet.git 1589 | git https://github.com/mets634/packet-crafting.git 1590 | git https://github.com/quek/paiprolog 1591 | git https://gitlab.common-lisp.net/pal/pal.git 1592 | git https://github.com/CommonDoc/pandocl.git 1593 | git https://github.com/Shinmera/pango-markup.git 1594 | git https://github.com/asciian/papyrus.git 1595 | git https://github.com/Shinmera/parachute.git 1596 | mercurial https://bitbucket.org/tarballs_are_good/parameterized-function 1597 | git https://github.com/gonzojive/paren-files 1598 | git https://github.com/gonzojive/paren-test.git 1599 | git https://github.com/gonzojive/paren-util 1600 | git https://github.com/BnMcGn/paren6.git 1601 | git https://github.com/CommonDoc/parenml.git 1602 | https https://common-lisp.net/project/parenscript/release/parenscript-latest.tgz 1603 | darcs http://darcs.unknownlamer.org/parenscript-classic 1604 | git https://github.com/massung/parse.git 1605 | git https://gitlab.common-lisp.net/parse-declarations/parse-declarations.git 1606 | git https://github.com/soemraws/parse-float.git 1607 | git https://github.com/eudoxia0/parse-front-matter.git 1608 | git https://github.com/marijnh/parse-js.git 1609 | 1610 | latest-github-release https://github.com/sharplispers/parse-number.git 1611 | https https://tarballs.hexstreamsoft.com/libraries/latest/parse-number-range_latest.tar.gz 1612 | git https://github.com/VincentToups/parseltongue.git 1613 | git https://github.com/mrossini-ethz/parseq.git 1614 | git https://github.com/scymtym/parser.common-rules.git 1615 | git https://github.com/scymtym/parser.ini.git 1616 | git https://git.mfiano.net/mfiano/parsley.git 1617 | git https://git.sr.ht/~shunter/parsnip 1618 | git https://git.mfiano.net/mfiano/patchwork.git 1619 | git https://github.com/eudoxia0/path-parse.git 1620 | git https://github.com/wemeetagain/path-string.git 1621 | git https://github.com/Shinmera/pathname-utils.git 1622 | git https://github.com/vy/patron.git 1623 | https https://marijnhaverbeke.nl/pcall/pcall.tgz 1624 | git https://github.com/llibra/percent-encoding.git 1625 | git https://github.com/shamazmazum/perceptual-hashes.git 1626 | https https://common-lisp.net/project/chemboy/periodic-table-latest.tar.gz 1627 | git https://github.com/jwiegley/periods.git 1628 | git https://github.com/jschatzer/perlre.git 1629 | git https://github.com/VincentToups/persistent-tables.git 1630 | git https://github.com/WarrenWilkinson/persistent-variables.git 1631 | git https://github.com/marcoheisig/Petalisp.git 1632 | git https://github.com/ichimal/petit.package-utils.git 1633 | git https://github.com/ichimal/petit.string-utils.git 1634 | git https://github.com/phoe/petri.git 1635 | git https://github.com/austinhaas/pettomato-deque.git 1636 | git https://github.com/austinhaas/pettomato-indexed-priority-queue.git 1637 | git https://gitlab.common-lisp.net/pg/pg.git 1638 | latest-github-release https://github.com/dimitri/pgloader.git 1639 | 1640 | 1641 | git https://github.com/phoe/phoe-toolbox.git 1642 | git https://github.com/mrossini-ethz/physical-quantities.git 1643 | git https://github.com/anlsh/picl.git 1644 | git https://gitlab.com/ediethelm/piggyback-parameters.git 1645 | git https://github.com/nikodemus/pileup 1646 | kmr-git pipes 1647 | git https://github.com/Shinmera/piping.git 1648 | git https://github.com/frodef/pithy-xml.git 1649 | git https://github.com/Zulu-Inuoe/pjlink.git 1650 | git https://github.com/jschatzer/pkg-doc.git 1651 | https https://tarballs.hexstreamsoft.com/libraries/latest/place-modifiers_latest.tar.gz 1652 | https https://tarballs.hexstreamsoft.com/libraries/latest/place-utils_latest.tar.gz 1653 | git https://github.com/hjudt/plain-odbc.git 1654 | git https://github.com/drewc/planks 1655 | 1656 | git https://github.com/sharplispers/xpath.git 1657 | 1658 | git https://github.com/atomontage/plokami.git 1659 | 1660 | git https://github.com/Lisp-Stat/plot.git 1661 | git https://github.com/jorams/pludeck.git 1662 | git https://github.com/Shinmera/plump.git 1663 | git https://github.com/Shinmera/plump-bundle.git 1664 | git https://github.com/Shinmera/plump-sexp.git 1665 | git https://github.com/Shinmera/plump-tex.git 1666 | git https://github.com/Ramarren/png-read.git 1667 | git https://git.mfiano.net/mfiano/pngload.git 1668 | git https://github.com/carrotflakes/poler.git 1669 | git https://github.com/stylewarning/policy-cond.git 1670 | git https://github.com/mrcdr/polisher.git 1671 | git https://github.com/quasi/pooler.git 1672 | git https://github.com/phoe/portable-condition-system.git 1673 | git https://github.com/binghe/portable-threads.git 1674 | git git://git.code.sf.net/p/portableaserve/git 1675 | git https://github.com/charJe/portal.git 1676 | https https://tarballs.hexstreamsoft.com/libraries/latest/positional-lambda_latest.tar.gz 1677 | git https://github.com/marijnh/Postmodern.git 1678 | git https://github.com/radisb/postmodern-localtime.git 1679 | git https://github.com/michaeljforster/postmodernity.git 1680 | kmr-git postoffice 1681 | git https://github.com/fjames86/pounds.git 1682 | git https://github.com/pnathan/pp-toml.git 1683 | git https://github.com/fourier/ppath.git 1684 | git https://github.com/snmsts/practical-cl.git 1685 | git https://github.com/jlowder/prbs.git 1686 | git https://github.com/sharplispers/prepl.git 1687 | 1688 | git https://github.com/nallen05/pretty-function.git 1689 | git https://github.com/AaronChen0/primecount.git 1690 | git https://github.com/oruppert/print-html.git 1691 | git https://github.com/vindarel/print-licenses.git 1692 | git https://github.com/danlentz/printv.git 1693 | git https://github.com/dsorokin/priority-queue.git 1694 | git https://github.com/fukamachi/proc-parse.git 1695 | branched-git https://github.com/projectured/projectured.git quicklisp 1696 | 1697 | git https://github.com/deadtrickster/prometheus.cl.git 1698 | git https://github.com/shinmera/promise.git 1699 | git https://github.com/hyotang666/prompt-for.git 1700 | git https://github.com/phoe/protest.git 1701 | git https://github.com/brown/protobuf.git 1702 | git https://github.com/fukamachi/prove.git 1703 | git https://github.com/phoe-krk/pseudonyms.git 1704 | https https://common-lisp.net/project/asdf-packaging/psgraph-latest.tar.gz 1705 | git https://github.com/fukamachi/psychiq.git 1706 | kmr-git ptester 1707 | kmr-git puri 1708 | git https://github.com/eugeneia/purl.git 1709 | git https://gitlab.com/ralt/pvars.git 1710 | svn https://svn.common-lisp.net/py-configparser/trunk 1711 | git https://github.com/arbscht/py-configvalidator.git 1712 | git https://gitorious.org/py-configvalidator/py-configvalidator.git 1713 | 1714 | git https://github.com/bendudson/py4cl.git 1715 | latest-github-release https://github.com/digikar99/py4cl2.git 1716 | git https://github.com/smithzvk/pythonic-string-reader.git 1717 | git https://github.com/orivej/pzmq.git 1718 | git https://github.com/chaitanyagupta/qbase64.git 1719 | git https://gitlab.common-lisp.net/bese/qbook.git 1720 | git https://github.com/roswell/ql-checkout.git 1721 | git https://github.com/fukamachi/qlot.git 1722 | git https://github.com/qitab/qmynd.git 1723 | git https://github.com/kennytilton/qooxlisp.git 1724 | git https://github.com/Shinmera/qt-libs.git 1725 | git https://github.com/Shinmera/qtools.git 1726 | git https://github.com/Shinmera/qtools-ui.git 1727 | git https://github.com/takagi/quadtree.git 1728 | git https://github.com/deadtrickster/quantile-estimator.cl.git 1729 | git https://github.com/mabragor/quasiquote-2.0.git 1730 | git https://github.com/mishoo/queen.lisp.git 1731 | git https://github.com/fb08af68/query-fs.git 1732 | git https://github.com/hyotang666/query-repl.git 1733 | git https://github.com/oconnore/queues.git 1734 | git https://github.com/tdrhq/quick-patch.git 1735 | git https://github.com/triclops200/quickapp.git 1736 | git https://github.com/orivej/quickdist.git 1737 | git https://github.com/fukamachi/quickdocs.git 1738 | git https://github.com/quicklisp/quicklisp-slime-helper.git 1739 | git https://github.com/phoe/quicklisp-stats.git 1740 | https https://www.xach.com/lisp/quickproject.tgz 1741 | git https://github.com/tkych/quicksearch.git 1742 | git https://github.com/tarballs-are-good/quickutil.git 1743 | latest-github-release https://github.com/rigetti/quilc.git 1744 | git https://github.com/fukamachi/quri.git 1745 | git https://gitlab.common-lisp.net/qitab/quux-hunchentoot.git 1746 | git https://gitlab.common-lisp.net/qitab/quux-time.git 1747 | latest-github-release https://github.com/rigetti/qvm.git 1748 | git https://github.com/ha-mo-we/Racer.git 1749 | git https://github.com/brown/random.git 1750 | git https://github.com/VincentToups/random-access-lists.git 1751 | git https://github.com/ruricolist/random-sample.git 1752 | git http://github.com/Shinmera/random-state.git 1753 | git https://git.mfiano.net/mfiano/random-uuid.git 1754 | git https://github.com/npatrick04/rate-monotonic.git 1755 | git https://github.com/Shinmera/Ratify.git 1756 | git https://github.com/jesseoff/ratmath.git 1757 | https https://common-lisp.net/project/rcl/rcl.tar.gz 1758 | git https://github.com/massung/re.git 1759 | git https://github.com/hyotang666/read-as-string.git 1760 | git https://github.com/WarrenWilkinson/read-csv 1761 | git https://github.com/ralph-schleicher/read-number.git 1762 | latest-github-release https://github.com/digikar99/reader.git 1763 | git https://gitlab.common-lisp.net/frideau/reader-interception.git 1764 | git https://github.com/woudshoo/rectangle-packing.git 1765 | mercurial https://bitbucket.org/tarballs_are_good/recur 1766 | git https://github.com/AccelerationNet/recursive-regex.git 1767 | git https://github.com/heegaiximephoomeeghahyaiseekh/recursive-restart.git 1768 | git https://github.com/Shinmera/redirect-stream.git 1769 | git https://github.com/michaelw/regex.git 1770 | branched-git https://gitlab.lrde.epita.fr/jnewton/regular-type-expression.git export-to-quicklisp 1771 | git https://github.com/ceramic/remote-js.git 1772 | git https://github.com/m-n/repl-utilities.git 1773 | git https://github.com/vindarel/replic.git 1774 | git https://github.com/hyotang666/resignal-bind.git 1775 | git https://github.com/archimag/restas.git 1776 | tagged-git https://github.com/archimag/restas.git version-0.1.3 1777 | 1778 | git https://github.com/archimag/restas-directory-publisher.git 1779 | tagged-git https://github.com/archimag/restas-directory-publisher.git version-0.1 1780 | git https://github.com/kevinlynx/restas.file-publisher.git 1781 | git https://github.com/Ralt/restful.git 1782 | git https://github.com/marcoheisig/restricted-functions.git 1783 | git https://github.com/slyrus/retrospectiff 1784 | kmr-git reversi 1785 | git https://gitlab.common-lisp.net/rfc2109/rfc2109.git 1786 | 1787 | git https://github.com/jdz/rfc2388.git 1788 | git https://gitlab.common-lisp.net/ucw/rfc2388-binary.git 1789 | kmr-git rlc 1790 | git https://bitbucket.org/dfmorrison/roan.git 1791 | git https://github.com/eudoxia0/rock.git 1792 | git https://github.com/redline6561/romreader.git 1793 | git https://github.com/fukamachi/rove.git 1794 | latest-github-release https://github.com/rigetti/rpcq.git 1795 | git https://gitlab.common-lisp.net/qitab/rpm.git 1796 | git https://github.com/ralph-schleicher/rs-colors.git 1797 | kmr-git rt 1798 | git https://github.com/npatrick04/rt-events.git 1799 | branched-git https://github.com/cbaggers/rtg-math.git release-quicklisp 1800 | git https://gitlab.common-lisp.net/rucksack/rucksack.git 1801 | git https://github.com/vseloved/rutils.git 1802 | tagged-git https://github.com/vseloved/rutils.git 1.0.0 1803 | git https://github.com/AeroNotix/ryeboy.git 1804 | git https://github.com/svenvc/s-base64.git 1805 | git https://notabug.org/cage/s-dot2.git 1806 | git https://github.com/jingtaozf/s-graphviz.git 1807 | git https://github.com/svenvc/s-http-client.git 1808 | git https://github.com/svenvc/s-http-server.git 1809 | git https://github.com/ndantam/s-protobuf.git 1810 | git https://github.com/svenvc/s-sysdeps.git 1811 | git https://github.com/svenvc/s-utils.git 1812 | git https://gitlab.common-lisp.net/s-xml/s-xml.git 1813 | git https://source.atlas.engineer/public/s-xml-rpc/ 1814 | git https://github.com/deadtrickster/safe-queue.git 1815 | git https://github.com/phoe/safe-read.git 1816 | git https://github.com/fukamachi/safety-params.git 1817 | https https://www.xach.com/lisp/salza2.tgz 1818 | git https://github.com/Bike/sandalphon.lambda-list.git 1819 | git https://github.com/fisxoj/sanity-clause.git 1820 | https https://common-lisp.net/project/sapaclisp/sapaclisp-1.0a.tgz 1821 | git https://github.com/nikodemus/sb-cga.git 1822 | git https://github.com/KDr2/sb-fastcgi.git 1823 | git https://github.com/nikodemus/sb-vector-io.git 1824 | git https://github.com/byulparan/sc-extensions.git 1825 | git https://github.com/endsec/scheduler.git 1826 | git https://github.com/nikodemus/screamer 1827 | git https://github.com/CommonDoc/scriba.git 1828 | git https://gitlab.common-lisp.net/frideau/scribble.git 1829 | git https://github.com/rpav/ScriptL.git 1830 | branched-git https://github.com/cbaggers/sdl2-game-controller-db.git release-quicklisp 1831 | git https://github.com/lispgames/sdl2kit.git 1832 | git https://github.com/marcoheisig/sealable-metaobjects.git 1833 | git https://github.com/rotatef/secret-values.git 1834 | git https://github.com/avodonosov/secure-random.git 1835 | git https://git.mfiano.net/mfiano/seedable-rng.git 1836 | git https://github.com/GrammaTech/sel.git 1837 | git https://github.com/Lisp-Stat/select.git 1838 | git https://github.com/tapioco71/select-file.git 1839 | git https://github.com/rmhsilva/semantic-spinneret.git 1840 | git https://gitlab.common-lisp.net/sequence-iterators/sequence-iterators.git 1841 | git https://github.com/ruricolist/serapeum.git 1842 | git https://github.com/guicho271828/serializable-object.git 1843 | git git://git.code.sf.net/p/series/series 1844 | git https://github.com/Inaimathi/session-token.git 1845 | git https://github.com/madnificent/SEXML.git 1846 | git https://github.com/massung/sha1.git 1847 | git https://github.com/pmai/sha3.git 1848 | git https://github.com/VincentToups/shadchen.git 1849 | git https://git.mfiano.net/mfiano/shadow.git 1850 | https https://tarballs.hexstreamsoft.com/libraries/latest/shared-preferences_latest.tar.gz 1851 | git https://github.com/yitzchak/shasht.git 1852 | git https://github.com/zkat/sheeple.git 1853 | git https://github.com/jaredcdavis/shellpool.git 1854 | git https://github.com/fukamachi/shelly.git 1855 | git https://github.com/shop-planner/shop3.git 1856 | git https://github.com/vseloved/should-test.git 1857 | git https://github.com/ahefner/shuffletron.git 1858 | git https://github.com/j3pic/simple-actors.git 1859 | git https://github.com/compufox/simple-config.git 1860 | git https://github.com/a0-prw/simple-currency.git 1861 | git https://github.com/quek/simple-date-time.git 1862 | git https://github.com/Balooga/Simple-Finalizer.git 1863 | tagged-git https://github.com/borodust/simple-flow-dispatcher.git stable 1864 | https https://tarballs.hexstreamsoft.com/libraries/latest/simple-guess_latest.tar.gz 1865 | git https://github.com/Shinmera/simple-inferiors.git 1866 | git https://github.com/glv2/simple-neural-network.git 1867 | git https://github.com/glv2/simple-parallel-tasks.git 1868 | git https://github.com/wmannis/simple-rgb 1869 | git https://gitlab.com/vancan1ty/simple-routes.git 1870 | git https://github.com/Shinmera/simple-tasks.git 1871 | git https://github.com/noloop/simplet.git 1872 | git https://github.com/marcoheisig/simplified-types.git 1873 | https https://www.thoughtcrime.us/software/simpsamp/simpsamp-0.1.tar.gz 1874 | git https://gitlab.common-lisp.net/qitab/single-threaded-ccl.git 1875 | git https://github.com/brown/sip-hash.git 1876 | git https://github.com/noloop/skeleton-creator.git 1877 | git https://github.com/vydd/sketch.git 1878 | https https://www.xach.com/lisp/skippy.tgz 1879 | git https://github.com/phoe/skippy-renderer.git 1880 | branched-git https://github.com/cbaggers/skitter.git release-quicklisp 1881 | git https://github.com/kkazuo/slack-client.git 1882 | latest-github-release https://github.com/slime/slime.git 1883 | git https://github.com/tdrhq/slite.git 1884 | git https://gitlab.com/DataLinkDroid/slk-581.git 1885 | git https://github.com/some-mthfka/slot-extra-options.git 1886 | git https://github.com/joaotavora/sly.git 1887 | git https://github.com/aarvid/SmackJack 1888 | git https://github.com/fukamachi/smart-buffer.git 1889 | git https://github.com/drewc/smug.git 1890 | git https://github.com/snmsts/sn.man.git 1891 | git https://github.com/BnMcGn/snakes.git 1892 | git https://github.com/brown/snappy.git 1893 | git https://github.com/nilqed/SNARK.git 1894 | tagged-git https://github.com/borodust/sndfile-blob.git stable 1895 | https https://common-lisp.net/project/cl-net-snmp/release/snmp_latest.tar.gz 1896 | git https://github.com/capitaomorte/snooze.git 1897 | git https://github.com/Shinmera/softdrink.git 1898 | git https://bitbucket.org/reginleif/solid-engine.git 1899 | http http://abstractnonsense.com/soundex-1.0.tgz 1900 | git https://github.com/Shinmera/south.git 1901 | git https://github.com/rpav/spatial-trees.git 1902 | 1903 | git https://github.com/Lisp-Stat/special-functions.git 1904 | latest-github-tag https://github.com/markcox80/specialization-store.git 1905 | git https://github.com/numcl/specialized-function.git 1906 | git https://github.com/shirakumo/speechless.git 1907 | git https://github.com/robert-strandh/Spell.git 1908 | git https://github.com/RobBlackwell/spellcheck.git 1909 | git https://github.com/ruricolist/spinneret.git 1910 | latest-github-release https://github.com/sharplispers/split-sequence.git 1911 | git https://github.com/z3t0/sprint-stars.git 1912 | git https://github.com/g000001/srfi-1.git 1913 | git https://github.com/g000001/srfi-23.git 1914 | git https://github.com/g000001/srfi-6.git 1915 | git https://github.com/g000001/srfi-98.git 1916 | git https://github.com/marijnh/ST-JSON.git 1917 | git https://github.com/Shinmera/staple.git 1918 | git https://github.com/alex-gutev/static-dispatch.git 1919 | latest-github-release https://github.com/sionescu/static-vectors.git 1920 | git https://github.com/robert-strandh/Stealth-mixin.git 1921 | git https://gitlab.common-lisp.net/stefil/stefil.git 1922 | git https://github.com/GrammaTech/stefil-.git 1923 | git https://github.com/hanshuebner/stem.git 1924 | git https://github.com/jl2/stl.git 1925 | branched-git https://github.com/cosmos72/stmx.git stable 1926 | git https://github.com/cxxxr/strict-function.git 1927 | git https://github.com/pkhuong/string-case.git 1928 | https https://people.csail.mit.edu/devon/lisp/string-escape.tgz 1929 | git https://git.mfiano.net/mfiano/stripe.git 1930 | git https://github.com/hyotang666/structure-ext.git 1931 | git https://github.com/cbaggers/structy-defclass.git 1932 | git https://github.com/Shinmera/studio-client.git 1933 | git https://github.com/stumpwm/stumpwm.git 1934 | git https://github.com/fagg/stumpwm-sndioctl.git 1935 | git https://gitlab.common-lisp.net/submarine/submarine.git 1936 | git https://github.com/terminal625/sucle.git 1937 | git https://github.com/brown/swank-client.git 1938 | git https://github.com/brown/swank-crew.git 1939 | git https://github.com/eudoxia0/swank-protocol.git 1940 | git https://github.com/cbaggers/swank.live.git 1941 | latest-github-release https://github.com/sionescu/swap-bytes.git 1942 | git https://github.com/fukamachi/sxql.git 1943 | git https://github.com/mmontone/sxql-composer.git 1944 | git https://github.com/ndantam/sycamore.git 1945 | git https://github.com/AccelerationNet/symbol-munger.git 1946 | https https://tarballs.hexstreamsoft.com/libraries/latest/symbol-namespaces_latest.tar.gz 1947 | mercurial https://bitbucket.org/tarballs_are_good/synonyms 1948 | git https://github.com/Shinmera/system-locale.git 1949 | git https://github.com/g000001/tagger.git 1950 | git https://github.com/mv2devnul/taglib.git 1951 | git https://github.com/charJe/tailrec.git 1952 | git https://github.com/AccelerationNet/talcl.git 1953 | git https://github.com/jhanley634/tap-unit-test.git 1954 | git https://github.com/massung/targa.git 1955 | git https://github.com/phoe/tclcs-code.git 1956 | git https://github.com/40ants/teddy.git 1957 | git https://github.com/vii/teepeedee2.git 1958 | git https://github.com/brianjcj/telnetlib-for-common-lisp 1959 | mercurial https://bitbucket.org/tarballs_are_good/template 1960 | tagged-git https://github.com/markcox80/template-function.git v0.0.1 1961 | git https://github.com/cbaggers/temporal-functions.git 1962 | git https://github.com/hanshuebner/temporary-file.git 1963 | git https://github.com/mmontone/ten.git 1964 | git https://github.com/npatrick04/terminfo.git 1965 | git https://github.com/Shirakumo/terrable.git 1966 | git https://github.com/egao1980/tesseract-capi.git 1967 | git https://github.com/inaimathi/test-utils.git 1968 | git https://github.com/e-user/testbild.git 1969 | git https://github.com/eugeneia/texp.git 1970 | https https://common-lisp.net/project/asdf-packaging/text-query-latest.tar.gz 1971 | git https://github.com/compufox/textery.git 1972 | git https://github.com/tfeb/tfeb-lisp-hax.git 1973 | git https://github.com/tfeb/tfeb-lisp-tools.git 1974 | git https://github.com/didierverna/tfm.git 1975 | git https://github.com/marcoheisig/the-cost-of-nothing.git 1976 | git https://github.com/flambard/thnappy 1977 | git https://github.com/CommonDoc/thorn.git 1978 | git https://github.com/kiuma/thread-pool.git 1979 | git https://github.com/kkazuo/thread.comm.rendezvous.git 1980 | git https://github.com/slyrus/time-interval.git 1981 | git https://github.com/npatrick04/timer-wheel.git 1982 | git https://github.com/gwkkwg/tinaa.git 1983 | 1984 | latest-github-release https://github.com/Antigonus/tm.git 1985 | git https://github.com/moderninterpreters/tmpdir.git 1986 | git https://github.com/kisp/toadstool.git 1987 | git https://github.com/gigamonkey/toot.git 1988 | git https://github.com/Shinmera/tooter.git 1989 | git https://github.com/sgarciac/torta.git 1990 | git https://github.com/death/towers.git 1991 | git https://github.com/GrammaTech/trace-db.git 1992 | git http://git.nklein.com/lisp/libs/track-best.git/ 1993 | git https://github.com/guicho271828/trainable-object.git 1994 | git https://gitlab.common-lisp.net/dkochmanski/translate.git 1995 | git https://github.com/aarvid/translate-client.git 1996 | git https://github.com/DalekBaldwin/transparent-wrap.git 1997 | https https://files.astharoshe.net/lisp/tree-search-latest.tar.gz 1998 | git https://github.com/chfin/treedb.git 1999 | git https://github.com/froydnj/trees.git 2000 | git https://github.com/hyotang666/trestrul.git 2001 | git https://github.com/guicho271828/trivia.git 2002 | git https://github.com/Shinmera/trivial-arguments.git 2003 | git https://github.com/gwkkwg/trivial-backtrace.git 2004 | git https://github.com/fukamachi/trivial-battery.git 2005 | git https://github.com/Shinmera/trivial-benchmark.git 2006 | git https://github.com/Lovesan/trivial-bit-streams.git 2007 | git https://github.com/ceramic/trivial-build.git 2008 | git https://github.com/rpav/trivial-channels.git 2009 | git https://github.com/snmsts/trivial-clipboard.git 2010 | git https://github.com/Zulu-Inuoe/trivial-cltl2.git 2011 | git https://github.com/digikar99/trivial-coerce.git 2012 | git https://github.com/ceramic/trivial-compress.git 2013 | git https://gitlab.com/ediethelm/trivial-continuation.git 2014 | git https://gitlab.com/ediethelm/trivial-coverage.git 2015 | git https://github.com/phoe/trivial-custom-debugger.git 2016 | git https://github.com/mtstickney/trivial-debug-console.git 2017 | git https://github.com/yitzchak/trivial-do.git 2018 | git https://github.com/eugeneia/trivial-documentation.git 2019 | git https://github.com/eudoxia0/trivial-download.git 2020 | git https://github.com/rolpereira/trivial-dump-core.git 2021 | 2022 | git https://github.com/yitzchak/trivial-ed-functions.git 2023 | git https://github.com/williamyaoh/trivial-escapes.git 2024 | git https://github.com/ceramic/trivial-exe.git 2025 | git https://github.com/shinmera/trivial-extensible-sequences.git 2026 | git https://github.com/eudoxia0/trivial-extract.git 2027 | git https://github.com/trivial-features/trivial-features 2028 | git https://github.com/ruricolist/trivial-file-size.git 2029 | git https://github.com/trivial-garbage/trivial-garbage 2030 | git https://github.com/trivial-gray-streams/trivial-gray-streams.git 2031 | git https://gitlab.com/ediethelm/trivial-hashtable-serialize.git 2032 | https https://common-lisp.net/project/trivial-http/trivial-http.tar.gz 2033 | git https://github.com/Shinmera/trivial-indent.git 2034 | git https://github.com/yitzchak/trivial-inspector-hook.git 2035 | git https://github.com/karvus/trivial-irc.git 2036 | git https://gitlab.com/ediethelm/trivial-json-codec.git 2037 | https https://tarballs.hexstreamsoft.com/libraries/latest/trivial-jumptables_latest.tar.gz 2038 | git https://github.com/dsorokin/trivial-lazy.git 2039 | git https://github.com/rwiker/trivial-ldap.git 2040 | git https://gitlab.com/mbabich/trivial-left-pad.git 2041 | git https://github.com/cbaggers/trivial-macroexpand-all.git 2042 | git https://github.com/Shinmera/trivial-main-thread.git 2043 | git https://github.com/phoe/trivial-method-combinations.git 2044 | git https://github.com/Shinmera/trivial-mimes.git 2045 | git https://github.com/zodmaner/trivial-mmap.git 2046 | git https://gitlab.com/ediethelm/trivial-monitored-thread.git 2047 | git https://github.com/roswell/trivial-msi.git 2048 | git https://github.com/stacksmith/trivial-nntp.git 2049 | git https://gitlab.com/ediethelm/trivial-object-lock.git 2050 | git https://github.com/sharplispers/trivial-octet-streams.git 2051 | git https://github.com/eudoxia0/trivial-open-browser.git 2052 | git https://github.com/zodmaner/trivial-openstack.git 2053 | git https://github.com/phoe/trivial-package-local-nicknames.git 2054 | git https://github.com/guicho271828/trivial-package-manager.git 2055 | git https://gitlab.com/ediethelm/trivial-pooled-database.git 2056 | branched-git https://github.com/stacksmith/trivial-project.git quicklisp 2057 | git https://github.com/redline6561/trivial-raw-io.git 2058 | branched-git https://github.com/stacksmith/trivial-renamer.git quicklisp 2059 | git https://github.com/stacksmith/trivial-rfc-1123.git 2060 | git https://github.com/gwkkwg/trivial-shell.git 2061 | git https://github.com/guicho271828/trivial-signal.git 2062 | git https://github.com/usocket/trivial-sockets.git 2063 | git https://github.com/eudoxia0/trivial-ssh.git 2064 | git https://github.com/macdavid313/trivial-string-template.git 2065 | branched-git https://github.com/stacksmith/trivial-swank.git quicklisp 2066 | git https://github.com/rmoritz/trivial-tco.git 2067 | git https://github.com/Shinmera/trivial-thumbnail.git 2068 | git https://github.com/gwkkwg/trivial-timeout.git 2069 | git https://gitlab.com/ediethelm/trivial-timer.git 2070 | http http://releases.unknownlamer.org/trivial-timers/trivial-timers_latest.tar.gz 2071 | git https://github.com/m2ym/trivial-types.git 2072 | git https://github.com/digikar99/trivial-types.git 2073 | git https://github.com/cbaggers/trivial-update.git 2074 | git https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8.git 2075 | git https://gitlab.com/ediethelm/trivial-utilities.git 2076 | git https://gitlab.com/ediethelm/trivial-variable-bindings.git 2077 | branched-git https://github.com/stacksmith/trivial-wish.git quicklisp 2078 | branched-git https://github.com/stacksmith/trivial-with.git quicklisp 2079 | git https://github.com/scymtym/trivial-with-current-source-form.git 2080 | git https://github.com/ceramic/trivial-ws.git 2081 | git https://github.com/stacksmith/trivial-yenc.git 2082 | git https://github.com/guicho271828/trivialib.bdd.git 2083 | git https://github.com/guicho271828/trivialib.type-unify.git 2084 | git https://github.com/s-expressionists/Trucler.git 2085 | git https://github.com/JMC-design/truetype-clx.git 2086 | git https://github.com/genelkim/ttt.git 2087 | git https://github.com/jamtho/twfy.git 2088 | git https://github.com/guicho271828/type-i.git 2089 | git https://github.com/guicho271828/type-r.git 2090 | git https://github.com/shinmera/uax-14.git 2091 | git https://github.com/sabracrolleton/uax-15.git 2092 | git https://github.com/shinmera/uax-9.git 2093 | git https://github.com/Shinmera/ubiquitous.git 2094 | git https://github.com/marcoheisig/ucons.git 2095 | git https://gitlab.common-lisp.net/ucw/ucw-core.git 2096 | kmr-git uffi 2097 | git https://github.com/ta2gch/UFO.git 2098 | git https://github.com/peey/ugly-tiny-infix-macro.git 2099 | https https://common-lisp.net/project/asdf/archives/uiop.tar.gz 2100 | 2101 | 2102 | 2103 | 2104 | 2105 | git https://github.com/malcolmstill/ulubis-drm-gbm.git 2106 | git https://github.com/malcolmstill/ulubis-sdl.git 2107 | git https://git.mfiano.net/mfiano/umbra.git 2108 | kmr-git umlisp 2109 | kmr-git umlisp-orf 2110 | git https://github.com/Plisp/uncursed.git 2111 | git https://github.com/mon-key/unicly.git 2112 | git https://github.com/Ramarren/unit-formula.git 2113 | git https://github.com/hanshuebner/unit-test.git 2114 | 2115 | git https://github.com/Shinmera/universal-config.git 2116 | git https://github.com/astine/unix-options.git 2117 | git https://github.com/libre-man/unix-opts.git 2118 | https https://common-lisp.net/project/uri-template/release/uri-template-latest.tgz 2119 | ediware-http url-rewrite 2120 | http http://nklein.com/wp-content/uploads/2011/06/userial_0.8.2011.06.02.tar.gz 2121 | https https://common-lisp.net/project/usocket/releases/usocket-latest.tar.gz 2122 | git https://github.com/scymtym/utilities.binary-dump.git 2123 | git https://github.com/scymtym/utilities.print-items.git 2124 | git https://github.com/scymtym/utilities.print-tree.git 2125 | git https://github.com/terminal625/utility.git 2126 | git https://gitlab.com/fau/utility-arguments.git 2127 | git https://github.com/kennytilton/utils-kt.git 2128 | git https://github.com/jl2/utm.git 2129 | git https://github.com/glv2/utm-ups.git 2130 | git https://github.com/dardoria/uuid.git 2131 | git https://github.com/K1D77A/validate-list.git 2132 | branched-git https://github.com/cbaggers/varjo.git release-quicklisp 2133 | 2134 | git https://github.com/vsedach/vas-string-metrics.git 2135 | https https://www.xach.com/lisp/vecto.tgz 2136 | git https://github.com/elbeno/vector.git 2137 | git https://gitlab.com/porky11/vectors.git 2138 | git https://github.com/sirherrbatka/vellum.git 2139 | git https://github.com/sirherrbatka/vellum-clim.git 2140 | git https://github.com/sirherrbatka/vellum-csv.git 2141 | git https://github.com/sirherrbatka/vellum-postmodern.git 2142 | git https://github.com/Shinmera/verbose.git 2143 | git https://github.com/ruricolist/vernacular.git 2144 | git https://gitlab.common-lisp.net/fetter/verrazano.git 2145 | git https://github.com/CommonDoc/vertex.git 2146 | git https://github.com/volkers/vgplot.git 2147 | git https://github.com/hyotang666/vivid-colors.git 2148 | git https://github.com/hyotang666/vivid-diff.git 2149 | git https://github.com/JolifantoBambla/vk.git 2150 | git https://github.com/orthecreedence/vom.git 2151 | git https://github.com/fisxoj/vom-json.git 2152 | git https://github.com/shamazmazum/vp-trees.git 2153 | git https://github.com/nathanvy/wallstreetflets.git 2154 | git https://github.com/alex-gutev/wasm-encoder.git 2155 | git https://github.com/handicraftsman/water.git 2156 | git https://github.com/fukamachi/webapi.git 2157 | git https://github.com/skypher/weblocks.git 2158 | git https://github.com/weblocks-framework/weblocks-examples.git 2159 | git https://github.com/weblocks-framework/weblocks-prototype-js.git 2160 | git https://github.com/weblocks-framework/weblocks-stores.git 2161 | git https://github.com/weblocks-framework/weblocks-tree-widget.git 2162 | git https://github.com/weblocks-framework/weblocks-utils.git 2163 | git https://github.com/fukamachi/websocket-driver.git 2164 | git https://github.com/mtstickney/weft.git 2165 | git https://github.com/xach/westbrook.git 2166 | git https://github.com/MartinEnders/what3words.git 2167 | git https://github.com/eudoxia0/which.git 2168 | git https://github.com/codr7/whirlog.git 2169 | git https://github.com/michaeljforster/whofields.git 2170 | git https://github.com/privet-kitty/wild-package-inferred-system.git 2171 | git https://github.com/fjames86/winhttp.git 2172 | git https://github.com/ruricolist/winlock.git 2173 | git https://github.com/y2q-actionman/with-c-syntax.git 2174 | git https://github.com/cbaggers/with-cached-reader-conditionals.git 2175 | git https://gitlab.common-lisp.net/mantoniotti/with-contexts.git 2176 | https https://tarballs.hexstreamsoft.com/libraries/latest/with-output-to-stream_latest.tar.gz 2177 | branched-git https://github.com/cbaggers/with-setf.git release-quicklisp 2178 | https https://tarballs.hexstreamsoft.com/libraries/latest/with-shadowed-bindings_latest.tar.gz 2179 | git https://github.com/theZacAttacks/with-user-abort.git 2180 | git https://github.com/fukamachi/woo.git 2181 | git https://github.com/orthecreedence/wookie.git 2182 | git https://github.com/phoe/wordnet.git 2183 | git https://gitlab.common-lisp.net/frideau/workout-timer.git 2184 | git http://wukix.com/dist/wu-decimal.git 2185 | git https://github.com/Wukix/wu-sugar.git 2186 | git https://github.com/mtravers/wuwei.git 2187 | git https://github.com/ks/x.let-star.git 2188 | git https://github.com/blindglobe/xarray.git 2189 | git http://github.com/jesseoff/xcat.git 2190 | git https://github.com/pkhuong/Xecto.git 2191 | git https://gitlab.common-lisp.net/xhtmlambda/XHTMLambda.git 2192 | git https://github.com/hanshuebner/xhtmlgen 2193 | git https://gitlab.common-lisp.net/cungil/xlsx.git 2194 | kmr-git xlunit 2195 | git https://github.com/VitoVan/xml-emitter.git 2196 | git https://github.com/gonzojive/xml-mop 2197 | git https://github.com/scymtym/xml.location.git 2198 | https https://common-lisp.net/project/xmls/xmls-3.0.2.tar.gz 2199 | kmr-git xptest 2200 | git https://github.com/fukamachi/xsubseq.git 2201 | git git://repo.or.cz/xuriella.git 2202 | git https://github.com/sharplispers/yaclml.git 2203 | latest-github-release https://github.com/hanshuebner/yason.git 2204 | 2205 | 2206 | git https://github.com/mihaiolteanu/youtube.git 2207 | git https://gitlab.common-lisp.net/dcooper/zacl.git 2208 | git https://github.com/xach/zaws.git 2209 | git https://github.com/mihaiolteanu/zbucium.git 2210 | https https://www.xach.com/lisp/zcdb.tgz 2211 | git https://github.com/KeenS/zenekindarl.git 2212 | git https://github.com/bluelisp/zip.git 2213 | git https://github.com/Shinmera/zippy.git 2214 | git https://github.com/yitzchak/ziz.git 2215 | git https://github.com/sharplispers/zlib.git 2216 | git https://gitlab.common-lisp.net/zlib/zlib.git 2217 | latest-github-release https://github.com/xach/zpb-exif.git 2218 | 2219 | latest-github-release https://github.com/xach/zpb-ttf.git 2220 | 2221 | https https://www.xach.com/lisp/zpng.tgz 2222 | https https://www.xach.com/lisp/zs3.tgz 2223 | git https://github.com/jorgetavares/zsort.git 2224 | --------------------------------------------------------------------------------