Tizen 2.0 Release tizen_2.0 accepted/tizen_2.0/20130215.202951 submit/tizen_2.0/20130215.191850
authorHyungKyu Song <hk76.song@samsung.com>
Fri, 15 Feb 2013 15:19:54 +0000 (00:19 +0900)
committerHyungKyu Song <hk76.song@samsung.com>
Fri, 15 Feb 2013 15:19:54 +0000 (00:19 +0900)
LICENSE.MIT [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
NOTICE [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
configure.ac [new file with mode: 0644]
gestureconst.h [new file with mode: 0755]
gestureproto.h [new file with mode: 0755]
gestureproto.pc.in [new file with mode: 0644]
packaging/xorg-x11-proto-gesture.spec [new file with mode: 0644]

diff --git a/LICENSE.MIT b/LICENSE.MIT
new file mode 100644 (file)
index 0000000..1c81bdc
--- /dev/null
@@ -0,0 +1,20 @@
+Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved 
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without
+fee, provided that the above copyright notice appear in all copies
+and that both that copyright notice and this permission notice
+appear in supporting documentation, and that the name of Red Hat
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.  Red
+Hat makes no representations about the suitability of this software
+for any purpose.  It is provided "as is" without express or implied
+warranty.
+
+THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..dda053f
--- /dev/null
@@ -0,0 +1,40 @@
+#  Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved 
+#
+#  Permission to use, copy, modify, distribute, and sell this software and its
+#  documentation for any purpose is hereby granted without fee, provided that
+#  the above copyright notice appear in all copies and that both that
+#  copyright notice and this permission notice appear in supporting
+#  documentation, and that the name of Red Hat not be used in
+#  advertising or publicity pertaining to distribution of the software without
+#  specific, written prior permission.  Red Hat makes no
+#  representations about the suitability of this software for any purpose.  It
+#  is provided "as is" without express or implied warranty.
+#
+#  RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+#  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+#  EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+#  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+#  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+#  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+#  PERFORMANCE OF THIS SOFTWARE.
+#
+
+gesturedir = $(includedir)/X11/extensions
+gesture_HEADERS = \
+        gestureconst.h \
+       gestureproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gestureproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+ChangeLog:
+       $(CHANGELOG_CMD)
+INSTALL:
+       $(INSTALL_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/NOTICE b/NOTICE
new file mode 100644 (file)
index 0000000..c10a9c5
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,3 @@
+Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under MIT License.
+Please, see the LICENSE.MIT file for MIT License terms and conditions.
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..904cd67
--- /dev/null
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..1138d55
--- /dev/null
@@ -0,0 +1,34 @@
+#  Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved 
+#
+#  Permission to use, copy, modify, distribute, and sell this software and its
+#  documentation for any purpose is hereby granted without fee, provided that
+#  the above copyright notice appear in all copies and that both that
+#  copyright notice and this permission notice appear in supporting
+#  documentation, and that the name of Red Hat not be used in
+#  advertising or publicity pertaining to distribution of the software without
+#  specific, written prior permission.  Red Hat makes no
+#  representations about the suitability of this software for any purpose.  It
+#  is provided "as is" without express or implied warranty.
+#
+#  RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+#  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+#  EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+#  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+#  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+#  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+#  PERFORMANCE OF THIS SOFTWARE.
+#
+
+AC_PREREQ([2.60])
+AC_INIT([x11proto-gesture], [0.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+         [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+           gestureproto.pc])
diff --git a/gestureconst.h b/gestureconst.h
new file mode 100755 (executable)
index 0000000..e8f63db
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without
+ * fee, provided that the above copyright notice appear in all copies
+ * and that both that copyright notice and this permission notice
+ * appear in supporting documentation, and that the name of Red Hat
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.  Red
+ * Hat makes no representations about the suitability of this software
+ * for any purpose.  It is provided "as is" without express or implied
+ * warranty.
+ *
+ * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+ * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+
+#ifndef _GESTUREPROTO_CONST_H_
+#define _GESTUREPROTO_CONST_H_
+
+/* Reply status */
+#define GestureSuccess                         0
+
+#define GestureUngrabSuccess           0
+#define GestureUngrabNotGrabbed                1
+#define GestureUngrabAbnormal          2
+
+#define GestureGrabSuccess                     0
+#define GestureGrabAbnormal                    1
+#define GestureGrabbedAlready          2
+#define GestureGrabInvalidTime         3
+#define GestureInvalidReply                    4
+
+/* Events */
+#define GestureNotifyFlick                     0
+#define GestureNotifyPan                               1
+#define GestureNotifyPinchRotation     2
+#define GestureNotifyTap                               3
+#define GestureNotifyTapNHold          4
+#define GestureNotifyHold                              5
+#define GestureNotifyGroup                     6
+#define GestureNumberEvents                    (GestureNotifyGroup + 1)
+
+#define GestureMaskNone                                0L
+#define GestureFlickMask                               (1L << 0)
+#define GesturePanMask                         (1L << 1)
+#define GesturePinchRotationMask               (1L << 2)
+#define GestureTapMask                         (1L << 3)
+#define GestureTapNHoldMask                    (1L << 4)
+#define GestureHoldMask                                (1L << 5)
+#define GestureGroupMask                       (1L << 6)
+
+/* "Kinds" of events for GestureNotifyGroup */
+#define GestureGroupRemoved            0
+#define GestureGroupAdded                      1
+#define GestureGroupCurrent                    2
+
+/* "Kinds" of events for GestureNotifyFlick ~ GestureNotifyHold */
+#define GestureEnd                                     0
+#define GestureBegin                                   1
+#define GestureUpdate                          2
+#define GestureDone                                    3
+
+/* Errors */
+#define GestureClientNotLocal                          0
+#define GestureInValidMask                             1
+#define GestureOperationNotSupported   2
+#define GestureNumberErrors            (GestureOperationNotSupported + 1)
+
+#endif//_GESTUREPROTO_CONST_H_
+
diff --git a/gestureproto.h b/gestureproto.h
new file mode 100755 (executable)
index 0000000..16d6f95
--- /dev/null
@@ -0,0 +1,295 @@
+/*
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without
+ * fee, provided that the above copyright notice appear in all copies
+ * and that both that copyright notice and this permission notice
+ * appear in supporting documentation, and that the name of Red Hat
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.  Red
+ * Hat makes no representations about the suitability of this software
+ * for any purpose.  It is provided "as is" without express or implied
+ * warranty.
+ *
+ * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+ * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef _GESTUREPROTO_H_
+#define _GESTUREPROTO_H_
+
+#include <X11/extensions/gestureconst.h>
+#include <X11/X.h>
+#include <X11/Xmd.h>
+
+#define Fixed      INT32
+
+#define GESTURE_EXT_NAME "X Gesture Extension"
+
+#define GESTURE_MAJOR  0       /* current version numbers */
+#define GESTURE_MINOR  1
+#define GESTURE_PATCH  0
+
+// Requests
+#define X_GestureQueryVersion          0
+#define X_GestureSelectEvents          1
+#define X_GestureGetSelectedEvents     2
+#define X_GestureGrabEvent                     3
+#define X_GestureUngrabEvent           4
+
+//requests
+typedef struct _GestureSelectEvents {
+    CARD8 reqType;                     /* always GestureReqCode */
+    CARD8 gestureReqType;      /* always X_GestureSelectEvents */
+    CARD16 length B16;
+    CARD32 window B32;
+    CARD32 mask B32;
+} xGestureSelectEventsReq;
+#define sz_xGestureSelectEventsReq     12
+
+typedef struct _GestureGetSelectedEvents {
+    CARD8 reqType;                     /* always GestureReqCode */
+    CARD8 gestureReqType;      /* always X_GestureGetSelectedEvents */
+    CARD16 length B16;
+    CARD32 window B32;
+} xGestureGetSelectedEventsReq;
+#define sz_xGestureGetSelectedEventsReq        8
+
+typedef struct _GestureGrabEvent {
+    CARD8 reqType;                     /* always GestureReqCode */
+    CARD8 gestureReqType;      /* always X_GestureGrabEvent */
+    CARD16 length B16;
+    CARD32 window B32;
+    CARD32 eventType B32;              /* gesture event type such as "GestureNotifyFlick" */
+    CARD8 num_finger;          /* number of fingers in a gesture event */
+    CARD8 pad1;
+    CARD16 pad2 B16;
+    Time time B32;                             /* client request timestamp */
+} xGestureGrabEventReq;
+#define sz_xGestureGrabEventReq        20
+
+typedef struct _GestureUngrabEvent {
+    CARD8 reqType;                     /* always GestureReqCode */
+    CARD8 gestureReqType;      /* always X_GestureUngrabEvent */
+    CARD16 length B16;
+    CARD32 window B32;
+    CARD32 eventType B32;              /* gesture event type such as "GestureNotifyFlick" */
+    CARD8 num_finger;          /* number of fingers in a gesture event */
+    CARD8 pad1;
+    CARD16 pad2 B16;
+    Time time B32;                             /* client request timestamp */
+} xGestureUngrabEventReq;
+#define sz_xGestureUngrabEventReq      20
+
+typedef struct _GestureQueryVersion {
+    CARD8 reqType;                     /* always GestureReqCode */
+    CARD8 gestureReqType;      /* always X_GestureQueryVersion */
+    CARD16 length B16;
+} xGestureQueryVersionReq;
+#define sz_xGestureQueryVersionReq     4
+
+//replys for synchronous reqs
+typedef struct {
+    BYTE type;                                 /* X_Reply */
+    BOOL pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 mask;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+} xGestureGetSelectedEventsReply;
+#define sz_xGestureGetSelectedEventsReply      32
+
+typedef struct {
+    BYTE type;                                 /* X_Reply */
+    BYTE status;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 pad1 B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+} xGestureGrabEventReply;
+#define sz_xGestureGrabEventReply      32
+
+typedef struct {
+    BYTE type;                                 /* X_Reply */
+    BYTE status;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD32 pad1 B32;
+    CARD32 pad2 B32;
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+} xGestureUngrabEventReply;
+#define sz_xGestureUngrabEventReply    32
+
+typedef struct {
+    BYTE type;                                 /* X_Reply */
+    BOOL pad1;
+    CARD16 sequenceNumber B16;
+    CARD32 length B32;
+    CARD16 majorVersion B16;   /* major version of Gesture extension protocol */
+    CARD16 minorVersion B16;   /* minor version of Gesture extension protocol */
+    CARD32 patchVersion B32;    /* patch version of Gesture extension protocol */
+    CARD32 pad3 B32;
+    CARD32 pad4 B32;
+    CARD32 pad5 B32;
+    CARD32 pad6 B32;
+} xGestureQueryVersionReply;
+#define sz_xGestureQueryVersionReply   32
+
+//events
+typedef struct _GestureNotifyGroup {
+       BYTE type;                      /* always GestureEventBase + event type */
+       BYTE kind;                      /* subevent type : GestureNotifyGroup */
+       CARD16  sequenceNumber B16;
+       Window window B32;
+       Time time B32;          /* server timestamp when event happened */
+       CARD8 groupid;
+       CARD8 num_group;
+       CARD16 pad1 B16;
+       CARD32 pad2 B32;
+       CARD32 pad3 B32;
+       CARD32 pad4 B32;
+       CARD32 pad5 B32;
+} xGestureNotifyGroupEvent;
+#define sz_xGestureNotifyGroupEvent    32
+
+typedef struct _GestureNotifyFlick {
+       BYTE type;                      /* always GestureEventBase + event type */
+       BYTE kind;                      /* subevent type : GestureNotifyFlick */
+       CARD16 sequenceNumber B16;
+       Window window B32;
+       Time time B32;          /* server timestamp when event happened */
+       CARD8 num_finger;
+       CARD8 direction;                /* 8 way direction (0 ~ 7) */
+       CARD16 distance B16;    /* distance between first point and last point (pixel) */
+       Time duration B32;      /* time difference between press and release (ms) */
+       Fixed angle B32;                /* angel difference between horizontal line and flick line (radian) */
+       CARD32 pad1 B32;
+       CARD32 pad2 B32;
+} xGestureNotifyFlickEvent;
+#define sz_xGestureNotifyFlickEvent    32
+
+typedef struct _GestureNotifyPan {
+       BYTE type;                      /* always GestureEventBase + event type */
+       BYTE kind;                      /* subevent type : GestureNotifyPan */
+       CARD16  sequenceNumber B16;
+       Window window B32;
+       Time time B32;          /* server timestamp when event happened */
+       CARD8 num_finger;
+       CARD8 direction;                /* 8 way direction (0 ~ 7) */
+       CARD16 distance B16;    /* distance between first point and last point (pixel)*/
+       Time duration B32;      /* time difference between press and release (ms) */
+       CARD16 dx B16;          /* x coordinate delta */
+       CARD16 dy B16;          /* y coordinate delta */
+       CARD32 pad1 B32;
+       CARD32 pad2 B32;
+} xGestureNotifyPanEvent;
+#define sz_xGestureNotifyPanEvent      32
+
+typedef struct _GestureNotifyPinchRotation {
+       BYTE type;                      /* always GestureEventBase + event type */
+       BYTE kind;                      /* subevent type : GestureNotifyPinchRotation */
+       CARD16 sequenceNumber B16;
+       Window window B32;
+       Time time B32;          /* server timestamp when event happened */
+       CARD8 num_finger;
+       CARD8 pad1;
+       CARD16 distance B16;    /* distance from center (pixel) */
+       CARD16 cx B16;          /* center x coordinate */
+       CARD16 cy B16;          /* center y coordinate */
+       Fixed zoom B32;         /* zoom factor (base : 1.0) */
+       Fixed angle B32;                /* angel difference between first line and current line (radian) */
+       CARD32  pad2 B32;
+} xGestureNotifyPinchRotationEvent;
+#define sz_xGestureNotifyPinchRotationEvent    32
+
+typedef struct _GestureNotifyTap {
+       BYTE type;                      /* always GestureEventBase + event type */
+       BYTE kind;                      /* subevent type : GestureNotifyTap */
+       CARD16 sequenceNumber B16;
+       Window window B32;
+       Time time B32;          /* server timestamp when event happened */
+       CARD8 num_finger;
+       CARD8 pad1;
+       CARD16 cx B16;          /* center x coordinate */
+       CARD16 cy B16;          /* center y coordinate */
+       CARD8 tap_repeat;       /* tap repeats such as SINGLE_TAP, DBL_TAP and so on */
+       CARD8 pad2;
+       CARD32 interval;                /* time difference between tap and previous tap (ms) */
+       CARD32 pad3 B32;
+       CARD32 pad4 B32;
+} xGestureNotifyTapEvent;
+#define sz_xGestureNotifyTapEvent      32
+
+typedef struct _GestureNotifyTapNHold {
+       BYTE type;                      /* always GestureEventBase + event type */
+       BYTE kind;                      /* subevent type : GestureNotifyTapNHold */
+       CARD16 sequenceNumber B16;
+       Window window B32;
+       Time time B32;          /* server timestamp when event happened */
+       CARD8 num_finger;
+       CARD8 pad1;
+       CARD16 cx B16;          /* center x coordinate */
+       CARD16 cy B16;          /* center y coordinate */
+       CARD16 pad2 B16;
+       Time interval B32;              /* time difference between tap and hold (ms) */
+       Time holdtime B32;      /* hold time (ms) */
+       CARD32 pad3 B32;
+} xGestureNotifyTapNHoldEvent;
+#define sz_xGestureNotifyTapNHoldEvent 32
+
+typedef struct _GestureNotifyHold {
+       BYTE type;                      /* always GestureEventBase + event type */
+       BYTE kind;                      /* subevent type : GestureNotifyHold */
+       CARD16 sequenceNumber B16;
+       Window window B32;
+       Time time B32;          /* server timestamp when event happened */
+       CARD8 num_finger;
+       CARD8 pad1;
+       CARD16 cx B16;          /* center x coordinate */
+       CARD16 cy B16;          /* center y coordinate */
+       CARD16 pad2 B16;
+       Time holdtime B32;      /* hold time (ms) */
+       CARD32 pad3 B32;
+       CARD32 pad4 B32;
+} xGestureNotifyHoldEvent;
+#define sz_xGestureNotifyHoldEvent     32
+
+union _xGestureCommonEvent {
+       struct {
+               BYTE type;
+               BYTE kind;
+               CARD16  sequenceNumber B16;
+               Window window B32;
+               Time time B32;
+       } any;
+       xGestureNotifyGroupEvent gev;
+       xGestureNotifyFlickEvent fev;
+       xGestureNotifyPanEvent pev;
+       xGestureNotifyPinchRotationEvent pcrev;
+       xGestureNotifyTapEvent tev;
+       xGestureNotifyTapNHoldEvent thev;
+       xGestureNotifyHoldEvent hev;
+};
+
+typedef union _xGestureCommonEvent xGestureCommonEvent;
+
+#endif//_GESTUREPROTO_H_
+
diff --git a/gestureproto.pc.in b/gestureproto.pc.in
new file mode 100644 (file)
index 0000000..6ec1c48
--- /dev/null
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+Name: AppleWMProto
+Description: AppleWM extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/packaging/xorg-x11-proto-gesture.spec b/packaging/xorg-x11-proto-gesture.spec
new file mode 100644 (file)
index 0000000..af8f279
--- /dev/null
@@ -0,0 +1,54 @@
+Name:     xorg-x11-proto-gesture
+Summary:  X.Org X11 Protocol gestureproto
+Version:  0.1.0
+Release:  3
+Group:    Development/System
+License:  MIT
+URL:      http://www.x.org
+Source0:  %{name}-%{version}.tar.gz
+Provides: gestureproto
+
+BuildRoot:  %{_tmppath}/%{name}-%{version}-build
+
+BuildRequires: pkgconfig
+BuildRequires:  pkgconfig(xorg-macros)
+
+%description
+Description: %{summary}
+This package provides development headers describing the wire protocol
+for the Gesture extension, used to control all manner of options related
+to gesture event handling.
+
+More information about X.Org can be found at:
+<URL:http://www.X.org>
+<URL:http://xorg.freedesktop.org>
+<URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
+
+This package is built from the X.org gestureproto proto module.
+
+%prep
+%setup -q
+
+%build
+
+./autogen.sh
+%reconfigure --disable-static \
+             --libdir=%{_datadir} \
+             --without-xmlto
+
+# Call make instruction with smp support
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+%remove_docs
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%{_includedir}/X11/extensions/*.h
+%{_datadir}/pkgconfig/*.pc