Gentoo Archives: gentoo-commits

From: "Vadim A. Misbakh-Soloviov" <mva@×××.name>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/lua:master commit in: dev-lang/luajit/, eclass/
Date: Wed, 01 Nov 2017 06:17:07
Message-Id: 1509517006.5464c98cdee5a7e6db3dd6debf49e67465f34fbe.mva@gentoo
1 commit: 5464c98cdee5a7e6db3dd6debf49e67465f34fbe
2 Author: Vadim A. Misbakh-Soloviov <git <AT> mva <DOT> name>
3 AuthorDate: Wed Nov 1 06:16:46 2017 +0000
4 Commit: Vadim A. Misbakh-Soloviov <mva <AT> mva <DOT> name>
5 CommitDate: Wed Nov 1 06:16:46 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/lua.git/commit/?id=5464c98c
7
8 luajit: fix min_clone_type
9
10 dev-lang/luajit/luajit-2.0.9999.ebuild | 23 +++++++------
11 dev-lang/luajit/luajit-2.1.9999.ebuild | 23 +++++++------
12 dev-lang/luajit/metadata.xml | 13 ++++----
13 eclass/patches.eclass | 60 ++++++++++++++++++++++++++++++++++
14 4 files changed, 93 insertions(+), 26 deletions(-)
15
16 diff --git a/dev-lang/luajit/luajit-2.0.9999.ebuild b/dev-lang/luajit/luajit-2.0.9999.ebuild
17 index f4aeeb2..9920ab5 100644
18 --- a/dev-lang/luajit/luajit-2.0.9999.ebuild
19 +++ b/dev-lang/luajit/luajit-2.0.9999.ebuild
20 @@ -1,13 +1,16 @@
21 -# Copyright 1999-2016 Gentoo Foundation
22 +# Copyright 1999-2017 Gentoo Foundation
23 # Distributed under the terms of the GNU General Public License v2
24
25 -EAPI=5
26 +EAPI=6
27
28 -inherit base eutils multilib multilib-minimal portability pax-utils toolchain-funcs versionator flag-o-matic check-reqs git-r3
29 +inherit eutils multilib multilib-minimal portability pax-utils toolchain-funcs versionator flag-o-matic check-reqs git-r3 patches
30
31 DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
32 -HOMEPAGE="http://luajit.org/"
33 -EGIT_REPO_URI="http://luajit.org/git/luajit-2.0.git"
34 +HOMEPAGE="https://luajit.org/"
35 +EGIT_REPO_URI="https://luajit.org/git/luajit-2.0.git"
36 +EGIT_BRANCH="v2.0"
37 +EGIT_MIN_CLONE_TYPE="single"
38 +
39 SLOT="2"
40
41 LICENSE="MIT"
42 @@ -30,10 +33,9 @@ PDEPEND="
43 HTML_DOCS=( "doc/" )
44
45 MULTILIB_WRAPPED_HEADERS=(
46 - /usr/include/luajit-${SLOT}/luaconf.h
47 + "/usr/include/luajit-${SLOT}/luaconf.h"
48 )
49
50 -
51 check_req() {
52 if use optimization; then
53 CHECKREQS_MEMORY="300M"
54 @@ -49,7 +51,8 @@ pkg_setup() {
55 check_req setup
56 }
57
58 -src_prepare(){
59 +src_prepare() {
60 + patches_src_prepare
61 # fixing prefix and version
62 # sed -r \
63 # -e 's|^(VERSION)=.*|\1=$(MAJVER).$(MINVER)|' \
64 @@ -124,12 +127,12 @@ multilib_src_compile() {
65 multilib_src_install() {
66 emake DESTDIR="${D}" MULTILIB="$(get_libdir)" install
67
68 - base_src_install_docs
69 + einstalldocs
70
71 host-is-pax && pax-mark m "${ED}usr/bin/${P}"
72 newman "etc/${P}.1" "luacjit-${PV}.1"
73 newbin "${FILESDIR}/luac.jit" "luacjit-${PV}"
74 - ln -s "${P}" "${ED}usr/bin/${PN}-${SLOT}"
75 + ln -fs "${P}" "${ED}usr/bin/${PN}-${SLOT}"
76 }
77
78 pkg_postinst() {
79
80 diff --git a/dev-lang/luajit/luajit-2.1.9999.ebuild b/dev-lang/luajit/luajit-2.1.9999.ebuild
81 index 906e226..31b5655 100644
82 --- a/dev-lang/luajit/luajit-2.1.9999.ebuild
83 +++ b/dev-lang/luajit/luajit-2.1.9999.ebuild
84 @@ -1,15 +1,17 @@
85 -# Copyright 1999-2016 Gentoo Foundation
86 +# Copyright 1999-2017 Gentoo Foundation
87 # Distributed under the terms of the GNU General Public License v2
88
89 EAPI=6
90
91 -inherit eutils multilib multilib-minimal portability pax-utils toolchain-funcs versionator flag-o-matic check-reqs git-r3
92 +inherit eutils multilib multilib-minimal portability pax-utils toolchain-funcs versionator flag-o-matic check-reqs git-r3 patches
93
94 DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
95 -HOMEPAGE="http://luajit.org/"
96 -EGIT_REPO_URI="http://luajit.org/git/luajit-2.0.git"
97 -SLOT="2"
98 +HOMEPAGE="https://luajit.org/"
99 +EGIT_REPO_URI="https://luajit.org/git/luajit-2.0.git"
100 EGIT_BRANCH="v2.1"
101 +EGIT_MIN_CLONE_TYPE="single"
102 +
103 +SLOT="2"
104
105 LICENSE="MIT"
106 KEYWORDS=""
107 @@ -31,10 +33,9 @@ PDEPEND="
108 HTML_DOCS=( "doc/." )
109
110 MULTILIB_WRAPPED_HEADERS=(
111 - /usr/include/luajit-${SLOT}/luaconf.h
112 + "/usr/include/luajit-${SLOT}/luaconf.h"
113 )
114
115 -
116 check_req() {
117 if use optimization; then
118 CHECKREQS_MEMORY="300M"
119 @@ -50,7 +51,9 @@ pkg_setup() {
120 check_req setup
121 }
122
123 -src_prepare(){
124 +src_prepare() {
125 + patches_src_prepare
126 +
127 # fixing prefix and version
128 sed -r \
129 -e 's|^(VERSION)=.*|\1=${PV}|' \
130 @@ -111,12 +114,12 @@ multilib_src_compile() {
131 multilib_src_install() {
132 emake DESTDIR="${D}" MULTILIB="$(get_libdir)" install
133
134 - base_src_install_docs
135 + einstalldocs
136
137 host-is-pax && pax-mark m "${ED}usr/bin/${P}"
138 newman "etc/${P}.1" "luacjit-${PV}.1"
139 newbin "${FILESDIR}/luac.jit" "luacjit-${PV}"
140 - ln -s "${P}" "${ED}usr/bin/${PN}-${SLOT}"
141 + ln -fs "${P}" "${ED}usr/bin/${PN}-${SLOT}"
142 }
143
144 pkg_postinst() {
145
146 diff --git a/dev-lang/luajit/metadata.xml b/dev-lang/luajit/metadata.xml
147 index 499c1c4..466a4c7 100644
148 --- a/dev-lang/luajit/metadata.xml
149 +++ b/dev-lang/luajit/metadata.xml
150 @@ -1,12 +1,8 @@
151 <?xml version="1.0" encoding="UTF-8"?>
152 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
153 <pkgmetadata>
154 - <maintainer>
155 - <email>rafaelmartins@g.o</email>
156 - <name>Rafael G. Martins</name>
157 - </maintainer>
158 - <maintainer>
159 - <email>mva@×××.name</email>
160 + <maintainer type="person">
161 + <email>gentoo.overlay@×××.name</email>
162 <name>Vadim A. Misbakh-Soloviov</name>
163 </maintainer>
164 <longdescription lang="en">
165 @@ -15,5 +11,10 @@
166 <longdescription lang="ru">
167 LuaJIT — это Just-In-Time компилятор для языка программирования Lua.
168 </longdescription>
169 + <use>
170 + <flag name="valgrind">Enable support for debugging under Valgrind</flag>
171 + <flag name="lua52compat">Enable some Lua:5.2+ features</flag>
172 + <flag name="optimization">Use "Amalgamation" compilation mode</flag>
173 + </use>
174 </pkgmetadata>
175
176
177 diff --git a/eclass/patches.eclass b/eclass/patches.eclass
178 new file mode 100644
179 index 0000000..d8173cd
180 --- /dev/null
181 +++ b/eclass/patches.eclass
182 @@ -0,0 +1,60 @@
183 +# Copyright 1999-2017 Gentoo Foundation
184 +# Distributed under the terms of the GNU General Public License v2
185 +
186 +# @ECLASS: patches.eclass
187 +# @MAINTAINER:
188 +# mva
189 +# @AUTHOR:
190 +# mva
191 +# @BLURB:
192 +# @DESCRIPTION:
193 +# Eclass that checks for patches directories existance and auto-add them into PATCHES=()
194 +
195 +EXPORT_FUNCTIONS src_prepare
196 +
197 +PATCHDIR="${FILESDIR}/patches/${PV}"
198 +[[ -z ${PATCHES[@]} ]] && PATCHES=()
199 +
200 +patches_src_prepare() {
201 + if [[ -d "${PATCHDIR}" ]]; then
202 + _patchdir_not_empty() {
203 + local has_files
204 + local LC_ALL=POSIX
205 + local prev_shopt=$(shopt -p nullglob)
206 + shopt -s nullglob
207 + local f
208 + for f in "${1:-${PATCHDIR}}"/*; do
209 + if [[ "${f}" == *.diff || "${f}" == *.patch ]] && [[ -f "${f}" || -L "${f}" ]]; then
210 + has_files=1
211 + elif [[ -d "${f}" ]]; then
212 + # recursion
213 + _patchdir_not_empty "${f}" && has_files=1
214 + fi
215 + done
216 + ${prev_shopt}
217 + [[ -n "${has_files}" ]]; return $?
218 + }
219 +
220 + _patchdir_not_empty && PATCHES+=("${PATCHDIR}")
221 +
222 + if [[ -d "${PATCHDIR}/conditional" ]]; then
223 + pushd "${PATCHDIR}/conditional" &>/dev/null
224 + for d in *; do
225 + if [[ -d ${d} ]]; then
226 + if [[ "${d##no-}" == ${d} ]]; then
227 + (use "${d}" && _patchdir_not_empty "${d}") && PATCHES+=("${PATCHDIR}/conditional/${d}")
228 + else
229 + (use "${d##no-}" && _patchdir_not_empty "${d}") || PATCHES+=("${PATCHDIR}/conditional/${d}")
230 + fi
231 + fi
232 + done
233 + popd &>/dev/null
234 + fi
235 + fi
236 + if declare -f cmake-utils_src_prepare &>/dev/null; then
237 + # cmake-utils_src_prepare support (to decrease kludges in the ebuilds)
238 + cmake-utils_src_prepare
239 + else
240 + default_src_prepare
241 + fi
242 +}