├── .cl-source-registry.cache ├── .dockerignore ├── .editorconfig ├── .gitignore ├── .gitlab-ci.yml ├── .gitmodules ├── CHANGELOG.org ├── CODE_OF_CONDUCT.md ├── INSTALL.org ├── LICENSE ├── License.rtf ├── README-dev.org ├── README.org ├── build └── .cl-source-registry.cache ├── cli ├── clpm-cli.lisp ├── commands.lisp ├── commands │ ├── asd-pathnames.lisp │ ├── bundle.lisp │ ├── bundle │ │ ├── common.lisp │ │ ├── exec.lisp │ │ ├── init.lisp │ │ ├── install.lisp │ │ ├── source-registry.lisp │ │ └── update.lisp │ ├── client.lisp │ ├── client │ │ ├── cat.lisp │ │ ├── common.lisp │ │ ├── install.lisp │ │ ├── rc.lisp │ │ ├── repl.lisp │ │ └── source-registry.d.lisp │ ├── clpi.lisp │ ├── clpi │ │ ├── common.lisp │ │ └── release.lisp │ ├── config.lisp │ ├── config │ │ ├── common.lisp │ │ └── info.lisp │ ├── exec.lisp │ ├── find.lisp │ ├── hack.lisp │ ├── install.lisp │ ├── license-info.lisp │ ├── output-translations.lisp │ ├── source-registry.lisp │ ├── sync.lisp │ ├── update.lisp │ └── version.lisp ├── common-args.lisp ├── entry.lisp ├── hooks.lisp ├── interface-defs.lisp └── man.lisp ├── clpm-asdf.asd ├── clpm-asdf ├── client.lisp ├── dependencies-license-op.lisp ├── features.lisp ├── install-script.lisp ├── package.lisp ├── system.lisp └── version.lisp ├── clpm-cli.asd ├── clpm-client ├── asdf.lisp ├── bundle.lisp ├── cleanup.lisp ├── clpm-client.asd ├── context.lisp ├── diff.lisp ├── env.lisp ├── install.lisp ├── package.lisp ├── proc.lisp ├── sync.lisp ├── ui.lisp ├── update.lisp └── version.lisp ├── clpm-test.asd ├── clpm.asd ├── clpm ├── archives.lisp ├── archives │ ├── archive.lisp │ ├── chipz.lisp │ ├── defs.lisp │ └── tar.lisp ├── bundle.lisp ├── cache.lisp ├── client.lisp ├── clpi.lisp ├── clpm.lisp ├── clpmfile.lisp ├── config.lisp ├── config │ ├── cli-source.lisp │ ├── default-source.lisp │ ├── defs.lisp │ ├── env-source.lisp │ ├── file-source.lisp │ ├── paths.lisp │ └── source-defs.lisp ├── context-diff.lisp ├── context-queries.lisp ├── context.lisp ├── data.lisp ├── exec.lisp ├── execvpe.lisp ├── groveler.lisp ├── http-client.lisp ├── http-client │ └── cl-plus-ssl.lisp ├── install.lisp ├── install │ └── defs.lisp ├── log.lisp ├── repos.lisp ├── repos │ ├── defs.lisp │ ├── git.lisp │ ├── github.lisp │ ├── gitlab.lisp │ ├── local-git-override.lisp │ └── plain-git.lisp ├── requirement.lisp ├── resolve.lisp ├── resolve │ ├── defs.lisp │ ├── node.lisp │ ├── requirement.lisp │ └── search.lisp ├── sandbox.lisp ├── sandbox │ ├── defs.lisp │ └── firejail.lisp ├── session.lisp ├── source.lisp ├── sources │ ├── clpi.lisp │ ├── config.lisp │ ├── defs.lisp │ ├── dotted-versioned-project.lisp │ ├── fs.lisp │ ├── ql-clpi.lisp │ ├── quicklisp.lisp │ ├── tarball-release.lisp │ └── vcs.lisp ├── sync.lisp ├── update.lisp ├── utils.lisp ├── version-strings.lisp └── version.lisp ├── docker ├── Dockerfile.alpine-ci └── Dockerfile.debian-ci ├── docs ├── bundle.org ├── client.org ├── config.org ├── papers │ └── ELS-21 │ │ ├── acmart.cls │ │ ├── acmart.dtx │ │ ├── acmart.ins │ │ ├── main.bib │ │ ├── main.pdf │ │ ├── main.tex │ │ └── submitted │ │ ├── final │ │ └── main.pdf │ │ └── review │ │ ├── feedback.txt │ │ └── main.pdf ├── sources.org └── storage.org ├── ext ├── cl-utilities-1.2.4 │ ├── README │ ├── cl-utilities.asd │ ├── collecting.lisp │ ├── compose.lisp │ ├── copy-array.lisp │ ├── doc │ │ ├── collecting.html │ │ ├── compose.html │ │ ├── copy-array.html │ │ ├── expt-mod.html │ │ ├── extremum.html │ │ ├── index.html │ │ ├── once-only.html │ │ ├── read-delimited.html │ │ ├── rotate-byte.html │ │ ├── split-sequence.html │ │ ├── style.css │ │ └── with-unique-names.html │ ├── expt-mod.lisp │ ├── extremum.lisp │ ├── once-only.lisp │ ├── package.lisp │ ├── package.sh │ ├── read-delimited.lisp │ ├── rotate-byte.lisp │ ├── split-sequence.lisp │ ├── test.lisp │ └── with-unique-names.lisp └── salza2-2.0.9 │ ├── LICENSE.txt │ ├── README.txt │ ├── adler32.lisp │ ├── bitstream.lisp │ ├── chains.lisp │ ├── checksum.lisp │ ├── closures.lisp │ ├── compress.lisp │ ├── compressor.lisp │ ├── crc32.lisp │ ├── doc │ ├── COPYING.txt │ └── index.html │ ├── gzip.lisp │ ├── huffman.lisp │ ├── matches.lisp │ ├── package.lisp │ ├── reset.lisp │ ├── salza2.asd │ ├── specials.lisp │ ├── types.lisp │ ├── user.lisp │ ├── utilities.lisp │ └── zlib.lisp ├── install.sh ├── licenses ├── 3bz ├── README.txt ├── adopt ├── alexandria ├── anaphora ├── archive ├── asdf ├── asdf-release-ops ├── asdf-system-groveler ├── babel ├── bobbin ├── bordeaux-threads ├── cffi ├── cffi-grovel ├── cffi-toolchain ├── chipz ├── chunga ├── cl+ssl ├── cl-ansi-text ├── cl-base64 ├── cl-colors2 ├── cl-cookie ├── cl-date-time-parser ├── cl-fad ├── cl-interpol ├── cl-ppcre ├── cl-reexport ├── cl-semver ├── cl-syntax ├── cl-unicode ├── cl-utilities ├── closer-mop ├── clpi ├── clpm-multi-http-client ├── dexador ├── do-urlencode ├── documentation-utils ├── drakma ├── esrap ├── exit-hooks ├── fare-quasiquote ├── fare-utils ├── fast-http ├── fast-io ├── file-attributes ├── flexi-streams ├── global-vars ├── ieee-floats ├── introspect-environment ├── ironclad ├── iterate ├── jsown ├── lisp-invocation ├── lisp-namespace ├── local-time ├── log4cl ├── log4cl.NOTICE ├── mmap ├── named-readtables ├── nibbles ├── openssl ├── osicat ├── parse-declarations-1.0 ├── parse-float ├── parse-number ├── pathname-utils ├── proc-parse ├── puri ├── ql-clpi ├── quri ├── s-xml ├── salza2 ├── sbcl ├── serapeum ├── shlex ├── smart-buffer ├── split-sequence ├── static-vectors ├── string-case ├── trivia ├── trivial-cltl2 ├── trivial-features ├── trivial-file-size ├── trivial-garbage ├── trivial-gray-streams ├── trivial-indent ├── trivial-macroexpand-all ├── trivial-mimes ├── trivial-types ├── trivial-utf-8 ├── type-i ├── usocket ├── uuid ├── winhttp ├── xsubseq └── zippy ├── scripts ├── build-msi.lisp ├── build-release.lisp ├── build.lisp ├── clpm-live-sbcl ├── common.lisp ├── live.lisp ├── test.lisp └── version.lisp ├── test ├── package.lisp ├── quicklisp-bundle.lisp ├── quicklisp-bundle │ ├── clpmfile │ ├── clpmfile.lock │ ├── file-1.lisp │ └── quicklisp-bundle.asd ├── suite.lisp ├── tests.lisp └── web-server │ └── static │ ├── archive │ └── alexandria │ │ └── 2020-09-25 │ │ └── alexandria-20200925-git.tgz │ └── dist │ ├── quicklisp-test-versions.txt │ ├── quicklisp-test.txt │ └── quicklisp-test │ └── 2021-02-01 │ ├── distinfo.txt │ ├── releases.txt │ └── systems.txt ├── tutorial ├── css │ └── custom.css ├── screen-shots │ ├── bundle-repl │ │ ├── activate.png │ │ ├── fiveam-error.png │ │ ├── fiveam-git.png │ │ ├── fiveam-override.png │ │ ├── init.png │ │ ├── install.png │ │ ├── tests-pass.png │ │ └── version.png │ └── global-repl │ │ ├── activate.png │ │ ├── editable-diff.png │ │ ├── fiveam-diff.png │ │ ├── fiveam-error.png │ │ ├── install-diff.png │ │ ├── load-diff.png │ │ ├── load-error.png │ │ ├── loaded.png │ │ ├── sync.png │ │ ├── tests-pass.png │ │ └── version.png └── tutorial.org └── version.lisp-expr /.dockerignore: -------------------------------------------------------------------------------- 1 | /build 2 | /bin 3 | /.clpm-docker-build-config 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*.lisp] 4 | indent_style = space 5 | end_of_line = lf 6 | insert_final_newline = true 7 | trim_trailing_whitespace = true 8 | 9 | [*.asd] 10 | indent_style = space 11 | end_of_line = lf 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .dir-locals-2.el 2 | /build 3 | *.fasl 4 | customize-target-features.lisp-expr 5 | .clpm-docker-build-config 6 | /tutorial/architecture.svg 7 | /tutorial/tutorial.html 8 | /releases 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018-2021 Eric Timmons 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation and/or 11 | other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 17 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /build/.cl-source-registry.cache: -------------------------------------------------------------------------------- 1 | (:source-registry-cache) 2 | -------------------------------------------------------------------------------- /cli/clpm-cli.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Common Lisp Project Manager CLI - CLPM-CLI 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/clpm-cli 7 | (:nicknames #:clpm-cli) 8 | (:use #:cl 9 | #:clpm-cli/commands 10 | #:clpm-cli/entry 11 | #:clpm-cli/man)) 12 | 13 | (in-package #:clpm-cli) 14 | -------------------------------------------------------------------------------- /cli/commands.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Common Lisp Project Manager CLI - CLPM-CLI 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands 7 | (:use #:cl 8 | #:clpm-cli/commands/asd-pathnames 9 | #:clpm-cli/commands/bundle 10 | #:clpm-cli/commands/client 11 | #:clpm-cli/commands/clpi 12 | #:clpm-cli/commands/config 13 | #:clpm-cli/commands/exec 14 | #:clpm-cli/commands/find 15 | #:clpm-cli/commands/hack 16 | #:clpm-cli/commands/install 17 | #:clpm-cli/commands/license-info 18 | #:clpm-cli/commands/output-translations 19 | #:clpm-cli/commands/source-registry 20 | #:clpm-cli/commands/sync 21 | #:clpm-cli/commands/update 22 | #:clpm-cli/commands/version)) 23 | 24 | (in-package #:clpm-cli/commands) 25 | -------------------------------------------------------------------------------- /cli/commands/asd-pathnames.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm asd-pathnames 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/asd-pathnames 7 | (:use #:cl 8 | #:alexandria 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/asd-pathnames) 15 | 16 | (defparameter *asd-pathnames-ui* 17 | (adopt:make-interface 18 | :name "clpm asd-pathnames" 19 | :summary "Common Lisp Project Manager Asd-Pathnames" 20 | :usage "asd-pathnames [options]" 21 | :help "List the pathnames to all ASD files in the context, one per line." 22 | :contents (list *group-common* 23 | *option-context*))) 24 | 25 | (define-cli-command (("asd-pathnames") *asd-pathnames-ui*) (args options) 26 | (declare (ignore options args)) 27 | (format t "~{~A~^~%~}~%" (clpm:asd-pathnames)) 28 | t) 29 | -------------------------------------------------------------------------------- /cli/commands/bundle.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Bundle command definitions 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/bundle 7 | (:use #:cl 8 | #:clpm-cli/commands/bundle/common 9 | #:clpm-cli/commands/bundle/exec 10 | #:clpm-cli/commands/bundle/init 11 | #:clpm-cli/commands/bundle/install 12 | #:clpm-cli/commands/bundle/source-registry 13 | #:clpm-cli/commands/bundle/update)) 14 | 15 | (in-package #:clpm-cli/commands/bundle) 16 | -------------------------------------------------------------------------------- /cli/commands/bundle/common.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Common bundle CLI functions 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/bundle/common 7 | (:use #:cl 8 | #:alexandria 9 | #:clpm/bundle 10 | #:clpm-cli/common-args 11 | #:clpm-cli/interface-defs 12 | #:clpm/config 13 | #:clpm/utils) 14 | (:import-from #:adopt) 15 | (:import-from #:cl-ppcre) 16 | (:export #:*group-bundle* 17 | #:*option-no-resolve*)) 18 | 19 | (in-package #:clpm-cli/commands/bundle/common) 20 | 21 | (defparameter *option-file* 22 | (adopt:make-option 23 | :cli-config-bundle-clpmfile 24 | :short #\f 25 | :parameter "FILE" 26 | :help "The path to the clpmfile" 27 | :initial-value :missing 28 | :reduce #'adopt:last)) 29 | 30 | (defparameter *option-no-resolve* 31 | (adopt:make-option 32 | :bundle-no-resolve 33 | :long "no-resolve" 34 | :help "Do not attempt to resolve any requirements. Use requirements exactly as given in lock file." 35 | :reduce (constantly t))) 36 | 37 | (defparameter *group-bundle* 38 | (adopt:make-group 39 | :bundle 40 | :title "Bundle options" 41 | :help "Common options for bundle commands" 42 | :options (list *option-file*))) 43 | 44 | (defparameter *default-ui* 45 | (adopt:make-interface 46 | :name "clpm bundle" 47 | :summary "Common Lisp Project Manager Bundle" 48 | :usage "bundle [options] subcommand" 49 | :help "Bundle commands" 50 | :contents (list *group-common* 51 | *group-bundle*))) 52 | 53 | (define-cli-command-folder (("bundle") *default-ui*)) 54 | -------------------------------------------------------------------------------- /cli/commands/bundle/exec.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm bundle exec 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/bundle/exec 7 | (:use #:cl 8 | #:clpm-cli/commands/bundle/common 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/bundle/exec) 15 | 16 | (defparameter *option-with-client* 17 | (adopt:make-option 18 | :bundle-exec-with-client 19 | :long "with-client" 20 | :help "Include the CLPM client in the source registry" 21 | :reduce (constantly t))) 22 | 23 | (defparameter *bundle-exec-ui* 24 | (adopt:make-interface 25 | :name "clpm bundle exec" 26 | :summary "Common Lisp Project Manager Bundle Exec" 27 | :usage "bundle exec [options] [command]" 28 | :help "Execute a command in the contet of a bundle" 29 | :contents (list *group-common* 30 | *group-bundle* 31 | *option-with-client*))) 32 | 33 | (define-cli-command (("bundle" "exec") *bundle-exec-ui*) (args options) 34 | (clpm:bundle-exec (first args) (rest args) :with-client-p (gethash :bundle-exec-with-client options)) 35 | nil) 36 | -------------------------------------------------------------------------------- /cli/commands/bundle/init.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm bundle init 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/bundle/init 7 | (:use #:cl 8 | #:clpm-cli/commands/bundle/common 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/bundle/init) 15 | 16 | (defparameter *option-bundle-init-asd* 17 | (adopt:make-option 18 | :bundle-init-asds 19 | :long "asd" 20 | :short #\a 21 | :parameter "ASD-FILE" 22 | :help "Include this .asd file in the bundle." 23 | :reduce (adopt:flip #'cons))) 24 | 25 | (defparameter *bundle-init-ui* 26 | (adopt:make-interface 27 | :name "clpm bundle init" 28 | :summary "Common Lisp Project Manager Bundle Init" 29 | :usage "bundle init [options]" 30 | :help "Create a clpmfile" 31 | :contents (list *group-common* 32 | *group-bundle* 33 | *option-bundle-init-asd*))) 34 | 35 | (define-cli-command (("bundle" "init") *bundle-init-ui*) (args options) 36 | (declare (ignore args)) 37 | (let ((asds (gethash :bundle-init-asds options))) 38 | (clpm:bundle-init :asds asds) 39 | t)) 40 | -------------------------------------------------------------------------------- /cli/commands/bundle/install.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm bundle install 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/bundle/install 7 | (:use #:cl 8 | #:clpm-cli/commands/bundle/common 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/bundle/install) 15 | 16 | (define-string *help-string* 17 | "Install a bundle described in a clpmfile. 18 | 19 | If no clpmfile.lock file exists, one is created by first syncing all sources in 20 | the clpmfile and using the requirements to resolve a set of project releases 21 | that satisfy them all. All of the releases are then installed locally and the 22 | lock file is written. 23 | 24 | If a lock file does exist, all sources are synced and the requirements 25 | re-resolved, but preference is given to installing the releases that already 26 | exist in the lock file.") 27 | 28 | (defparameter *bundle-install-ui* 29 | (adopt:make-interface 30 | :name "clpm bundle install" 31 | :summary "Common Lisp Project Manager Bundle Install" 32 | :usage "bundle install [options]" 33 | :help *help-string* 34 | :contents (list *group-common* 35 | *group-bundle* 36 | *option-local* 37 | *option-yes* 38 | *option-no-resolve*))) 39 | 40 | (define-cli-command (("bundle" "install") *bundle-install-ui*) (args options) 41 | (declare (ignore args)) 42 | (clpm:bundle-install :validate (make-diff-validate-fun :yesp (gethash :yes options)) 43 | :no-resolve (gethash :bundle-no-resolve options)) 44 | t) 45 | -------------------------------------------------------------------------------- /cli/commands/bundle/source-registry.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm bundle source-registry 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/bundle/source-registry 7 | (:use #:cl 8 | #:clpm-cli/commands/bundle/common 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/bundle/source-registry) 15 | 16 | (defparameter *option-with-client* 17 | (adopt:make-option 18 | :bundle-exec-with-client 19 | :long "with-client" 20 | :help "Include the CLPM client in the source registry" 21 | :reduce (constantly t))) 22 | 23 | (defparameter *bundle-source-registry-ui* 24 | (adopt:make-interface 25 | :name "clpm bundle source-registry" 26 | :summary "Common Lisp Project Manager Bundle Source-registry" 27 | :usage "bundle source-registry [options]" 28 | :help "Print the source registry for a bundle." 29 | :contents (list *group-common* 30 | *group-bundle* 31 | *option-with-client*))) 32 | 33 | (define-cli-command (("bundle" "source-registry") *bundle-source-registry-ui*) (args options) 34 | (declare (ignore args)) 35 | (with-standard-io-syntax 36 | (let ((*print-case* :downcase) 37 | (source-registry-form 38 | (clpm:bundle-source-registry :with-client-p (gethash :bundle-exec-with-client options)))) 39 | (format t "~S~%" source-registry-form))) 40 | t) 41 | -------------------------------------------------------------------------------- /cli/commands/bundle/update.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm bundle install 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/bundle/update 7 | (:use #:cl 8 | #:clpm-cli/commands/bundle/common 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/bundle/update) 15 | 16 | (define-string *help-string* 17 | "Update a bundle described in a clpmfile. Can either update the whole bundle 18 | or a subset. 19 | 20 | If no clpmfile.lock file exists, one is created by first syncing all sources in 21 | the clpmfile and using the requirements to resolve a set of project releases 22 | that satisfy them all. All of the releases are then installed locally and the 23 | lock file is written. 24 | 25 | If a lock file does exist, all sources are synced and the requirements 26 | re-resolved from scratch. If a list of systems to update is provided, then the 27 | preference for unrelated projects is to keep them at the same version as 28 | currently in the lock file. If no systems to update are provided then the 29 | preference is to update everything to the latest version possible.") 30 | 31 | (defparameter *bundle-update-ui* 32 | (adopt:make-interface 33 | :name "clpm bundle update" 34 | :summary "Common Lisp Project Manager Bundle Update" 35 | :usage "bundle update [options] *" 36 | :help *help-string* 37 | :contents (list *group-common* 38 | *group-bundle* 39 | *option-local* 40 | *option-yes*))) 41 | 42 | (define-cli-command (("bundle" "update") *bundle-update-ui*) (args options) 43 | (let ((yesp (gethash :yes options))) 44 | (clpm:bundle-update :update-systems args 45 | :validate (make-diff-validate-fun :yesp yesp)) 46 | t)) 47 | -------------------------------------------------------------------------------- /cli/commands/client.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm client 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/client 7 | (:use #:cl 8 | #:clpm-cli/commands/client/cat 9 | #:clpm-cli/commands/client/common 10 | #:clpm-cli/commands/client/install 11 | #:clpm-cli/commands/client/rc 12 | #:clpm-cli/commands/client/repl 13 | #:clpm-cli/commands/client/source-registry.d)) 14 | 15 | (in-package #:clpm-cli/commands/client) 16 | -------------------------------------------------------------------------------- /cli/commands/client/cat.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm client cat 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/client/cat 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/commands/client/common 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:uiop 12 | #:*stdout*) 13 | (:import-from #:clpm/client 14 | #:*clpm-client-concatenated-source*)) 15 | 16 | (in-package #:clpm-cli/commands/client/cat) 17 | 18 | (defparameter *client-cat-ui* 19 | (adopt:make-interface 20 | :name "clpm client cat" 21 | :summary "Common Lisp Project Manager" 22 | :usage "client cat" 23 | :help "Print the CLPM client source code to stdout" 24 | :contents (list *group-common*))) 25 | 26 | (define-cli-command (("client" "cat") *client-cat-ui*) (args options) 27 | (declare (ignore args options)) 28 | (uiop:with-safe-io-syntax () 29 | (let ((*print-case* :downcase)) 30 | (write-string *clpm-client-concatenated-source* *stdout*) 31 | (terpri *stdout*))) 32 | t) 33 | -------------------------------------------------------------------------------- /cli/commands/client/common.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Client CLI common functions 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/client/common 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt)) 11 | 12 | (in-package #:clpm-cli/commands/client/common) 13 | 14 | (defparameter *default-ui* 15 | (adopt:make-interface 16 | :name "clpm client" 17 | :summary "Common Lisp Project Manager" 18 | :usage "client [options] subcommand" 19 | :help "Common Lisp Project Manager" 20 | :contents (list *group-common*))) 21 | 22 | (define-cli-command-folder (("client") *default-ui*)) 23 | -------------------------------------------------------------------------------- /cli/commands/client/install.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm client install 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/client/install 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/commands/client/common 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:uiop 12 | #:*stdout*) 13 | (:import-from #:clpm)) 14 | 15 | (in-package #:clpm-cli/commands/client/install) 16 | 17 | (define-string *help-text* 18 | "Install the CLPM client to your user data directory. If you use the client 19 | installed this way you will want to update your ASDF config every time you 20 | upgrade CLPM.") 21 | 22 | (defparameter *client-install-ui* 23 | (adopt:make-interface 24 | :name "clpm client install" 25 | :summary "Common Lisp Project Manager" 26 | :usage "client install [options]" 27 | :help *help-text* 28 | :contents (list *group-common*))) 29 | 30 | (define-cli-command (("client" "install") *client-install-ui*) (args options) 31 | (declare (ignore args options)) 32 | (let ((pathname (clpm:client-user-data-pathname))) 33 | (clpm:install-client-to-user-data) 34 | (format t "CLPM Client installed to ~A~%" (uiop:native-namestring 35 | (uiop:pathname-directory-pathname pathname))) 36 | t)) 37 | -------------------------------------------------------------------------------- /cli/commands/client/repl.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm client repl 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/client/repl 7 | (:use #:cl 8 | #:clpm-cli/commands/client/common 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:uiop 11 | #:*stdout*)) 12 | 13 | (in-package #:clpm-cli/commands/client/repl) 14 | 15 | (defparameter *client-repl-ui* 16 | (adopt:make-interface 17 | :name "clpm client repl" 18 | :summary "Common Lisp Project Manager" 19 | :usage "client repl [options]" 20 | :help "Starts a REPL for interacting with CLPM. Intended to be used by clpm-client library, interface is not guaranteed to be stable yet.")) 21 | 22 | (define-cli-command (("client" "repl") *client-repl-ui*) (args options) 23 | (declare (ignore args options)) 24 | (with-standard-io-syntax 25 | (let ((*package* (find-package :clpm)) 26 | (*print-readably* nil)) 27 | (loop 28 | (print (eval (read)) *stdout*) 29 | (terpri *stdout*) 30 | (finish-output *stdout*)))) 31 | t) 32 | -------------------------------------------------------------------------------- /cli/commands/client/source-registry.d.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm client source-registry.d 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/client/source-registry.d 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/commands/client/common 10 | #:clpm-cli/interface-defs 11 | #:named-readtables) 12 | (:import-from #:uiop 13 | #:*stderr* 14 | #:*stdout*) 15 | (:import-from #:cl-interpol) 16 | (:import-from #:clpm)) 17 | 18 | (in-package #:clpm-cli/commands/client/source-registry.d) 19 | 20 | (in-readtable :interpol-syntax) 21 | 22 | (define-string *help-text* 23 | "Print a form suitable for including in a file in ASDF's 24 | source-registry.conf.d folder. This form will tell ASDF where to find the 25 | client. 26 | 27 | Place the outputs of this command in a file such as 28 | ~~~~/.config/common-lisp/source-registry.conf.d/20-clpm-client.conf") 29 | 30 | (defparameter *client-source-registry.d-ui* 31 | (adopt:make-interface 32 | :name "clpm client source-registry.d" 33 | :summary "Common Lisp Project Manager" 34 | :usage "client source-registry.d [options]" 35 | :help *help-text* 36 | :contents (list *group-common*))) 37 | 38 | (define-cli-command (("client" "source-registry.d") *client-source-registry.d-ui*) (args options) 39 | (declare (ignore args options)) 40 | (if (clpm:client-asd-pathname) 41 | (write-string #?";; -*- mode: common-lisp; -*- 42 | ;; Auto generated by CLPM version ${(clpm:clpm-version)} 43 | (:directory #P\"${(uiop:pathname-directory-pathname (clpm:client-asd-pathname))}\") 44 | " 45 | *stdout*) 46 | (progn 47 | (write-string "Unable to find the CLPM client. Consider installing it to your user data directory with `clpm client install` 48 | " 49 | *stderr*) 50 | (uiop:quit 1)))) 51 | -------------------------------------------------------------------------------- /cli/commands/clpi.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm clpi 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/clpi 7 | (:use #:cl 8 | #:clpm-cli/commands/clpi/common 9 | #:clpm-cli/commands/clpi/release)) 10 | 11 | (in-package #:clpm-cli/commands/clpi) 12 | -------------------------------------------------------------------------------- /cli/commands/clpi/common.lisp: -------------------------------------------------------------------------------- 1 | ;;;; CLPI CLI common functions 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/clpi/common 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt)) 11 | 12 | (in-package #:clpm-cli/commands/clpi/common) 13 | 14 | (defparameter *default-ui* 15 | (adopt:make-interface 16 | :name "clpm clpi" 17 | :summary "CLPM CLPI commands" 18 | :usage "clpi [options] subcommand" 19 | :help "Common Lisp Project Manager" 20 | :contents (list *group-common*))) 21 | 22 | (define-cli-command-folder (("clpi") *default-ui*)) 23 | -------------------------------------------------------------------------------- /cli/commands/config.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm config 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/config 7 | (:use #:cl 8 | #:clpm-cli/commands/config/common 9 | #:clpm-cli/commands/config/info)) 10 | 11 | (in-package #:clpm-cli/commands/config) 12 | -------------------------------------------------------------------------------- /cli/commands/config/common.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Config CLI common functions 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/config/common 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt)) 11 | 12 | (in-package #:clpm-cli/commands/config/common) 13 | 14 | (defparameter *default-ui* 15 | (adopt:make-interface 16 | :name "clpm config" 17 | :summary "Common Lisp Project Manager" 18 | :usage "config [options] subcommand" 19 | :help "Common Lisp Project Manager" 20 | :contents (list *group-common*))) 21 | 22 | (define-cli-command-folder (("config") *default-ui*)) 23 | -------------------------------------------------------------------------------- /cli/commands/config/info.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm config info 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/config/info 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/commands/config/common 10 | #:clpm-cli/interface-defs 11 | #:clpm/config) 12 | (:import-from #:uiop 13 | #:*stdout*)) 14 | 15 | (in-package #:clpm-cli/commands/config/info) 16 | 17 | (defparameter *config-info-ui* 18 | (adopt:make-interface 19 | :name "clpm config info" 20 | :summary "Common Lisp Project Manager" 21 | :usage "config info [options]" 22 | :help "Common Lisp Project Manager" 23 | :contents (list *group-common*))) 24 | 25 | (define-cli-command (("config" "info") *config-info-ui*) (args options) 26 | (declare (ignore args options)) 27 | (format *stdout* "Config directories: ~A~%~%" *clpm-config-directories*) 28 | (format *stdout* "Current configuration:~%~A~%" (with-output-to-string (s) (print-config s))) 29 | t) 30 | -------------------------------------------------------------------------------- /cli/commands/exec.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm exec 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/exec 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt) 11 | (:import-from #:clpm)) 12 | 13 | (in-package #:clpm-cli/commands/exec) 14 | 15 | (defparameter *option-with-client* 16 | (adopt:make-option 17 | :exec-with-client 18 | :long "with-client" 19 | :help "Include the CLPM client in the source registry" 20 | :reduce (constantly t))) 21 | 22 | (defparameter *exec-ui* 23 | (adopt:make-interface 24 | :name "clpm exec" 25 | :summary "Common Lisp Project Manager Exec" 26 | :usage "exec [options] [command]" 27 | :help "Execute a command with environment variables configured to use a context" 28 | :contents (list *group-common* 29 | *option-context* 30 | *option-with-client*))) 31 | 32 | (define-cli-command (("exec") *exec-ui*) (args options) 33 | (clpm:exec (first args) (rest args) :with-client-p (gethash :exec-with-client options))) 34 | -------------------------------------------------------------------------------- /cli/commands/find.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm find 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/find 7 | (:use #:cl 8 | #:alexandria 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/find) 15 | 16 | (defparameter *find-ui* 17 | (adopt:make-interface 18 | :name "clpm find" 19 | :summary "Common Lisp Project Manager Find" 20 | :usage "find [options] SYSTEM-NAME" 21 | :help "List the pathname to a system in the context" 22 | :contents (list *group-common* 23 | *option-context*))) 24 | 25 | (define-cli-command (("find") *find-ui*) (args options) 26 | (declare (ignore options)) 27 | (assert (length= 1 args)) 28 | (let ((pathname (clpm:find-system-asd-pathname (first args)))) 29 | (when pathname 30 | (format t "~A~%" pathname) 31 | t))) 32 | -------------------------------------------------------------------------------- /cli/commands/output-translations.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm output-translations 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/output-translations 7 | (:use #:cl 8 | #:alexandria 9 | #:clpm-cli/common-args 10 | #:clpm-cli/interface-defs) 11 | (:import-from #:adopt) 12 | (:import-from #:clpm)) 13 | 14 | (in-package #:clpm-cli/commands/output-translations) 15 | 16 | (defparameter *output-translations-ui* 17 | (adopt:make-interface 18 | :name "clpm output-translations" 19 | :summary "Common Lisp Project Manager Output-Translations" 20 | :usage "output-translations [options]" 21 | :help "Print an ASDF output-translations form using the projects installed in a context" 22 | :contents (list *group-common* 23 | *option-context*))) 24 | 25 | (define-cli-command (("output-translations") *output-translations-ui*) (args options) 26 | (declare (ignore options args)) 27 | (when-let ((output-translations (clpm:output-translations))) 28 | (with-standard-io-syntax 29 | (let ((*print-case* :downcase)) 30 | (prin1 output-translations)) 31 | (terpri))) 32 | t) 33 | -------------------------------------------------------------------------------- /cli/commands/sync.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm sync 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/sync 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt) 11 | (:import-from #:clpm)) 12 | 13 | (in-package #:clpm-cli/commands/sync) 14 | 15 | (define-string *help-text* 16 | "Sync all sources.") 17 | 18 | (defparameter *sync-ui* 19 | (adopt:make-interface 20 | :name "clpm-sync" 21 | :summary "Common Lisp Project Manager Sync" 22 | :usage "sync [SOURCE-NAME*]" 23 | :help *help-text* 24 | :manual *help-text* 25 | :contents (list *group-common*))) 26 | 27 | (define-cli-command (("sync") *sync-ui*) (args options) 28 | (declare (ignore options)) 29 | (clpm:sync :sources args) 30 | t) 31 | -------------------------------------------------------------------------------- /cli/commands/update.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm update 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/update 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt) 11 | (:import-from #:clpm)) 12 | 13 | (in-package #:clpm-cli/commands/update) 14 | 15 | (defparameter *option-update-yes* 16 | (adopt:make-option 17 | :update-yes 18 | :short #\y 19 | :long "yes" 20 | :help "Answer yes to all questions" 21 | :reduce (constantly t))) 22 | 23 | (defparameter *option-update-project* 24 | (adopt:make-option 25 | :update-projects 26 | :short #\p 27 | :long "project" 28 | :parameter "PROJECT-NAME" 29 | :help "Update a project instead of a system." 30 | :reduce (adopt:flip #'cons))) 31 | 32 | (defparameter *update-ui* 33 | (adopt:make-interface 34 | :name "clpm update" 35 | :summary "Common Lisp Project Manager Update" 36 | :usage "update [options] SYSTEM-NAMES*" 37 | :help "Common Lisp Project Manager" 38 | :contents (list *group-common* 39 | *option-update-project* 40 | *option-update-yes* 41 | *option-context*))) 42 | 43 | (define-cli-command (("update") *update-ui*) (args options) 44 | (let ((system-names args) 45 | (project-names (gethash :update-projects options)) 46 | (yes-p (gethash :update-yes options))) 47 | (clpm:update :validate (make-diff-validate-fun :yesp yes-p) 48 | :update-systems system-names 49 | :update-projects project-names) 50 | t)) 51 | -------------------------------------------------------------------------------- /cli/commands/version.lisp: -------------------------------------------------------------------------------- 1 | ;;;; clpm version 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/commands/version 7 | (:use #:cl 8 | #:clpm-cli/common-args 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt) 11 | (:import-from #:clpm) 12 | (:import-from #:uiop 13 | #:*stdout*)) 14 | 15 | (in-package #:clpm-cli/commands/version) 16 | 17 | (define-string *help-text* 18 | "Display CLPM version information. The output is not guaranteed to remain 19 | stable between releases of CLPM. When verbose mode is active, print more details 20 | about the build, host, and features.") 21 | 22 | (defparameter *version-ui* 23 | (adopt:make-interface 24 | :name "clpm-version" 25 | :summary "Common Lisp Project Manager Version" 26 | :usage "version [options]" 27 | :help *help-text* 28 | :contents (list *group-common*))) 29 | 30 | (defun print-version (options) 31 | (if (plusp (gethash :cli-config-log-level options)) 32 | (progn 33 | (format *stdout* "CLPM version ~A~%" (clpm:clpm-version)) 34 | (format *stdout* "~A ~A~%" (lisp-implementation-type) (lisp-implementation-version)) 35 | (format *stdout* "ASDF ~A~%" (asdf:asdf-version)) 36 | (format *stdout* "Software Type: ~A~%" (software-type)) 37 | (format *stdout* "Software Version: ~A~%" (software-version)) 38 | (with-standard-io-syntax 39 | (let ((*print-pretty* t)) 40 | (format *stdout* "Features:~%~S~%" *features*)))) 41 | (format *stdout* "~A~%" (clpm:clpm-version)))) 42 | 43 | 44 | (define-cli-command (("version") *version-ui*) (args options) 45 | (declare (ignore args)) 46 | (print-version options) 47 | t) 48 | -------------------------------------------------------------------------------- /cli/hooks.lisp: -------------------------------------------------------------------------------- 1 | (uiop:define-package #:clpm-cli/hooks 2 | (:use #:cl)) 3 | 4 | (in-package #:clpm-cli/hooks) 5 | 6 | (uiop:register-image-restore-hook 7 | (lambda () 8 | ;; Fix PURI's URL encoding to always use uppercase letters: 9 | (setf puri::*escaped-encoding* 10 | (vector #\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9 #\A #\B #\C #\D #\E #\F)))) 11 | -------------------------------------------------------------------------------- /cli/man.lisp: -------------------------------------------------------------------------------- 1 | ;;;; CLPM Manual 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-cli/man 7 | (:use #:cl 8 | #:alexandria 9 | #:clpm-cli/interface-defs) 10 | (:import-from #:adopt) 11 | (:export #:manual-file-names 12 | #:output-manual)) 13 | 14 | (in-package #:clpm-cli/man) 15 | 16 | (defun manual-file-names () 17 | (let ((out)) 18 | (maphash 19 | (lambda (path ui) 20 | (declare (ignore ui)) 21 | (let ((file-name (if (listp path) 22 | (format nil "clpm-~{~A~^-~}.1" path) 23 | path))) 24 | (push file-name out))) 25 | *uis*) 26 | out)) 27 | 28 | (defun output-manual (dir) 29 | (ensure-directories-exist dir) 30 | (maphash 31 | (lambda (path ui) 32 | (let ((file-name (if (listp path) 33 | (format nil "clpm-~{~A~^-~}.1" path) 34 | path))) 35 | (with-open-file (s (merge-pathnames file-name dir) 36 | :direction :output 37 | :if-exists :supersede) 38 | (adopt:print-manual ui :stream s)))) 39 | *uis*)) 40 | -------------------------------------------------------------------------------- /clpm-asdf.asd: -------------------------------------------------------------------------------- 1 | ;;;; CLPM-ASDF System Definition 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (load-system :asdf-release-ops) 7 | 8 | (defsystem #:clpm-asdf 9 | :version (:read-file-form "version.lisp-expr") 10 | :description "ASDF bootstrapping for CLPM" 11 | :license "BSD-2-Clause" 12 | :pathname "clpm-asdf/" 13 | :depends-on (#:asdf-release-ops 14 | #:cl-semver 15 | #:trivial-features) 16 | :components ((:file "package") 17 | (:file "features" :depends-on ("package")) 18 | (:file "version" :depends-on ("package")) 19 | (:file "system" :depends-on ("package" "features" "version")) 20 | (:file "dependencies-license-op" :depends-on ("package" "system")) 21 | (:file "client" :depends-on ("package" "system")) 22 | (:file "install-script" :depends-on ("package" "system")))) 23 | -------------------------------------------------------------------------------- /clpm-asdf/install-script.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Install script 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:clpm-asdf) 7 | 8 | (defclass release-clpm-install-script (ops::release-file) 9 | ((type 10 | :initform "sh"))) 11 | 12 | (defmethod ops::release-component-class-by-type (parent (type (eql :clpm-install-script))) 13 | 'release-clpm-install-script) 14 | 15 | (defmethod ops::release-op-build-action ((o ops:release-stage-op) (c release-clpm-install-script)) 16 | nil) 17 | 18 | (defmethod asdf:input-files ((o ops:release-stage-op) (c release-clpm-install-script)) 19 | (list (asdf:system-relative-pathname :clpm "install.sh"))) 20 | 21 | (defmethod asdf:output-files ((o ops:release-stage-op) (c release-clpm-install-script)) 22 | (values 23 | (list (merge-pathnames "install.sh" (asdf:component-pathname c))) 24 | (ops::release-op-ignore-output-translations-p o c))) 25 | 26 | (defmethod asdf:perform ((o ops:release-stage-op) (c release-clpm-install-script)) 27 | (let ((input (first (asdf:input-files o c))) 28 | (output (asdf:output-file o c))) 29 | (funcall (uiop:find-symbol* :copy-file :asdf-release-ops) input output))) 30 | -------------------------------------------------------------------------------- /clpm-asdf/package.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Package 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm-asdf 7 | (:use #:cl) 8 | (:local-nicknames (#:ops #:asdf-release-ops)) 9 | (:export #:build-clpm-client-tarball-op 10 | #:clpm-system)) 11 | 12 | (in-package #:clpm-asdf) 13 | -------------------------------------------------------------------------------- /clpm-asdf/system.lisp: -------------------------------------------------------------------------------- 1 | ;;;; System 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:clpm-asdf) 7 | 8 | (defclass clpm-system (ops:release-system-inferred-system) 9 | ()) 10 | 11 | (defmethod ops:program-image-features (o (s clpm-system)) 12 | (augment-features (clpm-features))) 13 | 14 | (defmethod ops:program-static-image-features (o (s clpm-system)) 15 | (list :cl+ssl-foreign-libs-already-loaded)) 16 | 17 | (defmethod ops::release-system-version-designator ((s clpm-system)) 18 | (clpm-version)) 19 | -------------------------------------------------------------------------------- /clpm-cli.asd: -------------------------------------------------------------------------------- 1 | ;;;; CLPM-CLI System Definition 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | #-:asdf3.2 7 | (error "Requires ASDF >=3.2") 8 | 9 | (in-package :asdf-user) 10 | 11 | (defsystem #:clpm-cli 12 | :version (:read-file-form "version.lisp-expr") 13 | :description "Command Line Interface for CLPM" 14 | :license "BSD-2-Clause" 15 | :pathname "cli/" 16 | :class :package-inferred-system 17 | :entry-point "clpm-cli/entry:main" 18 | :build-operation "program-op" 19 | :build-pathname "build/clpm" 20 | :depends-on (#:clpm-cli/clpm-cli)) 21 | -------------------------------------------------------------------------------- /clpm-client/bundle.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Interacting with bundles 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:clpm-client) 7 | 8 | (defun bundle-init (clpmfile &key asds) 9 | "Create a new clpmfile located at CLPMFILE. Adds all ASDS (must be relative to 10 | CLPMFILE) to the new clpmfile." 11 | (setf clpmfile (uiop:ensure-absolute-pathname clpmfile)) 12 | (with-clpm-proc (proc) 13 | (clpm-proc-print 14 | proc 15 | `(bundle-init :clpmfile ,clpmfile :asds ',asds)) 16 | (clpm-proc-read proc))) 17 | -------------------------------------------------------------------------------- /clpm-client/cleanup.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Cleaning up the client 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:clpm-client) 7 | 8 | (defvar *cleanup-on-dump-p* nil 9 | "If non-NIL, the CLPM client will cleanup after itself if an image is dumped 10 | in a manner that uses UIOP's image dump hooks. See CLEANUP-CLPM-CLIENT for 11 | details.") 12 | 13 | (defvar *cleanup-hooks* nil 14 | "List of functions to run in CLEANUP-CLPM-CLIENT. Meant for internal use.") 15 | 16 | (defun register-clpm-cleanup-hook (hook) 17 | "Register a new function to be called as part of CLEANUP-CLPM-CLIENT." 18 | (pushnew hook *cleanup-hooks*)) 19 | 20 | (defun cleanup-clpm-client () 21 | "Performs the following steps: 22 | 23 | 1. Removes :CLPM-CLIENT from *FEATURES* 24 | 25 | 2. Runs all hooks in *CLEANUP-HOOKS*. 26 | 27 | 3. Removes MAYBE-CLEANUP-CLPM-CLIENT from UIOP:*IMAGE-DUMP-HOOK* 28 | 29 | 4. Deletes the CLPM-CLIENT package." 30 | ;; Remove ourselves from *FEATURES* 31 | (setf *features* (remove :clpm-client *features*)) 32 | ;; Run all cleanup hooks 33 | (mapc 'funcall *cleanup-hooks*) 34 | ;; Remove ourselves from UIOP's image dump hook 35 | (setf uiop:*image-dump-hook* (remove 'maybe-cleanup-clpm-client uiop:*image-dump-hook*)) 36 | ;; Delete the clpm-client package. 37 | (delete-package (find-package :clpm-client))) 38 | 39 | (defun maybe-cleanup-clpm-client () 40 | "Run CLEANUP-CLPM-CLIENT iff *CLEANUP-ON-DUMP-P* is non-NIL." 41 | (when *cleanup-on-dump-p* 42 | (cleanup-clpm-client))) 43 | 44 | ;; Register our cleanup function with UIOP's image dump facilities. 45 | (uiop:register-image-dump-hook 'maybe-cleanup-clpm-client) 46 | -------------------------------------------------------------------------------- /clpm-client/clpm-client.asd: -------------------------------------------------------------------------------- 1 | ;;;; CLPM Client System Definition 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (defsystem #:clpm-client 7 | :version (:read-file-form "version.lisp" :at (1 2)) 8 | :description "A client for CLPM" 9 | :license "BSD-2-Clause" 10 | :depends-on ((:version #:uiop "3.1.7.26")) 11 | :serial nil 12 | :components 13 | ((:file "asdf" :depends-on ("package" "cleanup" "context")) 14 | (:file "bundle" :depends-on ("package" "proc")) 15 | (:file "cleanup" :depends-on ("package")) 16 | (:file "context" :depends-on ("package" "proc" "cleanup")) 17 | (:file "diff" :depends-on ("package")) 18 | (:file "env" :depends-on ("package")) 19 | (:file "install" :depends-on ("package" "proc")) 20 | (:file "package") 21 | (:file "proc" :depends-on ("package")) 22 | (:file "sync" :depends-on ("package" "proc")) 23 | (:file "ui" :depends-on ("package")) 24 | (:file "update" :depends-on ("package" "proc")) 25 | (:file "version" :depends-on ("package" "proc")))) 26 | -------------------------------------------------------------------------------- /clpm-client/env.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Inferring things from the environment 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:clpm-client) 7 | 8 | (defun clpm-exec-context () 9 | "Returns the context used for `clpm exec` or NIL" 10 | (uiop:getenvp "CLPM_EXEC_CONTEXT")) 11 | 12 | (defun inside-bundle-exec-p () 13 | "Returns non-NIL iff we were spawned by a `clpm bundle exec` command." 14 | (uiop:getenvp "CLPM_BUNDLE_CLPMFILE")) 15 | 16 | (defun bundle-command () 17 | "Return a command (list of string) suitable for invoking the same CLPM 18 | executable that spawned this bundle exec environment." 19 | (let ((bin (uiop:getenv "CLPM_BUNDLE_BIN"))) 20 | (if bin 21 | (list bin) 22 | (let ((live-script (uiop:getenv "CLPM_BUNDLE_BIN_LIVE_SCRIPT")) 23 | (lisp-implementation (uiop:getenv "CLPM_BUNDLE_BIN_LISP_IMPLEMENTATION"))) 24 | (cond 25 | ((equalp "sbcl" lisp-implementation) 26 | (list "sbcl" "--script" live-script)) 27 | (t 28 | (error "Unknown lisp implementation"))))))) 29 | -------------------------------------------------------------------------------- /clpm-client/sync.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Interface to clpm sync 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:clpm-client) 7 | 8 | (defun sync (&key sources) 9 | "Sync a set of SOURCES. If no sources are listed, all are synced." 10 | (with-clpm-proc (proc) 11 | (clpm-proc-print 12 | proc 13 | `(progn 14 | (sync :sources ',(ensure-list sources)) 15 | t)) 16 | (clpm-proc-read proc) 17 | (values))) 18 | -------------------------------------------------------------------------------- /clpm-client/version.lisp: -------------------------------------------------------------------------------- 1 | ;;;; CLPM Version 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:clpm-client) 7 | 8 | ;; If the location of this changes, the asd file must be updated! 9 | (defvar *version* "0.4.0" 10 | "The client's version.") 11 | 12 | (defun clpm-client-version () 13 | "The client's version." 14 | *version*) 15 | 16 | (defun clpm-version () 17 | "The version information for the clpm executable." 18 | (with-clpm-proc (proc) 19 | (clpm-proc-print proc '(clpm-version)) 20 | (clpm-proc-read proc))) 21 | -------------------------------------------------------------------------------- /clpm-test.asd: -------------------------------------------------------------------------------- 1 | ;;;; CLPM Test System Definition 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | #-:asdf3.2 7 | (error "Requires ASDF >=3.2") 8 | 9 | (defsystem #:clpm-test 10 | :version (:read-file-form "version.lisp-expr") 11 | :description "Tests for CLPM" 12 | :license "BSD-2-Clause" 13 | :pathname "test/" 14 | :depends-on (#:fiveam #:hunchentoot) 15 | :serial t 16 | :components 17 | ((:file "package") 18 | (:file "suite") 19 | (:file "quicklisp-bundle") 20 | (:file "tests"))) 21 | -------------------------------------------------------------------------------- /clpm/archives.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Support for extracting archives. 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/archives 7 | (:use #:cl 8 | #:clpm/archives/defs 9 | #:clpm/archives/chipz 10 | #:clpm/archives/tar) 11 | (:reexport #:clpm/archives/defs)) 12 | 13 | (in-package #:clpm/archives) 14 | -------------------------------------------------------------------------------- /clpm/archives/archive.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Support for extracting archives using the Archive Common Lisp library. 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/archives/archive 7 | (:use #:cl 8 | #:alexandria 9 | #:clpm/archives/defs) 10 | (:import-from #:babel) 11 | (:import-from #:flexi-streams 12 | #:make-flexi-stream 13 | #:make-in-memory-input-stream) 14 | (:import-from #:archive 15 | #:open-archive) 16 | (:import-from #:sb-posix 17 | #:utimes)) 18 | 19 | (in-package #:clpm/archives/archive) 20 | 21 | (defun strip-components (pathname number) 22 | (assert (uiop:relative-pathname-p pathname)) 23 | (let* ((dirs (rest (pathname-directory pathname))) 24 | (filename (file-namestring pathname)) 25 | (components (append dirs (list filename)))) 26 | (when (> (length components) number) 27 | (uiop:resolve-relative-location (subseq components number))))) 28 | 29 | (defun update-utimes (pathname time) 30 | (declare (ignorable pathname time)) 31 | #-:os-windows 32 | (utimes pathname time time)) 33 | 34 | (defmethod unarchive-tar (client archive-stream destination-pathname) 35 | (let (archive) 36 | (unwind-protect 37 | (let ((*default-pathname-defaults* (pathname destination-pathname))) 38 | (setf archive (open-archive 'archive:tar-archive (make-flexi-stream archive-stream))) 39 | (archive::extract-files-from-archive archive 40 | (lambda (name) 41 | (not (null (pathname-directory name)))))) 42 | (close-archive archive)))) 43 | -------------------------------------------------------------------------------- /clpm/archives/chipz.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Support for inflating archives using the Chipz Common Lisp library. 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/archives/chipz 7 | (:use #:cl 8 | #:chipz 9 | #:clpm/archives/defs)) 10 | 11 | (in-package #:clpm/archives/chipz) 12 | 13 | (defmethod stream-element-type ((stream chipz::decompressing-stream)) 14 | "Chipz's decompressing streams have unsigned bytes as the elements. This 15 | should be implemented in chipz itself." 16 | 17 | '(unsigned-byte 8)) 18 | 19 | (defmethod unarchive :around ((archive-type gzipped-archive) archive-stream destination-pathname 20 | &key strip-components) 21 | "If an archive is gzipped, make a decompressing stream using chipz and then 22 | call the next method with that stream instead of ~archive-stream~." 23 | (with-open-stream (s (chipz:make-decompressing-stream 'chipz:gzip archive-stream)) 24 | (call-next-method archive-type s destination-pathname 25 | :strip-components strip-components))) 26 | -------------------------------------------------------------------------------- /clpm/cache.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Support for generating pathnames to files in CLPM's cache on the 2 | ;;;; filesystem. 3 | ;;;; 4 | ;;;; This software is part of CLPM. See README.org for more information. See 5 | ;;;; LICENSE for license information. 6 | 7 | (uiop:define-package #:clpm/cache 8 | (:use #:cl) 9 | (:export #:clpm-cache-pathname)) 10 | 11 | (in-package #:clpm/cache) 12 | 13 | (defvar *clpm-cache-root* nil 14 | "Pathname to the directory designating the root of CLPM's cache directory.") 15 | 16 | (defun compute-clpm-cache-root () 17 | "Compute ~*clpm-cache-root*~ using the CLPM_CACHE_DIR variable or the XDG 18 | cache home." 19 | (setf *clpm-cache-root* 20 | (or (uiop:getenv-absolute-directory "CLPM_CACHE_DIR") 21 | (uiop:os-cond 22 | ((uiop:os-windows-p) 23 | (uiop:resolve-absolute-location (list (uiop:get-folder-path :local-appdata) 24 | "clpm" 25 | "cache") 26 | :ensure-directory t)) 27 | (t 28 | (uiop:xdg-cache-home "clpm/")))))) 29 | 30 | (defun clear-clpm-cache-root () 31 | "Clear the ~*clpm-cache-root*~ variable." 32 | (setf *clpm-cache-root* nil)) 33 | 34 | (uiop:register-clear-configuration-hook 'clear-clpm-cache-root) 35 | (uiop:register-image-restore-hook 'compute-clpm-cache-root) 36 | 37 | (defun clpm-cache-pathname (x &key ensure-directory) 38 | "Given a list of directories, optionally ending with a file name and type, 39 | ~x~ relative to ~*clpm-cache-root*~, return an absolute pathname. If 40 | ~ensure-directory~ is non-NIL, ensures the returned pathname is a directory." 41 | (check-type x list) 42 | (uiop:resolve-absolute-location 43 | (list* 44 | *clpm-cache-root* 45 | x) 46 | :ensure-directory ensure-directory)) 47 | -------------------------------------------------------------------------------- /clpm/clpm.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Common Lisp Project Manager - CLPM. 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/clpm 7 | (:nicknames #:clpm) 8 | (:use #:cl 9 | #:clpm/bundle 10 | #:clpm/client 11 | #:clpm/clpi 12 | #:clpm/config 13 | #:clpm/context-diff 14 | #:clpm/context-queries 15 | #:clpm/exec 16 | #:clpm/install 17 | #:clpm/session 18 | #:clpm/source 19 | #:clpm/sync 20 | #:clpm/update 21 | #:clpm/version) 22 | ;; From bundle 23 | (:export #:bundle-exec 24 | #:bundle-init 25 | #:bundle-install 26 | #:bundle-source-registry 27 | #:bundle-update) 28 | ;; From client 29 | (:export #:client-asd-pathname 30 | #:client-user-data-pathname 31 | #:install-client-to-user-data) 32 | ;; From clpi 33 | (:export #:make-release-jsown) 34 | ;; From config 35 | (:export #:config-value) 36 | ;; From context-queries 37 | (:export #:asd-pathnames 38 | #:find-system-asd-pathname 39 | #:output-translations 40 | #:source-registry) 41 | ;; From exec 42 | (:export #:exec) 43 | ;; From install 44 | (:export #:install) 45 | ;; From session 46 | (:export #:with-clpm-session) 47 | ;; From sync 48 | (:export #:sync) 49 | ;; From update 50 | (:export #:update) 51 | ;; From version 52 | (:export #:clpm-version)) 53 | 54 | (in-package #:clpm/clpm) 55 | -------------------------------------------------------------------------------- /clpm/config/default-source.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Definitions for using the default values as a CLPM config source. 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/config/default-source 7 | (:use #:cl 8 | #:clpm/config/defs 9 | #:clpm/config/source-defs) 10 | (:export #:config-default-source)) 11 | 12 | (in-package #:clpm/config/default-source) 13 | 14 | (defclass config-default-source (config-source) 15 | () 16 | (:documentation 17 | "A config source that simply returns the default values.")) 18 | 19 | (defmethod config-source-value ((config-source config-default-source) path) 20 | (let ((config-entry (get-config-entry path))) 21 | (values (getf (cdr config-entry) :default) 22 | t))) 23 | 24 | (defmethod config-source-implicit-keys ((config-source config-default-source) path) 25 | "The default config provides no implicit keys." 26 | nil) 27 | -------------------------------------------------------------------------------- /clpm/config/source-defs.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Definitions for CLPM configuration sources. 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/config/source-defs 7 | (:use #:cl) 8 | (:export #:config-source 9 | #:config-source-implicit-keys 10 | #:config-source-value)) 11 | 12 | (in-package #:clpm/config/source-defs) 13 | 14 | (defclass config-source () 15 | () 16 | (:documentation 17 | "Parent class for config sources.")) 18 | 19 | (defgeneric config-source-value (config-source path)) 20 | 21 | (defgeneric config-source-implicit-keys (config-source path) 22 | (:documentation 23 | "Given a path, return all possible values for the next path segment defined 24 | in this config source. The only defined child to `PATH` MUST be `:*`")) 25 | -------------------------------------------------------------------------------- /clpm/data.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Support for generating pathnames to files in CLPM's datastore on the 2 | ;;;; filesystem. 3 | ;;;; 4 | ;;;; This software is part of CLPM. See README.org for more information. See 5 | ;;;; LICENSE for license information. 6 | 7 | (uiop:define-package #:clpm/data 8 | (:use #:cl) 9 | (:export #:clpm-data-pathname)) 10 | 11 | (in-package #:clpm/data) 12 | 13 | (defvar *clpm-data-root* nil 14 | "Pathname to the directory designating the root of CLPM's data directory.") 15 | 16 | (defun compute-clpm-data-root () 17 | "Compute ~*clpm-data-root*~ using the CLPM_DATA_DIR variable or the XDG data 18 | home." 19 | (setf *clpm-data-root* 20 | (or (uiop:getenv-absolute-directory "CLPM_DATA_DIR") 21 | (uiop:os-cond 22 | ((uiop:os-windows-p) 23 | (uiop:resolve-absolute-location (list (uiop:get-folder-path :local-appdata) 24 | "clpm" 25 | "data") 26 | :ensure-directory t)) 27 | (t 28 | (uiop:xdg-data-home "clpm/")))))) 29 | 30 | (defun clear-clpm-data-root () 31 | "Clear the ~*clpm-data-root*~ variable." 32 | (setf *clpm-data-root* nil)) 33 | 34 | (uiop:register-clear-configuration-hook 'clear-clpm-data-root) 35 | (uiop:register-image-restore-hook 'compute-clpm-data-root) 36 | 37 | (defun clpm-data-pathname (x &key ensure-directory) 38 | "Given a list of directories, optionally ending with a file name and type, 39 | ~x~ relative to ~*clpm-data-root*~, return an absolute pathname. If 40 | ~ensure-directory~ is non-NIL, ensures the returned pathname is a directory." 41 | (check-type x list) 42 | (uiop:resolve-absolute-location 43 | (list* 44 | *clpm-data-root* 45 | x) 46 | :ensure-directory ensure-directory)) 47 | -------------------------------------------------------------------------------- /clpm/http-client/cl-plus-ssl.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Integration with CL+SSL 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/http-client/cl-plus-ssl 7 | (:use #:cl 8 | #:cl+ssl)) 9 | 10 | (in-package #:clpm/http-client/cl-plus-ssl) 11 | 12 | (defun reinit-openssl () 13 | "Hook to be run on image restore that tries to load and initialize OpenSSL." 14 | ;; Errors could be from libraries not being available, or being unable to 15 | ;; initialize because an incompatible OpenSSL version was loaded. 16 | (ignore-errors 17 | (reload) 18 | (ensure-initialized))) 19 | 20 | (uiop:register-image-restore-hook 'reinit-openssl nil) 21 | -------------------------------------------------------------------------------- /clpm/install/defs.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Basic installation support 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/install/defs 7 | (:use #:cl 8 | #:clpm/sources/defs) 9 | (:export #:install-release)) 10 | 11 | (in-package #:clpm/install/defs) 12 | 13 | (defgeneric install-release (release) 14 | (:documentation "Install a ~release~.")) 15 | -------------------------------------------------------------------------------- /clpm/log.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Logging support 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/log 7 | (:use #:cl) 8 | (:import-from #:log4cl) 9 | (:export #:setup-logger)) 10 | 11 | (in-package #:clpm/log) 12 | 13 | ;;; Logging framework for CLPM 14 | 15 | (defmacro setup-logger () 16 | "This macro *must* be called in any package where the logging macros are 17 | used." 18 | `(eval-when (:compile-toplevel :load-toplevel :execute) 19 | (log:package-options :category-separator "/"))) 20 | -------------------------------------------------------------------------------- /clpm/repos.lisp: -------------------------------------------------------------------------------- 1 | ;;;; VCS Repositories 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/repos 7 | (:use #:cl 8 | #:clpm/repos/defs 9 | #:clpm/repos/git 10 | #:clpm/repos/github 11 | #:clpm/repos/gitlab 12 | #:clpm/repos/local-git-override 13 | #:clpm/repos/plain-git) 14 | (:reexport #:clpm/repos/defs) 15 | (:reexport #:clpm/repos/git) 16 | (:reexport #:clpm/repos/github) 17 | (:reexport #:clpm/repos/gitlab) 18 | (:reexport #:clpm/repos/local-git-override) 19 | (:export #:make-repo-from-description)) 20 | 21 | (in-package #:clpm/repos) 22 | 23 | (defun make-repo-from-description (desc) 24 | (destructuring-bind (repo-type &rest args) desc 25 | (ecase repo-type 26 | (:git 27 | (apply #'make-instance 'plain-git-repo args)) 28 | (:github 29 | (apply #'make-instance 'github-repo args)) 30 | (:gitlab 31 | (apply #'make-instance 'gitlab-repo args))))) 32 | -------------------------------------------------------------------------------- /clpm/repos/defs.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Defs for VCS Repositories 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | 7 | (uiop:define-package #:clpm/repos/defs 8 | (:use #:cl) 9 | (:export #:*fetch-repo-automatically* 10 | #:clone-repo! 11 | #:ensure-ref-present-locally! 12 | #:ref-present-p 13 | #:repo-archive-stream 14 | #:repo-current-branch 15 | #:repo-current-commit 16 | #:repo-lib-base-pathname 17 | #:repo-to-form 18 | #:resolve-ref-to-commit)) 19 | 20 | (in-package #:clpm/repos/defs) 21 | 22 | (defvar *fetch-repo-automatically* t) 23 | 24 | (defgeneric clone-repo! (repo &key pathname not-bare-p)) 25 | 26 | (defgeneric ensure-ref-present-locally! (repo ref)) 27 | 28 | (defgeneric ref-present-p (repo ref)) 29 | 30 | (defgeneric repo-archive-stream (repo ref)) 31 | 32 | (defgeneric repo-current-branch (repo)) 33 | 34 | (defgeneric repo-current-commit (repo)) 35 | 36 | (defgeneric repo-lib-base-pathname (repo)) 37 | 38 | (defgeneric repo-to-form (repo)) 39 | 40 | (defgeneric resolve-ref-to-commit (repo ref)) 41 | -------------------------------------------------------------------------------- /clpm/repos/local-git-override.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Git Repositories 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/repos/local-git-override 7 | (:use #:cl 8 | #:clpm/log 9 | #:clpm/repos/git) 10 | (:export #:local-git-override-repo)) 11 | 12 | (in-package #:clpm/repos/local-git-override) 13 | 14 | (setup-logger) 15 | 16 | (defclass local-git-override-repo (git-repo) 17 | ((directory-pathname 18 | :initarg :pathname 19 | :reader git-repo-local-dir))) 20 | 21 | (defmethod initialize-instance :after ((repo local-git-override-repo) &rest initargs &key pathname) 22 | (declare (ignore initargs)) 23 | (assert (uiop:absolute-pathname-p pathname)) 24 | (assert (uiop:directory-pathname-p pathname)) 25 | (assert (uiop:directory-exists-p pathname))) 26 | -------------------------------------------------------------------------------- /clpm/resolve/defs.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Requirement resolution definitions 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/resolve/defs 7 | (:use #:cl 8 | #:clpm/log) 9 | (:export #:provided-system-p)) 10 | 11 | (in-package #:clpm/resolve/defs) 12 | 13 | (setup-logger) 14 | 15 | (defparameter *sb-contribs* 16 | '("sb-aclrepl" "sb-bsd-sockets" "sb-capstone" "sb-cltl2" "sb-concurrency" "sb-cover" 17 | "sb-executable" "sb-gmp" "sb-grovel" "sb-introspect" "sb-md5" "sb-mpfr" "sb-posix" 18 | "sb-queue" "sb-rotate-byte" "sb-rt" "sb-simple-streams" "sb-sprof") 19 | "SBCL contrib systems.") 20 | 21 | (defun provided-system-p (system-name) 22 | (or (equal "asdf" (asdf:primary-system-name system-name)) 23 | (equal "uiop" (asdf:primary-system-name system-name)) 24 | (member system-name *sb-contribs* :test #'equal))) 25 | -------------------------------------------------------------------------------- /clpm/sandbox.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Pluggable sandbox clients. 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/sandbox 7 | (:use #:cl 8 | #:clpm/sandbox/defs) 9 | (:reexport #:clpm/sandbox/defs)) 10 | 11 | (in-package #:clpm/sandbox) 12 | -------------------------------------------------------------------------------- /clpm/sandbox/firejail.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Support for sandboxing with firejail 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/sandbox/firejail 7 | (:use #:cl 8 | #:clpm/cache 9 | #:clpm/sandbox/defs)) 10 | 11 | (in-package #:clpm/sandbox/firejail) 12 | 13 | (defclass firejail-sandbox () 14 | ((path 15 | :initarg :path 16 | :initform "firejail" 17 | :reader firejail-path 18 | :documentation 19 | "Path to firejail executable.")) 20 | (:documentation 21 | "A sandbox client that uses firejail.")) 22 | 23 | (register-sandbox-client :firejail 'firejail-sandbox) 24 | 25 | (defmethod sandbox-client-available-p ((client firejail-sandbox)) 26 | "Returns T iff the firejail program exists at the path specified by the client 27 | and its version can be successfully queried." 28 | (ignore-errors 29 | (zerop 30 | (nth-value 2 31 | (uiop:run-program (list (firejail-path client) 32 | "--version") 33 | :ignore-error-status t))))) 34 | 35 | (defmethod %sandbox-augment-command ((client firejail-sandbox) command 36 | &key read-write-pathnames) 37 | `(,(firejail-path client) 38 | "--x11=none" 39 | "--net=none" 40 | "--private-tmp" 41 | "--read-only=/home" 42 | ,(format nil "--read-only=~A" (uiop:getenv "HOME")) 43 | ,@(loop 44 | :for place :in read-write-pathnames 45 | :for namestring := (namestring place) 46 | :collect (format nil "--read-write=~A" namestring)) 47 | "--quiet" 48 | "--caps.drop=all" 49 | "--no3d" 50 | "--nodbus" 51 | "--nodvd" 52 | "--nonewprivs" 53 | "--noroot" 54 | "--nosound" 55 | "--novideo" 56 | "--private-dev" 57 | "--seccomp" 58 | "--shell=none" 59 | "--" 60 | ,@command)) 61 | -------------------------------------------------------------------------------- /clpm/sources/dotted-versioned-project.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Dotted versioned projects 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/sources/dotted-versioned-project 7 | (:use #:cl 8 | #:clpm/sources/defs 9 | #:clpm/version-strings) 10 | (:export #:dotted-versioned-release 11 | #:dotted-versioned-system-release)) 12 | 13 | (in-package #:clpm/sources/dotted-versioned-project) 14 | 15 | (defclass dotted-versioned-release (clpm-release) 16 | ()) 17 | 18 | (defmethod release-satisfies-version-spec-p ((release dotted-versioned-release) 19 | version-spec) 20 | (version-spec-satisfied-p/dotted version-spec (release-version release))) 21 | 22 | (defmethod release-> ((release-1 dotted-versioned-release) 23 | (release-2 dotted-versioned-release)) 24 | (assert (eql (release-project release-1) (release-project release-2))) 25 | (uiop:version< (release-version release-2) 26 | (release-version release-1))) 27 | 28 | 29 | (defclass dotted-versioned-system-release (clpm-system-release) 30 | ()) 31 | 32 | (defmethod system-release-satisfies-version-spec-p ((system-release dotted-versioned-system-release) 33 | version-spec) 34 | (let ((system-version (system-release-system-version system-release))) 35 | (cond 36 | ((null version-spec) 37 | t) 38 | (system-version 39 | (version-spec-satisfied-p/dotted version-spec system-version)) 40 | (t 41 | nil)))) 42 | 43 | (defmethod system-release-> ((system-release-1 dotted-versioned-system-release) 44 | (system-release-2 dotted-versioned-system-release)) 45 | (uiop:version< (system-release-system-version system-release-2) 46 | (system-release-system-version system-release-1))) 47 | -------------------------------------------------------------------------------- /clpm/sync.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Syncing sources 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/sync 7 | (:use #:cl 8 | #:clpm/log 9 | #:clpm/session 10 | #:clpm/source) 11 | (:export #:sync)) 12 | 13 | (in-package #:clpm/sync) 14 | 15 | (setup-logger) 16 | 17 | (defun sync (&key sources) 18 | (with-clpm-session () 19 | (let ((sources (if sources (mapcar #'get-source sources) (sources)))) 20 | (log:info "Syncing ~{~A~^, ~}" (mapcar #'source-name sources)) 21 | (mapc #'sync-source sources)))) 22 | -------------------------------------------------------------------------------- /clpm/update.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Basic update support 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/update 7 | (:use #:cl 8 | #:alexandria 9 | #:clpm/context 10 | #:clpm/context-diff 11 | #:clpm/install/defs 12 | #:clpm/log 13 | #:clpm/resolve 14 | #:clpm/session 15 | #:clpm/source) 16 | (:export #:update)) 17 | 18 | (in-package #:clpm/update) 19 | 20 | (setup-logger) 21 | 22 | (defun update (&key update-projects update-systems 23 | (validate (constantly t)) 24 | context) 25 | (with-clpm-session () 26 | (with-context (orig-context context) 27 | (with-context (context (copy-context orig-context)) 28 | ;; Map all systems to their corresponding projects. 29 | (dolist (system update-systems) 30 | (when-let* ((release-cons (find-if (lambda (x) 31 | (member system x :test #'equal)) 32 | (context-system-releases orig-context) 33 | :key #'cdr)) 34 | (release (car release-cons)) 35 | (project-name (project-name (release-project release)))) 36 | (pushnew project-name update-projects :test #'equal))) 37 | 38 | (log:info "Updating ~:[all~;~:*~{~A~^, ~}~] projects." update-projects) 39 | (let* ((new-context (resolve-requirements context :update-projects (or update-projects t))) 40 | (diff (make-context-diff orig-context new-context))) 41 | (when (funcall validate diff) 42 | (mapc #'install-release (context-releases new-context)) 43 | (context-write-asdf-files new-context) 44 | (save-context new-context))))))) 45 | -------------------------------------------------------------------------------- /clpm/version.lisp: -------------------------------------------------------------------------------- 1 | ;;;; CLPM version definitions 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (uiop:define-package #:clpm/version 7 | (:use #:cl) 8 | (:import-from #:clpm-asdf 9 | #:clpm-version) 10 | (:export #:clpm-version)) 11 | 12 | (in-package #:clpm/version) 13 | -------------------------------------------------------------------------------- /docs/papers/ELS-21/acmart.ins: -------------------------------------------------------------------------------- 1 | % 2 | % Doctrip file for acmart 3 | % This file is in public domain 4 | % $Id: acmart.ins,v 1.1 2015/11/23 22:42:55 boris Exp $ 5 | % 6 | \def\batchfile{acmart.ins} 7 | \input docstrip 8 | \keepsilent 9 | \showprogress 10 | 11 | 12 | \askforoverwritefalse 13 | 14 | \generate{% 15 | \file{acmart.cls}{\from{acmart.dtx}{class}} 16 | } 17 | 18 | \obeyspaces 19 | \Msg{*****************************************************}% 20 | \Msg{* Congratulations! You successfully generated the *}% 21 | \Msg{* acmart package. *}% 22 | \Msg{* *}% 23 | \Msg{* Please move the file acmart.cls to where LaTeX *}% 24 | \Msg{* files are stored in your system. The manual is *}% 25 | \Msg{* acmart.pdf. *}% 26 | \Msg{* *}% 27 | \Msg{* The package is released under LPPL *}% 28 | \Msg{* *}% 29 | \Msg{* Happy TeXing! *}% 30 | \Msg{*****************************************************}% -------------------------------------------------------------------------------- /docs/papers/ELS-21/main.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/docs/papers/ELS-21/main.pdf -------------------------------------------------------------------------------- /docs/papers/ELS-21/submitted/final/main.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/docs/papers/ELS-21/submitted/final/main.pdf -------------------------------------------------------------------------------- /docs/papers/ELS-21/submitted/review/main.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/docs/papers/ELS-21/submitted/review/main.pdf -------------------------------------------------------------------------------- /docs/storage.org: -------------------------------------------------------------------------------- 1 | #+TITLE: CLPM Storage 2 | #+AUTHOR: Eric Timmons 3 | #+EMAIL: clpm-devel@common-lisp.net 4 | #+OPTIONS: toc:1 num:nil 5 | 6 | This document specifies what files on your computer CLPM will touch and why. 7 | 8 | * Cache 9 | 10 | CLPM stores its cache in the =clpm= subfolder of your user XDG[fn:1] cache 11 | directory (typically =~/.cache/=). The location can be overridden using the 12 | =CLPM_CACHE_DIR= environment variable. 13 | 14 | In the cache folder, CLPM stores tarballs from sources, git repos, fasls from 15 | bundles with output translations enabled, metadata gathered from package 16 | sources, etc. 17 | 18 | Generally, that cache can be deleted at any time (except when an instance of 19 | CLPM is running), and CLPM can redownload or generate files as necessary. 20 | 21 | * Data 22 | 23 | CLPM installs systems to the =clpm= subfolder of your user XDG data directory 24 | (typically =~/.local/share/=). The location can be overridden using the 25 | =CLPM_DATA_DIR= environment variable. 26 | 27 | * Footnotes 28 | 29 | [fn:1] https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html 30 | -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/cl-utilities.asd: -------------------------------------------------------------------------------- 1 | ;; -*- Lisp -*- 2 | 3 | (defpackage #:cl-utilities-system 4 | (:use #:common-lisp #:asdf)) 5 | 6 | (in-package #:cl-utilities-system) 7 | 8 | (defsystem cl-utilities 9 | :author "Maintained by Peter Scott" 10 | :components ((:file "package") 11 | (:file "split-sequence" :depends-on ("package")) 12 | (:file "extremum" :depends-on ("package" 13 | "with-unique-names" 14 | "once-only")) 15 | (:file "read-delimited" :depends-on ("package")) 16 | (:file "expt-mod" :depends-on ("package")) 17 | (:file "with-unique-names" :depends-on ("package")) 18 | (:file "collecting" :depends-on ("package" 19 | "with-unique-names" 20 | "compose")) 21 | (:file "once-only" :depends-on ("package")) 22 | (:file "rotate-byte" :depends-on ("package")) 23 | (:file "copy-array" :depends-on ("package")) 24 | (:file "compose" :depends-on ("package")))) 25 | 26 | ;; Sometimes we can accelerate byte rotation on SBCL by using the 27 | ;; SB-ROTATE-BYTE extension. This loads it. 28 | #+sbcl 29 | (eval-when (:compile-toplevel :load-toplevel :execute) 30 | (handler-case (progn 31 | (require :sb-rotate-byte) 32 | (pushnew :sbcl-uses-sb-rotate-byte *features*)) 33 | (error () (delete :sbcl-uses-sb-rotate-byte *features*)))) -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/copy-array.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cl-utilities) 2 | 3 | (defun copy-array (array &key (undisplace nil)) 4 | "Shallow copies the contents of any array into another array with 5 | equivalent properties. If array is displaced, then this function will 6 | normally create another displaced array with similar properties, 7 | unless UNDISPLACE is non-NIL, in which case the contents of the array 8 | will be copied into a completely new, not displaced, array." 9 | (declare (type array array)) 10 | (let ((copy (%make-array-with-same-properties array undisplace))) 11 | (unless (array-displacement copy) 12 | (dotimes (n (array-total-size copy)) 13 | (setf (row-major-aref copy n) (row-major-aref array n)))) 14 | copy)) 15 | 16 | (defun %make-array-with-same-properties (array undisplace) 17 | "Make an array with the same properties (size, adjustability, etc.) 18 | as another array, optionally undisplacing the array." 19 | (apply #'make-array 20 | (list* (array-dimensions array) 21 | :element-type (array-element-type array) 22 | :adjustable (adjustable-array-p array) 23 | :fill-pointer (when (array-has-fill-pointer-p array) 24 | (fill-pointer array)) 25 | (multiple-value-bind (displacement offset) 26 | (array-displacement array) 27 | (when (and displacement (not undisplace)) 28 | (list :displaced-to displacement 29 | :displaced-index-offset offset)))))) -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/doc/compose.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Function COMPOSE 5 | 6 | 7 | 8 | 9 |

Function COMPOSE

10 | 11 |

Syntax:

12 | 13 |

compose function* => composite-function

14 | 15 |

Arguments and Values:

16 | 17 |

function---a function designator.

18 | 19 |

composite-function---a function. 20 | 21 |

Description:

22 | 23 |

Composes its arguments into a single composite function. All its 24 | arguments are assumed to designate functions which take one argument 25 | and return one argument. 26 | 27 |

(funcall (compose f g) 42) is equivalent to (f (g 28 | 42)). Composition is right-associative. 29 | 30 |

Examples: 31 | 32 |

33 | ;; Just to illustrate order of operations
34 | (defun 2* (x) (* 2 x))
35 | 
36 | 
37 | (funcall (compose #'1+ #'1+) 1) => 3
38 | (funcall (compose '1+ '2*) 5) => 11
39 | (funcall (compose #'1+ '2* '1+) 6) => 15 
40 | 
41 | 42 |

Notes: 43 |

If you're dealing with multiple arguments and return values, the 44 | same concept can be used. Here is some code that could be useful: 45 | 46 |

47 | (defun mv-compose2 (f1 f2)
48 |   (lambda (&rest args)
49 |     (multiple-value-call f1 (apply f2 args))))
50 |     
51 | (defun mv-compose (&rest functions)
52 |   (if functions
53 |     (reduce #'mv-compose2 functions)
54 |     #'values))
55 | 
56 | 57 |
Manual Index

58 | 59 | 60 | -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/doc/copy-array.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Function COPY-ARRAY 5 | 6 | 7 | 8 | 9 |

Function COPY-ARRAY

10 |

Syntax:

11 | 12 |

13 | 14 |

copy-array array &key undisplace => new-array 15 |

16 |

Arguments and Values:

17 |

18 | array---an array.

19 | 20 | undisplace---a generalized boolean. The default is false.

21 | 22 | new-array---an array.

23 | 24 |

25 |

Description:

26 | 27 |

Shallow copies the contents of array into another array with 28 | equivalent properties. If array is displaced, then this 29 | function will normally create another displaced array with similar 30 | properties, unless undisplace is true, in which case the 31 | contents of array will be copied into a completely new, not 32 | displaced, array.

33 | 34 |

Examples:

35 |
36 | (copy-array #(1 2 3)) => #(1 2 3)
37 | 
38 | (let ((array #(1 2 3)))
39 |   (eq (copy-array array) array)) => NIL
40 | 
41 | 42 |

Side Effects: None.

43 | 44 |

Affected By: None.

45 | 46 |
Manual Index

47 | 48 | 49 | -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/doc/once-only.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Macro ONCE-ONLY 5 | 6 | 7 | 8 | 9 |

Macro ONCE-ONLY

10 |

Syntax:

11 | 12 |

13 | 14 |

once-only (name*) form* 15 |

16 |

Arguments and Values:

17 |

18 | name---a symbol.

19 | 20 | form---a form.

21 | 22 |

23 |

Description:

24 |

Meant to be used in macro code, once-only guards against 25 | multiple evaluation of its arguments in macroexpansion code. Any 26 | concise description would be far too vague to grasp, but this 28 | thread on comp.lang.lisp does a decent job of explaining what 29 | once-only does. 30 | 31 |

Notes:

32 | 33 |

The description here is frustratingly non-descriptive, and I 34 | apologize for that. If you understand once-only and can give a 35 | better explanation, I would be very grateful—not to mention 36 | completely awed. 37 | 38 |


Manual Index

39 | 40 | 41 | -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/doc/style.css: -------------------------------------------------------------------------------- 1 | pre { 2 | margin-right: 0.5cm; 3 | border: thin black solid; 4 | background: #F3EEEE; 5 | padding: 0.5em; 6 | } 7 | 8 | h1 { 9 | font-family: sans-serif; 10 | font-variant: small-caps; 11 | } 12 | 13 | h2 { 14 | font-family: sans-serif; 15 | font-size: medium; 16 | } -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/expt-mod.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cl-utilities) 2 | 3 | ;; This is portable Common Lisp, but implementation-specific code may 4 | ;; improve performance considerably. 5 | (defun expt-mod (n exponent modulus) 6 | "As (mod (expt n exponent) modulus), but more efficient." 7 | (declare (optimize (speed 3) (safety 0) (space 0) (debug 1))) 8 | ;; It's much faster on SBCL and ACL to use the simple method, and 9 | ;; trust the compiler to optimize it. This may be the case on other 10 | ;; Lisp implementations as well. 11 | #+(or sbcl allegro) (mod (expt n exponent) modulus) 12 | #-(or sbcl allegro) 13 | (if (some (complement #'integerp) (list n exponent modulus)) 14 | (mod (expt n exponent) modulus) 15 | (loop with result = 1 16 | for i of-type fixnum from 0 below (integer-length exponent) 17 | for sqr = n then (mod (* sqr sqr) modulus) 18 | when (logbitp i exponent) do 19 | (setf result (mod (* result sqr) modulus)) 20 | finally (return result)))) 21 | 22 | ;; If the compiler is going to expand compiler macros, we should 23 | ;; directly inline the simple expansion; this lets the compiler do all 24 | ;; sorts of fancy optimizations based on type information that 25 | ;; wouldn't be used to optimize the normal EXPT-MOD function. 26 | #+(or sbcl allegro) 27 | (define-compiler-macro expt-mod (n exponent modulus) 28 | `(mod (expt ,n ,exponent) ,modulus)) 29 | 30 | 31 | ;; Here's some benchmarking code that may be useful. I probably 32 | ;; completely wasted my time declaring ITERATIONS to be a fixnum. 33 | #+nil 34 | (defun test (&optional (iterations 50000000)) 35 | (declare (optimize (speed 3) (safety 0) (space 0) (debug 1)) 36 | (fixnum iterations)) 37 | (time (loop repeat iterations do (mod (expt 12 34) 235))) 38 | (time (loop repeat iterations do (expt-mod 12 34 235)))) -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/once-only.lisp: -------------------------------------------------------------------------------- 1 | ;; The ONCE-ONLY macro is hard to explain, hard to understand, hard to 2 | ;; write, hard to modify, and hard to live without once you figure out 3 | ;; how to use it. It's used in macros to guard against multiple 4 | ;; evaluation of arguments. My version is longer than most, but it 5 | ;; does some error checking and it gives gensym'd variables more 6 | ;; meaningful names than usual. 7 | 8 | (in-package :cl-utilities) 9 | 10 | (defun %check-once-only-names (names) 11 | "Check that all of the NAMES are symbols. If not, raise an error." 12 | ;; This only raises an error for the first non-symbol argument 13 | ;; found. While this won't report multiple errors, it is probably 14 | ;; more convenient to only report one. 15 | (let ((bad-name (find-if-not #'symbolp names))) 16 | (when bad-name 17 | (error "ONCE-ONLY expected a symbol but got ~S" bad-name)))) 18 | 19 | (defmacro once-only (names &body body) 20 | ;; Check the NAMES list for validity. 21 | (%check-once-only-names names) 22 | ;; Do not touch this code unless you really know what you're doing. 23 | (let ((gensyms (loop for name in names collect (gensym (string name))))) 24 | `(let (,@(loop for g in gensyms 25 | for name in names 26 | collect `(,g (gensym ,(string name))))) 27 | `(let (,,@(loop for g in gensyms for n in names 28 | collect ``(,,g ,,n))) 29 | ,(let (,@(loop for n in names for g in gensyms 30 | collect `(,n ,g))) 31 | ,@body))))) -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/package.lisp: -------------------------------------------------------------------------------- 1 | (defpackage :cl-utilities 2 | (:use :common-lisp) 3 | (:export #:split-sequence 4 | #:split-sequence-if 5 | #:split-sequence-if-not 6 | #:partition 7 | #:partition-if 8 | #:partition-if-not 9 | 10 | #:extremum 11 | #:no-extremum 12 | #:extremum-fastkey 13 | #:extrema 14 | #:n-most-extreme 15 | #:n-most-extreme-not-enough-elements 16 | #:n-most-extreme-not-enough-elements-n 17 | #:n-most-extreme-not-enough-elements-subsequence 18 | 19 | #:read-delimited 20 | #:read-delimited-bounds-error 21 | #:read-delimited-bounds-error-start 22 | #:read-delimited-bounds-error-end 23 | #:read-delimited-bounds-error-sequence 24 | 25 | #:expt-mod 26 | 27 | #:collecting 28 | #:collect 29 | #:with-collectors 30 | 31 | #:with-unique-names 32 | #:with-gensyms 33 | #:list-binding-not-supported 34 | #:list-binding-not-supported-binding 35 | 36 | #:once-only 37 | 38 | #:rotate-byte 39 | 40 | #:copy-array 41 | 42 | #:compose)) 43 | 44 | #+split-sequence-deprecated 45 | (defpackage :split-sequence 46 | (:documentation "This package mimics SPLIT-SEQUENCE for compatibility with 47 | packages that expect that system.") 48 | (:use :cl-utilities) 49 | (:export #:split-sequence #:split-sequence-if #:split-sequence-if-not)) 50 | -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | mkdir cl-utilities-1.2.4 4 | mkdir cl-utilities-1.2.4/doc 5 | cp cl-utilities.asd package.sh collecting.lisp split-sequence.lisp expt-mod.lisp package.lisp compose.lisp extremum.lisp read-delimited.lisp test.lisp copy-array.lisp once-only.lisp rotate-byte.lisp with-unique-names.lisp README cl-utilities-1.2.4/ 6 | cp doc/collecting.html doc/expt-mod.html doc/read-delimited.html doc/with-unique-names.html doc/compose.html doc/extremum.html doc/rotate-byte.html doc/copy-array.html doc/index.html doc/split-sequence.html doc/once-only.html doc/style.css cl-utilities-1.2.4/doc/ 7 | 8 | rm -f cl-utilities-latest.tar.gz cl-utilities-latest.tar.gz.asc 9 | 10 | tar -czvf cl-utilities-1.2.4.tar.gz cl-utilities-1.2.4/ 11 | ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.2.4.tar.gz ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz 12 | gpg -b -a ~/hacking/lisp/cl-utilities/cl-utilities-1.2.4.tar.gz 13 | ln -s ~/hacking/lisp/cl-utilities/cl-utilities-1.2.4.tar.gz.asc ~/hacking/lisp/cl-utilities/cl-utilities-latest.tar.gz.asc 14 | rm -Rf cl-utilities-1.2.4/ 15 | 16 | scp cl-utilities-1.2.4.tar.gz pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.2.4.tar.gz 17 | scp cl-utilities-1.2.4.tar.gz.asc pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-1.2.4.tar.gz.asc 18 | scp cl-utilities-latest.tar.gz pscott@common-lisp.net:/project/cl-utilities/ftp/cl-utilities-1.2.4.tar.gz 19 | scp cl-utilities-latest.tar.gz.asc pscott@common-lisp.net:/project/cl-utilities/ftp/cl-utilities-1.2.4.tar.gz.asc 20 | scp cl-utilities-latest.tar.gz pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-latest.tar.gz 21 | scp cl-utilities-latest.tar.gz.asc pscott@common-lisp.net:/project/cl-utilities/public_html/cl-utilities-latest.tar.gz.asc 22 | -------------------------------------------------------------------------------- /ext/cl-utilities-1.2.4/rotate-byte.lisp: -------------------------------------------------------------------------------- 1 | (in-package :cl-utilities) 2 | 3 | (defun rotate-byte (count bytespec integer) 4 | "Rotates a field of bits within INTEGER; specifically, returns an 5 | integer that contains the bits of INTEGER rotated COUNT times 6 | leftwards within the byte specified by BYTESPEC, and elsewhere 7 | contains the bits of INTEGER. See http://www.cliki.net/ROTATE-BYTE" 8 | (declare (optimize (speed 3) (safety 0) (space 0) (debug 1))) 9 | #-sbcl 10 | (let ((size (byte-size bytespec))) 11 | (when (= size 0) 12 | (return-from rotate-byte integer)) 13 | (let ((count (mod count size))) 14 | (labels ((rotate-byte-from-0 (count size integer) 15 | (let ((bytespec (byte size 0))) 16 | (if (> count 0) 17 | (logior (ldb bytespec (ash integer count)) 18 | (ldb bytespec (ash integer (- count size)))) 19 | (logior (ldb bytespec (ash integer count)) 20 | (ldb bytespec (ash integer (+ count size)))))))) 21 | (dpb (rotate-byte-from-0 count size (ldb bytespec integer)) 22 | bytespec 23 | integer)))) 24 | ;; On SBCL, we use the SB-ROTATE-BYTE extension. 25 | #+sbcl-uses-sb-rotate-byte (sb-rotate-byte:rotate-byte count bytespec integer)) 26 | 27 | ;; If we're using the SB-ROTATE-BYTE extension, we should inline our 28 | ;; call and let SBCL handle optimization from there. 29 | #+sbcl-uses-sb-rotate-byte (declaim (inline rotate-byte)) -------------------------------------------------------------------------------- /ext/salza2-2.0.9/LICENSE.txt: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; Copyright (c) 2007 Zachary Beane, All Rights Reserved 3 | ;;; 4 | ;;; Redistribution and use in source and binary forms, with or without 5 | ;;; modification, are permitted provided that the following conditions 6 | ;;; are met: 7 | ;;; 8 | ;;; * Redistributions of source code must retain the above copyright 9 | ;;; notice, this list of conditions and the following disclaimer. 10 | ;;; 11 | ;;; * Redistributions in binary form must reproduce the above 12 | ;;; copyright notice, this list of conditions and the following 13 | ;;; disclaimer in the documentation and/or other materials 14 | ;;; provided with the distribution. 15 | ;;; 16 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 17 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 20 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 22 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | ;;; 28 | -------------------------------------------------------------------------------- /ext/salza2-2.0.9/README.txt: -------------------------------------------------------------------------------- 1 | salza2 can compress data in the ZLIB and DEFLATE data formats. It is 2 | available under a BSD-like license. 3 | 4 | For documentation, see the doc/ directory. 5 | 6 | For any questions or comments, please email Zach Beane 7 | . 8 | -------------------------------------------------------------------------------- /ext/salza2-2.0.9/doc/COPYING.txt: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; Copyright (c) 2007 Zachary Beane, All Rights Reserved 3 | ;;; 4 | ;;; Redistribution and use in source and binary forms, with or without 5 | ;;; modification, are permitted provided that the following conditions 6 | ;;; are met: 7 | ;;; 8 | ;;; * Redistributions of source code must retain the above copyright 9 | ;;; notice, this list of conditions and the following disclaimer. 10 | ;;; 11 | ;;; * Redistributions in binary form must reproduce the above 12 | ;;; copyright notice, this list of conditions and the following 13 | ;;; disclaimer in the documentation and/or other materials 14 | ;;; provided with the distribution. 15 | ;;; 16 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 17 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 20 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 22 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | ;;; 28 | 29 | -------------------------------------------------------------------------------- /ext/salza2-2.0.9/reset.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; Copyright (c) 2007 Zachary Beane, All Rights Reserved 3 | ;;; 4 | ;;; Redistribution and use in source and binary forms, with or without 5 | ;;; modification, are permitted provided that the following conditions 6 | ;;; are met: 7 | ;;; 8 | ;;; * Redistributions of source code must retain the above copyright 9 | ;;; notice, this list of conditions and the following disclaimer. 10 | ;;; 11 | ;;; * Redistributions in binary form must reproduce the above 12 | ;;; copyright notice, this list of conditions and the following 13 | ;;; disclaimer in the documentation and/or other materials 14 | ;;; provided with the distribution. 15 | ;;; 16 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 17 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 20 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 22 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | ;;; 28 | 29 | (in-package #:salza2) 30 | 31 | (defgeneric reset (object) 32 | (:documentation "Restore OBJECT's initial state so it may be re-used.")) 33 | -------------------------------------------------------------------------------- /ext/salza2-2.0.9/utilities.lisp: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; Copyright (c) 2007 Zachary Beane, All Rights Reserved 3 | ;;; 4 | ;;; Redistribution and use in source and binary forms, with or without 5 | ;;; modification, are permitted provided that the following conditions 6 | ;;; are met: 7 | ;;; 8 | ;;; * Redistributions of source code must retain the above copyright 9 | ;;; notice, this list of conditions and the following disclaimer. 10 | ;;; 11 | ;;; * Redistributions in binary form must reproduce the above 12 | ;;; copyright notice, this list of conditions and the following 13 | ;;; disclaimer in the documentation and/or other materials 14 | ;;; provided with the distribution. 15 | ;;; 16 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 17 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 20 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 22 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | ;;; 28 | 29 | (in-package #:salza2) 30 | 31 | (defun make-octet-vector (size) 32 | (make-array size :element-type 'octet)) 33 | 34 | (defun octet-vector (&rest elements) 35 | (make-array (length elements) 36 | :element-type 'octet 37 | :initial-contents elements)) 38 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | INSTALL_ROOT=${INSTALL_ROOT:-/usr/local} 4 | 5 | install_directory() { 6 | install -d "$INSTALL_ROOT/$1" 7 | find "$1" -maxdepth 1 -type f -exec install {} "$INSTALL_ROOT/$1/" \; 8 | # I don't think this works with hidden directories, but we have none of 9 | # those... 10 | for f in "build/$1"/*; do 11 | if [ -d "$f" ]; then 12 | install_directory "$1/$(basename "$f")" 13 | fi 14 | done 15 | 16 | } 17 | 18 | install_directory bin 19 | install_directory share 20 | 21 | # Local Variables: 22 | # sh-basic-offset: 2 23 | # End: 24 | -------------------------------------------------------------------------------- /licenses/3bz: -------------------------------------------------------------------------------- 1 | Copyright Bart Botta <00003b at gmail.com> 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. -------------------------------------------------------------------------------- /licenses/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains the licenses for every dependency of CLPM that is 2 | included in it when built. The license should be copied into this directory, 3 | not symlinked, in order to make sure everything works appropriately on 4 | Windows. Ideally, upstream has a LICENSE file that can be copied, but when 5 | that's not possible, the appropriate license should be determined based on the 6 | source file headers and/or system definition file. 7 | 8 | During the build process, these licenses are included in the generated image and 9 | can be printed with `clpm license-info`. 10 | -------------------------------------------------------------------------------- /licenses/adopt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 Steve Losh and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /licenses/anaphora: -------------------------------------------------------------------------------- 1 | ;;;; This file is part of the Anaphora package Common Lisp, 2 | ;;;; and has been placed in Public Domain by the author, 3 | ;;;; Nikodemus Siivola 4 | -------------------------------------------------------------------------------- /licenses/archive: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004, Nathan Froyd. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | * Neither the name of Nathan Froyd nor the names of the contributors to 15 | this software may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 19 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 21 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 22 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 23 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 24 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 25 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 26 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 27 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /licenses/asdf: -------------------------------------------------------------------------------- 1 | Copyright (c) 2001-2019 Daniel Barlow and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /licenses/asdf-release-ops: -------------------------------------------------------------------------------- 1 | Copyright 2021 Eric Timmons 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation and/or 11 | other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 17 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /licenses/asdf-system-groveler: -------------------------------------------------------------------------------- 1 | Copyright 2020 Eric Timmons 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation and/or 11 | other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 17 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /licenses/babel: -------------------------------------------------------------------------------- 1 | Copyright (C) 2007, Luis Oliveira 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/bobbin: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 Steve Losh and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /licenses/bordeaux-threads: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person 2 | obtaining a copy of this software and associated documentation 3 | files (the "Software"), to deal in the Software without 4 | restriction, including without limitation the rights to use, 5 | copy, modify, merge, publish, distribute, sublicense, and/or sell 6 | copies of the Software, and to permit persons to whom the 7 | Software is furnished to do so, subject to the following 8 | conditions: 9 | 10 | The above copyright notice and this permission notice shall be 11 | included in all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 14 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 15 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 16 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 17 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 18 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20 | OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/cffi: -------------------------------------------------------------------------------- 1 | Copyright (C) 2005-2007, James Bielman 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, copy, 7 | modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 | DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/cffi-grovel: -------------------------------------------------------------------------------- 1 | ;;; Copyright (C) 2007, Luis Oliveira 2 | ;;; 3 | ;;; Permission is hereby granted, free of charge, to any person 4 | ;;; obtaining a copy of this software and associated documentation 5 | ;;; files (the "Software"), to deal in the Software without 6 | ;;; restriction, including without limitation the rights to use, copy, 7 | ;;; modify, merge, publish, distribute, sublicense, and/or sell copies 8 | ;;; of the Software, and to permit persons to whom the Software is 9 | ;;; furnished to do so, subject to the following conditions: 10 | ;;; 11 | ;;; The above copyright notice and this permission notice shall be 12 | ;;; included in all copies or substantial portions of the Software. 13 | ;;; 14 | ;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | ;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | ;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | ;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | ;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | ;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | ;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 | ;;; DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /licenses/cffi-toolchain: -------------------------------------------------------------------------------- 1 | ;;; Copyright (C) 2007, Luis Oliveira 2 | ;;; 3 | ;;; Permission is hereby granted, free of charge, to any person 4 | ;;; obtaining a copy of this software and associated documentation 5 | ;;; files (the "Software"), to deal in the Software without 6 | ;;; restriction, including without limitation the rights to use, copy, 7 | ;;; modify, merge, publish, distribute, sublicense, and/or sell copies 8 | ;;; of the Software, and to permit persons to whom the Software is 9 | ;;; furnished to do so, subject to the following conditions: 10 | ;;; 11 | ;;; The above copyright notice and this permission notice shall be 12 | ;;; included in all copies or substantial portions of the Software. 13 | ;;; 14 | ;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | ;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | ;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | ;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | ;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | ;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | ;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 | ;;; DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/chipz: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004, Nathan Froyd. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | * Neither the name of Nathan Froyd nor the names of the contributors to 15 | this software may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 19 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 21 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 22 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 23 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 24 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 25 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 26 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 27 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 28 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /licenses/chunga: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006-2010, Dr. Edmund Weitz. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following 12 | disclaimer in the documentation and/or other materials 13 | provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 16 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 21 | GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /licenses/cl+ssl: -------------------------------------------------------------------------------- 1 | Copyright (C) 2001, 2003 Eric Marsden 2 | Copyright (C) ???? Jochen Schmidt 3 | Copyright (C) 2005 David Lichteblau 4 | Copyright (C) 2007 Pixel // pinterface 5 | 6 | * License first changed by Eric Marsden, Jochen Schmidt, and David Lichteblau 7 | from plain LGPL to Lisp-LGPL in December 2005. 8 | 9 | * License then changed by Eric Marsden, Jochen Schmidt, and David Lichteblau 10 | from Lisp-LGPL to MIT-style in January 2007. 11 | 12 | 13 | Permission is hereby granted, free of charge, to any person 14 | obtaining a copy of this software and associated documentation files 15 | (the "Software"), to deal in the Software without restriction, 16 | including without limitation the rights to use, copy, modify, merge, 17 | publish, distribute, sublicense, and/or sell copies of the Software, 18 | and to permit persons to whom the Software is furnished to do so, 19 | subject to the following conditions: 20 | 21 | The above copyright notice and this permission notice shall be 22 | included in all copies or substantial portions of the Software. 23 | 24 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 25 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 26 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 27 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 28 | BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 29 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 30 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. 32 | -------------------------------------------------------------------------------- /licenses/cl-base64: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2003 by Kevin Rosenberg 2 | 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions 7 | are met: 8 | 1. Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | 2. Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 3. The name of the Authors may not be used to endorse or promote products 14 | derived from this software without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR 17 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26 | IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /licenses/cl-colors2: -------------------------------------------------------------------------------- 1 | Boost Software License - Version 1.0 - August 17th, 2003 2 | 3 | Permission is hereby granted, free of charge, to any person or organization 4 | obtaining a copy of the software and accompanying documentation covered by 5 | this license (the "Software") to use, reproduce, display, distribute, 6 | execute, and transmit the Software, and to prepare derivative works of the 7 | Software, and to permit third-parties to whom the Software is furnished to 8 | do so, all subject to the following: 9 | 10 | The copyright notices in the Software and this entire statement, including 11 | the above license grant, this restriction and the following disclaimer, 12 | must be included in all copies of the Software, in whole or in part, and 13 | all derivative works of the Software, unless such copies or derivative 14 | works are solely in the form of machine-executable object code generated by 15 | a source language processor. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /licenses/cl-cookie: -------------------------------------------------------------------------------- 1 | Copyright Eitaro Fukamachi 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 17 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 20 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 21 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /licenses/cl-date-time-parser: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Takaya OCHIAI 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /licenses/cl-fad: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2004, Peter Seibel. All rights reserved. 2 | ;;; Copyright (c) 2004-2010, Dr. Edmund Weitz. All rights reserved. 3 | 4 | ;;; Redistribution and use in source and binary forms, with or without 5 | ;;; modification, are permitted provided that the following conditions 6 | ;;; are met: 7 | 8 | ;;; * Redistributions of source code must retain the above copyright 9 | ;;; notice, this list of conditions and the following disclaimer. 10 | 11 | ;;; * Redistributions in binary form must reproduce the above 12 | ;;; copyright notice, this list of conditions and the following 13 | ;;; disclaimer in the documentation and/or other materials 14 | ;;; provided with the distribution. 15 | 16 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS 'AS IS' AND ANY EXPRESSED 17 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 20 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 22 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /licenses/cl-interpol: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2003-2008, Dr. Edmund Weitz. All rights reserved. 2 | 3 | ;;; Redistribution and use in source and binary forms, with or without 4 | ;;; modification, are permitted provided that the following conditions 5 | ;;; are met: 6 | 7 | ;;; * Redistributions of source code must retain the above copyright 8 | ;;; notice, this list of conditions and the following disclaimer. 9 | 10 | ;;; * Redistributions in binary form must reproduce the above 11 | ;;; copyright notice, this list of conditions and the following 12 | ;;; disclaimer in the documentation and/or other materials 13 | ;;; provided with the distribution. 14 | 15 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 16 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 19 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 21 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /licenses/cl-ppcre: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2009, Dr. Edmund Weitz. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | * Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED OR IMPLIED 14 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 15 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 16 | EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 17 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 18 | OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 19 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 20 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 21 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 22 | OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /licenses/cl-semver: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020 Mariano Montone 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /licenses/cl-unicode: -------------------------------------------------------------------------------- 1 | ;;; Copyright (c) 2008-2012, Dr. Edmund Weitz. All rights reserved. 2 | 3 | ;;; Redistribution and use in source and binary forms, with or without 4 | ;;; modification, are permitted provided that the following conditions 5 | ;;; are met: 6 | 7 | ;;; * Redistributions of source code must retain the above copyright 8 | ;;; notice, this list of conditions and the following disclaimer. 9 | 10 | ;;; * Redistributions in binary form must reproduce the above 11 | ;;; copyright notice, this list of conditions and the following 12 | ;;; disclaimer in the documentation and/or other materials 13 | ;;; provided with the distribution. 14 | 15 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 16 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 19 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 21 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /licenses/cl-utilities: -------------------------------------------------------------------------------- 1 | Public Domain 2 | -------------------------------------------------------------------------------- /licenses/closer-mop: -------------------------------------------------------------------------------- 1 | Copyright (c) 2005 - 2016 Pascal Costanza 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or 8 | sell copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /licenses/clpi: -------------------------------------------------------------------------------- 1 | Copyright 2020 Eric Timmons 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation and/or 11 | other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 17 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /licenses/clpm-multi-http-client: -------------------------------------------------------------------------------- 1 | Copyright 2020 Eric Timmons 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation and/or 11 | other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 17 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /licenses/dexador: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Eitaro Fukamachi (e.arrows@gmail.com) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /licenses/do-urlencode: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011, Daniel Rebelo de Oliveira 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /licenses/documentation-utils: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Nicolas Hafner 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /licenses/drakma: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006-2012, Dr. Edmund Weitz. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following 12 | disclaimer in the documentation and/or other materials 13 | provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 16 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 21 | GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /licenses/esrap: -------------------------------------------------------------------------------- 1 | ;;;; Copyright (c) 2007-2013 Nikodemus Siivola 2 | ;;;; Copyright (c) 2012-2019 Jan Moringen 3 | ;;;; 4 | ;;;; Permission is hereby granted, free of charge, to any person 5 | ;;;; obtaining a copy of this software and associated documentation files 6 | ;;;; (the Software), to deal in the Software without restriction, 7 | ;;;; including without limitation the rights to use, copy, modify, merge, 8 | ;;;; publish, distribute, sublicense, and/or sell copies of the Software, 9 | ;;;; and to permit persons to whom the Software is furnished to do so, 10 | ;;;; subject to the following conditions: 11 | ;;;; 12 | ;;;; THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, 13 | ;;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14 | ;;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 15 | ;;;; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 16 | ;;;; CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 17 | ;;;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 18 | ;;;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /licenses/exit-hooks: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2016, ailisp 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /licenses/fare-quasiquote: -------------------------------------------------------------------------------- 1 | Copyright ⓒ 2002-2020 Fahree Reedaw 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. -------------------------------------------------------------------------------- /licenses/fare-utils: -------------------------------------------------------------------------------- 1 | This software is released under the bugroff license. Use at your own risk. 2 | http://tunes.org/legalese/bugroff.html 3 | At the insistence of several hackers, I hereby state what is obvious to me, 4 | that they can reuse any software released under the bugroff license 5 | and publish it as part or totality of packages under any other license 6 | they see fit, if it really matters to them, including a BSD-style license 7 | or a MIT license. Yes they can. Of course, if they choose a proprietary 8 | software license, they only deserve scorn. But even that, they may do! 9 | -------------------------------------------------------------------------------- /licenses/fast-http: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Eitaro Fukamachi 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. -------------------------------------------------------------------------------- /licenses/fast-io: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2020 Ryan Pavlik 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /licenses/file-attributes: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020 Nicolas Hafner 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /licenses/flexi-streams: -------------------------------------------------------------------------------- 1 | Copyright (c) 2005-2008, Dr. Edmund Weitz. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | * Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED OR IMPLIED 14 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 15 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 16 | EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 17 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 18 | OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 19 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 20 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 21 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 22 | OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /licenses/global-vars: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 James M. Lawrence 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, copy, 7 | modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 | DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /licenses/ieee-floats: -------------------------------------------------------------------------------- 1 | Copyright (c) Marijn Haverbeke, marijnh@gmail.com 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any 5 | damages arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any 8 | purpose, including commercial applications, and to alter it and 9 | redistribute it freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must 12 | not claim that you wrote the original software. If you use this 13 | software in a product, an acknowledgment in the product 14 | documentation would be appreciated but is not required. 15 | 16 | 2. Altered source versions must be plainly marked as such, and must 17 | not be misrepresented as being the original software. 18 | 19 | 3. This notice may not be removed or altered from any source 20 | distribution. 21 | -------------------------------------------------------------------------------- /licenses/introspect-environment: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | Version 2, December 2004 3 | 4 | Copyright (C) 2004 Sam Hocevar 5 | 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | -------------------------------------------------------------------------------- /licenses/ironclad: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-2008, Nathan Froyd 2 | 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are 7 | met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holders nor the names of 17 | contributors to this software may be used to endorse or promote 18 | products derived from this software without specific prior written 19 | permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS 22 | IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 23 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 24 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 25 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | -------------------------------------------------------------------------------- /licenses/iterate: -------------------------------------------------------------------------------- 1 | ITERATE, An Iteration Macro 2 | 3 | Copyright 1989 by Jonathan Amsterdam 4 | Adapted to ANSI Common Lisp in 2003 by Andreas Fuchs 5 | 6 | Permission to use, copy, modify, and distribute this software and its 7 | documentation for any purpose and without fee is hereby granted, provided that 8 | this copyright and permission notice appear in all copies and supporting 9 | documentation, and that the name of M.I.T. not be used in advertising or 10 | publicity pertaining to distribution of the software without specific, written 11 | prior permission. M.I.T. makes no representations about the suitability of this 12 | software for any purpose. It is provided "as is" without express or implied 13 | warranty. 14 | 15 | M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. BE 17 | LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 18 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF 19 | CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 20 | WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/jsown: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Aad Versteden 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/lisp-invocation: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008 ITA Software, Inc. 2 | 3 | Permission is hereby granted, free of charge, 4 | to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), 6 | to deal in the Software without restriction, including without limitation 7 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and 9 | to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 19 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 | DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /licenses/local-time: -------------------------------------------------------------------------------- 1 | local-time Copyright (c) 2005-2012 by Daniel Lowe 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/log4cl.NOTICE: -------------------------------------------------------------------------------- 1 | Log4CL logging framework for Common Lisp. 2 | Copyright (c) 2012, Max Mikhanosha 3 | 4 | This product includes software developed by Max Mikhanosha 5 | (max.mikhanosha@gmail.com) 6 | 7 | -------------------------------------------------------------------------------- /licenses/mmap: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Nicolas Hafner 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /licenses/nibbles: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, Nathan Froyd 2 | 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are 7 | met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holders nor the names of 17 | contributors to this software may be used to endorse or promote 18 | products derived from this software without specific prior written 19 | permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS 22 | IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 23 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 24 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 25 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | -------------------------------------------------------------------------------- /licenses/osicat: -------------------------------------------------------------------------------- 1 | ;; Copyright (c) 2003 Nikodemus Siivola 2 | ;; 3 | ;; Permission is hereby granted, free of charge, to any person obtaining 4 | ;; a copy of this software and associated documentation files (the 5 | ;; "Software"), to deal in the Software without restriction, including 6 | ;; without limitation the rights to use, copy, modify, merge, publish, 7 | ;; distribute, sublicense, and/or sell copies of the Software, and to 8 | ;; permit persons to whom the Software is furnished to do so, subject to 9 | ;; the following conditions: 10 | ;; 11 | ;; The above copyright notice and this permission notice shall be included 12 | ;; in all copies or substantial portions of the Software. 13 | ;; 14 | ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | ;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | ;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17 | ;; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18 | ;; CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19 | ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20 | ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/parse-declarations-1.0: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) 2008, Tobias C. Rittweiler 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | ``Software''), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/parse-float: -------------------------------------------------------------------------------- 1 | Public Domain 2 | -------------------------------------------------------------------------------- /licenses/parse-number: -------------------------------------------------------------------------------- 1 | Copyright 2002 Matthew Danish. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | 1. Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 2. Redistributions in binary form must reproduce the above copyright 10 | notice, this list of conditions and the following disclaimer in the 11 | documentation and/or other materials provided with the distribution. 12 | 3. Neither the name of the author nor the names of its contributors 13 | may be used to endorse or promote products derived from this software 14 | without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 | SUCH DAMAGE. -------------------------------------------------------------------------------- /licenses/pathname-utils: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Nicolas Hafner 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /licenses/proc-parse: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Eitaro Fukamachi (e.arrows@gmail.com) 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 17 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 20 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 21 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /licenses/ql-clpi: -------------------------------------------------------------------------------- 1 | Copyright 2020 Eric Timmons 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation and/or 11 | other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 17 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 20 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /licenses/quri: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Eitaro Fukamachi (e.arrows@gmail.com) 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | 3. Neither the name of the copyright holder nor the names of its contributors 14 | may be used to endorse or promote products derived from this software without 15 | specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 18 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 21 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /licenses/salza2: -------------------------------------------------------------------------------- 1 | ;;; 2 | ;;; Copyright (c) 2007 Zachary Beane, All Rights Reserved 3 | ;;; 4 | ;;; Redistribution and use in source and binary forms, with or without 5 | ;;; modification, are permitted provided that the following conditions 6 | ;;; are met: 7 | ;;; 8 | ;;; * Redistributions of source code must retain the above copyright 9 | ;;; notice, this list of conditions and the following disclaimer. 10 | ;;; 11 | ;;; * Redistributions in binary form must reproduce the above 12 | ;;; copyright notice, this list of conditions and the following 13 | ;;; disclaimer in the documentation and/or other materials 14 | ;;; provided with the distribution. 15 | ;;; 16 | ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED 17 | ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 | ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 20 | ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 22 | ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 | ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | ;;; 28 | -------------------------------------------------------------------------------- /licenses/serapeum: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Paul M. Rodriguez 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/shlex: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 Paul M. Rodriguez 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/smart-buffer: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Eitaro Fukamachi (e.arrows@gmail.com) 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | 3. Neither the name of the copyright holder nor the names of its contributors 14 | may be used to endorse or promote products derived from this software without 15 | specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 18 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 19 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 21 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /licenses/split-sequence: -------------------------------------------------------------------------------- 1 | Copyright (C) 2001-2018, Arthur Lemmens et al. 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, copy, 7 | modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 | DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/static-vectors: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011, Stelian Ionescu 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/string-case: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008-2015, Paul Khuong 2 | Copyright (c) 2010-2015, Zach Beane 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | * Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | * Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | * Neither the name of string-case nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | -------------------------------------------------------------------------------- /licenses/trivial-features: -------------------------------------------------------------------------------- 1 | Copyright (C) 2007, Luis Oliveira 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, copy, 7 | modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21 | DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/trivial-file-size: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Paul M. Rodriguez 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/trivial-garbage: -------------------------------------------------------------------------------- 1 | This software is placed in the public domain by Luis Oliveira 2 | and is provided with absolutely no 3 | warranty. -------------------------------------------------------------------------------- /licenses/trivial-gray-streams: -------------------------------------------------------------------------------- 1 | Copyright (c) 2005 David Lichteblau 2 | Copyright (c) 2013 Anton Vodonosov 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation files 6 | (the "Software"), to deal in the Software without restriction, 7 | including without limitation the rights to use, copy, modify, merge, 8 | publish, distribute, sublicense, and/or sell copies of the Software, 9 | and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 19 | BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 20 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /licenses/trivial-indent: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Nicolas Hafner 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /licenses/trivial-macroexpand-all: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /licenses/trivial-mimes: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Nicolas Hafner 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /licenses/trivial-utf-8: -------------------------------------------------------------------------------- 1 | Copyright (c) Marijn Haverbeke 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any 5 | damages arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any 8 | purpose, including commercial applications, and to alter it and 9 | redistribute it freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must 12 | not claim that you wrote the original software. If you use this 13 | software in a product, an acknowledgment in the product 14 | documentation would be appreciated but is not required. 15 | 16 | 2. Altered source versions must be plainly marked as such, and must 17 | not be misrepresented as being the original software. 18 | 19 | 3. This notice may not be removed or altered from any source 20 | distribution. 21 | -------------------------------------------------------------------------------- /licenses/usocket: -------------------------------------------------------------------------------- 1 | (This is the MIT / X Consortium license as taken from 2 | http://www.opensource.org/licenses/mit-license.html) 3 | 4 | Copyright (c) 2003 Erik Enge 5 | Copyright (c) 2006-2007 Erik Huelsmann 6 | Copyright (c) 2008-2018 Hans Hueber and Chun Tian 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | "Software"), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 22 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 23 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 24 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 25 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /licenses/winhttp: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Frank James 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/xsubseq: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Eitaro Fukamachi (e.arrows@gmail.com) 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 17 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 20 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 21 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /licenses/zippy: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020 Nicolas Hafner 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution. 18 | -------------------------------------------------------------------------------- /scripts/build-release.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Script to build CLPM releases 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:cl-user) 7 | 8 | (load (merge-pathnames "common.lisp" *load-truename*)) 9 | 10 | (in-package #:clpm-scripts) 11 | 12 | (setup-asdf) 13 | 14 | (defparameter *option-static* 15 | (adopt:make-option 16 | :static 17 | :help "Build a static executable" 18 | :long "static" 19 | :reduce (constantly t))) 20 | 21 | (defparameter *ui* 22 | (adopt:make-interface 23 | :name "scripts/build.lisp" 24 | :summary "Build script for CLPM" 25 | :help "Build script for CLPM" 26 | :usage "[options]" 27 | :contents (list *option-help* 28 | *option-static*))) 29 | 30 | (defvar *args*) 31 | (defvar *opts*) 32 | 33 | (multiple-value-setq (*args* *opts*) (adopt:parse-options *ui*)) 34 | 35 | (when (gethash :help *opts*) 36 | (adopt:print-help-and-exit *ui*)) 37 | 38 | ;; TODO: This is a bit hacky, but speeds up the build significantly when 39 | ;; starting from scratch (like in CI). The root problem is that 40 | ;; asdf-release-ops will occasionally cause the same code to be compiled twice: 41 | ;; once in the child process and once in the parent. This is because we use 42 | ;; asdf:monolithic-lib-op in the parent. However, moving that op to the child 43 | ;; didn't quite work as it would error out due to package variance in 44 | ;; dexador... 45 | 46 | (asdf:load-system :clpm) 47 | (asdf:load-system :clpm-cli) 48 | 49 | (defparameter *op* (if (gethash :static *opts*) 50 | 'asdf-release-ops:static-release-archive-op 51 | 'asdf-release-ops:dynamic-release-archive-op)) 52 | 53 | (asdf:operate *op* :clpm) 54 | 55 | (format uiop:*stdout* 56 | "A ~:[dynamic~;static~] release has been built at ~A~%" 57 | (gethash :static *opts*) 58 | (asdf:output-file *op* :clpm)) 59 | -------------------------------------------------------------------------------- /scripts/clpm-live-sbcl: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ":" ; exec sbcl --dynamic-space-size 10240 --script "$0" "$@" # -*- mode: common-lisp; -*- 3 | ;;;; Script to load in CLPM and run its main method. 4 | ;;;; 5 | ;;;; This software is part of CLPM. See README.org for more information. See 6 | ;;;; LICENSE for license information. 7 | 8 | ;;; First, this script does its best to avoid loading user init code and ignores 9 | ;;; CL_SOURCE_REGISTRY. After starting, it loads ASDF and configures it to use 10 | ;;; only the systems found in the CLPM directory. It then loads CLPM and 11 | ;;; executes its main function. Additionally, its behavior can be modified using 12 | ;;; environment variables. Any variable with ~PRIVATE~ in its name is liable to 13 | ;;; have its behavior changed at any time. Effort will be made to keep behavior 14 | ;;; of all other variables the same, but isn't guaranteed. 15 | ;;; 16 | ;;; + CLPM_LIVE_PRIVATE_REPL :: If "true", a REPL is started instead of invoking 17 | ;;; CLPM's main function. 18 | ;;; + CLPM_LIVE_COMPILATION_VISIBLE :: If "true", all output from compilation is 19 | ;;; sent to ~*error-output*~, otherwise it is all discarded unless there is 20 | ;;; an error. 21 | 22 | (in-package :cl-user) 23 | 24 | (load (merge-pathnames "live.lisp" *load-truename*)) 25 | -------------------------------------------------------------------------------- /scripts/common.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Common setup for all clpm scripts that configures ASDF appropriately 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (defpackage #:clpm-scripts 7 | (:use #:cl)) 8 | 9 | (in-package #:clpm-scripts) 10 | 11 | (require :asdf) 12 | 13 | (defvar *setup-file-pathname* *load-truename* 14 | "The pathname to this file.") 15 | 16 | (defvar *root-pathname* (uiop:pathname-parent-directory-pathname 17 | (uiop:pathname-directory-pathname *setup-file-pathname*)) 18 | "The pathname to the root directory of the CLPM release being built.") 19 | 20 | (defvar *build-root-pathname* (merge-pathnames "build/" 21 | *root-pathname*) 22 | "The pathname to the root of the build directory. Defaults to build/ inside 23 | *ROOT-PATHNAME*") 24 | 25 | (defun setup-asdf () 26 | (asdf:initialize-source-registry `(:source-registry 27 | :ignore-inherited-configuration 28 | (:tree ,*root-pathname*)))) 29 | 30 | (setup-asdf) 31 | 32 | (let ((*standard-output* (make-broadcast-stream)) 33 | (*error-output* (make-broadcast-stream))) 34 | (asdf:load-system :adopt)) 35 | 36 | (defparameter *option-help* 37 | (adopt:make-option 38 | :help 39 | :help "Print this help text and exit" 40 | :short #\h 41 | :long "help" 42 | :reduce (constantly t))) 43 | -------------------------------------------------------------------------------- /scripts/live.lisp: -------------------------------------------------------------------------------- 1 | ;;;; When loaded, this starts CLPM's main method 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:cl-user) 7 | 8 | (load (merge-pathnames "common.lisp" 9 | *load-truename*)) 10 | 11 | (in-package #:clpm-scripts) 12 | 13 | (setup-asdf "live") 14 | 15 | ;; Load CLPM 16 | (flet ((load-clpm () 17 | (let* ((compilation-visible-p (equal (uiop:getenv "CLPM_LIVE_COMPILATION_VISIBLE") "true")) 18 | (output-stream (if compilation-visible-p 19 | *error-output* 20 | (make-string-output-stream))) 21 | (stderr *error-output*) 22 | (*error-output* output-stream) 23 | (*standard-output* output-stream)) 24 | (handler-bind 25 | ((error (lambda (e) 26 | (unless compilation-visible-p 27 | (write-string (get-output-stream-string output-stream) stderr) 28 | (terpri stderr)) 29 | (format stderr "~&Error while compiling CLPM: ~S~%" e) 30 | (uiop:print-condition-backtrace e :stream stderr)))) 31 | (asdf:load-system :clpm-cli))))) 32 | (load-clpm)) 33 | 34 | ;; Record the pathname to this script. 35 | (setf clpm/utils:*live-script-location* (uiop:native-namestring *load-truename*)) 36 | 37 | (when (equal (uiop:getenv "CLPM_LIVE_PRIVATE_REPL") "true") 38 | (sb-impl::toplevel-repl nil)) 39 | 40 | (let ((clpm-cli-sys (asdf:find-system :clpm-cli))) 41 | (handler-bind ((error (lambda (c) 42 | (uiop:print-condition-backtrace c)))) 43 | (let ((result (uiop:call-function (asdf::component-entry-point clpm-cli-sys)))) 44 | (uiop:quit (if result 0 1))))) 45 | -------------------------------------------------------------------------------- /scripts/test.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Script to test a CLPM executable 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:cl-user) 7 | 8 | (pushnew :hunchentoot-no-ssl *features*) 9 | 10 | (load (merge-pathnames "common.lisp" *load-truename*)) 11 | 12 | (in-package #:clpm-scripts) 13 | 14 | (defparameter *option-clpm* 15 | (adopt:make-option 16 | :clpm 17 | :help "Specify the clpm executable to test" 18 | :long "clpm" 19 | :initial-value "clpm" 20 | :parameter "CLPM-EXEC" 21 | :reduce #'adopt:last)) 22 | 23 | (defparameter *ui* 24 | (adopt:make-interface 25 | :name "scripts/build.lisp" 26 | :summary "Build script for CLPM" 27 | :help "Build script for CLPM" 28 | :usage "[options]" 29 | :contents (list *option-help* 30 | *option-clpm*))) 31 | 32 | (defvar *args*) 33 | (defvar *opts*) 34 | 35 | (multiple-value-setq (*args* *opts*) (adopt:parse-options *ui*)) 36 | 37 | (when (gethash :help *opts*) 38 | (adopt:print-help-and-exit *ui*)) 39 | 40 | (asdf:load-system :clpm-test) 41 | 42 | (let ((clpm (gethash :clpm *opts*))) 43 | (when (pathname-directory clpm) 44 | (setf clpm (uiop:ensure-absolute-pathname (merge-pathnames clpm (uiop:getcwd))))) 45 | (unless (clpm-test::run-tests-with-server :clpm clpm) 46 | (uiop:quit 1))) 47 | -------------------------------------------------------------------------------- /scripts/version.lisp: -------------------------------------------------------------------------------- 1 | ;;;; Script to print the CLPM version number 2 | ;;;; 3 | ;;;; This software is part of CLPM. See README.org for more information. See 4 | ;;;; LICENSE for license information. 5 | 6 | (in-package #:cl-user) 7 | 8 | (load (merge-pathnames "common.lisp" *load-truename*)) 9 | 10 | (in-package #:clpm-scripts) 11 | 12 | (let ((*standard-output* (make-broadcast-stream)) 13 | (*error-output* (make-broadcast-stream))) 14 | (asdf:load-system :clpm-asdf)) 15 | 16 | (write-string (clpm-asdf::clpm-version)) 17 | (terpri) 18 | -------------------------------------------------------------------------------- /test/package.lisp: -------------------------------------------------------------------------------- 1 | (uiop:define-package #:clpm-test 2 | (:use #:cl 3 | #:fiveam)) 4 | 5 | (in-package #:clpm-test) 6 | -------------------------------------------------------------------------------- /test/quicklisp-bundle.lisp: -------------------------------------------------------------------------------- 1 | (in-package #:clpm-test) 2 | 3 | (test (quicklisp-bundle :suite :clpm) 4 | (uiop:with-current-directory ((asdf:system-relative-pathname :clpm "test/quicklisp-bundle/")) 5 | (finishes 6 | (uiop:run-program `(,*clpm* "bundle" "install" "-y" "--no-resolve") 7 | :output :interactive 8 | :error-output :interactive) 9 | (uiop:run-program `(,*clpm* "bundle" "exec" "--" "sbcl" "--non-interactive" "--no-userinit" "--no-sysinit" "--eval" "(require :asdf)" "--eval" "(asdf:load-system :quicklisp-bundle)" "--quit") 10 | :output :interactive 11 | :error-output :interactive)))) 12 | -------------------------------------------------------------------------------- /test/quicklisp-bundle/clpmfile: -------------------------------------------------------------------------------- 1 | ;;; -*- mode: common-lisp -*- 2 | (:api-version "0.3") 3 | 4 | (:source "quicklisp" 5 | :type :quicklisp 6 | :url "http://localhost:8091/dist/quicklisp-test.txt") 7 | 8 | (:asd "quicklisp-bundle.asd") 9 | -------------------------------------------------------------------------------- /test/quicklisp-bundle/clpmfile.lock: -------------------------------------------------------------------------------- 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2 | ;; This is autogenerated by CLPM. Do not edit by hand. 3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4 | 5 | (:api-version "0.3") 6 | 7 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 8 | ;; BEGIN SOURCES 9 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 10 | 11 | :sources 12 | (:implicit-file :type :file-system :system-files ("quicklisp-bundle.asd")) 13 | (:implicit-vcs :type :vcs :projects nil) 14 | ("quicklisp" :url "http://localhost:8091/dist/quicklisp-test.txt" :type 15 | :quicklisp) 16 | 17 | 18 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 19 | ;; BEGIN REQUIREMENTS 20 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 21 | 22 | :requirements 23 | (:asd-file :name "quicklisp-bundle.asd") 24 | 25 | 26 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 27 | ;; BEGIN RELEASES 28 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 29 | 30 | :releases 31 | ("alexandria" :version "2021-02-21" :source "quicklisp" :systems ("alexandria")) 32 | ("quicklisp-bundle.asd" :version :newest :source :implicit-file :systems 33 | ("quicklisp-bundle")) 34 | 35 | 36 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 37 | ;; BEGIN REVERSE-DEPENDENCIES 38 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 39 | 40 | :reverse-dependencies 41 | ("alexandria" ((:system :name "quicklisp-bundle") (:system :name "alexandria"))) 42 | 43 | ("quicklisp-bundle.asd" (t (:asd-file :name "quicklisp-bundle.asd"))) 44 | 45 | -------------------------------------------------------------------------------- /test/quicklisp-bundle/file-1.lisp: -------------------------------------------------------------------------------- 1 | (uiop:define-package #:quicklisp-bundle 2 | (:use #:cl 3 | #:alexandria)) 4 | 5 | (in-package #:quicklisp-bundle) 6 | 7 | (assert (equal (iota 3) '(0 1 2))) 8 | -------------------------------------------------------------------------------- /test/quicklisp-bundle/quicklisp-bundle.asd: -------------------------------------------------------------------------------- 1 | (asdf:defsystem "quicklisp-bundle" 2 | :depends-on (#:alexandria) 3 | :components ((:file "file-1"))) 4 | -------------------------------------------------------------------------------- /test/suite.lisp: -------------------------------------------------------------------------------- 1 | (in-package #:clpm-test) 2 | 3 | (def-suite :clpm) 4 | 5 | (defvar *clpm* "clpm" 6 | "How to run clpm") 7 | -------------------------------------------------------------------------------- /test/tests.lisp: -------------------------------------------------------------------------------- 1 | (in-package #:clpm-test) 2 | 3 | (defun start-server () 4 | (hunchentoot:start (make-instance 'hunchentoot:easy-acceptor 5 | :port 8091 6 | :document-root (asdf:system-relative-pathname :clpm "test/web-server/static/")))) 7 | 8 | (defun stop-server (server) 9 | (hunchentoot:stop server)) 10 | 11 | (defun call-with-server-running (thunk) 12 | (let ((server (start-server))) 13 | (unwind-protect 14 | (funcall thunk) 15 | (stop-server server)))) 16 | 17 | (defmacro with-server (() &body body) 18 | `(call-with-server-running (lambda () ,@body))) 19 | 20 | (defun run-tests-with-server (&key (clpm "clpm")) 21 | (let ((*clpm* (namestring clpm))) 22 | (with-server () 23 | (fiveam:run! :clpm)))) 24 | -------------------------------------------------------------------------------- /test/web-server/static/archive/alexandria/2020-09-25/alexandria-20200925-git.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/test/web-server/static/archive/alexandria/2020-09-25/alexandria-20200925-git.tgz -------------------------------------------------------------------------------- /test/web-server/static/dist/quicklisp-test-versions.txt: -------------------------------------------------------------------------------- 1 | 2021-02-21 http://localhost:8091/dist/quicklisp-test/2021-02-01/distinfo.txt 2 | -------------------------------------------------------------------------------- /test/web-server/static/dist/quicklisp-test.txt: -------------------------------------------------------------------------------- 1 | name: quicklisp-test 2 | version: 2021-02-21 3 | system-index-url: http://localhost:8091/dist/quicklisp-test/2021-02-01/systems.txt 4 | release-index-url: http://localhost:8091/dist/quicklisp-test/2021-02-01/releases.txt 5 | archive-base-url: http://localhost:8091/ 6 | canonical-distinfo-url: http://localhost:8091/dist/quicklisp-test/2021-02-01/distinfo.txt 7 | distinfo-subscription-url: http://localhost:8091/dist/quicklisp-test.txt 8 | -------------------------------------------------------------------------------- /test/web-server/static/dist/quicklisp-test/2021-02-01/distinfo.txt: -------------------------------------------------------------------------------- 1 | name: quicklisp-test 2 | version: 2021-02-21 3 | system-index-url: http://localhost:8091/dist/quicklisp-test/2021-02-01/systems.txt 4 | release-index-url: http://localhost:8091/dist/quicklisp-test/2021-02-01/releases.txt 5 | archive-base-url: http://localhost:8091/ 6 | canonical-distinfo-url: http://localhost:8091/dist/quicklisp-test/2021-02-01/distinfo.txt 7 | distinfo-subscription-url: http://localhost:8091/dist/quicklisp-test.txt 8 | -------------------------------------------------------------------------------- /test/web-server/static/dist/quicklisp-test/2021-02-01/releases.txt: -------------------------------------------------------------------------------- 1 | # project url size file-md5 content-sha1 prefix [system-file1..system-fileN] 2 | alexandria http://localhost:8091/archive/alexandria/2020-09-25/alexandria-20200925-git.tgz 54730 59c8237a854de6f4f93328cd5747cd14 c531b4f1469d257643362b700745b3a54c132bef alexandria-20200925-git alexandria-tests.asd alexandria.asd 3 | -------------------------------------------------------------------------------- /test/web-server/static/dist/quicklisp-test/2021-02-01/systems.txt: -------------------------------------------------------------------------------- 1 | # project system-file system-name [dependency1..dependencyN] 2 | alexandria alexandria alexandria asdf 3 | alexandria alexandria-tests alexandria-tests alexandria asdf 4 | -------------------------------------------------------------------------------- /tutorial/css/custom.css: -------------------------------------------------------------------------------- 1 | .org-svg, svg { 2 | font-family: "Lucida Console", Monaco, monospace; 3 | } 4 | 5 | .reveal p code, .reveal dl code, .reveal ul code, .reveal ol code { 6 | color: #dca3a3; 7 | } 8 | .org-svg { 9 | background-color: lavender; 10 | width: 100%; 11 | } 12 | 13 | .reveal { 14 | font-size: 26px; 15 | } 16 | 17 | .reveal p { 18 | text-align: left; 19 | } 20 | 21 | .reveal ul, .reveal ol { 22 | display: inherit; 23 | } 24 | 25 | .reveal ul > li, .reveal ol > li { 26 | text-align: left; 27 | } 28 | 29 | .leftcol { 30 | float: left; 31 | width: 50%; 32 | } 33 | 34 | .rightcol { 35 | float: right; 36 | width: 50%; 37 | } 38 | 39 | .reveal img { 40 | width: 95%; 41 | display: block; 42 | } 43 | 44 | .slides { 45 | width: 1400px; 46 | } 47 | -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/activate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/activate.png -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/fiveam-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/fiveam-error.png -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/fiveam-git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/fiveam-git.png -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/fiveam-override.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/fiveam-override.png -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/init.png -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/install.png -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/tests-pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/tests-pass.png -------------------------------------------------------------------------------- /tutorial/screen-shots/bundle-repl/version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/bundle-repl/version.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/activate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/activate.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/editable-diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/editable-diff.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/fiveam-diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/fiveam-diff.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/fiveam-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/fiveam-error.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/install-diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/install-diff.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/load-diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/load-diff.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/load-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/load-error.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/loaded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/loaded.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/sync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/sync.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/tests-pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/tests-pass.png -------------------------------------------------------------------------------- /tutorial/screen-shots/global-repl/version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lisp-mirror/clpm/e339b30259ddb7303a6c623e81a45dcd7544cc1a/tutorial/screen-shots/global-repl/version.png -------------------------------------------------------------------------------- /version.lisp-expr: -------------------------------------------------------------------------------- 1 | ;;;; -*- Mode: common-lisp; -*- 2 | ;;;; 3 | ;;;; This file contains a single string naming the version that is being 4 | ;;;; currently worked on. It should be bumped immediately after releasing the 5 | ;;;; version. This should not contain any prerelease info. 6 | "0.4.0" 7 | --------------------------------------------------------------------------------