From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35292) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQUuH-0007Cg-QH for guix-patches@gnu.org; Wed, 06 Jun 2018 05:39:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQUuE-00079o-Iz for guix-patches@gnu.org; Wed, 06 Jun 2018 05:39:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:56211) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fQUuE-00079h-Fi for guix-patches@gnu.org; Wed, 06 Jun 2018 05:39:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fQUuE-0005Jb-36 for guix-patches@gnu.org; Wed, 06 Jun 2018 05:39:02 -0400 Subject: [bug#31514] [PATCH 09/21] gnu: Add emacs-gif-screencast. References: <20180518184910.9987-16-ambrevar@gmail.com> In-Reply-To: <20180518184910.9987-16-ambrevar@gmail.com> Resent-Message-ID: From: Pierre Neidhardt Date: Wed, 6 Jun 2018 11:38:42 +0200 Message-Id: <20180606093842.11171-1-ambrevar@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 31514@debbugs.gnu.org * gnu/packages/emacs.scm (emacs-gif-screencast): New variable. --- gnu/packages/emacs.scm | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 303d0dcab..601805a8e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -10776,3 +10776,53 @@ The package @code{emacs-bash-completion} is an optional dependency: if available @code{fish-completion-complete} can be configured to fall back on bash to further try completing. See @code{fish-completion-fallback-on-bash-p}.") (license license:gpl3+))) + +(define-public emacs-gif-screencast + (let ((commit "825e606950ec842304bf75cf85baef707b853b03")) + (package + (name "emacs-gif-screencast") + (version (git-version "20180309" "1" commit)) + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/Ambrevar/emacs-gif-screencast/archive/" + commit + ".tar.gz")) + (sha256 + (base32 + "1f83sdx4qj4g6byvbdq7aayissbcy5lqm43djp8h0lq455nf7jkc")))) + (build-system emacs-build-system) + (inputs + `(("scrot" ,scrot) + ("imagemagick" ,imagemagick) + ("gifsicle" ,gifsicle))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((scrot (assoc-ref inputs "scrot")) + (imagemagick (assoc-ref inputs "imagemagick")) + (gifsicle (assoc-ref inputs "gifsicle"))) + ;; Specify the absolute file names of the various + ;; programs so that everything works out-of-the-box. + (emacs-substitute-variables + "gif-screencast.el" + ("gif-screencast-program" + (string-append scrot "/bin/scrot")) + ("gif-screencast-convert-program" + (string-append imagemagick "/bin/convert")) + ("gif-screencast-cropping-program" + (string-append imagemagick "/bin/mogrify")) + ("gif-screencast-optimize-program" + (string-append imagemagick "/bin/gifsicle"))))))))) + (home-page + "https://github.com/Ambrevar/emacs-gif-screencast") + (synopsis "One-frame-per-action GIF recording") + (description + "Call @code{gif-screencast} to start a recording. +A screenshot is taken for every user action. Call +@code{gif-screencast-stop} ( by default) to finish recording and create +the GIF result.") + (license license:gpl3+)))) -- 2.17.0