Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/nasm/, dev-lang/nasm/files/
Date: Sun, 02 Jul 2017 03:05:37
Message-Id: 1498964718.b7a831e509fcfc0300fc6d026de2c65934667fe3.soap@gentoo
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 +}