diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lisp/gcl | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lisp/gcl')
-rw-r--r-- | dev-lisp/gcl/Manifest | 13 | ||||
-rw-r--r-- | dev-lisp/gcl/files/64gcl-gentoo.el | 5 | ||||
-rw-r--r-- | dev-lisp/gcl/files/bootstrap-gcl | 7 | ||||
-rw-r--r-- | dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch | 8 | ||||
-rw-r--r-- | dev-lisp/gcl/files/gcl-gmp-6.patch | 8 | ||||
-rw-r--r-- | dev-lisp/gcl/files/gcl-readline-6.3.patch | 18 | ||||
-rw-r--r-- | dev-lisp/gcl/files/gcl-tcl-8.6.patch | 103 | ||||
-rw-r--r-- | dev-lisp/gcl/gcl-2.6.10.ebuild | 153 | ||||
-rw-r--r-- | dev-lisp/gcl/gcl-2.6.12.ebuild | 147 | ||||
-rw-r--r-- | dev-lisp/gcl/metadata.xml | 17 |
10 files changed, 479 insertions, 0 deletions
diff --git a/dev-lisp/gcl/Manifest b/dev-lisp/gcl/Manifest new file mode 100644 index 000000000000..3a0a35e0f5c3 --- /dev/null +++ b/dev-lisp/gcl/Manifest @@ -0,0 +1,13 @@ +AUX 64gcl-gentoo.el 184 BLAKE2B 69607d9ac06e897bb02deeed65807438a19068f9d8de5179247e73576c18483a4a1b193af27a3811383f1c68072f787f6214054d9763bee1f6a5a561e6f65259 SHA512 06749b0c4ec7a34a7fdbb591d40106fe00a794e6db0950cc7187293d4c495d5c908235a2ba38236132618442924a7feae08496356fcd4b0139477cd89121e3cf +AUX bootstrap-gcl 336 BLAKE2B a1c94177ccf15e2febd2315d83eb965903f0b22b8dfe230102891432564dcd8198b210aa004da3ad0d91e0b2e7ba43cc5e4e8c981923efb7f15a112e30dff86b SHA512 481a9ffa1102534c36a1a2084dda4b1ecd822888fafac4e6f0691b73ce0cc60e5328f628998ccef38bf75a26f3b79b24adf59562dc7cad23c3033a22d9593d0f +AUX gcl-2.6.12-gcc5.patch 469 BLAKE2B 7ef376f56d4b9d04fa7d3e5162b22afd8276337f103ae7ab2d5d59759c99e479c4341773b158ffe5095e49aae8cab69f97387e6eff2847c6502057a3a0a3fe07 SHA512 b2dffb7a8b3f89ab8d18d6d23dfc756e9e70921d036f9d7b2445351b9e3b67bdecff286b04f8dcb5f30b5199635cd44f3f3a28cde8ec150911fd445d172c70fb +AUX gcl-gmp-6.patch 363 BLAKE2B 103d473dc971c138ed4c7584fb61264e0ce4e6ef5823beade51a3ed4a5cae769564ae9ad252a6e40723e3ac8b5a33b9631d41954034ebc6324c58b878f4e1260 SHA512 cc578a915d154e94cf992f79e5a0130d294f506da13315bef060e19b08af3390942b2ebd5b4989acb37582315f3396fe605b56e9e441755728f54cf693be0ef1 +AUX gcl-readline-6.3.patch 656 BLAKE2B 5e8fab31dacab80c1a01cbbf17de6d346556aa7412c3ea33a104aaf4515f72bfac4b8bb316b64e77720efafefae289805b96ca9a9c396c7711c66b342a1ec3ea SHA512 d88e59a0082d01b7ae8bca1dd9870400b7e0b0e39eeb4fdce564bccfd615fadee6235c3cf1e3ef8074f74c17188144c93380cd499b215b5025304b0b2d272501 +AUX gcl-tcl-8.6.patch 3331 BLAKE2B a37ed5a50ab7c9601e36d83c511db20fd0d9cec7bd36d83dcd463bc692cf3a647fdcf32c090daa6f7b5c9697380307948d21e98de38e0c68479921c1710f3bb7 SHA512 108835fd285d6198935c6c1d20c96bc405f3c47dec66fc30201e01cd163734933cc0107b9a9035f728a594f1280a0c1bbfde2087ba5149d46c3b55ca066e3ca4 +DIST gcl-2.6.10-fedora.tar.bz2 695718 BLAKE2B 151cac372f74a971ffb31191a3614d0f7bafca141258af9e1955185f8ed119cbcd3797f2d9bbe5eb5f82e76af4fd0d3e0cf155cd35f305a2c028e40b340b78cf SHA512 3e0ffaec859783443a8941a29302c7a17c9538ef2177d449ad34e24292c174de7bb8760a6d327e08f012773032f0d0a5230b79c7e4b4f5bad8354bf10a28af4c +DIST gcl-2.6.10.tar.gz 5490689 BLAKE2B 46af0cf8a810a82fe2bc2bd46ca1cbe17b74c71eb4af6a06032040900dcad4dd4338883cd9225f0945ae425eba788ac84db9a0ed454779edd86c74a1bb48a947 SHA512 bbaacce712f15130550bcdf7e53edf4df9ab955e84ec701087034115df1c1e657d956853d5db85d7e88709981f9b7fd4c9df7acf6c8588a8ccf5f05e4e666aed +DIST gcl-2.6.12-fedora.tar.bz2 680471 BLAKE2B 0ad96ce0a09bb73ee77456373eb7e50b2325a4f2e042c21120a1c33b2dec2aa10f5485bb1b02e8eb8e77aaaea6e141189d676217f9d139615911d8a77ea5818a SHA512 7640f8370754c889e2db9d047c4476195f949f4d97eafc7ef81761c1a548e24125d6d93381227b55f1840c3d127770995e88bf66f83c6952e121f5fa004e7f1a +DIST gcl-2.6.12.tar.gz 7031837 BLAKE2B afd3f81dd8a712d92883a96399a2e0621b0d38a349904707846bd694892510012fde27f94ec36664c249659a480e7f92c412b3790ecb74247a91ba0cb44aa420 SHA512 e82b5bdded6f846de4ea35a83bc8294043ba6d4fe03ff421f8753e78add1e5e87124782f672cd38ad89bbec1ca7c5ff69fe2621be1552b209516b58b6c97fd20 +EBUILD gcl-2.6.10.ebuild 3947 BLAKE2B 0cada794a497b2fea395346d15817a5927786ef88e128c8f2a4c71e1766790e96180041eafe121500ff0b4d30ea3f2fea5d887e85d1d2693903d94af601e4ead SHA512 873736e85fa7441a10f88909794932e7455e257cc38e757ab932137769c685dc8fd2258e2b5595f10016b732c14f3346a63ee42460cb20601a5acfc258d1b6c9 +EBUILD gcl-2.6.12.ebuild 3803 BLAKE2B e9e9e7cba81de6b7420a4416f015626af2648668570df173c886783b72fa995158f3f3344672251a1a67f618bd56cc419706d5204572b234c8c6d07ae70290b5 SHA512 3e249212546cbee31c91244cb7dc8d4a723a8fbf5417ff22760b3aac86643951c6897446e8c0b509de8761ee94e9b31d14cf6842371240a1bd780a0eba5a43a2 +MISC metadata.xml 721 BLAKE2B d1c370152589e9d172b4d5efaf7e20a546bba837e91671aa1ac2c3443905a129a97a9a0df10fb7a277e86ddd07fa00562004ed31f2fc0deb65000853729adb2d SHA512 b1517bb263ce834d3c98f3a24e9defbfc96b29c781624456b3967eef81d5586c4bc4c6d8d6fec3b392a4de4d81b9d60f5418ed6d00065f644db57c9613e4cd2a diff --git a/dev-lisp/gcl/files/64gcl-gentoo.el b/dev-lisp/gcl/files/64gcl-gentoo.el new file mode 100644 index 000000000000..7b7cee00bac8 --- /dev/null +++ b/dev-lisp/gcl/files/64gcl-gentoo.el @@ -0,0 +1,5 @@ +;; site-init for dev-lisp/gcl +(add-to-list 'load-path "@SITELISP@") +(autoload 'run "gcl" "Run GCL." t) +(autoload 'gcl-mode "gcl" "GCL mode." t) +(autoload 'dbl "dbl" "GCL debugger." t) diff --git a/dev-lisp/gcl/files/bootstrap-gcl b/dev-lisp/gcl/files/bootstrap-gcl new file mode 100644 index 000000000000..cf964c4b5bea --- /dev/null +++ b/dev-lisp/gcl/files/bootstrap-gcl @@ -0,0 +1,7 @@ +(compiler::emit-fn t) +(compiler::link nil "bootstrapped_ansi_gcl" + (format nil "(progn (let ((*load-path* (cons ~S *load-path*)) + (si::*load-types* ~S)) (compiler::emit-fn t)) (when (fboundp (quote + si::sgc-on)) (si::sgc-on t)) (setq compiler::*default-system-p* t))" + si::*system-directory* (quote (list ".lsp"))) + "-lutil") diff --git a/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch b/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch new file mode 100644 index 000000000000..07d3892eb0b6 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-2.6.12-gcc5.patch @@ -0,0 +1,8 @@ +diff -r -U1 gcl.orig/makefile gcl/makefile +--- gcl.orig/makefile 2014-10-23 23:29:00.000000000 +0200 ++++ gcl/makefile 2016-02-17 18:10:29.871808118 +0100 +@@ -267,3 +267,3 @@ + $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"cmponly.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\ +- $(CC) -E -I./$(HDIR) - |\ ++ $(CC) -E -P -I./$(HDIR) - |\ + $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@ diff --git a/dev-lisp/gcl/files/gcl-gmp-6.patch b/dev-lisp/gcl/files/gcl-gmp-6.patch new file mode 100644 index 000000000000..f66638478af1 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-gmp-6.patch @@ -0,0 +1,8 @@ +diff -r -U1 gcl.orig/configure gcl/configure +--- gcl.orig/configure 2013-11-11 21:55:48.000000000 +0700 ++++ gcl/configure 2014-03-30 17:25:04.874994142 +0700 +@@ -5027,3 +5027,3 @@ + int main() { +- #if __GNU_MP_VERSION == 4 || __GNU_MP_VERSION == 5 ++ #if __GNU_MP_VERSION == 4 || __GNU_MP_VERSION == 5 || __GNU_MP_VERSION == 6 + return 0; diff --git a/dev-lisp/gcl/files/gcl-readline-6.3.patch b/dev-lisp/gcl/files/gcl-readline-6.3.patch new file mode 100644 index 000000000000..063c772f1051 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-readline-6.3.patch @@ -0,0 +1,18 @@ +diff -r -U1 gcl.orig/o/gcl_readline.d gcl/o/gcl_readline.d +--- gcl.orig/o/gcl_readline.d 2013-11-11 21:55:48.000000000 +0700 ++++ gcl/o/gcl_readline.d 2014-03-30 18:29:42.131967005 +0700 +@@ -53,2 +53,9 @@ + ++/* Deprecated CPPFunction disappeared in libreadline-6.3 */ ++#if defined(_RL_FUNCTION_TYPEDEF) ++#define RL_COMPLETION_FUNC_T rl_completion_func_t ++#else ++#define RL_COMPLETION_FUNC_T CPPFunction ++#endif ++ + int readline_on = 0; /* On (1) or off (0) */ +@@ -471,3 +478,3 @@ + #ifdef RL_COMPLETION +- rl_attempted_completion_function = (CPPFunction *)rl_completion; ++ rl_attempted_completion_function = (RL_COMPLETION_FUNC_T *)rl_completion; + #endif diff --git a/dev-lisp/gcl/files/gcl-tcl-8.6.patch b/dev-lisp/gcl/files/gcl-tcl-8.6.patch new file mode 100644 index 000000000000..cfbf82e32899 --- /dev/null +++ b/dev-lisp/gcl/files/gcl-tcl-8.6.patch @@ -0,0 +1,103 @@ +diff --git a/gcl/gcl-tk/tkMain.c b/gcl/gcl-tk/tkMain.c +index 74475cc..21c6c59 100755 +--- a/gcl/gcl-tk/tkMain.c ++++ b/gcl/gcl-tk/tkMain.c +@@ -42,6 +42,11 @@ + #if (TK_MINOR_VERSION==0 && TK_MAJOR_VERSION==4) + #define TkCreateMainWindow Tk_CreateMainWindow + #endif ++#if TCL_MAJOR_VERSION >= 8 ++#define INTERP_RESULT(interp) Tcl_GetStringResult(interp) ++#else ++#define INTERP_RESULT(interp) (interp)->result ++#endif + + + /*-------------------------------------------------------------------*/ +@@ -276,7 +281,7 @@ TkX_Wish (argc, argv) + + if (Tk_ParseArgv(interp, (Tk_Window) NULL, &argc, (void *)argv, argTable, 0) + != TCL_OK) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + exit(1); + } + if (name == NULL) { +@@ -309,7 +314,7 @@ TkX_Wish (argc, argv) + + /* mainWindow = TkCreateMainWindow(interp, display, name/\* , "Tk" *\/); */ + /* if (mainWindow == NULL) { */ +-/* fprintf(stderr, "%s\n", interp->result); */ ++/* fprintf(stderr, "%s\n", INTERP_RESULT(interp)); */ + /* exit(1); */ + /* } */ + /* #ifndef __MINGW32__ */ +@@ -362,7 +367,7 @@ TkX_Wish (argc, argv) + Tcl_FindExecutable ( argv[0] ); + #else + if (Tcl_AppInit(interp) != TCL_OK) { +- fprintf(stderr, "Tcl_AppInit failed: %s\n", interp->result); ++ fprintf(stderr, "Tcl_AppInit failed: %s\n", INTERP_RESULT(interp)); + } + #endif + /* +@@ -372,7 +377,7 @@ TkX_Wish (argc, argv) + if (geometry != NULL) { + code = Tcl_VarEval(interp, "wm geometry . ", geometry, (char *) NULL); + if (code != TCL_OK) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + } + } + +@@ -402,13 +407,13 @@ TkX_Wish (argc, argv) + + fullName = Tcl_TildeSubst(interp, tcl_RcFileName, &buffer); + if (fullName == NULL) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + } else { + f = fopen(fullName, "r"); + if (f != NULL) { + code = Tcl_EvalFile(interp, fullName); + if (code != TCL_OK) { +- fprintf(stderr, "%s\n", interp->result); ++ fprintf(stderr, "%s\n", INTERP_RESULT(interp)); + } + fclose(f); + } +@@ -443,7 +448,7 @@ TkX_Wish (argc, argv) + error: + msg = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY); + if (msg == NULL) { +- msg = interp->result; ++ msg = INTERP_RESULT(interp); + } + dfprintf(stderr, "%s\n", msg); + Tcl_Eval(interp, errorExitCmd); +@@ -566,13 +571,13 @@ StdinProc(clientData, mask) + || code) + { + char buf[4]; +- char *p = buf; ++ char *p = buf, *string; + /*header */ + *p++ = (code ? '1' : '0'); + bcopy(msg->msg_id,p,3); + /* end header */ +- if(sock_write_str2(dsfd, m_reply, buf, 4 , +- interp->result, strlen(interp->result)) ++ string = INTERP_RESULT(interp); ++ if(sock_write_str2(dsfd, m_reply, buf, 4, string, strlen(string)) + < 0) + { /* what do we want to do if the write failed */} + +@@ -752,7 +757,7 @@ guiBindCallback(char *szNameCmdProc, char *szTclObject, char *szModifier,char* a + code = Tcl_Eval(interp, szCmd); + if (code != TCL_OK) + { +- dfprintf(stderr, "TCL Error int bind : %s\n", interp->result); ++ dfprintf(stderr, "TCL Error int bind : %s\n", INTERP_RESULT(interp)); + + } + return code; diff --git a/dev-lisp/gcl/gcl-2.6.10.ebuild b/dev-lisp/gcl/gcl-2.6.10.ebuild new file mode 100644 index 000000000000..55fc3ee2e422 --- /dev/null +++ b/dev-lisp/gcl/gcl-2.6.10.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit elisp-common eutils flag-o-matic + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz https://dev.gentoo.org/~grozin/${P}-fedora.tar.bz2" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm x86" +IUSE="+ansi athena emacs +readline tk X" + +# See bug #205803 +RESTRICT="strip" + +RDEPEND="emacs? ( virtual/emacs ) + readline? ( sys-libs/readline:= ) + athena? ( x11-libs/libXaw ) + >=dev-libs/gmp-4.1:= + tk? ( dev-lang/tk:= ) + X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) + virtual/latex-base" +DEPEND="${RDEPEND} + virtual/texi2dvi + >=app-text/texi2html-1.64 + >=sys-devel/autoconf-2.52" + +S="${WORKDIR}"/${PN} + +src_prepare() { + mv "${WORKDIR}"/fedora/info/* info/ + cp -p /usr/share/texmf-dist/tex/texinfo/texinfo.tex info/ + find . -type f -perm /0111 | xargs chmod a-x + chmod a+x add-defs add-defs1 config.guess config.sub configure install.sh + chmod a+x bin/info bin/info1 gcl-tk/gcltksrv.in gcl-tk/ngcltksrv mp/gcclab + chmod a+x o/egrep-def utils/replace xbin/* + + # fedora patches + epatch "${WORKDIR}"/fedora/fd-leak.patch + epatch "${WORKDIR}"/fedora/latex.patch + epatch "${WORKDIR}"/fedora/texinfo.patch + epatch "${WORKDIR}"/fedora/elisp.patch + epatch "${WORKDIR}"/fedora/rename.patch + epatch "${WORKDIR}"/fedora/getcwd.patch + epatch "${WORKDIR}"/fedora/infrastructure.patch + epatch "${WORKDIR}"/fedora/extension.patch + epatch "${WORKDIR}"/fedora/unrandomize.patch + epatch "${WORKDIR}"/fedora/asm-signal-h.patch + epatch "${WORKDIR}"/fedora/plt.patch + epatch "${WORKDIR}"/fedora/ellipsis.patch + epatch "${WORKDIR}"/fedora/man.patch + epatch "${WORKDIR}"/fedora/reloc-type.patch + epatch "${WORKDIR}"/fedora/largefile.patch + + epatch "${FILESDIR}"/${PN}-tcl-8.6.patch + epatch "${FILESDIR}"/${PN}-gmp-6.patch + epatch "${FILESDIR}"/${PN}-readline-6.3.patch + + sed -e 's|"-fomit-frame-pointer"|""|' -i configure + sed -e 's|@EXT@||g' debian/in.gcl.1 > gcl.1 +} + +src_configure() { + strip-flags + filter-flags -fstack-protector -fstack-protector-all + + local tcl="" + if use tk; then + tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib" + fi + + econf --enable-dynsysgmp \ + --disable-xdr \ + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl \ + --enable-infodir=/usr/share/info \ + $(use_enable readline) \ + $(use_enable ansi) \ + $(use_enable athena xgcl) \ + $(use_with X x) \ + ${tcl} +} + +src_compile() { + emake -j1 + VARTEXFONTS="${T}"/fonts emake -C info gcl.info + if use athena; then + pushd xgcl-2 > /dev/null + pdflatex dwdoc.tex + popd > /dev/null + fi +} + +src_test() { + local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl" + if use ansi; then + cd ansi-tests + + ( make clean && make test-unixport ) \ + || die "make ansi-tests failed!" + + cat "${FILESDIR}/bootstrap-gcl" \ + | ../unixport/saved_ansi_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ + | ./bootstrapped_ansi_gcl + + ( ${make_ansi_tests_clean} && \ + echo "(load \"gclload.lsp\")" \ + | ./bootstrapped_r_ansi_gcl ) \ + || die "Phase 2, bootstraped compiler failed in tests" + fi +} + +src_install() { + emake DESTDIR="${D}" install + mv "${D}"usr/share/doc/*.dvi . + rm -rf "${D}"usr/share/doc + rm -rf "${D}"usr/share/emacs + rm -rf "${D}"usr/lib/gcl-*/info + + rm doc/makefile elisp/add-defaults.el + dodoc readme* RELEASE* ChangeLog* doc/* + doman gcl.1 + doinfo info/*.info* + dohtml -r info/gcl-si info/gcl-tk + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el + elisp-install ${PN} elisp/*.el + fi + + insinto /usr/share/doc/${PF} + doins *.dvi + if use athena; then + pushd xgcl-2 > /dev/null + insinto /usr/share/doc/${PF} + doins *.pdf + popd > /dev/null + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lisp/gcl/gcl-2.6.12.ebuild b/dev-lisp/gcl/gcl-2.6.12.ebuild new file mode 100644 index 000000000000..b8fee9e3528f --- /dev/null +++ b/dev-lisp/gcl/gcl-2.6.12.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit elisp-common eutils flag-o-matic + +DESCRIPTION="GNU Common Lisp" +HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz https://dev.gentoo.org/~grozin/${P}-fedora.tar.bz2" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="+ansi athena emacs +readline tk X" + +# See bug #205803 +RESTRICT="strip" + +RDEPEND="emacs? ( virtual/emacs ) + readline? ( sys-libs/readline:= ) + athena? ( x11-libs/libXaw ) + >=dev-libs/gmp-4.1:= + tk? ( dev-lang/tk:= ) + X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw ) + virtual/latex-base" +DEPEND="${RDEPEND} + virtual/texi2dvi + >=app-text/texi2html-1.64 + >=sys-devel/autoconf-2.52" + +S="${WORKDIR}"/${PN} + +src_prepare() { + mv "${WORKDIR}"/fedora/info/* info/ + cp -p /usr/share/texmf-dist/tex/texinfo/texinfo.tex info/ + find . -type f -perm /0111 | xargs chmod a-x + chmod a+x add-defs add-defs1 config.guess config.sub configure install.sh + chmod a+x bin/info bin/info1 gcl-tk/gcltksrv.in gcl-tk/ngcltksrv mp/gcclab + chmod a+x o/egrep-def utils/replace xbin/* + epatch "${FILESDIR}"/${P}-gcc5.patch + + # fedora patches + epatch "${WORKDIR}"/fedora/fd-leak.patch + epatch "${WORKDIR}"/fedora/latex.patch + epatch "${WORKDIR}"/fedora/texinfo.patch + epatch "${WORKDIR}"/fedora/elisp.patch + epatch "${WORKDIR}"/fedora/selinux.patch + epatch "${WORKDIR}"/fedora/rename.patch + epatch "${WORKDIR}"/fedora/getcwd.patch + epatch "${WORKDIR}"/fedora/plt.patch + epatch "${WORKDIR}"/fedora/ellipsis.patch + epatch "${WORKDIR}"/fedora/infrastructure.patch + epatch "${WORKDIR}"/fedora/extension.patch + epatch "${WORKDIR}"/fedora/unrandomize.patch + epatch "${WORKDIR}"/fedora/asm-signal-h.patch + epatch "${WORKDIR}"/fedora/largefile.patch + epatch "${WORKDIR}"/fedora/arm.patch + + sed -e 's|"-fomit-frame-pointer"|""|' -i configure +} + +src_configure() { + strip-flags + filter-flags -fstack-protector -fstack-protector-all + append-cflags $(test-flags-CC -fgnu89-inline) + + local tcl="" + if use tk; then + tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib" + fi + + econf --enable-dynsysgmp \ + --disable-xdr \ + --enable-emacsdir=/usr/share/emacs/site-lisp/gcl \ + --enable-infodir=/usr/share/info \ + $(use_enable readline) \ + $(use_enable ansi) \ + $(use_enable athena xgcl) \ + $(use_with X x) \ + ${tcl} +} + +src_compile() { + emake -j1 + VARTEXFONTS="${T}"/fonts emake -C info gcl.info + if use athena; then + pushd xgcl-2 > /dev/null + pdflatex dwdoc.tex + popd > /dev/null + fi +} + +src_test() { + local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl" + if use ansi; then + cd ansi-tests + + ( make clean && make test-unixport ) \ + || die "make ansi-tests failed!" + + cat "${FILESDIR}/bootstrap-gcl" \ + | ../unixport/saved_ansi_gcl + + cat "${FILESDIR}/bootstrap-gcl" \ + |sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \ + | ./bootstrapped_ansi_gcl + + ( ${make_ansi_tests_clean} && \ + echo "(load \"gclload.lsp\")" \ + | ./bootstrapped_r_ansi_gcl ) \ + || die "Phase 2, bootstraped compiler failed in tests" + fi +} + +src_install() { + emake DESTDIR="${D}" install + rm -rf "${D}"usr/share/doc + rm -rf "${D}"usr/share/emacs + + rm elisp/add-defaults.el + dodoc readme* RELEASE* ChangeLog* doc/* + doman man/man1/gcl.1 + doinfo info/*.info* + dohtml -r info/gcl-si info/gcl-tk + + if use emacs; then + elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el + elisp-install ${PN} elisp/*.el + fi + + insinto /usr/share/doc/${PF} + doins info/*.pdf + if use athena; then + pushd xgcl-2 > /dev/null + insinto /usr/share/doc/${PF} + doins *.pdf + popd > /dev/null + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lisp/gcl/metadata.xml b/dev-lisp/gcl/metadata.xml new file mode 100644 index 000000000000..28952c76fa9e --- /dev/null +++ b/dev-lisp/gcl/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>common-lisp@gentoo.org</email> + <name>Gentoo Common Lisp Project</name> + </maintainer> + <longdescription> + GCL is the official Common Lisp for the GNU project. Its design + makes use of the system's C compiler to compile to native object + code, providing for both good performance and facile portability. + </longdescription> + <use> + <flag name="ansi">Build a GCL with ANSI support (else build a traditional CLtL1 image)</flag> + <flag name="athena">Build xgcl - an interface to <pkg>x11-libs/libXaw</pkg></flag> + </use> +</pkgmetadata> |