mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: libjami: Move jamid daemon to a "bin" output.
* gnu/packages/jami.scm (libjami) [outputs]: Add a "bin" output. [arguments]: Add a move-jamid phase. * gnu/services/telephony.scm (jami-configuration->command-line-arguments): Refer to the "bin" output of libjami. (jami-shepherd-services): Likewise.
This commit is contained in:
parent
c0106ea5c9
commit
aef75942fc
2 changed files with 23 additions and 6 deletions
|
@ -402,7 +402,7 @@ (define-public libjami
|
|||
(name "libjami")
|
||||
(version %jami-version)
|
||||
(source %jami-sources)
|
||||
(outputs '("out" "debug"))
|
||||
(outputs '("out" "bin" "debug")) ;"bin' contains jamid
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -425,7 +425,20 @@ (define-public libjami
|
|||
(lambda _
|
||||
(for-each delete-file
|
||||
(find-files (string-append #$output "/lib")
|
||||
"\\.a$")))))))
|
||||
"\\.a$"))))
|
||||
(add-after 'install 'move-jamid
|
||||
;; This nearly halves the size of the main output (from 1566.2 MiB
|
||||
;; to 833.6 MiB), due to not depending on dbus-c++ and its large
|
||||
;; dependencies.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((libexec (string-append #$output:bin "/libexec"))
|
||||
(share (string-append #$output:bin "/share")))
|
||||
(mkdir-p libexec)
|
||||
(rename-file (search-input-file outputs "libexec/jamid")
|
||||
(string-append libexec "/jamid"))
|
||||
(mkdir-p share)
|
||||
(rename-file (search-input-directory outputs "share/dbus-1")
|
||||
(string-append share "/dbus-1"))))))))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
asio
|
||||
|
@ -461,7 +474,9 @@ (define-public libjami
|
|||
Jami core functionality. Jami is a secure and distributed voice, video and
|
||||
chat communication platform that requires no centralized server and leaves the
|
||||
power of privacy in the hands of the user. It supports the SIP and IAX
|
||||
protocols, as well as decentralized calling using P2P-DHT.")
|
||||
protocols, as well as decentralized calling using P2P-DHT. The @samp{\"bin\"}
|
||||
output contains the D-Bus daemon (@command{jamid}) as well as the Jami D-Bus
|
||||
service definitions.")
|
||||
(home-page "https://jami.net/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
|
|
|
@ -267,7 +267,7 @@ (define (jami-configuration->command-line-arguments config)
|
|||
CONFIG, a <jami-configuration> object."
|
||||
(match-record config <jami-configuration>
|
||||
(libjami dbus enable-logging? debug? auto-answer?)
|
||||
`(,(file-append libjami "/libexec/jamid")
|
||||
`(,#~(string-append #$libjami:bin "/libexec/jamid")
|
||||
"--persistent" ;stay alive after client quits
|
||||
,@(if enable-logging?
|
||||
'() ;logs go to syslog by default
|
||||
|
@ -524,7 +524,8 @@ (define disable-account-action
|
|||
#:environment-variables
|
||||
;; This is so that the cx.ring.Ring service D-Bus
|
||||
;; definition is found by dbus-daemon.
|
||||
(list (string-append "XDG_DATA_DIRS=" #$libjami "/share"))))
|
||||
(list (string-append "XDG_DATA_DIRS="
|
||||
#$libjami:bin "/share"))))
|
||||
(stop #~(make-kill-destructor)))
|
||||
|
||||
(shepherd-service
|
||||
|
@ -595,7 +596,8 @@ (define (delete-file-recursively/safe file)
|
|||
;; Start the daemon.
|
||||
(define daemon-pid
|
||||
((make-forkexec-constructor/container
|
||||
'#$(jami-configuration->command-line-arguments config)
|
||||
(list #$@(jami-configuration->command-line-arguments
|
||||
config))
|
||||
#:mappings
|
||||
(list (file-system-mapping
|
||||
(source "/dev/log") ;for syslog
|
||||
|
|
Loading…
Reference in a new issue