add packaging
authorAnas Nashif <anas.nashif@intel.com>
Sat, 17 Nov 2012 00:00:04 +0000 (16:00 -0800)
committerZhigang Gong <zhigang.gong@intel.com>
Fri, 22 Nov 2013 02:03:07 +0000 (10:03 +0800)
packaging/baselibs.conf [new file with mode: 0644]
packaging/cairo-modules-no-version.patch [new file with mode: 0644]
packaging/cairo.spec [new file with mode: 0644]

diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf
new file mode 100644 (file)
index 0000000..c45c007
--- /dev/null
@@ -0,0 +1,10 @@
+libcairo2
+  provides "cairo-<targettype> = <version>"
+  obsoletes "cairo-<targettype> < <version>"
+libcairo-gobject2
+libcairo-script-interpreter2
+cairo-devel
+  requires -cairo-<targettype>
+  requires "libcairo2-<targettype> = <version>"
+  requires "libcairo-gobject2-<targettype> = <version>"
+  requires "libcairo-script-interpreter2-<targettype> = <version>"
diff --git a/packaging/cairo-modules-no-version.patch b/packaging/cairo-modules-no-version.patch
new file mode 100644 (file)
index 0000000..80e9b8b
--- /dev/null
@@ -0,0 +1,37 @@
+Index: cairo-1.10.0/util/cairo-fdr/Makefile.am
+===================================================================
+--- cairo-1.10.0.orig/util/cairo-fdr/Makefile.am
++++ cairo-1.10.0/util/cairo-fdr/Makefile.am
+@@ -9,5 +9,5 @@ AM_CPPFLAGS = -I$(top_srcdir)/src \
+ cairo_fdr_la_SOURCES = fdr.c
+ cairo_fdr_la_CPPFLAGS = $(AM_CPPFLAGS)
+ cairo_fdr_la_CFLAGS = $(CAIRO_CFLAGS)
+-cairo_fdr_la_LDFLAGS = -module -no-undefined
++cairo_fdr_la_LDFLAGS = -module -no-undefined -avoid-version
+ cairo_fdr_la_LIBADD = -ldl
+Index: cairo-1.10.0/util/cairo-trace/Makefile.am
+===================================================================
+--- cairo-1.10.0.orig/util/cairo-trace/Makefile.am
++++ cairo-1.10.0/util/cairo-trace/Makefile.am
+@@ -11,7 +11,7 @@ libcairo_trace_la_SOURCES = trace.c
+ libcairo_trace_la_CPPFLAGS = -DCAIRO_TRACE_OUTDIR="\"$(cairooutdir)\"" \
+                         $(AM_CPPFLAGS)
+ libcairo_trace_la_CFLAGS = $(CAIRO_CFLAGS) $(real_pthread_CFLAGS)
+-libcairo_trace_la_LDFLAGS = -no-undefined
++libcairo_trace_la_LDFLAGS = -no-undefined -module -avoid-version
+ libcairo_trace_la_LIBADD = $(real_pthread_LIBS) -lz
+ if CAIRO_HAS_DL
+Index: cairo-1.10.0/util/cairo-sphinx/Makefile.am
+===================================================================
+--- cairo-1.10.0.orig/util/cairo-sphinx/Makefile.am
++++ cairo-1.10.0/util/cairo-sphinx/Makefile.am
+@@ -11,7 +11,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src \
+ cairo_sphinx_la_SOURCES = fdr.c
+ cairo_sphinx_la_CPPFLAGS = $(AM_CPPFLAGS)
+ cairo_sphinx_la_CFLAGS = $(CAIRO_CFLAGS)
+-cairo_sphinx_la_LDFLAGS = -module -no-undefined
++cairo_sphinx_la_LDFLAGS = -module -no-undefined -avoid-version
+ cairo_sphinx_la_LIBADD = -ldl
+ cairo_sphinx_SOURCES = sphinx.c
diff --git a/packaging/cairo.spec b/packaging/cairo.spec
new file mode 100644 (file)
index 0000000..0712475
--- /dev/null
@@ -0,0 +1,187 @@
+%define build_xcb_backend 0
+%define build_gl_backend 1
+
+Name:           cairo
+Version:        1.12.4
+Release:        0
+License:        LGPL-2.1+ or MPL-1.1
+Summary:        Vector Graphics Library with Cross-Device Output Support
+Url:            http://cairographics.org/
+Group:          System/Libraries
+Source:         http://cairographics.org/releases/%{name}-%{version}.tar.xz
+Source99:       baselibs.conf
+# PATCH-FIX-UPSTREAM cairo-modules-no-version.patch fdo#29319 dimstar@opensuse.org -- Build modules with -module -avoid-version.
+Patch0:         cairo-modules-no-version.patch
+BuildRequires:  gtk-doc
+# Needed by patch0
+BuildRequires:  libtool
+BuildRequires:  pkg-config
+BuildRequires:  xz
+BuildRequires:  pkgconfig(fontconfig)
+BuildRequires:  pkgconfig(freetype2)
+BuildRequires:  pkgconfig(gobject-2.0)
+BuildRequires:  pkgconfig(libpng)
+BuildRequires:  pkgconfig(pixman-1)
+BuildRequires:  pkgconfig(x11)
+%if %build_xcb_backend
+BuildRequires:  pkgconfig(xcb)
+BuildRequires:  pkgconfig(xcb-shm)
+%endif
+%if %build_gl_backend
+BuildRequires:  mesa-devel
+#BuildRequires:        pkgconfig(wayland-egl)
+%endif
+BuildRequires:  pkgconfig(xrender)
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+
+%description
+Cairo is a vector graphics library with cross-device output support.
+Currently supported output targets include the X Window System,
+in-memory image buffers, and PostScript. Cairo is designed to produce
+identical output on all output media while taking advantage of display
+hardware acceleration when available.
+
+%package -n libcairo
+License:        LGPL-2.1+ or MPL-1.1
+Summary:        Vector Graphics Library with Cross-Device Output Support
+Group:          System/Libraries
+Provides:       cairo = %{version}
+Obsoletes:      cairo < %{version}
+
+%description -n libcairo
+Cairo is a vector graphics library with cross-device output support.
+Currently supported output targets include the X Window System,
+in-memory image buffers, and PostScript. Cairo is designed to produce
+identical output on all output media while taking advantage of display
+hardware acceleration when available.
+
+%package -n libcairo-gobject
+License:        LGPL-2.1+ or MPL-1.1
+Summary:        Vector Graphics Library with Cross-Device Output Support
+Group:          System/Libraries
+
+%description -n libcairo-gobject
+Cairo is a vector graphics library with cross-device output support.
+Currently supported output targets include the X Window System,
+in-memory image buffers, and PostScript. Cairo is designed to produce
+identical output on all output media while taking advantage of display
+hardware acceleration when available.
+
+This library contains GType declarations for Cairo types. It is also
+meant to support gobject-introspection binding creation.
+
+%package -n libcairo-script-interpreter
+License:        LGPL-2.1+ or MPL-1.1
+Summary:        Vector Graphics Library with Cross-Device Output Support
+Group:          System/Libraries
+
+%description -n libcairo-script-interpreter
+Cairo is a vector graphics library with cross-device output support.
+Currently supported output targets include the X Window System,
+in-memory image buffers, and PostScript. Cairo is designed to produce
+identical output on all output media while taking advantage of display
+hardware acceleration when available.
+
+%package tools
+License:        GPL-3.0+
+Summary:        Vector Graphics Library with Cross-Device Output Support -- Utilities
+Group:          Development/Libraries/X11
+# We need an explicit requires since nothing links to the cairo library
+Requires:       libcairo = %{version}
+
+%description tools
+Cairo is a vector graphics library with cross-device output support.
+Currently supported output targets include the X Window System,
+in-memory image buffers, and PostScript. Cairo is designed to produce
+identical output on all output media while taking advantage of display
+hardware acceleration when available.
+
+This package contains various cairo utilities.
+
+%package devel
+License:        LGPL-2.1+ or MPL-1.1
+Summary:        Development environment for cairo
+Group:          Development/Libraries/X11
+Requires:       libcairo = %{version}
+Requires:       libcairo-gobject = %{version}
+Requires:       libcairo-script-interpreter = %{version}
+
+%description devel
+This package contains all files necessary to build binaries using
+cairo.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+# Needed by patch0
+NOCONFIGURE=1 ./autogen.sh
+%configure \
+    --with-pic \
+    --enable-fc \
+    --enable-ft \
+%if %build_gl_backend
+    --enable-gl --enable-egl \
+%endif
+    --enable-ps \
+    --enable-pdf \
+    --enable-script \
+    --enable-svg \
+    --enable-tee \
+%if %build_xcb_backend
+    --enable-xcb \
+%endif
+    --enable-xlib \
+    --disable-gtk-doc \
+    --disable-static
+make %{?_smp_mflags} V=1
+
+%install
+%make_install
+
+%post -n libcairo -p /sbin/ldconfig
+
+%postun -n libcairo -p /sbin/ldconfig
+
+%post -n libcairo-gobject -p /sbin/ldconfig
+
+%postun -n libcairo-gobject -p /sbin/ldconfig
+
+%post -n libcairo-script-interpreter -p /sbin/ldconfig
+
+%postun -n libcairo-script-interpreter -p /sbin/ldconfig
+
+%files -n libcairo
+%defattr(-, root, root)
+%doc COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1
+%{_libdir}/libcairo.so.*
+
+%files -n libcairo-gobject
+%defattr(-, root, root)
+%{_libdir}/libcairo-gobject.so.2*
+
+%files -n libcairo-script-interpreter
+%defattr(-, root, root)
+%doc util/cairo-script/COPYING
+%{_libdir}/libcairo-script-interpreter.so.*
+
+%files tools
+%defattr(-, root, root)
+%doc util/cairo-trace/COPYING util/cairo-trace/COPYING-GPL-3
+%{_bindir}/cairo-sphinx
+%{_bindir}/cairo-trace
+%dir %{_libdir}/cairo
+%{_libdir}/cairo/cairo-fdr.so
+%{_libdir}/cairo/cairo-sphinx.so
+%{_libdir}/cairo/libcairo-trace.so
+
+%files devel
+%defattr(-, root, root)
+%doc PORTING_GUIDE
+%doc %{_datadir}/gtk-doc/html/cairo
+%{_includedir}/cairo/
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
+
+%changelog