guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH]: Add CUPS.


From: Ricardo Wurmus
Subject: Re: [PATCH]: Add CUPS.
Date: Thu, 15 Jan 2015 17:30:37 +0100

> It might be clearer and also easier (because all of %standard-phases
> would be readily usable) to make ijs a separate package, similar to the
> libtool/libltdl split.  WDYT?

Agreed.  I made it a separate package.

>> From 8e671fdd888bf9548bf52acf8789500c90d4b072 Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <address@hidden>
>> Date: Wed, 7 Jan 2015 17:49:00 +0100
>> Subject: [PATCH 1/3] gnu: Add QPDF.
>>
>> * gnu/packages/pdf.scm (qpdf): New variable.
>
> LGTM.

Thanks, I applied this patch in master.

>> From d42e6a3233b7c5142d1c91d8c2b1c751b74bd444 Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <address@hidden>
>> Date: Mon, 5 Jan 2015 13:56:51 +0100
>> Subject: [PATCH 3/3] gnu: Add CUPS.
>>
>> * gnu/packages/cups.scm: New file.
>> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
>
> [...]
>
>> +         "--with-gnu-ld"
>
> I suspect this is not needed; ./configure should be able to determine it
> automatically.
>
>> +         "--disable-static"
>
> Why?  By default we let packages provide both .so and .a files.

Okay, removed those two.

>> +       #:phases
>> +       (alist-cons-before
>> +        'configure
>> +        'patch-target-dirs
>> +        (lambda _
>> +          (let ((out (assoc-ref %outputs "out")))
>> +            ;; install backends, banners and filters to cups-filters output
>> +            ;; directory, not the cups server directory
>> +            (substitute* "Makefile.in"
>> +              (("CUPS_DATADIR = @CUPS_DATADIR@")
>> +               (string-append "CUPS_DATADIR = " out "/share/cups"))
>> +              (("pkgcupsserverrootdir = \\$\\(CUPS_SERVERROOT\\)")
>> +               (string-append "pkgcupsserverrootdir = " out))
>> +              (("pkgbackenddir = \\$\\(CUPS_SERVERBIN\\)/backend")
>> +               (string-append "pkgbackenddir = "
>> +                              out
>> +                              "/backend"))
>> +              (("pkgfilterdir = \\$\\(CUPS_SERVERBIN\\)/filter")
>> +               (string-append "pkgfilterdir = "
>> +                              out
>> +                              "/filter")))))
>
> Could you make this phase a ‘snippet’, by using a literal “$(prefix)” or
> address@hidden instead of ‘out’?

This is now a snippet using $(PREFIX).

>> +    ;; see COPYING for details
>> +    (license (list license:gpl2
>> +                   license:gpl2+
>> +                   license:gpl3
>> +                   license:gpl3+
>> +                   license:lgpl2.0+
>> +                   license:expat))))
>
> Could you augment the comment to mention what this license list means?
> Each filter has its own license, or something like that?

Done.  The exact license mapping is a bit complicated, so the comment
still isn't quite as helpful as it probably could be.

>> +(define-public cups-minimal
>> +  (package
>> +    (name "cups-minimal")
>
> Could you add a comment with the explanation that you gave in this
> message as to why it is needed?

Done.

>> +(define-public cups
>> +  (package
>> +    (name "cups")
>
> I think this should inherit from ‘cups-minimal’, and just change the
> ‘name’ and ‘arguments’ fields.  WDYT?


"cups" now inherits from "cups-minimal".

>> +    (synopsis "CUPS printing system")
>
> What about “The Common Unix Printing System”?
>
>> +    (description
>> +     "CUPS printing system provides a portable printing layer for UNIX®
>> +operating systems.  It has been developed by Apple Inc. to promote a 
>> standard
>> +printing solution for all UNIX vendors and users.  CUPS provides the System 
>> V
>> +and Berkeley command-line interfaces.")
>
> What about this (based on README.txt):
>
>   CUPS is a printing system that uses the Internet Printing Protocol
>   (IPP).  It provides System V and BSD command-line interfaces, as well
>   as a Web interface and a C programming interface to manage printers
>   and print jobs.  It supports printing to both local (parallel, serial,
>   USB) and networked printers, and printers can be shared from one
>   computer to another.  Internally, CUPS uses PostScript Printer
>   Description (PPD) files to describe printer capabilities and features
>   and a wide variety of generic and device-specific programs to convert
>   and print many types of files.

I updated both synopsis and description.

Attached are the two remaining patches.

-- Ricardo


Attachment: 0001-gnu-Add-IJS.patch
Description: Text Data

Attachment: 0002-gnu-Add-CUPS.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]