diff --git a/aports/main/postmarketos-ui-matchbox/APKBUILD b/aports/main/postmarketos-ui-matchbox/APKBUILD index 220b4582..ac1e21a7 100644 --- a/aports/main/postmarketos-ui-matchbox/APKBUILD +++ b/aports/main/postmarketos-ui-matchbox/APKBUILD @@ -1,11 +1,11 @@ pkgname=postmarketos-ui-matchbox pkgver=1 -pkgrel=0 +pkgrel=1 pkgdesc="(X11) Very basic user interface for handhelds" url="https://matchbox-project.org" arch="noarch" license="GPL-2.0-only" -depends="matchbox-common matchbox-panel matchbox-panel-manager matchbox-desktop matchbox-keyboard matchbox-window-manager mb-applet-input-manager xterm xorg-server dbus-x11 mesa-egl" +depends="matchbox-common matchbox-panel matchbox-desktop matchbox-keyboard matchbox-window-manager xterm xorg-server dbus-x11 mesa-egl" install="$pkgname.post-install" source="start_matchbox.sh" options="!check" diff --git a/aports/matchbox/libmatchbox/APKBUILD b/aports/matchbox/libmatchbox/APKBUILD index 7b6b3b18..fcf05ea2 100644 --- a/aports/matchbox/libmatchbox/APKBUILD +++ b/aports/matchbox/libmatchbox/APKBUILD @@ -2,16 +2,17 @@ # Maintainer: Duncan Guthrie pkgname=libmatchbox pkgver=1.12 -pkgrel=0 +pkgrel=1 pkgdesc="Library for matchbox window manager" url="http://matchbox-project.org" arch="all" license="GPL-2.0-only" -depends="pango glib jpeg libpng libx11 libxext libxft" -makedepends="autoconf automake libtool libx11-dev libxext-dev libxft-dev pango-dev doxygen libjpeg-turbo-dev" -install="" -subpackages="$pkgname-dev" -source="$pkgname-$pkgver.tar.gz::https://git.yoctoproject.org/cgit/cgit.cgi/$pkgname/snapshot/$pkgname-$pkgver.tar.gz" +source="$pkgname-$pkgver.tar.gz::https://git.yoctoproject.org/cgit/cgit.cgi/$pkgname/snapshot/$pkgname-$pkgver.tar.gz + external-xsettings.patch + libmb.pc.in.patch" +depends="pango glib jpeg libpng libx11 libxext libxft libxsettings libxsettings-client" +makedepends="autoconf automake libtool libx11-dev libxext-dev libxft-dev pango-dev doxygen libjpeg-turbo-dev libxsettings-dev libxsettings-client-dev" +subpackages="$pkgname-dev $pkgname-dbg" builddir="$srcdir/$pkgname-$pkgver" build() { @@ -27,9 +28,12 @@ build() { --enable-pango \ --enable-doxygen-docs \ --enable-jpeg \ - --enable-unit-tests + --enable-unit-tests \ + --enable-debug \ + LIBS="-lXsettings-client -lX11" make } + check() { cd "$builddir" make check @@ -39,4 +43,7 @@ package() { cd "$builddir" make DESTDIR="$pkgdir" install } -sha512sums="28392757960a41272e3ac32b8698549be6ee923a79f17a3b648abd59efcf5bda3eaa6de18337e1920a5ca602d7c8f3031c5418a4ce44d6c39376c70aeb49267a libmatchbox-1.12.tar.gz" + +sha512sums="28392757960a41272e3ac32b8698549be6ee923a79f17a3b648abd59efcf5bda3eaa6de18337e1920a5ca602d7c8f3031c5418a4ce44d6c39376c70aeb49267a libmatchbox-1.12.tar.gz +d13c3cea22bdb99ea14ec39bad0eac48278cec4d5b013e97dfff7c431160d31bd6b0e048f72816fbc367b232c0f2b7da7ef747058b8e373514831199d0a34103 external-xsettings.patch +c548b4bc8ff9a596233d46b72b7c4fc8cd942f93f34edf521175ff38423772952d1a1bf4218f2d6319cc912a86908f233b2d7e40c6878db378f52f5557309501 libmb.pc.in.patch" diff --git a/aports/matchbox/libmatchbox/external-xsettings.patch b/aports/matchbox/libmatchbox/external-xsettings.patch new file mode 100644 index 00000000..b2d0ce50 --- /dev/null +++ b/aports/matchbox/libmatchbox/external-xsettings.patch @@ -0,0 +1,1084 @@ +diff -Naur a/libmb/Makefile.am b/libmb/Makefile.am +--- a/libmb/Makefile.am 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb/Makefile.am 2018-05-06 19:35:23.253712501 +0100 +@@ -6,8 +6,6 @@ + mbutil.h \ + mbexp.h \ + mbconfig.h \ +- xsettings-client.h \ +- xsettings-common.h \ + hash.h + + source_c = mbmenu.c \ +@@ -16,8 +14,6 @@ + mbpixbuf.c \ + mbutil.c \ + mbexp.c \ +- xsettings-client.c \ +- xsettings-common.c \ + hash.c + + DATADIR=$(datadir) +diff -Naur a/libmb/mbmenu.h b/libmb/mbmenu.h +--- a/libmb/mbmenu.h 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb/mbmenu.h 2018-05-06 19:36:55.929043486 +0100 +@@ -42,7 +42,7 @@ + #include + #include + +-#include ++#include + #include + #include + +diff -Naur a/libmb/mbtray.c b/libmb/mbtray.c +--- a/libmb/mbtray.c 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb/mbtray.c 2018-05-06 19:38:03.306275142 +0100 +@@ -35,7 +35,7 @@ + #endif + + #include "mbtray.h" +-#include "xsettings-client.h" ++#include + + #include + +diff -Naur a/libmb/xsettings-client.c b/libmb/xsettings-client.c +--- a/libmb/xsettings-client.c 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb/xsettings-client.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,577 +0,0 @@ +-/* +- * Copyright © 2001 Red Hat, Inc. +- * +- * 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. +- * +- * Author: Owen Taylor, Red Hat, Inc. +- */ +-#include +-#include +-#include +-#include +- +-#include +-#include /* For CARD16 */ +- +-#include "xsettings-client.h" +- +-struct _XSettingsClient +-{ +- Display *display; +- int screen; +- XSettingsNotifyFunc notify; +- XSettingsWatchFunc watch; +- void *cb_data; +- +- XSettingsGrabFunc grab; +- XSettingsGrabFunc ungrab; +- +- Window manager_window; +- Atom manager_atom; +- Atom selection_atom; +- Atom xsettings_atom; +- +- XSettingsList *settings; +-}; +- +-static void +-notify_changes (XSettingsClient *client, +- XSettingsList *old_list) +-{ +- XSettingsList *old_iter = old_list; +- XSettingsList *new_iter = client->settings; +- +- if (!client->notify) +- return; +- +- while (old_iter || new_iter) +- { +- int cmp; +- +- if (old_iter && new_iter) +- cmp = strcmp (old_iter->setting->name, new_iter->setting->name); +- else if (old_iter) +- cmp = -1; +- else +- cmp = 1; +- +- if (cmp < 0) +- { +- client->notify (old_iter->setting->name, +- XSETTINGS_ACTION_DELETED, +- NULL, +- client->cb_data); +- } +- else if (cmp == 0) +- { +- if (!xsettings_setting_equal (old_iter->setting, +- new_iter->setting)) +- client->notify (old_iter->setting->name, +- XSETTINGS_ACTION_CHANGED, +- new_iter->setting, +- client->cb_data); +- } +- else +- { +- client->notify (new_iter->setting->name, +- XSETTINGS_ACTION_NEW, +- new_iter->setting, +- client->cb_data); +- } +- +- if (old_iter) +- old_iter = old_iter->next; +- if (new_iter) +- new_iter = new_iter->next; +- } +-} +- +-static int +-ignore_errors (Display *display, XErrorEvent *event) +-{ +- return True; +-} +- +-static char local_byte_order = '\0'; +- +-#define BYTES_LEFT(buffer) ((buffer)->data + (buffer)->len - (buffer)->pos) +- +-static XSettingsResult +-fetch_card16 (XSettingsBuffer *buffer, +- CARD16 *result) +-{ +- CARD16 x; +- +- if (BYTES_LEFT (buffer) < 2) +- return XSETTINGS_ACCESS; +- +- x = *(CARD16 *)buffer->pos; +- buffer->pos += 2; +- +- if (buffer->byte_order == local_byte_order) +- *result = x; +- else +- *result = (x << 8) | (x >> 8); +- +- return XSETTINGS_SUCCESS; +-} +- +-static XSettingsResult +-fetch_ushort (XSettingsBuffer *buffer, +- unsigned short *result) +-{ +- CARD16 x; +- XSettingsResult r; +- +- r = fetch_card16 (buffer, &x); +- if (r == XSETTINGS_SUCCESS) +- *result = x; +- +- return r; +-} +- +-static XSettingsResult +-fetch_card32 (XSettingsBuffer *buffer, +- CARD32 *result) +-{ +- CARD32 x; +- +- if (BYTES_LEFT (buffer) < 4) +- return XSETTINGS_ACCESS; +- +- x = *(CARD32 *)buffer->pos; +- buffer->pos += 4; +- +- if (buffer->byte_order == local_byte_order) +- *result = x; +- else +- *result = (x << 24) | ((x & 0xff00) << 8) | ((x & 0xff0000) >> 8) | (x >> 24); +- +- return XSETTINGS_SUCCESS; +-} +- +-static XSettingsResult +-fetch_card8 (XSettingsBuffer *buffer, +- CARD8 *result) +-{ +- if (BYTES_LEFT (buffer) < 1) +- return XSETTINGS_ACCESS; +- +- *result = *(CARD8 *)buffer->pos; +- buffer->pos += 1; +- +- return XSETTINGS_SUCCESS; +-} +- +-#define XSETTINGS_PAD(n,m) ((n + m - 1) & (~(m-1))) +- +-static XSettingsList * +-parse_settings (unsigned char *data, +- size_t len) +-{ +- XSettingsBuffer buffer; +- XSettingsResult result = XSETTINGS_SUCCESS; +- XSettingsList *settings = NULL; +- CARD32 serial; +- CARD32 n_entries; +- CARD32 i; +- XSettingsSetting *setting = NULL; +- +- local_byte_order = xsettings_byte_order (); +- +- buffer.pos = buffer.data = data; +- buffer.len = len; +- +- result = fetch_card8 (&buffer, (char *)&buffer.byte_order); +- if (buffer.byte_order != MSBFirst && +- buffer.byte_order != LSBFirst) +- { +- fprintf (stderr, "Invalid byte order in XSETTINGS property\n"); +- result = XSETTINGS_FAILED; +- goto out; +- } +- +- buffer.pos += 3; +- +- result = fetch_card32 (&buffer, &serial); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- result = fetch_card32 (&buffer, &n_entries); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- for (i = 0; i < n_entries; i++) +- { +- CARD8 type; +- CARD16 name_len; +- CARD32 v_int; +- size_t pad_len; +- +- result = fetch_card8 (&buffer, &type); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- buffer.pos += 1; +- +- result = fetch_card16 (&buffer, &name_len); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- pad_len = XSETTINGS_PAD(name_len, 4); +- if (BYTES_LEFT (&buffer) < pad_len) +- { +- result = XSETTINGS_ACCESS; +- goto out; +- } +- +- setting = malloc (sizeof *setting); +- if (!setting) +- { +- result = XSETTINGS_NO_MEM; +- goto out; +- } +- setting->type = XSETTINGS_TYPE_INT; /* No allocated memory */ +- +- setting->name = malloc (name_len + 1); +- if (!setting->name) +- { +- result = XSETTINGS_NO_MEM; +- goto out; +- } +- +- memcpy (setting->name, buffer.pos, name_len); +- setting->name[name_len] = '\0'; +- buffer.pos += pad_len; +- +- result = fetch_card32 (&buffer, &v_int); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- setting->last_change_serial = v_int; +- +- switch (type) +- { +- case XSETTINGS_TYPE_INT: +- result = fetch_card32 (&buffer, &v_int); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- setting->data.v_int = (INT32)v_int; +- break; +- case XSETTINGS_TYPE_STRING: +- result = fetch_card32 (&buffer, &v_int); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- pad_len = XSETTINGS_PAD (v_int, 4); +- if (v_int + 1 == 0 || /* Guard against wrap-around */ +- BYTES_LEFT (&buffer) < pad_len) +- { +- result = XSETTINGS_ACCESS; +- goto out; +- } +- +- setting->data.v_string = malloc (v_int + 1); +- if (!setting->data.v_string) +- { +- result = XSETTINGS_NO_MEM; +- goto out; +- } +- +- memcpy (setting->data.v_string, buffer.pos, v_int); +- setting->data.v_string[v_int] = '\0'; +- buffer.pos += pad_len; +- +- break; +- case XSETTINGS_TYPE_COLOR: +- result = fetch_ushort (&buffer, &setting->data.v_color.red); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- result = fetch_ushort (&buffer, &setting->data.v_color.green); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- result = fetch_ushort (&buffer, &setting->data.v_color.blue); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- result = fetch_ushort (&buffer, &setting->data.v_color.alpha); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- break; +- default: +- /* Quietly ignore unknown types */ +- break; +- } +- +- setting->type = type; +- +- result = xsettings_list_insert (&settings, setting); +- if (result != XSETTINGS_SUCCESS) +- goto out; +- +- setting = NULL; +- } +- +- out: +- +- if (result != XSETTINGS_SUCCESS) +- { +- switch (result) +- { +- case XSETTINGS_NO_MEM: +- fprintf(stderr, "Out of memory reading XSETTINGS property\n"); +- break; +- case XSETTINGS_ACCESS: +- fprintf(stderr, "Invalid XSETTINGS property (read off end)\n"); +- break; +- case XSETTINGS_DUPLICATE_ENTRY: +- fprintf (stderr, "Duplicate XSETTINGS entry for '%s'\n", setting->name); +- case XSETTINGS_FAILED: +- case XSETTINGS_SUCCESS: +- case XSETTINGS_NO_ENTRY: +- break; +- } +- +- if (setting) +- xsettings_setting_free (setting); +- +- xsettings_list_free (settings); +- settings = NULL; +- +- } +- +- return settings; +-} +- +-static void +-read_settings (XSettingsClient *client) +-{ +- Atom type; +- int format; +- unsigned long n_items; +- unsigned long bytes_after; +- unsigned char *data; +- int result; +- +- int (*old_handler) (Display *, XErrorEvent *); +- +- XSettingsList *old_list = client->settings; +- +- client->settings = NULL; +- +- if (client->manager_window) +- { +- old_handler = XSetErrorHandler (ignore_errors); +- result = XGetWindowProperty (client->display, client->manager_window, +- client->xsettings_atom, 0, LONG_MAX, +- False, client->xsettings_atom, +- &type, &format, &n_items, &bytes_after, &data); +- XSetErrorHandler (old_handler); +- +- if (result == Success && type != None) +- { +- if (type != client->xsettings_atom) +- { +- fprintf (stderr, "Invalid type for XSETTINGS property"); +- } +- else if (format != 8) +- { +- fprintf (stderr, "Invalid format for XSETTINGS property %d", format); +- } +- else +- client->settings = parse_settings (data, n_items); +- +- XFree (data); +- } +- } +- +- notify_changes (client, old_list); +- xsettings_list_free (old_list); +-} +- +-static void +-add_events (Display *display, +- Window window, +- long mask) +-{ +- XWindowAttributes attr; +- +- XGetWindowAttributes (display, window, &attr); +- XSelectInput (display, window, attr.your_event_mask | mask); +-} +- +-static void +-check_manager_window (XSettingsClient *client) +-{ +- if (client->manager_window && client->watch) +- client->watch (client->manager_window, False, 0, client->cb_data); +- +- if (client->grab) +- client->grab (client->display); +- else +- XGrabServer (client->display); +- +- client->manager_window = XGetSelectionOwner (client->display, +- client->selection_atom); +- if (client->manager_window) +- XSelectInput (client->display, client->manager_window, +- PropertyChangeMask | StructureNotifyMask); +- +- if (client->ungrab) +- client->ungrab (client->display); +- else +- XUngrabServer (client->display); +- +- XFlush (client->display); +- +- if (client->manager_window && client->watch) +- client->watch (client->manager_window, True, +- PropertyChangeMask | StructureNotifyMask, +- client->cb_data); +- +- read_settings (client); +-} +- +-XSettingsClient * +-xsettings_client_new (Display *display, +- int screen, +- XSettingsNotifyFunc notify, +- XSettingsWatchFunc watch, +- void *cb_data) +-{ +- XSettingsClient *client; +- char buffer[256]; +- char *atom_names[3]; +- Atom atoms[3]; +- +- client = malloc (sizeof *client); +- if (!client) +- return NULL; +- +- client->display = display; +- client->screen = screen; +- client->notify = notify; +- client->watch = watch; +- client->cb_data = cb_data; +- client->grab = NULL; +- client->ungrab = NULL; +- +- client->manager_window = None; +- client->settings = NULL; +- +- sprintf(buffer, "_XSETTINGS_S%d", screen); +- atom_names[0] = buffer; +- atom_names[1] = "_XSETTINGS_SETTINGS"; +- atom_names[2] = "MANAGER"; +- +- XInternAtoms (display, atom_names, 3, False, atoms); +- +- client->selection_atom = atoms[0]; +- client->xsettings_atom = atoms[1]; +- client->manager_atom = atoms[2]; +- +- /* Select on StructureNotify so we get MANAGER events +- */ +- add_events (display, RootWindow (display, screen), StructureNotifyMask); +- +- if (client->watch) +- client->watch (RootWindow (display, screen), True, StructureNotifyMask, +- client->cb_data); +- +- check_manager_window (client); +- +- return client; +-} +- +-void +-xsettings_client_set_grab_func (XSettingsClient *client, +- XSettingsGrabFunc grab) +-{ +- client->grab = grab; +-} +- +-void +-xsettings_client_set_ungrab_func (XSettingsClient *client, +- XSettingsGrabFunc ungrab) +-{ +- client->ungrab = ungrab; +-} +- +-void +-xsettings_client_destroy (XSettingsClient *client) +-{ +- if (client->watch) +- client->watch (RootWindow (client->display, client->screen), +- False, 0, client->cb_data); +- if (client->manager_window && client->watch) +- client->watch (client->manager_window, False, 0, client->cb_data); +- +- xsettings_list_free (client->settings); +- free (client); +-} +- +-XSettingsResult +-xsettings_client_get_setting (XSettingsClient *client, +- const char *name, +- XSettingsSetting **setting) +-{ +- XSettingsSetting *search = xsettings_list_lookup (client->settings, name); +- if (search) +- { +- *setting = xsettings_setting_copy (search); +- return *setting ? XSETTINGS_SUCCESS : XSETTINGS_NO_MEM; +- } +- else +- return XSETTINGS_NO_ENTRY; +-} +- +-Bool +-xsettings_client_process_event (XSettingsClient *client, +- XEvent *xev) +-{ +- /* The checks here will not unlikely cause us to reread +- * the properties from the manager window a number of +- * times when the manager changes from A->B. But manager changes +- * are going to be pretty rare. +- */ +- if (xev->xany.window == RootWindow (client->display, client->screen)) +- { +- if (xev->xany.type == ClientMessage && +- xev->xclient.message_type == client->manager_atom && +- xev->xclient.data.l[1] == client->selection_atom) +- { +- check_manager_window (client); +- return True; +- } +- } +- else if (xev->xany.window == client->manager_window) +- { +- if (xev->xany.type == DestroyNotify) +- { +- check_manager_window (client); +- return True; +- } +- else if (xev->xany.type == PropertyNotify) +- { +- read_settings (client); +- return True; +- } +- } +- +- return False; +-} +diff -Naur a/libmb/xsettings-client.h b/libmb/xsettings-client.h +--- a/libmb/xsettings-client.h 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb/xsettings-client.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,72 +0,0 @@ +-/* +- * Copyright © 2001 Red Hat, Inc. +- * +- * 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. +- * +- * Author: Owen Taylor, Red Hat, Inc. +- */ +-#ifndef XSETTINGS_CLIENT_H +-#define XSETTINGS_CLIENT_H +- +-#include +-#include "xsettings-common.h" +- +-#ifdef __cplusplus +-extern "C" { +-#endif /* __cplusplus */ +- +-typedef struct _XSettingsClient XSettingsClient; +- +-typedef enum +-{ +- XSETTINGS_ACTION_NEW, +- XSETTINGS_ACTION_CHANGED, +- XSETTINGS_ACTION_DELETED +-} XSettingsAction; +- +-typedef void (*XSettingsNotifyFunc) (const char *name, +- XSettingsAction action, +- XSettingsSetting *setting, +- void *cb_data); +-typedef void (*XSettingsWatchFunc) (Window window, +- Bool is_start, +- long mask, +- void *cb_data); +-typedef void (*XSettingsGrabFunc) (Display *display); +- +-XSettingsClient *xsettings_client_new (Display *display, +- int screen, +- XSettingsNotifyFunc notify, +- XSettingsWatchFunc watch, +- void *cb_data); +-void xsettings_client_set_grab_func (XSettingsClient *client, +- XSettingsGrabFunc grab); +-void xsettings_client_set_ungrab_func (XSettingsClient *client, +- XSettingsGrabFunc ungrab); +-void xsettings_client_destroy (XSettingsClient *client); +-Bool xsettings_client_process_event (XSettingsClient *client, +- XEvent *xev); +-XSettingsResult xsettings_client_get_setting (XSettingsClient *client, +- const char *name, +- XSettingsSetting **setting); +- +-#ifdef __cplusplus +-} +-#endif /* __cplusplus */ +- +-#endif /* XSETTINGS_CLIENT_H */ +diff -Naur a/libmb/xsettings-common.c b/libmb/xsettings-common.c +--- a/libmb/xsettings-common.c 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb/xsettings-common.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,264 +0,0 @@ +-/* +- * Copyright © 2001 Red Hat, Inc. +- * +- * 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. +- * +- * Author: Owen Taylor, Red Hat, Inc. +- */ +-#include "string.h" +-#include "stdlib.h" +- +-#include +-#include /* For CARD32 */ +- +-#include "xsettings-common.h" +- +-XSettingsSetting * +-xsettings_setting_copy (XSettingsSetting *setting) +-{ +- XSettingsSetting *result; +- size_t str_len; +- +- result = malloc (sizeof *result); +- if (!result) +- return NULL; +- +- str_len = strlen (setting->name); +- result->name = malloc (str_len + 1); +- if (!result->name) +- goto err; +- +- memcpy (result->name, setting->name, str_len + 1); +- +- result->type = setting->type; +- +- switch (setting->type) +- { +- case XSETTINGS_TYPE_INT: +- result->data.v_int = setting->data.v_int; +- break; +- case XSETTINGS_TYPE_COLOR: +- result->data.v_color = setting->data.v_color; +- break; +- case XSETTINGS_TYPE_STRING: +- str_len = strlen (setting->data.v_string); +- result->data.v_string = malloc (str_len + 1); +- if (!result->data.v_string) +- goto err; +- +- memcpy (result->data.v_string, setting->data.v_string, str_len + 1); +- break; +- } +- +- result->last_change_serial = setting->last_change_serial; +- +- return result; +- +- err: +- if (result->name) +- free (result->name); +- free (result); +- +- return NULL; +-} +- +-XSettingsList * +-xsettings_list_copy (XSettingsList *list) +-{ +- XSettingsList *new = NULL; +- XSettingsList *old_iter = list; +- XSettingsList *new_iter = NULL; +- +- while (old_iter) +- { +- XSettingsList *new_node; +- +- new_node = malloc (sizeof *new_node); +- if (!new_node) +- goto error; +- +- new_node->setting = xsettings_setting_copy (old_iter->setting); +- if (!new_node->setting) +- { +- free (new_node); +- goto error; +- } +- +- if (new_iter) +- new_iter->next = new_node; +- else +- new = new_node; +- +- new_iter = new_node; +- +- old_iter = old_iter->next; +- } +- +- return new; +- +- error: +- xsettings_list_free (new); +- return NULL; +-} +- +-int +-xsettings_setting_equal (XSettingsSetting *setting_a, +- XSettingsSetting *setting_b) +-{ +- if (setting_a->type != setting_b->type) +- return 0; +- +- if (strcmp (setting_a->name, setting_b->name) != 0) +- return 0; +- +- switch (setting_a->type) +- { +- case XSETTINGS_TYPE_INT: +- return setting_a->data.v_int == setting_b->data.v_int; +- case XSETTINGS_TYPE_COLOR: +- return (setting_a->data.v_color.red == setting_b->data.v_color.red && +- setting_a->data.v_color.green == setting_b->data.v_color.green && +- setting_a->data.v_color.blue == setting_b->data.v_color.blue && +- setting_a->data.v_color.alpha == setting_b->data.v_color.alpha); +- case XSETTINGS_TYPE_STRING: +- return strcmp (setting_a->data.v_string, setting_b->data.v_string) == 0; +- } +- +- return 0; +-} +- +-void +-xsettings_setting_free (XSettingsSetting *setting) +-{ +- if (setting->type == XSETTINGS_TYPE_STRING) +- free (setting->data.v_string); +- +- if (setting->name) +- free (setting->name); +- +- free (setting); +-} +- +-void +-xsettings_list_free (XSettingsList *list) +-{ +- while (list) +- { +- XSettingsList *next = list->next; +- +- xsettings_setting_free (list->setting); +- free (list); +- +- list = next; +- } +-} +- +-XSettingsResult +-xsettings_list_insert (XSettingsList **list, +- XSettingsSetting *setting) +-{ +- XSettingsList *node; +- XSettingsList *iter; +- XSettingsList *last = NULL; +- +- node = malloc (sizeof *node); +- if (!node) +- return XSETTINGS_NO_MEM; +- node->setting = setting; +- +- iter = *list; +- while (iter) +- { +- int cmp = strcmp (setting->name, iter->setting->name); +- +- if (cmp < 0) +- break; +- else if (cmp == 0) +- { +- free (node); +- return XSETTINGS_DUPLICATE_ENTRY; +- } +- +- last = iter; +- iter = iter->next; +- } +- +- if (last) +- last->next = node; +- else +- *list = node; +- +- node->next = iter; +- +- return XSETTINGS_SUCCESS; +-} +- +-XSettingsResult +-xsettings_list_delete (XSettingsList **list, +- const char *name) +-{ +- XSettingsList *iter; +- XSettingsList *last = NULL; +- +- iter = *list; +- while (iter) +- { +- if (strcmp (name, iter->setting->name) == 0) +- { +- if (last) +- last->next = iter->next; +- else +- *list = iter->next; +- +- xsettings_setting_free (iter->setting); +- free (iter); +- +- return XSETTINGS_SUCCESS; +- } +- +- last = iter; +- iter = iter->next; +- } +- +- return XSETTINGS_FAILED; +-} +- +-XSettingsSetting * +-xsettings_list_lookup (XSettingsList *list, +- const char *name) +-{ +- XSettingsList *iter; +- +- iter = list; +- while (iter) +- { +- if (strcmp (name, iter->setting->name) == 0) +- return iter->setting; +- +- iter = iter->next; +- } +- +- return NULL; +-} +- +-char +-xsettings_byte_order (void) +-{ +- CARD32 myint = 0x01020304; +- return (*(char *)&myint == 1) ? MSBFirst : LSBFirst; +-} +diff -Naur a/libmb/xsettings-common.h b/libmb/xsettings-common.h +--- a/libmb/xsettings-common.h 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb/xsettings-common.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,110 +0,0 @@ +-/* +- * Copyright © 2001 Red Hat, Inc. +- * +- * 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. +- * +- * Author: Owen Taylor, Red Hat, Inc. +- */ +-#ifndef XSETTINGS_COMMON_H +-#define XSETTINGS_COMMON_H +- +-#ifdef __cplusplus +-extern "C" { +-#endif /* __cplusplus */ +- +-typedef struct _XSettingsBuffer XSettingsBuffer; +-typedef struct _XSettingsColor XSettingsColor; +-typedef struct _XSettingsList XSettingsList; +-typedef struct _XSettingsSetting XSettingsSetting; +- +-/* Types of settings possible. Enum values correspond to +- * protocol values. +- */ +-typedef enum +-{ +- XSETTINGS_TYPE_INT = 0, +- XSETTINGS_TYPE_STRING = 1, +- XSETTINGS_TYPE_COLOR = 2 +-} XSettingsType; +- +-typedef enum +-{ +- XSETTINGS_SUCCESS, +- XSETTINGS_NO_MEM, +- XSETTINGS_ACCESS, +- XSETTINGS_FAILED, +- XSETTINGS_NO_ENTRY, +- XSETTINGS_DUPLICATE_ENTRY +-} XSettingsResult; +- +-struct _XSettingsBuffer +-{ +- char byte_order; +- size_t len; +- unsigned char *data; +- unsigned char *pos; +-}; +- +-struct _XSettingsColor +-{ +- unsigned short red, green, blue, alpha; +-}; +- +-struct _XSettingsList +-{ +- XSettingsSetting *setting; +- XSettingsList *next; +-}; +- +-struct _XSettingsSetting +-{ +- char *name; +- XSettingsType type; +- +- union { +- int v_int; +- char *v_string; +- XSettingsColor v_color; +- } data; +- +- unsigned long last_change_serial; +-}; +- +-XSettingsSetting *xsettings_setting_copy (XSettingsSetting *setting); +-void xsettings_setting_free (XSettingsSetting *setting); +-int xsettings_setting_equal (XSettingsSetting *setting_a, +- XSettingsSetting *setting_b); +- +-void xsettings_list_free (XSettingsList *list); +-XSettingsList *xsettings_list_copy (XSettingsList *list); +-XSettingsResult xsettings_list_insert (XSettingsList **list, +- XSettingsSetting *setting); +-XSettingsSetting *xsettings_list_lookup (XSettingsList *list, +- const char *name); +-XSettingsResult xsettings_list_delete (XSettingsList **list, +- const char *name); +- +-char xsettings_byte_order (void); +- +-#define XSETTINGS_PAD(n,m) ((n + m - 1) & (~(m-1))) +- +-#ifdef __cplusplus +-} +-#endif /* __cplusplus */ +- +-#endif /* XSETTINGS_COMMON_H */ diff --git a/aports/matchbox/libmatchbox/libmb.pc.in.patch b/aports/matchbox/libmatchbox/libmb.pc.in.patch new file mode 100644 index 00000000..10d6bf74 --- /dev/null +++ b/aports/matchbox/libmatchbox/libmb.pc.in.patch @@ -0,0 +1,14 @@ +diff -Naur a/libmb.pc.in b/libmb.pc.in +--- a/libmb.pc.in 2016-07-08 11:15:21.000000000 +0100 ++++ b/libmb.pc.in 2018-05-08 04:24:57.673377262 +0100 +@@ -7,6 +7,8 @@ + Description: Utility Library used by Matchbox utilities. + Version: @VERSION@ + +-Requires: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ @XFT_REQUIRED@ +-Libs: -L${libdir} -lmb @MB_EXTRA_LIBS@ ++Requires.private: @XLIBS_REQUIRED@ @PANGO_REQUIRED@ @PNG_REQUIRED@ ++Requires: libxsettings-client ++Libs: -L${libdir} -lmb ++Libs.private: @MB_EXTRA_LIBS@ + Cflags: -I${includedir} @MB_EXTRA_CFLAGS@ diff --git a/aports/matchbox/libxsettings-client/APKBUILD b/aports/matchbox/libxsettings-client/APKBUILD index 158b8cc5..72fad09b 100644 --- a/aports/matchbox/libxsettings-client/APKBUILD +++ b/aports/matchbox/libxsettings-client/APKBUILD @@ -32,6 +32,7 @@ build() { --localstatedir=/var make LIBS=-lX11 } + package() { cd "$builddir" make DESTDIR="$pkgdir" install diff --git a/aports/matchbox/libxsettings/APKBUILD b/aports/matchbox/libxsettings/APKBUILD index a2ae0257..9ecdd4b1 100644 --- a/aports/matchbox/libxsettings/APKBUILD +++ b/aports/matchbox/libxsettings/APKBUILD @@ -19,10 +19,12 @@ dev () { mkdir -p "$subpkgdir"/usr make PREFIX="/usr" DESTDIR="$subpkgdir" install-devel } + build () { cd "$builddir" make } + package() { cd "$builddir" make PREFIX="/usr" DESTDIR="$pkgdir" install diff --git a/aports/matchbox/matchbox-common/APKBUILD b/aports/matchbox/matchbox-common/APKBUILD index f179cb53..54637508 100644 --- a/aports/matchbox/matchbox-common/APKBUILD +++ b/aports/matchbox/matchbox-common/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Duncan Guthrie pkgname=matchbox-common pkgver=0_git20070606 -pkgrel=0 +pkgrel=1 _commit=3055fb158054d059e9a50141e7ded2a41ecfbd47 pkgdesc="Common data files for Matchbox" url="http://matchbox-project.org" @@ -10,13 +10,14 @@ arch="noarch" license="GPL-2.0-only" depends="" makedepends="libmatchbox-dev autoconf automake libtool" -source="https://git.yoctoproject.org/cgit/cgit.cgi/$pkgname/snapshot/$pkgname-$_commit.tar.gz" +source="https://git.yoctoproject.org/cgit/cgit.cgi/$pkgname/snapshot/$pkgname-$_commit.tar.gz + matchbox-v2-utils.patch" builddir="$srcdir/$pkgname-$_commit" options="!check" build() { cd "$builddir" - ./autogen.sh + autoreconf --install ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -26,8 +27,11 @@ build() { --localstatedir=/var make } + package() { cd "$builddir" make DESTDIR="$pkgdir" install } -sha512sums="742c38c60efa99de6a7d9bf510045eaf8ea1038722c9e45d614b66a3112f2b48f715d53bf9d44f173ca35e858aee135d0fbc3ed4fe0937b74c40ac515c5320f4 matchbox-common-3055fb158054d059e9a50141e7ded2a41ecfbd47.tar.gz" + +sha512sums="742c38c60efa99de6a7d9bf510045eaf8ea1038722c9e45d614b66a3112f2b48f715d53bf9d44f173ca35e858aee135d0fbc3ed4fe0937b74c40ac515c5320f4 matchbox-common-3055fb158054d059e9a50141e7ded2a41ecfbd47.tar.gz +dc96692d51803d71288e030757ad6f597ffffb107a57d7fc51d6dea3a1eabd5736535164ec33d86effff4891e38aa30ea5ee33a1e68c58683204cf1b220721d7 matchbox-v2-utils.patch" diff --git a/aports/matchbox/matchbox-common/matchbox-v2-utils.patch b/aports/matchbox/matchbox-common/matchbox-v2-utils.patch new file mode 100644 index 00000000..98c5e021 --- /dev/null +++ b/aports/matchbox/matchbox-common/matchbox-v2-utils.patch @@ -0,0 +1,43 @@ +diff -Naur a/matchbox-session b/matchbox-session +--- a/matchbox-session 2007-06-06 12:30:47.000000000 +0100 ++++ b/matchbox-session 2018-05-09 17:30:48.556398420 +0100 +@@ -4,21 +4,24 @@ + # + + # Uncomment below to enable parsing of debian menu entrys +-# export MB_USE_DEB_MENUS=1 +- +-if [ -e $HOME/.matchbox/session ] +-then +-exec $HOME/.matchbox/session +-fi +- +-if [ -e /etc/matchbox/session ] +-then +-exec /etc/matchbox/session +-fi +- ++# export MB_USE_DEB_MENUS=1 ++# ++# if [ -e $HOME/.matchbox/session ] ++# then ++# exec $HOME/.matchbox/session ++# fi ++# ++# if [ -e /etc/matchbox/session ] ++# then ++# exec /etc/matchbox/session ++# fi ++# + # Default files to run if $HOME/.matchbox/session or /etc/matchbox/session +-# dont exist. ++# dont exist. ++ ++START_APPLETS=showdesktop,windowselector ++END_APPLETS=clock,keyboard,systray,startup-notify,notify + + matchbox-desktop & +-matchbox-panel --orientation south & +-exec matchbox-window-manager $@ ++matchbox-panel --edge=bottom --start-applets=$START_APPLETS --end-applets=$END_APPLETS & ++exec matchbox-window-manager-2-simple -use_cursor yes $@ diff --git a/aports/matchbox/matchbox-desktop/01-needed-libraries.patch b/aports/matchbox/matchbox-desktop/01-needed-libraries.patch deleted file mode 100644 index b6815976..00000000 --- a/aports/matchbox/matchbox-desktop/01-needed-libraries.patch +++ /dev/null @@ -1,25 +0,0 @@ -Description: FTBFS with binutils-gold (#555587) -Author: Bhavani Shankar R -Last-Update: 2010-12-28 ---- a/Makefile.am -+++ b/Makefile.am -@@ -7,7 +7,7 @@ - matchbox_desktop_CFLAGS = \ - -Wall - matchbox_desktop_LDADD = \ -- $(GTK_LIBS) $(SN_LIBS) -+ $(GTK_LIBS) $(SN_LIBS) -lX11 - - matchbox_desktop_SOURCES = \ - taku-tile.h taku-tile.c \ ---- a/Makefile.in -+++ b/Makefile.in -@@ -183,7 +183,7 @@ - -Wall - - matchbox_desktop_LDADD = \ -- $(GTK_LIBS) $(SN_LIBS) -+ $(GTK_LIBS) $(SN_LIBS) -lX11 - - matchbox_desktop_SOURCES = \ - taku-tile.h taku-tile.c \ diff --git a/aports/matchbox/matchbox-desktop/APKBUILD b/aports/matchbox/matchbox-desktop/APKBUILD index 8231657a..304b47fb 100644 --- a/aports/matchbox/matchbox-desktop/APKBUILD +++ b/aports/matchbox/matchbox-desktop/APKBUILD @@ -1,22 +1,20 @@ # Contributor: Duncan Guthrie # Maintainer: Duncan Guthrie pkgname=matchbox-desktop -pkgver=0.9.1_git20050406 +pkgver=2.0 pkgrel=0 -_commit=525e271308bd21307abaf2c972610219351edff5 pkgdesc="Desktop system for handhelds using the GTK+2 stack" url="https://matchbox-project.org" arch="all" license="GPL-2.0-only" depends="gdk-pixbuf glib gtk+2.0 pango startup-notification libx11 matchbox-common libmatchbox libjpeg-turbo" makedepends="startup-notification-dev gtk+2.0-dev autoconf automake libtool libmatchbox-dev libjpeg-turbo-dev" -source="https://git.yoctoproject.org/cgit/cgit.cgi/$pkgname/snapshot/$pkgname-$_commit.tar.gz" -builddir="$srcdir/$pkgname-$_commit" +source="http://http.debian.net/debian/pool/main/m/${pkgname}/${pkgname}_${pkgver}.orig.tar.gz" +builddir="$srcdir/$pkgname-$pkgver" options="!check" build() { cd "$builddir" - ./autogen.sh ./configure \ --enable-startup-notification \ --enable-dnotify \ @@ -25,7 +23,8 @@ build() { --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ - --localstatedir=/var + --localstatedir=/var \ + LIBS="-lX11" make } @@ -34,4 +33,4 @@ package() { make DESTDIR=$pkgdir install } -sha512sums="ca4cafe4c0c14d6a60bc16e302a3eb623371357abcd168ceaaa78c15334d32351382d6e56919b1fd6c1de274e2cd9d08648c0ab4a385e8c62ec38b6c8c6a86a4 matchbox-desktop-525e271308bd21307abaf2c972610219351edff5.tar.gz" +sha512sums="c1e4b4312a21691b9fe6f956e788d6064835bf062d69944b0124f7c274464b13320d8b8641315fe0c355eb5e35f8f42c9b817232f4aedf443a7bf34cb047f725 matchbox-desktop_2.0.orig.tar.gz" diff --git a/aports/matchbox/matchbox-keyboard/APKBUILD b/aports/matchbox/matchbox-keyboard/APKBUILD index daa6995c..c644e00d 100644 --- a/aports/matchbox/matchbox-keyboard/APKBUILD +++ b/aports/matchbox/matchbox-keyboard/APKBUILD @@ -2,18 +2,25 @@ # Maintainer: drebrez pkgname=matchbox-keyboard pkgver=0.1.1 -pkgrel=0 +pkgrel=1 pkgdesc="An on screen virtual keyboard" url="http://matchbox-project.org/" arch="all" license="GPL-2.0-only" -depends="libfakekey libxft" -makedepends="autoconf automake libtool libxft-dev libxtst-dev" +depends="libfakekey libxft cairo gtk+3.0 libx11 libxrender" +makedepends="autoconf automake libtool libxft-dev libxtst-dev cairo-dev gtk+3.0-dev matchbox-panel-dev libx11-dev libxrender-dev" source="$pkgname-$pkgver.tar.bz2::http://git.yoctoproject.org/cgit/cgit.cgi/matchbox-keyboard/snapshot/matchbox-keyboard-$pkgver.tar.bz2" +options="!check" build() { - ./autogen.sh - ./configure --prefix=/usr + autoreconf --install + ./configure \ + --prefix=/usr \ + --enable-cairo \ + --enable-applet \ + --enable-gtk2-im \ + --enable-gtk3-im \ + LDFLAGS="-lXrender -lX11" make } diff --git a/aports/matchbox/matchbox-panel-manager/01-linking-fix.patch b/aports/matchbox/matchbox-panel-manager/01-linking-fix.patch deleted file mode 100644 index 2c460565..00000000 --- a/aports/matchbox/matchbox-panel-manager/01-linking-fix.patch +++ /dev/null @@ -1,25 +0,0 @@ -Description: Fix FTBFS with binutils-gold (#555590) -Author: Bhavani Shankar R -Last-Update: 2010-12-28 ---- a/Makefile.am -+++ b/Makefile.am -@@ -6,7 +6,7 @@ - matchbox_panel_manager_SOURCES = \ - mbpanelmgr.c - --matchbox_panel_manager_LDADD = @MBPANELMGR_LIBS@ -+matchbox_panel_manager_LDADD = @MBPANELMGR_LIBS@ -lX11 - - desktopdir = $(datadir)/applications/ - pixmapsdir = $(datadir)/pixmaps/ ---- a/Makefile.in -+++ b/Makefile.in -@@ -119,7 +119,7 @@ - mbpanelmgr.c - - --matchbox_panel_manager_LDADD = @MBPANELMGR_LIBS@ -+matchbox_panel_manager_LDADD = @MBPANELMGR_LIBS@ -lX11 - - desktopdir = $(datadir)/applications/ - pixmapsdir = $(datadir)/pixmaps/ diff --git a/aports/matchbox/matchbox-panel-manager/APKBUILD b/aports/matchbox/matchbox-panel-manager/APKBUILD deleted file mode 100644 index 559c1c99..00000000 --- a/aports/matchbox/matchbox-panel-manager/APKBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# Contributor: Duncan Guthrie -# Maintainer: Duncan Guthrie -pkgname=matchbox-panel-manager -pkgver=0.1 -pkgrel=0 -pkgdesc="Panel manager for matchbox-panel" -url="http://matchbox-project.org" -arch="all" -license="GPL-2.0-only" -depends="startup-notification gdk-pixbuf glib gtk+2.0 libx11 expat" -makedepends="autoconf libtool automake gtk+2.0-dev libmatchbox-dev startup-notification-dev expat-dev" -source="${pkgname}_${pkgver}.orig.tar.gz::http://http.debian.net/debian/pool/main/m/${pkgname}/${pkgname}_${pkgver}.orig.tar.gz - 01-linking-fix.patch" -builddir="$srcdir/$pkgname-$pkgver" -options="!check" - -build() { - cd "$builddir" - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var - make -} -package() { - cd "$builddir" - make DESTDIR="$pkgdir" install -} - -sha512sums="1c860d3452e6f9feb2f602f208ed1d1245a638c3e5f2baf1ee2c0614cbf9b52519902de7fda1aabe1b3b03e8960d9b6fb2f61ac97df51a97fe3208aceea34ec2 matchbox-panel-manager_0.1.orig.tar.gz -5105da67046fd9a62ca9cab70ecc7bfe1319463719d365b3325594b8c71b84234aade023634fdf2c9ca7fdb8802c9cd8d72b3f43819c93b27181c681a024f091 01-linking-fix.patch" diff --git a/aports/matchbox/matchbox-panel/APKBUILD b/aports/matchbox/matchbox-panel/APKBUILD index 24b8b0dd..546cc418 100644 --- a/aports/matchbox/matchbox-panel/APKBUILD +++ b/aports/matchbox/matchbox-panel/APKBUILD @@ -1,18 +1,21 @@ # Contributor: Duncan Guthrie # Maintainer: Duncan Guthrie pkgname=matchbox-panel -pkgver=0_git20100816 +_pkgname=$pkgname-2 +pkgver=2.11_git20161123 pkgrel=0 -_commit=886605280c1032f76e382f68f9a1d2e57012f4db -pkgdesc="Simple GTK+2-based panel for handheld devices" +_commit=f82ca3f42510fb3ef10f598b393eb373a2c34ca7 +pkgdesc="Simple GTK+3-based panel for handheld devices" url="http://matchbox-project.org" arch="all" -license="GPL-2.0-only" -depends="libmatchbox startup-notification libx11 libxext matchbox-common libjpeg-turbo" -makedepends="libmatchbox-dev startup-notification-dev libx11-dev autoconf automake libtool libjpeg-turbo-dev" -source="$pkgname-$_commit.tar.gz::https://git.yoctoproject.org/cgit/cgit.cgi/$pkgname/snapshot/$pkgname-$_commit.tar.gz" -builddir="$srcdir/$pkgname-$_commit" +license="GPL-2.0-or-later" +depends="libmatchbox startup-notification libx11 libxext matchbox-common dbus dbus-glib gdk-pixbuf gtk+3.0" +makedepends="libintl libmatchbox-dev startup-notification-dev libx11-dev autoconf automake libtool gettext git gdk-pixbuf-dev gtk+3.0-dev dbus-glib-dev dbus-dev" +source="https://git.yoctoproject.org/cgit/cgit.cgi/${_pkgname}/snapshot/${_pkgname}-${_commit}.tar.gz + allow-smaller-icons.patch" +builddir="$srcdir/$_pkgname-$_commit" options="!check" +subpackages="$pkgname-dev" build() { cd "$builddir" @@ -25,7 +28,7 @@ build() { --mandir=/usr/share/man \ --localstatedir=/var \ --enable-startup-notification \ - --enable-expat + --enable-dbus make } @@ -34,4 +37,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="6a5d9bdd612d7149e9852f9b3672fb39248fc116a0a74e0680ced67e6ca784a1596ebf3ec62a8657d44a7056e0d9781f303461e6c8cea442935da50918fff04e matchbox-panel-886605280c1032f76e382f68f9a1d2e57012f4db.tar.gz" +sha512sums="faf5d3cb25a8cc88656099986e3f44b6f8d7fbd16ea510ca2bab04b40bd3e82304604dd4214d1015e6f14a396d442a8adac0436ea4f1745174178665bcb1f299 matchbox-panel-2-f82ca3f42510fb3ef10f598b393eb373a2c34ca7.tar.gz +b4ec412a269565d8eb426d339c68e13ae839700658b4654ae32fbd53ad53bd3948647fe84cb59051e1fe1517f5dbd69f1cbda255278f51107a5c444780680ef7 allow-smaller-icons.patch" diff --git a/aports/matchbox/matchbox-panel/allow-smaller-icons.patch b/aports/matchbox/matchbox-panel/allow-smaller-icons.patch new file mode 100644 index 00000000..d13dd3d5 --- /dev/null +++ b/aports/matchbox/matchbox-panel/allow-smaller-icons.patch @@ -0,0 +1,34 @@ +From f83a9179696b2d060ee4860733dafbf38bbd4b87 Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Wed, 28 Sep 2016 15:05:41 +0300 +Subject: [PATCH] applets/systray: Allow icons to be smaller + +Don't expand/fill the systray items, align them in the center of the +systray panel. This makes sure the icons are drawn at the size they +expect. + +Signed-off-by: Jussi Kukkonen +Upstream-Status: Submitted +--- + applets/systray/systray.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/applets/systray/systray.c b/applets/systray/systray.c +index 39698a8..94a5753 100644 +--- a/applets/systray/systray.c ++++ b/applets/systray/systray.c +@@ -29,8 +29,9 @@ on_realize (GtkWidget *widget, gpointer user_data) + tray = (GtkWidget *)na_tray_new_for_screen (screen, orientation); + + gtk_widget_show (tray); +- +- gtk_container_add (GTK_CONTAINER (widget), tray); ++ gtk_widget_set_valign (tray, GTK_ALIGN_CENTER); ++ gtk_widget_set_halign (tray, GTK_ALIGN_CENTER); ++ gtk_box_pack_start (GTK_BOX (widget), tray, FALSE, FALSE, 0); + } + + G_MODULE_EXPORT GtkWidget * +-- +2.1.4 + diff --git a/aports/matchbox/matchbox-window-manager/01-build-themes.patch b/aports/matchbox/matchbox-window-manager/01-build-themes.patch deleted file mode 100644 index 6886f825..00000000 --- a/aports/matchbox/matchbox-window-manager/01-build-themes.patch +++ /dev/null @@ -1,10 +0,0 @@ -Description: Build all themes ---- matchbox-window-manager-1.2-osso21.orig/matchbox-window-manager/data/themes/Makefile.am -+++ matchbox-window-manager-1.2-osso21/matchbox-window-manager/data/themes/Makefile.am -@@ -1,5 +1,5 @@ - if WANT_STANDALONE - SUBDIRS = - else --SUBDIRS = Default -+SUBDIRS = Default blondie bluebox borillo MBOpus - endif diff --git a/aports/matchbox/matchbox-window-manager/02-config.patch b/aports/matchbox/matchbox-window-manager/02-config.patch deleted file mode 100644 index eb5185f3..00000000 --- a/aports/matchbox/matchbox-window-manager/02-config.patch +++ /dev/null @@ -1,12 +0,0 @@ -Description: Fix pkg-config use ---- a/matchbox-window-manager/configure.ac -+++ b/matchbox-window-manager/configure.ac -@@ -423,7 +423,7 @@ - if test x$enable_standalone != xyes && test x$enable_standalone_xft != xyes; then - AC_MSG_CHECKING([for libmb xsettings support]) - -- if $PKG_CONFIG --libs libmb | grep -i xsettings ; then -+ if $PKG_CONFIG --static --libs libmb | grep -i xsettings ; then - mb_have_xsettings="yes" - AC_DEFINE(USE_XSETTINGS, [1], [Use XSettings]) - AC_MSG_RESULT([yes]) diff --git a/aports/matchbox/matchbox-window-manager/03-default-theme.patch b/aports/matchbox/matchbox-window-manager/03-default-theme.patch deleted file mode 100644 index 9b7dff70..00000000 --- a/aports/matchbox/matchbox-window-manager/03-default-theme.patch +++ /dev/null @@ -1,113 +0,0 @@ -Description: Revert to old version of theme.xml for Default theme (current upstream version doesn't work) ---- a/matchbox-window-manager/data/themes/Default/theme.xml -+++ b/matchbox-window-manager/data/themes/Default/theme.xml -@@ -1,5 +1,5 @@ - -- - - -@@ -31,37 +31,55 @@ - - - -+ - -+ -+ -+ -+ -+ -+ -+ - -- -- -+ - -- -+ -+ -+ -+ - -- -+ -+ -+ - -- -- - -- - -- -+