all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#37166] Add QPDL (Samsung laser &c.) printer drivers
@ 2019-08-23 21:23 Tobias Geerinckx-Rice via Guix-patches via
  2019-08-23 21:30 ` [bug#37166] [PATCH 1/2] gnu: Add jbigkit Tobias Geerinckx-Rice via Guix-patches via
  2019-09-27 10:39 ` bug#37166: Add QPDL (Samsung laser &c.) printer drivers Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 2 replies; 4+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2019-08-23 21:23 UTC (permalink / raw)
  To: 37166

[-- Attachment #1: Type: text/plain, Size: 91 bytes --]

Guix,

This adds the SpliX driver for my SL-M2026, and a dependency.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

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

* [bug#37166] [PATCH 1/2] gnu: Add jbigkit.
  2019-08-23 21:23 [bug#37166] Add QPDL (Samsung laser &c.) printer drivers Tobias Geerinckx-Rice via Guix-patches via
@ 2019-08-23 21:30 ` Tobias Geerinckx-Rice via Guix-patches via
  2019-08-23 21:30   ` [bug#37166] [PATCH 2/2] gnu: Add splix Tobias Geerinckx-Rice via Guix-patches via
  2019-09-27 10:39 ` bug#37166: Add QPDL (Samsung laser &c.) printer drivers Tobias Geerinckx-Rice via Guix-patches via
  1 sibling, 1 reply; 4+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2019-08-23 21:30 UTC (permalink / raw)
  To: 37166

* gnu/packages/image.scm (jbigkit): New public variable.
---
 gnu/packages/image.scm | 75 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 5f3cf0ac2c..670aeff85a 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -643,6 +643,81 @@ work.")
     (home-page "https://jbig2dec.com")
     (license license:gpl2+)))
 
+(define-public jbigkit
+  (package
+    (name "jbigkit")
+    (version "2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.cl.cam.ac.uk/~mgk25/jbigkit/"
+                           "download/jbigkit-" version ".tar.gz"))
+       (sha256
+        (base32 "0cnrcdr1dwp7h7m0a56qw09bv08krb37mpf7cml5sjdgpyv0cwfy"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove files without clear licence information.
+           (for-each delete-file-recursively
+                     (list "contrib" "examples"))
+           #t))))
+    (build-system gnu-build-system)
+    (outputs (list "out" "pbmtools"))
+    (arguments
+     `(#:modules ((srfi srfi-26)
+                  ,@%gnu-build-system-modules)
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ; no configure script
+         (replace 'install              ; no ‘make install’ target
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib"))
+                    (include (string-append out "/include")))
+               (with-directory-excursion "libjbig"
+                 (for-each (cut install-file <> include)
+                           (find-files "." "\\.h$"))
+                 (for-each (cut install-file <> lib)
+                           (find-files "." "\\.a$")))
+               #t)))
+         (add-after 'install 'install-pbmtools
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "pbmtools"))
+                    (bin (string-append out "/bin"))
+                    (man1 (string-append out "/share/man/man1"))
+                    (man5 (string-append out "/share/man/man5")))
+               (with-directory-excursion "pbmtools"
+                 (for-each (cut install-file <> bin)
+                           (list "jbgtopbm" "jbgtopbm85"
+                                 "pbmtojbg" "pbmtojbg85"))
+
+                 (for-each (cut install-file <> man1)
+                           (find-files "." "\\.1$"))
+                 (for-each (cut install-file <> man5)
+                           (find-files "." "\\.5$"))
+                 #t)))))
+       #:test-target "test"
+       #:tests? #f))                    ; tests depend on examples/
+    (home-page "https://www.cl.cam.ac.uk/~mgk25/jbigkit/")
+    (synopsis "Lossless compression for bi-level high-resolution images")
+    (description
+     "JBIG-KIT implements the JBIG1 data compression standard (ITU-T T.82 and
+ISO/IEC 11544:1993), designed for bi-level (one bit per pixel) images such as
+black-and-white scanned documents.  It is widely used in fax products, printer
+firmware and drivers, document management systems, and imaging software.
+
+This package provides a static C library of (de)compression functions and some
+simple command-line converters similar to those provided by netpbm.
+
+Two JBIG1 variants are available.  One (@file{jbig.c}) implements nearly all
+options of the standard but has to keep the full uncompressed image in memory.
+The other (@file{jbig85.c}) implements just the ITU-T T.85 profile, with
+memory management optimized for embedded and fax applications.  It buffers
+only a few lines of the uncompressed image in memory and is able to stream
+images of initially unknown height.")
+    (license (list license:isc          ; pbmtools/p?m.5
+                   license:gpl2+))))    ; the rest
+
 (define-public openjpeg
   (package
     (name "openjpeg")
-- 
2.23.0

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

* [bug#37166] [PATCH 2/2] gnu: Add splix.
  2019-08-23 21:30 ` [bug#37166] [PATCH 1/2] gnu: Add jbigkit Tobias Geerinckx-Rice via Guix-patches via
@ 2019-08-23 21:30   ` Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 0 replies; 4+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2019-08-23 21:30 UTC (permalink / raw)
  To: 37166

* gnu/packages/cups.scm (splix): New public variable.
---
 gnu/packages/cups.scm | 61 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 22b87460ab..4ce13ae8f8 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -48,6 +48,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix download)
+  #:use-module (guix svn-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -740,6 +741,66 @@ language.")
     (home-page "http://download.ebz.epson.net/dsc/search/01/search")
     (license license:gpl2+)))
 
+(define-public splix
+  ;; The last release was in 2009.  The SVN repository contains 5 years of
+  ;; unreleased bug fixes and support for newer printer models.
+  (let ((revision 315))
+    (package
+      (name "splix")
+      (version (string-append "2.0.0-" (number->string revision)))
+      (source
+       (origin
+         (method svn-fetch)
+         (uri (svn-reference
+               (url "https://svn.code.sf.net/p/splix/code/splix/")
+               (revision revision)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32 "16wbm4xnz35ca3mw2iggf5f4jaxpyna718ia190ka6y4ah932jxl"))))
+      (build-system gnu-build-system)
+      ;; 90% (3.8 MiB) of output are .ppd files.  Don't install them by default:
+      ;; CUPS has been able to read the .drv sources directly since version 1.2.
+      (outputs (list "out" "ppd"))
+      (arguments
+       '(#:make-flags
+         (list (string-append "CUPSDRV="
+                              (assoc-ref %outputs "out") "/share/cups/drv")
+               (string-append "CUPSFILTER="
+                              (assoc-ref %outputs "out") "/lib/cups/filter")
+               (string-append "CUPSPPD="
+                              (assoc-ref %outputs "ppd") "/share/cups/model")
+               "CACHESIZE=100"          ; pages in RAM, ±300 KiB each
+               "THREADS=4")             ; compress and print faster
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)          ; no configure script
+           (add-before 'build 'build-.drv-files
+             (lambda* (#:key make-flags #:allow-other-keys)
+               (apply invoke "make" "drv" make-flags)))
+           (add-after 'install 'install-.drv-files
+             (lambda* (#:key make-flags #:allow-other-keys)
+               (apply invoke "make" "install" "DRV_ONLY=1" make-flags))))
+         #:tests? #f))                  ; no test suite
+      (inputs
+       `(("cups" ,cups-minimal)
+         ("zlib" ,zlib)
+
+         ;; This dependency can be dropped by setting DISABLE_JBIG=1, but the
+         ;; result will not support some printers like the Samsung CLP-600.
+         ("jbigkit" ,jbigkit)))
+      (synopsis "QPDL (SPL2) printer driver")
+      (description
+       "SpliX is a set of CUPS drivers for printers that speak @acronym{QPDL,
+Quick Page Description Language}, also called @acronym{SPL2, Samsung Printer
+Language version 2}.  These include many laser printers sold by Samsung,
+Xerox, Lexmark, Toshiba, and Dell.
+
+Colour printers need colour profile files to get better results.  These
+@file{cms} files are provided by the printer's manufacturer and must be
+obtained and installed separately.")
+      (home-page "http://splix.ap2c.org/")
+      (license license:gpl2))))
+
 (define-public python-pycups
   (package
     (name "python-pycups")
-- 
2.23.0

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

* bug#37166: Add QPDL (Samsung laser &c.) printer drivers
  2019-08-23 21:23 [bug#37166] Add QPDL (Samsung laser &c.) printer drivers Tobias Geerinckx-Rice via Guix-patches via
  2019-08-23 21:30 ` [bug#37166] [PATCH 1/2] gnu: Add jbigkit Tobias Geerinckx-Rice via Guix-patches via
@ 2019-09-27 10:39 ` Tobias Geerinckx-Rice via Guix-patches via
  1 sibling, 0 replies; 4+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2019-09-27 10:39 UTC (permalink / raw)
  To: 37166-done

[-- Attachment #1: Type: text/plain, Size: 227 bytes --]

Tobias Geerinckx-Rice via Guix-patches via 写道:
> This adds the SpliX driver for my SL-M2026, and a dependency.

This was pushed to master as 
390f3e9e0292e9f46f869e1749b1807794dc4c82 et al.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

end of thread, other threads:[~2019-09-27 13:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-23 21:23 [bug#37166] Add QPDL (Samsung laser &c.) printer drivers Tobias Geerinckx-Rice via Guix-patches via
2019-08-23 21:30 ` [bug#37166] [PATCH 1/2] gnu: Add jbigkit Tobias Geerinckx-Rice via Guix-patches via
2019-08-23 21:30   ` [bug#37166] [PATCH 2/2] gnu: Add splix Tobias Geerinckx-Rice via Guix-patches via
2019-09-27 10:39 ` bug#37166: Add QPDL (Samsung laser &c.) printer drivers Tobias Geerinckx-Rice via Guix-patches via

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.