mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add makem-minimal.
* gnu/packages/emacs-build.scm (makem-minimal): New variable. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
parent
0e6e32570a
commit
8606878a31
3 changed files with 126 additions and 0 deletions
|
@ -1838,6 +1838,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mailutils-variable-lookup.patch \
|
||||
%D%/packages/patches/mandoc-support-zstd-compression.patch \
|
||||
%D%/packages/patches/make-impure-dirs.patch \
|
||||
%D%/packages/patches/makem-replace-git.patch \
|
||||
%D%/packages/patches/mariadb-rocksdb-atomic-linking.patch \
|
||||
%D%/packages/patches/marisa-fix-MARISA_WORD_SIZE.patch \
|
||||
%D%/packages/patches/mathjax-disable-webpack.patch \
|
||||
|
|
|
@ -522,3 +522,62 @@ Lisp.")
|
|||
(description "This package provides a makefile to help checking Emacs
|
||||
packages.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
;; This is an alternative version patches for internal Guix tests.
|
||||
;; The user-facing version is in emacs-xyz.scm
|
||||
(define-public makem-minimal
|
||||
(package
|
||||
(name "makem")
|
||||
(version "0.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alphapapa/makem.sh")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xqwfxkxgpcm3k2m2shwkwrm4asl59ik8867c3k1iwfj8xzfp089"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(begin
|
||||
(delete-file-recursively "images")))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(let ((patch (local-file
|
||||
(car (search-patches "makem-replace-git.patch")))))
|
||||
(list
|
||||
#:tests? #f
|
||||
#:modules
|
||||
'((guix build emacs-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-file
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke (search-input-file inputs "bin/patch")
|
||||
"--force" "--no-backup-if-mismatch"
|
||||
"-p1" "--input" #$patch)))
|
||||
(add-after 'install 'install-bin
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin")))
|
||||
(mkdir-p bin)
|
||||
(install-file "makem.sh" bin))))
|
||||
(add-after 'install-bin 'wrap-script
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/makem.sh")
|
||||
`("PATH" ":" prefix
|
||||
,(map dirname
|
||||
(map (cut search-input-file inputs <>)
|
||||
(list "bin/find"
|
||||
"bin/grep"
|
||||
"bin/sed")))))))))))
|
||||
(native-inputs (list patch))
|
||||
(inputs
|
||||
(list coreutils-minimal grep sed util-linux)) ; for getopt
|
||||
(home-page "https://github.com/alphapapa/makem.sh")
|
||||
(synopsis "Makefile-like script to help checking Emacs packages")
|
||||
(description "This package provides a Makefile-like script and a transient
|
||||
menu for linting and testing Emacs packages.")
|
||||
(license license:gpl3+)))
|
||||
|
|
66
gnu/packages/patches/makem-replace-git.patch
Normal file
66
gnu/packages/patches/makem-replace-git.patch
Normal file
|
@ -0,0 +1,66 @@
|
|||
From 5396f4d6312b24eac79da2f70279df773443fd10 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Graves <ngraves@ngraves.fr>
|
||||
Date: Wed, 19 Mar 2025 13:02:47 +0100
|
||||
Subject: [PATCH] Replace git.
|
||||
|
||||
---
|
||||
makem.sh | 34 +++++-----------------------------
|
||||
1 file changed, 5 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/makem.sh b/makem.sh
|
||||
index fd81e0f..4ec9577 100755
|
||||
--- a/makem.sh
|
||||
+++ b/makem.sh
|
||||
@@ -385,34 +385,13 @@ function byte-compile-file {
|
||||
|
||||
# ** Files
|
||||
|
||||
-function submodules {
|
||||
- # Echo a list of submodules's paths relative to the repo root.
|
||||
- # TODO: Parse with bash regexp instead of cut.
|
||||
- git submodule status | awk '{print $2}'
|
||||
-}
|
||||
-
|
||||
-function project-root {
|
||||
- # Echo the root of the project (or superproject, if running from
|
||||
- # within a submodule).
|
||||
- root_dir=$(git rev-parse --show-superproject-working-tree)
|
||||
- [[ $root_dir ]] || root_dir=$(git rev-parse --show-toplevel)
|
||||
- [[ $root_dir ]] || error "Can't find repo root."
|
||||
-
|
||||
- echo "$root_dir"
|
||||
-}
|
||||
-
|
||||
function files-project {
|
||||
# Echo a list of files in project; or with $1, files in it
|
||||
- # matching that pattern with "git ls-files". Excludes submodules.
|
||||
- [[ $1 ]] && pattern="/$1" || pattern="."
|
||||
-
|
||||
- local excludes
|
||||
- for submodule in $(submodules)
|
||||
- do
|
||||
- excludes+=(":!:$submodule")
|
||||
- done
|
||||
-
|
||||
- git ls-files -- "$pattern" "${excludes[@]}"
|
||||
+ # matching that pattern with "find".
|
||||
+ if [[ $1 ]]
|
||||
+ then find . -type f -name "$1" | sed 's|^\./||'
|
||||
+ else find . -type f | sed 's|^\./||'
|
||||
+ fi
|
||||
}
|
||||
|
||||
function dirs-project {
|
||||
@@ -1223,9 +1202,6 @@ paths_temp+=("$package_initialize_file")
|
||||
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
-# Change to project root directory first.
|
||||
-cd "$(project-root)"
|
||||
-
|
||||
# Discover project files.
|
||||
files_project_feature=($(files-project-feature))
|
||||
files_project_test=($(files-project-test))
|
||||
--
|
||||
2.48.1
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue