Skip to content

Commit 38418cf

Browse files
committed
Update the docs now that the shared libraries are included in the repository
1 parent 3c17cf1 commit 38418cf

File tree

1 file changed

+10
-55
lines changed

1 file changed

+10
-55
lines changed

README.org

+10-55
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,16 @@
11
#+STARTUP: showall
2-
#+TITLE: Common Lisp download helper for Tecgraf libraries (IUP, CD and IM)
2+
#+TITLE: Tecgraf libraries (IUP, CD and IM) as Common Lisp ASDF System
33

4-
This system:
4+
This system includes a shell script, ~update.sh~ which downloads the
5+
Tecgraf shared libraries for Windows and Linux and places them in
6+
subdirectory ~libs/~. See also
7+
https://www.tecgraf.puc-rio.br/iup/en/download_tips.html
58

6-
- Pulls the latest IUP, CD and IM libraries from locations described
7-
at https://www.tecgraf.puc-rio.br/iup/en/download_tips.html
9+
- The shared libraries are then included in this repository.
810

9-
- Verifies the SHA256 checksum of each archive against previously
10-
recorded checksums.
11+
- The location of the shared libraries can be referenced from
12+
~(asdf:system-relative-pathname "tecgraf-libs" "libs/")~.
1113

12-
- Unpacks the distribution archives.
13-
14-
- Installs the shared libraries into ~(asdf:system-relative-pathname
15-
"tecgraf-libs" "libs/")~.
16-
17-
- On Linux, uses ~patchelf~ to set the shared library rpath to
14+
- On Linux, ~patchelf~ is used set the shared library rpath to
1815
~$ORIGIN~ so that the interdependencies between the Tecgraf shared
19-
libraries can be found relative to each other. Install ~patchelf~
20-
with, for example, ~sudo apt install patchelf~.
21-
22-
- Display copy and pastable instructions on how to set paths for a
23-
specific system.
24-
25-
*NOTE:* On Linux you will need to install system dependencies that the
26-
IUP libraries are linked against. e.g. ~sudo apt install
27-
libgtk-3.0~. On Windows, everything is self contained.
28-
29-
* Example
30-
31-
#+begin_src lisp :results output
32-
(ql:quickload "tecgraf-libs")
33-
#+end_src
34-
35-
#+RESULTS:
36-
#+begin_example
37-
To load "tecgraf-libs":
38-
Load 1 ASDF system:
39-
tecgraf-libs
40-
; Loading "tecgraf-libs"
41-
......
42-
Downloading https://sourceforge.net/projects/iup/files/3.27/Linux%20Libraries/iup-3.27_Linux415_64_lib.tar.gz...
43-
...
44-
Downloading https://sourceforge.net/projects/canvasdraw/files/5.12/Linux%20Libraries/cd-5.12_Linux415_64_lib.tar.gz...
45-
Downloading https://sourceforge.net/projects/imtoolkit/files/3.13/Linux%20Libraries/im-3.13_Linux415_64_lib.tar.gz...
46-
.
47-
Unpacked to #P"/home/mkennedy/.quicklisp/local-projects/lispnik/tecgraf-libs/libs/"
48-
49-
Lisp init file:
50-
(ql:quickload "cffi")
51-
(pushnew (asdf:system-relative-pathname "tecgraf-libs" "libs/")
52-
cffi:*foreign-library-directories*)
53-
54-
Linux:
55-
export LD_LIBRARY_PATH="/home/mkennedy/.quicklisp/local-projects/lispnik/tecgraf-libs/libs/:$LD_LIBRARY_PATH"
56-
LD_LIBRARY_PATH="/home/mkennedy/.quicklisp/local-projects/lispnik/tecgraf-libs/libs/:$LD_LIBRARY_PATH" lisp ...
57-
58-
Windows:
59-
setx PATH "/home/mkennedy/.quicklisp/local-projects/lispnik/tecgraf-libs/libs/;%PATH%"
60-
61-
#+end_example
16+
libraries can be found relative to each other.

0 commit comments

Comments
 (0)