;;; guix-external.el --- External programs -*- lexical-binding: t -*- ;; Copyright © 2015 Alex Kost ;; 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 this program. If not, see . ;;; Commentary: ;; This file provides auxiliary code for running external programs. ;;; Code: (require 'cl-lib) (require 'guix-config) (defgroup guix-external nil "Settings for external programs." :group 'guix) (defcustom guix-guile-program guix-config-guile-program "Name of the 'guile' executable used for Guix REPL. May be either a string (the name of the executable) or a list of strings of the form: (NAME . ARGS) Where ARGS is a list of arguments to the guile program." :type 'string :group 'guix-external) (defcustom guix-dot-program (if (file-name-absolute-p guix-config-dot-program) guix-config-dot-program (executable-find "dot")) "Name of the 'dot' executable." :type 'string :group 'guix-external) (defcustom guix-dot-default-arguments '("-Tpng") "Default arguments for 'dot' program." :type '(repeat string) :group 'guix-external) (defcustom guix-dot-file-name-function #'guix-png-file-name "Function used to define a file name of a temporary 'dot' file. The function is called without arguments." :type '(choice (function-item guix-png-file-name) (function :tag "Other function")) :group 'guix-external) (defun guix-dot-arguments (output-file &rest args) "Return a list of dot arguments for writing a graph into OUTPUT-FILE. If ARGS is nil, use `guix-dot-default-arguments'." (or guix-dot-program (error (concat "Couldn't find 'dot'.\n" "Set guix-dot-program to a proper value"))) (cl-list* guix-dot-program (concat "-o" output-file) (or args guix-dot-default-arguments))) (defun guix-dot-file-name () "Call `guix-dot-file-name-function'." (funcall guix-dot-file-name-function)) (defun guix-png-file-name () "Return '.png' file name in the `temporary-file-directory'." (concat (make-temp-name (concat (file-name-as-directory temporary-file-directory) "guix-emacs-graph-")) ".png")) (provide 'guix-external) ;;; guix-external.el ends here 70e138a515dfe9c3b5b5399dbd91c228'>services: avahi: Depend on 'user-processes'....* gnu/services/avahi.scm (avahi-shepherd-service): Add 'user-processes' to 'requirement'. Ludovic Courtès 2020-01-19gnu: Use HTTPS for avahi.org everywhere....* gnu/packages/avahi.scm (avahi)[home-page]: Use HTTPS. * gnu/services/avahi.scm (avahi-service): Likewise in docstring. Tobias Geerinckx-Rice 2019-01-16services: avahi: Deprecate the 'avahi-service' procedure....* gnu/services/avahi.scm (<avahi-configuration>): Export getters. Add default values. (avahi-service-type)[default-value]: New field. (avahi-service): Mark as deprecated. * gnu/services/desktop.scm (%desktop-services): Use the 'service' form instead of calling 'avahi-service'. * gnu/tests/base.scm (%avahi-os): Likewise. * doc/guix.texi (Base Services): Adjust example accordingly. (Networking Services): Update accordingly. Ludovic Courtès