Commit | Line | Data |
---|---|---|
c50cbfd6 | 1 | ;;; GNU Guix --- Functional package management for GNU |
a68fdfea | 2 | ;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> |
05463931 | 3 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> |
4525e7c7 | 4 | ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> |
c50cbfd6 LC |
5 | ;;; |
6 | ;;; This file is part of GNU Guix. | |
7 | ;;; | |
8 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
9 | ;;; under the terms of the GNU General Public License as published by | |
10 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
11 | ;;; your option) any later version. | |
12 | ;;; | |
13 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
14 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | ;;; GNU General Public License for more details. | |
17 | ;;; | |
18 | ;;; You should have received a copy of the GNU General Public License | |
19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
20 | ||
21 | (define-module (gnu packages avahi) | |
22 | #:use-module ((guix licenses) #:select (lgpl2.1+)) | |
23 | #:use-module (guix packages) | |
24 | #:use-module (guix download) | |
25 | #:use-module (guix build-system gnu) | |
8eaa8a3b | 26 | #:use-module (gnu packages) |
255d1bbe | 27 | #:use-module (gnu packages dbm) |
c50cbfd6 | 28 | #:use-module (gnu packages libdaemon) |
955ba55c | 29 | #:use-module (gnu packages linux) |
c50cbfd6 LC |
30 | #:use-module (gnu packages pkg-config) |
31 | #:use-module (gnu packages glib) | |
32 | #:use-module (gnu packages xml)) | |
33 | ||
34 | (define-public avahi | |
35 | (package | |
36 | (name "avahi") | |
550f4509 | 37 | (version "0.7") |
3f4ea9a6 | 38 | (replacement avahi/fixed) |
f460f8da | 39 | (home-page "https://avahi.org") |
c50cbfd6 LC |
40 | (source (origin |
41 | (method url-fetch) | |
42 | (uri (string-append home-page "/download/avahi-" | |
43 | version ".tar.gz")) | |
44 | (sha256 | |
45 | (base32 | |
550f4509 | 46 | "0128n7jlshw4bpx0vg8lwj8qwdisjxi7mvniwfafgnkzzrfrpaap")) |
fc1adab1 | 47 | (patches (search-patches "avahi-localstatedir.patch")))) |
c50cbfd6 LC |
48 | (build-system gnu-build-system) |
49 | (arguments | |
50 | '(#:configure-flags '("--with-distro=none" | |
8eaa8a3b | 51 | "--localstatedir=/var" ; for the DBus socket |
c50cbfd6 LC |
52 | "--disable-python" |
53 | "--disable-mono" | |
54 | "--disable-doxygen-doc" | |
55 | "--disable-xmltoman" | |
56 | "--enable-tests" | |
57 | "--disable-qt3" "--disable-qt4" | |
f88ee3ad DT |
58 | "--disable-gtk" "--disable-gtk3" |
59 | "--enable-compat-libdns_sd"))) | |
c50cbfd6 LC |
60 | (inputs |
61 | `(("expat" ,expat) | |
62 | ("glib" ,glib) | |
63 | ("dbus" ,dbus) | |
c4c4cc05 | 64 | ("gdbm" ,gdbm) |
955ba55c | 65 | ("libcap" ,libcap) ;to enable chroot support in avahi-daemon |
c4c4cc05 JD |
66 | ("libdaemon" ,libdaemon))) |
67 | (native-inputs | |
68 | `(("intltool" ,intltool) | |
426adbe8 | 69 | ("glib" ,glib "bin") |
c4c4cc05 | 70 | ("pkg-config" ,pkg-config))) |
35b9e423 | 71 | (synopsis "Implementation of mDNS/DNS-SD protocols") |
c50cbfd6 LC |
72 | (description |
73 | "Avahi is a system which facilitates service discovery on a local | |
74 | network. It is an implementation of the mDNS (for \"Multicast DNS\") and | |
75 | DNS-SD (for \"DNS-Based Service Discovery\") protocols.") | |
76 | (license lgpl2.1+))) | |
00b7776c | 77 | |
3f4ea9a6 | 78 | (define avahi/fixed |
4163b6d8 TGR |
79 | (package |
80 | (inherit avahi) | |
3f4ea9a6 TGR |
81 | (source (origin |
82 | (inherit (package-source avahi)) | |
83 | (patches | |
84 | (append (search-patches "avahi-CVE-2018-1000845.patch") | |
85 | (origin-patches (package-source avahi)))))) | |
86 | ;; Hide a duplicate of the CVE fixed above. | |
87 | (properties `((lint-hidden-cve . ("CVE-2017-6519")))))) | |
88 | ||
00b7776c LC |
89 | (define-public nss-mdns |
90 | (package | |
91 | (name "nss-mdns") | |
6c46e8e6 | 92 | (version "0.14.1") |
9859b5c1 | 93 | (home-page "https://github.com/lathiat/nss-mdns") |
00b7776c LC |
94 | (source (origin |
95 | (method url-fetch) | |
9859b5c1 | 96 | (uri (string-append home-page "/releases/download/v" version "/" |
4525e7c7 | 97 | name "-" version ".tar.gz")) |
00b7776c LC |
98 | (sha256 |
99 | (base32 | |
6c46e8e6 | 100 | "134wdr0n9cm5ab4g6dwq76lvzqns9dcylr470i2xxjimnw0l22d2")))) |
00b7776c | 101 | (build-system gnu-build-system) |
69876158 | 102 | (arguments |
6c46e8e6 LC |
103 | ;; The Avahi daemon socket is expected by 'configure.ac' to be at |
104 | ;; "$(localstatedir)/run/avahi-daemon/socket", but nowadays it lives in | |
105 | ;; /run/avahi-daemon/socket. Remove the "$(localstatedir)" bit. | |
106 | '(#:configure-flags '("AVAHI_SOCKET=/run/avahi-daemon/socket"))) | |
e80611c4 | 107 | (synopsis "Multicast DNS Name Service Switch (@dfn{NSS}) plug-in") |
00b7776c | 108 | (description |
e80611c4 TGR |
109 | "Nss-mdns is a plug-in for the GNU C Library's Name Service Switch |
110 | (@dfn{NSS}) that resolves host names via multicast DNS (@dfn{mDNS}). It is | |
111 | most often used in home and other small networks without a local name server, | |
112 | to resolve host names in the @samp{.local} top-level domain.") | |
00b7776c | 113 | (license lgpl2.1+))) |