summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-05-16 17:17:26 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-06-18 22:17:56 -0400
commita463eeb62328e7b1ee9054a21e758a31b7a26468 (patch)
tree27b4380f98d5bee6fbcb14552c87096575294464 /gnu
parent58949b72ce34cab833d95ff0f1b8799803564834 (diff)
gnu: Add renameat2.
* gnu/packages/c.scm (renameat2): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/c.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index e8bde0133d..e04538d8f3 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1375,6 +1375,41 @@ sequentially or in parallel, with optional synchronization in between, and GCD
will take care of dispatching tasks to available cores.")
(license license:asl2.0)))
+(define-public renameat2
+ ;; This is a Gist, with no release or tags.
+ (let ((revision "0")
+ (commit "5c5193f20142511a5fc7069a539f4e5aba0ea470"))
+ (package
+ (name "renameat2")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://gist.githubusercontent.com/"
+ "eatnumber1/f97ac7dad7b1f5a9721f/raw/"
+ commit "/renameat2.c"))
+ (sha256
+ (base32
+ "07b4hsxqjm610sdkm4nxhp0gnl2s7gzlh4zdnja5ay40v4x24bb9"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (invoke #$(cc-for-target) "renameat2.c"
+ "-o" "renameat2")))
+ (replace 'install
+ (lambda _
+ (install-file "renameat2"
+ (string-append #$output "/bin")))))))
+ (home-page "https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f")
+ (synopsis "Command to call the renameat2 Linux system call")
+ (description "This package provides a @command{renameat2} command that
+calls the Linux-specific @code{renameat2} system call.")
+ (license license:expat))))
+
(define-public utf8-h
;; The latest tag is used as there is no release.
(let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734")