See the [wiki](https://github.com/frankduncan/clnl/wiki) for more information.
+# Using standalone executables
+
+Find the latest version, [0.1.0](https://github.com/frankduncan/clnl/releases/tag/v0.1.0) on the [releases page](https://github.com/frankduncan/clnl/releases):
+* [linux](https://github.com/frankduncan/clnl/releases/download/v0.1.0/clnl)
+* [windows](https://github.com/frankduncan/clnl/releases/download/v0.1.0/clnl.exe)
+* [mac](https://github.com/frankduncan/clnl/releases/download/v0.1.0/CLNL.dmg)
+
# Running from source
If you'd like to run it from source, you're going to need a few things:
-* A copy of the clnl source (either from the [releases page](https://github.com/frankduncan/clnl/releases) or via cloning)
+* A copy of the clnl source (either from the [releases page](https://github.com/frankduncan/clnl/releases), version [0.1.0](https://github.com/frankduncan/clnl/releases/download/v0.1.0/clnl_0.1.0.tar.gz) or via cloning)
* An implementation of sbcl with threads enabled
* The following common lisp libraries (included in [deps/common-lisp](deps/common-lisp) folder)
* alexandria
(asdf:load-system :clnl)
(clnl:run)
```
-
-# Using standalone executables
-
-See the [releases page](https://github.com/frankduncan/clnl/releases) for the most recent release.
SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core --no-sysinit --no-userinit \
--eval "(require 'asdf)" \
- --eval "(asdf:initialize-source-registry '(:source-registry (:tree \"${PWD}/tmp/deps\") (:directory \"${PWD}/src/main\") :IGNORE-INHERITED-CONFIGURATION))" \
+ --eval "(asdf:initialize-source-registry '(:source-registry (:tree \"${PWD}/tmp/deps\") (:tree \"${PWD}/src/main\") :IGNORE-INHERITED-CONFIGURATION))" \
--eval "(asdf:load-system :clnl)" \
+ --eval "(asdf:load-system :clnl-extension-cli)" \
--eval "(asdf:clear-output-translations)" \
--eval '(sb-ext:save-lisp-and-die "osxsbcl" :executable t :toplevel (function clnl:run))' \
sbcl --no-sysinit --no-userinit \
--eval "(require 'asdf)" \
- --eval "(asdf:initialize-source-registry '(:source-registry (:tree \"${escaped_cur_dir}\\\\tmp\\\\deps\") (:directory \"${escaped_cur_dir}\\\\src\\\\main\") :IGNORE-INHERITED-CONFIGURATION))" \
+ --eval "(asdf:initialize-source-registry '(:source-registry (:tree \"${escaped_cur_dir}\\\\tmp\\\\deps\") (:tree \"${escaped_cur_dir}\\\\src\\\\main\") :IGNORE-INHERITED-CONFIGURATION))" \
--eval "(asdf:load-system :clnl)" \
+ --eval "(asdf:load-system :clnl-extension-cli)" \
--eval "(asdf:clear-output-translations)" \
--eval '(sb-ext:save-lisp-and-die "clnl.exe" :executable t :toplevel (function clnl:run))'
generatedoc :clnl-lexer >> wiki/DocsOtherPackages.md
generatedoc :clnl-parser >> wiki/DocsOtherPackages.md
generatedoc :clnl-transpiler >> wiki/DocsOtherPackages.md
-generatedoc :clnl-random >> wiki/DocsOtherPackages.md
+generatedoc :clnl-code-parser >> wiki/DocsOtherPackages.md
generatedoc :clnl-model >> wiki/DocsOtherPackages.md
+generatedoc :clnl-random >> wiki/DocsOtherPackages.md
# The release process:
# * Change version number in clnl.asd
-# * Run this script to create the source tarball
+# * Change where the README.md points to releases
# * Run bin/generatedocs.sh to update wiki
-# * Create release on github (that should create the tag)
-# * Upload the tar.gz as an extra file
# * Create linux release using bin/buildlinuxexech.sh on a linux machine
# * Create osx release using bin/buildosxrelease.sh on a mac and upload
# * Create windows release using bin/buildwindowsexec.sh on a windows box and upload
+# * Make a release commit and push up, most likely a rebase of all the commits to make the previous steps work correctly
+# * Run this script to create the source tarball
+# * Create release on github (that should create the tag), use v<MAJOR>.<MINOR>.<PATCH> as the versioning scheme
+# * Upload the tar.gz as an extra file
# * Set the tag in wiki milestones, update Running wiki page to point to new release
version=$(sbcl --noinform --disable-ldb --lose-on-corruption --end-runtime-options --eval '(format t "~A" (asdf:component-version (asdf:find-system :clnl)))' --eval "(quit)")
(asdf:defsystem clnl
:name "Experiment"
- :version "0.0.0"
+ :version "0.1.0"
:maintainer "Frank Duncan (frank@kank.com)"
:author "Frank Duncan (frank@kank.com)"
:components ((:file "package")
(defvar *glut-window-opened* nil)
(defvar *dimensions* nil)
+(defvar *default-shapes* nil)
+
; For now, shapes can live in here
; header is
; * name <like default>
(defun default-shapes ()
(with-open-file (str "resources/defaultshapes") (parse-shapes str)))
+(eval-when (:load-toplevel)
+ (when (probe-file "resources/defaultshapes")
+ (setf *default-shapes* (default-shapes))))
+
(defvar *colors*
'((140 140 140) ; gray (5)
(215 48 39) ; red (15)
(gl:translate -150d0 -150d0 -0.0d0)
(mapcar #'element->gl-list (getf shape :elements)))
turtle-list))
- (default-shapes))))
+ (or *default-shapes* (default-shapes)))))
(defun set-patch-list ()
(setf *patch-list* (gl:gen-lists 1))
-Subproject commit 769e5e8f99137d05ee9ea7eb5232d923f14b6286
+Subproject commit 5aa4443b92dcdd79e08ba82e64702dcdf239e2fe