summaryrefslogtreecommitdiff
path: root/app-emacs/doxymacs
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs/doxymacs')
-rw-r--r--app-emacs/doxymacs/Manifest5
-rw-r--r--app-emacs/doxymacs/doxymacs-1.8.0-r3.ebuild35
-rw-r--r--app-emacs/doxymacs/files/50doxymacs-gentoo.el12
-rw-r--r--app-emacs/doxymacs/files/doxymacs-1.8.0-gcc7.patch104
-rw-r--r--app-emacs/doxymacs/metadata.xml11
5 files changed, 167 insertions, 0 deletions
diff --git a/app-emacs/doxymacs/Manifest b/app-emacs/doxymacs/Manifest
new file mode 100644
index 000000000000..74af7703e15f
--- /dev/null
+++ b/app-emacs/doxymacs/Manifest
@@ -0,0 +1,5 @@
+AUX 50doxymacs-gentoo.el 502 BLAKE2B 0cad3693c6eae3d87c378b743bcf577398ba3f9a1d031d16328e8b2948588b107e74d9b755696fce36bfa4b7ad28704bf5185879d24b2d1c04cf9e783350baff SHA512 1ce4aee60f650daca6d1597356ccc8d2e411c8d71f4236dd396709c6d2e03699d78626dba1e0f0b7c67701267436d62d56b70c9fbc1a5770e0018e7014badc75
+AUX doxymacs-1.8.0-gcc7.patch 2868 BLAKE2B 824046926df6d35e05873ddc39689bb1f4b50b0eaeec3a78ac48a54248323d297e062820376ab62d8b0a1708c311b5d31e50c8288c5a29cccf69ca711ba4c8a1 SHA512 2ac07420a59ecd2a90de1dcfe0b0750d527a6e12100bbbf453adbad9e046ab036708c4463e9d50507e099cf2246d867e748903d8b6a8e213b0755288625c1e03
+DIST doxymacs-1.8.0.tar.gz 133600 BLAKE2B 0e1545498234eec6259ab89a406286dc6f73c1fbec5001ef3e89513de6d91b499e33ca6e25b344dd33c763c59424e592647619f548b223ab1f9ac821815e60d4 SHA512 7461a8a415aadf331f856e4f122712cbedc2907eff9e452f24e6ee83b96903d9944d2cfdbcfeab8a66144a0be508eae723c29f82a081df9723560b10c444f8ac
+EBUILD doxymacs-1.8.0-r3.ebuild 711 BLAKE2B a7fdc5e8697de7c8f427019be1d89bf93f5752af4366946017194c525c4711c2e7a7c4d523713710d974f68366e63f3ed045b83d847e66a28b9f2b409a422357 SHA512 a90c2f6704d36637630a9a43b1fe8619e08a531716c22361b6066d2476f8c572443521b6afcaad338a2bfce1b5517bd617c28b299b43817507f9c9b85e1b9ef0
+MISC metadata.xml 335 BLAKE2B cf3ad8111a61d84548eff97c2570107d55163f29864d48e3a32607305cc245a2742c1e5580c37c3d95bc5f576e0d556e94763ca0678dec1af6a76e59261d4bac SHA512 25405ab050cf5173b07c80dd4e0eec376be3e6e666934d2f64ad978dfe8b9ad54a33c6b83adb01b96cff912a97cd64ae1009dad45c83ef0ec7c3dfde2f3fe9da
diff --git a/app-emacs/doxymacs/doxymacs-1.8.0-r3.ebuild b/app-emacs/doxymacs/doxymacs-1.8.0-r3.ebuild
new file mode 100644
index 000000000000..5d9ed4e59e7f
--- /dev/null
+++ b/app-emacs/doxymacs/doxymacs-1.8.0-r3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit elisp flag-o-matic
+
+DESCRIPTION="Doxygen editing minor mode"
+HOMEPAGE="http://doxymacs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND=">=dev-libs/libxml2-2.6.13"
+RDEPEND="${DEPEND}"
+
+ELISP_PATCHES="${P}-gcc7.patch"
+SITEFILE="50${PN}-gentoo.el"
+
+src_configure() {
+ append-flags -Wno-error #260874
+ econf --with-lispdir="${SITELISP}/${PN}"
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/app-emacs/doxymacs/files/50doxymacs-gentoo.el b/app-emacs/doxymacs/files/50doxymacs-gentoo.el
new file mode 100644
index 000000000000..47efe70e8afb
--- /dev/null
+++ b/app-emacs/doxymacs/files/50doxymacs-gentoo.el
@@ -0,0 +1,12 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'doxymacs-mode "doxymacs"
+ "Minor mode for using/creating Doxygen documentation." t)
+(autoload 'doxymacs-font-lock "doxymacs"
+ "Turn on font-lock for Doxygen keywords." t)
+(add-hook 'c-mode-common-hook 'doxymacs-mode)
+
+;; optional font-lock support
+;;(defun gentoo-doxymacs-font-lock-hook ()
+;; (if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
+;; (doxymacs-font-lock)))
+;;(add-hook 'font-lock-mode-hook 'gentoo-doxymacs-font-lock-hook)
diff --git a/app-emacs/doxymacs/files/doxymacs-1.8.0-gcc7.patch b/app-emacs/doxymacs/files/doxymacs-1.8.0-gcc7.patch
new file mode 100644
index 000000000000..b30a955baa87
--- /dev/null
+++ b/app-emacs/doxymacs/files/doxymacs-1.8.0-gcc7.patch
@@ -0,0 +1,104 @@
+Fix compilation with GCC 7.
+https://bugs.gentoo.org/635746
+
+--- doxymacs-1.8.0.orig/c/doxymacs_parser.c
++++ doxymacs-1.8.0/c/doxymacs_parser.c
+@@ -70,6 +70,7 @@
+
+ hash_entry *symbol_hash[HASH_SIZE];
+
++static inline unsigned int hash(const char *s);
+ inline unsigned int hash(const char *s)
+ {
+ unsigned int h = 0;
+@@ -82,6 +83,7 @@
+ return abs(h % HASH_SIZE);
+ }
+
++static inline void AddToHash(completion_list *cl);
+ inline void AddToHash(completion_list *cl)
+ {
+ unsigned int h = hash(cl->symbol);
+@@ -96,6 +98,7 @@
+ }
+
+ /* mmmmm... free hash */
++static inline void FreeHash(void);
+ inline void FreeHash(void)
+ {
+ unsigned int i;
+@@ -117,6 +120,7 @@
+
+ /* XML Helper Functions */
+
++static inline char *XMLTagChild(xmlNodePtr node, const char *name);
+ inline char *XMLTagChild(xmlNodePtr node, const char *name)
+ {
+ xmlNodePtr cur = node->xmlChildrenNode;
+@@ -141,6 +145,7 @@
+ return NULL;
+ }
+
++static inline char *XMLTagAttr(xmlNodePtr node, const char *attr);
+ inline char *XMLTagAttr(xmlNodePtr node, const char *attr)
+ {
+ xmlAttrPtr props = node->properties;
+@@ -167,6 +172,7 @@
+
+ /* Look up functions for symbols and descriptions */
+
++static inline completion_list *LookUpSymbol(const char *symbol);
+ inline completion_list *LookUpSymbol(const char *symbol)
+ {
+ unsigned int h = hash(symbol);
+@@ -187,6 +193,7 @@
+ return NULL;
+ }
+
++static inline desc_url_list *LookUpDesc(completion_list *entry, const char *desc);
+ inline desc_url_list *LookUpDesc(completion_list *entry, const char *desc)
+ {
+ desc_url_list *cur = entry->descs;
+@@ -206,6 +213,8 @@
+
+ /* Add the given name, description and url to our completion list */
+
++static inline int AddToCompletionList(const char *name,
++ const char *desc, const char *url);
+ inline int AddToCompletionList(const char *name,
+ const char *desc, const char *url)
+ {
+@@ -274,6 +283,7 @@
+ }
+
+ /* Encode the given string so that {X}Emacs will understand it */
++static inline char *Encode(const char *s);
+ inline char *Encode(const char *s)
+ {
+ unsigned int extra_len = 0;
+@@ -341,6 +351,7 @@
+
+ /* Output the completion list in a way {X}Emacs can easily read in */
+
++static inline int OutputCompletionList(void);
+ inline int OutputCompletionList(void)
+ {
+ completion_list *cur = comp_list;
+@@ -400,6 +411,7 @@
+
+ /* Clean up */
+
++static inline void FreeCompletionList(void);
+ inline void FreeCompletionList(void)
+ {
+ completion_list *cur = comp_list;
+@@ -428,7 +440,8 @@
+ }
+
+ /* Add the members of a compound to the completion list */
+-
++static inline int AddCompoundMembers(xmlNodePtr compound,
++ const char *name, const char *url);
+ inline int AddCompoundMembers(xmlNodePtr compound,
+ const char *name, const char *url)
+ {
diff --git a/app-emacs/doxymacs/metadata.xml b/app-emacs/doxymacs/metadata.xml
new file mode 100644
index 000000000000..767053e01dce
--- /dev/null
+++ b/app-emacs/doxymacs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<upstream>
+ <remote-id type="sourceforge">doxymacs</remote-id>
+</upstream>
+</pkgmetadata>