summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTavis Ormandy <taviso@gentoo.org>2004-09-08 10:00:24 +0000
committerTavis Ormandy <taviso@gentoo.org>2004-09-08 10:00:24 +0000
commit1ff0f33f6fe15a19125234fcc37ebad3445ad6b0 (patch)
treeaf7cf0df46a140959a41be000cb7ee979b78099a /x11-wm/fvwm
parentclean older ebuilds; redigest since the tarball changed upstream (diff)
downloadhistorical-1ff0f33f6fe15a19125234fcc37ebad3445ad6b0.tar.gz
historical-1ff0f33f6fe15a19125234fcc37ebad3445ad6b0.tar.bz2
historical-1ff0f33f6fe15a19125234fcc37ebad3445ad6b0.zip
64bit fix, remove outdated ebuild.
Diffstat (limited to 'x11-wm/fvwm')
-rw-r--r--x11-wm/fvwm/ChangeLog11
-rw-r--r--x11-wm/fvwm/Manifest58
-rw-r--r--x11-wm/fvwm/files/acinclude.m41766
-rw-r--r--x11-wm/fvwm/files/digest-fvwm-2.5.10-r72
-rw-r--r--x11-wm/fvwm/files/digest-fvwm-2.5.7-r52
-rw-r--r--x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff1475
-rw-r--r--x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff.gzbin0 -> 9994 bytes
-rw-r--r--x11-wm/fvwm/files/fvwm-2.5.10-long-data-elements.diff17
-rw-r--r--x11-wm/fvwm/fvwm-2.5.10-r6.ebuild4
-rw-r--r--x11-wm/fvwm/fvwm-2.5.10-r7.ebuild (renamed from x11-wm/fvwm/fvwm-2.5.7-r5.ebuild)187
10 files changed, 172 insertions, 3350 deletions
diff --git a/x11-wm/fvwm/ChangeLog b/x11-wm/fvwm/ChangeLog
index 386e2fe4c392..085ac0ce7e96 100644
--- a/x11-wm/fvwm/ChangeLog
+++ b/x11-wm/fvwm/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for x11-wm/fvwm
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/ChangeLog,v 1.78 2004/07/31 01:54:52 tgall Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/ChangeLog,v 1.79 2004/09/08 10:00:24 taviso Exp $
+
+*fvwm-2.5.10-r7 (08 Sep 2004)
+
+ 08 Sep 2004; Tavis Ormandy <taviso@gentoo.org> -files/acinclude.m4,
+ -files/fvwm-2.5.10-fvwmbuttonshover.diff,
+ +files/fvwm-2.5.10-fvwmbuttonshover.diff.gz,
+ +files/fvwm-2.5.10-long-data-elements.diff, fvwm-2.5.10-r6.ebuild,
+ +fvwm-2.5.10-r7.ebuild, -fvwm-2.5.7-r5.ebuild:
+ 64bit fix, remove outdated ebuild.
31 Jul 2004; Tom Gall <tgall@gentoo.org> fvwm-2.5.10-r6.ebuild:
stable on ppc64, bug #57040
diff --git a/x11-wm/fvwm/Manifest b/x11-wm/fvwm/Manifest
index a163e8aaa9e3..acd68fbee0f5 100644
--- a/x11-wm/fvwm/Manifest
+++ b/x11-wm/fvwm/Manifest
@@ -1,41 +1,41 @@
-MD5 9dca8eb8641ee31c310373e255d907a0 ChangeLog 14407
-MD5 2ec81c8638226c9a1cc11cf41ff5952a fvwm-2.4.18.ebuild 3132
-MD5 167d7709634ac3bd87c3848b41bd307b fvwm-2.5.10-r3.ebuild 9266
-MD5 39ea82207b26854d8d68bb711ac822dc fvwm-2.5.10-r4.ebuild 9462
MD5 b91e90b446bc591842f20d2d5842346c fvwm-2.5.10-r5.ebuild 9832
-MD5 fb0483c1671cc469aa83fedabe3aec90 fvwm-2.5.10-r6.ebuild 9910
-MD5 ef919f641b7c6f199573c8d2716fbd90 fvwm-2.5.7-r5.ebuild 8733
MD5 44b0048586a4ac683ad985c7e5fbafd1 fvwm-2.5.8-r6.ebuild 10674
+MD5 82177351c1ec7faf62f69fde530a98fc fvwm-2.5.10-r7.ebuild 9995
+MD5 39ea82207b26854d8d68bb711ac822dc fvwm-2.5.10-r4.ebuild 9462
+MD5 b23a899441a230e45a4fff6a37449370 fvwm-2.5.10-r6.ebuild 9911
+MD5 541b92cb616a3ff48c44f583f6909b58 ChangeLog 14756
MD5 4833e4d0685ef48988c0c5c4f9c6b377 metadata.xml 527
+MD5 2ec81c8638226c9a1cc11cf41ff5952a fvwm-2.4.18.ebuild 3132
+MD5 167d7709634ac3bd87c3848b41bd307b fvwm-2.5.10-r3.ebuild 9266
+MD5 2a5b6dde57161daa48ec5946e78554d7 files/fvwm-2.5.10-fvwmbuttonshover.diff.gz 9994
+MD5 d91fb7d2af57653fc93a70e6e1c0a0ea files/fvwm-menu-xlock-xlockmore-compat.diff 550
+MD5 d8a3811b3a9581c42119cdc86dff4c7d files/fvwm-2.5.10-Test-update.diff 702
MD5 e2ceb5d855c5406a09d82442196efad8 files/README.transluceny.gz 5788
-MD5 2bdb17132f9d7f352002a1fbace7fca1 files/acinclude.m4 61423
-MD5 a580b9f394262307f85eae492bbd68d9 files/centerplacement-2.5.10.diff 2431
+MD5 7e00938e8f20ffaa22e1c5672666c027 files/fvwm-2.5.8-iconfile.diff 791
+MD5 e5701841190ad529d5577c8da69d5006 files/fvwmtabs-insecure-tmp-handling.diff 2350
+MD5 98b1cd33f30ee47c88a2c3da2b2ddc68 files/fvwm-iconman.diff 2383
MD5 7d84c8175928d331e6d7b253679f5654 files/digest-fvwm-2.4.18 65
+MD5 a580b9f394262307f85eae492bbd68d9 files/centerplacement-2.5.10.diff 2431
+MD5 38cb0131791d07053b5d90bf21d1993f files/fvwm-translucent-menus.diff.gz 3582
+MD5 91ad7db238311a86a2e0d27c9186264c files/fvwm-2.5.8-FvwmScript-Quit-reboot.diff 307
+MD5 8ebd7b398d3c580ca5067c78f8642ae1 files/fvwm-2.5.8-taskbar-margins.diff 1384
+MD5 0fcb3587e80a443304b2e6878b6eab0a files/fvwmtabs-2.8-insecure-tmp-handling.diff 2349
+MD5 d15c4e05878e8e2b8a9d5edcf30abdc2 files/fvwm-2.5.9-translucent-menus.diff.gz 58529
+MD5 977c11b7ca7c17cff7a14d1d4a0136f4 files/fvwm-2.5.8-perllib-disconnect.diff 1179
+MD5 5bda5a33cdd7fc8517aa413550ad4e1e files/iconfile-2.5.10.diff 745
+MD5 0a39299dd7ca570060f545e659c77604 files/fvwm-2.5.10-FvwmCommand.diff 1013
+MD5 5dc401c9f6a50da0bfa85a025749652a files/fvwm-2.5.8-fvwm-menu-directory-security.diff 382
MD5 0c1b906138bf4e2977e7be1631f949d9 files/digest-fvwm-2.5.10-r3 128
MD5 0c1b906138bf4e2977e7be1631f949d9 files/digest-fvwm-2.5.10-r4 128
MD5 856bdf34d1530e03fc3aa2c6b3630ccc files/digest-fvwm-2.5.10-r5 129
MD5 856bdf34d1530e03fc3aa2c6b3630ccc files/digest-fvwm-2.5.10-r6 129
-MD5 e52e1c9212c856d5de29c603678dc52e files/digest-fvwm-2.5.7-r5 127
-MD5 c3ea3b9a8c5d7700913a795096e0b51a files/digest-fvwm-2.5.8-r6 127
+MD5 856bdf34d1530e03fc3aa2c6b3630ccc files/digest-fvwm-2.5.10-r7 129
+MD5 e9263b93f666293d0a1220ea3457efcd files/mini.happy.xpm 425
+MD5 4f044a8a47c9f8ea61d54dfa4bd79b70 files/fvwm-2.5.8-fvwm-bug-security.diff 327
MD5 df03a10a40a620ce8f1fab75f9758884 files/disable-debug-statements.diff 419
-MD5 0a39299dd7ca570060f545e659c77604 files/fvwm-2.5.10-FvwmCommand.diff 1013
-MD5 d8a3811b3a9581c42119cdc86dff4c7d files/fvwm-2.5.10-Test-update.diff 702
-MD5 d50e96a93bbcaafc418fffd3ace51f1d files/fvwm-2.5.10-fvwmbuttonshover.diff 37661
MD5 efd2297324dd0241c2a879beadfabdb7 files/fvwm-2.5.10-mips-compat.diff 2306
-MD5 b20e3c8c23286531b549852ecbed4b74 files/fvwm-2.5.10-post-release.diff 2923
-MD5 91ad7db238311a86a2e0d27c9186264c files/fvwm-2.5.8-FvwmScript-Quit-reboot.diff 307
-MD5 933ebc841a6eafebaf9d57b7a99c3b10 files/fvwm-2.5.8-flickeringmoveworkaround.diff 726
-MD5 4f044a8a47c9f8ea61d54dfa4bd79b70 files/fvwm-2.5.8-fvwm-bug-security.diff 327
-MD5 5dc401c9f6a50da0bfa85a025749652a files/fvwm-2.5.8-fvwm-menu-directory-security.diff 382
-MD5 7e00938e8f20ffaa22e1c5672666c027 files/fvwm-2.5.8-iconfile.diff 791
-MD5 977c11b7ca7c17cff7a14d1d4a0136f4 files/fvwm-2.5.8-perllib-disconnect.diff 1179
-MD5 8ebd7b398d3c580ca5067c78f8642ae1 files/fvwm-2.5.8-taskbar-margins.diff 1384
+MD5 c3ea3b9a8c5d7700913a795096e0b51a files/digest-fvwm-2.5.8-r6 127
MD5 97373a30210df0b93c59e2aac76d17e0 files/fvwm-2.5.8-undermouse.diff 2534
-MD5 d15c4e05878e8e2b8a9d5edcf30abdc2 files/fvwm-2.5.9-translucent-menus.diff.gz 58529
-MD5 98b1cd33f30ee47c88a2c3da2b2ddc68 files/fvwm-iconman.diff 2383
-MD5 d91fb7d2af57653fc93a70e6e1c0a0ea files/fvwm-menu-xlock-xlockmore-compat.diff 550
-MD5 38cb0131791d07053b5d90bf21d1993f files/fvwm-translucent-menus.diff.gz 3582
-MD5 0fcb3587e80a443304b2e6878b6eab0a files/fvwmtabs-2.8-insecure-tmp-handling.diff 2349
-MD5 e5701841190ad529d5577c8da69d5006 files/fvwmtabs-insecure-tmp-handling.diff 2350
-MD5 5bda5a33cdd7fc8517aa413550ad4e1e files/iconfile-2.5.10.diff 745
-MD5 e9263b93f666293d0a1220ea3457efcd files/mini.happy.xpm 425
+MD5 050831079932bfbec0da48fc41788739 files/fvwm-2.5.10-long-data-elements.diff 424
+MD5 933ebc841a6eafebaf9d57b7a99c3b10 files/fvwm-2.5.8-flickeringmoveworkaround.diff 726
+MD5 b20e3c8c23286531b549852ecbed4b74 files/fvwm-2.5.10-post-release.diff 2923
diff --git a/x11-wm/fvwm/files/acinclude.m4 b/x11-wm/fvwm/files/acinclude.m4
deleted file mode 100644
index ec69eba0acd7..000000000000
--- a/x11-wm/fvwm/files/acinclude.m4
+++ /dev/null
@@ -1,1766 +0,0 @@
-dnl Convenience macros
-
-
-dnl new version of FUNC_SELECT
-dnl - submitted to autoconf maintainer; expected to appear in next version
-
-AC_DEFUN(AC_FUNC_SELECT,
-[AC_CHECK_FUNCS(select)
-if test "$ac_cv_func_select" = yes; then
- AC_CHECK_HEADERS(unistd.h sys/types.h sys/time.h sys/select.h sys/socket.h)
- AC_MSG_CHECKING([argument types of select()])
- AC_CACHE_VAL(ac_cv_type_fd_set_size_t,dnl
- [AC_CACHE_VAL(ac_cv_type_fd_set,dnl
- [for ac_cv_type_fd_set in 'fd_set' 'int' 'void'; do
- for ac_cv_type_fd_set_size_t in 'int' 'size_t' 'unsigned long' 'unsigned'; do
- for ac_type_timeval in 'struct timeval' 'const struct timeval'; do
- AC_TRY_COMPILE(dnl
-[#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif],
-[extern select ($ac_cv_type_fd_set_size_t,
- $ac_cv_type_fd_set *, $ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
- $ac_type_timeval *);],
-[ac_found=yes ; break 3],ac_found=no)
- done
- done
- done
- ])dnl AC_CACHE_VAL
- ])dnl AC_CACHE_VAL
- if test "$ac_found" = no; then
- AC_MSG_ERROR([can't determine argument types])
- fi
-
- AC_MSG_RESULT([select($ac_cv_type_fd_set_size_t,$ac_cv_type_fd_set *,...)])
- AC_DEFINE_UNQUOTED(fd_set_size_t, $ac_cv_type_fd_set_size_t)
- ac_cast=
- if test "$ac_cv_type_fd_set" != fd_set; then
- # Arguments 2-4 are not fd_set. Some weirdo systems use fd_set type for
- # FD_SET macros, but insist that you cast the argument to select. I don't
- # understand why that might be, but it means we cannot define fd_set.
- AC_EGREP_CPP(dnl
-changequote(<<,>>)dnl
-<<(^|[^a-zA-Z_0-9])fd_set[^a-zA-Z_0-9]>>dnl
-changequote([,]),dnl
-[#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif],dnl
- # We found fd_set type in a header, need special cast
- ac_cast="($ac_cv_type_fd_set *)",dnl
- # No fd_set type; it is safe to define it
- AC_DEFINE_UNQUOTED(fd_set,$ac_cv_type_fd_set))
- fi
- AC_DEFINE_UNQUOTED(SELECT_FD_SET_CAST,$ac_cast)
-fi
-])
-
-
-
-dnl Checking for typedefs, with extra headers
-
-
-dnl pds_CHECK_TYPE(TYPE, DEFAULT, [HEADERS])
-AC_DEFUN(pds_CHECK_TYPE,
-[AC_REQUIRE([AC_HEADER_STDC])dnl
-AC_MSG_CHECKING(for $1)
-AC_CACHE_VAL(ac_cv_type_$1,
-[AC_EGREP_CPP(dnl
-changequote(<<,>>)dnl
-<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
-changequote([,]), [#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-$3], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
-AC_MSG_RESULT($ac_cv_type_$1)
-if test $ac_cv_type_$1 = no; then
- AC_DEFINE($1, $2)
-fi
-])
-
-
-dnl Configure-time switch with default
-dnl
-dnl Each switch defines an --enable-FOO and --disable-FOO option in
-dnl the resulting configure script.
-dnl
-dnl Usage:
-dnl smr_SWITCH(name, description, default, pos-def, neg-def)
-dnl
-dnl where:
-dnl
-dnl name name of switch; generates --enable-name & --disable-name
-dnl options
-dnl description help string is set to this prefixed by "enable" or
-dnl "disable", whichever is the non-default value
-dnl default either "on" or "off"; specifies default if neither
-dnl --enable-name nor --disable-name is specified
-dnl pos-def a symbol to AC_DEFINE if switch is on (optional)
-dnl neg-def a symbol to AC_DEFINE if switch is off (optional)
-dnl
-AC_DEFUN(smr_SWITCH, [
- AC_MSG_CHECKING(whether to enable $2)
- AC_ARG_ENABLE(
- $1,
- ifelse($3, on,
- [ --disable-[$1]m4_substr([ ], m4_len([$1])) disable [$2]],
- [ --enable-[$1] m4_substr([ ], m4_len([$1])) enable [$2]]),
- [ if test "$enableval" = yes; then
- AC_MSG_RESULT(yes)
- ifelse($4, , , [AC_DEFINE($4)])
- else
- AC_MSG_RESULT(no)
- ifelse($5, , , [AC_DEFINE($5)])
- fi ],
- ifelse($3, on,
- [ AC_MSG_RESULT(yes)
- ifelse($4, , , [AC_DEFINE($4)]) ],
- [ AC_MSG_RESULT(no)
- ifelse($5, , , [AC_DEFINE($5)])]))])
-
-
-dnl Allow argument for optional libraries; wraps AC_ARG_WITH, to
-dnl provide a "--with-foo-library" option in the configure script, where foo
-dnl is presumed to be a library name. The argument given by the user
-dnl (i.e. "bar" in ./configure --with-foo-library=bar) may be one of three
-dnl things:
-dnl * boolean (no, yes or blank): whether to use library or not
-dnl * file: assumed to be the name of the library
-dnl * directory: assumed to *contain* the library
-dnl
-dnl The argument is sanity-checked. If all is well, two variables are
-dnl set: "with_foo" (value is yes, no, or maybe), and "foo_LIBS" (value
-dnl is either blank, a file, -lfoo, or '-L/some/dir -lfoo'). The idea
-dnl is: the first tells you whether the library is to be used or not
-dnl (or the user didn't specify one way or the other) and the second
-dnl to put on the command line for linking with the library.
-dnl
-dnl Usage:
-dnl smr_ARG_WITHLIB(name, libname, description)
-dnl
-dnl name name for --with argument ("foo" for libfoo)
-dnl libname (optional) actual name of library,
-dnl if different from name
-dnl description (optional) used to construct help string
-dnl
-AC_DEFUN(smr_ARG_WITHLIB, [
-
-ifelse($2, , smr_lib=[$1], smr_lib=[$2])
-
-AC_ARG_WITH([$1]-library,
-ifelse($3, ,
-[ --with-$1-library[=PATH] use $1 library],
-[ --with-$1-library[=PATH] use $1 library ($3)]),
-[
- if test "$withval" = yes; then
- with_[$1]=yes
- [$1]_LIBS="-l${smr_lib}"
- elif test "$withval" = no; then
- with_[$1]=no
- [$1]_LIBS=
- else
- with_[$1]=yes
- if test -f "$withval"; then
- [$1]_LIBS=$withval
- elif test -d "$withval"; then
- [$1]_LIBS="-L$withval -l${smr_lib}"
- else
- AC_MSG_ERROR(argument must be boolean, file, or directory)
- fi
- fi
-], [
- with_[$1]=maybe
- [$1]_LIBS="-l${smr_lib}"
-])])
-
-
-dnl Check if the include files for a library are accessible, and
-dnl define the variable "name_CFLAGS" with the proper "-I" flag for
-dnl the compiler. The user has a chance to specify the includes
-dnl location, using "--with-foo-includes".
-dnl
-dnl This should be used *after* smr_ARG_WITHLIB *and* AC_CHECK_LIB are
-dnl successful.
-dnl
-dnl Usage:
-dnl smr_ARG_WITHINCLUDES(name, header, extra-flags)
-dnl
-dnl name library name, MUST same as used with smr_ARG_WITHLIB
-dnl header a header file required for using the lib
-dnl extra-flags (optional) flags required when compiling the
-dnl header, typically more includes; for ex. X_CFLAGS
-dnl
-AC_DEFUN(smr_ARG_WITHINCLUDES, [
-
-AC_ARG_WITH([$1]-includes,
-[ --with-$1-includes=DIR set directory for $1 headers],
-[
- if test -d "$withval"; then
- [$1]_CFLAGS="-I${withval}"
- else
- AC_MSG_ERROR(argument must be a directory)
- fi])
-
- dnl We need to put the given include directory into CPPFLAGS temporarily, but
- dnl then restore CPPFLAGS to its old value.
- dnl
- smr_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS ${[$1]_CFLAGS}"
- ifelse($3, , , CPPFLAGS="$CPPFLAGS [$3]")
-
- AC_CHECK_HEADERS($2)
-
- CPPFLAGS=$smr_save_CPPFLAGS
-])
-
-
-dnl Probe for an optional library. This macro creates both
-dnl --with-foo-library and --with-foo-includes options for the configure
-dnl script. If --with-foo-library is *not* specified, the default is to
-dnl probe for the library, and use it if found.
-dnl
-dnl Usage:
-dnl smr_CHECK_LIB(name, libname, desc, func, header, x-libs, x-flags)
-dnl
-dnl name name for --with options
-dnl libname (optional) real name of library, if different from
-dnl above
-dnl desc (optional) short descr. of library, for help string
-dnl func function of library, to probe for
-dnl header (optional) header required for using library
-dnl x-libs (optional) extra libraries, if needed to link with lib
-dnl x-flags (optional) extra flags, if needed to include header files
-dnl
-AC_DEFUN(smr_CHECK_LIB,
-[
-ifelse($2, , smr_lib=[$1], smr_lib=[$2])
-ifelse($5, , , smr_header=[$5])
-smr_ARG_WITHLIB($1,$2,$3)
-if test "$with_$1" != no; then
- AC_CHECK_LIB(ifelse($2, , $1, $2), $4,
- smr_havelib=yes,
- smr_havelib=no; problem_$1=": Can't find working lib$smr_lib",
- ifelse($6, , ${$1_LIBS}, [${$1_LIBS} $6]))
- if test "$smr_havelib" = yes -a "$smr_header" != ""; then
- smr_ARG_WITHINCLUDES($1, $smr_header, $7)
- smr_safe=`echo "$smr_header" | sed 'y%./+-%__p_%'`
- if eval "test \"`echo '$ac_cv_header_'$smr_safe`\" != yes"; then
- smr_havelib=no
- problem_$1=": Can't find working $smr_header"
- fi
- fi
- if test "$smr_havelib" = yes; then
- with_$1=yes
- problem_$1=
- else
- $1_LIBS=
- $1_CFLAGS=
- with_$1=no
- fi
-else
- problem_$1=": Explicitly disabled"
-fi])
-
-
-dnl Defines a boolean variable good for acconfig.h depending on a condition.
-dnl
-dnl Usage:
-dnl mg_DEFINE_IF_NOT(c-code, cpp-if-cond, var-name, extra-flags)
-dnl
-dnl c-code the first code part inside main()
-dnl cpp-if-cond boolean preprocessor condition
-dnl var-name this variable will be defined if the given condition is false
-dnl extra-flags (optional) extra flags for compiling, typically more -I glags
-dnl
-dnl Example:
-dnl mg_DEFINE_IF_NOT([#include <features.h>], [defined __USE_BSD], [NON_BSD])
-dnl
-AC_DEFUN(mg_DEFINE_IF_NOT, [
-mg_save_CPPFLAGS="$CPPFLAGS"
-ifelse($4, , , CPPFLAGS="$CPPFLAGS [$4]")
-
-AC_TRY_RUN([
-#include <stdio.h>
-int main(int c, char **v) {
-$1
-#if $2
- return 0;
-#else
- return 1;
-#endif
-}
-], [:], [AC_DEFINE($3)])
-
-CPPFLAGS="$mg_save_CPPFLAGS"
-])
-
-
-dnl --------------------------------------------------------------------------
-dnl contents of gtk.m4
-
-# Configure paths for GTK+
-# Owen Taylor 97-11-3
-
-dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
-dnl
-AC_DEFUN(AM_PATH_GTK,
-[dnl
-dnl Get the cflags and libraries from the gtk-config script
-dnl
-AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX prefix for GTK files (optional)],
- gtk_config_prefix="$withval", gtk_config_prefix="")
-AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX exec prefix for GTK files (optional)],
- gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
-AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK program],
- , enable_gtktest=yes)
-
- if test x$gtk_config_exec_prefix != x ; then
- gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
- if test x${GTK_CONFIG+set} != xset ; then
- GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
- fi
- fi
- if test x$gtk_config_prefix != x ; then
- gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
- if test x${GTK_CONFIG+set} != xset ; then
- GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
- fi
- fi
-
- AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
- min_gtk_version=ifelse([$1], ,0.99.7,$1)
- AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
- no_gtk=""
- if test "$GTK_CONFIG" = "no" ; then
- no_gtk=yes
- else
- GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
- GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
- gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test "x$enable_gtktest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $GTK_CFLAGS"
- LIBS="$LIBS $GTK_LIBS"
-dnl
-dnl Now check if the installed GTK is sufficiently new. (Also sanity
-dnl checks the results of gtk-config to some extent
-dnl
- rm -f conf.gtktest
- AC_TRY_RUN([
-#include <gtk/gtk.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
- int major, minor, micro;
- char *tmp_version;
-
- system ("touch conf.gtktest");
-
- /* HP/UX 9 (%@#!) writes to sscanf strings */
- tmp_version = g_strdup("$min_gtk_version");
- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
- printf("%s, bad version string\n", "$min_gtk_version");
- exit(1);
- }
-
- if ((gtk_major_version != $gtk_config_major_version) ||
- (gtk_minor_version != $gtk_config_minor_version) ||
- (gtk_micro_version != $gtk_config_micro_version))
- {
- printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
- $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
- gtk_major_version, gtk_minor_version, gtk_micro_version);
- printf ("*** was found! If gtk-config was correct, then it is best\n");
- printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
- printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
- printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
- printf("*** required on your system.\n");
- printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n");
- printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n");
- printf("*** before re-running configure\n");
- }
-#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
- else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
- (gtk_minor_version != GTK_MINOR_VERSION) ||
- (gtk_micro_version != GTK_MICRO_VERSION))
- {
- printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
- GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
- printf("*** library (version %d.%d.%d)\n",
- gtk_major_version, gtk_minor_version, gtk_micro_version);
- }
-#endif /* defined (GTK_MAJOR_VERSION) ... */
- else
- {
- if ((gtk_major_version > major) ||
- ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
- ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
- {
- return 0;
- }
- else
- {
- printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
- gtk_major_version, gtk_minor_version, gtk_micro_version);
- printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
- major, minor, micro);
- printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
- printf("***\n");
- printf("*** If you have already installed a sufficiently new version, this error\n");
- printf("*** probably means that the wrong copy of the gtk-config shell script is\n");
- printf("*** being found. The easiest way to fix this is to remove the old version\n");
- printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n");
- printf("*** correct copy of gtk-config. (In this case, you will have to\n");
- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
- printf("*** so that the correct libraries are found at run-time))\n");
- }
- }
- return 1;
-}
-],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- if test "x$no_gtk" = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- if test "$GTK_CONFIG" = "no" ; then
- echo "*** The gtk-config script installed by GTK could not be found"
- echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the GTK_CONFIG environment variable to the"
- echo "*** full path to gtk-config."
- else
- if test -f conf.gtktest ; then
- :
- else
- echo "*** Could not run GTK test program, checking why..."
- CFLAGS="$CFLAGS $GTK_CFLAGS"
- LIBS="$LIBS $GTK_LIBS"
- AC_TRY_LINK([
-#include <gtk/gtk.h>
-#include <stdio.h>
-], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding GTK or finding the wrong"
- echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
- echo "***"
- echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
- echo "*** came with the system with the command"
- echo "***"
- echo "*** rpm --erase --nodeps gtk gtk-devel" ],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means GTK was incorrectly installed"
- echo "*** or that you have moved GTK since it was installed. In the latter case, you"
- echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- GTK_CFLAGS=""
- GTK_LIBS=""
- ifelse([$3], , :, [$3])
- fi
- AC_SUBST(GTK_CFLAGS)
- AC_SUBST(GTK_LIBS)
- rm -f conf.gtktest
-])
-
-
-dnl --------------------------------------------------------------------------
-dnl contents of imlib.m4
-dnl modified by migo - write diagnostics to >&5 (i.e. config.log) not stdout
-
-# Configure paths for IMLIB
-# Frank Belew 98-8-31
-# stolen from Manish Singh
-# Shamelessly stolen from Owen Taylor
-
-dnl AM_PATH_IMLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for IMLIB, and define IMLIB_CFLAGS and IMLIB_LIBS
-dnl
-AC_DEFUN(AM_PATH_IMLIB,
-[dnl
-dnl Get the cflags and libraries from the imlib-config script
-dnl
-AC_ARG_WITH(imlib-prefix,[ --with-imlib-prefix=PFX prefix for IMLIB files (optional)],
- imlib_prefix="$withval", imlib_prefix="")
-AC_ARG_WITH(imlib-exec-prefix,[ --with-imlib-exec-prefix=PFX exec prefix for IMLIB files (optional)],
- imlib_exec_prefix="$withval", imlib_exec_prefix="")
-AC_ARG_ENABLE(imlibtest, [ --disable-imlibtest do not try to compile and run a test IMLIB program],
- , enable_imlibtest=yes)
-
- if test x$imlib_exec_prefix != x ; then
- imlib_args="$imlib_args --exec-prefix=$imlib_exec_prefix"
- if test x${IMLIBCONF+set} != xset ; then
- IMLIBCONF=$imlib_exec_prefix/bin/imlib-config
- fi
- fi
- if test x$imlib_prefix != x ; then
- imlib_args="$imlib_args --prefix=$imlib_prefix"
- if test x${IMLIBCONF+set} != xset ; then
- IMLIBCONF=$imlib_prefix/bin/imlib-config
- fi
- fi
-
- AC_PATH_PROG(IMLIBCONF, imlib-config, no)
- min_imlib_version=ifelse([$1], ,1.8.1,$1)
- AC_MSG_CHECKING(for IMLIB - version >= $min_imlib_version)
- no_imlib=""
- if test "$IMLIBCONF" = "no" ; then
- no_imlib=yes
- else
- IMLIB_CFLAGS=`$IMLIBCONF $imlibconf_args --cflags`
- IMLIB_LIBS=`$IMLIBCONF $imlibconf_args --libs`
-
- imlib_major_version=`$IMLIBCONF $imlib_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- imlib_minor_version=`$IMLIBCONF $imlib_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- if test "x$enable_imlibtest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $IMLIB_CFLAGS"
- LIBS="$LIBS $IMLIB_LIBS"
-dnl
-dnl Now check if the installed IMLIB is sufficiently new. (Also sanity
-dnl checks the results of imlib-config to some extent
-dnl
- rm -f conf.imlibtest
- AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <Imlib.h>
-
-ImlibImage testimage;
-
-int main ()
-{
- int major, minor;
- char *tmp_version;
-
- system ("touch conf.imlibtest");
-
- /* HP/UX 9 (%@#!) writes to sscanf strings */
- tmp_version = strdup("$min_imlib_version");
- if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2) {
- printf("%s, bad version string\n", "$min_imlib_version");
- exit(1);
- }
-
- if (($imlib_major_version > major) ||
- (($imlib_major_version == major) && ($imlib_minor_version > minor)))
- {
- return 0;
- }
- else
- {
- printf("\n*** 'imlib-config --version' returned %d.%d, but the minimum version\n", $imlib_major_version, $imlib_minor_version);
- printf("*** of IMLIB required is %d.%d. If imlib-config is correct, then it is\n", major, minor);
- printf("*** best to upgrade to the required version.\n");
- printf("*** If imlib-config was wrong, set the environment variable IMLIBCONF\n");
- printf("*** to point to the correct copy of imlib-config, and remove the file\n");
- printf("*** config.cache before re-running configure\n");
- return 1;
- }
-}
-
-],, no_imlib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- if test "x$no_imlib" = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- if test "$IMLIBCONF" = "no" ; then
- echo "*** The imlib-config script installed by IMLIB could not be found"
- echo "*** If IMLIB was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the IMLIBCONF environment variable to the"
- echo "*** full path to imlib-config."
- else
- if test -f conf.imlibtest ; then
- :
- else
- echo "*** Could not run IMLIB test program, checking why..."
- CFLAGS="$CFLAGS $IMLIB_CFLAGS"
- LIBS="$LIBS $IMLIB_LIBS"
- AC_TRY_LINK([
-#include <stdio.h>
-#include <Imlib.h>
-], [ return 0; ],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding IMLIB or finding the wrong"
- echo "*** version of IMLIB. If it is not finding IMLIB, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means IMLIB was incorrectly installed"
- echo "*** or that you have moved IMLIB since it was installed. In the latter case, you"
- echo "*** may want to edit the imlib-config script: $IMLIBCONF" ])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- IMLIB_CFLAGS=""
- IMLIB_LIBS=""
- ifelse([$3], , :, [$3])
- fi
- AC_SUBST(IMLIB_CFLAGS)
- AC_SUBST(IMLIB_LIBS)
- rm -f conf.imlibtest
-])
-
-# Check for gdk-imlib
-AC_DEFUN(AM_PATH_GDK_IMLIB,
-[dnl
-dnl Get the cflags and libraries from the imlib-config script
-dnl
-AC_ARG_WITH(imlib-prefix,[ --with-imlib-prefix=PFX prefix for IMLIB files (optional)],
- imlib_prefix="$withval", imlib_prefix="")
-AC_ARG_WITH(imlib-exec-prefix,[ --with-imlib-exec-prefix=PFX exec prefix for IMLIB files (optional)],
- imlib_exec_prefix="$withval", imlib_exec_prefix="")
-AC_ARG_ENABLE(imlibtest, [ --disable-imlibtest do not try to compile and run a test IMLIB program],
- , enable_imlibtest=yes)
-
- if test x$imlib_exec_prefix != x ; then
- imlib_args="$imlib_args --exec-prefix=$imlib_exec_prefix"
- if test x${IMLIBCONF+set} != xset ; then
- IMLIBCONF=$imlib_exec_prefix/bin/imlib-config
- fi
- fi
- if test x$imlib_prefix != x ; then
- imlib_args="$imlib_args --prefix=$imlib_prefix"
- if test x${IMLIBCONF+set} != xset ; then
- IMLIBCONF=$imlib_prefix/bin/imlib-config
- fi
- fi
-
- AC_PATH_PROG(IMLIBCONF, imlib-config, no)
- min_imlib_version=ifelse([$1], ,1.8.1,$1)
- AC_MSG_CHECKING(for GDK IMLIB - version >= $min_imlib_version)
- no_imlib=""
- if test "$IMLIBCONF" = "no" ; then
- no_imlib=yes
- else
- GDK_IMLIB_CFLAGS=`$IMLIBCONF $imlibconf_args --cflags-gdk`
- GDK_IMLIB_LIBS=`$IMLIBCONF $imlibconf_args --libs-gdk`
-
- imlib_major_version=`$IMLIBCONF $imlib_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- imlib_minor_version=`$IMLIBCONF $imlib_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- if test "x$enable_imlibtest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $GDK_IMLIB_CFLAGS"
- LIBS="$LIBS $GDK_IMLIB_LIBS"
-dnl
-dnl Now check if the installed IMLIB is sufficiently new. (Also sanity
-dnl checks the results of imlib-config to some extent
-dnl
- rm -f conf.imlibtest
- AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <Imlib.h>
-#include <gdk_imlib.h>
-
-/* migo: originally it was GdkImLibColor with incorrect spelling */
-GdkImlibImage testimage;
-
-int main ()
-{
- int major, minor;
- char *tmp_version;
-
- system ("touch conf.gdkimlibtest");
-
- /* HP/UX 9 (%@#!) writes to sscanf strings */
- tmp_version = g_strdup("$min_imlib_version");
- if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2) {
- printf("%s, bad version string\n", "$min_imlib_version");
- exit(1);
- }
-
- if (($imlib_major_version > major) ||
- (($imlib_major_version == major) && ($imlib_minor_version > minor)))
- {
- return 0;
- }
- else
- {
- printf("\n*** 'imlib-config --version' returned %d.%d, but the minimum version\n", $imlib_major_version, $imlib_minor_version);
- printf("*** of IMLIB required is %d.%d. If imlib-config is correct, then it is\n", major, minor);
- printf("*** best to upgrade to the required version.\n");
- printf("*** If imlib-config was wrong, set the environment variable IMLIBCONF\n");
- printf("*** to point to the correct copy of imlib-config, and remove the file\n");
- printf("*** config.cache before re-running configure\n");
- return 1;
- }
-}
-
-],, no_imlib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- if test "x$no_imlib" = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- if test "$IMLIBCONF" = "no" ; then
- (echo "*** The imlib-config script installed by IMLIB could not be found" >&5) 2>/dev/null || \
- echo "*** The imlib-config script installed by IMLIB could not be found"
- (echo "*** If IMLIB was installed in PREFIX, make sure PREFIX/bin is in" >&5) 2>/dev/null || \
- echo "*** If IMLIB was installed in PREFIX, make sure PREFIX/bin is in"
- (echo "*** your path, or set the IMLIBCONF environment variable to the" >&5) 2>/dev/null || \
- echo "*** your path, or set the IMLIBCONF environment variable to the"
- (echo "*** full path to imlib-config." >&5) 2>/dev/null || \
- echo "*** full path to imlib-config."
- else
- if test -f conf.gdkimlibtest ; then
- :
- else
- (echo "*** Could not run IMLIB test program, checking why..." >&5) 2>/dev/null || \
- echo "*** Could not run IMLIB test program, checking why..."
- CFLAGS="$CFLAGS $GDK_IMLIB_CFLAGS"
- LIBS="$LIBS $GDK_IMLIB_LIBS"
- AC_TRY_LINK([
-#include <stdio.h>
-#include <Imlib.h>
-#include <gdk_imlib.h>
-], [ return 0; ],
- [ (echo "*** The test program compiled, but did not run. This usually means" >&5) 2>/dev/null || \
- echo "*** The test program compiled, but did not run. This usually means"
- (echo "*** that the run-time linker is not finding IMLIB or finding the wrong" >&5) 2>/dev/null || \
- echo "*** that the run-time linker is not finding IMLIB or finding the wrong"
- (echo "*** version of IMLIB. If it is not finding IMLIB, you'll need to set your" >&5) 2>/dev/null || \
- echo "*** version of IMLIB. If it is not finding IMLIB, you'll need to set your"
- (echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" >&5) 2>/dev/null || \
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- (echo "*** to the installed location Also, make sure you have run ldconfig if that" >&5) 2>/dev/null || \
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- (echo "*** is required on your system" >&5) 2>/dev/null || \
- echo "*** is required on your system"
- (echo "***" >&5) 2>/dev/null || \
- echo "***"
- (echo "*** If you have an old version installed, it is best to remove it, although" >&5) 2>/dev/null || \
- echo "*** If you have an old version installed, it is best to remove it, although"
- (echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" >&5) 2>/dev/null || \
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
- [ (echo "*** The test program failed to compile or link. See the file config.log for the" >&5) 2>/dev/null || \
- echo "*** The test program failed to compile or link. See the file config.log for the"
- (echo "*** exact error that occured. This usually means IMLIB was incorrectly installed" >&5) 2>/dev/null || \
- echo "*** exact error that occured. This usually means IMLIB was incorrectly installed"
- (echo "*** or that you have moved IMLIB since it was installed. In the latter case, you" >&5) 2>/dev/null || \
- echo "*** or that you have moved IMLIB since it was installed. In the latter case, you"
- (echo "*** may want to edit the imlib-config script: $IMLIBCONF" >&5) 2>/dev/null || \
- echo "*** may want to edit the imlib-config script: $IMLIBCONF"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- GDK_IMLIB_CFLAGS=""
- GDK_IMLIB_LIBS=""
- ifelse([$3], , :, [$3])
- fi
- AC_SUBST(GDK_IMLIB_CFLAGS)
- AC_SUBST(GDK_IMLIB_LIBS)
- rm -f conf.gdkimlibtest
-])
-
-
-dnl --------------------------------------------------------------------------
-dnl from gnome.m4, modified by migo
-
-dnl
-dnl GNOME_INIT_HOOK (script-if-gnome-enabled, [failflag])
-dnl
-dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh
-dnl is not found.
-dnl
-
-AC_DEFUN([GNOME_INIT_HOOK],[
- AC_SUBST(GNOME_LIBS)
- AC_SUBST(GNOMEUI_LIBS)
- AC_SUBST(GNOME_LIBDIR)
- AC_SUBST(GNOME_INCLUDEDIR)
-
- AC_ARG_WITH(gnome-includes,
- [ --with-gnome-includes location of GNOME headers],[
- CFLAGS="$CFLAGS -I$withval"
- ])
-
- gnome_prefix=$ac_default_prefix/lib
-
- AC_ARG_WITH(gnome-libs,
- [ --with-gnome-libs location of GNOME libs],[
- LDFLAGS="$LDFLAGS -L$withval"
- gnome_prefix=$withval
- ])
-
- AC_ARG_WITH(gnome,
- [ --with-gnome no, yes or prefix for GNOME files (for FvwmGtk only)],
- if test x$withval = xyes; then
- with_gnomelibs=yes
- dnl Note that an empty true branch is not
- dnl valid sh syntax.
- ifelse([$1], [], :, [$1])
- else
- if test "x$withval" = xno; then
- with_gnomelibs=no
- problem_gnomelibs=": Explicitly disabled"
- else
- with_gnomelibs=yes
- LDFLAGS="$LDFLAGS -L$withval/lib"
- CFLAGS="$CFLAGS -I$withval/include"
- gnome_prefix=$withval/lib
- fi
- fi,
- with_gnomelibs=yes)
-
- if test "x$with_gnomelibs" = xyes; then
- problem_gnomelibs=": Can't find working gnome-config"
-
- AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
- if test "$GNOME_CONFIG" = "no"; then
- no_gnome_config="yes"
- else
- AC_MSG_CHECKING(whether $GNOME_CONFIG works)
- if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
- AC_MSG_RESULT(yes)
- GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`"
- GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`"
- GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
- GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
- $1
- else
- AC_MSG_RESULT(no)
- no_gnome_config="yes"
- fi
- fi
-
- # migo: disable this destructive logic
-# if test x$exec_prefix = xNONE; then
-# if test x$prefix = xNONE; then
-# gnome_prefix=$ac_default_prefix/lib
-# else
-# gnome_prefix=$prefix/lib
-# fi
-# else
-# gnome_prefix=`eval echo \`echo $libdir\``
-# fi
-
- if test "$no_gnome_config" = "yes"; then
- AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
- if test -f $gnome_prefix/gnomeConf.sh; then
- AC_MSG_RESULT(found)
- echo "loading gnome configuration from" \
- "$gnome_prefix/gnomeConf.sh"
- . $gnome_prefix/gnomeConf.sh
- $1
- else
- AC_MSG_RESULT(not found)
- if test x$2 = xfail; then
- AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
- fi
- with_gnomelibs=no
- fi
- fi
- fi
-
- # test whether gnome can be compiled
- if test "x$with_gnomelibs" = xyes; then
- problem_gnomelibs=": Can't compile trivial gnome app"
-
- AC_MSG_CHECKING(whether trivial gnome compilation works)
- my_CPPFLAGS="$CPPFLAGS"
- my_LIBS="$LIBS"
- CPPFLAGS="$CPPFLAGS $GNOME_INCLUDEDIR $GTK_CFLAGS"
- LIBS="$LIBS $GNOME_LIBDIR $GNOMEUI_LIBS"
- AC_TRY_RUN([
- #include <gnome.h>
- int main(int c, char **v) {
- /* we can't really run this outside of X */
- if (!c) gnome_init("test-app", "0.0", c, v);
- return 0;
- }],
- [with_gnomelibs=yes],
- [with_gnomelibs=no]
- )
- AC_MSG_RESULT($with_gnomelibs)
- CPPFLAGS="$my_CPPFLAGS"
- LIBS="$my_LIBS"
- else
- # just for safety
- with_gnomelibs=no
- fi
-
- if test "x$with_gnomelibs" = xyes; then
- problem_gnomelibs=""
- else
- GNOME_LIBS=
- GNOMEUI_LIBS=
- GNOME_LIBDIR=
- GNOME_INCLUDEDIR=
- fi
-])
-
-#
-# check if iconv second argument use const char.
-#
-AC_DEFUN([ICONV_SECOND_ARG],[
- AC_MSG_CHECKING(check if second arg of iconv is const)
- AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#if defined(__STDC__)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], use_const=no, use_const=yes)
- AC_MSG_RESULT($use_const)
- if test "x$use_const" = "xyes"; then
- AC_DEFINE(ICONV_ARG_USE_CONST)
- fi
-])
-
-#
-# check for locale_charset if libiconv is used
-#
-AC_DEFUN([CHECK_LIBCHARSET],[
- AC_MSG_CHECKING(check for libcharset)
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $iconv_CFLAGS"
- LIBS="$LIBS $iconv_LIBS"
- AC_TRY_LINK([
-#include <libcharset.h>],
-[const char *c;
-c = locale_charset ();
-], r=yes, r=no)
- AC_MSG_RESULT($r)
- if test "x$r" = "xyes"; then
- AC_DEFINE(HAVE_LIBCHARSET)
- fi
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-])
-
-#-----------------------------------------------------------------------------
-# pkg-config
-
-dnl
-dnl
-AC_DEFUN(AM_CHECK_PKG_CONFIG,
-[dnl
-dnl Get the cflags and libraries from the freetype-config script
-dnl
-AC_ARG_WITH(pkgconfig-prefix,
-[ --with-pkgconfig-prefix=PFX prefix where pkg-config is installed],
- pkgconfig_config_prefix="$withval", pkgconfig_config_prefix="")
-AC_ARG_WITH(pkgconfig-exec-prefix,
-[ --with-pkgconfig-exec-prefix=PFX exec prefix where pkg-config is installed],
- pkgconfig_config_exec_prefix="$withval",pkgconfig_config_exec_prefix="")
-
-if test x$pkgconfig_config_exec_prefix != x ; then
- pkgconfig_config_args="$pkgconfig_config_args --exec-prefix=$pkgconfig_config_exec_prefix"
- if test x${PKG_CONFIG+set} != xset ; then
- PKG_CONFIG=$pkgconfig_config_exec_prefix/bin/pkg-config
- fi
-fi
-if test x$pkgconfig_config_prefix != x ; then
- pkgconfig_config_args="$pkgconfig_config_args --prefix=$pkgconfig_config_prefix"
- if test x${PKG_CONFIG+set} != xset ; then
- PKG_CONFIG=$pkgconfig_config_prefix/bin/pkg-config
- fi
-fi
-AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-])
-
-#-----------------------------------------------------------------------------
-# Configure paths for FreeType2
-# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
-
-dnl AM_CHECK_FT2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for FreeType2, and define FT2_CFLAGS and FT2_LIBS
-dnl
-AC_DEFUN(AM_CHECK_FT2,
-[dnl
-dnl Get the cflags and libraries from the freetype-config script
-dnl
-AC_ARG_WITH(freetype-prefix,
-[ --with-freetype-prefix=PFX prefix where FreeType is installed (for Xft)],
- ft_config_prefix="$withval", ft_config_prefix="")
-AC_ARG_WITH(freetype-exec-prefix,
-[ --with-freetype-exec-prefix=PFX exec prefix where FreeType is installed],
- ft_config_exec_prefix="$withval", ft_config_exec_prefix="")
-AC_ARG_ENABLE(freetypetest,
-[ --disable-freetypetest do not try to compile and run a test FreeType program],
- [], enable_fttest=yes)
-
-if test x$ft_config_exec_prefix != x ; then
- ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
- fi
-fi
-if test x$ft_config_prefix != x ; then
- ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
- if test x${FT2_CONFIG+set} != xset ; then
- FT2_CONFIG=$ft_config_prefix/bin/freetype-config
- fi
-fi
-AC_PATH_PROG(FT2_CONFIG, freetype-config, no)
-
-min_ft_version=ifelse([$1], ,6.1.0,$1)
-AC_MSG_CHECKING(for FreeType - version >= $min_ft_version)
-no_ft=""
-if test "$FT2_CONFIG" = "no" ; then
- no_ft=yes
-else
- FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
- FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
- ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- ft_min_major_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- ft_min_minor_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- ft_min_micro_version=`echo $min_ft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test "x$enable_fttest" = "xyes" ; then
- ft_config_is_lt=no
- if test $ft_config_major_version -lt $ft_min_major_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_major_version -eq $ft_min_major_version ; then
- if test $ft_config_minor_version -lt $ft_min_minor_version ; then
- ft_config_is_lt=yes
- else
- if test $ft_config_minor_version -eq $ft_min_minor_version ; then
- if test $ft_config_micro_version -lt $ft_min_micro_version ; then
- ft_config_is_lt=yes
- fi
- fi
- fi
- fi
- fi
- if test "x$ft_config_is_lt" = "xyes" ; then
- ifelse([$3], , :, [$3])
- else
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $FT2_CFLAGS"
- LIBS="$FT2_LIBS $LIBS"
-dnl
-dnl Sanity checks for the results of freetype-config to some extent
-dnl
- AC_TRY_RUN([
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main()
-{
- FT_Library library;
- FT_Error error;
-
- error = FT_Init_FreeType(&library);
-
- if (error)
- return 1;
- else
- {
- FT_Done_FreeType(library);
- return 0;
- }
-}
-],, no_ft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi # test $ft_config_version -lt $ft_min_version
- fi # test "x$enable_fttest" = "xyes"
-fi # test "$FT2_CONFIG" = "no"
-if test "x$no_ft" = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
-else
- AC_MSG_RESULT(no)
- if test "$FT2_CONFIG" = "no" ; then
- echo "*** The freetype-config script installed by FreeType 2 could not be found."
- echo "*** If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the FT2_CONFIG environment variable to the"
- echo "*** full path to freetype-config."
- else
- echo "*** The FreeType test program failed to run. If your system uses"
- echo "*** shared libraries and they are installed outside the normal"
- echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
- echo "*** (or whatever is appropiate for your system) is correctly set."
- fi
- FT2_CFLAGS=""
- FT2_LIBS=""
- ifelse([$3], , :, [$3])
-fi
-AC_SUBST(FT2_CFLAGS)
-AC_SUBST(FT2_LIBS)
-])
-
-#-----------------------------------------------------------------------------
-# Configure paths for fontconfig
-# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
-# modified by olicha for fontconfig
-
-dnl AM_CHECK_FC([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for fontconfig, and define FC_CFLAGS and FC_LIBS
-dnl
-AC_DEFUN(AM_CHECK_FC,
-[dnl
-dnl Get the cflags and libraries from the fontconfig-config script
-dnl
-AC_ARG_WITH(fontconfig-prefix,
-[ --with-fontconfig-prefix=PFX prefix where fontconfig is installed (for Xft2)],
- fc_config_prefix="$withval", fc_config_prefix="")
-AC_ARG_WITH(fontconfig-exec-prefix,
-[ --with-fontconfig-exec-prefix=PFX exec prefix where fontconfig is installed],
- fc_config_exec_prefix="$withval", fc_config_exec_prefix="")
-AC_ARG_ENABLE(fontconfigtest,
-[ --disable-fontconfigtest do not try to compile and run a test fontconfig program],
- [], enable_fctest=yes)
-
-if test x$fc_config_exec_prefix != x ; then
- fc_config_args="$fc_config_args --exec-prefix=$fc_config_exec_prefix"
- if test x${FC_CONFIG+set} != xset ; then
- FC_CONFIG=$fc_config_exec_prefix/bin/fontconfig-config
- fi
-fi
-if test x$fc_config_prefix != x ; then
- fc_config_args="$fc_config_args --prefix=$fc_config_prefix"
- if test x${FC_CONFIG+set} != xset ; then
- FC_CONFIG=$fc_config_prefix/bin/fontconfig-config
- fi
-fi
-AC_PATH_PROG(FC_CONFIG, fontconfig-config, no)
-
-min_fc_version=ifelse([$1], ,1.0.1,$1)
-AC_MSG_CHECKING(for Fontconfig - version >= $min_fc_version)
-no_fc=""
-pkg_config_fontconfig_exists=""
-
-if test "$FC_CONFIG" = "no" ; then
- if test "x$PKG_CONFIG" != "xno" ; then
- if $PKG_CONFIG --exists 'fontconfig' ; then
- if $PKG_CONFIG --exists 'fontconfig >= $1' ; then
- FC_CFLAGS=`$PKG_CONFIG --cflags fontconfig`
- FC_LIBS=`$PKG_CONFIG --libs fontconfig`
- else
- no_fc=yes
- fc_config_is_lt=yes
- fi
- else
- pkg_config_fontconfig_exists="maybe"
- no_fc=yes
- fi
- else
- no_fc=yes
- fi
-else
- FC_CFLAGS=`$FC_CONFIG $fc_config_args --cflags`
- FC_LIBS=`$FC_CONFIG $fc_config_args --libs`
- fc_config_major_version=`$FC_CONFIG $fc_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- fc_config_minor_version=`$FC_CONFIG $fc_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- fc_config_micro_version=`$FC_CONFIG $fc_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- fc_min_major_version=`echo $min_fc_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- fc_min_minor_version=`echo $min_fc_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- fc_min_micro_version=`echo $min_fc_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- fc_config_is_lt=no
- if test $fc_config_major_version -lt $fc_min_major_version ; then
- fc_config_is_lt=yes
- else
- if test $fc_config_major_version -eq $fc_min_major_version ; then
- if test $fc_config_minor_version -lt $fc_min_minor_version ; then
- fc_config_is_lt=yes
- else
- if test $fc_config_minor_version -eq $fc_min_minor_version ; then
- if test $fc_config_micro_version -lt $fc_min_micro_version ; then
- fc_config_is_lt=yes
- fi
- fi
- fi
- fi
- fi
- if test "x$fc_config_is_lt" = "xyes" ; then
- no_fc=yes
- fi
-fi
-
-if test "x$no_fc" = x ; then
- if test "x$enable_fctest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $FC_CFLAGS $FT2_CFLAGS"
- LIBS="$FC_LIBS $LIBS $FT2_LIBS"
-dnl
-dnl Sanity checks for the results of fontconfig-config/pkg-config to some extent
-dnl
- AC_TRY_RUN([
-#include <fontconfig/fontconfig.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main()
-{
- FcBool result;
-
- result = FcInit();
-
- if (result)
- {
- return 0;
- }
- else
- {
- return 1;
- }
-}
-],, no_fc=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
-fi
-
-if test "x$no_fc" = x; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
-else
- AC_MSG_RESULT(no)
- if test "x$fc_config_is_lt" = "xyes"; then
- echo "*** Your Fontconfig package version is < $1"
- elif test "x$pkg_config_fontconfig_exists" = "xmaybe"; then
- echo "*** fontconfig was not found in the pkg-config search path."
- echo "*** either fontconfig is not installed or perhaps you should"
- echo "*** add the directory containing fontconfig.pc to the "
- echo "*** PKG_CONFIG_PATH environment variable."
- elif test "$FC_CONFIG" != "no"; then
- echo "*** The Fontconfig test program failed to run. If your system uses"
- echo "*** shared libraries and they are installed outside the normal"
- echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
- echo "*** (or whatever is appropiate for your system) is correctly set."
- fi
- FC_CFLAGS=""
- FC_LIBS=""
- ifelse([$3], , :, [$3])
-fi
-AC_SUBST(FC_CFLAGS)
-AC_SUBST(FC_LIBS)
-])
-
-#-----------------------------------------------------------------------------
-# Configure paths for xft 2
-# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
-# modified by olicha for xft
-
-dnl AM_CHECK_XFT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for xft, and define XFT_CFLAGS and XFT_LIBS
-dnl
-AC_DEFUN(AM_CHECK_XFT,
-[dnl
-dnl Get the cflags and libraries from the xft-config script
-dnl
-AC_ARG_WITH(xft-prefix,
-[ --with-xft-prefix=PFX prefix where Xft2 is installed (optional)],
- xft_config_prefix="$withval", xft_config_prefix="")
-AC_ARG_WITH(xft-exec-prefix,
-[ --with-xft-exec-prefix=PFX exec prefix where Xft2 is installed],
- xft_config_exec_prefix="$withval", xft_config_exec_prefix="")
-AC_ARG_ENABLE(xfttest,
-[ --disable-xfttest do not try to compile and run a test Xft program],
- [], enable_xfttest=yes)
-
-if test x$xft_config_exec_prefix != x ; then
- xft_config_args="$xft_config_args --exec-prefix=$xft_config_exec_prefix"
- if test x${XFT_CONFIG+set} != xset ; then
- XFT_CONFIG=$xft_config_exec_prefix/bin/xft-config
- fi
-fi
-if test x$xft_config_prefix != x ; then
- xft_config_args="$xft_config_args --prefix=$xft_config_prefix"
- if test x${XFT_CONFIG+set} != xset ; then
- XFT_CONFIG=$xft_config_prefix/bin/xft-config
- fi
-fi
-AC_PATH_PROG(XFT_CONFIG, xft-config, no)
-
-min_xft_version=ifelse([$1], ,2.0.0,$1)
-AC_MSG_CHECKING(for Xft - version >= $min_xft_version)
-no_xft=""
-pkg_config_xft_exists=""
-
-if test "$XFT_CONFIG" = "no" ; then
- if test "x$PKG_CONFIG" != "xno" ; then
- if $PKG_CONFIG --exists 'xft' ; then
- if $PKG_CONFIG --exists 'xft >= $1' ; then
- XFT_CFLAGS=`$PKG_CONFIG --cflags xft`
- XFT_LIBS=`$PKG_CONFIG --libs xft`
- else
- no_xft=yes
- xft_config_is_lt=yes
- fi
- else
- pkg_config_xft_exists="maybe"
- no_xft=yes
- fi
- else
- no_xft=yes
- fi
-else
- XFT_CFLAGS=`$XFT_CONFIG $xft_config_args --cflags`
- XFT_LIBS=`$XFT_CONFIG $xft_config_args --libs`
- xft_config_major_version=`$XFT_CONFIG $xft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- xft_config_minor_version=`$XFT_CONFIG $xft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- xft_config_micro_version=`$XFT_CONFIG $xft_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- xft_min_major_version=`echo $min_xft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- xft_min_minor_version=`echo $min_xft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- xft_min_micro_version=`echo $min_xft_version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- xft_config_is_lt=no
- if test $xft_config_major_version -lt $xft_min_major_version ; then
- xft_config_is_lt=yes
- else
- if test $xft_config_major_version -eq $xft_min_major_version ; then
- if test $xft_config_minor_version -lt $xft_min_minor_version ; then
- xft_config_is_lt=yes
- else
- if test $xft_config_minor_version -eq $xft_min_minor_version ; then
- if test $xft_config_micro_version -lt $xft_min_micro_version ; then
- xft_config_is_lt=yes
- fi
- fi
- fi
- fi
- fi
- if test "x$xft_config_is_lt" = "xyes" ; then
- ifelse([$3], , :, [$3])
- fi
-fi
-
-if test "x$no_xft" = x ; then
- if test "x$enable_xfttest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$XFT_CFLAGS $CFLAGS"
- LIBS="$XFT_LIBS $LIBS"
-dnl
-dnl Sanity checks for the results of xft-config/pkg-config to some extent
-dnl
- AC_TRY_RUN([
-#include <X11/Xft/Xft.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main()
-{
- FcBool result = 1;
-
- result = XftInit(NULL);
-
- if (result)
- {
- return 0;
- }
- else
- {
- return 1;
- }
-}
-],, no_xft=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
-fi
-
-if test "x$no_xft" = x; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
-else
- AC_MSG_RESULT(no)
- if test "x$xft_config_is_lt" = "xyes"; then
- echo "*** Your xft2 package version is < $1"
- elif test "x$pkg_config_fontconfig_exists" = "xmaybe" ; then
- echo "*** xft2 was not found in the pkg-config search path."
- echo "*** either xft is not installed or perhaps you should"
- echo "*** add the directory containing xft.pc to the "
- echo "*** PKG_CONFIG_PATH environment variable."
- elif test "$XFT_CONFIG" = "no"; then
- echo "*** The xft-config script installed by Xft 2 could not be found."
- echo "*** If Xft 2 was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the XFT_CONFIG environment variable to the"
- echo "*** full path to xft-config."
- else
- echo "*** The Xft test program failed to run. If your system uses"
- echo "*** shared libraries and they are installed outside the normal"
- echo "*** system library path, make sure the variable LD_LIBRARY_PATH"
- echo "*** (or whatever is appropiate for your system) is correctly set."
- fi
- XFT_CFLAGS=""
- XFT_LIBS=""
- ifelse([$3], , :, [$3])
-fi
-AC_SUBST(XFT_CFLAGS)
-AC_SUBST(XFT_LIBS)
-])
-
-#-----------------------------------------------------------------------------
-# gettext stuff from the gettext package
-#
-# Authors: Ulrich Drepper <drepper@cygnus.com>, 1996.
-# modified by the fvwm workers
-#
-
-AC_DEFUN([AM_GNU_FGETTEXT],
-[
- AC_REQUIRE([AM_PO_SUBDIRS])dnl
-
- intl_LIBS=
- intl_CFLAGS=
- POSUB=
-
- found_gettext=yes
-
- dnl check for the necessary stuff in the libc
- dnl the pbs is that we can detect this stuff but in fact the included
- dnl libintl.h is from gettext
- dnl Moreover, we do not try to use other implementation, but we may try
- dnl one day
- $UNSET ac_cv_header_intl_h
- $UNSET ac_cv_func_gettext
- $UNSET ac_cv_func_bindtextdomain
- $UNSET ac_cv_func_textdomain
- dnl a "gnu extension"
- $UNSET ac_cv_func_dgettext
- #bind_textdomain_codeset
- AC_CHECK_HEADER(libintl.h,
- [AC_CHECK_FUNCS(gettext bindtextdomain textdomain dgettext,,
- found_gettext=no)], found_gettext=no)
-
- AC_MSG_CHECKING([for gnu gettext in libc])
- if test x"$found_gettext" = "xyes"; then
- problem_gettext=" (libc)"
- AC_MSG_RESULT([yes])
- AC_MSG_CHECKING(if a simple gettext program link)
- AC_TRY_LINK([
- #include <libintl.h>
- ],
- [const char *c; c = gettext("foo");],
- found_gettext=yes;problem_gettext=" (libc)", found_gettext=no)
- AC_MSG_RESULT($found_gettext)
- else
- AC_MSG_RESULT([no])
- fi
-
- if test x"$found_gettext" = xno; then
- dnl not found, check for libintl
- $UNSET ac_cv_header_intl_h
- $UNSET ac_cv_lib_intl_bindtextdomain
- $UNSET ac_cv_lib_intl_textdomain
- $UNSET ac_cv_lib_intl_dgettext
- smr_CHECK_LIB(intl, intl, for Native Language Support,
- bindtextdomain, libintl.h)
- if test x"$intl_LIBS" != x; then
- no_textdomain=no
- no_dgettext=no
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- AC_CHECK_LIB(intl, textdomain,, no_textdomain=yes,
- [$intl_LIBS $iconv_LIBS])
- if test "$no_textdomain" != "yes"; then
- AC_CHECK_LIB(intl, dgettext,, no_dgettext=yes, [$intl_LIBS $iconv_LIBS])
- if test "$no_dgettext" != "yes"; then
- CFLAGS="$CFLAGS $intl_LIBS $iconv_LIBS"
- LIBS="$LIBS $intl_LIBS $iconv_LIBS"
- AC_MSG_CHECKING(if a simple gettext program link)
- AC_TRY_LINK([
- #include <libintl.h>
- ],
- [const char *c; c = gettext("foo");],
- found_gettext=yes;problem_gettext=" (intl library)", found_gettext=no)
- AC_MSG_RESULT($found_gettext)
- fi
- fi
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
-
- if test "$found_gettext" = "yes"; then
- dnl Mark actions to use GNU gettext tools.
- CATOBJEXT=.gmo
- USE_NLS=yes
- dnl We need to process the po/ directory.
- POSUB=po
- else
- USE_NLS=no
- fi
-
- dnl Make the po/ variables we use known to autoconf
-])
-
-
-dnl Checks for all prerequisites of the po subdirectory,
-dnl except for USE_NLS.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
- AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_INSTALL])dnl
- AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-
- dnl Perform the following tests also if --disable-nls has been given,
- dnl because they are needed for "make dist" to work.
-
- dnl Search for GNU msgfmt in the PATH.
- dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
- dnl The second test excludes FreeBSD msgfmt.
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
- dnl Search for GNU xgettext 0.11 or newer in the PATH.
- dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
- dnl The second test excludes FreeBSD xgettext.
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
- :)
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
-
- dnl Search for GNU msgmerge 0.11 or newer in the PATH.
- AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
- [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
-
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU msgfmt.
- if test "$GMSGFMT" != ":"; then
- dnl If it is no GNU msgfmt we define it as : so that the
- dnl Makefiles still can work.
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- AC_MSG_RESULT(
- [found $GMSGFMT program is not GNU msgfmt; ignore it])
- GMSGFMT=":"
- fi
- fi
-
- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
- dnl Test whether we really found GNU xgettext.
- if test "$XGETTEXT" != ":"; then
- dnl If it is no GNU xgettext we define it as : so that the
- dnl Makefiles still can work.
- if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- AC_MSG_RESULT(
- [found xgettext program is not GNU xgettext; ignore it])
- XGETTEXT=":"
- fi
- dnl Remove leftover from FreeBSD xgettext call.
- rm -f messages.po
- fi
-
- AC_PATH_PROG(MSGUNIQ, msguniq, $MSGUNIQ)
-
- AC_MSG_CHECKING([for NLS fvwm messages catalogs])
- AC_MSG_RESULT([$ALL_LINGUAS])
- POFILES=
- GMOFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- for lang in $ALL_LINGUAS; do
- for dom in $ALL_DOMAINS; do
- POFILES="$POFILES $dom.$lang.po"
- GMOFILES="$GMOFILES $dom.$lang.gmo"
- UPDATEPOFILES="$UPDATEPOFILES $dom.$lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $dom.$lang.nop"
- done
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS environment variable.
- INST_LINGUAS=
- AC_MSG_CHECKING([for NLS desired catalogs to be installed])
- #if test "%UNSET%" != "$LINGUAS"; then
- # FIXME: How to check if LINGUAS has been *set* to ""
- if test -n "$LINGUAS"; then
- AC_MSG_RESULT([$LINGUAS])
- else
- AC_MSG_RESULT([all])
- fi
- AC_MSG_CHECKING([for NLS messages catalogs to be installed])
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- #if test "%UNSET%" != "$LINGUAS"; then
- if test -n "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- AC_MSG_RESULT([$INST_LINGUAS])
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
-
-])
-
-
-AC_DEFUN([AM_MKINSTALLDIRS],
-[
- dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
- dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
- dnl Try to locate is.
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
-])
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
- /*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$]$1)
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/x11-wm/fvwm/files/digest-fvwm-2.5.10-r7 b/x11-wm/fvwm/files/digest-fvwm-2.5.10-r7
new file mode 100644
index 000000000000..8badcdb941fd
--- /dev/null
+++ b/x11-wm/fvwm/files/digest-fvwm-2.5.10-r7
@@ -0,0 +1,2 @@
+MD5 b3c86e2af2a4eabe692c9c849ff4b243 fvwm-2.5.10.tar.bz2 1788873
+MD5 17313f940d0110e37f996aae3ead282e FvwmTabs-v3.1.tar.gz 28934
diff --git a/x11-wm/fvwm/files/digest-fvwm-2.5.7-r5 b/x11-wm/fvwm/files/digest-fvwm-2.5.7-r5
deleted file mode 100644
index 47a79bb873b9..000000000000
--- a/x11-wm/fvwm/files/digest-fvwm-2.5.7-r5
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 5dfcf70560779ed845261c5044652c81 fvwm-2.5.7.tar.bz2 1711869
-MD5 1dea581e8290aa1186c295e3bdff4e62 FvwmTabs-2.3.tar.gz 21337
diff --git a/x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff b/x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff
deleted file mode 100644
index 072b7d9e357f..000000000000
--- a/x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff
+++ /dev/null
@@ -1,1475 +0,0 @@
-diff -u fvwm-2.5.10/modules/FvwmButtons/button.c fvwm/modules/FvwmButtons/button.c
---- fvwm-2.5.10/modules/FvwmButtons/button.c 2003-06-29 20:53:24.000000000 +0100
-+++ fvwm/modules/FvwmButtons/button.c 2004-07-10 18:50:13.074019368 +0100
-@@ -298,6 +298,11 @@
-
- int buttonColorset(button_info *b)
- {
-+ if (b == HoverButton && UberButton->c->flags & b_HoverColorset)
-+ return UberButton->c->hoverColorset;
-+ if (b == CurrentButton && UberButton->c->flags & b_PressColorset)
-+ return UberButton->c->pressColorset;
-+
- if (b->flags & b_Colorset)
- return b->colorset;
- else if (b->flags & b_Container && b->c->flags & b_Colorset)
-Only in fvwm/modules/FvwmButtons: CVS
-Only in fvwm/modules/FvwmButtons: .cvsignore
-diff -u fvwm-2.5.10/modules/FvwmButtons/draw.c fvwm/modules/FvwmButtons/draw.c
---- fvwm-2.5.10/modules/FvwmButtons/draw.c 2003-06-29 20:53:24.000000000 +0100
-+++ fvwm/modules/FvwmButtons/draw.c 2004-07-10 18:50:13.078018760 +0100
-@@ -139,11 +139,6 @@
- /* At this point iw,ih,ix and iy should be correct. Now all we have to do is
- place title and iconwin in their proper positions */
-
-- /* For now, use the old routine in icons.h for buttons with icons */
-- if(b->flags&b_Icon && !(b->flags&b_IconAlpha))
-- {
-- ConfigureIconWindow(b, NULL);
-- }
- /* For now, hardcoded window centered, title bottom centered, below window */
- if(buttonSwallowCount(b)==3 && (b->flags & b_Swallow))
- {
-@@ -188,13 +183,13 @@
- *** draw can be:
- *** DRAW_RELIEF: draw only the relief
- *** DRAW_CLEAN: draw the relief, the foreground bg if any and if this
--*** the case draw the title and the icon if b_IconAlpha. This is safe
-+*** the case draw the title and the icon if b_Icon. This is safe
- *** but the button background may be not repaint (if the bg of the button
- *** come from a parent button).
--*** DRAW_ALL: as above but draw the title and the icon if b_IconAlpha in
--*** any case. WARRNING: the title and the icon (b_IconAlpha) must be cleaned:
-+*** DRAW_ALL: as above but draw the title and the icon if b_Icon in
-+*** any case. WARRNING: the title and the icon (b_Icon) must be cleaned:
- *** if the button has a bg this is the case, but if the bg of the button
--*** come from a parent button this is not the case and xft title and alpha
-+*** come from a parent button this is not the case and xft title and
- *** icons will be not draw correctly.
- *** So DRAW_ALL is ok only when you draw buttons recursively.
- *** DRAW_FORCE: draw the button and its parent fg bg. Use this only if
-@@ -222,6 +217,9 @@
- Bool clean = False;
- Bool cleaned = False;
- Bool clear_bg = False;
-+ unsigned long iconFlag, otherIconFlag;
-+ Bool has_title;
-+ FvwmPicture *pic;
-
- cset = buttonColorset(b);
- if (cset >= 0)
-@@ -246,8 +244,8 @@
-
- /* This probably isn't the place for this, but it seems to work here
- * and not elsewhere, so... */
-- if((b->flags & b_Swallow) && (buttonSwallowCount(b)==3) &&
-- b->IconWin!=None)
-+ if ((b->flags & b_Swallow) && (buttonSwallowCount(b) == 3) &&
-+ b->IconWin != None)
- {
- XSetWindowBorderWidth(Dpy,b->IconWin,0);
- }
-@@ -357,6 +355,28 @@
- of = f;
- f=abs(f);
-
-+ iconFlag = b_Icon;
-+ otherIconFlag = b_HoverIcon;
-+ has_title = (b->flags & b_Title ? True : False);
-+ pic = b->icon;
-+ if (b == HoverButton)
-+ {
-+ /* If no HoverIcon is specified, we use Icon (if there is
-+ one). */
-+ if (b->flags & b_HoverIcon)
-+ {
-+ iconFlag = b_HoverIcon;
-+ otherIconFlag = b_Icon;
-+ pic = b->hovericon;
-+ }
-+ /* If no HoverTitle is specified, we use Title (if there is
-+ one). */
-+ if (b->flags & b_HoverTitle)
-+ {
-+ has_title = True;
-+ }
-+ }
-+
- if (draw == DRAW_CLEAN)
- {
- clean = True;
-@@ -498,39 +518,78 @@
- if (do_draw)
- {
- cleaned = True;
-- XFillRectangle(
-- Dpy,MyWindow,NormalGC,
-- clip.x,clip.y,clip.width,clip.height);
-+ if (b == HoverButton &&
-+ UberButton->c->flags & b_HoverColorset)
-+ {
-+ SetRectangleBackground(Dpy, MyWindow,
-+ clip.x, clip.y, clip.width,
-+ clip.height,
-+ &Colorset[UberButton->c->hoverColorset],
-+ Pdepth, NormalGC);
-+ }
-+ else if (b == CurrentButton &&
-+ UberButton->c->flags & b_PressColorset)
-+ {
-+ SetRectangleBackground(Dpy, MyWindow,
-+ clip.x, clip.y, clip.width,
-+ clip.height,
-+ &Colorset[UberButton->c->pressColorset],
-+ Pdepth, NormalGC);
-+ }
-+ else
-+ {
-+ XFillRectangle(Dpy, MyWindow, NormalGC,
-+ clip.x, clip.y, clip.width,
-+ clip.height);
-+ }
- }
- }
- else if (clear_bg ||
- (pev && !buttonBackgroundButton(b,NULL) &&
- ((b->flags&b_Title && Ffont && Ffont->fftf.fftfont) ||
-- (b->flags&b_Icon && b->flags&b_IconAlpha))))
-+ (b->flags&b_Icon))))
- {
- /* some times we need to clear the real bg.
- * The pev expose rectangle can be bigger than the real
- * exposed part (as we rectangle flush and pev can
- * be a fake event) so we need to clear with xft font
-- * and icons with alpha */
-+ * and icons. */
- if (do_draw)
- {
- cleaned = True;
-- XClearArea(
-- Dpy, MyWindow, clip.x, clip.y,
-- clip.width, clip.height, False);
-+ XClearArea(Dpy, MyWindow, clip.x,
-+ clip.y, clip.width, clip.height,
-+ False);
-+ if (b == HoverButton &&
-+ UberButton->c->flags & b_HoverColorset)
-+ {
-+ SetRectangleBackground(Dpy, MyWindow,
-+ clip.x, clip.y, clip.width,
-+ clip.height,
-+ &Colorset[UberButton->c->hoverColorset],
-+ Pdepth, NormalGC);
-+ }
-+ else if (b == CurrentButton &&
-+ UberButton->c->flags & b_PressColorset)
-+ {
-+ SetRectangleBackground(Dpy, MyWindow,
-+ clip.x, clip.y, clip.width,
-+ clip.height,
-+ &Colorset[UberButton->c->pressColorset],
-+ Pdepth, NormalGC);
-+ }
- }
- }
- }
-
- /* ------------------------------------------------------------------ */
-
-- if(cleaned && (b->flags&b_Title))
-+ if (cleaned && (b->flags & (b_Title|b_HoverTitle|b_PressTitle)))
- {
- DrawTitle(b,MyWindow,NormalGC,pev,False);
- }
-
-- if (!(b->flags&b_Title) && (b->flags & b_Panel) &&
-+ if (!has_title && (b->flags & b_Panel) &&
- (b->panel_flags.panel_indicator))
- {
- XGCValues gcv;
-@@ -612,10 +671,13 @@
- }
- } /* panel indicator */
-
-- /* redraw icons with alpha because there are drawn on the foreground */
-- if(cleaned && (b->flags&b_Icon) && (b->flags & b_IconAlpha))
-+ if (cleaned)
- {
-- DrawForegroundIcon(b, pev);
-+ if (b->flags & iconFlag)
-+ {
-+ /* draw icon */
-+ DrawForegroundIcon(b, pev);
-+ }
- }
-
- /* relief */
-@@ -633,13 +695,36 @@
- FlocaleFont *Ffont=buttonFont(b);
- int justify=buttonJustify(b);
- int l,i,xpos;
-- char *s;
-+ char *s = NULL;
- int just=justify&b_TitleHoriz; /* Left, center, right */
- XGCValues gcv;
- unsigned long gcm;
- int cset;
- XRectangle clip;
- Region region = None;
-+ FvwmPicture *pic = b->icon;
-+ unsigned long iconFlag = b_Icon;
-+
-+ if (b == HoverButton)
-+ {
-+ /* If no HoverIcon is specified, we use Icon (if there is
-+ one). */
-+ if (b->flags & b_HoverIcon)
-+ {
-+ pic = b->hovericon;
-+ iconFlag = b_HoverIcon;
-+ }
-+ }
-+ else if (b == CurrentButton)
-+ {
-+ /* If no PressIcon is specified, we use Icon (if there is
-+ one). */
-+ if (b->flags & b_PressIcon)
-+ {
-+ pic = b->pressicon;
-+ iconFlag = b_PressIcon;
-+ }
-+ }
-
- BH = buttonHeight(b);
-
-@@ -647,10 +732,18 @@
-
- /* ------------------------------------------------------------------ */
-
-- if(!(b->flags&b_Title) || !Ffont)
-- {
-+ /* If this is the current hover button but no explicit HoverTitle was
-+ specified, use the Title (if there is one).
-+ Similarly for PressTitle. */
-+ if (b == HoverButton && b->flags & b_HoverTitle)
-+ s = b->hoverTitle;
-+ else if (b == CurrentButton && b->flags & b_PressTitle)
-+ s = b->pressTitle;
-+ else if (b->flags & b_Title)
-+ s = b->title;
-+
-+ if (!s || !Ffont)
- return;
-- }
-
- cset = buttonColorset(b);
- gcm = 0;
-@@ -676,10 +769,10 @@
- /* If a title is to be shown, truncate it until it fits */
- if(justify&b_Horizontal && !(b->flags & b_Right))
- {
-- if(b->flags&b_Icon)
-+ if (b->flags & iconFlag)
- {
-- ix+=b->icon->width+buttonXPad(b);
-- iw-=b->icon->width+buttonXPad(b);
-+ ix += pic->width+buttonXPad(b);
-+ iw -= pic->width+buttonXPad(b);
- }
- else if ((b->flags & b_Swallow) && buttonSwallowCount(b)==3)
- {
-@@ -688,7 +781,6 @@
- }
- }
-
-- s = b->title;
- l = strlen(s);
- i = FlocaleTextWidth(Ffont,s,l);
-
-@@ -740,7 +832,7 @@
- FwinString.x = xpos;
- /* If there is more than the title, put it at the bottom */
- /* Unless stack flag is set, put it to the right of icon */
-- if((b->flags&b_Icon ||
-+ if ((b->flags & iconFlag ||
- ((buttonSwallowCount(b)==3) && (b->flags&b_Swallow))) &&
- !(justify&b_Horizontal))
- {
-diff -u fvwm-2.5.10/modules/FvwmButtons/dynamic.c fvwm/modules/FvwmButtons/dynamic.c
---- fvwm-2.5.10/modules/FvwmButtons/dynamic.c 2002-11-05 12:30:29.000000000 +0000
-+++ fvwm/modules/FvwmButtons/dynamic.c 2004-07-10 10:13:25.000000000 +0100
-@@ -73,16 +73,12 @@
-
- static void change_button_title(button_info *b, const char *text)
- {
-- if (!(b->flags & b_Title))
-- {
-- show_error("Cannot create a title, only change one\n");
-- return;
-- }
- if (text == NULL)
- {
- show_error("No title to change specified, unsupported\n");
- return;
- }
-+ b->flags |= b_Title;
- free(b->title);
- CopyString(&b->title, text);
- return;
-@@ -92,11 +88,6 @@
- {
- FvwmPicture *new_icon;
-
-- if (!(b->flags & b_Icon))
-- {
-- show_error("Cannot create an icon, only change one\n");
-- return;
-- }
- if (file == NULL)
- {
- show_error("No icon to change specified, unsupported\n");
-@@ -107,22 +98,12 @@
- show_error("Cannot load icon %s\n", file);
- return;
- }
-+ b->flags |= b_Icon;
- free(b->icon_file);
- PDestroyFvwmPicture(Dpy, b->icon);
-- DestroyIconWindow(b);
- b->icon = new_icon;
- CopyString(&b->icon_file, file);
-- CreateIconWindow(b);
-- if (b->flags&b_IconAlpha)
-- {
-- RedrawButton(b, DRAW_FORCE, NULL);
-- }
-- else
-- {
-- ConfigureIconWindow(b, NULL);
-- XMapWindow(Dpy, b->IconWin);
-- }
-- return;
-+ RedrawButton(b, DRAW_FORCE, NULL);
- }
-
- #if 0
-@@ -250,6 +231,8 @@
- {
- "Silent", "ChangeButton", "ExpandButtonVars", NULL
- };
-+
-+/* TODO: Should probably allow the HoverIcon & HoverTitle to change one day. */
- static char *button_options[] =
- {
- "Title", "Icon", NULL
-diff -u fvwm-2.5.10/modules/FvwmButtons/FvwmButtons.c fvwm/modules/FvwmButtons/FvwmButtons.c
---- fvwm-2.5.10/modules/FvwmButtons/FvwmButtons.c 2004-02-16 10:18:30.000000000 +0000
-+++ fvwm/modules/FvwmButtons/FvwmButtons.c 2004-07-10 18:50:13.059021648 +0100
-@@ -67,7 +67,6 @@
- #include "FvwmButtons.h"
- #include "misc.h" /* ConstrainSize() */
- #include "parse.h" /* ParseConfiguration(), parse_window_geometry() */
--#include "icons.h" /* CreateIconWindow(), ConfigureIconWindow() */
- #include "draw.h"
- #include "dynamic.h"
-
-@@ -75,6 +74,7 @@
- #define MW_EVENTS (ExposureMask |\
- StructureNotifyMask |\
- ButtonReleaseMask | ButtonPressMask |\
-+ LeaveWindowMask | PointerMotionMask |\
- KeyReleaseMask | KeyPressMask | ButtonMotionMask)
- /* SW_EVENTS are for swallowed windows... */
- #define SW_EVENTS (PropertyChangeMask | StructureNotifyMask |\
-@@ -96,7 +96,7 @@
- void SetButtonSize(button_info*,int,int);
- /* main */
- void Loop(void);
--void RedrawWindow();
-+void RedrawWindow(void);
- void RecursiveLoadData(button_info*,int*,int*);
- void CreateUberButtonWindow(button_info*,int,int);
- int My_FNextEvent(Display *dpy, XEvent *event);
-@@ -162,7 +162,9 @@
- Bool is_transient = 0;
- Bool is_transient_panel = 0;
-
--button_info *CurrentButton = NULL;
-+/* $CurrentButton is set on ButtonPress, $HoverButton is set whenever the
-+ mouse is over a button that is redrawn specially. */
-+button_info *CurrentButton = NULL, *HoverButton = NULL;
- Bool is_pointer_in_current_button = False;
- int fd[2];
-
-@@ -842,27 +844,6 @@
-
- CreateUberButtonWindow(UberButton,maxx,maxy);
-
--#ifdef DEBUG_INIT
-- fprintf(stderr,"OK\n%s: Creating icon windows...",MyName);
--#endif
--
-- i=-1;
-- ub=UberButton;
-- while(NextButton(&ub,&b,&i,0))
-- {
-- if(b->flags&b_Icon)
-- {
--#ifdef DEBUG_INIT
-- fprintf(stderr,"0x%06x...",(ushort)b);
--#endif
-- CreateIconWindow(b);
-- }
-- }
--
--#ifdef DEBUG_INIT
-- fprintf(stderr,"OK\n%s: Configuring windows...",MyName);
--#endif
--
- if (!XGetGeometry(
- Dpy, MyWindow, &root, &x, &y, (unsigned int *)&Width,
- (unsigned int *)&Height, (unsigned int *)&border_width, &depth))
-@@ -873,8 +854,6 @@
- SetButtonSize(UberButton,Width,Height);
- i=-1;
- ub=UberButton;
-- while(NextButton(&ub,&b,&i,0))
-- ConfigureIconWindow(b, NULL);
-
- if (FShapesSupported)
- {
-@@ -922,6 +901,30 @@
- return 0;
- }
-
-+/* We get LeaveNotify events when the mouse enters a swallowed window of
-+ FvwmButtons, but we're not interested in these situations. */
-+static Bool reallyLeaveWindow (const int x, const int y,
-+ const Window win, const button_info *b)
-+{
-+ if (x < 0 || x >= Width || y < 0 || y >= Height)
-+ {
-+ return True;
-+ }
-+
-+ if (b == NULL)
-+ {
-+ b = select_button(UberButton, x, y);
-+ }
-+
-+ /* TODO: fix situation when mouse enters window overlapping
-+ with a b_Swallow button. */
-+ if (b->flags & b_Swallow)
-+ {
-+ return False;
-+ }
-+ return True;
-+}
-+
- /* -------------------------------- Main Loop -------------------------------*/
-
- /**
-@@ -1075,20 +1078,68 @@
- }
- break;
-
-- case MotionNotify:
-+ case MotionNotify:
- {
-- Bool f = is_pointer_in_current_button;
-+ Bool f = is_pointer_in_current_button, redraw_relief = False;
-+ if (Event.xmotion.x < 0 || Event.xmotion.x >= Width ||
-+ Event.xmotion.y < 0 || Event.xmotion.y >= Height)
-+ {
-+ /* cursor is outside of FvwmButtons window. */
-+ break;
-+ }
-
-- is_pointer_in_current_button =
-- (CurrentButton && CurrentButton ==
-- select_button(UberButton, Event.xmotion.x, Event.xmotion.y));
-- if (CurrentButton && is_pointer_in_current_button != f)
-- {
-- RedrawButton(b, DRAW_RELIEF, NULL);
-- }
-+ /* find out which button the cursor is in now. */
-+ b = select_button(UberButton, Event.xmotion.x, Event.xmotion.y);
-+
-+ is_pointer_in_current_button =
-+ (CurrentButton && CurrentButton == b);
-+ if (CurrentButton && is_pointer_in_current_button != f)
-+ {
-+ redraw_relief = True;
-+ }
-+
-+ if (b != HoverButton && CurrentButton == NULL)
-+ {
-+ if (HoverButton)
-+ {
-+ button_info *tmp = HoverButton;
-+ HoverButton = b;
-+ RedrawButton(tmp, DRAW_FORCE, NULL);
-+ }
-+ if (b->flags & (b_HoverIcon | b_HoverTitle) ||
-+ UberButton->c->flags & b_HoverColorset)
-+ {
-+ HoverButton = b;
-+ RedrawButton(b, DRAW_FORCE, NULL);
-+ redraw_relief = False;
-+ }
-+ }
-+
-+ if (redraw_relief)
-+ {
-+ RedrawButton(b, DRAW_RELIEF, NULL);
-+ }
- }
- break;
-
-+ case LeaveNotify:
-+ {
-+ if (reallyLeaveWindow(Event.xcrossing.x, Event.xcrossing.y,
-+ Event.xcrossing.window, NULL))
-+ {
-+ if (HoverButton)
-+ {
-+ b = HoverButton;
-+ HoverButton = NULL;
-+ RedrawButton(b, DRAW_FORCE, NULL);
-+ }
-+ if (CurrentButton)
-+ {
-+ RedrawButton(b, DRAW_FORCE, NULL);
-+ }
-+ }
-+ break;
-+ }
- case KeyPress:
- XLookupString(&Event.xkey,buffer,10,&keysym,0);
- if(keysym!=XK_Return && keysym!=XK_KP_Enter && keysym!=XK_Linefeed)
-@@ -1099,7 +1150,7 @@
- {
- b = CurrentButton;
- CurrentButton = 0;
-- RedrawButton(b, DRAW_RELIEF, NULL);
-+ RedrawButton(b, DRAW_FORCE, NULL);
- break;
- }
- if (Event.xbutton.state & DEFAULT_ALL_BUTTONS_MASK)
-@@ -1132,7 +1183,17 @@
- CurrentButton=NULL;
- break;
- }
-- RedrawButton(b, DRAW_RELIEF, NULL);
-+
-+ /* Undraw HoverButton (if there is one). */
-+ if (HoverButton)
-+ {
-+ /* $b & $HoverButton are always the same button. */
-+ button_info *tmp = HoverButton;
-+ HoverButton = NULL;
-+ RedrawButton(tmp, DRAW_FORCE, NULL);
-+ }
-+ else
-+ RedrawButton(b, DRAW_FORCE, NULL);
- if (!act)
- {
- break;
-@@ -1159,8 +1220,11 @@
- case ButtonRelease:
- if (CurrentButton == NULL || !is_pointer_in_current_button)
- {
-- CurrentButton = NULL;
-- break;
-+ if (CurrentButton)
-+ RedrawButton(CurrentButton, DRAW_FORCE, NULL);
-+
-+ CurrentButton = NULL;
-+ break;
- }
- if (Event.xbutton.window == MyWindow)
- {
-@@ -1176,6 +1240,16 @@
- Event.xbutton.y, &x, &y, &dummy);
- }
- b = select_button(UberButton, x, y);
-+ if (b->flags & (b_HoverIcon | b_HoverTitle) ||
-+ UberButton->c->flags & b_HoverColorset)
-+ {
-+ if (Event.xbutton.x >= 0 && Event.xbutton.x < Width &&
-+ Event.xbutton.y >= 0 && Event.xbutton.y < Height)
-+ {
-+ HoverButton = b;
-+ RedrawButton(b, DRAW_FORCE, NULL);
-+ }
-+ }
- act = GetButtonAction(b,Event.xbutton.button);
- if (b && !act && (b->flags & b_Panel))
- {
-@@ -1283,7 +1357,7 @@
- b = CurrentButton;
- CurrentButton=NULL;
- if (b)
-- RedrawButton(b, DRAW_RELIEF, NULL);
-+ RedrawButton(b, DRAW_FORCE, NULL);
- break;
-
- case ClientMessage:
-@@ -1502,7 +1576,7 @@
- **/
- void RecursiveLoadData(button_info *b,int *maxx,int *maxy)
- {
-- int i,j,x=0,y=0;
-+ int i, x=0, y=0, ix, iy, tx, ty, hix, hiy, htx, hty, pix, piy, ptx, pty;
- FlocaleFont *Ffont;
-
- if (!b)
-@@ -1665,9 +1739,16 @@
- b->c->height=y;
- }
-
--
-- i=0;
-- j=0;
-+ /* $ix & $iy are dimensions of Icon
-+ $tx & $ty are dimensions of Title
-+ $hix & $hiy are dimensions of HoverIcon
-+ $htx & $hty are dimensions of HoverTitle
-+ $pix & $piy are dimensions of PressIcon
-+ $ptx & $pty are dimensions of PressTitle
-+
-+ Note that if No HoverIcon is specified, Icon is displayed during hover.
-+ Similarly for HoverTitle, PressIcon & PressTitle. */
-+ ix = iy = tx = ty = hix = hiy = htx = hty = pix = piy = ptx = pty = 0;
-
- /* Load the icon */
- if(b->flags&b_Icon && LoadIconFile(b->icon_file,&b->icon, buttonColorset(b)))
-@@ -1675,12 +1756,49 @@
- #ifdef DEBUG_LOADDATA
- fprintf(stderr,", icon \"%s\"",b->icon_file);
- #endif
-- i=b->icon->width;
-- j=b->icon->height;
-+ ix = b->icon->width;
-+ iy = b->icon->height;
-+ }
-+ else
-+ b->flags &= ~b_Icon;
-+
-+ /* load the hover icon. */
-+ if (b->flags & b_HoverIcon &&
-+ LoadIconFile(b->hover_icon_file, &b->hovericon, buttonColorset(b)))
-+ {
-+#ifdef DEBUG_LOADDATA
-+ fprintf(stderr,", hover icon \"%s\"", b->hover_icon_file);
-+#endif
-+
-+ hix = b->hovericon->width;
-+ hiy = b->hovericon->height;
- }
- else
-- b->flags&=~b_Icon;
-+ {
-+ hix = ix;
-+ hiy = iy;
-+ b->flags &= ~b_HoverIcon;
-+ }
-+
-+ /* load the press icon. */
-+ if (b->flags & b_PressIcon &&
-+ LoadIconFile(b->press_icon_file, &b->pressicon, buttonColorset(b)))
-+ {
-+#ifdef DEBUG_LOADDATA
-+ fprintf(stderr,", press icon \"%s\"", b->press_icon_file);
-+#endif
-
-+ pix = b->pressicon->width;
-+ piy = b->pressicon->height;
-+ }
-+ else
-+ {
-+ pix = ix;
-+ piy = iy;
-+ b->flags &= ~b_PressIcon;
-+ }
-+
-+ /* calculate Title dimensions. */
- if(b->flags&b_Title && (Ffont = buttonFont(b)))
- {
- #ifdef DEBUG_LOADDATA
-@@ -1688,18 +1806,66 @@
- #endif
- if(buttonJustify(b)&b_Horizontal)
- {
-- i+=buttonXPad(b)+FlocaleTextWidth(Ffont,b->title,strlen(b->title));
-- j=max(j,Ffont->height);
-+ tx = buttonXPad(b) + FlocaleTextWidth(Ffont, b->title, strlen(b->title));
-+ ty = Ffont->height;
- }
- else
- {
-- i=max(i,FlocaleTextWidth(Ffont,b->title,strlen(b->title)));
-- j+=Ffont->height;
-+ tx = FlocaleTextWidth(Ffont, b->title, strlen(b->title));
-+ ty = Ffont->height;
- }
- }
-
-- x+=i;
-- y+=j;
-+ /* calculate HoverTitle dimensions. */
-+ if (b->flags & b_HoverTitle && (Ffont = buttonFont(b)))
-+ {
-+#ifdef DEBUG_LOADDATA
-+ fprintf(stderr,", title \"%s\"",b->title);
-+#endif
-+ if (buttonJustify(b) & b_Horizontal)
-+ {
-+ htx = buttonXPad(b) + FlocaleTextWidth(Ffont, b->hoverTitle,
-+ strlen(b->hoverTitle));
-+ hty = Ffont->height;
-+ }
-+ else
-+ {
-+ htx = FlocaleTextWidth(Ffont, b->hoverTitle, strlen(b->hoverTitle));
-+ hty = Ffont->height;
-+ }
-+ }
-+ else
-+ {
-+ htx = tx;
-+ hty = ty;
-+ }
-+
-+ /* calculate PressTitle dimensions. */
-+ if (b->flags & b_PressTitle && (Ffont = buttonFont(b)))
-+ {
-+#ifdef DEBUG_LOADDATA
-+ fprintf(stderr,", title \"%s\"",b->title);
-+#endif
-+ if (buttonJustify(b) & b_Horizontal)
-+ {
-+ ptx = buttonXPad(b) + FlocaleTextWidth(Ffont, b->pressTitle,
-+ strlen(b->pressTitle));
-+ pty = Ffont->height;
-+ }
-+ else
-+ {
-+ ptx = FlocaleTextWidth(Ffont, b->pressTitle, strlen(b->pressTitle));
-+ pty = Ffont->height;
-+ }
-+ }
-+ else
-+ {
-+ ptx = tx;
-+ pty = ty;
-+ }
-+
-+ x += max(max(ix, tx), max(hix, htx));
-+ y += max(iy + ty, hiy + hty);
-
- if(b->flags&b_Size)
- {
-@@ -2405,21 +2571,6 @@
- }
- else
- {
-- if (Event == NULL && b->flags&b_Icon)
-- {
-- /* FIXME do that only if we have an icon
-- * colorset */
-- DestroyIconWindow(b);
-- CreateIconWindow(b);
-- if (b->flags&b_Icon)
-- {
-- if (!(b->flags&b_IconAlpha))
-- {
-- ConfigureIconWindow(b, NULL);
-- XMapWindow(Dpy,b->IconWin);
-- }
-- }
-- }
- RedrawButton(b, DRAW_ALL, NULL);
- }
- }
-@@ -2463,32 +2614,12 @@
- b, True);
- }
- }
-- else if (Event == NULL && b->flags&b_Icon &&
-- buttonColorset(b) == colorset)
-- {
-- /* FIXME do that only if we have an icon
-- * colorset */
-- DestroyIconWindow(b);
-- CreateIconWindow(b);
-- if (b->flags&b_Icon)
-- {
-- if (!(b->flags&b_IconAlpha))
-- {
-- ConfigureIconWindow(b, NULL);
-- XMapWindow(Dpy,b->IconWin);
-- }
-- }
-- }
- }
--
- return;
- }
-
- recursive_change_colorset(
- UberButton->c, colorset, Event);
--
--
-- return;
- }
-
- static void handle_config_info_packet(unsigned long *body)
-@@ -2530,7 +2661,7 @@
- ub=UberButton;
- while(NextButton(&ub,&b,&button,1))
- {
-- RedrawButton(b, DRAW_RELIEF, NULL);
-+ RedrawButton(b, DRAW_FORCE, NULL);
- }
- }
- break;
-diff -u fvwm-2.5.10/modules/FvwmButtons/FvwmButtons.h fvwm/modules/FvwmButtons/FvwmButtons.h
---- fvwm-2.5.10/modules/FvwmButtons/FvwmButtons.h 2003-08-07 10:34:27.000000000 +0100
-+++ fvwm/modules/FvwmButtons/FvwmButtons.h 2004-07-10 18:50:13.062021192 +0100
-@@ -73,8 +73,16 @@
- * button with a swallowed app. */
- #define b_ActionOnPress \
- 0x02000000 /* By default this only done on Popup */
--#define b_Id 0x04000000 /* Has a user defined id for referencing */
--#define b_IconAlpha 0x08000000 /* Icon has an alpha chanel */
-+#define b_Id 0x04000000 /* Has a user defined id for referencing */
-+#define b_HoverIcon 0x08000000 /* Use alternate Icon on hover */
-+#define b_HoverColorset 0x10000000 /* Use alternate colorset on hover */
-+#define b_HoverTitle 0x20000000 /* Use alternate Title text on hover */
-+#define b_PressIcon 0x40000000 /* Use alternate Icon on press */
-+#define b_PressColorset 0x80000000 /* Use alternate Colorset on press */
-+/* FIXME: We're out of bits!
-+ Nasty hack: b_PressColorset is used by UberButton & it would never use
-+ b_PressTitle (& vice-versa) so they have the same bit-value. */
-+#define b_PressTitle 0x80000000 /* Use alternate Title text on press */
-
- /* Flags for b->swallow */
- #define b_Count 0x0003 /* Init counter for swallowing */
-@@ -121,6 +129,8 @@
- char *back_file; /* b_Back && b_IconBack */
- char *fore; /* b_Fore */
- int colorset; /* b_Colorset */
-+ int hoverColorset; /* b_HoverColorset */
-+ int pressColorset; /* b_PressColorset */
- Pixel fc; /* b_Fore */
- Pixel bc,hc,sc; /* b_Back && !b_IconBack */
- FvwmPicture *backicon; /* b_Back && b_IconBack */
-@@ -161,15 +171,21 @@
- byte justify_mask; /* b_Justify */
- container_info *c; /* b_Container */
- char *title; /* b_Title */
-+ char *hoverTitle; /* b_HoverTitle */
-+ char *pressTitle; /* b_PressTitle */
- char **action; /* b_Action */
- char *icon_file; /* b_Icon */
-+ char *hover_icon_file; /* b_HoverIcon */
-+ char *press_icon_file; /* b_PressIcon */
- char *hangon; /* b_Hangon || b_Swallow */
- Pixel fc; /* b_Fore */
- Pixel bc,hc,sc; /* b_Back && !b_IconBack */
- ushort minx,miny; /* b_Size */
- FvwmPicture *icon; /* b_Icon */
- FvwmPicture *backicon; /* b_Back && b_IconBack */
-- Window IconWin; /* b_Icon || b_Swallow */
-+ FvwmPicture *hovericon; /* b_HoverIcon */
-+ FvwmPicture *pressicon; /* b_PressIcon */
-+ Window IconWin; /* b_Swallow */
- Window PanelWin; /* b_Panel */
- Window BackIconWin; /* b_Back && b_IconBack */
-
-@@ -233,7 +249,7 @@
- extern Window Root;
- extern Window MyWindow;
- extern char *MyName;
--extern button_info *UberButton,*CurrentButton;
-+extern button_info *UberButton, *CurrentButton, *HoverButton;
- extern Bool is_pointer_in_current_button;
-
- extern char *imagePath;
-diff -u fvwm-2.5.10/modules/FvwmButtons/icons.c fvwm/modules/FvwmButtons/icons.c
---- fvwm-2.5.10/modules/FvwmButtons/icons.c 2003-06-29 20:53:24.000000000 +0100
-+++ fvwm/modules/FvwmButtons/icons.c 2004-07-10 18:50:13.080018456 +0100
-@@ -58,193 +58,60 @@
- #include "libs/Colorset.h"
- #include "libs/Rectangles.h"
-
--/*
-- *
-- * Creates an Icon Window
-- *
-- */
--void CreateIconWindow(button_info *b)
--{
--#ifndef NO_ICONS
-- unsigned long valuemask; /* mask for create windows */
-- XSetWindowAttributes attributes; /* attributes for create windows */
-- Pixel bc,fc;
-- int cset;
-- FvwmRenderAttributes fra;
-- Pixmap temp;
--
-- if(!(b->flags&b_Icon))
-- {
-- return;
-- }
--
-- if(b->IconWin != None)
-- {
-- fprintf(stderr,"%s: BUG: Icon window already created "
-- "for 0x%lx!\n", MyName,(unsigned long)b);
-- return;
-- }
-- if(b->icon->width<1 || b->icon->height<1)
-- {
-- fprintf(stderr,"%s: BUG: Illegal iconwindow "
-- "tried created\n",MyName);
-- exit(2);
-- }
--
-- cset = buttonColorset(b);
-- if (b->icon->alpha != None ||
-- (cset >= 0 && Colorset[cset].icon_alpha_percent < 100 &&
-- !(UberButton->c->flags&b_TransBack)))
-- {
-- /* in this case we drawn on the button, with a shaped
-- * Buttons we do not load the alpha channel */
-- b->flags |= b_IconAlpha;
-- return;
-- }
--
-- cset = buttonColorset(b);
-- fra.mask = FRAM_DEST_IS_A_WINDOW;
-- if (cset >= 0)
-- {
-- bc = Colorset[cset].bg;
-- fc = Colorset[cset].fg;
-- fra.mask |= FRAM_HAVE_ICON_CSET;
-- fra.colorset = &Colorset[cset];
-- if (Colorset[cset].icon_alpha_percent < 100)
-- {
-- fra.added_alpha_percent = 100;
-- fra.mask |= FRAM_HAVE_ADDED_ALPHA;
-- }
-- }
-- else
-- {
-- bc = buttonBack(b);
-- fc = buttonFore(b);
-- fra.mask = 0;
-- }
--
-- valuemask = CWColormap | CWBorderPixel | CWBackPixel |
-- CWEventMask | CWBackPixmap;
-- attributes.colormap = Pcmap;
-- attributes.border_pixel = 0;
-- attributes.background_pixel = bc;
-- attributes.background_pixmap = None;
-- attributes.event_mask = ExposureMask;
--
-- b->IconWin=XCreateWindow(
-- Dpy, MyWindow, 0, 0, b->icon->width, b->icon->height, 0,
-- Pdepth, InputOutput, Pvisual, valuemask, &attributes);
-- if (attributes.background_pixel != None)
-- {
-- XSetWindowBackground(
-- Dpy, b->IconWin, attributes.background_pixel);
-- }
--
-- if (FShapesSupported)
-- {
-- if (b->icon->mask!=None)
-- {
-- FShapeCombineMask(Dpy, b->IconWin, FShapeBounding,
-- 0, 0, b->icon->mask, FShapeSet);
-- }
-- }
--
-- if(b->icon->depth != Pdepth)
-- {
-- /* bitmap icon */
-- XGCValues gcv;
--
-- gcv.background= bc;
-- gcv.foreground= fc;
-- XChangeGC(Dpy,NormalGC,GCForeground | GCBackground,&gcv);
--
-- if (FShapesSupported)
-- {
-- FShapeCombineMask(Dpy, b->IconWin, FShapeBounding,
-- 0, 0, b->icon->picture, FShapeSet);
-- }
-- }
--
-- if (cset >= 0 && Colorset[cset].icon_tint_percent > 0)
-- {
-- temp = XCreatePixmap(
-- Dpy, MyWindow, b->icon->width, b->icon->height, Pdepth);
-- PGraphicsRenderPicture(
-- Dpy, MyWindow, b->icon, &fra, temp,
-- NormalGC, None, None,
-- 0, 0, b->icon->width, b->icon->height,
-- 0, 0, 0, 0, False);
-- XSetWindowBackgroundPixmap(Dpy, b->IconWin, temp);
-- XFreePixmap(Dpy,temp);
-- }
-- else
-- {
-- /* pixmap icon */
-- XSetWindowBackgroundPixmap(Dpy, b->IconWin, b->icon->picture);
-- }
--
-- return;
--#endif
--}
--
--void DestroyIconWindow(button_info *b)
--{
--#ifndef NO_ICONS
-- if(!(b->flags&b_Icon) || (b->flags&b_IconAlpha))
-- {
-- b->flags &= ~b_IconAlpha;
-- return;
-- }
-- XDestroyWindow(Dpy, b->IconWin);
-- b->IconWin = None;
--#endif
--}
-
- /*
- *
- * Combines icon shape masks after a resize
- *
- */
--Bool GetIconWindowPosition(
-- button_info *b, int *r_x, int *r_y, int *r_w, int *r_h)
-+Bool GetIconPosition(button_info *b, unsigned long iconFlag,
-+ FvwmPicture *pic, int *r_x, int *r_y, int *r_w, int *r_h)
- {
- #ifdef NO_ICONS
-- return 0;
-+ return False;
- #else
-- int x,y,w,h;
-+ int x,y,width,height;
- int xoff,yoff;
- int framew,xpad,ypad;
- FlocaleFont *Ffont;
- int BW,BH;
-+ Bool has_title = (b->flags & b_Title ? True : False);
-
-- if(!b || !(b->flags&b_Icon))
-- return 0;
--
-- if(!b->IconWin && !(b->flags&b_IconAlpha))
-+ if (iconFlag & b_HoverIcon)
- {
-- fprintf(stderr,"%s: DEBUG: Tried to configure erroneous "
-- "iconwindow\n", MyName);
-- exit(2);
-+ /* If no HoverTitle is specified, we use Title (if there is
-+ one). */
-+ if (b->flags & b_HoverTitle)
-+ has_title = True;
-+ }
-+ else if (iconFlag & b_PressIcon)
-+ {
-+ if (b->flags & b_PressTitle)
-+ has_title = True;
- }
-
- buttonInfo(b,&x,&y,&xpad,&ypad,&framew);
- framew=abs(framew);
- Ffont = buttonFont(b);
-
-- w = b->icon->width;
-- h = b->icon->height;
-+ width = pic->width;
-+ height = pic->height;
- BW = buttonWidth(b);
- BH = buttonHeight(b);
-
-- w=min(w,BW-2*(xpad+framew));
-+ width=min(width,BW-2*(xpad+framew));
-
-- if(b->flags&b_Title && Ffont && !(buttonJustify(b)&b_Horizontal))
-- h = min(h,BH-2*(ypad+framew)-Ffont->ascent-Ffont->descent);
-+ if (has_title == True && Ffont && !(buttonJustify(b)&b_Horizontal))
-+ {
-+ height = min(height,BH-2*(ypad+framew)-Ffont->ascent-Ffont->descent);
-+ }
- else
-- h = min(h,BH-2*(ypad+framew));
-+ {
-+ height = min(height,BH-2*(ypad+framew));
-+ }
-
- if (b->flags & b_Right)
-- xoff = BW-framew-xpad-w;
-+ xoff = BW-framew-xpad-width;
- else if (b->flags & b_Left)
- xoff = framew+xpad;
- else
-@@ -252,15 +119,15 @@
- if(buttonJustify(b)&b_Horizontal)
- xoff=0;
- else
-- xoff=(BW-w)>>1;
-+ xoff=(BW-width)>>1;
- if(xoff < framew+xpad)
- xoff = framew+xpad;
- }
-
-- if(b->flags&b_Title && Ffont && !(buttonJustify(b)&b_Horizontal))
-- yoff=(BH-(h+Ffont->height))>>1;
-+ if (has_title == True && Ffont && !(buttonJustify(b)&b_Horizontal))
-+ yoff=(BH-(height+Ffont->height))>>1;
- else
-- yoff=(BH-h)>>1;
-+ yoff=(BH-height)>>1;
-
- if(yoff < framew+ypad)
- yoff = framew+ypad;
-@@ -270,10 +137,10 @@
-
- *r_x = x;
- *r_y = y;
-- *r_w = w;
-- *r_h = h;
-+ *r_w = width;
-+ *r_h = height;
-
-- return 1;
-+ return True;
- #endif
- }
-
-@@ -284,22 +151,32 @@
- int cset;
- XRectangle clip;
- FvwmRenderAttributes fra;
-+ unsigned long flag = b_Icon;
-
-- if (!GetIconWindowPosition(b,&x,&y,&w,&h))
-+ FvwmPicture *pic = b->icon;
-+ if (b == HoverButton)
- {
-- return;
-+ flag = b_HoverIcon;
-+ if (b->flags & b_HoverIcon)
-+ pic = b->hovericon;
- }
--
-- if(w < 1 || h < 1)
-+ else if (b == CurrentButton)
- {
-- return; /* No need drawing to this */
-+ flag = b_PressIcon;
-+ if (b->flags & b_PressIcon)
-+ pic = b->pressicon;
- }
-
-- if (!(b->flags & b_IconAlpha))
-+ if (!GetIconPosition(b, flag, pic, &x,&y,&w,&h))
- {
- return;
- }
-
-+ if(w < 1 || h < 1)
-+ {
-+ return; /* No need drawing to this */
-+ }
-+
- clip.x = x;
- clip.y = y;
- clip.width = w;
-@@ -331,50 +208,11 @@
- fra.mask |= FRAM_HAVE_ICON_CSET;
- fra.colorset = &Colorset[cset];
- }
-+
- PGraphicsRenderPicture(
-- Dpy, MyWindow, b->icon, &fra, MyWindow,
-+ Dpy, MyWindow, pic, &fra, MyWindow,
- NormalGC, None, None,
- clip.x - x, clip.y - y, clip.width, clip.height,
- clip.x, clip.y, clip.width, clip.height, False);
- #endif
- }
--
--void ConfigureIconWindow(button_info *b, XEvent *pev)
--{
--#ifndef NO_ICONS
-- int x,y,w,h;
--
-- if (!b->IconWin)
-- {
-- return;
-- }
-- if (!GetIconWindowPosition(b,&x,&y,&w,&h))
-- {
-- return;
-- }
-- if (!b->IconWin)
-- {
-- return;
-- }
--
-- if(w < 1 || h < 1)
-- {
-- if (b->IconWin)
-- XMoveResizeWindow(Dpy, b->IconWin, 2000,2000,1,1);
-- return; /* No need drawing to this */
-- }
--
-- if (!pev && b->IconWin)
-- {
-- XMoveResizeWindow(Dpy, b->IconWin, x,y,w,h);
-- }
--
-- return;
--
-- if (!(b->flags & b_IconAlpha))
-- {
-- return;
-- }
--
--#endif
--}
-diff -u fvwm-2.5.10/modules/FvwmButtons/icons.h fvwm/modules/FvwmButtons/icons.h
---- fvwm-2.5.10/modules/FvwmButtons/icons.h 2003-06-29 20:53:24.000000000 +0100
-+++ fvwm/modules/FvwmButtons/icons.h 2004-07-10 10:13:25.000000000 +0100
-@@ -13,7 +13,4 @@
- *
- */
-
--void CreateIconWindow(button_info*);
--void DestroyIconWindow(button_info *b);
- void DrawForegroundIcon(button_info *b, XEvent *pev);
--void ConfigureIconWindow(button_info*, XEvent *pev);
-Only in fvwm-2.5.10/modules/FvwmButtons: Makefile.in
-diff -u fvwm-2.5.10/modules/FvwmButtons/parse.c fvwm/modules/FvwmButtons/parse.c
---- fvwm-2.5.10/modules/FvwmButtons/parse.c 2003-08-25 07:47:08.000000000 +0100
-+++ fvwm/modules/FvwmButtons/parse.c 2004-07-10 18:50:13.121012224 +0100
-@@ -751,8 +751,7 @@
-
- default:
- t=seekright(&s);
-- fprintf(stderr,"%s: Illegal container option \"%s\"\n",MyName,
-- (t)?t:"");
-+ fprintf(stderr,"%s: Illegal container option \"%s\"\n",MyName, (t)?t:"");
- if (t)
- free(t);
- }
-@@ -803,6 +802,10 @@
- "colorset",
- "action",
- "id",
-+ "hovericon",
-+ "hovertitle",
-+ "pressicon",
-+ "presstitle",
- NULL
- };
- s = trimleft(s);
-@@ -937,13 +940,12 @@
- if (b->icon_file)
- free(b->icon_file);
- b->icon_file=t;
-- b->IconWin=None;
- b->flags|=b_Icon;
- }
- }
- else
- {
-- fprintf(stderr,"%s: Missing icon argument\n",MyName);
-+ fprintf(stderr,"%s: Missing Icon argument\n",MyName);
- if(t)free(t);
- }
- break;
-@@ -1251,6 +1253,123 @@
- }
- break;
-
-+ /* ---------------------------- HoverIcon ------------------------- */
-+ case 21: /* HoverIcon */
-+ t = seekright(&s);
-+ if (t && *t && (t[0] != '-' || t[1] != 0))
-+ {
-+ if (b->flags & b_Swallow)
-+ {
-+ fprintf(stderr,"%s: a button can not have a "
-+ "HoverIcon and a swallowed window at "
-+ "the same time. Ignoring HoverIcon.",
-+ MyName);
-+ }
-+ else
-+ {
-+ if (b->hover_icon_file)
-+ free(b->hover_icon_file);
-+ b->hover_icon_file = t;
-+ b->flags |= b_HoverIcon;
-+ }
-+ }
-+ else
-+ {
-+ fprintf(stderr,"%s: Missing HoverIcon argument\n",
-+ MyName);
-+ if (t)
-+ free(t);
-+ }
-+ break;
-+
-+ /* ------------------------- HoverTitle ------------------------- */
-+ case 22: /* HoverTitle */
-+ s = trimleft(s);
-+ if (*s=='(')
-+ {
-+ fprintf(stderr,"%s: justification not allowed for "
-+ "HoverTitle.\n", MyName);
-+ }
-+ t = seekright(&s);
-+ if(t && *t && (t[0] != '-' || t[1] != 0))
-+ {
-+ if (b->hoverTitle)
-+ free(b->hoverTitle);
-+ b->hoverTitle = t;
-+#ifdef DEBUG_PARSER
-+ fprintf(stderr,"PARSE: HoverTitle \"%s\"\n",
-+ b->hoverTitle);
-+#endif
-+ b->flags |= b_HoverTitle;
-+ }
-+ else
-+ {
-+ fprintf(stderr,"%s: Missing HoverTitle argument\n",
-+ MyName);
-+ if (t)
-+ free(t);
-+ }
-+ break;
-+
-+ /* ------------------------- PressIcon ------------------------- */
-+ case 23: /* PressIcon */
-+ t = seekright(&s);
-+ if (t && *t && (t[0] != '-' || t[1] != 0))
-+ {
-+ if (b->flags & b_Swallow)
-+ {
-+ fprintf(stderr,"%s: a button can not have a "
-+ "PressIcon and a swallowed window at "
-+ "the same time. Ignoring PressIcon.",
-+ MyName);
-+ }
-+ else
-+ {
-+ if (b->press_icon_file)
-+ free(b->press_icon_file);
-+ b->press_icon_file = t;
-+ b->flags |= b_PressIcon;
-+ }
-+ }
-+ else
-+ {
-+ fprintf(stderr,"%s: Missing PressIcon argument\n",
-+ MyName);
-+ if (t)
-+ free(t);
-+ }
-+ break;
-+
-+ /* ------------------------- PressTitle ------------------------- */
-+ case 24: /* PressTitle */
-+ s = trimleft(s);
-+ if (*s=='(')
-+ {
-+ fprintf(stderr,"%s: justification not allowed for "
-+ "PressTitle.\n", MyName);
-+ }
-+ t = seekright(&s);
-+ if (t && *t && (t[0] != '-' || t[1] != 0))
-+ {
-+ if (b->pressTitle)
-+ free(b->pressTitle);
-+ b->pressTitle = t;
-+#ifdef DEBUG_PARSER
-+ fprintf(stderr,"PARSE: PressTitle \"%s\"\n",
-+ b->pressTitle);
-+#endif
-+ b->flags |= b_PressTitle;
-+ }
-+ else
-+ {
-+ fprintf(stderr,"%s: Missing PressTitle argument\n",
-+ MyName);
-+ if (t)
-+ free(t);
-+ }
-+ break;
-+
-+ /* ------------------------- ------------------------- */
- default:
- t=seekright(&s);
- fprintf(stderr,"%s: Illegal button option \"%s\"\n",MyName,
-@@ -1292,7 +1411,6 @@
- ((b->icon_file)[0]!='-'||(b->icon_file)[1]!=0))
- {
- b->flags|=b_Icon;
-- b->IconWin=None;
- }
- else
- if(b->icon_file)free(b->icon_file);
-@@ -1370,6 +1488,8 @@
- "pixmap",
- "boxsize",
- "colorset",
-+ "hovercolorset",
-+ "presscolorset",
- NULL
- };
- int i,j,k;
-@@ -1468,6 +1588,34 @@
- ub->c->flags &= ~b_Colorset;
- }
- break;
-+ case 13: /* HoverColorset */
-+ i = sscanf(s, "%d", &j);
-+ if (i > 0)
-+ {
-+ ub->c->hoverColorset = j;
-+ ub->c->flags |= b_HoverColorset;
-+ AllocColorset(j);
-+ }
-+ else
-+ {
-+ ub->c->flags &= ~b_HoverColorset;
-+ }
-+ break;
-+
-+ case 14: /* PressColorset */
-+ i = sscanf(s, "%d", &j);
-+ if (i > 0)
-+ {
-+ ub->c->pressColorset = j;
-+ ub->c->flags |= b_PressColorset;
-+ AllocColorset(j);
-+ }
-+ else
-+ {
-+ ub->c->flags &= ~b_PressColorset;
-+ }
-+ break;
-+
- default:
- s = trimleft(s);
- ParseButton(ubb,s);
diff --git a/x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff.gz b/x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff.gz
new file mode 100644
index 000000000000..a3197e7d4a96
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff.gz
Binary files differ
diff --git a/x11-wm/fvwm/files/fvwm-2.5.10-long-data-elements.diff b/x11-wm/fvwm/files/fvwm-2.5.10-long-data-elements.diff
new file mode 100644
index 000000000000..f3f66c51f9f6
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.5.10-long-data-elements.diff
@@ -0,0 +1,17 @@
+--- fvwm/decorations.c.orig 2003-10-21 07:52:33.000000000 +0200
++++ fvwm/decorations.c 2004-08-06 20:30:05.605756454 +0200
+@@ -94,10 +94,10 @@
+ /* Motif window hints */
+ typedef struct
+ {
+- int flags;
+- int functions;
+- int decorations;
+- int inputMode;
++ long flags;
++ long functions;
++ long decorations;
++ long inputMode;
+ } PropMotifWmHints;
+
+ typedef PropMotifWmHints PropMwmHints;
diff --git a/x11-wm/fvwm/fvwm-2.5.10-r6.ebuild b/x11-wm/fvwm/fvwm-2.5.10-r6.ebuild
index 00f9b081fe7e..80c2ea67df9c 100644
--- a/x11-wm/fvwm/fvwm-2.5.10-r6.ebuild
+++ b/x11-wm/fvwm/fvwm-2.5.10-r6.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/fvwm-2.5.10-r6.ebuild,v 1.5 2004/08/20 01:56:16 pvdabeel Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/fvwm-2.5.10-r6.ebuild,v 1.6 2004/09/08 10:00:24 taviso Exp $
inherit eutils flag-o-matic
@@ -93,7 +93,7 @@ src_unpack() {
cd ${S}; epatch ${FILESDIR}/iconfile-2.5.10.diff
# fvwmbuttons hover patch
- cd ${S}; epatch ${FILESDIR}/fvwm-2.5.10-fvwmbuttonshover.diff
+ cd ${S}; epatch ${FILESDIR}/fvwm-2.5.10-fvwmbuttonshover.diff.gz
}
src_compile() {
diff --git a/x11-wm/fvwm/fvwm-2.5.7-r5.ebuild b/x11-wm/fvwm/fvwm-2.5.10-r7.ebuild
index 1e5ead319d4e..12f6a7165a0c 100644
--- a/x11-wm/fvwm/fvwm-2.5.7-r5.ebuild
+++ b/x11-wm/fvwm/fvwm-2.5.10-r7.ebuild
@@ -1,18 +1,18 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/fvwm-2.5.7-r5.ebuild,v 1.7 2004/07/15 01:12:44 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fvwm/fvwm-2.5.10-r7.ebuild,v 1.1 2004/09/08 10:00:24 taviso Exp $
-inherit gnuconfig
+inherit eutils flag-o-matic
-IUSE="bidi cjk debug gnome gtk gtk2 imlib ncurses nls nosm noxpm perl png readline rplay stroke tcltk truetype xinerama"
+IUSE="bidi debug gnome gtk gtk2 imlib ncurses nls nosm noxpm perl png readline rplay stroke tcltk truetype xinerama"
DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
SRC_URI="ftp://ftp.fvwm.org/pub/fvwm/version-2/${P}.tar.bz2
- perl? ( mirror://gentoo/FvwmTabs-2.3.tar.gz )"
+ perl? ( http://users.tpg.com.au/users/scottie7/FvwmTabs-v3.1.tar.gz )"
HOMEPAGE="http://www.fvwm.org/"
SLOT="0"
-KEYWORDS="x86 sparc alpha ppc"
+KEYWORDS="~x86 ~ppc64 ~ppc ~amd64"
LICENSE="GPL-2 FVWM"
RDEPEND="readline? ( >=sys-libs/readline-4.1
@@ -20,46 +20,90 @@ RDEPEND="readline? ( >=sys-libs/readline-4.1
!ncurses? ( >=sys-libs/libtermcap-compat-1.2.3 ) )
gtk? ( =x11-libs/gtk+-1.2*
imlib? ( >=media-libs/gdk-pixbuf-0.21.0
- >=media-libs/imlib-1.9.14-r1 ) )
- gnome? ( >=gnome-base/gnome-libs-1.4.1.2-r1 )
+ >=media-libs/imlib-1.9.14-r1 )
+ gnome? ( >=gnome-base/gnome-libs-1.4.1.2-r1 ) )
rplay? ( >=media-sound/rplay-3.3.2 )
bidi? ( >=dev-libs/fribidi-0.10.4 )
png? ( >=media-libs/libpng-1.0.12-r2 )
stroke? ( >=dev-libs/libstroke-0.4 )
perl? ( tcltk? ( >=dev-lang/tk-8.3.4
>=dev-perl/perl-tk-800.024-r2
- >=dev-perl/X11-Protocol-0.51-r1 ) )
- truetype? ( virtual/xft
- >=media-libs/fontconfig-2.1-r1
- >=dev-libs/expat-1.95.6-r1 )
- !noxpm? ( >=media-libs/netpbm-9.12-r4 )
+ >=dev-perl/X11-Protocol-0.52 ) )
+ truetype? ( virtual/xft >=media-libs/fontconfig-2.1-r1 )
>=dev-lang/perl-5.6.1-r10
>=sys-libs/zlib-1.1.4-r1
+ sys-apps/debianutils
virtual/x11"
# XXX: gtk2 perl bindings require dev-perl/gtk2-perl, worth a dependency?
# XXX: gtk perl bindings require dev-perl/gtk-perl, worth a dependency?
-# XXX: netpbm is used by FvwmScript-ScreenDump...im assuming anyone with
-# `use noxpm` will not want them.
-DEPEND="${RDEPEND}
- >=sys-apps/sed-4
- sys-devel/automake
- sys-devel/autoconf
- dev-util/pkgconfig"
+# XXX: netpbm is used by FvwmScript-ScreenDump, worth a dependency?
+DEPEND="${RDEPEND} dev-util/pkgconfig"
+
+SFT=${WORKDIR}/FvwmTabs-v3.1
src_unpack() {
unpack ${A}
- gnuconfig_update
+ # this patch enables fast translucent menus in fvwm..yummy! this is a
+ # minor tweak of a patch posted to fvwm-user mailing list by Olivier
+ # Chapuis in <20030827135125.GA6370@snoopy.folie>.
+ cd ${S}; epatch ${FILESDIR}/fvwm-2.5.9-translucent-menus.diff.gz
+
+ # according to a post to fvwm-workers mailing list, Mikhael Goikhman
+ # planned on disabling these debug statements before the release, but
+ # never got around to it.
+ cd ${S}; epatch ${FILESDIR}/disable-debug-statements.diff
+
+ if use perl; then
+ # I'll supply a default icon for FvwmTabs, this removes the need for
+ # installing an iconset, this one comes from the fvwm_icons package.
+ cd ${SFT}
+ ebegin " Setting default icon for FvwmTabs"
+ sed -i 's#happyMini.xpm#/usr/share/fvwm/mini-happy.xpm#g' \
+ FvwmTabs FvwmTabs.1 fvwmtabrc
+ eend $?
+ fi
+
+ # this patch adds an 'ShowOnlyIcons Never' option to FvwmIconMan.
+ # XXX: ShowNoIcons ever option added to official FvwmIconMan on 24 Jun 2004
+ # XXX: Remove this patch, and add ewarn about new Syntax.
+ cd ${S}; epatch ${FILESDIR}/fvwm-iconman.diff
+
+ # fix some issues reported since the 2.5.10 release.
+ # XXX: incvs
+ cd ${S}; epatch ${FILESDIR}/fvwm-2.5.10-post-release.diff
+
+ # build fails on alpha with certain options without this.
+ use alpha && append-flags -fPIC
+
+ # just in case anyone on mips want to test.
+ # XXX: incvs
+ use mips && epatch ${FILESDIR}/fvwm-2.5.10-mips-compat.diff
- # CFLAGS containing comma (eg -mfpmath=sse,387) will break this, so change it for !
- sed -i 's#\x27s,xCFLAGSx,$(CFLAGS),\x27#\x27s!xCFLAGSx!$(CFLAGS)!\x27#' ${S}/utils/Makefile.am
+ # fixing #51287, the fvwm-menu-xlock script is not compatible
+ # with the xlockmore implementation in portage.
+ epatch ${FILESDIR}/fvwm-menu-xlock-xlockmore-compat.diff
- # Xft detection is totally b0rked if using pkg-config, this update from cvs.
- cp ${FILESDIR}/acinclude.m4 ${S}/acinclude.m4
+ # XXX: incvs
+ cd ${S}; epatch ${FILESDIR}/fvwm-2.5.10-FvwmCommand.diff
+
+ # XXX: incvs
+ cd ${S}; epatch ${FILESDIR}/fvwm-2.5.10-Test-update.diff
+
+ # XXX: incvs
+ cd ${S}; epatch ${FILESDIR}/centerplacement-2.5.10.diff
+ cd ${S}; epatch ${FILESDIR}/iconfile-2.5.10.diff
+
+ # XXX: incvs
+ cd ${S}; epatch ${FILESDIR}/fvwm-2.5.10-fvwmbuttonshover.diff.gz
+
+ # XXX: incvs
+ # fix some 64bit cleanliness issues
+ cd ${S}; epatch ${FILESDIR}/fvwm-2.5.10-long-data-elements.diff
}
src_compile() {
- local myconf="--libexecdir=/usr/lib --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm"
+ local myconf="--libexecdir=/usr/lib --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm --enable-package-subdirs"
# ImagePath should include /usr/share/icons/fvwm (x11-themes/fvwm_icons)
#
@@ -81,25 +125,22 @@ src_compile() {
fi
fi
- # fvwm configure doesnt provide a way to disable gtk support if the
- # required libraries are found, this hides them from the script.
- # Print a message indicating the errors are normal.
+ # since fvwm-2.5.8 GTK support can be diabled with --disable-gtk, previously
+ # we had to hide the includes/libs during configure. this is still the case
+ # for GDK image suport _with_ gtk, unfortunately.
+ # FvwmGtk can be built as a gnome application, or a Gtk+ application.
if ! use gtk; then
- einfo "ATTN: You can safely ignore any gtk related configure errors."
- einfo "ATTN: You can safely ignore any imlib related configure errors."
- myconf="${myconf} --with-gtk-prefix=${T} --with-imlib-prefix=${T}"
+ myconf="${myconf} --disable-gtk --without-gnome"
else
if ! use imlib; then
einfo "ATTN: You can safely ignore any imlib related configure errors."
myconf="${myconf} --with-imlib-prefix=${T}"
fi
- fi
-
- # link with the gnome libraries, for better integration with the gnome desktop.
- if use gnome; then
- myconf="${myconf} --with-gnome"
- else
- myconf="${myconf} --without-gnome"
+ if ! use gnome; then
+ myconf="${myconf} --without-gnome"
+ else
+ myconf="${myconf} --with-gnome"
+ fi
fi
# rplay is a cool, but little used way of playing sounds over a network
@@ -108,7 +149,7 @@ src_compile() {
myconf="${myconf} --without-rplay-library"
fi
- # Install perl bindings for FvwmPerl.
+ # Install perl bindings.
if use perl; then
myconf="${myconf} --enable-perllib"
else
@@ -122,13 +163,6 @@ src_compile() {
myconf="${myconf} --disable-xinerama"
fi
- # multibyte character support, chinese/japanese/korean/etc.
- if use cjk; then
- myconf="${myconf} --enable-multibyte"
- else
- myconf="${myconf} --disable-multibyte"
- fi
-
# bidirectional writing support, eg hebrew
if use bidi; then
myconf="${myconf} --enable-bidi"
@@ -143,9 +177,9 @@ src_compile() {
# native language support
if use nls; then
- myconf="${myconf} --enable-nls"
+ myconf="${myconf} --enable-nls --enable-iconv"
else
- myconf="${myconf} --disable-nls"
+ myconf="${myconf} --disable-nls --disable-iconv"
fi
# support for mouse gestures using libstroke (very very cool)
@@ -156,9 +190,10 @@ src_compile() {
# more verbosity for module developers/hackers/etc.
if use debug; then
myconf="${myconf} --enable-debug-msgs --enable-command-log"
+ append-flags -DCR_DETECT_MOTION_METHOD_DEBUG
fi
- # Xft Anti Aliased text support (yummy eye candy)
+ # Xft Anti Aliased text support
if use truetype; then
myconf="${myconf} --enable-xft"
else
@@ -166,40 +201,21 @@ src_compile() {
fi
# disable xsm protocol (session management) support?
- # `nosm` instead of `sm` as some people dont check USE flags
if use nosm; then
myconf="${myconf} --disable-sm"
else
myconf="${myconf} --enable-sm"
fi
- # disable xpm support? (maybe you only use png in your themes, or just solid colour?)
- # `noxpm` instead of `xpm`, as most people will want this.
+ # disable xpm support?
if use noxpm; then
myconf="${myconf} --without-xpm-library"
fi
- # Xft detection is broken in this release, the fix is in cvs
- # which ive installed here, rerun automake to sort the problem.
- # This is only nescessary if `truetype` is required.
- if use truetype; then
- einfo "Fixing Xft detection, please wait..."
- ( ebegin " Running aclocal"
- aclocal; eend $?
-
- ebegin " Running autoheader"
- autoheader; eend $?
-
- ebegin " Running automake"
- automake --add-missing; eend $?
-
- ebegin " Running autoreconf"
- autoreconf; eend $? ) 2>/dev/null
- einfo "Fixed."
- fi
+ # set the local maintainer for fvwm-bug.
+ export FVWM_BUGADDR="taviso@gentoo.org"
- # must specify PKG_CONFIG or Xft detection bombs.
- econf ${myconf} PKG_CONFIG=/usr/bin/pkg-config || die
+ econf ${myconf} || die
emake || die
}
@@ -217,9 +233,17 @@ src_install() {
einfo "Installing FvwmTabs module..."
exeinto /usr/lib/fvwm/${PV}/
- doexe ${WORKDIR}/FvwmTabs
- dodoc ${WORKDIR}/fvwmtabrc ${WORKDIR}/README.fvwmtabs
- doman ${WORKDIR}/FvwmTabs.1
+ doexe ${SFT}/FvwmTabs
+
+ dodoc ${SFT}/fvwmtabrc ${SFT}/tab.zsh
+ doman ${SFT}FvwmTabs.1
+ dohtml ${SFT}/FvwmTabs.man.html
+
+ newdoc ${SFT}/README README.fvwmtabs
+
+ # install default drag and drop icon.
+ insinto /usr/share/fvwm
+ newins ${FILESDIR}/mini.happy.xpm mini-happy.xpm
else
# Remove the Tk bindings (requires perl-tk)
rm -f ${D}/usr/share/fvwm/perllib/FVWM/Module/Tk.pm
@@ -250,6 +274,13 @@ src_install() {
rm -rf ${D}/usr/bin/fvwm-perllib ${D}/usr/share/man/man1/fvwm-perllib.1
fi
+ # neat utility for testing fvwm behaviour on applications setting various
+ # hints, creates a simple black window with configurable hints set.
+ if use debug; then
+ dobin ${S}/tests/hints/hints_test
+ newdoc ${S}/tests/hints/README README.hints
+ fi
+
# fvwm-convert-2.6 is just a stub, contains no code - remove it for now.
# fvwm-convert-2.2 has a man page, but the script is no longer distributed.
rm -f ${D}/usr/bin/fvwm-convert-2.6 ${D}/usr/share/man/man1/fvwm-convert-2.6.1
@@ -269,6 +300,12 @@ src_install() {
dodoc utils/fvwm_make_directory_menu.sh utils/fvwm_make_browse_menu.sh \
utils/quantize_pixmaps utils/xselection.c
+ dodoc ${FILESDIR}/README.transluceny.gz
+
+ # make sure FvwmGtk man page is installed
+ # XXX: Fixed in cvs
+ use gtk && doman ${S}/modules/FvwmGtk/FvwmGtk.1
+
# fix a couple of symlinks.
prepallman
}