From fe249f8c5dcce33666447d74d886d6474c676a8d Mon Sep 17 00:00:00 2001 From: "Maxin B. John" Date: Fri, 16 Sep 2016 14:19:16 +0300 Subject: xtscal: move recipe from oe-core Move xtscal recipe from oe-core layer. Signed-off-by: Maxin B. John Signed-off-by: Martin Jansa --- .../xtscal/xtscal/30xTs_Calibrate.sh | 13 + .../xtscal/xtscal/change-cross.patch | 18 + .../recipes-graphics/xtscal/xtscal/cleanup.patch | 621 +++++++++++++++++++++ .../xtscal/dso_linking_change_build_fix.patch | 27 + meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb | 33 ++ 5 files changed, 712 insertions(+) create mode 100644 meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh create mode 100644 meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch create mode 100644 meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch create mode 100644 meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch create mode 100644 meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh b/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh new file mode 100644 index 0000000000..fa43617bd2 --- /dev/null +++ b/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +. /etc/formfactor/config + +if [ "$HAVE_TOUCHSCREEN" = "1" ]; then + n=1 + while [ ! -z $TSLIB_TSDEVICE ] && [ ! -f /etc/pointercal ] && [ $n -le 5 ] + do + /usr/bin/xtscal + sleep 1 + n=$(($n+1)) + done +fi diff --git a/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch b/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch new file mode 100644 index 0000000000..1da7717869 --- /dev/null +++ b/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch @@ -0,0 +1,18 @@ +Upstream-Status: Pending + +--- tmp/main.c.orig 2007-01-02 15:39:54.000000000 +0000 ++++ tmp/main.c 2007-01-02 15:39:54.000000000 +0000 +@@ -131,9 +131,10 @@ + { + XRenderFillRectangles (dpy, PictOpSrc, pict, &rect_color, rectangles, 2); + +- XFillArc (dpy, crosshair_w, crosshair_gc, (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1, +- (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1, +- WIDTH + 1, WIDTH + 1, 0, 360 * 64); ++ XFillRectangle (dpy, crosshair_w, crosshair_gc, ++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2), ++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2), ++ WIDTH, WIDTH); + } + + void diff --git a/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch b/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch new file mode 100644 index 0000000000..f7b0854c34 --- /dev/null +++ b/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch @@ -0,0 +1,621 @@ +--- + Makefile.am | 9 -- + configure.ac | 3 + gpe-dist.am | 12 --- + h3600_ts.h | 216 ----------------------------------------------------------- + main.c | 210 ++------------------------------------------------------- + xtscal.in | 19 ----- + 6 files changed, 14 insertions(+), 455 deletions(-) + +Upstream-Status: Pending + +Index: xtscal-0.6.3/xtscal.in +=================================================================== +--- xtscal-0.6.3.orig/xtscal.in 2004-09-10 20:10:36.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,19 +0,0 @@ +-#!/bin/sh +- +-module_id() { +- # Get model name +- echo `grep "^Hardware" /proc/cpuinfo | sed -e "s/.*: *//" | tr a-z A-Z` +-} +- +-case `module_id` in +- "HP IPAQ H3100" | "HP IPAQ H3800" ) +- ARGS="-rotate 90" ;; +- "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE) +- ARGS="-rotate 270" ;; +- # H2200: works without rotation +-esac +- +-# the things we do for autoconf +-prefix=@prefix@ +-exec_prefix=@exec_prefix@ +-exec @libexecdir@/xtscal.bin $ARGS $* +Index: xtscal-0.6.3/main.c +=================================================================== +--- xtscal-0.6.3.orig/main.c 2007-07-01 01:12:52.000000000 +0100 ++++ xtscal-0.6.3/main.c 2007-07-01 01:12:55.000000000 +0100 +@@ -22,12 +22,10 @@ + #include + + #include +-#include + #include + #include + #include + +-#include "h3600_ts.h" + #include "calibrate.h" + + Display *dpy; +@@ -45,15 +43,11 @@ XftColor xftcol; + XftDraw *xftdraw; + XftFont *xftfont; + int screen_x, screen_y; +-int ts_fd; + int samples; + Pixmap bg_pixmap; + int flag_debug; +-int rotation = 0; + int error_base, event_base; + +-int using_xcalibrate; +- + int moving; + + #define CROSSHAIR_SIZE 25 +@@ -63,7 +57,6 @@ int moving; + #define ENOUGH 5 + #define MAX_SAMPLES 40 + +-#define RAW_DEVICE "/dev/h3600_tsraw" + #define FONTNAME "sans-10" + + struct point +@@ -287,12 +280,8 @@ sort_by_y (const void* a, const void *b) + void + set_calibration (calibration *cal) + { +- TS_CAL tc; +- int xtrans, ytrans, xscale, yscale, xyscale, yxscale; + calibration ocal = *cal; + +- if (using_xcalibrate) +- { + FILE *fp; + if (flag_debug) + printf ("constants are: %d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]); +@@ -304,29 +293,6 @@ set_calibration (calibration *cal) + } + fprintf (fp, "%d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]); + fclose (fp); +- return; +- } +- +- xtrans = cal->a[0] / cal->a[6]; +- ytrans = cal->a[3] / cal->a[6]; +- xscale = cal->a[1] * 256 / cal->a[6]; +- yscale = cal->a[5] * 256 / cal->a[6]; +- xyscale = cal->a[2] * 256 / cal->a[6]; +- yxscale = cal->a[4] * 256 / cal->a[6]; +- +- tc.xtrans = xtrans; +- tc.ytrans = ytrans; +- tc.xscale = xscale; +- tc.yscale = yscale; +- tc.xyswap = 0; +- +- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap); +- +- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_SET_CAL"); +- exit (1); +- } + } + + void +@@ -398,80 +364,13 @@ handle_ts_event (int x, int y, int press + } + + void +-read_ts (void) +-{ +- TS_EVENT ts_ev; +- int r; +- +- r = read (ts_fd, &ts_ev, sizeof (ts_ev)); +- if (r == sizeof (ts_ev)) +- handle_ts_event (ts_ev.x, ts_ev.y, ts_ev.pressure); +-} +- +-void +-do_cal (char **args) +-{ +- TS_CAL tc; +- +- tc.xscale = atoi (args[0]); +- tc.xtrans = atoi (args[1]); +- tc.yscale = atoi (args[2]); +- tc.ytrans = atoi (args[3]); +- tc.xyswap = atoi (args[4]); +- +- if (flag_debug) +- fprintf (stderr, "setting: %d %d %d %d %d\n", +- tc.xtrans, tc.ytrans, tc.xscale, tc.yscale, tc.xyswap); +- +- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_SET_CAL"); +- exit (1); +- } +- +- exit (0); +-} +- +-void +-show_cal (void) +-{ +- TS_CAL tc; +- +- if (ioctl (ts_fd, TS_GET_CAL, (void *)&tc) != 0) +- { +- perror ("TS_GET_CAL"); +- exit (1); +- } +- +- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap); +-} +- +-void + usage (const char *name) + { +- fprintf (stderr, "usage: %s -view\n", name); +- fprintf (stderr, " %s [-rotate <0 | 90 | 180 | 270>]\n", name); +- fprintf (stderr, " %s -cal \n", name); +- ++ fprintf (stderr, "usage: %s [-debug]\n", name); + exit (1); + } + + int +-xrr_supported (void) +-{ +- int xrr_event_base, xrr_error_base; +- int xrr_major, xrr_minor; +- +- if (XRRQueryExtension (dpy, &xrr_event_base, &xrr_error_base) == False +- || XRRQueryVersion (dpy, &xrr_major, &xrr_minor) == 0 +- || xrr_major != 1 +- || xrr_minor < 1) +- return 0; +- +- return 1; +-} +- +-int + main (int argc, char *argv[]) + { + XSetWindowAttributes attributes; +@@ -480,31 +379,11 @@ main (int argc, char *argv[]) + int max_fd; + GC bg_gc; + int i; +- int have_xrandr; + + for (i = 1; i < argc; i++) + { +- if (!strcmp (argv[i], "-view")) +- { +- show_cal (); +- exit (0); +- } +- else if (!strcmp (argv[i], "-debug")) ++ if (!strcmp (argv[i], "-debug")) + flag_debug = 1; +- else if (!strcmp (argv[i], "-cal")) +- { +- if (argc > (i + 5)) +- do_cal (argv + i + 1); +- else +- usage (argv[0]); +- } +- else if (!strcmp (argv[i], "-rotate")) +- { +- if (argc > (i + 1)) +- rotation = atoi (argv[++i]); +- else +- usage (argv[0]); +- } + else + usage (argv[0]); + } +@@ -531,48 +410,11 @@ main (int argc, char *argv[]) + fprintf (stderr, "failed to set raw mode: error %d\n", r); + exit (1); + } +- +- using_xcalibrate = 1; +- } +- +- have_xrandr = xrr_supported (); +- if (have_xrandr) +- { +- XRRScreenConfiguration *rr_screen; +- Rotation current_rotation; +- +- if (flag_debug) +- fprintf (stderr, "XRANDR is supported\n"); +- +- rr_screen = XRRGetScreenInfo (dpy, RootWindow (dpy, screen)); +- +- XRRRotations (dpy, screen, ¤t_rotation); +- +- XRRFreeScreenConfigInfo (rr_screen); +- +- if (flag_debug) +- fprintf (stderr, "Current RANDR rotation is %d\n", current_rotation); +- +- switch (current_rotation) +- { +- case RR_Rotate_270: +- rotation += 90; +- case RR_Rotate_180: +- rotation += 90; +- case RR_Rotate_90: +- rotation += 90; +- rotation %= 360; +- case RR_Rotate_0: +- break; +- default: +- fprintf (stderr, "Unknown RANDR rotation: %d\n", current_rotation); +- break; +- } + } + else + { +- if (flag_debug) +- fprintf (stderr, "XRANDR not supported\n"); ++ perror ("XCALIBRATE extension missing"); ++ exit (1); + } + + attributes.override_redirect = flag_debug ? False : True; +@@ -666,45 +508,17 @@ main (int argc, char *argv[]) + + for (i = 0; i < NR_POINTS; i++) + { +- switch (rotation) +- { +- case 0: +- cal.xfb[i] = cal.xscr[i]; +- cal.yfb[i] = cal.yscr[i]; +- break; +- case 90: +- cal.xfb[i] = cal.yscr[i]; +- cal.yfb[i] = screen_x - cal.xscr[i]; +- break; +- case 180: +- cal.xfb[i] = screen_x - cal.xscr[i]; +- cal.yfb[i] = screen_y - cal.yscr[i]; +- break; +- case 270: +- cal.xfb[i] = screen_y - cal.yscr[i]; +- cal.yfb[i] = cal.xscr[i]; +- break; +- } ++ cal.xfb[i] = cal.xscr[i]; ++ cal.yfb[i] = cal.yscr[i]; ++ XCalibrateScreenToCoord (dpy, &cal.xfb[i], &cal.yfb[i]); + + if (flag_debug) +- printf ("rotation %d: (%d,%d) -> (%d,%d)\n", rotation, ++ printf ("rotation conversion: (%d,%d) -> (%d,%d)\n", + cal.xscr[i], cal.yscr[i], cal.xfb[i], cal.yfb[i]); + } + + next_event (); + +- if (!using_xcalibrate) +- { +- ts_fd = open (RAW_DEVICE, O_RDONLY); +- if (ts_fd < 0) +- { +- perror (RAW_DEVICE); +- exit (1); +- } +- } +- +- max_fd = (xfd > ts_fd) ? xfd : ts_fd; +- + for (;;) + { + fd_set fds; +@@ -713,12 +527,8 @@ main (int argc, char *argv[]) + + FD_ZERO (&fds); + FD_SET (xfd, &fds); +- if (ts_fd != -1) +- FD_SET (ts_fd, &fds); + +- select (max_fd + 1, &fds, NULL, NULL, NULL); +- +- if (ts_fd != -1 && FD_ISSET (ts_fd, &fds)) +- read_ts (); ++ select (xfd + 1, &fds, NULL, NULL, NULL); + } + } ++ +Index: xtscal-0.6.3/configure.ac +=================================================================== +--- xtscal-0.6.3.orig/configure.ac 2004-09-10 20:11:12.000000000 +0100 ++++ xtscal-0.6.3/configure.ac 2007-07-01 01:12:55.000000000 +0100 +@@ -9,8 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) + # Checks for programs. + AC_PROG_CC + +-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xrandr xcalibrate) ++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate) + + AC_CONFIG_FILES([Makefile]) +-AC_CONFIG_FILES([xtscal]) + AC_OUTPUT +Index: xtscal-0.6.3/gpe-dist.am +=================================================================== +--- xtscal-0.6.3.orig/gpe-dist.am 2004-06-02 23:07:13.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,12 +0,0 @@ +-CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) +- +-dist-upload: dist +- scp $(PACKAGE)-$(VERSION).tar.bz2 $(USER)@handhelds.org:/home/ftp/pub/projects/gpe/source/ +- +-tag: +- cvs tag $(CVSTAG) +- +-retag: +- cvs tag -F $(CVSTAG) +- +-source: tag dist-upload +Index: xtscal-0.6.3/h3600_ts.h +=================================================================== +--- xtscal-0.6.3.orig/h3600_ts.h 2003-07-05 17:27:10.000000000 +0100 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,216 +0,0 @@ +-/* +-* +-* Driver for the H3600 Touch Screen and other Atmel controlled devices. +-* +-* Copyright 2000 Compaq Computer Corporation. +-* +-* Use consistent with the GNU GPL is permitted, +-* provided that this copyright notice is +-* preserved in its entirety in all copies and derived works. +-* +-* COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED, +-* AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS +-* FITNESS FOR ANY PARTICULAR PURPOSE. +-* +-* Author: Charles Flynn. +-* +-*/ +- +- +-#ifndef __H3600_TS_H__ +-#define __H3600_TS_H__ +- +-#include +- +-enum h3600_ts_minor_devices { +- TS_MINOR = 0, +- TSRAW_MINOR = 1, +- KEY_MINOR = 2 +-}; +- +-typedef struct h3600_ts_calibration { +- int xscale; +- int xtrans; +- int yscale; +- int ytrans; +- int xyswap; +-} TS_CAL; +- +-typedef struct h3600_ts_event { +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +-} TS_EVENT; +- +-/* Deprecated - do not use */ +-typedef struct h3600_ts_return { +- unsigned short pressure; +- unsigned short x; +- unsigned short y; +- unsigned short pad; +-} TS_RET; +- +-enum power_button_mode { +- PBM_SUSPEND = 0, +- PBM_GENERATE_KEYPRESS = 1 +-}; +- +- +-/* ++++++++++++++ +++++++++++++++++++++++++++++++++++++ */ +- +-typedef struct therm_dev { +- short data; +-} THERM_DEV; +- +-#define H3600_BATT_CHEM_ALKALINE 0x01 +-#define H3600_BATT_CHEM_NICD 0x02 +-#define H3600_BATT_CHEM_NIMH 0x03 +-#define H3600_BATT_CHEM_LION 0x04 +-#define H3600_BATT_CHEM_LIPOLY 0x05 +-#define H3600_BATT_CHEM_NOT_INSTALLED 0x06 +-#define H3600_BATT_CHEM_UNKNOWN 0xff +- +-/* These should match the apm_bios.h definitions */ +-#define H3600_AC_STATUS_AC_OFFLINE 0x00 +-#define H3600_AC_STATUS_AC_ONLINE 0x01 +-#define H3600_AC_STATUS_AC_BACKUP 0x02 /* What does this mean? */ +-#define H3600_AC_STATUS_AC_UNKNOWN 0xff +- +-/* These bitfields are rarely "or'd" together */ +-#define H3600_BATT_STATUS_HIGH 0x01 +-#define H3600_BATT_STATUS_LOW 0x02 +-#define H3600_BATT_STATUS_CRITICAL 0x04 +-#define H3600_BATT_STATUS_CHARGING 0x08 +-#define H3600_BATT_STATUS_CHARGE_MAIN 0x10 +-#define H3600_BATT_STATUS_DEAD 0x20 /* Battery will not charge */ +-#define H3600_BATT_NOT_INSTALLED 0x20 /* For expansion pack batteries */ +-#define H3600_BATT_STATUS_FULL 0x40 /* Battery fully charged (and connected to AC) */ +-#define H3600_BATT_STATUS_NOBATT 0x80 +-#define H3600_BATT_STATUS_UNKNOWN 0xff +- +-struct battery_data { +- unsigned char chemistry; +- unsigned char status; +- unsigned short voltage; /* Voltage for battery #0; unknown for battery #1 */ +- unsigned short percentage; /* Percentage of full charge */ +- unsigned short life; /* Life remaining in minutes */ +-}; +- +-struct h3600_battery { +- unsigned char ac_status; +- unsigned char battery_count; /* How many batteries we have */ +- struct battery_data battery[2]; +-}; +- +-/* -------- EEPROM and SPI Interfaces ---------------*/ +- +-#define EEPROM_RD_BUFSIZ 6 /* EEPROM reads are 16 bits */ +-#define EEPROM_WR_BUFSIZ 5 /* Allow room for 8bit 'addr' field in buffer*/ +-#define SPI_RD_BUFSIZ 16 /* SPI reads are 8 bits */ +-#define SPI_WR_BUFSIZ 7 +- +-/* The EEPROM is where internal programs are stored on the Amtel. +- You probably don't want to read or write these values */ +- +-typedef struct h3600_eeprom_read_request { +- unsigned char addr; /* 8bit Address Offset 0-255 */ +- unsigned char len; /* Number of 16bit words to read 0-128 */ +- unsigned short buff[EEPROM_RD_BUFSIZ]; +-} EEPROM_READ; +- +-typedef struct h3600_eeprom_write_request { +- unsigned char len; /* used only to compute the number of bytes to send */ +- unsigned char addr; /* 0-128 */ +- unsigned short buff[EEPROM_WR_BUFSIZ]; +-} EEPROM_WRITE; +- +-/* The SPI bus connects to EEPROMs located on sleeves plugged into +- the iPAQ. You may want to read these values */ +- +-typedef struct h3600_spi_read_request { +- unsigned short addr; /* 16bit Address Offset 0-128 */ +- unsigned char len; /* Number of bytes to read */ +- unsigned char buff[SPI_RD_BUFSIZ]; +-} SPI_READ; +- +-#define SPI_READ_STATUS_BYTE 0xffff /* Use this address to read the status byte */ +- +-typedef struct h3600_spi_write_request { +- unsigned short len; /* used only to compute the number of bytes to send */ +- unsigned short addr; /* this 16bit address accesses a single byte */ +- unsigned char buff[SPI_WR_BUFSIZ]; +-} SPI_WRITE; +- +- +-/* -------- end of EEPROM and SPI Interfaces ---------------*/ +- +-/* User space structures for IOCTL calls */ +- +-typedef struct h3600_ts_version { +- unsigned char host_version[8]; /* ascii "x.yy" */ +- unsigned char pack_version[8]; /* ascii "x.yy" */ +- unsigned char boot_type; /* TODO ?? */ +-} VER_RET; +- +-typedef struct h3600_ts_led { +- unsigned char OffOnBlink; /* 0=off 1=on 2=Blink */ +- unsigned char TotalTime; /* Units of 5 seconds */ +- unsigned char OnTime; /* units of 100m/s */ +- unsigned char OffTime; /* units of 100m/s */ +-} LED_IN; +- +-enum flite_mode { +- FLITE_MODE1 = 1, +- FLITE_AUTO_MODE = 1, /* for reference only */ +- FLITE_MANUAL_MODE = 2, /* Use this normally? */ +- FLITE_GET_LIGHT_SENSOR = 3 /* Returns light reading in "brightness" field */ +-}; +-enum flite_pwr { +- FLITE_PWR_OFF = 0, +- FLITE_PWR_ON = 1 +-}; +- +-typedef struct h3600_ts_flite { +- unsigned char mode; +- unsigned char pwr; +- unsigned char brightness; +-} FLITE_IN; +- +-/*************************** Updated "universal" structures *******************/ +- +-/* Sets backlight for both H3100 and H3600 models - technically "frontlight" for H3600 */ +-struct h3600_ts_backlight { +- enum flite_pwr power; /* 0 = off, 1 = on */ +- unsigned char brightness; /* 0 - 255 */ +-}; +- +-struct h3600_ts_contrast { /* Only useful on H3100 model */ +- unsigned char contrast; /* 0 - 255 */ +-}; +- +-/* IOCTL cmds user or kernel space */ +- +-/* Use 'f' as magic number */ +-#define IOC_H3600_TS_MAGIC 'f' +- +-/* TODO: Some of these IOWR values are just plain wrong */ +-#define GET_VERSION _IOR(IOC_H3600_TS_MAGIC, 1, struct h3600_ts_version ) +-#define READ_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 2, struct h3600_eeprom_read_request) +-#define WRITE_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 3, struct h3600_eeprom_write_request) +-#define GET_THERMAL _IOR(IOC_H3600_TS_MAGIC, 4, struct therm_dev) +-#define LED_ON _IOW(IOC_H3600_TS_MAGIC, 5, struct h3600_ts_led) +-#define GET_BATTERY_STATUS _IOR(IOC_H3600_TS_MAGIC, 6, struct h3600_battery) +-#define FLITE_ON _IOW(IOC_H3600_TS_MAGIC, 7, struct h3600_ts_flite) +-#define READ_SPI _IOWR(IOC_H3600_TS_MAGIC, 8, struct h3600_spi_read_request) +-#define WRITE_SPI _IOWR(IOC_H3600_TS_MAGIC, 9, struct h3600_spi_write_request) +-#define TS_GET_CAL _IOR(IOC_H3600_TS_MAGIC, 10, struct h3600_ts_calibration) +-#define TS_SET_CAL _IOW(IOC_H3600_TS_MAGIC, 11, struct h3600_ts_calibration) +- +-/* New IOCTL interfaces - defined to be more user friendly */ +-#define TS_GET_BACKLIGHT _IOR(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight) +-#define TS_SET_BACKLIGHT _IOW(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight) +-#define TS_GET_CONTRAST _IOR(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast) +-#define TS_SET_CONTRAST _IOW(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast) +- +-#endif +Index: xtscal-0.6.3/Makefile.am +=================================================================== +--- xtscal-0.6.3.orig/Makefile.am 2004-06-02 23:07:13.000000000 +0100 ++++ xtscal-0.6.3/Makefile.am 2007-07-02 12:51:02.000000000 +0100 +@@ -1,11 +1,8 @@ +-libexec_PROGRAMS = xtscal.bin +-bin_SCRIPTS = xtscal ++bin_PROGRAMS = xtscal + +-xtscal_bin_SOURCES = main.c calibrate.c calibrate.h h3600_ts.h ++xtscal_SOURCES = main.c calibrate.c calibrate.h + +-xtscal_bin_LDADD = @XTSCAL_LIBS@ ++xtscal_LDADD = @XTSCAL_LIBS@ + + INCLUDES = @XTSCAL_CFLAGS@ -DNR_POINTS=5 + +-include gpe-dist.am +- diff --git a/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch b/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch new file mode 100644 index 0000000000..3e4533f785 --- /dev/null +++ b/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch @@ -0,0 +1,27 @@ +after gcc linking has changed, all the libraries must be explicitely specified +This patch avoids this linking error: + +| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o xtscal main.o calibrate.o -lX11 -lXft -lXext -lXcalibrate^M +| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^?: invalid DSO for symbol `XRenderChangePicture' definition^M +| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so.1: could not read symbols: Bad value^M +| collect2: ld returned 1 exit status^M +| make: *** [xtscal] Error 1 + +Nitin A Kamble +Date: 2011/01/11 + +Upstream-Status: Pending + +Index: xtscal-0.6.3/configure.ac +=================================================================== +--- xtscal-0.6.3.orig/configure.ac ++++ xtscal-0.6.3/configure.ac +@@ -9,7 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) + # Checks for programs. + AC_PROG_CC + +-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate) ++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate xrender) + + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT diff --git a/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb b/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb new file mode 100644 index 0000000000..4bfddf06b5 --- /dev/null +++ b/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb @@ -0,0 +1,33 @@ +SUMMARY = "Touchscreen calibration utility" + +DESCRIPTION = "Basic touchscreen calibration utility" + +HOMEPAGE = "http://gpe.linuxtogo.org" +BUGTRACKER = "http://bugs.linuxtogo.org" +LICENSE = "GPLv2 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://main.c;endline=10;md5=8721bcb08ae9f24e5fe4c82941873c87" + +SECTION = "x11/base" + +DEPENDS = "virtual/libx11 libxft libxcalibrate" + +PR = "r13" + +SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \ + file://change-cross.patch \ + file://cleanup.patch \ + file://dso_linking_change_build_fix.patch \ + file://30xTs_Calibrate.sh" + +SRC_URI[md5sum] = "9bcab80b474d5454477d1ca166a68c34" +SRC_URI[sha256sum] = "27b9dc2203de9b1706ca39fa6ca80ecab8807909ec901c4a345b8e41178800a1" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +do_install_append() { + install -d ${D}${sysconfdir}/X11/Xsession.d/ + install -m 0755 ${WORKDIR}/30xTs_Calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/ +} -- cgit 1.2.3-korg