diff options
author | Tavis Ormandy <taviso@gentoo.org> | 2004-09-08 10:00:24 +0000 |
---|---|---|
committer | Tavis Ormandy <taviso@gentoo.org> | 2004-09-08 10:00:24 +0000 |
commit | 1ff0f33f6fe15a19125234fcc37ebad3445ad6b0 (patch) | |
tree | af7cf0df46a140959a41be000cb7ee979b78099a /x11-wm/fvwm | |
parent | clean older ebuilds; redigest since the tarball changed upstream (diff) | |
download | historical-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/ChangeLog | 11 | ||||
-rw-r--r-- | x11-wm/fvwm/Manifest | 58 | ||||
-rw-r--r-- | x11-wm/fvwm/files/acinclude.m4 | 1766 | ||||
-rw-r--r-- | x11-wm/fvwm/files/digest-fvwm-2.5.10-r7 | 2 | ||||
-rw-r--r-- | x11-wm/fvwm/files/digest-fvwm-2.5.7-r5 | 2 | ||||
-rw-r--r-- | x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff | 1475 | ||||
-rw-r--r-- | x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff.gz | bin | 0 -> 9994 bytes | |||
-rw-r--r-- | x11-wm/fvwm/files/fvwm-2.5.10-long-data-elements.diff | 17 | ||||
-rw-r--r-- | x11-wm/fvwm/fvwm-2.5.10-r6.ebuild | 4 | ||||
-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, µ) != 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 Binary files differnew file mode 100644 index 000000000000..a3197e7d4a96 --- /dev/null +++ b/x11-wm/fvwm/files/fvwm-2.5.10-fvwmbuttonshover.diff.gz 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 } |