tech-pkg archive

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

discussion about making cups default for gtk[23]

[moving to tech-pkg for discussion]

Pierre Pronchery <> writes:

> 			Hi gdt@, pkgsrc-changes@,
> while I do not object to this change for pkgsrc-2018Q2, I was about to
> mention that we should indeed enable cups by default for both x11/gtk2
> and x11/gtk3.

I am curious about the rationale for selectively enabling it for those
packages, but not the rest that have a cups option.  It seems to me it
should be generally enabled or generally not, but I don't have a good
basis for belieing that firmly.

> For one thing, I have worked on making cups lighter for those who do
> not want the extra weight, by creating the print/cups-base package,

Agreed that cups-base is smaller than all of cups before; thanks for
doing this.

> which is the only hard dependency for x11/gtk2 and x11/gtk3. I am able
> to bring this up because there has been a discussion about this (a
> while ago now).

So this is:

  size in bytes: 19901908
  (which is not big compared to gtk)



of which probably only dbus might be objectionable to most.

But, cups-base has "lpr" in bin, which I think means that just

  command-that-makes-ps | lpr

will try to print with cups, vs whatever else somebody was using.

> Now, every time I update pkgsrc, printing breaks for me. I have HP
> printers (a market leader) and they require CUPS for the open source
> driver (print/hplip). Printing with Gtk+ applications (also a common
> case) does require CUPS to be usable:
> - LPR is impractical for more than one queue

I don't follow this; traditional lpr supports more than one queue.  But
the point here is about people that are trying to use cups and have it
installed, and what happens to them with gtk.

> - setting options as defined by the PPD only works with CUPS (eg
>   black/white, tray, covers...)

I think you mean "in the print dialog of the application"?  I would
expect that the cups UI can set the default options for printing.

> There used to be gtklp for the latter, but it's long been deprecated.
> I think the users of our binary packages ought to be able to print
> without having to build Gtk+ again.

Are you really saying that if they have cups installed, and /usr/pkg/bin
in their PATH before /usr/bin, that printing actually does not work?

The other side of the coin is what happens to people who are not using
cups, when gtk3 is compiled with cups.  Can they still print?

> Worse even, I just figured while updating that besides
> print/cups-filters (included in the meta-package print/cups) it seems
> we also need:
> - the "avahi" option enabled by default in cups

I don't follow avahi and dbus being options in cups-filters.

For avahi, do you mean in cups-base?   Can you explain dnssd vs avahi?

> - wip/colord, which is not up to date nor in pkgsrc

[I see this is in pkgsrc now.  Presumably it would be added to cups, not

> For good measure we should also enable the "sane" option by default in
> print/hplip, otherwise it is also not possible to scan.

That's separable.  Doubles the size of hplip, but no other apparent
issues, and sounds quite plausible that the benefit is worth it.

> About CUPS not building on MacOS X, it is ironic since Apple is the
> upstream... Any idea what the issue is?

Irony duly noted.  Surely this can be fixed, and then it would merely be
goofy to have cups from pkgsrc built on a mac.  I wonder if cups-base
should have a to point depending packages to the base system,
independently of the option discussion.

=> Bootstrap dependency digest>=20010302: found digest-20160304
===> Building for cups-base-2.2.8nb1
Using ALL_CFLAGS=-I.. -D_CUPS_SOURCE -I/opt/pkg/include -I/usr/include -pipe -I/opt/pkg/include -I/usr/include -D_FORTIFY_SOURCE=2  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT  
Using ALL_CXXFLAGS=-I.. -D_CUPS_SOURCE -I/opt/pkg/include -I/usr/include -pipe -I/opt/pkg/include -I/usr/include  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT  
Using CC=/opt/pkgsrc/print/cups-base/work/.cwrapper/bin/libtool  --mode=compile --tag=CC clang
Using CXX=/opt/pkgsrc/print/cups-base/work/.cwrapper/bin/libtool  --mode=compile --tag=CC clang
Using DSOFLAGS=-L../cups -L/opt/pkg/lib -dynamic -Wl,-search_paths_first -lkrb5 -L/usr/lib -dynamiclib -single_module -lc -Wall -Wno-format-y2k -Wunused -fPIC -Os -g -Wno-unused-result -Wsign-conversion -Wno-tautological-compare
Using LDFLAGS=-L../cgi-bin -L../cups -L../filter -L../ppdc -L../scheduler -L/opt/pkg/lib -dynamic -Wl,-search_paths_first -lkrb5 -L/usr/lib  -fPIE -Wl,-pie -Wall -Wno-format-y2k -Wunused -fPIC -Os -g -Wno-unused-result -Wsign-conversion -Wno-tautological-compare
Using LIBS=../cups/ -weak_framework Kerberos -weak_framework GSS -framework CoreFoundation -framework SystemConfiguration  -lz -lpthread -lresolv -framework SystemConfiguration -framework CoreFoundation -framework Security -liconv -liconv  -lz
Making all in cups...
Compiling thread.c...
libtool: compile:  clang -Wall -Wno-format-y2k -Wunused -fPIC -Os -g -Wno-unused-result -Wsign-conversion -Wno-tautological-compare -I.. -D_CUPS_SOURCE -I/opt/pkgsrc/print/cups-base/work/.buildlink/include -pipe -D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -D_CUPS_NO_DEPRECATED=1 -D_PPD_DEPRECATED= -c thread.c  -fno-common -DPIC -o .libs/thread.o
thread.c:59:5: warning: implicit declaration of function 'clock_gettime' is invalid in C99 [-Wimplicit-function-declaration]
    clock_gettime(CLOCK_REALTIME, &abstime);
thread.c:59:19: error: use of undeclared identifier 'CLOCK_REALTIME'
    clock_gettime(CLOCK_REALTIME, &abstime);
1 warning and 1 error generated.
gnumake[1]: *** [thread.o] Error 1
gnumake: *** [all] Error 1
*** Error code 2

make[1]: stopped in /opt/pkgsrc/print/cups-base
*** Error code 1

make: stopped in /opt/pkgsrc/print/cups-base

Attachment: signature.asc
Description: PGP signature

Home | Main Index | Thread Index | Old Index