From f63116baad2fe6249512d0f37b88ff28e5d5af98 Mon Sep 17 00:00:00 2001 From: TakeV Date: Fri, 7 Jul 2023 15:37:54 -0700 Subject: [PATCH] Configure repo as channel, because hell yeah --- .guix-authorizations | 8 +++ .guix-channel | 8 +++ .guix/modules/guix-cantrips-package.scm | 83 +++++++++++++++++++++++++ guix.scm | 81 +----------------------- hall.scm | 22 +++++-- scripts/guix-cantrips.in | 5 ++ 6 files changed, 121 insertions(+), 86 deletions(-) create mode 100644 .guix-authorizations create mode 100644 .guix-channel create mode 100644 .guix/modules/guix-cantrips-package.scm mode change 100644 => 120000 guix.scm diff --git a/.guix-authorizations b/.guix-authorizations new file mode 100644 index 0000000..3ce383b --- /dev/null +++ b/.guix-authorizations @@ -0,0 +1,8 @@ +(authorizations + (version 0) + (("1086 326D E207 068C 1C02 5129 A64F 4134 5C74 00AF" + (name "takev")))) + +;;; Local Variables: +;;; mode: scheme +;;; End: diff --git a/.guix-channel b/.guix-channel new file mode 100644 index 0000000..891429d --- /dev/null +++ b/.guix-channel @@ -0,0 +1,8 @@ +(channel + (version 0) + (directory ".guix/modules")) + + +;;; Local Variables: +;;; mode: scheme +;;; End: \ No newline at end of file diff --git a/.guix/modules/guix-cantrips-package.scm b/.guix/modules/guix-cantrips-package.scm new file mode 100644 index 0000000..cf88d26 --- /dev/null +++ b/.guix/modules/guix-cantrips-package.scm @@ -0,0 +1,83 @@ +(define-module (guix-cantrips-package) + #:use-module (guix) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) + #:use-module (gnu packages package-management) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages texinfo)) + +(define vcs-file? + (or (git-predicate (current-source-directory)) + (const #t))) + +(define-public guix-cantrips + (package + (name "guix-cantrips") + (version "0.1-src") + (source (local-file "../.." "guix-cantrips" #:recursive? #t)) + (build-system gnu-build-system) + (arguments + (list + #:make-flags + #~(list "GUILE_AUTO_COMPILE=0") + #:phases + #~(modify-phases %standard-phases + (delete 'strip) + (add-before 'configure 'hall-build + (lambda _ + (system* "hall" "build" "-x"))) + (add-after 'hall-build 'autoreconf + (lambda _ + (system* "autoreconf" "-vif"))) + (add-after 'install 'hall-wrap-binaries + (lambda _ + (use-modules (ice-9 ftw)) + (define (compiled-dir out version) + (string-append out "/lib/guile/" + version + "/site-ccache")) + (define (uncompiled-dir out version) + (string-append out + "/share/guile/site" + (if (string-null? version) "" + "/") + version)) + (define (dep-path env modules path) + (list env ":" + 'prefix + (cons modules + (map (lambda (input) + (string-append input path)) + (list #$guile-config + #$guile-lib + #$guile-simple-iterators))))) + (define bin (string-append #$output "/bin/")) + (define site (uncompiled-dir #$output "")) + (define version (caddr (scandir site))) + (wrap-program (string-append bin "guix-cantrips") + (dep-path + "GUILE_LOAD_PATH" + (uncompiled-dir #$output version) + (uncompiled-dir "" version)) + (dep-path + "GUILE_LOAD_COMPILED_PATH" + (compiled-dir #$output version) + (compiled-dir "" version)))))))) + (native-inputs (list autoconf automake pkg-config texinfo guile-hall)) + (inputs (list guile-3.0)) + (propagated-inputs (list guix + guile-config)) + (synopsis "") + (description "") + (home-page "") + (license license:gpl3+))) + +guix-cantrips + diff --git a/guix.scm b/guix.scm deleted file mode 100644 index c64c793..0000000 --- a/guix.scm +++ /dev/null @@ -1,80 +0,0 @@ -(use-modules - (guix) - (guix git-download) - (guix packages) - ((guix licenses) #:prefix license:) - (guix download) - (guix build-system gnu) - (gnu packages) - (gnu packages autotools) - (gnu packages guile) - (gnu packages guile-xyz) - (gnu packages package-management) - (gnu packages pkg-config) - (gnu packages texinfo)) - -(define vcs-file? - (or (git-predicate (current-source-directory)) - (const #t))) - -(package - (name "guix-cantrips") - (version "0.1-src") - (source (local-file (dirname (current-filename)) #:recursive? #t - #:select? vcs-file?)) - (build-system gnu-build-system) - (arguments - (list - #:make-flags - #~(list "GUILE_AUTO_COMPILE=0") - #:phases - #~(modify-phases %standard-phases - (delete 'strip) - (add-before 'configure 'hall-build - (lambda _ - (system* "hall" "build" "-x"))) - (add-after 'hall-build 'autoreconf - (lambda _ - (system* "autoreconf" "-vif"))) - (add-after 'install 'hall-wrap-binaries - (lambda _ - (use-modules (ice-9 ftw)) - (define (compiled-dir out version) - (string-append out "/lib/guile/" - version - "/site-ccache")) - (define (uncompiled-dir out version) - (string-append out - "/share/guile/site" - (if (string-null? version) "" - "/") - version)) - (define (dep-path env modules path) - (list env ":" - 'prefix - (cons modules - (map (lambda (input) - (string-append input path)) - (list #$guile-config - #$guile-lib - #$guile-simple-iterators))))) - (define bin (string-append #$output "/bin/")) - (define site (uncompiled-dir #$output "")) - (define version (caddr (scandir site))) - (wrap-program (string-append bin "guix-cantrips") - (dep-path - "GUILE_LOAD_PATH" - (uncompiled-dir #$output version) - (uncompiled-dir "" version)) - (dep-path - "GUILE_LOAD_COMPILED_PATH" - (compiled-dir #$output version) - (compiled-dir "" version)))))))) - (native-inputs (list autoconf automake pkg-config texinfo guile-hall)) - (inputs (list guile-3.0)) - (propagated-inputs (list guix)) - (synopsis "") - (description "") - (home-page "") - (license license:gpl3+)) - diff --git a/guix.scm b/guix.scm new file mode 120000 index 0000000..0cfca37 --- /dev/null +++ b/guix.scm @@ -0,0 +1 @@ +.guix/modules/guix-cantrips-package.scm \ No newline at end of file diff --git a/hall.scm b/hall.scm index a1e8621..e4088bf 100644 --- a/hall.scm +++ b/hall.scm @@ -5,12 +5,12 @@ (author "TakeV") (copyright (2023)) (synopsis "") - (description "Utilities to make programming with guix feel like magic.") + (description + "Utilities to make programming with guix feel like magic.") (home-page "") (license gpl3+) (dependencies - `(("guix" ,guix) - ("guile-git" ,guile-git) + `(("guile-git" ,guile-git) ("guile-config" ,guile-config))) (skip ()) (files (libraries @@ -27,7 +27,17 @@ (symlink "README" "README.org") (org-file "README"))) (infrastructure - ((scheme-file "hall") + ((text-file ".guix-authorizations") + (text-file ".guix-channel") + (symlink + "guix.scm" + ".guix/modules/guix-cantrips-package.scm") + (directory "scripts" ((in-file "guix-cantrips"))) + (directory + ".guix" + ((directory + "modules" + ((scheme-file "guix-cantrips-package"))))) + (scheme-file "hall") (text-file ".gitignore") - (scheme-file "guix") - (directory "scripts" ((in-file "guix-cantrips"))))))) + (scheme-file "guix"))))) diff --git a/scripts/guix-cantrips.in b/scripts/guix-cantrips.in index d8f2245..17d28a0 100644 --- a/scripts/guix-cantrips.in +++ b/scripts/guix-cantrips.in @@ -1,4 +1,9 @@ +#!@GUILE@ \ +--no-auto-compile -e main -s +!# + ;; bin/guix-cantrips --- guix-cantrips cli -*- coding: utf-8 -*- + (use-modules (config) (config api) (config licenses)