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
|
||||
dev-lang
|
||||
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