1 |
commit: b7a831e509fcfc0300fc6d026de2c65934667fe3 |
2 |
Author: Louis Sautier <sautier.louis <AT> gmail <DOT> com> |
3 |
AuthorDate: Thu Jun 15 19:14:42 2017 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jul 2 03:05:18 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7a831e5 |
7 |
|
8 |
dev-lang/nasm: bump to 2.13.01, EAPI=6, fix doc dependencies |
9 |
|
10 |
Bug: https://bugs.gentoo.org/show_bug.cgi?id=619360 |
11 |
Closes: https://github.com/gentoo/gentoo/pull/4938 |
12 |
Package-Manager: Portage-2.3.6, Repoman-2.3.2 |
13 |
|
14 |
dev-lang/nasm/Manifest | 1 + |
15 |
dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch | 177 ++++++++++++++++++++++ |
16 |
dev-lang/nasm/metadata.xml | 2 +- |
17 |
dev-lang/nasm/nasm-2.13.01.ebuild | 44 ++++++ |
18 |
4 files changed, 223 insertions(+), 1 deletion(-) |
19 |
|
20 |
diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest |
21 |
index cee747eb470..84c99cdef65 100644 |
22 |
--- a/dev-lang/nasm/Manifest |
23 |
+++ b/dev-lang/nasm/Manifest |
24 |
@@ -1,2 +1,3 @@ |
25 |
DIST nasm-2.11.08.tar.xz 764872 SHA256 c99467c7072211c550d147640d8a1a0aa4d636d4d8cf849f3bf4317d900a1f7f SHA512 f7caf42d0fe1b850de13180a1f363e34a6d44a02696312dd8f12f4116ad1c1f3d01e6606c3a79fb881e76fc70d20894d85b333c84a75d60265ff9551f7b8cde4 WHIRLPOOL d13f342d59aedf2510347f847a2f5fb276a3bdb9e7b8c5cac6ac4e204a03ea31e477adc19facbf68f939245aae72971b232f1a0fc461ef554458f8956403c623 |
26 |
DIST nasm-2.12.01.tar.xz 780112 SHA256 9dbba1ce620512e435ba57e69e811fe8e07d04359e47e0a0b5e94a5dd8367489 SHA512 c016b2b26f2ef00fe8de673dc7b2effa55ddd23d1f15145380c2767a2cd4a5c60c77732faebcd5868b325f780c0bf76a5e0c49eb6189609b21e2493d2af9347c WHIRLPOOL 4659275043c947461a03450efe184a425019aa99b30607c33b1dd302dd02091a9f1dfaf80382c4466b7df295bc09add6ad9587e3050ea4567a4605f956e1bcdd |
27 |
+DIST nasm-2.13.01.tar.xz 800244 SHA256 aa0213008f0433ecbe07bb628506a5c4be8079be20fc3532a5031fd639db9a5e SHA512 6561a2efb3ffea77a1a8cd364edf1ecedb2c14e1902469d7c59d743f25ca612529113d1099818abbe0a9f2592f12604f1810855bbdf8dc9de3648094a83529ae WHIRLPOOL dfc7018acfb51cdd3988da6abd157a29d72fdcd233862de4eb09debd65560280a0d7a7aa8f76f0e0c546861272d533f57d3dacd52add16a894dbc026a913d1c5 |
28 |
|
29 |
diff --git a/dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch b/dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch |
30 |
new file mode 100644 |
31 |
index 00000000000..aaedc404a20 |
32 |
--- /dev/null |
33 |
+++ b/dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch |
34 |
@@ -0,0 +1,177 @@ |
35 |
+From 1c369c46fd2cceeb6abe46b89fc539960a6c0c88 Mon Sep 17 00:00:00 2001 |
36 |
+From: David Seifert <soap@g.o> |
37 |
+Date: Sat, 1 Jul 2017 19:42:50 -0700 |
38 |
+Subject: [PATCH] Make buildsystem respect GNU conventions |
39 |
+ |
40 |
+* CPPFLAGS is a user variable and should be respected |
41 |
+ when compiling .c files. Think of -D_FORTIFY_SOURCE=2. |
42 |
+* Pass ALL_CFLAGS when linking too. This is recommended |
43 |
+ for certain edge cases (-flto) |
44 |
+* Use DESTDIR instead of INSTALLROOT for staging dir |
45 |
+ Every other build system (Automake, CMake, Meson) uses |
46 |
+ DESTDIR. This integrates better into distro and other |
47 |
+ build systems that have standard hooks for DESTDIR. |
48 |
+* $(MAKE) -C <dir> is better than cd'ing into a <dir> |
49 |
+* Use Autoconf's ${docdir} and ${htmldir} for installing |
50 |
+ the documentation. This makes handling documentation |
51 |
+ easier and respects user choice. |
52 |
+--- |
53 |
+ Makefile.in | 41 +++++++++++++++++++++-------------------- |
54 |
+ doc/Makefile.in | 13 ++++++++----- |
55 |
+ 2 files changed, 29 insertions(+), 25 deletions(-) |
56 |
+ |
57 |
+diff --git a/Makefile.in b/Makefile.in |
58 |
+index a48d980..e7f01e4 100644 |
59 |
+--- a/Makefile.in |
60 |
++++ b/Makefile.in |
61 |
+@@ -20,6 +20,7 @@ datarootdir = @datarootdir@ |
62 |
+ |
63 |
+ CC = @CC@ |
64 |
+ CFLAGS = @CFLAGS@ |
65 |
++CPPFLAGS = @CPPFLAGS@ |
66 |
+ BUILD_CFLAGS = $(CFLAGS) @DEFS@ |
67 |
+ INTERNAL_CFLAGS = -I$(srcdir) -I$(objdir) \ |
68 |
+ -I$(srcdir)/include -I$(objdir)/include \ |
69 |
+@@ -72,13 +73,13 @@ endif |
70 |
+ .PHONY: manpages nsis |
71 |
+ |
72 |
+ .c.$(O): |
73 |
+- $(CC) -c $(ALL_CFLAGS) -o $@ $< |
74 |
++ $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $< |
75 |
+ |
76 |
+ .c.s: |
77 |
+- $(CC) -S $(ALL_CFLAGS) -o $@ $< |
78 |
++ $(CC) -S $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $< |
79 |
+ |
80 |
+ .c.i: |
81 |
+- $(CC) -E $(ALL_CFLAGS) -o $@ $< |
82 |
++ $(CC) -E $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $< |
83 |
+ |
84 |
+ .txt.xml: |
85 |
+ $(ASCIIDOC) -b docbook -d manpage -o $@ $< |
86 |
+@@ -88,7 +89,7 @@ endif |
87 |
+ |
88 |
+ # This rule is only used for rdoff, to allow common rules |
89 |
+ .$(O)$(X): |
90 |
+- $(CC) $(LDFLAGS) -o $@ $< $(RDFLIB) $(NASMLIB) $(LIBS) |
91 |
++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $< $(RDFLIB) $(NASMLIB) $(LIBS) |
92 |
+ |
93 |
+ #-- Begin File Lists --# |
94 |
+ NASM = asm/nasm.$(O) |
95 |
+@@ -152,10 +153,10 @@ $(NASMLIB): $(LIBOBJ) |
96 |
+ $(RANLIB) $(NASMLIB) |
97 |
+ |
98 |
+ nasm$(X): $(NASM) $(NASMLIB) |
99 |
+- $(CC) $(LDFLAGS) -o nasm$(X) $(NASM) $(NASMLIB) $(LIBS) |
100 |
++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o nasm$(X) $(NASM) $(NASMLIB) $(LIBS) |
101 |
+ |
102 |
+ ndisasm$(X): $(NDISASM) $(NASMLIB) |
103 |
+- $(CC) $(LDFLAGS) -o ndisasm$(X) $(NDISASM) $(NASMLIB) $(LIBS) |
104 |
++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o ndisasm$(X) $(NDISASM) $(NASMLIB) $(LIBS) |
105 |
+ |
106 |
+ #-- Begin Generated File Rules --# |
107 |
+ |
108 |
+@@ -335,12 +336,12 @@ nsis: nsis/nasm.nsi nsis/arch.nsh nsis/version.nsh |
109 |
+ manpages: nasm.1 ndisasm.1 |
110 |
+ |
111 |
+ install: nasm$(X) ndisasm$(X) |
112 |
+- $(MKDIR) -p $(INSTALLROOT)$(bindir) |
113 |
+- $(INSTALL_PROGRAM) nasm$(X) $(INSTALLROOT)$(bindir)/nasm$(X) |
114 |
+- $(INSTALL_PROGRAM) ndisasm$(X) $(INSTALLROOT)$(bindir)/ndisasm$(X) |
115 |
+- $(MKDIR) -p $(INSTALLROOT)$(mandir)/man1 |
116 |
+- $(INSTALL_DATA) $(srcdir)/nasm.1 $(INSTALLROOT)$(mandir)/man1/nasm.1 |
117 |
+- $(INSTALL_DATA) $(srcdir)/ndisasm.1 $(INSTALLROOT)$(mandir)/man1/ndisasm.1 |
118 |
++ $(MKDIR) -p $(DESTDIR)$(bindir) |
119 |
++ $(INSTALL_PROGRAM) nasm$(X) $(DESTDIR)$(bindir)/nasm$(X) |
120 |
++ $(INSTALL_PROGRAM) ndisasm$(X) $(DESTDIR)$(bindir)/ndisasm$(X) |
121 |
++ $(MKDIR) -p $(DESTDIR)$(mandir)/man1 |
122 |
++ $(INSTALL_DATA) $(srcdir)/nasm.1 $(DESTDIR)$(mandir)/man1/nasm.1 |
123 |
++ $(INSTALL_DATA) $(srcdir)/ndisasm.1 $(DESTDIR)$(mandir)/man1/ndisasm.1 |
124 |
+ |
125 |
+ clean: |
126 |
+ for d in . $(SUBDIRS) $(XSUBDIRS); do \ |
127 |
+@@ -364,7 +365,7 @@ distclean: clean |
128 |
+ |
129 |
+ cleaner: clean |
130 |
+ $(RM_F) $(PERLREQ) *.1 nasm.spec |
131 |
+- cd doc && $(MAKE) clean |
132 |
++ $(MAKE) -C doc clean |
133 |
+ |
134 |
+ spotless: distclean cleaner |
135 |
+ $(RM_F) doc/Makefile |
136 |
+@@ -386,23 +387,23 @@ cscope: |
137 |
+ cscope -b -f cscope.out |
138 |
+ |
139 |
+ rdf_install install_rdf install_rdoff: |
140 |
+- $(MKDIR) -p $(INSTALLROOT)$(bindir) |
141 |
++ $(MKDIR) -p $(DESTDIR)$(bindir) |
142 |
+ for f in $(RDFPROGS); do \ |
143 |
+- $(INSTALL_PROGRAM) "$$f" '$(INSTALLROOT)$(bindir)'/ ; \ |
144 |
++ $(INSTALL_PROGRAM) "$$f" '$(DESTDIR)$(bindir)'/ ; \ |
145 |
+ done |
146 |
+- cd '$(INSTALLROOT)$(bindir)' && \ |
147 |
++ cd '$(DESTDIR)$(bindir)' && \ |
148 |
+ for f in $(RDF2BINLINKS); do \ |
149 |
+ bn=`basename "$$f"` && $(RM_F) "$$bn" && \ |
150 |
+ $(LN_S) rdf2bin$(X) "$$bn" ; \ |
151 |
+ done |
152 |
+- $(MKDIR) -p $(INSTALLROOT)$(mandir)/man1 |
153 |
+- $(INSTALL_DATA) $(srcdir)/rdoff/*.1 $(INSTALLROOT)$(mandir)/man1/ |
154 |
++ $(MKDIR) -p $(DESTDIR)$(mandir)/man1 |
155 |
++ $(INSTALL_DATA) $(srcdir)/rdoff/*.1 $(DESTDIR)$(mandir)/man1/ |
156 |
+ |
157 |
+ doc: |
158 |
+- cd doc && $(MAKE) all |
159 |
++ $(MAKE) -C doc all |
160 |
+ |
161 |
+ doc_install install_doc: |
162 |
+- cd doc && $(MAKE) install |
163 |
++ $(MAKE) -C doc install |
164 |
+ |
165 |
+ everything: all manpages doc rdf |
166 |
+ |
167 |
+diff --git a/doc/Makefile.in b/doc/Makefile.in |
168 |
+index 2ddfd1e..261a791 100644 |
169 |
+--- a/doc/Makefile.in |
170 |
++++ b/doc/Makefile.in |
171 |
+@@ -9,7 +9,8 @@ prefix = @prefix@ |
172 |
+ exec_prefix = @exec_prefix@ |
173 |
+ bindir = @bindir@ |
174 |
+ mandir = @mandir@ |
175 |
+-docdir = $(prefix)/doc/nasm |
176 |
++docdir = @docdir@ |
177 |
++htmldir = @htmldir@ |
178 |
+ infodir = @infodir@ |
179 |
+ datarootdir = @datarootdir@ |
180 |
+ |
181 |
+@@ -21,6 +22,7 @@ PERL = perl -I$(srcdir) |
182 |
+ |
183 |
+ PDFOPT = @PDFOPT@ |
184 |
+ |
185 |
++MKDIR = mkdir |
186 |
+ RM_F = rm -f |
187 |
+ RM_RF = rm -rf |
188 |
+ CP_F = cp -f |
189 |
+@@ -41,7 +43,7 @@ inslist.src: inslist.pl ../x86/insns.dat |
190 |
+ |
191 |
+ .PHONY: html |
192 |
+ html: $(HTMLAUX) |
193 |
+- mkdir -p html |
194 |
++ $(MKDIR) -p html |
195 |
+ for f in $(HTMLAUX); do $(CP_UF) "$(srcdir)/$$f" html/; done |
196 |
+ $(MAKE) html/nasmdoc0.html |
197 |
+ |
198 |
+@@ -81,6 +83,7 @@ spotless: clean |
199 |
+ -$(RM_F) *.hlp nasmdoc.txt *.inf *.pdf *.dvi |
200 |
+ |
201 |
+ install: all |
202 |
+- mkdir -p $(INSTALLROOT)$(docdir)/html |
203 |
+- $(INSTALL_DATA) html/* $(INSTALLROOT)$(docdir)/html |
204 |
+- $(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(INSTALLROOT)$(docdir) |
205 |
++ $(MKDIR) -p $(DESTDIR)$(htmldir) |
206 |
++ $(INSTALL_DATA) html/* $(DESTDIR)$(htmldir) |
207 |
++ $(MKDIR) -p $(DESTDIR)$(docdir) |
208 |
++ $(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir) |
209 |
+-- |
210 |
+2.13.2 |
211 |
+ |
212 |
|
213 |
diff --git a/dev-lang/nasm/metadata.xml b/dev-lang/nasm/metadata.xml |
214 |
index d1959dc35a8..5f522331eb9 100644 |
215 |
--- a/dev-lang/nasm/metadata.xml |
216 |
+++ b/dev-lang/nasm/metadata.xml |
217 |
@@ -15,6 +15,6 @@ Pentium, P6, MMX, 3DNow!, SSE and SSE2 opcodes, and has macro capability. |
218 |
</longdescription> |
219 |
<upstream> |
220 |
<remote-id type="sourceforge">nasm</remote-id> |
221 |
- <bugs-to>https://bugzilla.nasm.us/</bugs-to> |
222 |
+ <bugs-to>https://bugzilla.nasm.us/</bugs-to> |
223 |
</upstream> |
224 |
</pkgmetadata> |
225 |
|
226 |
diff --git a/dev-lang/nasm/nasm-2.13.01.ebuild b/dev-lang/nasm/nasm-2.13.01.ebuild |
227 |
new file mode 100644 |
228 |
index 00000000000..6fc9f52cb0a |
229 |
--- /dev/null |
230 |
+++ b/dev-lang/nasm/nasm-2.13.01.ebuild |
231 |
@@ -0,0 +1,44 @@ |
232 |
+# Copyright 1999-2017 Gentoo Foundation |
233 |
+# Distributed under the terms of the GNU General Public License v2 |
234 |
+ |
235 |
+EAPI=6 |
236 |
+ |
237 |
+inherit flag-o-matic |
238 |
+ |
239 |
+DESCRIPTION="groovy little assembler" |
240 |
+HOMEPAGE="http://www.nasm.us/" |
241 |
+SRC_URI="http://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz" |
242 |
+ |
243 |
+LICENSE="BSD-2" |
244 |
+SLOT="0" |
245 |
+KEYWORDS="~amd64 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos" |
246 |
+IUSE="doc" |
247 |
+ |
248 |
+DEPEND=" |
249 |
+ dev-lang/perl |
250 |
+ doc? ( |
251 |
+ app-text/ghostscript-gpl |
252 |
+ dev-perl/Font-TTF |
253 |
+ dev-perl/Sort-Versions |
254 |
+ media-fonts/clearsans |
255 |
+ virtual/perl-File-Spec |
256 |
+ ) |
257 |
+" |
258 |
+ |
259 |
+S=${WORKDIR}/${P/_} |
260 |
+PATCHES=( "${FILESDIR}"/${PN}-2.13.01-fix-docdir.patch ) |
261 |
+ |
262 |
+src_configure() { |
263 |
+ strip-flags |
264 |
+ default |
265 |
+} |
266 |
+ |
267 |
+src_compile() { |
268 |
+ default |
269 |
+ use doc && emake doc |
270 |
+} |
271 |
+ |
272 |
+src_install() { |
273 |
+ default |
274 |
+ emake DESTDIR="${D}" install_rdf $(usex doc install_doc '') |
275 |
+} |