commit 67b6aca
chld
·
2026-09-13 03:13:59 +0000 UTC
parent 09d5d5b
temporaily copy libsh
1 files changed,
+44,
-17
M
pkg.scm
M
pkg.scm
+44,
-17
1@@ -8,28 +8,28 @@
2 (n 0)
3 )
4 (if (= n (length p))
5- #f
6- (let (
7- (d (list-ref p n))
8- (r #f)
9- )
10- (ftw d
11- (lambda (f s l)
12- (when (and (eq? (stat:type s) 'directory)
13- (string=? (basename f) pkg))
14- (set! r f))
15- #t))
16- (if r r
17- (pp p (+ n 1)))
18- ))
19+ #f
20+ (let (
21+ (d (list-ref p n))
22+ (r #f)
23+ )
24+ (ftw d
25+ (lambda (f s l)
26+ (when (and (eq? (stat:type s) 'directory)
27+ (string=? (basename f) pkg))
28+ (set! r f))
29+ #t))
30+ (if r r
31+ (pp p (+ n 1)))
32+ ))
33 )
34 )
35
36 (define (find-pkg pkg)
37 (if (_find-pkg pkg)
38 (_find-pkg pkg)
39- (die (format #f "package ~a not found" pkg) 1)
40- )
41+ (die (format #f "package ~a not found" pkg) 1)
42+ )
43 )
44
45 (define (ver-pkg pkg)
46@@ -166,9 +166,36 @@
47
48 (define (build-pkg pkg)
49 (pmsg pkg "beginning build")
50- (chdir "/ports")
51+
52+ ;; anything except overlay
53+ ;; dirname until its a member of split DULL_PATH
54+ (define op "")
55+ (let dp
56+ ((m (find-pkg pkg)))
57+ (if (member m (string-split DULL_PATH #\:))
58+ (set! op m)
59+ (dp (dirname m))
60+ )
61+ )
62+
63+ ;; so it can source libdmake
64+ (unless (and (string=? op (last (string-split DULL_PATH #\:)))
65+ (file-exists? (format #f "~a/libsh/libdmake.sh" op))
66+ (file-exists? (format #f "~a/libsh" op))
67+ )
68+ (mkdir (format #f "~a/libsh" op))
69+ (copy-file (format #f "~a/libsh/libdmake.sh" (last (string-split DULL_PATH #\:)))
70+ (format #f "~a/libsh/libdmake.sh" op))
71+ )
72+
73 (system*
74 "sh" (format #f "~a/ndmake.sh" (find-pkg pkg))
75 "make"
76 )
77+
78+
79+ (unless (string=? op (last (string-split DULL_PATH #\:)))
80+ (delete-file (format #f "~a/libsh/libdmake.sh" op))
81+ (rmdir (format #f "~a/libsh" op))
82+ )
83 )