gnu: synergy: Upgrade to 1.7.3.

* gnu/packages/synergy.scm (synergy)[version]: Upgrade to 1.7.3
  [source]: Use github for source download.  Add snippet to remove
  bundled source and binaries.
  [inputs]: Add openssl.
  [arguments]: Copy example configuration files to out during 'install
  phase.
This commit is contained in:
Eric Bavier 2015-06-28 11:32:17 -05:00
parent b5ad1659ba
commit 5c852e085d
1 changed files with 36 additions and 14 deletions

View File

@ -18,11 +18,12 @@
(define-module (gnu packages synergy) (define-module (gnu packages synergy)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix licenses) #:use-module ((guix licenses) #:select (gpl2))
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages openssl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages zip) #:use-module (gnu packages zip)
@ -31,19 +32,31 @@
(define-public synergy (define-public synergy
(package (package
(name "synergy") (name "synergy")
(version "1.5.1-r2398") (version "1.7.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.synergy-project.org/files/packages/" (uri (string-append "https://github.com/synergy/synergy/archive/"
"synergy-" version "-Source.tar.gz")) "v" version "-stable.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"19q8ck15f0jgpbzlm34dzp046wf3iiwa21s1qfyj5sj7xjxwa367")))) "098y71fiw1n5i7g1p6vjfs5rz472j192p9izz2axxxhfvcyzrvx4"))
(modules '((guix build utils)))
(snippet
;; Remove ~14MB of unnecessary bundled source and binaries
'(for-each delete-file-recursively
`("ext/bonjour"
"ext/LICENSE (OpenSSL)"
,@(find-files "ext" "openssl-.*\\.tar\\.gz")
"ext/openssl-osx"
"ext/openssl-win32"
"ext/openssl-win64")))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs `(("unzip" ,unzip))) (native-inputs `(("unzip" ,unzip)))
(inputs (inputs
`(("python" ,python-wrapper) `(("python" ,python-wrapper)
("openssl" ,openssl)
("curl" ,curl) ("curl" ,curl)
("libxi" ,libxi) ("libxi" ,libxi)
("libx11" ,libx11) ("libx11" ,libx11)
@ -51,10 +64,7 @@
("xinput" ,xinput))) ("xinput" ,xinput)))
(arguments (arguments
`(#:phases `(#:phases
(let ((srcdir (string-append (let ((srcdir (string-append "../synergy-" ,version "-stable")))
"../synergy-"
(car (string-split ,version #\-))
"-Source")))
(alist-cons-before (alist-cons-before
'configure 'unpack-aux-src 'configure 'unpack-aux-src
;; TODO: package and use from system ;; TODO: package and use from system
@ -66,7 +76,7 @@
(for-each (for-each
(lambda (f) (lambda (f)
(system* unzip "-d" f (string-append f ".zip"))) (system* unzip "-d" f (string-append f ".zip")))
'("cryptopp562" "gmock-1.6.0" "gtest-1.6.0"))))) '("gmock-1.6.0" "gtest-1.6.0")))))
(alist-replace (alist-replace
'check 'check
;; Don't run "integtests" as it requires network and X an display. ;; Don't run "integtests" as it requires network and X an display.
@ -77,15 +87,27 @@
;; There currently is no installation process, see: ;; There currently is no installation process, see:
;; http://synergy-project.org/spit/issues/details/3317/ ;; http://synergy-project.org/spit/issues/details/3317/
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(ex (string-append out "/share/doc/synergy-"
,version "/examples")))
(begin (begin
(mkdir-p (string-append out "/bin")) (mkdir-p bin)
(for-each (for-each
(lambda (f) (lambda (f)
(copy-file (string-append srcdir "/bin/" f) (copy-file (string-append srcdir "/bin/" f)
(string-append out "/bin/" f))) (string-append bin "/" f)))
'("synergyc" "synergys" "synergyd" '("synergyc" "synergys" "synergyd"
"usynergy" "syntool"))))) "usynergy" "syntool"))
;; Install example configuration files
(mkdir-p ex)
(for-each
(lambda (e)
(copy-file (string-append srcdir "/doc/" e)
(string-append ex "/" e)))
'("synergy.conf.example"
"synergy.conf.example-advanced"
"synergy.conf.example-basic")))))
%standard-phases)))))) %standard-phases))))))
(home-page "http://www.synergy-project.org") (home-page "http://www.synergy-project.org")
(synopsis "Mouse and keyboard sharing utility") (synopsis "Mouse and keyboard sharing utility")