-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
torrents.asd
85 lines (80 loc) · 2.82 KB
/
torrents.asd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#|
This file is a part of cl-torrents project.
|#
(in-package :cl-user)
(defpackage torrents-asd
(:use :cl :asdf))
(in-package :torrents-asd)
(defsystem torrents
:version (:read-file-form "version.lisp-expr")
:author "vindarel"
:license "MIT"
:depends-on (
:replic
:x.let-star
:cl-transmission
:access
:dexador
:jonathan
:plump
:str
:lparallel
:cl-ansi-text
:unix-opts ;; with alias opts
:clache
:mockingbird
:lquery
:py-configparser
:cl-readline
:parse-float
:log4cl)
:components ((:module "src"
:components
((:file "utils")
(:file "models")
(:file "tpb")
(:file "torrentcd")
(:file "kat")
(:file "1337")
(:file "downloadsme")
(:file "torrents-paradise")
(:file "torrents")
;; (:file "transmission-remote")
(:file "commands")
(:file "config"))))
;; build executable with asdf:make :torrents.
:build-operation "program-op"
:build-pathname "torrents"
:entry-point "torrents:main"
:description "Search for torrents on popular trackers. Lisp library, CLI interface, terminal application, Tk GUI."
:long-description
#.(with-open-file (stream (merge-pathnames
#p"README.org"
(or *load-pathname* *compile-file-pathname*))
:external-format :utf-8
:if-does-not-exist nil
:direction :input)
(when stream
(let ((seq (make-array (file-length stream)
:element-type 'character
:fill-pointer t)))
(setf (fill-pointer seq) (read-sequence seq stream))
seq)))
:in-order-to ((test-op (test-op torrents-test))))
;; build a smaller executable with SBCL's core compression:
;; 84 to 23MB, however startup time increases from 0.04 to 0.35s (noticeable).
#+sb-core-compression
(defmethod asdf:perform ((o asdf:image-op) (c asdf:system))
(uiop:dump-image (asdf:output-file o c) :executable t :compression t))
(defsystem torrents/tk
:version (:read-file-form "version.lisp-expr")
:depends-on (:torrents
:nodgui)
:components ((:module "src/gui-tk"
:components
((:file "gui-tk"))))
:description "Simple GUI to search for torrents."
;; build an executable with asdf:make :torrents/tk
:build-operation "program-op"
:build-pathname "torrents-tk"
:entry-point "torrents-tk:main")