70 lines
2.2 KiB
Scheme
70 lines
2.2 KiB
Scheme
(define-module (snamellit packages uv)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix build-system copy)
|
|
#:use-module (guix utils)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages base)
|
|
#:use-module (gnu packages elf)
|
|
#:use-module (guix licenses))
|
|
|
|
;; found at https://git.sr.ht/~alex-iam/alex-guix-channel/tree/master/item/alex/packages/uv.scm
|
|
|
|
(define-public uv
|
|
(package
|
|
(name "uv")
|
|
(version "0.8.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"https://github.com/astral-sh/uv/releases/download/"
|
|
version
|
|
"/uv-x86_64-unknown-linux-gnu.tar.gz"))
|
|
(sha256
|
|
(base32 "1bdhi34cwc051xqxp8h5hs4bzmix52hx9s5jxxd4b2l686jjijvd"))))
|
|
(build-system copy-build-system)
|
|
(inputs
|
|
`(("gcc:lib" ,gcc "lib")
|
|
("glibc" ,glibc)))
|
|
(native-inputs (list patchelf))
|
|
(arguments
|
|
`(#:install-plan
|
|
'(("uv" "bin/")
|
|
("uvx" "bin/"))
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-after 'unpack 'make-executables
|
|
(lambda _
|
|
(for-each make-file-writable '("uv" "uvx"))
|
|
#t))
|
|
(add-after 'install 'patch-runpath
|
|
(lambda* (#:key outputs inputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(bin (string-append out "/bin"))
|
|
(gcc-lib (assoc-ref inputs "gcc:lib"))
|
|
(libgcc-path (string-append gcc-lib "/lib/libgcc_s.so.1"))
|
|
(glibc (assoc-ref inputs "glibc"))
|
|
(glibc-lib (string-append glibc "/lib"))
|
|
(dynamic-linker (string-append glibc-lib "/ld-linux-x86-64.so.2")))
|
|
|
|
(for-each
|
|
(lambda (exe)
|
|
(invoke "patchelf"
|
|
"--set-interpreter" dynamic-linker
|
|
(string-append bin "/" exe))
|
|
(invoke "patchelf"
|
|
"--set-rpath"
|
|
(string-append gcc-lib "/lib:" glibc-lib)
|
|
(string-append bin "/" exe)))
|
|
'("uv" "uvx"))
|
|
#t))))))
|
|
(synopsis "Fast Python package manager (prebuilt binary)")
|
|
(description
|
|
"uv is a fast and unified Python package manager, written in Rust. This version installs the official prebuilt binaries.")
|
|
(home-page "https://astral.sh/uv")
|
|
(license expat)))
|
|
|
|
|
|
uv
|