1(define-module (nmeum packages)2 #:use-module (guix packages)3 #:use-module (guix diagnostics)4 #:use-module (guix gexp)5 #:use-module (ice-9 match)6 #:export (nmeum-patches7 nmeum-file))89(define %distro-root-directory10 ;; Like %distro-root-directory from (gnu packages), with adjusted paths.11 (letrec-syntax ((dirname* (syntax-rules ()12 ((_ file)13 (dirname file))14 ((_ file head tail ...)15 (dirname (dirname* file tail ...)))))16 (try (syntax-rules ()17 ((_ (file things ...) rest ...)18 (match (search-path %load-path file)19 (#f20 (try rest ...))21 (absolute22 (dirname* absolute things ...))))23 ((_)24 #f))))25 (try ("nmeum/packages/misc" nmeum/ packages/)26 ("nmeum/packages.scm" nmeum/))))2728(define %default-package-module-path29 ;; Default search path for package modules.30 `((,%distro-root-directory . "nmeum/packages")))3132(define-public (nmeum-file name)33 (local-file34 (in-vicinity35 %distro-root-directory36 (string-append "nmeum/packages/files/" name))))3738;; From nonguix.39(define (search-patch file-name)40 (define %patch-path41 (make-parameter42 (list43 (in-vicinity44 %distro-root-directory45 "nmeum/packages/patches"))))4647 (search-path (%patch-path) file-name))4849;; From nonguix.50(define-syntax-rule (nmeum-patches file-name ...)51 (list (search-patch file-name) ...))