guix-play/gnu/packages/synergy.scm
Marius Bakke 97149c5767
gnu: Adjust uses of C{,PLUS}_INCLUDE_PATH for GCC 7.
These variables are no longer set in the build environment by default.  GCC
still respects these search paths and treats them as "system headers" so we
can continue to use them, just not expect them to be available.

* gnu/packages/mpi.scm (openmpi)[arguments]: Do not attempt to read from
C_INCLUDE_PATH, nor CPLUS_INCLUDE_PATH.
* gnu/packages/games.scm (kiki)[arguments]: Likewise.
* gnu/packages/networking.scm (hcxtools)[arguments]: Likewise.
* gnu/packages/synergy.scm (synergy)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (gemma, sailfish)[arguments]: Likewise.
* gnu/packages/maths.scm (dune-alugrid)[arguments]: Likewise.
2019-07-14 18:13:34 +02:00

92 lines
3.4 KiB
Scheme

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages synergy)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (gpl2))
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages avahi)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-26))
(define-public synergy
(package
(name "synergy")
(version "1.10.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/symless/synergy-core.git")
(commit (string-append "v" version "-stable"))))
(file-name (git-file-name name version))
(sha256
(base32
"112w2xrp04cysd14xk1ax7cllqpcki0pyica4ivrdngr5qw0r9hp"))
(modules '((guix build utils)))
(snippet
;; Remove unnecessary bundled source and binaries
'(begin
(delete-file-recursively "ext/openssl")
#t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there is no test target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-headers
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
(string-append (assoc-ref inputs "avahi")
"/include/avahi-compat-libdns_sd"))
;; See https://github.com/symless/synergy-core/pull/6359/
(substitute* "src/gui/src/ScreenSetupView.cpp"
(("#include <QtGui>" m)
(string-append m "\n#include <QHeaderView>")))
(substitute* "src/gui/src/ActionDialog.cpp"
(("#include <QtGui>" m)
(string-append m "\n#include <QButtonGroup>")))
#t)))))
(inputs
`(("avahi" ,avahi)
("python" ,python-wrapper)
("openssl" ,openssl)
("curl" ,curl)
("libxi" ,libxi)
("libx11" ,libx11)
("libxtst" ,libxtst)
("xinput" ,xinput)
("qtbase" ,qtbase)))
(home-page "https://symless.com/synergy")
(synopsis "Mouse and keyboard sharing utility")
(description
"Synergy brings your computers together in one cohesive experience; it's
software for sharing one mouse and keyboard between multiple computers on your
desk.")
(license gpl2)))