commit:     b7a831e509fcfc0300fc6d026de2c65934667fe3
Author:     Louis Sautier <sautier.louis <AT> gmail <DOT> com>
AuthorDate: Thu Jun 15 19:14:42 2017 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Jul  2 03:05:18 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7a831e5

dev-lang/nasm: bump to 2.13.01, EAPI=6, fix doc dependencies

Bug: https://bugs.gentoo.org/show_bug.cgi?id=619360
Closes: https://github.com/gentoo/gentoo/pull/4938
Package-Manager: Portage-2.3.6, Repoman-2.3.2

 dev-lang/nasm/Manifest                            |   1 +
 dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch | 177 ++++++++++++++++++++++
 dev-lang/nasm/metadata.xml                        |   2 +-
 dev-lang/nasm/nasm-2.13.01.ebuild                 |  44 ++++++
 4 files changed, 223 insertions(+), 1 deletion(-)

diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest
index cee747eb470..84c99cdef65 100644
--- a/dev-lang/nasm/Manifest
+++ b/dev-lang/nasm/Manifest
@@ -1,2 +1,3 @@
 DIST nasm-2.11.08.tar.xz 764872 SHA256 
c99467c7072211c550d147640d8a1a0aa4d636d4d8cf849f3bf4317d900a1f7f SHA512 
f7caf42d0fe1b850de13180a1f363e34a6d44a02696312dd8f12f4116ad1c1f3d01e6606c3a79fb881e76fc70d20894d85b333c84a75d60265ff9551f7b8cde4
 WHIRLPOOL 
d13f342d59aedf2510347f847a2f5fb276a3bdb9e7b8c5cac6ac4e204a03ea31e477adc19facbf68f939245aae72971b232f1a0fc461ef554458f8956403c623
 DIST nasm-2.12.01.tar.xz 780112 SHA256 
9dbba1ce620512e435ba57e69e811fe8e07d04359e47e0a0b5e94a5dd8367489 SHA512 
c016b2b26f2ef00fe8de673dc7b2effa55ddd23d1f15145380c2767a2cd4a5c60c77732faebcd5868b325f780c0bf76a5e0c49eb6189609b21e2493d2af9347c
 WHIRLPOOL 
4659275043c947461a03450efe184a425019aa99b30607c33b1dd302dd02091a9f1dfaf80382c4466b7df295bc09add6ad9587e3050ea4567a4605f956e1bcdd
+DIST nasm-2.13.01.tar.xz 800244 SHA256 
aa0213008f0433ecbe07bb628506a5c4be8079be20fc3532a5031fd639db9a5e SHA512 
6561a2efb3ffea77a1a8cd364edf1ecedb2c14e1902469d7c59d743f25ca612529113d1099818abbe0a9f2592f12604f1810855bbdf8dc9de3648094a83529ae
 WHIRLPOOL 
dfc7018acfb51cdd3988da6abd157a29d72fdcd233862de4eb09debd65560280a0d7a7aa8f76f0e0c546861272d533f57d3dacd52add16a894dbc026a913d1c5

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
new file mode 100644
index 00000000000..aaedc404a20
--- /dev/null
+++ b/dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch
@@ -0,0 +1,177 @@
+From 1c369c46fd2cceeb6abe46b89fc539960a6c0c88 Mon Sep 17 00:00:00 2001
+From: David Seifert <[email protected]>
+Date: Sat, 1 Jul 2017 19:42:50 -0700
+Subject: [PATCH] Make buildsystem respect GNU conventions
+
+* CPPFLAGS is a user variable and should be respected
+  when compiling .c files. Think of -D_FORTIFY_SOURCE=2.
+* Pass ALL_CFLAGS when linking too. This is recommended
+  for certain edge cases (-flto)
+* Use DESTDIR instead of INSTALLROOT for staging dir
+  Every other build system (Automake, CMake, Meson) uses
+  DESTDIR. This integrates better into distro and other
+  build systems that have standard hooks for DESTDIR.
+* $(MAKE) -C <dir> is better than cd'ing into a <dir>
+* Use Autoconf's ${docdir} and ${htmldir} for installing
+  the documentation. This makes handling documentation
+  easier and respects user choice.
+---
+ Makefile.in     | 41 +++++++++++++++++++++--------------------
+ doc/Makefile.in | 13 ++++++++-----
+ 2 files changed, 29 insertions(+), 25 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index a48d980..e7f01e4 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -20,6 +20,7 @@ datarootdir  = @datarootdir@
+ 
+ CC            = @CC@
+ CFLAGS                = @CFLAGS@
++CPPFLAGS      = @CPPFLAGS@
+ BUILD_CFLAGS  = $(CFLAGS) @DEFS@
+ INTERNAL_CFLAGS = -I$(srcdir) -I$(objdir) \
+                 -I$(srcdir)/include -I$(objdir)/include \
+@@ -72,13 +73,13 @@ endif
+ .PHONY: manpages nsis
+ 
+ .c.$(O):
+-      $(CC) -c $(ALL_CFLAGS) -o $@ $<
++      $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
+ 
+ .c.s:
+-      $(CC) -S $(ALL_CFLAGS) -o $@ $<
++      $(CC) -S $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
+ 
+ .c.i:
+-      $(CC) -E $(ALL_CFLAGS) -o $@ $<
++      $(CC) -E $(CPPFLAGS) $(ALL_CFLAGS) -o $@ $<
+ 
+ .txt.xml:
+       $(ASCIIDOC) -b docbook -d manpage -o $@ $<
+@@ -88,7 +89,7 @@ endif
+ 
+ # This rule is only used for rdoff, to allow common rules
+ .$(O)$(X):
+-      $(CC) $(LDFLAGS) -o $@ $< $(RDFLIB) $(NASMLIB) $(LIBS)
++      $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $< $(RDFLIB) $(NASMLIB) $(LIBS)
+ 
+ #-- Begin File Lists --#
+ NASM =        asm/nasm.$(O)
+@@ -152,10 +153,10 @@ $(NASMLIB): $(LIBOBJ)
+       $(RANLIB) $(NASMLIB)
+ 
+ nasm$(X): $(NASM) $(NASMLIB)
+-      $(CC) $(LDFLAGS) -o nasm$(X) $(NASM) $(NASMLIB) $(LIBS)
++      $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o nasm$(X) $(NASM) $(NASMLIB) $(LIBS)
+ 
+ ndisasm$(X): $(NDISASM) $(NASMLIB)
+-      $(CC) $(LDFLAGS) -o ndisasm$(X) $(NDISASM) $(NASMLIB) $(LIBS)
++      $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o ndisasm$(X) $(NDISASM) $(NASMLIB) 
$(LIBS)
+ 
+ #-- Begin Generated File Rules --#
+ 
+@@ -335,12 +336,12 @@ nsis: nsis/nasm.nsi nsis/arch.nsh nsis/version.nsh
+ manpages: nasm.1 ndisasm.1
+ 
+ install: nasm$(X) ndisasm$(X)
+-      $(MKDIR) -p $(INSTALLROOT)$(bindir)
+-      $(INSTALL_PROGRAM) nasm$(X) $(INSTALLROOT)$(bindir)/nasm$(X)
+-      $(INSTALL_PROGRAM) ndisasm$(X) $(INSTALLROOT)$(bindir)/ndisasm$(X)
+-      $(MKDIR) -p $(INSTALLROOT)$(mandir)/man1
+-      $(INSTALL_DATA) $(srcdir)/nasm.1 $(INSTALLROOT)$(mandir)/man1/nasm.1
+-      $(INSTALL_DATA) $(srcdir)/ndisasm.1 
$(INSTALLROOT)$(mandir)/man1/ndisasm.1
++      $(MKDIR) -p $(DESTDIR)$(bindir)
++      $(INSTALL_PROGRAM) nasm$(X) $(DESTDIR)$(bindir)/nasm$(X)
++      $(INSTALL_PROGRAM) ndisasm$(X) $(DESTDIR)$(bindir)/ndisasm$(X)
++      $(MKDIR) -p $(DESTDIR)$(mandir)/man1
++      $(INSTALL_DATA) $(srcdir)/nasm.1 $(DESTDIR)$(mandir)/man1/nasm.1
++      $(INSTALL_DATA) $(srcdir)/ndisasm.1 $(DESTDIR)$(mandir)/man1/ndisasm.1
+ 
+ clean:
+       for d in . $(SUBDIRS) $(XSUBDIRS); do \
+@@ -364,7 +365,7 @@ distclean: clean
+ 
+ cleaner: clean
+       $(RM_F) $(PERLREQ) *.1 nasm.spec
+-      cd doc && $(MAKE) clean
++      $(MAKE) -C doc clean
+ 
+ spotless: distclean cleaner
+       $(RM_F) doc/Makefile
+@@ -386,23 +387,23 @@ cscope:
+       cscope -b -f cscope.out
+ 
+ rdf_install install_rdf install_rdoff:
+-      $(MKDIR) -p $(INSTALLROOT)$(bindir)
++      $(MKDIR) -p $(DESTDIR)$(bindir)
+       for f in $(RDFPROGS); do \
+-              $(INSTALL_PROGRAM) "$$f" '$(INSTALLROOT)$(bindir)'/ ; \
++              $(INSTALL_PROGRAM) "$$f" '$(DESTDIR)$(bindir)'/ ; \
+       done
+-      cd '$(INSTALLROOT)$(bindir)' && \
++      cd '$(DESTDIR)$(bindir)' && \
+       for f in $(RDF2BINLINKS); do \
+               bn=`basename "$$f"` && $(RM_F) "$$bn" && \
+               $(LN_S) rdf2bin$(X) "$$bn" ; \
+       done
+-      $(MKDIR) -p $(INSTALLROOT)$(mandir)/man1
+-      $(INSTALL_DATA) $(srcdir)/rdoff/*.1 $(INSTALLROOT)$(mandir)/man1/
++      $(MKDIR) -p $(DESTDIR)$(mandir)/man1
++      $(INSTALL_DATA) $(srcdir)/rdoff/*.1 $(DESTDIR)$(mandir)/man1/
+ 
+ doc:
+-      cd doc && $(MAKE) all
++      $(MAKE) -C doc all
+ 
+ doc_install install_doc:
+-      cd doc && $(MAKE) install
++      $(MAKE) -C doc install
+ 
+ everything: all manpages doc rdf
+ 
+diff --git a/doc/Makefile.in b/doc/Makefile.in
+index 2ddfd1e..261a791 100644
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -9,7 +9,8 @@ prefix         = @prefix@
+ exec_prefix   = @exec_prefix@
+ bindir                = @bindir@
+ mandir                = @mandir@
+-docdir                = $(prefix)/doc/nasm
++docdir                = @docdir@
++htmldir               = @htmldir@
+ infodir               = @infodir@
+ datarootdir   = @datarootdir@
+ 
+@@ -21,6 +22,7 @@ PERL         = perl -I$(srcdir)
+ 
+ PDFOPT                = @PDFOPT@
+ 
++MKDIR         = mkdir
+ RM_F          = rm -f
+ RM_RF         = rm -rf
+ CP_F          = cp -f
+@@ -41,7 +43,7 @@ inslist.src: inslist.pl ../x86/insns.dat
+ 
+ .PHONY: html
+ html: $(HTMLAUX)
+-      mkdir -p html
++      $(MKDIR) -p html
+       for f in $(HTMLAUX); do $(CP_UF) "$(srcdir)/$$f" html/; done
+       $(MAKE) html/nasmdoc0.html
+ 
+@@ -81,6 +83,7 @@ spotless: clean
+       -$(RM_F) *.hlp nasmdoc.txt *.inf *.pdf *.dvi
+ 
+ install: all
+-      mkdir -p $(INSTALLROOT)$(docdir)/html
+-      $(INSTALL_DATA) html/* $(INSTALLROOT)$(docdir)/html
+-      $(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(INSTALLROOT)$(docdir)
++      $(MKDIR) -p $(DESTDIR)$(htmldir)
++      $(INSTALL_DATA) html/* $(DESTDIR)$(htmldir)
++      $(MKDIR) -p $(DESTDIR)$(docdir)
++      $(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir)
+-- 
+2.13.2
+

diff --git a/dev-lang/nasm/metadata.xml b/dev-lang/nasm/metadata.xml
index d1959dc35a8..5f522331eb9 100644
--- a/dev-lang/nasm/metadata.xml
+++ b/dev-lang/nasm/metadata.xml
@@ -15,6 +15,6 @@ Pentium, P6, MMX, 3DNow!, SSE and SSE2 opcodes, and has macro 
capability.
   </longdescription>
   <upstream>
     <remote-id type="sourceforge">nasm</remote-id>
-       <bugs-to>https://bugzilla.nasm.us/</bugs-to>
+    <bugs-to>https://bugzilla.nasm.us/</bugs-to>
   </upstream>
 </pkgmetadata>

diff --git a/dev-lang/nasm/nasm-2.13.01.ebuild 
b/dev-lang/nasm/nasm-2.13.01.ebuild
new file mode 100644
index 00000000000..6fc9f52cb0a
--- /dev/null
+++ b/dev-lang/nasm/nasm-2.13.01.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic
+
+DESCRIPTION="groovy little assembler"
+HOMEPAGE="http://www.nasm.us/";
+SRC_URI="http://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz";
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc"
+
+DEPEND="
+       dev-lang/perl
+       doc? (
+               app-text/ghostscript-gpl
+               dev-perl/Font-TTF
+               dev-perl/Sort-Versions
+               media-fonts/clearsans
+               virtual/perl-File-Spec
+       )
+"
+
+S=${WORKDIR}/${P/_}
+PATCHES=( "${FILESDIR}"/${PN}-2.13.01-fix-docdir.patch )
+
+src_configure() {
+       strip-flags
+       default
+}
+
+src_compile() {
+       default
+       use doc && emake doc
+}
+
+src_install() {
+       default
+       emake DESTDIR="${D}" install_rdf $(usex doc install_doc '')
+}

Reply via email to