Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 425258 - =app-emacs/elscreen-1.4.6 fails to build with emacs-24.1
Summary: =app-emacs/elscreen-1.4.6 fails to build with emacs-24.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Low normal (vote)
Assignee: Emacs project
URL: https://tinderboxlogs.s3.amazonaws.co...
Whiteboard:
Keywords:
Depends on: 495042
Blocks: emacs-24
  Show dependency tree
 
Reported: 2012-07-08 09:39 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2014-01-15 08:21 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
elscreen-1.4.6-void-variable-argi.patch (elscreen-1.4.6-void-variable-argi.patch,2.72 KB, patch)
2013-05-23 12:06 UTC, Mark Wright
Details | Diff
elscreen-1.4.6-emacs-24.patch (elscreen-1.4.6-emacs-24.patch,3.34 KB, patch)
2013-05-23 12:08 UTC, Mark Wright
Details | Diff
elscreen-1.4.6-emacs-24.patch (elscreen-1.4.6-emacs-24.patch,5.79 KB, patch)
2013-10-03 11:40 UTC, Mark Wright
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2012-07-08 09:39:18 UTC
Portage 2.2.0_alpha116 (default/linux/amd64/10.0, gcc-4.7.1-asneeded, glibc-2.16.0, 3.4.4-hardened-r1 x86_64)
=================================================================
System uname: Linux-3.4.4-hardened-r1-x86_64-AMD_Opteron-TM-_Processor_6272-with-gentoo-2.1
Timestamp of tree: Thu, 05 Jul 2012 11:30:01 +0000
ccache version 3.1.7 [disabled]
app-shells/bash:          4.2_p29
dev-java/java-config:     2.1.12
dev-lang/python:          2.6.8, 2.7.3-r2, 3.2.3-r1
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.8-r3
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.4_p6-r1, 1.9.6-r3, 1.10.3, 1.11.5, 1.12.1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2, 4.6.3, 4.7.1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -ggdb -march=native -ftracer -frecord-gcc-switches"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/entropy /opt/openjms/config /usr/lib64/tomoyo/conf /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -ggdb -march=native -ftracer -frecord-gcc-switches"
DISTDIR="/var/cache/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict test test-fail-continue unknown-features-warn unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LC_ALL="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j24"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/var/cache/tinderbox/tree"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex acl amd64 berkdb bzip2 cli cracklib crypt cups cxx dri ffmpeg fortran gdbm gnutls gpm iconv ipv6 mmx modules mudflap multilib ncurses nls nptl openmp pam pax_kernel pcre plasma pppd qt3support readline semantic-desktop session sse sse2 sse3 sse4 ssl ssse3 tcpd unicode vhosts xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19 ree18" USERLAND="GNU" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Ulrich Müller gentoo-dev 2012-07-08 13:19:52 UTC
Version 1.4.6 doesn't support Emacs 24, and there's no visible upstream activity. So not much that we can do here.
Comment 2 Pacho Ramos gentoo-dev 2012-10-22 18:01:08 UTC
did you look to debian patches?
http://patch-tracker.debian.org/package/elscreen/1.4.6-5

Last of them could help
Comment 3 Christian Faulhammer (RETIRED) gentoo-dev 2012-10-22 21:35:48 UTC
(In reply to comment #2)
> did you look to debian patches?
> http://patch-tracker.debian.org/package/elscreen/1.4.6-5
> 
> Last of them could help

 Nope, none of them fixes our compile failure.
Comment 4 Mark Wright gentoo-dev 2013-05-23 12:06:20 UTC
Created attachment 348984 [details, diff]
elscreen-1.4.6-void-variable-argi.patch

elscreen-1.4.6-void-variable-argi.patch from here:
http://www.heimat.gr.jp/pipermail/elips/2011/001998.html
Comment 5 Mark Wright gentoo-dev 2013-05-23 12:08:03 UTC
Created attachment 348986 [details, diff]
elscreen-1.4.6-emacs-24.patch

elscreen-1.4.6-emacs-24.patch is my hack, which fixes compilation with emacs 24, but unfortunately breaks it with xemacs.  As the only way I could convince it to compile with emacs 24 was to remove the (static-when elscreen-on-emacs and closing ).

I applied the patches by adding this line to the ebuild:

ELISP_PATCHES="${PN}-1.4.6-void-variable-argi.patch ${PN}-1.4.6-emacs-24.patch"
Comment 6 Ulrich Müller gentoo-dev 2013-05-23 19:27:45 UTC
These issues really need to be fixed upstream, and the package was last touched 6 years ago.

Can you try if the fork at https://github.com/shosti/elscreen works for you?
Comment 7 Mark Wright gentoo-dev 2013-05-24 04:32:28 UTC
(In reply to comment #6)
> These issues really need to be fixed upstream, and the package was last
> touched 6 years ago.

I tried sending an email to the author's email address with the patches.

> Can you try if the fork at https://github.com/shosti/elscreen works for you?

The compile fails:

>>> Compiling source in /var/tmp/portage/app-emacs/elscreen-9999/work/elscreen-9999 ...
 * Compiling GNU Emacs Elisp files ...

In elscreen-get-screen-to-name-alist:
elscreen.el:671:21:Warning: `mapcar' called for effect; use `mapc' or `dolist'
    instead
elscreen.el:672:22:Warning: `mapcar' called for effect; use `mapc' or `dolist'
    instead

In elscreen-find-screens:
elscreen.el:770:9:Warning: `mapcar' called for effect; use `mapc' or `dolist'
    instead
elscreen.el:1463:30:Error: Symbol's function definition is void: elscreen--set-alist
 * elisp-compile: batch-byte-compile failed

I am unsure if it was a good idea that this fork removed the dependency on apel, as apel compiles and seems to work with emacs 24.  I wonder if removing the apel dependency may make the fork less portable to different emacs versions.

elscreen-1.4.6 with the proposed patches also appears to work with emacs 23. I don't know if the fork would work with emacs 23 or not since the compile fails.
Comment 8 Mark Wright gentoo-dev 2013-10-03 11:40:42 UTC
Created attachment 360044 [details, diff]
elscreen-1.4.6-emacs-24.patch

Add eval-when-compile around 
    (defsubst elscreen-e21-tab-create-keymap ...)
to fix the compiler error with emacs 24, and this will hopefully
also allow it to build with xemacs (not tested).
Comment 9 Mark Wright gentoo-dev 2013-10-03 11:45:37 UTC
I applied patched to apel and elscreen to fix the build with emacs 24.
I wrote the patch to put eval-when-compile around
    (defsubst elscreen-e21-tab-create-keymap ...
toe fix the elscreen build with emacs 24 (which should also allow it to
build with xemacs - not tested).

+*apel-10.8-r1 (03 Oct 2013)
+
+  03 Oct 2013; Mark Wright <gienah@gentoo.org> +apel-10.8-r1.ebuild,
+  +files/apel-10.8-010_ikazuhiro.patch,
+  +files/apel-10.8-020_Prevent-fontset-error.patch,
+  +files/apel-10.8-040_make-temp-file-for-Emacs-24.3.50.patch:
+  Add patches, the changes are noted in the ChangeLog diffs included in the
+  patches. Which include fixes for emacs 24, apel is a dep of elscreen, part of
+  fix for bug 425258.

+*elscreen-1.4.6-r1 (03 Oct 2013)
+
+  03 Oct 2013; Mark Wright <gienah@gentoo.org> +elscreen-1.4.6-r1.ebuild,
+  +files/elscreen-1.4.6-emacs-24.patch,
+  +files/elscreen-1.4.6-void-variable-argi.patch:
+  Patch elscreen to build with emacs 24, fixes bug 425258
Comment 10 Mark Wright gentoo-dev 2014-01-15 08:21:37 UTC
I fixed bug 495042 which I think was the only reason for this latest reported elscreen build failure.  I tested elscreen-1.4.6-r1 builds.