Add emacs-24.3
This commit is contained in:
parent
27cb0dd97e
commit
4879514190
5 changed files with 228 additions and 0 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
app-editors
|
||||||
app-security
|
app-security
|
||||||
dev-lang
|
dev-lang
|
||||||
dev-python
|
dev-python
|
||||||
|
|
14
packages/app-editors/emacs/emacs-24.3-r1.exheres-0
Normal file
14
packages/app-editors/emacs/emacs-24.3-r1.exheres-0
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Copyright 2008 Ingmar Vanhassel <ingmar@exherbo.org>
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
require emacs
|
||||||
|
|
||||||
|
PLATFORMS="~amd64 ~x86"
|
||||||
|
|
||||||
|
DEPENDENCIES="
|
||||||
|
build+run:
|
||||||
|
dev-libs/gnutls[>=2.8]
|
||||||
|
"
|
||||||
|
|
||||||
|
DEFAULT_SRC_PREPARE_PATCHES=( "${FILES}"/emacs-python-docstrings.patch )
|
||||||
|
|
172
packages/app-editors/emacs/emacs.exlib
Normal file
172
packages/app-editors/emacs/emacs.exlib
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
# Copyright 2008, 2009 Ingmar Vanhassel <ingmar@exherbo.org>
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# Based in part upon 'emacs-22.2-r2.ebuild' from Gentoo, which is:
|
||||||
|
# Copyright 1999-2008 Gentoo Foundation.
|
||||||
|
|
||||||
|
require game alternatives elisp-module
|
||||||
|
|
||||||
|
if [[ -z $(ever range 3) ]]; then
|
||||||
|
require gnu [ suffix=xz ]
|
||||||
|
else
|
||||||
|
require gnu [ alpha=true subdir=pretest suffix=xz ]
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $(ever range 3) == rc* ]]; then
|
||||||
|
MY_PV=$(ever range 1-2)
|
||||||
|
MY_PNV=${PN}-${MY_PV}
|
||||||
|
fi
|
||||||
|
|
||||||
|
export_exlib_phases src_prepare src_configure src_install pkg_postinst
|
||||||
|
|
||||||
|
SUMMARY="The extensible, customizable, self-documenting, real-time display editor"
|
||||||
|
|
||||||
|
LICENCES="GPL-3"
|
||||||
|
SLOT="0"
|
||||||
|
MYOPTIONS="
|
||||||
|
X alsa dbus freetype gif gpm gtk gtk3 otf svg tiff tiff xpm
|
||||||
|
( freetype gif gtk gtk3 otf svg tiff xpm ) [[ requires = X ]]
|
||||||
|
( gtk gtk3 ) [[ number-selected = at-most-one ]]
|
||||||
|
gconf [[
|
||||||
|
description = [ Allows emacs to determine the system font ]
|
||||||
|
requires = X
|
||||||
|
]]
|
||||||
|
otf [[
|
||||||
|
description = [ Support for OpenType fonts ]
|
||||||
|
requires = freetype
|
||||||
|
]]
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPENDENCIES="
|
||||||
|
build:
|
||||||
|
X? ( dev-util/pkg-config )
|
||||||
|
alsa? ( dev-util/pkg-config )
|
||||||
|
dbus? ( dev-util/pkg-config )
|
||||||
|
gtk? ( dev-util/pkg-config )
|
||||||
|
gtk3? ( dev-util/pkg-config )
|
||||||
|
svg? ( dev-util/pkg-config )
|
||||||
|
build+run:
|
||||||
|
dev-libs/libxml2:2.0 [[ note = [ used for html rendering; could be made optional ] ]]
|
||||||
|
net-libs/liblockfile
|
||||||
|
sys-libs/ncurses
|
||||||
|
alsa? ( sys-sound/alsa-lib[>=1.0.0] )
|
||||||
|
X? (
|
||||||
|
media-libs/jpeg
|
||||||
|
media-libs/libpng
|
||||||
|
x11-data/xbitmaps
|
||||||
|
x11-libs/libICE
|
||||||
|
x11-libs/libSM
|
||||||
|
x11-libs/libX11
|
||||||
|
gif? ( media-libs/giflib )
|
||||||
|
gtk? (
|
||||||
|
dev-libs/glib:2[>=2.10]
|
||||||
|
x11-libs/gtk+:2[>=2.10]
|
||||||
|
)
|
||||||
|
gtk3? (
|
||||||
|
dev-libs/glib:2[>=2.28]
|
||||||
|
x11-libs/gtk+:3[>=3.0]
|
||||||
|
)
|
||||||
|
otf? ( dev-libs/libotf )
|
||||||
|
svg? ( gnome-desktop/librsvg:2[>=2.11.0] )
|
||||||
|
tiff? ( media-libs/tiff )
|
||||||
|
xpm? ( x11-libs/libXpm )
|
||||||
|
)
|
||||||
|
dbus? ( sys-apps/dbus[>=1.0.0] )
|
||||||
|
freetype? (
|
||||||
|
media-libs/fontconfig[>=2.2.0]
|
||||||
|
media-libs/freetype:2
|
||||||
|
x11-libs/libXft[>=0.13.0]
|
||||||
|
x11-libs/libXrender [[ note = [ because of libXft ] ]]
|
||||||
|
)
|
||||||
|
gconf? ( gnome-platform/GConf:2 )
|
||||||
|
gpm? ( sys-libs/gpm )
|
||||||
|
suggestion:
|
||||||
|
app-spell/aspell [[ description = [ For ispell and flyspell mode ] ]]
|
||||||
|
"
|
||||||
|
|
||||||
|
WORK=${WORKBASE}/${MY_PNV-${PNV}}
|
||||||
|
|
||||||
|
emacs_src_prepare() {
|
||||||
|
# Compressing *.el files saves 25MB diskspace, which is not worth it on modern systems
|
||||||
|
edo sed -i -e 's/@GZIP_PROG@//' {.,leim}/Makefile.in
|
||||||
|
default
|
||||||
|
|
||||||
|
# Create a copy of the clean source (it will be installed in src_install)
|
||||||
|
edo tar cf source.tar src/
|
||||||
|
}
|
||||||
|
|
||||||
|
emacs_src_configure() {
|
||||||
|
config_params=(
|
||||||
|
--infodir=/usr/share/info/emacs
|
||||||
|
--without-compress-info # applies to manpages as well
|
||||||
|
--without-gsettings
|
||||||
|
--without-hesiod
|
||||||
|
--without-imagemagick
|
||||||
|
--without-kerberos
|
||||||
|
--without-kerberos5
|
||||||
|
--without-m17n-flt
|
||||||
|
--without-selinux
|
||||||
|
--without-xim
|
||||||
|
)
|
||||||
|
|
||||||
|
config_withs=(
|
||||||
|
'X x' 'X jpeg' 'X png'
|
||||||
|
'alsa sound'
|
||||||
|
'freetype xft'
|
||||||
|
'otf libotf'
|
||||||
|
'svg rsvg'
|
||||||
|
'dbus' 'gconf' 'gif' 'gpm' 'tiff' 'xpm'
|
||||||
|
)
|
||||||
|
|
||||||
|
local toolkit=no
|
||||||
|
option gtk && toolkit=gtk;
|
||||||
|
option gtk3 && toolkit=gtk3;
|
||||||
|
|
||||||
|
econf \
|
||||||
|
"${config_params[@]}" \
|
||||||
|
$(for s in "${config_withs[@]}" ; do option_with ${s} ; done ) \
|
||||||
|
$(option gtk || option gtk3 || echo --without-toolkit-scroll-bars) \
|
||||||
|
--with-x-toolkit=${toolkit}
|
||||||
|
}
|
||||||
|
|
||||||
|
emacs_src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
insinto ${ELISP_SITE_LISP}
|
||||||
|
hereins site-start.el <<EOF
|
||||||
|
(require 'site-exherbo)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
keepdir /var/lib/games/emacs
|
||||||
|
dovarlibgames -R
|
||||||
|
# they lose group write permission anyway after being updated
|
||||||
|
edo chmod g-w "${IMAGE}"/var/lib/games/emacs/*
|
||||||
|
preserve_scores "${IMAGE}"/var/lib/games/emacs/*
|
||||||
|
edo chown wizard:games "${IMAGE}"/usr/libexec/emacs/${MY_PV-${PV}}/${CHOST}/update-game-score
|
||||||
|
edo chmod ug+s "${IMAGE}"/usr/libexec/emacs/${MY_PV-${PV}}/${CHOST}/update-game-score
|
||||||
|
|
||||||
|
elisp-install-site-file
|
||||||
|
|
||||||
|
# Install a copy of the clean source to `source-directory`. The builtin help system of emacs
|
||||||
|
# requires it in order to fully function.
|
||||||
|
local emacs_source_root=/usr/src/emacs
|
||||||
|
dodir ${emacs_source_root}
|
||||||
|
edo tar xf source.tar -C "${IMAGE}"${emacs_source_root}
|
||||||
|
|
||||||
|
cd "${IMAGE}"
|
||||||
|
edo mv usr/share/man/man1/ctags{,-emacs}.1
|
||||||
|
edo mv usr/bin/ctags{,-emacs}
|
||||||
|
alternatives_for ctags emacs 500 \
|
||||||
|
/usr/bin/ctags ctags-emacs \
|
||||||
|
/usr/share/man/man1/ctags.1 ctags-emacs.1
|
||||||
|
|
||||||
|
hereenvd 70${PN} <<EOF
|
||||||
|
INFOPATH="/usr/share/info/${PN}"
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
emacs_pkg_postinst() {
|
||||||
|
game_pkg_postinst
|
||||||
|
alternatives_pkg_postinst
|
||||||
|
elisp-generate-global-site-file
|
||||||
|
}
|
||||||
|
|
1
packages/app-editors/emacs/files/emacs-exherbo.el.in
Normal file
1
packages/app-editors/emacs/files/emacs-exherbo.el.in
Normal file
|
@ -0,0 +1 @@
|
||||||
|
(setq source-directory "/usr/src/emacs")
|
|
@ -0,0 +1,40 @@
|
||||||
|
diff --git a/python.el b/python.el
|
||||||
|
index 54a657a..f01360c 100644
|
||||||
|
--- a/lisp/progmodes/python.el
|
||||||
|
+++ b/lisp/progmodes/python.el
|
||||||
|
@@ -405,6 +405,23 @@ The type returned can be `comment', `string' or `paren'."
|
||||||
|
'python-info-ppss-comment-or-string-p
|
||||||
|
#'python-syntax-comment-or-string-p "24.3")
|
||||||
|
|
||||||
|
+(defun python-doc-string-at-p (pos)
|
||||||
|
+ "Check to see if there is a docstring at POS."
|
||||||
|
+ (save-excursion
|
||||||
|
+ (goto-char pos)
|
||||||
|
+ (if (looking-at-p "'''\\|\"\"\"")
|
||||||
|
+ (progn
|
||||||
|
+ (python-nav-backward-statement)
|
||||||
|
+ (looking-at "\\`\\|class \\|def "))
|
||||||
|
+ nil)))
|
||||||
|
+
|
||||||
|
+(defun python-font-lock-syntactic-face-function (state)
|
||||||
|
+ (if (nth 3 state)
|
||||||
|
+ (if (python-doc-string-at-p (nth 8 state))
|
||||||
|
+ font-lock-doc-face
|
||||||
|
+ font-lock-string-face)
|
||||||
|
+ font-lock-comment-face))
|
||||||
|
+
|
||||||
|
(defvar python-font-lock-keywords
|
||||||
|
;; Keywords
|
||||||
|
`(,(rx symbol-start
|
||||||
|
@@ -3226,7 +3243,10 @@ if that value is non-nil."
|
||||||
|
'python-nav-forward-sexp)
|
||||||
|
|
||||||
|
(set (make-local-variable 'font-lock-defaults)
|
||||||
|
- '(python-font-lock-keywords nil nil nil nil))
|
||||||
|
+ '(python-font-lock-keywords
|
||||||
|
+ nil nil nil nil
|
||||||
|
+ (font-lock-syntactic-face-function
|
||||||
|
+ . python-font-lock-syntactic-face-function)))
|
||||||
|
|
||||||
|
(set (make-local-variable 'syntax-propertize-function)
|
||||||
|
python-syntax-propertize-function)
|
Loading…
Reference in a new issue