From patchwork Tue Jan 2 19:39:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 58329 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id BCB8527BBEA; Tue, 2 Jan 2024 19:41:17 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 728A027BBE2 for ; Tue, 2 Jan 2024 19:41:16 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rKkdM-0006TD-C1; Tue, 02 Jan 2024 14:41:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rKkdK-0006T0-Hc for guix-patches@gnu.org; Tue, 02 Jan 2024 14:41:02 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rKkdK-0006fU-11 for guix-patches@gnu.org; Tue, 02 Jan 2024 14:41:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rKkdM-0001lB-HP; Tue, 02 Jan 2024 14:41:04 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#68180] [PATCH v3 4/4] gnu: Add emacs-pde. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: andrew@trop.in, cox.katherine.e+guix@gmail.com, liliana.prikler@gmail.com, guix-patches@gnu.org Resent-Date: Tue, 02 Jan 2024 19:41:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68180 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 68180@debbugs.gnu.org Cc: Maxim Cournoyer , Andrew Tropin , Katherine Cox-Buday , Liliana Marie Prikler X-Debbugs-Original-Xcc: Andrew Tropin , Katherine Cox-Buday , Liliana Marie Prikler Received: via spool by 68180-submit@debbugs.gnu.org id=B68180.17042244336684 (code B ref 68180); Tue, 02 Jan 2024 19:41:04 +0000 Received: (at 68180) by debbugs.gnu.org; 2 Jan 2024 19:40:33 +0000 Received: from localhost ([127.0.0.1]:51318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rKkcq-0001jk-N0 for submit@debbugs.gnu.org; Tue, 02 Jan 2024 14:40:33 -0500 Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]:48333) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rKkco-0001iw-K7 for 68180@debbugs.gnu.org; Tue, 02 Jan 2024 14:40:31 -0500 Received: by mail-qt1-x82a.google.com with SMTP id d75a77b69052e-4280de11cf8so16252851cf.0 for <68180@debbugs.gnu.org>; Tue, 02 Jan 2024 11:40:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704224422; x=1704829222; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jX2wUaox2eT/TDQ1k55Sm6o2pPoqLAwzbNMVLfUfLok=; b=HA85m3JO/g+/XGten/V7PaLAsFpayui6lJjwBdrmtH+MKBU8iTmX5XsiqWLnn6cQ7S scNCs1NIMJmlsZNYrRaRZjKXPay7tR8ZrybgUk6hfCB5k0CVALLQFPwQaogETugXPN0X 83k28OVXO87bU+fah3NCdi8U88PsHNSb/ZeiA+OGkns0JbYpke8ZHQztZ+mtBzESuJz1 SOWpNgk0QAueVw6qU7TOEyWW503NqJ8dDEGlO3L4qD1nUE0MP8u/wSEW7NLjrFQSEQg6 LDS/lPepuhoF12EiJJ1sDNmJ5NOb5f1y+M4scCF6FdwnTxZ5FWF2odJrIJD4ZMUwogxl evPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704224422; x=1704829222; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jX2wUaox2eT/TDQ1k55Sm6o2pPoqLAwzbNMVLfUfLok=; b=vdKpo765y0eTL06sLx/zWgFp8odmIb0R05t9NlLl00TSG3EgD3EJ4qpLv/LWErqFtd f56S51vB+qi6ai9XTZ+bZjvbXALel73ZQChhMgGImrKJz792h8e5VNw2RDRZcTvwlIPx 7GmZvjcrUepJ1qtpyTlOicLC6SDIu01id288Y3JnWLshoW5jhalRGYHEH0c5vroZpVuc BUqzXDLnye4X7A1lZDg3SRu7yk56ZnqoFMQ85zox9Kbm9pTnrbmR1Oyvep2aHy3Cmef0 hPSwQmEHO+3pWokYSDauE6XejbkpAu3sUJv8BY7wyXyAIOssQagy7pdlTR9Mf08fw5Kf EAsQ== X-Gm-Message-State: AOJu0Yw6nD6E+CcmSLFpK62Ra50s6zYCc9rMXc2/OHMJRVGjZ0yKwT4U 0flFpN+8ZvD+nx16vMvQmCPfGp14iRY= X-Google-Smtp-Source: AGHT+IGqtPrYS4DNB5K6PKSip/I18YLtdaVXVicwkot2qo5ByCLmZVKMa445p+BAy8CFdCmWBakrjQ== X-Received: by 2002:a05:622a:1715:b0:427:a2f7:43b8 with SMTP id h21-20020a05622a171500b00427a2f743b8mr23401692qtk.47.1704224422123; Tue, 02 Jan 2024 11:40:22 -0800 (PST) Received: from localhost.localdomain (dsl-10-132-1.b2b2c.ca. [72.10.132.1]) by smtp.gmail.com with ESMTPSA id ge7-20020a05622a5c8700b0042836231a8asm100107qtb.45.2024.01.02.11.40.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jan 2024 11:40:21 -0800 (PST) From: Maxim Cournoyer Date: Tue, 2 Jan 2024 14:39:28 -0500 Message-ID: X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/emacs-xyz.scm (emacs-pde): New variable. Change-Id: Icab5d8acf9d441bb4a832a82e75432d64cc77ba7 --- Changes in v3: - Use with-directory-excursion and for-each to make files writable gnu/packages/emacs-xyz.scm | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ad02b91c56..67a690b072 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -167,6 +167,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system emacs) + #:use-module (guix build-system perl) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) @@ -271,6 +272,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages erlang) #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages texinfo) #:use-module (gnu packages virtualization) #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) @@ -12269,6 +12271,90 @@ (define-public emacs-hl-todo regexp that matches all known keywords.") (license license:gpl3+))) +(define-public emacs-pde + (package + (name "emacs-pde") + (version "0.2.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/Y/YE/YEWENBIN/Emacs-PDE-v" + version ".tar.gz")) + (modules '((guix build utils))) + (snippet '(begin + ;; Delete pre-generated Texinfo and HTML documentation. + (for-each delete-file '("lisp/doc/pde.info" + "lisp/doc/pde.html")) + (delete-file-recursively "lisp/doc/pde"))) + (sha256 + (base32 "1i82isha839c8lx73kgp43v7gxr2adsr1yfw1glyxvi62w5ab9qz")))) + (build-system perl-build-system) + (arguments + (list + #:imported-modules `(,@%emacs-build-system-modules + ,@%perl-build-system-modules) + #:modules '((guix build perl-build-system) + (guix build emacs-utils) + (guix build utils)) + #:module-build-flags + #~(list (string-append "--elispdir=" #$output + "/share/emacs/site-lisp/pde") + "--verbose") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-commands + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "lisp" + (for-each make-file-writable + '("pde-vars.el" "perlcritic.el" "perldoc.el" + "perltidy.el")) + (emacs-substitute-variables "pde-vars.el" + ("pde-perl-program" + (search-input-file inputs "bin/perl")) + ("pde-perl-version" + #$(package-version (this-package-input "perl"))) + ("pde-perldoc-program" + (search-input-file inputs "bin/perldoc")) + ("pde-find-program" + (search-input-file inputs "bin/find"))) + (emacs-substitute-variables "perlcritic.el" + ("perlcritic-program" + (search-input-file inputs "bin/perlcritic"))) + (emacs-substitute-variables "perldoc.el" + ("perldoc-cache-el" + "(expand-file-name \"~/.cache/perldoc-cache.el\"") + ("perldoc-pod2man" + (search-input-file inputs "bin/pod2man"))) + (emacs-substitute-variables "perltidy.el" + ("perltidy-program" + (search-input-file inputs "bin/perltidy"))) + (substitute* "tools/perldoc-cache.pl" + (("`perldoc") + (string-append + "`" (search-input-file inputs "bin/perldoc"))))))) + (add-after 'build 'generate-doc + (lambda _ + (invoke "./Build" "info"))) + (add-after 'install 'move-doc + (lambda _ + (let ((info (string-append #$output "/share/info/pde.info"))) + (mkdir-p (dirname info)) + (rename-file (string-append + #$output + "/share/emacs/site-lisp/pde/doc/pde.info") + info))))))) + (native-inputs (list emacs-minimal perl-module-build texinfo)) + (inputs (list findutils perl perl-critic)) + (home-page "https://metacpan.org/release/Emacs-PDE") + (synopsis "Perl Development Environment for Emacs") + (description "Emacs::PDE is a collection of Emacs Lisp extensions to +facilitate Perl programming. CPerl Mode has provided an excellent environment +for coding; Emacs::PDE provides other common tools such as creating files +using templates, smart compiling, @command{perldoc}, @command{perltidy}, +debugger, tags tree view and so on. PDE also provides an easy configuration +for Perl programing, and a tutorial for novices to start using Emacs.") + (license license:perl-license))) + (define-public emacs-perspective (package (name "emacs-perspective")