diff options
-rw-r--r-- | dev-lang/nasm/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch | 177 | ||||
-rw-r--r-- | dev-lang/nasm/metadata.xml | 2 | ||||
-rw-r--r-- | dev-lang/nasm/nasm-2.13.01.ebuild | 44 |
4 files changed, 223 insertions, 1 deletions
diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest index cee747eb4706..84c99cdef65a 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 000000000000..aaedc404a208 --- /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 <soap@gentoo.org> +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 d1959dc35a80..5f522331eb91 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 000000000000..6fc9f52cb0a1 --- /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 '') +} |