We are going to use version that is not part of quicklisp. In local project place neccesary code executing the below example in a Msys2 terminal.
cd c:/Users/IEUser/quicklisp/local-projects/
(declaim (optimize (speed 1) (safety 2) (debug 3))) | |
(eval-when (:compile-toplevel :load-toplevel :execute) | |
(ql:quickload '(:draw-cons-tree :alexandria :serapeum :cl-cffi-gtk :defclass-std))) | |
(require 'sb-concurrency) | |
(defpackage :struct-ui-device | |
(:use #:cl | |
#:cffi |
$ ls /c/msys64/mingw64/bin/*dll /c/msys64/mingw64/bin/edit.dll /c/msys64/mingw64/bin/libjson-glib-1.0-0.dll /c/msys64/mingw64/bin/libaspell-15.dll /c/msys64/mingw64/bin/liblcms2-2.dll /c/msys64/mingw64/bin/libasprintf-0.dll /c/msys64/mingw64/bin/liblqr-1-0.dll /c/msys64/mingw64/bin/libatk-1.0-0.dll /c/msys64/mingw64/bin/libltdl-7.dll /c/msys64/mingw64/bin/libatomic-1.dll /c/msys64/mingw64/bin/liblzma-5.dll
This tutorial assumes you have installed binary version of SBCL downloaded from http://www.sbcl.org/platform-table.html
Also, it assumes you have Msys2 installed. https://www.msys2.org/ And all the tools needed for compilation are there.
On top of that I used Windows cmd started from a bat file that adds Msys2 paths.
#!/usr/local/bin/sbcl --script | |
(define-alien-routine gtk_application_window_new (* t) (app (* t))) | |
(define-alien-routine gtk_application_new (* t) (txt c-string) (flags int)) | |
(define-alien-routine g_application_run int | |
(app (* t)) (argc int) (argv (* t))) | |
(define-alien-routine g_signal_connect_data int ; |
check_if_proceed configFolders = do | |
let emacsdf = "/home/jacek/.emacs.d" | |
traceM ("calling check_if_proceed " ++ show ("ccc",configFolders)) | |
exists <- doesDirectoryExist emacsdf | |
symlink <- pathIsSymbolicLink emacsdf | |
let confemp = configFolders == [] | |
let result = False | |
if exists | |
then do | |
{ |
module Main exposing (..) | |
import Html exposing (Html, text, div, h1, img, p, ul, li, hr) | |
import Html.Attributes exposing (src) | |
import Json.Decode exposing (..) | |
import ISO8601 | |
---- MODEL ---- |
Blog post here