diff options
Diffstat (limited to 'x11-wm/ion3')
-rw-r--r-- | x11-wm/ion3/ChangeLog | 12 | ||||
-rw-r--r-- | x11-wm/ion3/Manifest | 41 | ||||
-rw-r--r-- | x11-wm/ion3/files/20070902/201_all_fix-paths.patch | 75 | ||||
-rw-r--r-- | x11-wm/ion3/files/20070902/202_all_fix-menus.patch | 13 | ||||
-rw-r--r-- | x11-wm/ion3/files/20070902/205_all_ion-lock.patch | 22 | ||||
-rw-r--r-- | x11-wm/ion3/files/20070902/208_all_as-needed.patch | 12 | ||||
-rw-r--r-- | x11-wm/ion3/files/digest-ion3-20070720-r1 | 6 | ||||
-rw-r--r-- | x11-wm/ion3/files/digest-ion3-20070902 | 6 | ||||
-rw-r--r-- | x11-wm/ion3/files/ion3-scripts-20070902.tar.bz2 | bin | 0 -> 103961 bytes | |||
-rw-r--r-- | x11-wm/ion3/files/xft-ion3-20070902.patch | 669 | ||||
-rw-r--r-- | x11-wm/ion3/ion3-20070902.ebuild | 200 |
11 files changed, 1052 insertions, 4 deletions
diff --git a/x11-wm/ion3/ChangeLog b/x11-wm/ion3/ChangeLog index 7a03d13..42d93c8 100644 --- a/x11-wm/ion3/ChangeLog +++ b/x11-wm/ion3/ChangeLog @@ -2,6 +2,18 @@ # Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ChangeLog,v 1.55 2007/06/05 13:29:53 mabi Exp $ +*ion3-20070902 (04 September 2007) + + 04 Sep 2007; Matti Bickel <mabi@gentoo.org> + -to much, + +files/ion3-scripts-2007092.tar.bz2, + +files/xft-ion3-20070902.patch, + +files/20070902/201_all_fix-paths.patch, + +files/20070902/202_all_fix-menus.patch, + +files/20070902/205_all_ion-lock.patch, + +files/20070902/208_all_as-needed.patch, +ion3-20070902.ebuild: + version bump. + 17 Jul 2007; Matti Bickel <mabi@gentoo.org> -ion3-20070720.ebuild, +ion3-20070720-r1.ebuild: diff --git a/x11-wm/ion3/Manifest b/x11-wm/ion3/Manifest index f2ef6ec..42ca7b8 100644 --- a/x11-wm/ion3/Manifest +++ b/x11-wm/ion3/Manifest @@ -14,6 +14,22 @@ AUX 20070720/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2 MD5 477892385b4dd0708761fe54886459d7 files/20070720/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070720/208_all_as-needed.patch 350 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070720/208_all_as-needed.patch 350 +AUX 20070902/201_all_fix-paths.patch 2197 RMD160 0b8e10fec59bc47421e1a03c912c94cde4442282 SHA1 77f8b846aec55e48fbffb71306458c75baf806a5 SHA256 b22f7202f51ff7a5a775ed6cfa2cced23716a9ec5bad29538eab6632748802b6 +MD5 b6a97e57804b8c383f41ef27662d4cdb files/20070902/201_all_fix-paths.patch 2197 +RMD160 0b8e10fec59bc47421e1a03c912c94cde4442282 files/20070902/201_all_fix-paths.patch 2197 +SHA256 b22f7202f51ff7a5a775ed6cfa2cced23716a9ec5bad29538eab6632748802b6 files/20070902/201_all_fix-paths.patch 2197 +AUX 20070902/202_all_fix-menus.patch 990 RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 SHA1 ef72a6d5b100c8148d96f6718bc95a456a3b51eb SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af +MD5 aecae9e8f4e48e9b74532a3309643598 files/20070902/202_all_fix-menus.patch 990 +RMD160 a49c2e8c44c4c7ddceae989a0637cb4ca51647f4 files/20070902/202_all_fix-menus.patch 990 +SHA256 2f9404a884e28f9d7ff42ba6ae24df99436b7a9f3c75560282fb87daa9fdf9af files/20070902/202_all_fix-menus.patch 990 +AUX 20070902/205_all_ion-lock.patch 780 RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 SHA1 6bd0278dd7d56fd9f1025fae8a00db24bf0e781f SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae +MD5 4f2dcedcbf6d885723d1b888f0aacb87 files/20070902/205_all_ion-lock.patch 780 +RMD160 9834836d55fb390f06d8e3c1ea821ef01c1a74b8 files/20070902/205_all_ion-lock.patch 780 +SHA256 ea4ad810355fab8a848e6506a6a2762b5ab9c37f28a7edac73030e6026bc3fae files/20070902/205_all_ion-lock.patch 780 +AUX 20070902/208_all_as-needed.patch 350 RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 SHA1 2a59201ad480f35e7553c4bd470c696fc5dc0436 SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 +MD5 477892385b4dd0708761fe54886459d7 files/20070902/208_all_as-needed.patch 350 +RMD160 d4a5d21442b8cdb618e116dd542389b2c6a0d442 files/20070902/208_all_as-needed.patch 350 +SHA256 0bedd444e6384f35f6b37c4ec2848150f25ae1d1b93fe5062934887786cba893 files/20070902/208_all_as-needed.patch 350 AUX ion3-mod-ionflux-20070512.tar.bz2 12770 RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 SHA1 d482654557104adfbf6d184e44f87a993577720a SHA256 63c4902159923aa02921e39aa7746ca8819ba1c216efa8fa6384fd093f60d18c MD5 c8c2d7b039f751db017275f5f977702e files/ion3-mod-ionflux-20070512.tar.bz2 12770 RMD160 8e834de0c3048b676bc5c5d5454aedac09129eb3 files/ion3-mod-ionflux-20070512.tar.bz2 12770 @@ -26,6 +42,10 @@ AUX ion3-scripts-20070708.tar.bz2 102282 RMD160 ec4b85a9362ed0ba0975eb9fef485277 MD5 0f4166b2330577eb60e7c3027a327c73 files/ion3-scripts-20070708.tar.bz2 102282 RMD160 ec4b85a9362ed0ba0975eb9fef48527775f8962f files/ion3-scripts-20070708.tar.bz2 102282 SHA256 c7f4410796ae559610499250bfee7d214b6248d334d08852e3f54f3d163dea3d files/ion3-scripts-20070708.tar.bz2 102282 +AUX ion3-scripts-20070902.tar.bz2 103961 RMD160 8a58bc09d81f13dd8b2df27662907ec793bccedf SHA1 bf61ce4f6c3e3634411fca4e09cabd73f051c975 SHA256 b8c1fc03257c2f347f186e33dea19d2a294e41560e703b63d8fe68db93ef5cac +MD5 89855df8c92334f75dc7926c31e1db29 files/ion3-scripts-20070902.tar.bz2 103961 +RMD160 8a58bc09d81f13dd8b2df27662907ec793bccedf files/ion3-scripts-20070902.tar.bz2 103961 +SHA256 b8c1fc03257c2f347f186e33dea19d2a294e41560e703b63d8fe68db93ef5cac files/ion3-scripts-20070902.tar.bz2 103961 AUX ion3.desktop 217 RMD160 438917d6c0370e7a368598ea611ec7658312627d SHA1 cf5cd1f09faf7530f8cb2f832a17c0cf893541c4 SHA256 4742797e200b956abf3d0b94d860aa7430c9f67a97f3640ef2c28168fa773bb9 MD5 00450ed1292b72e2be71b9860c4db6ee files/ion3.desktop 217 RMD160 438917d6c0370e7a368598ea611ec7658312627d files/ion3.desktop 217 @@ -38,16 +58,26 @@ AUX xft-ion3-20070608.patch 18375 RMD160 2510ae25502346f0347eafce8a313aac4db2a36 MD5 68f3da20b45ec583347b5325d9062e19 files/xft-ion3-20070608.patch 18375 RMD160 2510ae25502346f0347eafce8a313aac4db2a36c files/xft-ion3-20070608.patch 18375 SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f files/xft-ion3-20070608.patch 18375 +AUX xft-ion3-20070902.patch 18375 RMD160 2510ae25502346f0347eafce8a313aac4db2a36c SHA1 ae75b297d6cf8c3f5dfd3793c22d754369f982bb SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f +MD5 68f3da20b45ec583347b5325d9062e19 files/xft-ion3-20070902.patch 18375 +RMD160 2510ae25502346f0347eafce8a313aac4db2a36c files/xft-ion3-20070902.patch 18375 +SHA256 1db26c1db08b9a87530ef29ad2538cf191bc5d08630cc776f1dbd61940eff21f files/xft-ion3-20070902.patch 18375 DIST ion-3rc-20070720.tar.gz 655409 RMD160 a97944850d88b81dd20d234f3f114e9f3038d0b3 SHA1 583042c8c713d0e12146369d2775ae80d5f9be2d SHA256 c1d412444bbcbb541adab4efd9fecb131065f3c8c908b2fe9dd17707ac03df61 +DIST ion-3rc-20070902.tar.gz 655566 RMD160 abca8f424869cc78d8880c869981c796c8e7dd83 SHA1 24762d3677cc64754b4649d24c8fb17aa78156d2 SHA256 b42321986a84e16f95ad2e3d955749e0c3edaca0e7d202230c90fcdf5f064a18 DIST ion-doc-3rc-20070720.tar.gz 669878 RMD160 d485145fd8493bebe3c5076605c86d427c8105fb SHA1 0b600ec1d95fb87732d46757eb560c6d6214d150 SHA256 6da15a64ac01c0e1df0548214dfb3bc5874006f31a2c84fe160127829301dd99 +DIST ion-doc-3rc-20070902.tar.gz 670268 RMD160 9d561a72cfcdeab5f4e4af42cb8b5f7e233a8f05 SHA1 046cc879e7d17ec5893785eb06f618a8f26c5092 SHA256 a5f12b469c013c77dcc3c0a9d56f02009f974cb6f9b3b15bdda2b826145ed585 EBUILD ion3-20070720-r1.ebuild 5446 RMD160 52e2858870fc7c9a089be4a13e59076ac8d4b586 SHA1 5bff7cb1d6cdf57fdf8e4cdde07e05b45659eaa8 SHA256 aeb691c48baf838191a4faa08462b2fea37bdb9bf9ccd74293bb7cd089844615 MD5 223dfa52c975c17198645b03d48ea0c2 ion3-20070720-r1.ebuild 5446 RMD160 52e2858870fc7c9a089be4a13e59076ac8d4b586 ion3-20070720-r1.ebuild 5446 SHA256 aeb691c48baf838191a4faa08462b2fea37bdb9bf9ccd74293bb7cd089844615 ion3-20070720-r1.ebuild 5446 -MISC ChangeLog 11171 RMD160 76f86e4b5d4ae60a3cf9bb8282bb226404058700 SHA1 ce71d65625a2ecfad87c75bc5128d01a432c6672 SHA256 f69000c02d84e7f7cfa863c179fc01b20ec51a79492c5f3ffcc370c6cfead637 -MD5 ea907c75958c0a3358bc80a72f66e92b ChangeLog 11171 -RMD160 76f86e4b5d4ae60a3cf9bb8282bb226404058700 ChangeLog 11171 -SHA256 f69000c02d84e7f7cfa863c179fc01b20ec51a79492c5f3ffcc370c6cfead637 ChangeLog 11171 +EBUILD ion3-20070902.ebuild 5446 RMD160 4ccd24893ff1efb89b7cb702861a9ca9128def3a SHA1 4de829a55b09c2d281081294b93a0372d29ec512 SHA256 18bac5e9e2ffab81b570a05770a073b2d9197f236238bb3e83fc8adb46831466 +MD5 f946b3f4bfeb6283ed4dff1247d27e01 ion3-20070902.ebuild 5446 +RMD160 4ccd24893ff1efb89b7cb702861a9ca9128def3a ion3-20070902.ebuild 5446 +SHA256 18bac5e9e2ffab81b570a05770a073b2d9197f236238bb3e83fc8adb46831466 ion3-20070902.ebuild 5446 +MISC ChangeLog 11549 RMD160 1cc7b7a51a33647c53a84940a6d62c67f8ad02de SHA1 6ad4954e77aadd9ec193d143a7995639a6c2fe55 SHA256 77a065d1017f06d5c768dca7c352d004c9760369a7e83748e72c496004d58369 +MD5 e64bb33e131a56fb302e29c940e61b05 ChangeLog 11549 +RMD160 1cc7b7a51a33647c53a84940a6d62c67f8ad02de ChangeLog 11549 +SHA256 77a065d1017f06d5c768dca7c352d004c9760369a7e83748e72c496004d58369 ChangeLog 11549 MISC metadata.xml 248 RMD160 7e7a4fe276728c6c4d6d0face7f0708dae9776d7 SHA1 b16dc683091d4a7cee7f9b8a6d6034a257df80b0 SHA256 3f6027d293a7bd953fd444ba8a1345ca6b9c00c28b35e8328386b9635d8eb71f MD5 c4aada614ade13541606f0901dffd61f metadata.xml 248 RMD160 7e7a4fe276728c6c4d6d0face7f0708dae9776d7 metadata.xml 248 @@ -55,3 +85,6 @@ SHA256 3f6027d293a7bd953fd444ba8a1345ca6b9c00c28b35e8328386b9635d8eb71f metadata MD5 3a5a7bfbd608419f59019b16bd135cdf files/digest-ion3-20070720-r1 512 RMD160 13d7dbaadb91e61680eaa0c870230f21c99d5dd6 files/digest-ion3-20070720-r1 512 SHA256 c94d9a2728ff29b461dc7a66249ffe3eb88fd9ec3d5d6a92dd88aa6744debb65 files/digest-ion3-20070720-r1 512 +MD5 4773fc3748eefe0a68234b715dea1b78 files/digest-ion3-20070902 512 +RMD160 09ea1732091be54936155c6704ee394748fea406 files/digest-ion3-20070902 512 +SHA256 5b3c0bc831a227e98d05cf05a137af586d38a245f38a65b7e04963afccd83734 files/digest-ion3-20070902 512 diff --git a/x11-wm/ion3/files/20070902/201_all_fix-paths.patch b/x11-wm/ion3/files/20070902/201_all_fix-paths.patch new file mode 100644 index 0000000..cb27bfc --- /dev/null +++ b/x11-wm/ion3/files/20070902/201_all_fix-paths.patch @@ -0,0 +1,75 @@ +--- ion-3rc-20070708.orig/system.mk 2007-07-14 12:40:45.000000000 +0200 ++++ ion-3rc-20070708/system.mk 2007-07-14 15:54:39.000000000 +0200 +@@ -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 +@@ -56,18 +56,18 @@ + + # If you have installed Lua 5.1 from the official tarball without changing + # paths, this should do it. +-LUA_DIR=/usr/local +-LUA_LIBS = -L$(LUA_DIR)/lib -llua +-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 ++#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=`pkg-config --libs lua5.1` +-#LUA_INCLUDES=`pkg-config --cflags lua5.1` +-#LUA=/usr/bin/lua5.1 +-#LUAC=/usr/bin/luac5.1 ++LUA_LIBS=`pkg-config --libs lua` ++LUA_INCLUDES=`pkg-config --cflags lua` ++LUA=/usr/bin/lua ++LUAC=/usr/bin/luac + + + ## +@@ -104,7 +104,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) + # without even dummy multibyte/widechar and localisation support, you may +@@ -143,14 +143,14 @@ + + #C89_SOURCE=-ansi + +-#POSIX_SOURCE=-D_POSIX_C_SOURCE=200112L ++POSIX_SOURCE=-D_POSIX_C_SOURCE=200112L + + # 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/x11-wm/ion3/files/20070902/202_all_fix-menus.patch b/x11-wm/ion3/files/20070902/202_all_fix-menus.patch new file mode 100644 index 0000000..c2d77c8 --- /dev/null +++ b/x11-wm/ion3/files/20070902/202_all_fix-menus.patch @@ -0,0 +1,13 @@ +diff -Naur ../work/ion-3ds-20061223/etc/cfg_ioncore.lua ion-3ds-20061223/etc/cfg_ioncore.lua +--- ../work/ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-23 17:59:43.000000000 +0300 ++++ ion-3ds-20061223/etc/cfg_ioncore.lua 2006-12-31 15:35:59.000000000 +0300 +@@ -331,7 +331,8 @@ + defmenu("mainmenu", { + menuentry("Run...", "mod_query.query_exec(_)"), + menuentry("Terminal", "ioncore.exec_on(_, XTERM or 'xterm')"), +- 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"), diff --git a/x11-wm/ion3/files/20070902/205_all_ion-lock.patch b/x11-wm/ion3/files/20070902/205_all_ion-lock.patch new file mode 100644 index 0000000..dda2016 --- /dev/null +++ b/x11-wm/ion3/files/20070902/205_all_ion-lock.patch @@ -0,0 +1,22 @@ +diff -Nur ion3-20050322.orig/utils/Makefile ion3-20050322/utils/Makefile +--- ion3-20050322.orig/utils/Makefile 2005-03-22 14:31:06.000000000 +0000 ++++ ion3-20050322/utils/Makefile 2005-03-22 16:29:37.197355881 +0000 +@@ -11,7 +11,7 @@ + SUBDIRS=ion-completefile + INSTALL_SUBDIRS=$(SUBDIRS) + +-SHELLSCRIPTS = ion-runinxterm ion-completeman ++SHELLSCRIPTS = ion-runinxterm ion-completeman ion-lock + + TARGETS = ion-completeman + +diff -Nur ion3-20050322.orig/utils/ion-lock ion3-20050322/utils/ion-lock +--- ion3-20050322.orig/utils/ion-lock 1970-01-01 00:00:00.000000000 +0000 ++++ ion3-20050322/utils/ion-lock 2005-03-22 16:29:19.550092305 +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/x11-wm/ion3/files/20070902/208_all_as-needed.patch b/x11-wm/ion3/files/20070902/208_all_as-needed.patch new file mode 100644 index 0000000..662a078 --- /dev/null +++ b/x11-wm/ion3/files/20070902/208_all_as-needed.patch @@ -0,0 +1,12 @@ +diff -uNr ion-3ds-20070318.orig/de/Makefile ion-3ds-20070318/de/Makefile +--- ion-3ds-20070318.orig/de/Makefile 2007-03-18 21:31:37.000000000 +0100 ++++ ion-3ds-20070318/de/Makefile 2007-04-30 17:30:23.000000000 +0200 +@@ -17,6 +17,8 @@ + + MAKE_EXPORTS=de + ++LDFLAGS+=-lXext ++ + ###################################### + + include $(TOPDIR)/build/rules.mk diff --git a/x11-wm/ion3/files/digest-ion3-20070720-r1 b/x11-wm/ion3/files/digest-ion3-20070720-r1 new file mode 100644 index 0000000..cfd9c1a --- /dev/null +++ b/x11-wm/ion3/files/digest-ion3-20070720-r1 @@ -0,0 +1,6 @@ +MD5 cef18d7a4aa476b400ecf722c57f6e6a ion-3rc-20070720.tar.gz 655409 +RMD160 a97944850d88b81dd20d234f3f114e9f3038d0b3 ion-3rc-20070720.tar.gz 655409 +SHA256 c1d412444bbcbb541adab4efd9fecb131065f3c8c908b2fe9dd17707ac03df61 ion-3rc-20070720.tar.gz 655409 +MD5 27f2d86dda6f9afc9e7c439d85427cd0 ion-doc-3rc-20070720.tar.gz 669878 +RMD160 d485145fd8493bebe3c5076605c86d427c8105fb ion-doc-3rc-20070720.tar.gz 669878 +SHA256 6da15a64ac01c0e1df0548214dfb3bc5874006f31a2c84fe160127829301dd99 ion-doc-3rc-20070720.tar.gz 669878 diff --git a/x11-wm/ion3/files/digest-ion3-20070902 b/x11-wm/ion3/files/digest-ion3-20070902 new file mode 100644 index 0000000..6827700 --- /dev/null +++ b/x11-wm/ion3/files/digest-ion3-20070902 @@ -0,0 +1,6 @@ +MD5 cdaff06fd9519c593f898a81ce01b5f9 ion-3rc-20070902.tar.gz 655566 +RMD160 abca8f424869cc78d8880c869981c796c8e7dd83 ion-3rc-20070902.tar.gz 655566 +SHA256 b42321986a84e16f95ad2e3d955749e0c3edaca0e7d202230c90fcdf5f064a18 ion-3rc-20070902.tar.gz 655566 +MD5 24c60a4a2d4eeb554dc8a3d76a9c637d ion-doc-3rc-20070902.tar.gz 670268 +RMD160 9d561a72cfcdeab5f4e4af42cb8b5f7e233a8f05 ion-doc-3rc-20070902.tar.gz 670268 +SHA256 a5f12b469c013c77dcc3c0a9d56f02009f974cb6f9b3b15bdda2b826145ed585 ion-doc-3rc-20070902.tar.gz 670268 diff --git a/x11-wm/ion3/files/ion3-scripts-20070902.tar.bz2 b/x11-wm/ion3/files/ion3-scripts-20070902.tar.bz2 Binary files differnew file mode 100644 index 0000000..b54ad56 --- /dev/null +++ b/x11-wm/ion3/files/ion3-scripts-20070902.tar.bz2 diff --git a/x11-wm/ion3/files/xft-ion3-20070902.patch b/x11-wm/ion3/files/xft-ion3-20070902.patch new file mode 100644 index 0000000..0cff558 --- /dev/null +++ b/x11-wm/ion3/files/xft-ion3-20070902.patch @@ -0,0 +1,669 @@ +diff -Naur ../work/ion-3/de/brush.c ion-3ds-20070203/de/brush.c +--- ../work/ion-3/de/brush.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.c 2007-02-21 13:11:57.000000000 +0300 +@@ -47,6 +47,9 @@ + + gr_stylespec_init(&brush->current_attr); + ++#ifdef XFT ++ brush->draw=NULL; ++#endif /* XFT */ + style->usecount++; + + if(!grbrush_init(&(brush->grbrush))){ +@@ -127,6 +130,10 @@ + { + destyle_unref(brush->d); + brush->d=NULL; ++#ifdef XFT ++ if(brush->draw!=NULL) ++ XftDrawDestroy(brush->draw); ++#endif /* XFT */ + gr_stylespec_unalloc(&brush->current_attr); + grbrush_deinit(&(brush->grbrush)); + } +@@ -138,6 +145,21 @@ + } + + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d) ++{ ++ if(brush->draw==NULL) ++ brush->draw=XftDrawCreate(ioncore_g.dpy, d, ++ XftDEDefaultVisual(), ++ DefaultColormap(ioncore_g.dpy, ++ 0)); ++ else ++ XftDrawChange(brush->draw, d); ++ ++ return brush->draw; ++} ++#endif ++ + /*}}}*/ + + +diff -Naur ../work/ion-3/de/brush.h ion-3ds-20070203/de/brush.h +--- ../work/ion-3/de/brush.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/brush.h 2007-02-21 13:11:57.000000000 +0300 +@@ -17,6 +17,9 @@ + #include <ioncore/common.h> + #include <ioncore/gr.h> + #include <ioncore/rectangle.h> ++#ifdef XFT ++#include <X11/Xft/Xft.h> ++#endif /* XFT */ + + INTRCLASS(DEBrush); + +@@ -36,6 +39,9 @@ + DECLCLASS(DEBrush){ + GrBrush grbrush; + DEStyle *d; ++#ifdef XFT ++ XftDraw *draw; ++#endif + DEBrushExtrasFn *extras_fn; + int indicator_w; + Window win; +@@ -111,5 +117,8 @@ + extern void debrush_fill_area(DEBrush *brush, const WRectangle *geom); + extern void debrush_clear_area(DEBrush *brush, const WRectangle *geom); + ++#ifdef XFT ++XftDraw *debrush_get_draw(DEBrush *brush, Drawable d); ++#endif + + #endif /* ION_DE_BRUSH_H */ +diff -Naur ../work/ion-3/de/colour.c ion-3ds-20070203/de/colour.c +--- ../work/ion-3/de/colour.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.c 2007-02-21 13:11:57.000000000 +0300 +@@ -15,9 +15,21 @@ + + bool de_alloc_colour(WRootWin *rootwin, DEColour *ret, const char *name) + { ++#ifndef XFT + XColor c; + bool ok=FALSE; ++#else /* XFT */ ++ if(name==NULL) ++ return FALSE; ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ name, ++ ret); ++#endif /* XFT */ + ++#ifndef XFT + if(name==NULL) + return FALSE; + +@@ -28,11 +40,13 @@ + } + + return ok; ++#endif /* ! XFT */ + } + + + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out) + { ++#ifndef XFT + XColor c; + c.pixel=in; + XQueryColor(ioncore_g.dpy, rootwin->default_cmap, &c); +@@ -41,11 +55,20 @@ + return TRUE; + } + return FALSE; ++#else /* XFT */ ++ return XftColorAllocName( ++ ioncore_g.dpy, ++ XftDEDefaultVisual(), ++ rootwin->default_cmap, ++ &(in.color), ++ out); ++#endif /* XFT */ + } + + + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg) + { ++#ifndef XFT + DEColour pixels[5]; + + pixels[0]=cg->bg; +@@ -57,15 +80,26 @@ + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 5, 0); + + gr_stylespec_unalloc(&cg->spec); ++#else /* XFT */ ++ de_free_colour(rootwin, cg->bg); ++ de_free_colour(rootwin, cg->fg); ++ de_free_colour(rootwin, cg->hl); ++ de_free_colour(rootwin, cg->sh); ++ de_free_colour(rootwin, cg->pad); ++#endif /* XFT */ + } + + + void de_free_colour(WRootWin *rootwin, DEColour col) + { ++#ifndef XFT + DEColour pixels[1]; + + pixels[0]=col; + + XFreeColors(ioncore_g.dpy, rootwin->default_cmap, pixels, 1, 0); ++#else /* XFT */ ++ XftColorFree(ioncore_g.dpy, XftDEDefaultVisual(), rootwin->default_cmap, &col); ++#endif /* XFT */ + } + +diff -Naur ../work/ion-3/de/colour.h ion-3ds-20070203/de/colour.h +--- ../work/ion-3/de/colour.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/colour.h 2007-02-21 13:11:57.000000000 +0300 +@@ -15,12 +15,19 @@ + #include <ioncore/common.h> + #include <ioncore/global.h> + #include <ioncore/rootwin.h> ++#ifdef XFT ++#include <X11/Xft/Xft.h> ++#endif /* XFT */ + + + INTRSTRUCT(DEColourGroup); + + ++#ifndef XFT + typedef unsigned long DEColour; ++#else /* XFT */ ++typedef XftColor DEColour; ++#endif /* XFT */ + + + DECLSTRUCT(DEColourGroup){ +@@ -37,5 +44,6 @@ + bool de_duplicate_colour(WRootWin *rootwin, DEColour in, DEColour *out); + void de_free_colour_group(WRootWin *rootwin, DEColourGroup *cg); + void de_free_colour(WRootWin *rootwin, DEColour col); ++#define XftDEDefaultVisual() DefaultVisual(ioncore_g.dpy, 0) + + #endif /* ION_DE_COLOUR_H */ +diff -Naur ../work/ion-3/de/draw.c ion-3ds-20070203/de/draw.c +--- ../work/ion-3/de/draw.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/draw.c 2007-02-21 13:11:57.000000000 +0300 +@@ -22,6 +22,14 @@ + #include <X11/extensions/shape.h> + + ++#ifndef XFT ++#define PIXEL(x) x ++#else /* XFT */ ++#define PIXEL(x) x.pixel ++#endif /* XFT */ ++ ++ ++ + /*{{{ Colour group lookup */ + + +@@ -86,8 +94,7 @@ + w--; + h--; + +- XSetForeground(ioncore_g.dpy, gc, tlc); +- ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); + + a=(br!=0); + b=0; +@@ -104,9 +111,8 @@ + + XDrawLines(ioncore_g.dpy, win, gc, points, 3, CoordModeOrigin); + } +- + +- XSetForeground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); + + a=(tl!=0); + b=0; +@@ -143,23 +143,23 @@ + GrBorderLine line) + { + if(line==GR_BORDERLINE_LEFT && geom->h>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, tl, geom->h); + geom->x+=tl; + }else if(line==GR_BORDERLINE_TOP && geom->w>0 && tl>0){ +- XSetForeground(ioncore_g.dpy, gc, tlc); +- XSetBackground(ioncore_g.dpy, gc, tlc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(tlc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(tlc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y, geom->w, tl); + geom->y+=tl; + }else if(line==GR_BORDERLINE_RIGHT && geom->h>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x+geom->w-br, geom->y, br, geom->h); + geom->w-=br; + }else if(line==GR_BORDERLINE_BOTTOM && geom->w>0 && br>0){ +- XSetForeground(ioncore_g.dpy, gc, brc); +- XSetBackground(ioncore_g.dpy, gc, brc); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(brc)); ++ XSetBackground(ioncore_g.dpy, gc, PIXEL(brc)); + XFillRectangle(ioncore_g.dpy, win, gc, geom->x, geom->y+geom->h-br, geom->w, br); + geom->h-=br; + } +@@ -293,7 +299,7 @@ + } + + if(ISSET(a2, GR_ATTR(tagged)) || ISSET(a1, GR_ATTR(tagged))){ +- XSetForeground(ioncore_g.dpy, d->copy_gc, cg->fg); ++ XSetForeground(ioncore_g.dpy, d->copy_gc, PIXEL(cg->fg)); + + copy_masked(brush, d->tag_pixmap, brush->win, 0, 0, + d->tag_pixmap_w, d->tag_pixmap_h, +@@ -348,7 +354,7 @@ + GC gc=brush->d->normal_gc; + + if(TRUE/*needfill*/){ +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, geom->x, geom->y, + geom->w, geom->h); + } +@@ -513,7 +519,7 @@ + attr.background_pixmap=ParentRelative; + }else{ + attrflags=CWBackPixel; +- attr.background_pixel=brush->d->cgrp.bg; ++ attr.background_pixel=brush->d->PIXEL(cgrp.bg); + } + + XChangeWindowAttributes(ioncore_g.dpy, brush->win, attrflags, &attr); +@@ -529,7 +535,7 @@ + if(cg==NULL) + return; + +- XSetForeground(ioncore_g.dpy, gc, cg->bg); ++ XSetForeground(ioncore_g.dpy, gc, PIXEL(cg->bg)); + XFillRectangle(ioncore_g.dpy, brush->win, gc, + geom->x, geom->y, geom->w, geom->h); + } +diff -Naur ../work/ion-3/de/font.c ion-3ds-20070203/de/font.c +--- ../work/ion-3/de/font.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.c 2007-02-21 13:11:57.000000000 +0300 +@@ -14,7 +14,9 @@ + #include <libtu/objp.h> + #include <ioncore/common.h> + #include "font.h" ++#ifndef XFT + #include "fontset.h" ++#endif /* ! XFT */ + #include "brush.h" + + +@@ -26,6 +28,9 @@ + + DEFont *de_load_font(const char *fontname) + { ++#ifdef XFT ++ XftFont *font; ++#endif + DEFont *fnt; + XFontSet fontset=NULL; + XFontStruct *fontstruct=NULL; +@@ -40,6 +45,7 @@ + } + } + ++#ifndef XFT + if(ioncore_g.use_mb){ + fontset=de_create_font_set(fontname); + if(fontset!=NULL){ +@@ -66,13 +72,34 @@ + return NULL; + } + ++#else /* XFT */ ++ if(strncmp(fontname, "xft:", 4)==0){ ++ font=XftFontOpenName(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), ++ fontname+4); ++ }else{ ++ font=XftFontOpenXlfd(ioncore_g.dpy, DefaultScreen(ioncore_g.dpy), fontname); ++ } ++ ++ if(font==NULL){ ++ if(strcmp(fontname, CF_FALLBACK_FONT_NAME)!=0){ ++ warn(TR("Could not load font \"%s\", trying \"%s\""), ++ fontname, CF_FALLBACK_FONT_NAME); ++ return de_load_font(CF_FALLBACK_FONT_NAME); ++ } ++ return NULL; ++ } ++#endif /* XFT */ + fnt=ALLOC(DEFont); + + if(fnt==NULL) + return NULL; + ++#ifndef XFT + fnt->fontset=fontset; + fnt->fontstruct=fontstruct; ++#else ++ fnt->font=font; ++#endif + fnt->pattern=scopy(fontname); + fnt->next=NULL; + fnt->prev=NULL; +@@ -92,11 +119,13 @@ + style->font=font; + font->refcount++; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -111,11 +140,13 @@ + if(style->font==NULL) + return FALSE; + ++#ifndef XFT + if(style->font->fontstruct!=NULL){ + XSetFont(ioncore_g.dpy, style->normal_gc, + style->font->fontstruct->fid); + } + ++#endif /* ! XFT */ + return TRUE; + } + +@@ -125,10 +156,15 @@ + if(--font->refcount!=0) + return; + ++#ifndef XFT + if(font->fontset!=NULL) + XFreeFontSet(ioncore_g.dpy, font->fontset); + if(font->fontstruct!=NULL) + XFreeFont(ioncore_g.dpy, font->fontstruct); ++#else /* XFT */ ++ if(font->font!=NULL) ++ XftFontClose(ioncore_g.dpy, font->font); ++#endif /* XFT */ + if(font->pattern!=NULL) + free(font->pattern); + +@@ -156,6 +192,7 @@ + + void defont_get_font_extents(DEFont *font, GrFontExtents *fnte) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XFontSetExtents *ext=XExtentsOfFontSet(font->fontset); + if(ext==NULL) +@@ -171,7 +208,14 @@ + fnte->baseline=fnt->ascent; + return; + } +- ++#else /* XFT */ ++ if(font->font!=NULL){ ++ fnte->max_height=font->font->ascent+font->font->descent; ++ fnte->max_width=font->font->max_advance_width; ++ fnte->baseline=font->font->ascent; ++ return; ++ } ++#endif /* XFT */ + fail: + DE_RESET_FONT_EXTENTS(fnte); + } +@@ -188,20 +232,35 @@ + + uint defont_get_text_width(DEFont *font, const char *text, uint len) + { ++#ifndef XFT + if(font->fontset!=NULL){ + XRectangle lext; + #ifdef CF_DE_USE_XUTF8 +- if(ioncore_g.enc_utf8) +- Xutf8TextExtents(font->fontset, text, len, NULL, &lext); +- else ++ if(ioncore_g.enc_utf8) ++ Xutf8TextExtents(font->fontset, text, len, NULL, &lext); ++ else + #endif +- XmbTextExtents(font->fontset, text, len, NULL, &lext); +- return lext.width; ++ XmbTextExtents(font->fontset, text, len, NULL, &lext); ++ return lext.width; + }else if(font->fontstruct!=NULL){ + return XTextWidth(font->fontstruct, text, len); + }else{ + return 0; + } ++#else /* XFT */ ++ if(font->font!=NULL){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font->font, (XftChar8 *)text, len, ++ &extents); ++ return extents.xOff; ++ }else{ ++ return 0; ++ } ++#endif /* XFT */ + } + + +@@ -211,6 +270,7 @@ + /*{{{ String drawing */ + + ++#ifndef XFT + void debrush_do_draw_string_default(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, + DEColourGroup *colours) +@@ -256,6 +316,41 @@ + } + } + ++#else /* XFT */ ++void debrush_do_draw_string_default(DEBrush *brush, ++ int x, int y, const char *str, ++ int len, bool needfill, ++ DEColourGroup *colours) ++{ ++ Window win = brush->win; ++ GC gc=brush->d->normal_gc; ++ XftDraw *draw; ++ XftFont *font; ++ ++ if(brush->d->font==NULL) ++ return; ++ ++ font=brush->d->font->font; ++ draw=debrush_get_draw(brush, win); ++ ++ if(needfill){ ++ XGlyphInfo extents; ++ if(ioncore_g.enc_utf8) ++ XftTextExtentsUtf8(ioncore_g.dpy, font, (XftChar8 *)str, len, ++ &extents); ++ else ++ XftTextExtents8(ioncore_g.dpy, font, (XftChar8 *)str, len, &extents); ++ XftDrawRect(draw, &(colours->bg), x-extents.x, y-extents.y, ++ extents.width+10, extents.height); ++ } ++ ++ if(ioncore_g.enc_utf8) ++ XftDrawStringUtf8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, ++ len); ++ else ++ XftDrawString8(draw, &(colours->fg), font, x, y, (XftChar8 *)str, len); ++} ++#endif /* XFT */ + + void debrush_do_draw_string(DEBrush *brush, int x, int y, + const char *str, int len, bool needfill, +diff -Naur ../work/ion-3/de/font.h ion-3ds-20070203/de/font.h +--- ../work/ion-3/de/font.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/font.h 2007-02-21 13:11:57.000000000 +0300 +@@ -14,6 +14,9 @@ + + #include <ioncore/common.h> + #include <ioncore/gr.h> ++#ifdef XFT ++#include <X11/Xft/Xft.h> ++#endif /* XFT */ + + INTRSTRUCT(DEFont); + +@@ -29,6 +32,9 @@ + int refcount; + XFontSet fontset; + XFontStruct *fontstruct; ++#ifdef XFT /* XFT */ ++ XftFont *font; ++#endif /* XFT */ + DEFont *next, *prev; + }; + +diff -Naur ../work/ion-3/de/init.c ion-3ds-20070203/de/init.c +--- ../work/ion-3/de/init.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/init.c 2007-02-21 13:11:57.000000000 +0300 +@@ -165,17 +165,26 @@ + { + bool bgset; + DEColour padinh; +- ++ DEColour black, white; ++ ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif ++ + de_get_colour(rootwin, &(cg->hl), tab, "highlight_colour", +- (based_on ? based_on->cgrp.hl : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.hl : white)); + de_get_colour(rootwin, &(cg->sh), tab, "shadow_colour", +- (based_on ? based_on->cgrp.sh : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.sh : white)); + de_get_colour(rootwin, &(cg->fg), tab, "foreground_colour", +- (based_on ? based_on->cgrp.fg : DE_WHITE(rootwin))); ++ (based_on ? based_on->cgrp.fg : white)); + bgset=de_get_colour(rootwin, &(cg->bg), tab, "background_colour", +- (based_on ? based_on->cgrp.bg : DE_BLACK(rootwin))); ++ (based_on ? based_on->cgrp.bg : black)); + +- padinh=(based_on ? based_on->cgrp.pad : DE_WHITE(rootwin)); ++ padinh=(based_on ? based_on->cgrp.pad : white); + + de_get_colour_(rootwin, &(cg->pad), tab, "padding_colour", + (bgset ? cg->bg : padinh), padinh); +diff -Naur ../work/ion-3/de/style.c ion-3ds-20070203/de/style.c +--- ../work/ion-3/de/style.c 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.c 2007-02-21 13:11:57.000000000 +0300 +@@ -74,10 +74,17 @@ + /*gcv.function=GXclear;*/ + gcv.stipple=stipple_pixmap; + gcvmask=GCFillStyle|GCStipple/*|GCFunction*/; ++#ifndef XFT + if(style->font!=NULL && style->font->fontstruct!=NULL){ + gcv.font=style->font->fontstruct->fid; + gcvmask|=GCFont; + } ++#else /* XFT */ ++// if(style->font!=NULL){ ++// gcv.font=style->font; ++// gcvmask|=GCFont; ++// } ++#endif /* XFT */ + + style->stipple_gc=XCreateGC(dpy, root, gcvmask, &gcv); + XCopyGC(dpy, style->normal_gc, +@@ -205,6 +212,14 @@ + + bool destyle_init(DEStyle *style, WRootWin *rootwin, const char *name) + { ++ DEColour black, white; ++#ifdef XFT ++ de_alloc_colour(rootwin, &black, "black"); ++ de_alloc_colour(rootwin, &white, "white"); ++#else ++ black=DE_BLACK(rootwin); ++ white=DE_WHITE(rootwin); ++#endif /* XFT */ + if(!gr_stylespec_load(&style->spec, name)) + return FALSE; + +@@ -226,11 +241,11 @@ + style->textalign=DEALIGN_CENTER; + + style->cgrp_alloced=FALSE; +- style->cgrp.bg=DE_BLACK(rootwin); +- style->cgrp.pad=DE_BLACK(rootwin); +- style->cgrp.fg=DE_WHITE(rootwin); +- style->cgrp.hl=DE_WHITE(rootwin); +- style->cgrp.sh=DE_WHITE(rootwin); ++ style->cgrp.bg=black; ++ style->cgrp.pad=black; ++ style->cgrp.fg=white; ++ style->cgrp.hl=white; ++ style->cgrp.sh=white; + gr_stylespec_init(&style->cgrp.spec); + + style->font=NULL; +diff -Naur ../work/ion-3/de/style.h ion-3ds-20070203/de/style.h +--- ../work/ion-3/de/style.h 2007-02-03 17:50:52.000000000 +0300 ++++ ion-3ds-20070203/de/style.h 2007-02-21 13:11:57.000000000 +0300 +@@ -76,6 +76,7 @@ + Pixmap tag_pixmap; + int tag_pixmap_w; + int tag_pixmap_h; ++ int xft_style; + + DEStyle *next, *prev; + }; +--- ../work/ion-3/system.mk 2007-05-10 22:45:16.000000000 +0400 ++++ ion-3ds-20070203/system.mk 2007-05-10 22:45:07.000000000 +0400 +@@ -115,6 +115,16 @@ + #EXTRA_LIBS += -lintl + #EXTRA_INCLUDES += + ++## ++## Xft support ++## ++ ++#USE_XFT=1 ++ ++ifeq ($(USE_XFT),1) ++EXTRA_INCLUDES += `xft-config --cflags` -DXFT ++EXTRA_LIBS += `xft-config --libs` ++endif + + ## + ## C compiler diff --git a/x11-wm/ion3/ion3-20070902.ebuild b/x11-wm/ion3/ion3-20070902.ebuild new file mode 100644 index 0000000..0fe3cac --- /dev/null +++ b/x11-wm/ion3/ion3-20070902.ebuild @@ -0,0 +1,200 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/ion3/ion3-20070506-r1.ebuild,v 1.3 2007/06/03 15:08:02 mabi Exp $ + +inherit eutils flag-o-matic + +MY_PV=${PV/_p/-} +MY_PN=ion-3rc-${MY_PV} + +SCRIPTS_PV=20070902 +SCRIPTS_PN=ion3-scripts + +IONFLUX_PV=20070512 +IONFLUX_PN=ion3-mod-ionflux + +IONXRANDR_PV=20070410 +IONXRANDR_PN=ion3-mod-xrandr + +IONDOC_PV=20070902 +IONDOC_PN=ion-doc-3rc + +DESCRIPTION="A tiling tabbed window manager designed with keyboard users in mind" +HOMEPAGE="http://www.iki.fi/tuomov/ion/" +SRC_URI="http://iki.fi/tuomov/dl/${MY_PN}.tar.gz + doc? ( http://iki.fi/tuomov/dl/${IONDOC_PN}-${IONDOC_PV}.tar.gz )" + +LICENSE="LGPL-2.1+tuomov" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="unicode ion3-voidupstreamsupport-truetype doc" +DEPEND=" + || ( + ( + x11-libs/libICE + x11-libs/libXext + x11-libs/libSM + ion3-voidupstreamsupport-truetype? ( x11-libs/libXft ) + ) + virtual/x11 + ) + dev-util/pkgconfig + app-misc/run-mailcap + >=dev-lang/lua-5.1.1 + doc? ( dev-tex/latex2html + virtual/tetex )" + +S=${WORKDIR}/${MY_PN} + +SCRIPTS_DIRS="keybindings scripts statusbar statusd styles" +MODULES="${IONXRANDR_PN}-${IONXRANDR_PV} ${IONFLUX_PN}-${IONFLUX_PV}" + +src_unpack() { + unpack ${A} + + ln -s "${FILESDIR}"/${SCRIPTS_PN}-${SCRIPTS_PV}.tar.bz2 + unpack ./${SCRIPTS_PN}-${SCRIPTS_PV}.tar.bz2 + ln -s "${FILESDIR}"/${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + unpack ./${IONXRANDR_PN}-${IONXRANDR_PV}.tar.bz2 + ln -s "${FILESDIR}"/${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 + unpack ./${IONFLUX_PN}-${IONFLUX_PV}.tar.bz2 + + cd ${S} + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" epatch + if (use ion3-voidupstreamsupport-truetype); then + epatch ${FILESDIR}/xft-ion3-${PV}.patch + + sed -i -e "s:#USE_XFT=1:USE_XFT=1:" ${S}/system.mk + sed -i -e 's:\(#define ION_VERSION "3rc-20070608\):\1-voidupstreamsupport-xft-enabled:' ${S}/version.h + fi; + + # Allow user CFLAGS + sed -i "s:\(CFLAGS=\)-g -Os\(.*\):\1\2 ${CFLAGS}:" system.mk + + # Allow user LDFLAGS + sed -i "s:\(LDFLAGS=\)-g -Os\(.*\):\1\2 ${LDFLAGS}:" system.mk + + # XOPEN_SOURCE does give _POSIX_MONOTONIC_CLOCK, but not CLOCK_MONOTONIC, + # thus compile will fail + sed -e '/CFLAGS +=.*XOPEN_SOURCE.*C99_SOURCE/s:$: $\(POSIX_SOURCE\):' \ + -i libmainloop/Makefile + + # Don't strip ionflux + sed -i "s:-s::" "../${IONFLUX_PN}-${IONFLUX_PV}/ionflux/Makefile" + + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' Makefile */Makefile */*/Makefile build/rules.mk + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + # Rewrite install directories to be prefixed by DESTDIR for sake of portage's sandbox + sed -i Makefile */Makefile \ + -e 's!\($(INSTALL\w*)\|rm -f\|ln -s\)\(.*\)\($(\w\+DIR)\)!\1\2$(DESTDIR)\3!g' + + done + cd ${S} + + # Hey guys! Implicit rules apply to include statements also. Be more careful! + # Fix an implicit rule that will kill the installation by rewriting a .mk + # should configure be given just the right set of options. + sed -i 's!%: %.in!ion-completeman: %: %.in!g' utils/Makefile + + # Fix prestripping of files + sed -i mod_statusbar/ion-statusd/Makefile utils/ion-completefile/Makefile \ + -e 's: -s::' + + # FIX for modules + cd ${WORKDIR} + ln -s ${MY_PN} ion-3 +} + +src_compile() { + local myconf="" + + # xfree + if has_version '>=x11-base/xfree-4.3.0'; then + sed -i -e "s:DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND:" ${S}/system.mk + fi + + # help out this arch as it can't handle certain shared library linkage + use hppa && sed -i -e "s:#PRELOAD_MODULES=1:PRELOAD_MODULES=1:" ${S}/system.mk + + # unicode support + use unicode && sed -i -e "s:#DEFINES += -DCF_DE_USE_XUTF8:DEFINES += -DCF_DE_USE_XUTF8:" ${S}/system.mk + + cd ${S} + make \ + LIBDIR=/usr/$(get_libdir) \ + DOCDIR=/usr/share/doc/${PF} || die + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + make \ + LIBDIR=/usr/$(get_libdir) + done + + if ( use doc ) + then + export MT_FEATURES=varfonts + mkdir -p ${T}/var/cache/fonts + export VARTEXFONTS=${T}/var/cache/fonts + + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + make all + make all-pdf + fi +} + +src_install() { + + emake \ + DESTDIR=${D} \ + DOCDIR=/usr/share/doc/${PF} \ + install || die + + echo -e "#!/bin/sh\n/usr/bin/ion3" > ${T}/ion3 + echo -e "#!/bin/sh\n/usr/bin/pwm3" > ${T}/pwm3 + exeinto /etc/X11/Sessions + doexe ${T}/ion3 ${T}/pwm3 + + insinto /usr/share/xsessions + doins ${FILESDIR}/ion3.desktop ${FILESDIR}/pwm3.desktop + + cd ${WORKDIR}/${SCRIPTS_PN}-${SCRIPTS_PV} + insinto /usr/share/ion3 + find $SCRIPTS_DIRS -type f |\ + while read FILE + do + doins $PWD/$FILE + done + + for i in ${MODULES} + do + cd ${WORKDIR}/${i} + + emake \ + DESTDIR=${D} \ + install || die + + done + + if ( use doc ) + then + cd ${WORKDIR}/${IONDOC_PN}-${IONDOC_PV} + dodoc *.pdf + fi + + sed -i -e '/dopath("mod_sp")/a\dopath("mod_xrandr")' ${D}/etc/X11/ion3/cfg_defaults.lua +} + +pkg_postinst() { + elog "This version of ion3 contains no xinerama support (removed upstream)." + elog "Remember that USE='ion3-voidupstreamsupport-truetype' will render" + elog "upstream support for your installation of ion3 void." + elog "Thus, if you encouter a bug in ion-3, be sure to to reproduce it with a" + elog "vanilla build before reporting it upstream. You are welcome to report" + elog "any problem as a bug on http://bugs.gentoo.org." +} |