From e49eda07b70a54c8e8e44457f603cdf63f83801e Mon Sep 17 00:00:00 2001 From: Alex Dunn Date: Sun, 30 Oct 2016 18:28:55 -0700 Subject: [PATCH 1/3] paths: remove unused function --- src/paths.lisp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/paths.lisp b/src/paths.lisp index 6971d88..5db79b0 100644 --- a/src/paths.lisp +++ b/src/paths.lisp @@ -5,8 +5,7 @@ :+project-name+ :+qi-directory+ :package-dir - :project-dir - :qi-dir)) + :project-dir)) (in-package :qi.paths) ;; Code: @@ -33,11 +32,6 @@ Qi is not running in the context of a project.") "Pathname/directory for ." (asdf:system-relative-pathname proj (qi.util:sym->str proj))) -(defun qi-dir () - (fad:merge-pathnames-as-directory - (project-dir +project-name+) - (ensure-directories-exist #P".dependencies/"))) - (defun package-dir () (fad:merge-pathnames-as-directory (project-dir +project-name+) From a74fb92abc6a31257a1f720291e725fe8c131826 Mon Sep 17 00:00:00 2001 From: Alex Dunn Date: Sun, 30 Oct 2016 18:29:28 -0700 Subject: [PATCH 2/3] paths: create merged directory in (package-dir) Instead of creating .dependencies/packages _then_ merging it with the project directory. --- src/paths.lisp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/paths.lisp b/src/paths.lisp index 5db79b0..757b9e8 100644 --- a/src/paths.lisp +++ b/src/paths.lisp @@ -33,6 +33,7 @@ Qi is not running in the context of a project.") (asdf:system-relative-pathname proj (qi.util:sym->str proj))) (defun package-dir () - (fad:merge-pathnames-as-directory - (project-dir +project-name+) - (ensure-directories-exist #P".dependencies/packages/"))) + (ensure-directories-exist + (fad:merge-pathnames-as-directory + (project-dir +project-name+) + #P".dependencies/packages/"))) From 6f11b3449d65d649e7725fb5202bb811e80865ec Mon Sep 17 00:00:00 2001 From: Alex Dunn Date: Sun, 30 Oct 2016 19:09:48 -0700 Subject: [PATCH 3/3] paths: install global packages into qi/share This helps distinguish them from local packages, and conforms with the traditional expectations of packagers regarding data that should persist across upgrades. --- .gitignore | 6 +++--- init.lisp | 6 +++--- src/paths.lisp | 5 ++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 992ea17..5270907 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,11 @@ -*.fasl *.dx32fsl *.dx64fsl +*.fasl *.lx32fsl *.lx64fsl *.x86f *~ .#* -.dependencies -t/resources/tar/*-master/ +/share t/resources/tar/*-latest/ +t/resources/tar/*-master/ diff --git a/init.lisp b/init.lisp index 224dc39..99f1445 100644 --- a/init.lisp +++ b/init.lisp @@ -64,12 +64,12 @@ compiling asdf.lisp to a FASL and then loading it." (defun load-user-packages () "Make user-global-packages available to ASDF. They're not immediately available like qi, but can be make so by (qi:qiload :)." - (loop for dir in (directory (qi-dir ".dependencies/packages/**")) + (loop for dir in (directory (qi-dir "share/qi/packages/**")) do (push-new-to-registry dir))) -;; Walk ./dependencies and make all of qi's dependencies -;; available. Also walk ./.dependencies/packages to load in user +;; Walk dependencies and make all of qi's dependencies +;; available. Also walk share/qi/packages to load in user ;; globally-installed packages. (let ((qi-deps-to-load (directory (concatenate 'string (namestring +qi-dependencies+) "**")))) (setf asdf:*central-registry* nil) diff --git a/src/paths.lisp b/src/paths.lisp index 757b9e8..da33f51 100644 --- a/src/paths.lisp +++ b/src/paths.lisp @@ -36,4 +36,7 @@ Qi is not running in the context of a project.") (ensure-directories-exist (fad:merge-pathnames-as-directory (project-dir +project-name+) - #P".dependencies/packages/"))) + (if (equal "qi" + (qi.util:sym->str +project-name+)) + #P"share/qi/packages/" + #P".dependencies/packages/"))))