> On Jan 23, 2017, at 18:08, Sean Farley <s...@macports.org> wrote: > > Sean Farley (seanfarley) pushed a commit to branch master > in repository macports-ports. > > > https://github.com/macports/macports-ports/commit/ea02c6a2415087a43634f83653532c4aaf346a21 > > commit ea02c6a2415087a43634f83653532c4aaf346a21 > > Author: Sean Farley <s...@macports.org> > AuthorDate: Mon Jan 23 16:04:28 2017 -0800 > > > xcbuild: add new tool for xcode > > --- > devel/xcbuild/Portfile | 61 > ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 61 insertions(+) > > > diff --git a/devel/xcbuild/Portfile b/devel/xcbuild/Portfile > > new file mode 100644 > > index 0000000..958b72a > > --- /dev/null > > +++ b/devel/xcbuild/Portfile > > @@ -0,0 +1,61 @@ > > +# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; > c-basic-offset: 4 -*- vim:fenc=utf-8:ft=portfile:et:sw=4:ts=4:sts=4 > > + > > +PortSystem 1.0 > > +PortGroup cmake 1.0 > > +PortGroup github 1.0 > > + > > +github.setup facebook xcbuild 0.1.1 > > +categories devel > > +platforms darwin > > + > > +universal_variant no > > +license BSD > > +maintainers sean openmaintainer > > + > > +description xcbuild is an Xcode-compatible build tool with the goal > of \ > > + providing faster builds, better documentation of the > build \ > > + process and running on multiple platforms > > +long_description ${description} > > + > > +# Fetch from git instead of distfile because it needs submodules > > +fetch.type git > > + > > +depends_lib-append port:libpng \ > > + port:pkgconfig \ > > + port:zlib \ > > + port:libxml2 \ > > + port:cmake \ > > + port:ninja >
Does xcbuild really use pkgconfig, cmake and ninja at runtime as well? Usually they're only build-time dependencies. The cmake portgroup already adds cmake as a build-time dependency. > +post-fetch { > > + system -W "${worksrcpath}" "git submodule update --init" > > +} > > + > > +# use_configure no > > + > > +configure { > > + system -W "${worksrcpath}" "${configure.cmd} -G Ninja ${configure.args} > ${worksrcpath}" > > +} > > + > > +build { > > + system -W "${worksrcpath}" "ninja" > > +} > > + > > +destroot { > > + system -W "${worksrcpath}" "DESTDIR=${destroot} ninja install" > > +} It might be better to get support for ninja into the cmake portgroup, if ninja does really provide such great benefits, rather than override the standard phases. See https://trac.macports.org/ticket/47127 for that request. > +post-destroot { > > + move {*}[glob ${destroot}/usr/local/usr/bin/*] ${destroot}${prefix}/bin > > + move {*}[glob ${destroot}/usr/local/usr/lib/*] ${destroot}${prefix}/lib > > + move ${destroot}/usr/local/Library/Xcode ${destroot}${prefix}/Library > > + > > + # these files aren't needed on macos (they are built by the project for > > + # future work on linux) > > + delete ${destroot}${prefix}/bin/PlistBuddy > > + delete ${destroot}${prefix}/bin/lsbom > > + delete ${destroot}${prefix}/bin/plutil > > + delete ${destroot}${prefix}/bin/xcode-select > > + delete ${destroot}${prefix}/bin/xcodebuild > > + delete ${destroot}${prefix}/bin/xcrun > > +} > >