Page MenuHomeFreeBSD

New port: devel/llbuild
ClosedPublic

Authored by jonathan on Nov 4 2016, 12:34 AM.
Tags
None
Referenced Files
F103014683: D8439.id32599.diff
Tue, Nov 19, 8:32 PM
Unknown Object (File)
Fri, Nov 15, 2:47 AM
Unknown Object (File)
Mon, Nov 11, 7:56 AM
Unknown Object (File)
Fri, Nov 8, 2:28 PM
Unknown Object (File)
Thu, Nov 7, 8:22 AM
Unknown Object (File)
Wed, Nov 6, 3:27 PM
Unknown Object (File)
Wed, Nov 6, 4:51 AM
Unknown Object (File)
Sat, Nov 2, 8:19 PM
Subscribers

Details

Summary

llbuild is a set of libraries for building build systems. Unlike most
build system projects which focus on the syntax for describing the
build, llbuild is designed around a reusable, flexible, and scalable
general purpose build engine capable of solving many "build system"-like
problems. The project also includes additional libraries on top of that
engine which provide support for constructing bespoke build systems
(like swift build) or for building from Ninja manifests.

WWW: https://github.com/apple/switch-llbuild

Diff Detail

Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 12131
Build 12432: arc lint + arc unit

Event Timeline

jonathan retitled this revision from to New port: devel/llbuild.
jonathan updated this object.
jonathan edited the test plan for this revision. (Show Details)
jonathan added a reviewer: portmgr.
mat added inline comments.
devel/llbuild/Makefile
14

LICENSE_FILE without a LICENSE defined makes no sense :-)

28

should be post-install-DOCS-on

jonathan marked an inline comment as done.
  • Change post-stage to post-install for docs.
devel/llbuild/Makefile
14

I wasn't quite sure what to do here... the license is Apache 2.0, but with a runtime exception and with a couple of components under different licenses (e.g., embedded LLVM bits under UIUC license). Suggestions? :)

  • Fix typo: "swift-llbuild", not "switch-llbuild"!
devel/llbuild/Makefile
14

Friendly ping? :)

  • New port: devel/llbuild
  • Change post-stage to post-install for docs.
  • Fix typo: "swift-llbuild", not "switch-llbuild"!
  • Add the llbuild binary to the build and plist.
  • Fix licensing: use ports' multi-license support.

I think this might address all of the comments properly now?

devel/llbuild/Makefile
14

Ok, I have discovered how LICENSE_COMB works... does this look sensible?

devel/llbuild/Makefile
14

Mostly, LICENSE_FILE does nothing if there are more than one license though.

In this case, LICENSE_FILE describes the Apache license but it also describes which bits of the sources fall under different licenses. Under those conditions, does it make sense to keep?

  • New port: devel/llbuild
  • Change post-stage to post-install for docs.
  • Fix typo: "swift-llbuild", not "switch-llbuild"!
  • Add the llbuild binary to the build and plist.
  • Fix licensing: use ports' multi-license support.
  • Fix license: ports tree calls "LLVM" "NCSA".
  • Update to use lit from llvm-devel

In this case, LICENSE_FILE describes the Apache license but it also describes which bits of the sources fall under different licenses. Under those conditions, does it make sense to keep?

No, what I mean is that if there is more than one license, the LICENSE_FILE variable is not used at all. You need to use LICENSE_FILE_xxx where xxx is the license name.

  • Move USES above USE_GITHUB.
  • Merge 'origin/master' into llbuild

Ok, I think that's everything now?

devel/llbuild/Makefile
5

This is quite awful, it generates a PKGNAME of llbuild-s.d.s.2016.11.01.a.

Maybe it could be a bit saner by doing:

​DISTVERSIONPREFIX= swift-DEVELOPMENT-
​DISTVERSION= SNAPSHOT-2016-11-01
​DISTVERSIONSUFFIX= -a

which will change PKGNAME to llbuild-s.2016.11.01

  • De-uglify version number using DISTVERSIONPREFIX.
jonathan added inline comments.
devel/llbuild/Makefile
5

That's an excellent point. :)

I think this takes care of it?

The distfiles aren't fetching correctly for me:

===>  License APACHE20 BSD3CLAUSE NCSA accepted by the user
===>   llbuild-s.2016.11.01 depends on file: /usr/local/sbin/pkg - found
=> apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz doesn't seem to exist in /portdistfiles/.
=> Attempting to fetch https://codeload.github.com/apple/swift-llbuild/tar.gz/swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a?dummy=/apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz
fetch: https://codeload.github.com/apple/swift-llbuild/tar.gz/swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a?dummy=/apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz: size unknown
fetch: https://codeload.github.com/apple/swift-llbuild/tar.gz/swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a?dummy=/apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz: size of remote file is not known
apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0           0  B    0  Bps
=> Fetched file size mismatch (expected 4718056, actual 4718070)
=> Trying next site
=> Attempting to fetch http://distcache.FreeBSD.org/ports-distfiles/apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz
fetch: http://distcache.FreeBSD.org/ports-distfiles/apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz: Not Found
=> Attempting to fetch |/usr/games/randomapple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz
fetch: |/usr/games/randomapple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz: Invalid URL scheme
=> Attempting to fetch -wapple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz
fetch: invalid delay (apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz)
=> Attempting to fetch -fapple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz
usage: fetch [-146AadFlMmnPpqRrsUv] [-B bytes] [--bind-address=host]
       [--ca-cert=file] [--ca-path=dir] [--cert=file] [--crl=file]
       [-i file] [--key=file] [-N file] [--no-passive] [--no-proxy=list]
       [--no-sslv3] [--no-tlsv1] [--no-verify-hostname] [--no-verify-peer]
       [-o file] [--referer=URL] [-S bytes] [-T seconds]
       [--user-agent=agent-string] [-w seconds] URL ...
       fetch [-146AadFlMmnPpqRrsUv] [-B bytes] [--bind-address=host]
       [--ca-cert=file] [--ca-path=dir] [--cert=file] [--crl=file]
       [-i file] [--key=file] [-N file] [--no-passive] [--no-proxy=list]
       [--no-sslv3] [--no-tlsv1] [--no-verify-hostname] [--no-verify-peer]
       [-o file] [--referer=URL] [-S bytes] [-T seconds]
       [--user-agent=agent-string] [-w seconds] -h host -f file [-c dir]
=> Attempting to fetch -apple-swift-llbuild-swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a_GH0.tar.gz
fetch: invalid option -- e
usage: fetch [-146AadFlMmnPpqRrsUv] [-B bytes] [--bind-address=host]
       [--ca-cert=file] [--ca-path=dir] [--cert=file] [--crl=file]
       [-i file] [--key=file] [-N file] [--no-passive] [--no-proxy=list]
       [--no-sslv3] [--no-tlsv1] [--no-verify-hostname] [--no-verify-peer]
       [-o file] [--referer=URL] [-S bytes] [-T seconds]
       [--user-agent=agent-string] [-w seconds] URL ...
       fetch [-146AadFlMmnPpqRrsUv] [-B bytes] [--bind-address=host]
       [--ca-cert=file] [--ca-path=dir] [--cert=file] [--crl=file]
       [-i file] [--key=file] [-N file] [--no-passive] [--no-proxy=list]
       [--no-sslv3] [--no-tlsv1] [--no-verify-hostname] [--no-verify-peer]
       [-o file] [--referer=URL] [-S bytes] [-T seconds]
       [--user-agent=agent-string] [-w seconds] -h host -f file [-c dir]
=> Couldn't fetch it - please try to retrieve this
=> port manually into /portdistfiles/ and try again.
*** Error code 1
This revision is now accepted and ready to land.Oct 26 2017, 2:59 PM
This revision was automatically updated to reflect the committed changes.