unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#69212] [PATCH RFC 3/4] gnu: Add perl-arxiv.
  2024-02-17 23:16 [bug#69212] [PATCH RFC 0/4] Add AutoTeX Liliana Marie Prikler
@ 2024-02-17 22:45 ` Liliana Marie Prikler
  2024-02-17 22:46 ` [bug#69212] [PATCH RFC 2/4] gnu: Add perl-cam-pdf Liliana Marie Prikler
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Liliana Marie Prikler @ 2024-02-17 22:45 UTC (permalink / raw)
  To: 69212

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2687 bytes --]

* gnu/packages/perl-tex.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it here.
---
 gnu/local.mk              |  1 +
 gnu/packages/perl-tex.scm | 44 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 gnu/packages/perl-tex.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index becca7dd56..aec8e7eab6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -510,6 +510,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/perl-check.scm			\
   %D%/packages/perl-compression.scm		\
   %D%/packages/perl-maths.scm			\
+  %D%/packages/perl-tex.scm			\
   %D%/packages/perl-web.scm			\
   %D%/packages/perl6.scm			\
   %D%/packages/photo.scm			\
diff --git a/gnu/packages/perl-tex.scm b/gnu/packages/perl-tex.scm
new file mode 100644
index 0000000000..315d34856f
--- /dev/null
+++ b/gnu/packages/perl-tex.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
+;;;
+;;; 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 GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages perl-tex)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system perl)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages tex))
+
+(define-public perl-arxiv
+  (package
+    (name "perl-arxiv")
+    (version "1.01")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/S/SI/SIMEON/arXiv-" version
+                           ".tar.gz"))
+       (sha256
+        (base32 "0swcgkncc0vk220g5jwpz9j5zyg2995csklmfv09lhwxf6ndrin2"))))
+    (build-system perl-build-system)
+    (home-page "https://metacpan.org/release/arXiv")
+    (synopsis "Utilities from arXiv.org")
+    (description "This package contains perl modules with utility procedures
+used by other perl software at arXiv.org, most notably AutoTeX.")
+    (license license:perl-license)))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#69212] [PATCH RFC 2/4] gnu: Add perl-cam-pdf.
  2024-02-17 23:16 [bug#69212] [PATCH RFC 0/4] Add AutoTeX Liliana Marie Prikler
  2024-02-17 22:45 ` [bug#69212] [PATCH RFC 3/4] gnu: Add perl-arxiv Liliana Marie Prikler
@ 2024-02-17 22:46 ` Liliana Marie Prikler
  2024-02-17 22:48 ` [bug#69212] [PATCH RFC 1/4] gnu: Add perl-text-pdf Liliana Marie Prikler
  2024-02-17 23:16 ` [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex Liliana Marie Prikler
  3 siblings, 0 replies; 8+ messages in thread
From: Liliana Marie Prikler @ 2024-02-17 22:46 UTC (permalink / raw)
  To: 69212

* gnu/packages/perl.scm (perl-cam-pdf): New variable.
---
 gnu/packages/perl.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 4539dc83b2..e62fee137d 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1139,6 +1139,28 @@ (define-public perl-cache-fastmmap
 algorithm to keep the most used entries in the cache.")
     (license (package-license perl))))
 
+(define-public perl-cam-pdf
+  (package
+    (name "perl-cam-pdf")
+    (version "1.60")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/C/CD/CDOLAN/CAM-PDF-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "12dv5ssf3y7yjz9mrrqnfzx8nf4ydk1qijf5fx59495671zzqsp7"))))
+    (build-system perl-build-system)
+    (native-inputs (list perl-module-build))
+    (propagated-inputs (list perl-crypt-rc4 perl-test-memory-cycle perl-test-pod
+                             perl-test-pod-coverage perl-text-pdf))
+    (home-page "https://metacpan.org/release/CAM-PDF")
+    (synopsis "PDF manipulation library")
+    (description "This package provides readers and writers for PDF documents.
+It supports PDF up to version 1.5, but writes PDFs in a 1.4-compatible manner,
+thus possibly creating larger files.")
+    (license license:perl-license)))
+
 (define-public perl-capture-tiny
   (package
     (name "perl-capture-tiny")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#69212] [PATCH RFC 1/4] gnu: Add perl-text-pdf.
  2024-02-17 23:16 [bug#69212] [PATCH RFC 0/4] Add AutoTeX Liliana Marie Prikler
  2024-02-17 22:45 ` [bug#69212] [PATCH RFC 3/4] gnu: Add perl-arxiv Liliana Marie Prikler
  2024-02-17 22:46 ` [bug#69212] [PATCH RFC 2/4] gnu: Add perl-cam-pdf Liliana Marie Prikler
@ 2024-02-17 22:48 ` Liliana Marie Prikler
  2024-02-17 23:16 ` [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex Liliana Marie Prikler
  3 siblings, 0 replies; 8+ messages in thread
From: Liliana Marie Prikler @ 2024-02-17 22:48 UTC (permalink / raw)
  To: 69212

* gnu/packages/perl.scm (perl-text-pdf): New variable.
---
 gnu/packages/perl.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 5b32d6ecec..4539dc83b2 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -10929,6 +10929,24 @@ (define-public perl-text-patch
 by the standard @code{diff} utility.")
     (license license:gpl2+)))
 
+(define-public perl-text-pdf
+  (package
+    (name "perl-text-pdf")
+    (version "0.31")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BH/BHALLISSY/Text-PDF-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "0s5cimfr4wwzgv15k30x83ncg1257jwsvmbmb86lp02rw5g537yz"))))
+    (build-system perl-build-system)
+    (home-page "https://metacpan.org/release/Text-PDF")
+    (synopsis "PDF Manipulation and generation")
+    (description "This package provides tools for interacting with existing
+PDF files.")
+    (license license:perl-license)))
+
 (define-public perl-text-roman
   (package
     (name "perl-text-roman")
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex.
  2024-02-17 23:16 [bug#69212] [PATCH RFC 0/4] Add AutoTeX Liliana Marie Prikler
                   ` (2 preceding siblings ...)
  2024-02-17 22:48 ` [bug#69212] [PATCH RFC 1/4] gnu: Add perl-text-pdf Liliana Marie Prikler
@ 2024-02-17 23:16 ` Liliana Marie Prikler
  2024-05-22  7:10   ` Nicolas Goaziou via Guix-patches via
  3 siblings, 1 reply; 8+ messages in thread
From: Liliana Marie Prikler @ 2024-02-17 23:16 UTC (permalink / raw)
  To: 69212

* gnu/packages/perl-tex.scm (perl-tex-autotex): New variable.
---
 gnu/packages/perl-tex.scm | 56 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/perl-tex.scm b/gnu/packages/perl-tex.scm
index 315d34856f..c2f04547ad 100644
--- a/gnu/packages/perl-tex.scm
+++ b/gnu/packages/perl-tex.scm
@@ -19,9 +19,13 @@
 (define-module (gnu packages perl-tex)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix gexp)
   #:use-module (guix download)
   #:use-module (guix build-system perl)
   #:use-module (gnu packages)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages mail)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages tex))
 
@@ -42,3 +46,55 @@ (define-public perl-arxiv
     (description "This package contains perl modules with utility procedures
 used by other perl software at arXiv.org, most notably AutoTeX.")
     (license license:perl-license)))
+
+(define-public perl-tex-autotex
+  (package
+   (name "perl-tex-autotex")
+   (version "0.906.0")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (string-append
+           "mirror://cpan/authors/id/T/TS/TSCHWAND/TeX-AutoTeX-v" version
+           ".tar.gz"))
+     (sha256
+      (base32 "1iz64g0a22kb8h8gpkqrc9yxdyr3lvylznvlkpf2a9xanfjr5fki"))))
+   (build-system perl-build-system)
+   (arguments
+    (list
+     #:phases
+     #~(modify-phases %standard-phases
+         (add-after 'unpack 'patch-config
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "lib/TeX/AutoTeX/Config.pm"
+               (("(\\$DEFAULT_BRANCH[ ]*=).*;" all assign)
+                ;; XXX: Get year or smth
+                (string-append assign " 'texlive/guix';"))
+               (("/opt/texlive/[0-9]*/bin/arch")
+                (dirname (search-input-file inputs "/bin/tex")))
+               (("^(\\$AUTOTEX_ENV_PATH[ ]*=).*;" all assign)
+                (string-append assign " '"
+                               (string-join
+                                (map (lambda (bin)
+                                       (dirname (search-input-file inputs bin)))
+                                     '("/bin/sh"
+                                       "/bin/sed"
+                                       ;; coreutils
+                                       "/bin/yes"))
+                                ":")
+                               "';"))
+               (("/usr/bin/sendmail")
+                (search-input-file inputs "/bin/sendmail"))))))))
+   (inputs (list bash-minimal coreutils sed sendmail
+                 texlive-scheme-basic))
+   (propagated-inputs (list perl-arxiv perl-cam-pdf perl-class-accessor
+                            perl-error))
+   (native-inputs (list perl-module-build))
+   (home-page "https://metacpan.org/release/TeX-AutoTeX")
+   (synopsis "Automatically process (La-)TeX sources")
+   (description "AutoTeX is the basis for arXiv's automatic (La-)TeX
+processing.  The normal use is to point it at a directory with an assortment
+of files in it, and the @code{process} method will attempt to generate DVI,
+PostScript, or PDF from the input based on heuristics.  The resulting file(s)
+remain in the same directory.")
+   (license license:gpl3+)))
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#69212] [PATCH RFC 0/4] Add AutoTeX.
@ 2024-02-17 23:16 Liliana Marie Prikler
  2024-02-17 22:45 ` [bug#69212] [PATCH RFC 3/4] gnu: Add perl-arxiv Liliana Marie Prikler
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Liliana Marie Prikler @ 2024-02-17 23:16 UTC (permalink / raw)
  To: 69212

Hi Guix,

this series adds AutoTeX, the "script" that arxiv uses to process
submitted papers.  It's RFC, because I haven't actually tested it
with modular texlive yet (I previously used monolithic texlive to
test it) and the included test suite is kinda useless in that regard.

Cheers

Liliana Marie Prikler (4):
  gnu: Add perl-text-pdf.
  gnu: Add perl-cam-pdf.
  gnu: Add perl-arxiv.
  gnu: Add perl-tex-autotex.

 gnu/local.mk              |   1 +
 gnu/packages/perl-tex.scm | 100 ++++++++++++++++++++++++++++++++++++++
 gnu/packages/perl.scm     |  40 +++++++++++++++
 3 files changed, 141 insertions(+)
 create mode 100644 gnu/packages/perl-tex.scm


base-commit: 3cf199dbcf85a44fa8370e786e568fc3feb7067c
-- 
2.41.0





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex.
  2024-02-17 23:16 ` [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex Liliana Marie Prikler
@ 2024-05-22  7:10   ` Nicolas Goaziou via Guix-patches via
  2024-05-22 16:55     ` Liliana Marie Prikler
  0 siblings, 1 reply; 8+ messages in thread
From: Nicolas Goaziou via Guix-patches via @ 2024-05-22  7:10 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 69212

Hello,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> +   (inputs (list bash-minimal coreutils sed sendmail
> +                 texlive-scheme-basic))

Nitpick: even though they are equivalent, I think (texlive-updmap.cfg)
is more appropriate here. As a rule of thumb texlive-scheme-* and
texlive-collection-* are for users, whereas (texlive-updmap.cfg) is for
packages.

Regards,
-- 
Nicolas Goaziou






^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex.
  2024-05-22  7:10   ` Nicolas Goaziou via Guix-patches via
@ 2024-05-22 16:55     ` Liliana Marie Prikler
  2024-05-23  9:56       ` Nicolas Goaziou via Guix-patches via
  0 siblings, 1 reply; 8+ messages in thread
From: Liliana Marie Prikler @ 2024-05-22 16:55 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: 69212

Am Mittwoch, dem 22.05.2024 um 09:10 +0200 schrieb Nicolas Goaziou:
> Hello,
> 
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > +   (inputs (list bash-minimal coreutils sed sendmail
> > +                 texlive-scheme-basic))
> 
> Nitpick: even though they are equivalent, I think (texlive-
> updmap.cfg)
> is more appropriate here. As a rule of thumb texlive-scheme-* and
> texlive-collection-* are for users, whereas (texlive-updmap.cfg) is
> for packages.
Good to know.  I'm just unsure which packages to feed it so as to get
all the autotex features (basically to get "what arxiv supports"),
hence why it's blocked atm.

Cheers




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex.
  2024-05-22 16:55     ` Liliana Marie Prikler
@ 2024-05-23  9:56       ` Nicolas Goaziou via Guix-patches via
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Goaziou via Guix-patches via @ 2024-05-23  9:56 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 69212

Hello,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

>> Nitpick: even though they are equivalent, I think (texlive-
>> updmap.cfg)
>> is more appropriate here. As a rule of thumb texlive-scheme-* and
>> texlive-collection-* are for users, whereas (texlive-updmap.cfg) is
>> for packages.

> Good to know.  I'm just unsure which packages to feed it so as to get
> all the autotex features (basically to get "what arxiv supports"),
> hence why it's blocked atm.

Then what about not providing anything TeX Live related in the inputs,
and mention in package description that using this package require
a proper TeX intallation?

Regards,
-- 
Nicolas Goaziou






^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-05-23  9:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-17 23:16 [bug#69212] [PATCH RFC 0/4] Add AutoTeX Liliana Marie Prikler
2024-02-17 22:45 ` [bug#69212] [PATCH RFC 3/4] gnu: Add perl-arxiv Liliana Marie Prikler
2024-02-17 22:46 ` [bug#69212] [PATCH RFC 2/4] gnu: Add perl-cam-pdf Liliana Marie Prikler
2024-02-17 22:48 ` [bug#69212] [PATCH RFC 1/4] gnu: Add perl-text-pdf Liliana Marie Prikler
2024-02-17 23:16 ` [bug#69212] [PATCH RFC 4/4] gnu: Add perl-tex-autotex Liliana Marie Prikler
2024-05-22  7:10   ` Nicolas Goaziou via Guix-patches via
2024-05-22 16:55     ` Liliana Marie Prikler
2024-05-23  9:56       ` Nicolas Goaziou via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).