mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: talloc: Add static variant.
* gnu/packages/samba.scm (talloc/static): New variable.
This commit is contained in:
parent
864704212f
commit
602db62c7c
1 changed files with 40 additions and 1 deletions
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
||||
|
@ -25,6 +25,7 @@ (define-module (gnu packages samba)
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
|
@ -252,6 +253,44 @@ (define-public talloc
|
|||
destructors. It is the core memory allocator used in Samba.")
|
||||
(license gpl3+))) ;; The bundled "replace" library uses LGPL3.
|
||||
|
||||
(define-public talloc/static
|
||||
(package
|
||||
(inherit talloc)
|
||||
(name "talloc-static")
|
||||
(synopsis
|
||||
"Hierarchical, reference counted memory pool system (static library)")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments talloc)
|
||||
((#:phases phases)
|
||||
;; Since Waf, the build system talloc uses, apparently does not
|
||||
;; support building static libraries from a ./configure flag, roll our
|
||||
;; own build process. No need to be ashamed, we're not the only ones
|
||||
;; doing that:
|
||||
;; <https://github.com/proot-me/proot-static-build/blob/master/GNUmakefile>.
|
||||
;; :-)
|
||||
`(modify-phases ,phases
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(letrec-syntax ((shell (syntax-rules ()
|
||||
((_ (command ...) rest ...)
|
||||
(and (zero? (system* command ...))
|
||||
(shell rest ...)))
|
||||
((_)
|
||||
#t))))
|
||||
(shell ("gcc" "-c" "-Ibin/default" "-I" "lib/replace"
|
||||
"-I." "-Wall" "-g" "talloc.c")
|
||||
("ar" "rc" "libtalloc.a" "talloc.o")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(include (string-append out "/include")))
|
||||
(mkdir-p lib)
|
||||
(install-file "libtalloc.a" lib)
|
||||
(install-file "talloc.h" include)
|
||||
#t)))
|
||||
(delete 'check))))))) ;XXX: tests rely on Python modules
|
||||
|
||||
(define-public tevent
|
||||
(package
|
||||
(name "tevent")
|
||||
|
|
Loading…
Reference in a new issue