Skip to content

Commit

Permalink
dev-lang/nasm: bump to 2.13.01, EAPI=6, fix doc dependencies
Browse files Browse the repository at this point in the history
Bug: https://bugs.gentoo.org/show_bug.cgi?id=619360
Closes: gentoo#4938
Package-Manager: Portage-2.3.6, Repoman-2.3.2
  • Loading branch information
sbraz authored and SoapGentoo committed Jul 2, 2017
1 parent e941603 commit b7a831e
Show file tree
Hide file tree
Showing 4 changed files with 223 additions and 1 deletion.
1 change: 1 addition & 0 deletions dev-lang/nasm/Manifest
Original file line number Diff line number Diff line change
@@ -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
177 changes: 177 additions & 0 deletions dev-lang/nasm/files/nasm-2.13.01-fix-docdir.patch
Original file line number Diff line number Diff line change
@@ -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

2 changes: 1 addition & 1 deletion dev-lang/nasm/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
44 changes: 44 additions & 0 deletions dev-lang/nasm/nasm-2.13.01.ebuild
Original file line number Diff line number Diff line change
@@ -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 '')
}

0 comments on commit b7a831e

Please sign in to comment.