commit 4e83bc1
chld
·
2026-09-12 16:56:06 +0000 UTC
parent 5143254
replace shelling out for find-pkg with (ftw)
2 files changed,
+22,
-10
M
pkg.scm
M
pkg.scm
+21,
-9
1@@ -3,8 +3,20 @@
2 ;; package finding and shit
3
4 (define (find-pkg p)
5- (_system "find"
6- (or (getenv "DTR_DIR") "/ports") "-type" "d" "-mindepth" "2" "-maxdepth" "2" "-name" p)
7+ (let (
8+ (d DULL_PATH)
9+ (r #f)
10+ )
11+ (ftw d
12+ (lambda (f s l)
13+ (when (and
14+ (eq? (stat:type s) 'directory)
15+ (string=? (basename f) p)
16+ )
17+ (set! r f))
18+ #t))
19+ r
20+ )
21 )
22
23 (define (ver-pkg pkg)
24@@ -45,15 +57,15 @@
25 (ftw (format #f "~a/" dp)
26 (lambda (g s l)
27 (display
28- (format #f "~a~a~%"
29- (substring (format #f "~a" g) (string-length dp))
30- (if (eq? (stat:type s) 'directory) "/" "")
31- )
32- f)
33+ (format #f "~a~a~%"
34+ (substring (format #f "~a" g) (string-length dp))
35+ (if (eq? (stat:type s) 'directory) "/" "")
36+ )
37+ f)
38 #t)
39 ))
40 )
41- )
42+ )
43
44 (begin
45 (die (format #f "pkg dir for package ~a~a~a not found (~a)" "\x1b[33m" pkg "\x1b[0m" dp) 1)
46@@ -79,7 +91,7 @@
47 (copy-file (string-append dp (list-ref df n)) (list-ref df n))
48 )
49 (fc (+ n 1))))
50-
51+
52 (msg (format #f "package ~a~a~a successfully installed" "\x1b[33m" pkg "\x1b[m") "-->")
53 ))
54
+1,
-1
1@@ -1,3 +1,3 @@
2 (define DULL_DIR "/var/tmp/dtr")
3 (define DULL_DB "/var/lib/dull")
4-(define (or (getenv "DULL_PATH") "/ports-dull"))
5+(define DULL_PATH (or (getenv "DULL_PATH") "/ports-dull"))