[Midnightbsd-cvs] mports [15472] trunk/devel: add ninja build system port.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Sep 18 21:41:53 EDT 2013


Revision: 15472
          http://svnweb.midnightbsd.org/mports/?rev=15472
Author:   laffer1
Date:     2013-09-18 21:41:52 -0400 (Wed, 18 Sep 2013)
Log Message:
-----------
add ninja build system port.

Modified Paths:
--------------
    trunk/devel/Makefile

Added Paths:
-----------
    trunk/devel/ninja/
    trunk/devel/ninja/Makefile
    trunk/devel/ninja/distinfo
    trunk/devel/ninja/files/
    trunk/devel/ninja/files/patch-configure.py
    trunk/devel/ninja/files/patch-platform_helper.py
    trunk/devel/ninja/files/patch-src__manifest_parser.cc
    trunk/devel/ninja/pkg-descr

Modified: trunk/devel/Makefile
===================================================================
--- trunk/devel/Makefile	2013-09-19 01:23:37 UTC (rev 15471)
+++ trunk/devel/Makefile	2013-09-19 01:41:52 UTC (rev 15472)
@@ -196,6 +196,7 @@
 SUBDIR += nasm
 SUBDIR += ncurses
 SUBDIR += newt
+SUBDIR += ninja
 SUBDIR += nspr
 SUBDIR += oaf
 SUBDIR += objcunit

Added: trunk/devel/ninja/Makefile
===================================================================
--- trunk/devel/ninja/Makefile	                        (rev 0)
+++ trunk/devel/ninja/Makefile	2013-09-19 01:41:52 UTC (rev 15472)
@@ -0,0 +1,38 @@
+# $MidnightBSD$
+
+PORTNAME=	ninja
+PORTVERSION=	1.3.4
+CATEGORIES=	devel
+
+MAINTAINER=	ports at MidnightBSD.org
+COMMENT=	Ninja is a small build system closest in spirit to Make
+
+LICENSE=	apache2
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	martine
+GH_TAGNAME=	v${PORTVERSION}
+GH_COMMIT=	045d008
+
+CONFLICTS=	irc/ninja-[0-9]*
+USE_PYTHON=	yes
+
+PLIST_FILES=	bin/ninja
+PORTDOCS=	COPYING HACKING.md README manual.asciidoc
+
+.include <bsd.mport.options.mk>
+
+do-build:
+	@(cd ${WRKSRC} && \
+		CXX=${CXX} CFLAGS="${CXXFLAGS}" ./bootstrap.py --verbose)
+
+do-install:
+	@${INSTALL_PROGRAM} ${WRKSRC}/ninja ${PREFIX}/bin
+.if ${PORT_OPTIONS:MDOCS}
+	@${MKDIR} ${DOCSDIR}
+	@(cd ${WRKSRC} && \
+	    ${INSTALL_DATA} COPYING HACKING.md README doc/manual.asciidoc \
+	    ${DOCSDIR})
+.endif
+
+.include <bsd.port.mk>


Property changes on: trunk/devel/ninja/Makefile
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/devel/ninja/distinfo
===================================================================
--- trunk/devel/ninja/distinfo	                        (rev 0)
+++ trunk/devel/ninja/distinfo	2013-09-19 01:41:52 UTC (rev 15472)
@@ -0,0 +1,2 @@
+SHA256 (ninja-1.3.4.tar.gz) = 592bc2f520da09fc5975539caf2786557f5c5a7fdb999b02ca821e1db1340b2c
+SIZE (ninja-1.3.4.tar.gz) = 148792

Added: trunk/devel/ninja/files/patch-configure.py
===================================================================
--- trunk/devel/ninja/files/patch-configure.py	                        (rev 0)
+++ trunk/devel/ninja/files/patch-configure.py	2013-09-19 01:41:52 UTC (rev 15472)
@@ -0,0 +1,11 @@
+--- configure.py.orig	2012-06-26 19:09:41.000000000 +0200
++++ configure.py	2012-06-26 19:09:54.000000000 +0200
+@@ -117,7 +117,7 @@
+         cflags += ['/Ox', '/DNDEBUG', '/GL']
+         ldflags += ['/LTCG', '/OPT:REF', '/OPT:ICF']
+ else:
+-    cflags = ['-g', '-Wall', '-Wextra',
++    cflags = ['-Wall', '-Wextra',
+               '-Wno-deprecated',
+               '-Wno-unused-parameter',
+               '-fno-rtti',

Added: trunk/devel/ninja/files/patch-platform_helper.py
===================================================================
--- trunk/devel/ninja/files/patch-platform_helper.py	                        (rev 0)
+++ trunk/devel/ninja/files/patch-platform_helper.py	2013-09-19 01:41:52 UTC (rev 15472)
@@ -0,0 +1,30 @@
+--- platform_helper.py.orig	2013-06-04 14:47:31.000000000 -0400
++++ platform_helper.py	2013-09-18 21:39:49.000000000 -0400
+@@ -18,7 +18,7 @@
+ import sys
+ 
+ def platforms():
+-    return ['linux', 'darwin', 'freebsd', 'openbsd', 'solaris', 'sunos5',
++    return ['linux', 'darwin', 'freebsd', 'midnightbsd', 'openbsd', 'solaris', 'sunos5',
+             'mingw', 'msvc', 'gnukfreebsd8']
+ 
+ class Platform( object ):
+@@ -33,6 +33,8 @@
+             self._platform = 'freebsd'
+         elif self._platform.startswith('gnukfreebsd8'):
+             self._platform = 'freebsd'
++        elif self._platform.startswith('midnightbsd'):
++            self._platform = 'midnightbsd'
+         elif self._platform.startswith('openbsd'):
+             self._platform = 'openbsd'
+         elif self._platform.startswith('solaris'):
+@@ -64,6 +66,9 @@
+     def is_freebsd(self):
+         return self._platform == 'freebsd'
+ 
++    def is_midnightbsd(self):
++        return self._platform == 'midnightbsd'
++
+     def is_openbsd(self):
+         return self._platform == 'openbsd'
+ 

Added: trunk/devel/ninja/files/patch-src__manifest_parser.cc
===================================================================
--- trunk/devel/ninja/files/patch-src__manifest_parser.cc	                        (rev 0)
+++ trunk/devel/ninja/files/patch-src__manifest_parser.cc	2013-09-19 01:41:52 UTC (rev 15472)
@@ -0,0 +1,10 @@
+--- ./src/manifest_parser.cc.orig	2013-06-04 20:47:31.000000000 +0200
++++ ./src/manifest_parser.cc	2013-09-06 16:58:05.243065037 +0200
+@@ -15,6 +15,7 @@
+ #include "manifest_parser.h"
+ 
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <vector>
+ 
+ #include "graph.h"

Added: trunk/devel/ninja/pkg-descr
===================================================================
--- trunk/devel/ninja/pkg-descr	                        (rev 0)
+++ trunk/devel/ninja/pkg-descr	2013-09-19 01:41:52 UTC (rev 15472)
@@ -0,0 +1,11 @@
+Ninja is yet another build system. It takes as input the interdependencies
+of files (typically source code and output executables) and orchestrates
+building them, quickly.
+
+Ninja joins a sea of other build systems. Its distinguishing goal is to be
+fast. It is born from my work on the Chromium browser project, which has
+over 30,000 source files and whose other build systems (including one built
+from custom non-recursive Makefiles) can take ten seconds to start building
+after changing one file. Ninja is under a second.
+
+WWW: https://github.com/martine/ninja



More information about the Midnightbsd-cvs mailing list