summaryrefslogtreecommitdiff
path: root/recipes/ion
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/ion')
-rw-r--r--recipes/ion/ion3/201_fix-paths.diff93
-rw-r--r--recipes/ion/ion3/202_fix-menus.diff49
-rw-r--r--recipes/ion/ion3/203_fix-kludges.diff15
-rw-r--r--recipes/ion/ion3/204_fix-bindings.diff11
-rw-r--r--recipes/ion/ion3/205_ion-lock.diff118
-rw-r--r--recipes/ion/ion3/206_use-xterm.diff10
-rw-r--r--recipes/ion/ion3/cross.patch49
-rw-r--r--recipes/ion/ion3/luaconfig.patch27
-rw-r--r--recipes/ion/ion3_0.0+ds20041104.bb34
9 files changed, 406 insertions, 0 deletions
diff --git a/recipes/ion/ion3/201_fix-paths.diff b/recipes/ion/ion3/201_fix-paths.diff
new file mode 100644
index 0000000000..014e6671e9
--- /dev/null
+++ b/recipes/ion/ion3/201_fix-paths.diff
@@ -0,0 +1,93 @@
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- ion-3ds-20041104/system.mk~201fix-paths
++++ ion-3ds-20041104/system.mk
+@@ -7,7 +7,7 @@
+ ## Installation paths
+ ##
+
+-PREFIX=/usr/local
++PREFIX=/usr
+
+ # Unless you are creating a package conforming to some OS's standards, you
+ # probably do not want to modify the following directories:
+@@ -15,7 +15,7 @@
+ # Main binaries
+ BINDIR=$(PREFIX)/bin
+ # Configuration .lua files
+-ETCDIR=$(PREFIX)/etc/ion3
++ETCDIR=/etc/X11/ion3
+ # Some .lua files and ion-* shell scripts
+ SHAREDIR=$(PREFIX)/share/ion3
+ # Manual pages
+@@ -27,11 +27,11 @@
+ # Nothing at the moment
+ LIBDIR=$(PREFIX)/lib
+ # Modules
+-MODULEDIR=$(LIBDIR)/ion3/mod
++MODULEDIR=$(LIBDIR)/ion3
+ # Compiled Lua source code
+ LCDIR=$(LIBDIR)/ion3/lc
+ # ion-completefile (does not belong in SHAREDIR being a binary file)
+-EXTRABINDIR=$(LIBDIR)/ion3/bin
++EXTRABINDIR=$(LIBDIR)/ion3
+ # For ion-completeman system-wide cache
+ VARDIR=/var/cache/ion3
+ # Message catalogs
+@@ -56,18 +56,18 @@
+
+ # If you have installed Lua 5.0 from the official tarball without changing
+ # paths, this should do it.
+-LUA_DIR=/usr/local
+-LUA_LIBS = -L$(LUA_DIR)/lib -llua -llualib
+-LUA_INCLUDES = -I$(LUA_DIR)/include
+-LUA=$(LUA_DIR)/bin/lua
+-LUAC=$(LUA_DIR)/bin/luac
++#LUA_DIR=/usr/local
++#LUA_LIBS = -L$(LUA_DIR)/lib -llua -llualib
++#LUA_INCLUDES = -I$(LUA_DIR)/include
++#LUA=$(LUA_DIR)/bin/lua
++#LUAC=$(LUA_DIR)/bin/luac
+
+ # If you are using the Debian packages, the following settings should be
+ # what you want.
+-#LUA_LIBS=`lua-config50 --libs`
+-#LUA_INCLUDES=`lua-config50 --include`
+-#LUA=lua50
+-#LUAC=luac50
++LUA_LIBS=`lua-config --libs`
++LUA_INCLUDES=`lua-config --include`
++LUA=lua
++LUAC=luac
+
+
+ ##
+@@ -107,7 +107,7 @@
+ # asprintf and vasprintf in the c library. (gnu libc has.)
+ # If HAS_SYSTEM_ASPRINTF is not defined, an implementation
+ # in sprintf_2.2/ is used.
+-#HAS_SYSTEM_ASPRINTF=1
++HAS_SYSTEM_ASPRINTF=1
+
+
+ # If you're on an archaic system (such as relatively recent *BSD releases)
+@@ -139,14 +139,14 @@
+
+ #C89_SOURCE=-ansi
+
+-#POSIX_SOURCE=-D_POSIX_SOURCE
++POSIX_SOURCE=-D_POSIX_SOURCE
+
+ # Most systems
+-#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
++XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
+ # SunOS, (Irix)
+ #XOPEN_SOURCE=-D__EXTENSIONS__
+
+-#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY
++C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY
+
+ # The -DCF_HAS_VA_COPY option should allow for some optimisations, and
+ # in some cases simply defining
diff --git a/recipes/ion/ion3/202_fix-menus.diff b/recipes/ion/ion3/202_fix-menus.diff
new file mode 100644
index 0000000000..999131565f
--- /dev/null
+++ b/recipes/ion/ion3/202_fix-menus.diff
@@ -0,0 +1,49 @@
+--- ion3-20041104.orig/etc/cfg_menus.lua 2004-09-28 14:58:49.000000000 +0000
++++ ion3-20041104/etc/cfg_menus.lua 2004-11-27 22:37:01.000000000 +0000
+@@ -6,18 +6,21 @@
+ -- Main menu
+ defmenu("mainmenu", {
+ submenu("Programs", "appmenu"),
+- menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"),
++ menuentry("Lock screen",
++ "ioncore.exec_on(_, ioncore.lookup_script('ion-lock'))"),
+ menuentry("Help", "mod_query.query_man(_)"),
+ menuentry("About Ion", "mod_query.show_about_ion(_)"),
+ submenu("Styles", "stylemenu"),
++ submenu("Debian", "Debian"),
+ submenu("Session", "sessionmenu"),
+ })
+
+
+ -- Application menu
+ defmenu("appmenu", {
+- menuentry("XTerm", "ioncore.exec_on(_, 'xterm')"),
+- menuentry("Mozilla Firefox","ioncore.exec_on(_, 'firefox')"),
++ menuentry("Terminal", "ioncore.exec_on(_, 'x-terminal-emulator')"),
++ menuentry("Browser", "ioncore.exec_on(_, 'sensible-browser')"),
++
+ menuentry("Run...", "mod_query.query_exec(_)"),
+ })
+
+@@ -26,7 +29,7 @@
+ defmenu("sessionmenu", {
+ menuentry("Save", "ioncore.snapshot()"),
+ menuentry("Restart", "ioncore.restart()"),
+- menuentry("Restart PWM", "ioncore.restart_other('pwm')"),
++ menuentry("Restart PWM3", "ioncore.restart_other('pwm3')"),
+ menuentry("Restart TWM", "ioncore.restart_other('twm')"),
+ menuentry("Exit", "ioncore.shutdown()"),
+ })
+@@ -44,3 +47,12 @@
+ menuentry("Window info", "mod_query.show_clientwin(_, _sub)",
+ "_sub:WClientWin"),
+ })
++
++-- Auto-generated Debian menu definitions
++if os.execute("test -x /usr/bin/update-menus") == 0 then
++ if ioncore.is_i18n() then
++ dopath("debian-menu-i18n")
++ else
++ dopath("debian-menu")
++ end
++end
diff --git a/recipes/ion/ion3/203_fix-kludges.diff b/recipes/ion/ion3/203_fix-kludges.diff
new file mode 100644
index 0000000000..3efef50c65
--- /dev/null
+++ b/recipes/ion/ion3/203_fix-kludges.diff
@@ -0,0 +1,15 @@
+--- ion3-20041104.orig/etc/cfg_kludges.lua 2004-07-28 01:17:34.000000000 +0000
++++ ion3-20041104/etc/cfg_kludges.lua 2004-11-27 22:39:50.000000000 +0000
+@@ -17,6 +17,12 @@
+ transient_mode = "current",
+ }
+
++defwinprop{
++ class = "Evolution-mail",
++ instance = "evolution-mail",
++ transient_mode = "current"
++}
++
+ -- You might want to enable these if you really must use XMMS.
+ --[[
+ defwinprop{
diff --git a/recipes/ion/ion3/204_fix-bindings.diff b/recipes/ion/ion3/204_fix-bindings.diff
new file mode 100644
index 0000000000..7e317fa966
--- /dev/null
+++ b/recipes/ion/ion3/204_fix-bindings.diff
@@ -0,0 +1,11 @@
+--- ion3-20041104.orig/etc/cfg_bindings.lua 2004-10-05 09:03:31.000000000 +0000
++++ ion3-20041104/etc/cfg_bindings.lua 2004-11-27 23:06:00.000000000 +0000
+@@ -52,7 +52,7 @@
+ kpress(MOD1.."F1", "ioncore.show_manual()"),
+
+ bdoc("Run a terminal emulator."),
+- kpress(MOD2.."F2", "ioncore.exec_on(_, 'xterm')"),
++ kpress(MOD2.."F2", "ioncore.exec_on(_, 'x-terminal-emulator')"),
+
+ bdoc("Create a new workspace of chosen default type."),
+ kpress(MOD1.."F9", "ioncore.create_ws(_)"),
diff --git a/recipes/ion/ion3/205_ion-lock.diff b/recipes/ion/ion3/205_ion-lock.diff
new file mode 100644
index 0000000000..bbd25ddb49
--- /dev/null
+++ b/recipes/ion/ion3/205_ion-lock.diff
@@ -0,0 +1,118 @@
+--- ion-3ds-20041104.orig/mod_dock/README.dock 2003-12-23 21:13:07.000000000 +0000
++++ ion-3ds-20041104/mod_dock/README.dock 2004-12-05 15:52:30.000000000 +0000
+@@ -7,19 +7,18 @@
+
+ INTRODUCTION
+
+- This module provides a dock for the Ion window manager. It is designed
+- to work with ion-devel-20031211.
++ This module provides a dock for the Ion window manager.
+
+ Features:
+ - supports most dockapps
+ - configurable layout
+ - configurable dockapp order
+ - supports shaped dockapps
+- - uses ion-devel's drawing engine
++ - uses ion's drawing engine
+
+ DEPENDENCIES
+
+- ion-devel-20031211
++ ion3
+
+ INSTALLATION
+
+@@ -32,19 +31,20 @@
+ 3. Either run (as root)
+ # make install
+ or (as yourself),
+- $ mkdir -p ~/.ion2/lib
+- $ cp .libs/dock.* ~/.ion2/lib
++ $ mkdir -p ~/.ion3/lib
++ $ cp .libs/dock.* ~/.ion3/lib
+
+- 4. Copy the configuration files to your ~/.ion2 directory:
+- $ cp dock.lua dock-draw.lua ~/.ion2
++
++ 4. Copy the configuration files to your ~/.ion3 directory:
++ $ cp dock.lua dock-draw.lua ~/.ion3
+ Edit dock.lua and dock-draw.lua to suit your preferences.
+
+- 5. Add load_module("dock") to ~/.ion2/ion.lua.
++ 5. Add load_module("dock") to ~/.ion3/ion.lua.
+
+- 6. Add include("dock-draw.lua") near the end of ~/.ion2/draw.lua,
++ 6. Add include("dock-draw.lua") near the end of ~/.ion3/draw.lua,
+ before gr_refresh().
+
+- 7. (Re)start ion-devel.
++ 7. (Re)start ion3.
+
+ CONFIGURATION
+
+@@ -53,7 +53,7 @@
+ KNOWN BUGS
+
+ Not all dockapps dock. This is because dockapps use a variety of methods
+- to signal that they are dockapps and ion-devel-dock doesn't yet
++ to signal that they are dockapps and the dock doesn't yet
+ recognise all of them. If your favourite dockapp does not work then
+ please inform the author (email address at top of file).
+
+@@ -62,13 +62,13 @@
+ - gkrellm2 can have the wrong shape if it is started after the dock
+ module is loaded.
+
+- - wmxmms needs a winprop{...}. See the example dock.lua. ion-devel
++ - wmxmms needs a winprop{...}. See the example dock.lua. Ion
+ complains: Client window "wmxmms" has broken transient_for hint.
+ ("Extended WM hints" multi-parent brain damage?).
+
+ IMPLEMENTATION NOTES
+
+- If you would like to help improve ion-devel-dock then the following
++ If you would like to help improve the dock then the following
+ notes might be useful.
+
+ You should use folding in your editor when you edit/view the source
+@@ -76,8 +76,8 @@
+ folds. VIM and Emacs both support folding.
+
+ Dockapps use a variety of methods to signal to the window manager that
+- they are a dockapp. ion-devel automatically detects some (see
+- manage_clientwin() in ioncore/clientwin.c), and ion-devel-dock detects
++ they are a dockapp. Ion automatically detects some (see
++ manage_clientwin() in ioncore/clientwin.c), and the dock detects
+ some others (see dock_clientwin_is_dockapp() in dock.c). Adding more
+ dockapp types will require editing these functions and possibly writing
+ type-specific management code.
+@@ -94,7 +94,7 @@
+ sequence of events is as follows:
+ 1. gkrellm2 starts and gets added to the dock with is initial geom.
+ 2. gkrellm2 grows as it loads plugins.
+- 3. ion-devel-dock allocates more space to gkrellm2 and requests
++ 3. The dock allocates more space to gkrellm2 and requests
+ gkrellm2's new shape, but gkrellm2 reports its old shape.
+ 4. Further requests to gkrellm2 return is new (actual) shape, but by
+ now it's too late...
+--- ion-3ds-20041104.orig/utils/Makefile 2004-08-02 03:31:27.000000000 +0000
++++ ion-3ds-20041104/utils/Makefile 2004-12-05 15:55:19.000000000 +0000
+@@ -12,7 +12,7 @@
+ INSTALL_SUBDIRS=$(SUBDIRS)
+
+ SHELLSCRIPTS = ion-edit ion-man ion-runinxterm ion-ssh ion-view \
+- ion-completeman
++ ion-completeman ion-lock
+
+ TARGETS=ion-ssh ion-man ion-completeman
+
+--- ion-3ds-20041104.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000
++++ ion-3ds-20041104/utils/ion-lock 2004-12-05 15:55:55.000000000 +0000
+@@ -0,0 +1,6 @@
++#!/bin/sh
++if xscreensaver-command -version >/dev/null 2>&1; then
++ exec xscreensaver-command -lock
++else
++ exec xlock
++fi
diff --git a/recipes/ion/ion3/206_use-xterm.diff b/recipes/ion/ion3/206_use-xterm.diff
new file mode 100644
index 0000000000..f1b37d6bc9
--- /dev/null
+++ b/recipes/ion/ion3/206_use-xterm.diff
@@ -0,0 +1,10 @@
+--- ion-3ds-20041104.orig/utils/ion-runinxterm 2003-05-30 21:17:53.000000000 +0000
++++ ion-3ds-20041104/utils/ion-runinxterm 2004-12-05 15:57:53.000000000 +0000
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-test "$XTERMCMD" || XTERMCMD="xterm"
++test "$XTERMCMD" || XTERMCMD="x-terminal-emulator"
+
+ if test $# -lt 1; then
+ echo error
diff --git a/recipes/ion/ion3/cross.patch b/recipes/ion/ion3/cross.patch
new file mode 100644
index 0000000000..9a2361893a
--- /dev/null
+++ b/recipes/ion/ion3/cross.patch
@@ -0,0 +1,49 @@
+--- tmp/work/arm-linux/ion3-0.0+ds20041104-r0/ion-3ds-20041104/configure.ac 2004-11-04 08:55:55.000000000 -0600
++++ ion-3ds-20041104/configure.ac 2004-12-28 13:47:05.000000000 -0600
+@@ -74,26 +74,7 @@
+ the -i18n command line option])])
+
+ if test "x$enable_Xutf8" = xyes; then
+- AC_MSG_CHECKING([for Xutf8*])
+- save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS $X_CFLAGS"
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <X11/Xlib.h>
+-
+-int main()
+-{
+-#ifdef X_HAVE_UTF8_STRING
+- exit(0);
+-#else
+- exit(1);
+-#endif
+-}
+- ]])],
+- [AC_MSG_RESULT([yes])
+- _DCF_DE_USE_XUTF8="-DCF_DE_USE_XUTF8"],
+- [AC_MSG_RESULT([no])
+- exit 1])
+- CFLAGS="$save_CFLAGS"
++ AC_CHECK_DECLS ([ X_HAVE_UTF8_STRING ], _DCF_DE_USE_XUTF8="-DCF_DE_USE_XUTF8", , [[#include <X11/Xlib.h>]])
+ fi
+
+ dnl }}}
+@@ -263,7 +250,8 @@
+ ]])],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+- exit 1])
++ exit 1],
++ [AC_MSG_RESULT([crosscompiling, assuming yes])])
+ CFLAGS="$save_CFLAGS"
+ LIBS="$save_LIBS"
+ dnl }}}
+@@ -334,7 +322,7 @@
+ AC_MSG_CHECKING([for va_copy])
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $C99_SOURCE"
+-AC_RUN_IFELSE([AC_LANG_SOURCE([[
++AC_LINK_IFELSE([AC_LANG_SOURCE([[
+
+ #include <stdarg.h>
+ #include <stdlib.h>
diff --git a/recipes/ion/ion3/luaconfig.patch b/recipes/ion/ion3/luaconfig.patch
new file mode 100644
index 0000000000..9018f6aaee
--- /dev/null
+++ b/recipes/ion/ion3/luaconfig.patch
@@ -0,0 +1,27 @@
+--- tmp/work/arm-linux/ion3-0.0+ds20041104-r0/ion-3ds-20041104/configure.ac 2004-11-04 08:55:55.000000000 -0600
++++ ion-3ds-20041104/configure.ac 2004-12-28 13:47:05.000000000 -0600
+@@ -204,11 +185,15 @@
+ fi
+ dnl }}}
+
++AC_PATH_PROG([LUACONFIG], [lua$with_lua_suffix-config], [], [$lua_search_path])
++
+ dnl LUA_INCLUDES {{{
+ if test "x$with_lua_includes" != x; then
+ LUA_INCLUDES="-I$with_lua_includes"
+ elif test "x$with_lua_prefix" != x; then
+ LUA_INCLUDES="-I$with_lua_prefix/include"
++elif test "x$LUACONFIG" != x; then
++ LUA_INCLUDES="`lua-config --includes`"
+ fi
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $LUA_INCLUDES"
+@@ -221,6 +206,8 @@
+ LUA_LIBS="-L$with_lua_libraries"
+ elif test "x$with_lua" != x; then
+ LUA_LIBS="-L$with_lua_prefix/lib"
++elif test "x$LUACONFIG" != x; then
++ LUA_LIBS="`lua-config --libs`"
+ fi
+ AC_CHECK_LIB([lua$with_lua_suffix],
+ [lua_open],
diff --git a/recipes/ion/ion3_0.0+ds20041104.bb b/recipes/ion/ion3_0.0+ds20041104.bb
new file mode 100644
index 0000000000..45a74e60a7
--- /dev/null
+++ b/recipes/ion/ion3_0.0+ds20041104.bb
@@ -0,0 +1,34 @@
+BROKEN = "1"
+# is unfetchable now - upstream updated to 20050728
+
+DEPENDS += "lua-native lua virtual/libx11 libxext"
+DESCRIPTION = "Ion is a tiling tabbed window manager designed with keyboard \
+users in mind."
+HOMEPAGE = "http://modeemi.fi/~tuomov/ion/"
+LICENSE = "LGPL"
+PROVIDES += "ion"
+SECTION = "x11/wm"
+SNAPDATE = "${@(bb.data.getVar('PV', d, 1) or '')[-8:]}"
+
+# Currently excluded from world builds due to requiring a full libX11
+# rather than diet.
+BROKEN = "1"
+
+SRC_URI = "http://modeemi.fi/~tuomov/ion/dl/ion-3ds-${SNAPDATE}.tar.gz \
+ file://201_fix-paths.diff;patch=1 \
+ file://202_fix-menus.diff;patch=1 \
+ file://203_fix-kludges.diff;patch=1 \
+ file://204_fix-bindings.diff;patch=1 \
+ file://205_ion-lock.diff;patch=1 \
+ file://206_use-xterm.diff;patch=1 \
+ file://luaconfig.patch;patch=1 \
+ file://cross.patch;patch=1"
+S = "${WORKDIR}/ion-3ds-${SNAPDATE}"
+
+EXTRA_OECONF += "--disable-xinerama --disable-xfree86-textprop-bug-workaround \
+ --disable-Xutf8 --disable-sun-fix-remap --enable-shared \
+ --with-lua-prefix=${STAGING_BINDIR_NATIVE}/.. \
+ --x-libraries=${STAGING_LIBDIR} \
+ --x-includes=${STAGING_INCDIR}"
+
+inherit autotools