Here is an ebuild for Devil's Pie 0.14. Since last version in portage (0.10), the program has been completly rewrote, so i've dropped all previous KEYWORDS (but mine, ~x86). This version is not backward compatible at all with old XML config files, so i've also put some ewarn messages in postinst to inform users about that. If that's not enough, we could maybe think about SLOTing it (just a matter of renaming the binary and manpage).
Created attachment 72508 [details] devilspie-0.14.ebuild
Current version actually is 0.16, and although it was not announced on the homepage, it behaves much better than 0.14 here. Short changelog: * Fix undecorate action (Mikachu, RB) * New matcher: window class (Jonas Linde) * New actions: focus (JL), center (JL), print (Ryan Koppenhaver), close (RK). * Fix test suite (RK) * Don't segfault on invalid s-exp (Christian Krause) * Never return NULL from a matcher * Wrap X call when removing decorations with error handling Also, after discussion with other devilspie's users on forums.g.o, it appears that the README is not enough as a reference for config files syntax. So i've written a SYNTAX documentation file from what i've found in program sources (btw, the README was pointing to the sources for complete documentation).
Created attachment 72651 [details] devilspie-0.16.ebuild
Created attachment 72653 [details, diff] files/devilspie-README.patch
Created attachment 72654 [details] files/SYNTAX-0.16
Created attachment 72659 [details] devilspie-0.16.ebuild Oops... s/P/PF/ in postinst's message (path to doc files).
Oh, and my SYNTAX file has been accepted upstream, so it should be available in the sources of next version.
Just for the record, I added ~amd64 to this ebuild and it builds cleanly on amd64 (and devilspie manage to match the windows I open). Emerge info: Portage 2.0.53_rc7 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-gentoo x86_64) ================================================================= System uname: 2.6.14-gentoo x86_64 AMD Athlon(tm) 64 Processor 3500+ Gentoo Base System version 1.12.0_pre10 ccache version 2.4 [enabled] dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildsyspkg candy ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.proxad.net/mirrors/ftp.gentoo.org/ http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/ftp/mirror/gentoo/" LANG="fr_FR.utf8" LC_ALL="fr_FR.utf8" LINGUAS="fr en_GB" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X a52 aac alsa apache2 audiofile avi berkdb bitmap-fonts cdr crypt dba divx4linux dvd dvdr dvdread eds emboss encode fam firefox flac foomaticdb fortran gd gif gstreamer gtk gtk2 hal ieee1394 imagemagick imlib ipv6 jabber java jpeg kdeenablefinal logrotate lzw lzw-tiff mad matroska mozcalendar mozsvg mp3 mpeg mplayer msn mysql ncurses nls nowin nptl nptlonly nvidia ofx ogg opengl oss pam pdflib perl php png python quicktime readline real ruby sdl spell ssl subtitles svg tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales vorbis wmf xine xml xml2 xpm xv xvid zlib linguas_fr linguas_en_GB userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS Thanks TGL.
the 0.16 ebuild is not correct. the deps are simply wrong. read the config.log carefully.....
configure.in ------------------------------------------------ # Initial blurb AC_PREREQ(2.52) AC_INIT(devilspie, 0.16 , http://www.burtonini.com/) AC_CONFIG_SRCDIR(src/devilspie.c) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AM_CONFIG_HEADER(src/config.h) # Honor aclocal flags ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS" # Do the gettext/i18n stuff GETTEXT_PACKAGE=devilspie AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The name of the gettext package.]) AC_SUBST(GETTEXT_PACKAGE) AM_MAINTAINER_MODE AC_ISC_POSIX AC_PROG_CC AM_PROG_CC_STDC AC_HEADER_STDC GNOME_COMPILE_WARNINGS(yes) AC_PROG_INTLTOOL([0.20]) ALL_LINGUAS="de" AM_GLIB_GNU_GETTEXT # Check that we actually have the libraries required to build PKG_CHECK_MODULES(WNCK, glib-2.0 >= 2.6 gdk-2.0 libwnck-1.0 >= 0.17) AC_SUBST(WNCK_CFLAGS) AC_SUBST(WNCK_LIBS) # See if we have new libwnck with timestamp arguments PKG_CHECK_MODULES(WNCK_VER, libwnck-1.0 >= 2.9.92, wnck_new="yes", wnck_new="no") if test "x$wnck_new" = "xyes"; then AC_DEFINE(NEED_TIMESTAMPS,1,[Define to 1 if timestamps are needed to wnck functions]) fi # Check if we have the set_fullscreen function AC_CHECK_LIB(wnck-1, wnck_window_set_fullscreen, have_fullscreen=1, have_fullscreen=0) AC_DEFINE_UNQUOTED(HAVE_FULLSCREEN, $have_fullscreen, [set_fullscreen is available]) AC_CHECK_LIB(wnck-1, wnck_window_set_window_type, have_set_wintype=1, have_set_wintype=0) AC_DEFINE_UNQUOTED(HAVE_SET_WINDOW_TYPE, $have_set_wintype, [set_window_type is available]) # Check for the POSIX regexpr functions and headers AC_CHECK_FUNCS([regcomp regexec regfree]) AC_CHECK_HEADERS([sys/types.h regex.h]) AC_OUTPUT([ devilspie.spec Makefile src/Makefile po/Makefile.in tests/Makefile ])
> the deps are simply wrong. Yes, glib dep should be >=2.6 instead of 2.0. Anything else? > read the config.log carefully..... Oh please, i don't play guessing games... Send your fix for the mistakes you've seen, it will be much simpler. And thanks for the autoconf file, but i had the same at home already.
my reading of the configure yields these deps as a starting point: >=dev-util/intltool-0.20 sys-devel/gettext dev-lang/perl dev-perl/XML-Parser >=dev-util/pkgconfig-0.9 >=x11-libs/libwnck-0.17 >=x11-libs/gtk+-2.0.0 >=dev-libs/glib-2.6 not sure which are run-time only deps.....
also "has been completely rewritten" is the expression you probably want to use...
(In reply to comment #12) > >=dev-util/intltool-0.20 > sys-devel/gettext Right: It's non-fatal if they are missing tho, but then we lose the german locales. > dev-lang/perl > dev-perl/XML-Parser No: intltool RDEPENDs, we don't want to hardcode them here. > >=dev-util/pkgconfig-0.9 Right, although <0.9 versions disappeared from portage more than 3 years ago, so i don't think the missing version was really critical. > >=x11-libs/libwnck-0.17 Technicaly true, but since 2.10 is stable for all archs and introduces an API change, i still think it's a better minimum required version. (Otherwise, you just create more troubles for people who compile against 0.17 and later upgrade to 2.10+)
Created attachment 73049 [details] devilspie-0.16.ebuild Fixed deps thanks to Philip's comment.
Bumped, thanks.
Please correct the pkg_postinst comments to proper English. "Devil's Pie has been completly rewrote since last version in Portage" should read: "Devilspie has been completely rewritten for version 0.16 and is not backward compatible with previous versions."