Author: qboosh                       Date: Fri Dec 23 20:56:32 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- added papi patch, build papi backend (with bcond)

---- Files affected:
packages/gtk+3:
   gtk+3.spec (1.48 -> 1.49) , gtk+3-papi.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/gtk+3/gtk+3.spec
diff -u packages/gtk+3/gtk+3.spec:1.48 packages/gtk+3/gtk+3.spec:1.49
--- packages/gtk+3/gtk+3.spec:1.48      Wed Dec 21 18:22:19 2011
+++ packages/gtk+3/gtk+3.spec   Fri Dec 23 21:56:27 2011
@@ -1,9 +1,9 @@
 # $Revision$, $Date$
-# TODO: papi print backend?
 #
 # Conditional build:
 %bcond_without apidocs         # disable gtk-doc
 %bcond_without cups            # disable CUPS support
+%bcond_without papi            # disable PAPI support
 %bcond_without static_libs     # don't build static library
 #
 Summary:       The GIMP Toolkit
@@ -21,13 +21,16 @@
 Group:         X11/Libraries
 Source0:       
http://ftp.gnome.org/pub/GNOME/sources/gtk+/3.2/gtk+-%{version}.tar.xz
 # Source0-md5: b4edcc69e39159dd7be17828249afb46
+Patch0:                %{name}-papi.patch
 URL:           http://www.gtk.org/
 BuildRequires: atk-devel >= 1:2.1.5
 BuildRequires: autoconf >= 2.62
 BuildRequires: automake >= 1:1.11
 BuildRequires: cairo-gobject-devel >= 1.10.0
 BuildRequires: colord-devel >= 0.1.9
-%{?with_cups:BuildRequires:    cups-devel}
+%if %{with cups} || %{with papi}
+BuildRequires: cups-devel
+%endif
 BuildRequires: docbook-dtd412-xml
 BuildRequires: docbook-style-xsl
 BuildRequires: gdk-pixbuf2-devel >= 2.23.5
@@ -40,6 +43,7 @@
 BuildRequires: libxml2-progs >= 1:2.6.31
 BuildRequires: libxslt-progs >= 1.1.20
 BuildRequires: pango-devel >= 1:1.29.0
+%{?with_papi:BuildRequires:    papi-devel}
 BuildRequires: perl-base
 BuildRequires: pkgconfig
 BuildRequires: rpm-pythonprov
@@ -224,8 +228,22 @@
 %description cups -l pl.UTF-8
 Moduł GTK+ do drukowania przez CUPS.
 
+%package papi
+Summary:       PAPI printing module for GTK+
+Summary(pl.UTF-8):     Moduł GTK+ do drukowania przez PAPI
+Group:         X11/Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      papi
+
+%description papi
+PAPI printing module for GTK+.
+
+%description papi -l pl.UTF-8
+Moduł GTK+ do drukowania przez PAPI.
+
 %prep
 %setup -q -n gtk+-%{version}
+%patch0 -p1
 
 # for packaging clean examples
 # TODO: add am patch to do it like demos/gtk-demo via some configurable dir
@@ -234,6 +252,7 @@
 cp -a demos examples _examples
 
 %build
+CPPFLAGS="%{rpmcppflags}%{?with_papi: -I/usr/include/papi}"
 %{?with_apidocs:%{__gtkdocize}}
 %{__libtoolize}
 %{__aclocal} -I m4
@@ -243,6 +262,7 @@
 %configure \
        --disable-silent-rules \
        %{__disable cups} \
+       %{!?with_papi:--disable-papi} \
        %{?debug:--enable-debug=yes} \
        %{__enable_disable apidocs gtk-doc} \
        --enable-man \
@@ -409,12 +429,21 @@
 %attr(755,root,root) 
%{_libdir}/gtk-3.0/%{abivers}/printbackends/libprintbackend-cups.so
 %endif
 
+%if %{with papi}
+%files papi
+%defattr(644,root,root,755)
+%attr(755,root,root) 
%{_libdir}/gtk-3.0/%{abivers}/printbackends/libprintbackend-papi.so
+%endif
+
 %define date   %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
 * %{date} PLD Team <[email protected]>
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.49  2011/12/23 20:56:27  qboosh
+- added papi patch, build papi backend (with bcond)
+
 Revision 1.48  2011/12/21 17:22:19  kiesiu
 - updated to 3.2.3
 - cups-auth patch applied upstream

================================================================
Index: packages/gtk+3/gtk+3-papi.patch
diff -u /dev/null packages/gtk+3/gtk+3-papi.patch:1.1
--- /dev/null   Fri Dec 23 21:56:32 2011
+++ packages/gtk+3/gtk+3-papi.patch     Fri Dec 23 21:56:27 2011
@@ -0,0 +1,89 @@
+--- gtk+-3.2.3/modules/printbackends/papi/gtkprintbackendpapi.c.orig   
2011-08-16 04:04:35.000000000 +0200
++++ gtk+-3.2.3/modules/printbackends/papi/gtkprintbackendpapi.c        
2011-12-23 18:55:39.354135443 +0100
+@@ -352,7 +352,7 @@
+   const gchar *title;
+   char *prtnm = NULL;
+   GtkPrintDuplex val;
+-  papi_status_t pstatus = NULL;
++  papi_status_t pstatus = PAPI_OK;
+   papi_attribute_t **attrs = NULL;
+   papi_job_ticket_t *ticket = NULL;
+   
+@@ -378,9 +378,9 @@
+   else if (val == GTK_PRINT_DUPLEX_VERTICAL)
+     papiAttributeListAddString (&attrs, PAPI_ATTR_EXCL, "Duplex", 
"DuplexTumble");
+ 
+-  if (job->num_copies > 1) 
++  if (gtk_print_job_get_num_copies(job) > 1) 
+     {
+-      papiAttributeListAddInteger (&attrs, PAPI_ATTR_EXCL, "copies", 
job->num_copies); 
++      papiAttributeListAddInteger (&attrs, PAPI_ATTR_EXCL, "copies", 
gtk_print_job_get_num_copies(job)); 
+     }
+ 
+   prtnm = strdup (gtk_printer_get_name (GTK_PRINTER(printer)));
+@@ -723,37 +723,40 @@
+   GtkPageSet page_set;
+   double scale;
+   GtkPaperSize *papersize = NULL;
++  GtkPrintPages print_pages = gtk_print_settings_get_print_pages (settings);
+   char *ppd_paper_name;
+ 
+-  print_job->print_pages = gtk_print_settings_get_print_pages (settings);
+-  print_job->page_ranges = NULL;
+-  print_job->num_page_ranges = 0;
++  gtk_print_job_set_pages(print_job, print_pages);
++  gtk_print_job_set_page_ranges(print_job, NULL, 0);
+   
+-  if (print_job->print_pages == GTK_PRINT_PAGES_RANGES)
+-    print_job->page_ranges =
++  if (print_pages == GTK_PRINT_PAGES_RANGES) {
++    gint num_page_ranges;
++    GtkPageRange *page_ranges = 
+       gtk_print_settings_get_page_ranges (settings,
+-                                        &print_job->num_page_ranges);
++                                        &num_page_ranges);
++    gtk_print_job_set_page_ranges(print_job, page_ranges, num_page_ranges);
++  }
+   
+-  print_job->collate = gtk_print_settings_get_collate (settings);
+-  print_job->reverse = gtk_print_settings_get_reverse (settings);
+-  print_job->num_copies = gtk_print_settings_get_n_copies (settings);
++  gtk_print_job_set_collate(print_job, gtk_print_settings_get_collate 
(settings));
++  gtk_print_job_set_reverse(print_job, gtk_print_settings_get_reverse 
(settings));
++  gtk_print_job_set_num_copies(print_job, gtk_print_settings_get_n_copies 
(settings));
+  
+   scale = gtk_print_settings_get_scale (settings);
+   if (scale != 100.0)
+-    print_job->scale = scale/100.0;
++    gtk_print_job_set_scale(print_job, scale/100.0);
+ 
+   papersize = gtk_page_setup_get_paper_size (page_setup);
+   ppd_paper_name = gtk_paper_size_get_ppd_name (papersize);
+ 
+   page_set = gtk_print_settings_get_page_set (settings);
+   if (page_set == GTK_PAGE_SET_EVEN)
+-    print_job->page_set = GTK_PAGE_SET_EVEN;
++    gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_EVEN);
+   else if (page_set == GTK_PAGE_SET_ODD)
+-    print_job->page_set = GTK_PAGE_SET_ODD;
++    gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_ODD);
+   else
+-    print_job->page_set = GTK_PAGE_SET_ALL;
++    gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_ALL);
+ 
+-  print_job->rotate_to_orientation = TRUE;
++  gtk_print_job_set_rotate(print_job, TRUE);
+ 
+ }
+ 
+--- gtk+-3.2.3/modules/printbackends/papi/Makefile.am.orig     2011-11-07 
19:47:37.000000000 +0100
++++ gtk+-3.2.3/modules/printbackends/papi/Makefile.am  2011-12-23 
19:55:00.277588009 +0100
+@@ -16,7 +16,7 @@
+       $(top_builddir)/gtk/libgtk-3.la \
+       $(GTK_DEP_LIBS)
+ 
+-backenddir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/printbackends
++backenddir = $(libdir)/gtk-3.0/$(GTK_BINARY_VERSION)/printbackends
+ 
+ backend_LTLIBRARIES = libprintbackend-papi.la
+ 
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gtk+3/gtk+3.spec?r1=1.48&r2=1.49&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to