From patchwork Sun Dec 31 16:59:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 58264 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 8353627BBEC; Sun, 31 Dec 2023 17:01:29 +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 5A57427BBE9 for ; Sun, 31 Dec 2023 17:01:28 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rJzAU-0001IO-OT; Sun, 31 Dec 2023 12:00:06 -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 1rJzAS-0001Hp-Q5 for guix-patches@gnu.org; Sun, 31 Dec 2023 12:00:04 -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 1rJzAS-0005OT-Gd for guix-patches@gnu.org; Sun, 31 Dec 2023 12:00:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rJzAT-0000Yr-2p; Sun, 31 Dec 2023 12:00:05 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#68180] [PATCH 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: Sun, 31 Dec 2023 17:00:05 +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.17040420011889 (code B ref 68180); Sun, 31 Dec 2023 17:00:05 +0000 Received: (at 68180) by debbugs.gnu.org; 31 Dec 2023 17:00:01 +0000 Received: from localhost ([127.0.0.1]:46966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rJzAL-0000UG-Ek for submit@debbugs.gnu.org; Sun, 31 Dec 2023 12:00:01 -0500 Received: from mail-qv1-xf2b.google.com ([2607:f8b0:4864:20::f2b]:47607) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rJzAC-0000TP-Ml for 68180@debbugs.gnu.org; Sun, 31 Dec 2023 11:59:49 -0500 Received: by mail-qv1-xf2b.google.com with SMTP id 6a1803df08f44-67f9f6ca479so62156216d6.3 for <68180@debbugs.gnu.org>; Sun, 31 Dec 2023 08:59:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704041982; x=1704646782; 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=RDC+UZt4KQKjKBcdkBjqTp3Ajjd4scf6zvCp7PmRwac=; b=AJ3iTuU315O+QFtE7eqRu4X0HIbsE5NScmf3Rv7/zEmsQsNydd+3ahZP/BNA8PWsPG NoL1zYP6nkExIT+ySfDddh6CSRDKqtcNB/mkybGfMfNl2qoZG1O6Tjb1OESJMhG1e8ys d0QouF4WDklhzdsKJUa9FB8V9Vk4RM28CU3EAGmMkKAQpzxDyOZdXV9hnwIsXPHk7081 NuP3H0k+mbrT6P9ovW3FtpO/yxO5RZo4+adCyzqOolM/iWs8udnR2XFMTbnTFWQJ+Qjz fgjQuuDJKee9iCSi9cry7KXmigTQtlD0ZSIXuuqWYPVtQZvNBsqQSS4xhW1AAf/EZV7H ZnIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704041982; x=1704646782; 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=RDC+UZt4KQKjKBcdkBjqTp3Ajjd4scf6zvCp7PmRwac=; b=WY8ih2XnoYG7D/9Q53Q8Y9W9+tDdT1jqrLJuKr1wwy7xwtO7Zrce99v1lVTnVxHRVk W2b7rGJq3YPZyOIevp5rRy7TTc37jCGcs7ePRaRHu4LIsDQJrBEuqdrWlD08x8ubPW9U MrEJh5occdp1eJexdVfIIZmGTwOabqlVAML6VzIdEF5SGgb8qAYfinDTesem4Abbeigg HJpItatThVmY018qfypO++zNVl5kNDzXDZQW7zSibawJMJ+tV7gkBTsh2gXKTP4E8iPB 5u3k/B3r+hFuo5Uilq0SHXB+joi2cpx6TNx9Jozuxk2T7U3KK+ngPqHzB4jYyYuHhO2o oahA== X-Gm-Message-State: AOJu0Yw+IWvTVXLBZ9Y/czJJennWfiimCZHDHxEIMHZ4Y8UPBueESit7 tD8mKb5XvNNEjPtRmTHfqmVVvaJ8XXc= X-Google-Smtp-Source: AGHT+IHEinRxmWyySeFWic0jXlUCU/NaX1jDTpam2CNpew5e69UU4dKgHo64e71lEzxE4WOOdRKM8g== X-Received: by 2002:a05:6214:8f1:b0:67f:adfa:c47 with SMTP id dr17-20020a05621408f100b0067fadfa0c47mr16435214qvb.120.1704041981677; Sun, 31 Dec 2023 08:59:41 -0800 (PST) Received: from localhost.localdomain (dsl-10-141-187.b2b2c.ca. [72.10.141.187]) by smtp.gmail.com with ESMTPSA id o8-20020a0cecc8000000b0067f37d9196esm8794075qvq.93.2023.12.31.08.59.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Dec 2023 08:59:41 -0800 (PST) From: Maxim Cournoyer Date: Sun, 31 Dec 2023 11:59:09 -0500 Message-ID: <888f19969113a9f9b734c7eb7c5172688c45c769.1704041948.git.maxim.cournoyer@gmail.com> 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 --- 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 a8ac238f58..fe46342adf 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) @@ -12271,6 +12273,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) + (make-file-writable "lisp/pde-vars.el") + (emacs-substitute-variables "lisp/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"))) + (make-file-writable "lisp/perlcritic.el") + (emacs-substitute-variables "lisp/perlcritic.el" + ("perlcritic-program" + (search-input-file inputs "bin/perlcritic"))) + (make-file-writable "lisp/perldoc.el") + (emacs-substitute-variables "lisp/perldoc.el" + ("perldoc-cache-el" + "(expand-file-name \"~/.cache/perldoc-cache.el\"") + ("perldoc-pod2man" + (search-input-file inputs "bin/pod2man"))) + (make-file-writable "lisp/perltidy.el") + (emacs-substitute-variables "lisp/perltidy.el" + ("perltidy-program" + (search-input-file inputs "bin/perltidy"))) + (substitute* "lisp/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")