|
1 | 1 | #+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 |
3 | 3 |
|
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 |
5 | 8 |
|
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. |
8 | 10 |
|
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/")~. |
11 | 13 |
|
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 |
18 | 15 | ~$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