From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0JXWCQeH/mLRIgAAbAwnHQ (envelope-from ) for ; Thu, 18 Aug 2022 20:37:59 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id qOPYCQeH/mKfXwAA9RJhRA (envelope-from ) for ; Thu, 18 Aug 2022 20:37:59 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 80D2D2639 for ; Thu, 18 Aug 2022 20:37:58 +0200 (CEST) Received: from localhost ([::1]:37140 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oOkOz-0005UZ-81 for larch@yhetil.org; Thu, 18 Aug 2022 14:37:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38000) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOkNO-0005SR-Ur for guix-patches@gnu.org; Thu, 18 Aug 2022 14:36:20 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38690) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oOkN9-0005Ur-2J for guix-patches@gnu.org; Thu, 18 Aug 2022 14:36:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oOkN8-0002Hy-G4 for guix-patches@gnu.org; Thu, 18 Aug 2022 14:36:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57280] [PATCH 0/3] Add documentation-files argument to emacs build system. Resent-From: Andrew Tropin Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 18 Aug 2022 18:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 57280 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 57280@debbugs.gnu.org Cc: Liliana Marie Prikler X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16608477228746 (code B ref -1); Thu, 18 Aug 2022 18:36:02 +0000 Received: (at submit) by debbugs.gnu.org; 18 Aug 2022 18:35:22 +0000 Received: from localhost ([127.0.0.1]:56672 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOkMT-0002H0-FL for submit@debbugs.gnu.org; Thu, 18 Aug 2022 14:35:22 -0400 Received: from lists.gnu.org ([209.51.188.17]:42254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oOkMQ-0002Gr-5N for submit@debbugs.gnu.org; Thu, 18 Aug 2022 14:35:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37338) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOkMP-0005F7-KC for guix-patches@gnu.org; Thu, 18 Aug 2022 14:35:17 -0400 Received: from relay1-d.mail.gandi.net ([2001:4b98:dc4:8::221]:50609) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOkML-0005F9-SE for guix-patches@gnu.org; Thu, 18 Aug 2022 14:35:17 -0400 Received: (Authenticated sender: andrew@trop.in) by mail.gandi.net (Postfix) with ESMTPSA id DBCEF240009; Thu, 18 Aug 2022 18:35:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=trop.in; s=gm1; t=1660847705; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=TkZRBsMd+REY2qohPcNkbnF7G66eIZ2T1cgjbl6TBwo=; b=CdowcTcwivvJtN4OJOK7uf0kRcWxmaHkXqLpUloCtaSCG0qorEmFOYFkZfJShXs9dP1hB+ t7E/C1NppuBbinGFhCrVbwTRqFzuevjh5Ib4F1c17lq/BGb+oNW66d8lZM6HGvL8HIMwG2 wGLWE6G3nhe9XtGe5Q6wwqWCgPzoZrI+zKGm3b6fUsRyWPIbfaTHFprt3bExlCtJVXYH7s O9BsTZBq46PPNQiGPOk44GSxwLJRVGEhQxg48SZR49/BwgRyvJO3D2DCXLJmn046kvwqT6 ZR0Wl9I8v3h25KSVrTW1J44ikYkdS1xUHwhV544vhE3ak7jekuA/GShcaogaSg== From: Andrew Tropin Date: Thu, 18 Aug 2022 21:35:02 +0300 Message-ID: <87mtc18ko9.fsf@trop.in> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-=" Received-SPF: pass client-ip=2001:4b98:dc4:8::221; envelope-from=andrew@trop.in; helo=relay1-d.mail.gandi.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1660847878; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:list-id:list-help:list-unsubscribe:list-subscribe: list-post:dkim-signature; bh=TkZRBsMd+REY2qohPcNkbnF7G66eIZ2T1cgjbl6TBwo=; b=EtMaPoBsAto6dI84mF7vg1vgfyc8edmkjNClQaSEs86eQ9dddPpa433pSEgjavGds+fvC9 ujbc1AmxZH9kgegSut4tdoHBPcIDc1eI8Puy5OMPfUgP+TBgoJXiFLKrUPph/leMdRAA6e 7iPNXE8Q7oJWWTsywzWASWlS8861hCuhb9ABcIspoxRbS1ysDW5J1bpEbE3vUTYV2ax0xa Zmf9Ojogqxf9Qv1nVv/NXnL4YimOuzMwfLGVm+5VsZwFhAHekBsUXrjK4GbqkqOz0OwvXk N3s800S/lQfROb+vkDPUg7qQd2wirfLSZB/76ndFjRLUQWKXAEg7zkYFtuI9qw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660847878; a=rsa-sha256; cv=none; b=T7xzHUUYWlF+2a6x+/pYyWN7rZ6eo0sadV3KeiNtO4oIMuIS8upMpJdhK9iSnfI1kheuvw weGAhi60RCK0u7j23oq2eo+/HScdAZqu3WR0jqYP0HiV7dOMUCVkdetY7uoX3tTK59+6xd y5Va320El03VUyIspR+P4pj89yfkiO99F+xBxLmPEU738lE9yz2xlvVr0JvrGWH6kGJC/g RI0cDVKH4skyHgPeYXcWPcvCMeqpxHpTu+TBGMYAepI3zYVTh0TOSeAg0u+kzHf9JBTvTk W6rzMlQLy1Me8orzaX9t9VIofl8ZuCTMtGZY9F9gVSddZglhGIu8Fllvhv/DUA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop.in header.s=gm1 header.b=CdowcTcw; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.26 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop.in header.s=gm1 header.b=CdowcTcw; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 80D2D2639 X-Spam-Score: -1.26 X-Migadu-Scanner: scn1.migadu.com X-TUID: 2mtGIPreZivf --=-=-= Content-Type: multipart/mixed; boundary="==-=-=" --==-=-= Content-Type: text/plain Content-Disposition: inline This patch adds a handy way for generating info documentation for emacs packages from texinfo or org files. Andrew Tropin (3): build-system: emacs: Add documentation-files argument. gnu: emacs-orderless: Use documentation-files argument. gnu: emacs-consult: Use documentation-files argument. gnu/packages/emacs-xyz.scm | 11 +++-------- guix/build-system/emacs.scm | 11 +++++++++++ guix/build/emacs-build-system.scm | 17 +++++++++++++++++ 3 files changed, 31 insertions(+), 8 deletions(-) -- 2.37.1 --==-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-build-system-emacs-Add-documentation-files-argument.patch >From 74b671b94d16db2f21c1df02672fef0b5228a08a Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Thu, 18 Aug 2022 17:43:14 +0300 Subject: [PATCH 1/3] build-system: emacs: Add documentation-files argument. Allows to build info files from texinfo or org. * guix/build-system/emacs.scm (default-texinfo): New variable. * guix/build-system/emacs.scm (lower): New arguments. * guix/build/emacs-build-system.scm (generate-docs): New variable. --- guix/build-system/emacs.scm | 11 +++++++++++ guix/build/emacs-build-system.scm | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm index 3df68789ff..632ba2ddb3 100644 --- a/guix/build-system/emacs.scm +++ b/guix/build-system/emacs.scm @@ -56,8 +56,16 @@ (define (default-emacs) (let ((emacs-mod (resolve-interface '(gnu packages emacs)))) (module-ref emacs-mod 'emacs-minimal))) +(define (default-texinfo) + "Return the default texinfo package." + ;; Lazily resolve the binding to avoid a circular dependency. + (let ((texinfo-mod (resolve-interface '(gnu packages texinfo)))) + (module-ref texinfo-mod 'texinfo))) + (define* (lower name #:key source inputs native-inputs outputs system target + documentation-files + (texinfo (default-texinfo)) (emacs (default-emacs)) #:allow-other-keys #:rest arguments) @@ -77,6 +85,7 @@ (define private-keywords ;; Keep the standard inputs of 'gnu-build-system'. ,@(standard-packages))) (build-inputs `(("emacs" ,emacs) + ,@(if (null? documentation-files) '() `(("texinfo" ,texinfo))) ,@native-inputs)) (outputs outputs) (build emacs-build) @@ -87,6 +96,7 @@ (define* (emacs-build name inputs (tests? #f) (parallel-tests? #t) (test-command ''("make" "check")) + (documentation-files ''()) (phases '%standard-phases) (outputs '("out")) (include (quote %default-include)) @@ -109,6 +119,7 @@ (define builder #:test-command #$test-command #:tests? #$tests? #:parallel-tests? #$parallel-tests? + #:documentation-files #$documentation-files #:phases #$phases #:outputs #$(outputs->gexp outputs) #:include #$include diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm index 6a6918bfdd..08c61ddfd8 100644 --- a/guix/build/emacs-build-system.scm +++ b/guix/build/emacs-build-system.scm @@ -274,6 +274,22 @@ (define (match-stripped-file action regex) (install-file? file stat #:verbose? #t))) #f)))) +(define* (generate-docs #:key outputs documentation-files #:allow-other-keys) + "Convert texinfo or org files specified in DOCUMENTATION-FILES argument to +info files." + (map + (lambda (path) + (if (or (string-suffix? ".texi" path) + (string-suffix? ".texinfo" path) + (string-suffix? ".txi" path)) + (invoke "makeinfo" path) + (emacs-batch-script ; else org file + `(progn + (require 'ox-texinfo) + (find-file ,path) + (org-texinfo-export-to-info))))) + documentation-files)) + (define* (move-doc #:key outputs #:allow-other-keys) "Move info files from the ELPA package directory to the info directory." (let* ((out (assoc-ref outputs "out")) @@ -343,6 +359,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (replace 'unpack unpack) (add-after 'unpack 'expand-load-path expand-load-path) + (add-after 'expand-load-path 'generate-docs generate-docs) (delete 'bootstrap) (delete 'configure) (delete 'build) -- 2.37.1 --==-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-gnu-emacs-orderless-Use-documentation-files-argument.patch >From 6c8fb7d173c24ef6c00aca5a7697cf14d1353f37 Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Thu, 18 Aug 2022 17:49:18 +0300 Subject: [PATCH 2/3] gnu: emacs-orderless: Use documentation-files argument. * gnu/packages/emacs-xyz.scm (emacs-orderless): Use documentation-files argument. --- gnu/packages/emacs-xyz.scm | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 811e293c1d..f3d515b3c6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9045,14 +9045,7 @@ (define-public emacs-orderless (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'makeinfo - (lambda* (#:key outputs #:allow-other-keys) - (invoke "makeinfo" "orderless.texi") - (install-file "orderless.info" - (string-append (assoc-ref outputs "out") - "/share/info"))))))) + (list #:documentation-files #~'("orderless.texi"))) (native-inputs (list texinfo)) (home-page "https://github.com/oantolin/orderless") -- 2.37.1 --==-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-gnu-emacs-consult-Use-documentation-files-argument.patch >From d3ad4d4446ba4275bec5f9ed2aaa7e74289727f2 Mon Sep 17 00:00:00 2001 From: Andrew Tropin Date: Thu, 18 Aug 2022 17:50:00 +0300 Subject: [PATCH 3/3] gnu: emacs-consult: Use documentation-files argument. * gnu/packages/emacs-xyz.scm (emacs-consult): Use documentation-files argument. --- gnu/packages/emacs-xyz.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f3d515b3c6..cab1ad9dee 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9071,6 +9071,8 @@ (define-public emacs-consult (base32 "0sy4rn1vjk1g50r8z14hzj8lds6s7ij2zkjqfi6mfash5il75wnq")) (file-name (git-file-name name version)))) (build-system emacs-build-system) + (arguments + (list #:documentation-files #~'("README.org"))) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/minad/consult") (synopsis "Consulting completing-read") -- 2.37.1 --==-=-=-- --=-=-= Content-Type: application/pgp-signature; name=signature.asc Content-Transfer-Encoding: base64 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KCmlRSXpCQUVCQ2dBZEZpRUVLRUdheGxBNGRF REg2Uy82SWdqU0NWakIzckFGQW1MK1Vzd0FDZ2tRSWdqU0NWakIKM3JESE1nLytKc1ZtazZSVHNp OWRmR0lhODFqMzlGbVVyUzQ4OVlEeHpQWjBBNHhlcjdKU2FyQk9XcHc3NC82awo2Nm1mb0Vqa2JW cVZWYjNURlg1R2dQdEV6SjlUVlJXWVl1MW9qY0hpNVJLN1VPa01NSEpFNy9EMEhiOXdIU2dmCm8z WWg5K1BJdW9OZitXTnNYNnBrYTlrbzQyVDJPSGxLdTdtdTNuV0RvNXpOc2tqQUZCY3lLWmJGblVF bUJiNUUKbjcvZnZscWl3MXhCRzVJZlNFYm5oQ0lYc2tLVVRtd2ZnaVRPM003bDJoYVkyNkU5Umxz YjkvZTZ4MUlGY1VhQwpEVGIxbjUwQ25BUkQySHJNSS9jWm9IY2xnM3pHOFpBUFlUMTBkOUEyZzBX L3ZGZ2dsWjJBSzhZZFpMdmNpY2JuCmN1NmhyV0pRZjJ6c1p4ZW5reGFNVDc0QXBHbWs0OHFVSXBx a2lVY1BwOTh0aXFEbjdUSmRTYkp1RnVOSjZrai8KZjJQRnMrN1FTSjJsQ1dLejJuNm1FN0NRVi93 M3J4cVRZRElIWUh4RGh4aFozRG8vZ2tLMXJqYW55cU8vNTdYVApXNFBZRHl1ZTJCMTdsMHJLNzJp aStnUTV1K01FQ2Z2ckZzdXRINXlQTW11VEN5RGg2OXZORk9lSzlZc2srcnUyCkFLKzhNQkNhVHRx UnRNMDU0cXVlbklqU2Z3V1A3dG9LY1djR2FhWEZSbXM5WGNFMGgzT29HRlc2SE5GNDJVSGgKNXRZ MFhiM01xdVN5OUpIZVpZZ2wvOGVzY29BbTczVWxncUg2T09Dbm9UMG9LeEU1czNoQWFZYldBUldi OHNTbgpoaXdYUHNJbHg1QlQwWko1Kyt1Z1EwblJOUC80eXE0cFJYZkdIbVlUZGNjaUY0SVJJOXc9 Cj1yQnA5Ci0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ== --=-=-=--