-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathguix.scm
More file actions
70 lines (61 loc) · 2.34 KB
/
Copy pathguix.scm
File metadata and controls
70 lines (61 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
;; SPDX-License-Identifier: MPL-2.0
;; Docudactyl HPC — Guix development environment
;;
;; Usage:
;; guix shell -D -f guix.scm # Enter dev shell with all dependencies
;; guix build -f guix.scm # Build (placeholder — real build uses just)
;;
;; This defines the development environment for building Docudactyl HPC.
;; The actual build is driven by the Justfile (just build-hpc).
;;
;; Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
(use-modules (guix packages)
(guix build-system gnu)
(guix licenses)
(gnu packages)
(gnu packages gcc)
(gnu packages pkg-config)
(gnu packages glib)
(gnu packages pdf)
(gnu packages ocr)
(gnu packages image)
(gnu packages video)
(gnu packages xml)
(gnu packages geo)
(gnu packages image-processing)
(gnu packages databases))
(package
(name "docudactyl")
(version "0.4.0")
(source #f)
(build-system gnu-build-system)
(synopsis "Multi-format HPC document extraction engine")
(description
"Docudactyl is a distributed document processing engine targeting
British Library scale (~170M items). Chapel orchestrates across HPC
cluster nodes, dispatching to C libraries via a zero-cost Zig FFI layer.
Supports PDF, images (OCR), audio, video, EPUB, and geospatial formats.")
(home-page "https://github.com/hyperpolymath/docudactyl")
(license #f) ; MPL-2.0 (not in Guix license list)
;; Development inputs — these are the C libraries linked by the Zig FFI.
;; Chapel and Zig are not yet packaged in Guix; install via asdf.
(native-inputs
(list pkg-config gcc-toolchain))
(inputs
(list
;; PDF extraction
poppler ; poppler-glib
glib ; glib-2.0, gobject-2.0
;; OCR
tesseract-ocr ; libtesseract
leptonica ; liblept
;; Audio/Video
ffmpeg ; libavformat, libavcodec, libavutil
;; EPUB/XHTML
libxml2 ; libxml-2.0
;; Geospatial
gdal ; libgdal
;; Image metadata
vips ; libvips
;; Result cache
lmdb))) ; liblmdb (zero-copy key-value store)