]> git.pld-linux.org Git - packages/gtk+3.git/commitdiff
- added papi patch, build papi backend (with bcond)
authorJakub Bogusz <qboosh@pld-linux.org>
Fri, 23 Dec 2011 20:56:27 +0000 (20:56 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gtk+3-papi.patch -> 1.1
    gtk+3.spec -> 1.49

gtk+3-papi.patch [new file with mode: 0644]
gtk+3.spec

diff --git a/gtk+3-papi.patch b/gtk+3-papi.patch
new file mode 100644 (file)
index 0000000..3a8c2d3
--- /dev/null
@@ -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
index cbcc0a254e7d1744979beded4995b0e8e507cf09..f0282fdaf66276efb4160b4e32d4907fc6efe457 100644 (file)
@@ -1,8 +1,8 @@
-# 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
@@ -20,13 +20,16 @@ License:    LGPL v2+
 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
@@ -39,6 +42,7 @@ BuildRequires:        libtool >= 2:2.2.6
 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
@@ -223,8 +227,22 @@ CUPS printing module for GTK+.
 %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
@@ -233,6 +251,7 @@ install -d _examples
 cp -a demos examples _examples
 
 %build
+CPPFLAGS="%{rpmcppflags}%{?with_papi: -I/usr/include/papi}"
 %{?with_apidocs:%{__gtkdocize}}
 %{__libtoolize}
 %{__aclocal} -I m4
@@ -242,6 +261,7 @@ cp -a demos examples _examples
 %configure \
        --disable-silent-rules \
        %{__disable cups} \
+       %{!?with_papi:--disable-papi} \
        %{?debug:--enable-debug=yes} \
        %{__enable_disable apidocs gtk-doc} \
        --enable-man \
@@ -407,3 +427,9 @@ exit 0
 %defattr(644,root,root,755)
 %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
This page took 0.037725 seconds and 4 git commands to generate.