New port: devel/llbuild
ClosedPublic

Authored by jonathan on Nov 4 2016, 12:34 AM.

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

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
jonathan retitled this revision from to New port: devel/llbuild.Nov 4 2016, 12:34 AM
jonathan updated this object.
jonathan edited the test plan for this revision. (Show Details)
jonathan added a reviewer: portmgr.
mat added a subscriber: mat.Nov 4 2016, 8:16 AM
mat added inline comments.
devel/llbuild/Makefile
13 ↗(On Diff #21986)

LICENSE_FILE without a LICENSE defined makes no sense :-)

27 ↗(On Diff #21986)

should be post-install-DOCS-on

jonathan updated this revision to Diff 22009.Nov 5 2016, 6:37 AM
jonathan marked an inline comment as done.
  • Change post-stage to post-install for docs.
devel/llbuild/Makefile
13 ↗(On Diff #21986)

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? :)

jonathan updated this revision to Diff 22010.Nov 5 2016, 6:39 AM
  • Fix typo: "swift-llbuild", not "switch-llbuild"!
jonathan added inline comments.Nov 10 2016, 5:33 PM
devel/llbuild/Makefile
13 ↗(On Diff #21986)

Friendly ping? :)

jonathan updated this revision to Diff 22434.Nov 22 2016, 2:31 PM
  • 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.
jonathan marked 3 inline comments as done.Nov 22 2016, 2:32 PM

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

devel/llbuild/Makefile
13 ↗(On Diff #21986)

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

mat added inline comments.Nov 23 2016, 4:43 PM
devel/llbuild/Makefile
13 ↗(On Diff #21986)

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?

jonathan updated this revision to Diff 32599.Sep 1 2017, 7:15 PM
  • 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
mat added a comment.Sep 4 2017, 1:51 PM

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.

jonathan updated this revision to Diff 32845.Sep 9 2017, 1:51 PM
  • Move USES above USE_GITHUB.
  • Merge 'origin/master' into llbuild
jonathan marked 2 inline comments as done.Sep 9 2017, 5:09 PM

Ok, I think that's everything now?

mat added inline comments.Sep 11 2017, 8:04 PM
devel/llbuild/Makefile
4 ↗(On Diff #32845)

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

jonathan updated this revision to Diff 34158.Oct 19 2017, 10:16 PM
  • De-uglify version number using DISTVERSIONPREFIX.
jonathan marked an inline comment as done.Oct 19 2017, 10:18 PM
jonathan added inline comments.
devel/llbuild/Makefile
4 ↗(On Diff #32845)

That's an excellent point. :)

I think this takes care of it?

jonathan marked 2 inline comments as done.Oct 20 2017, 3:40 PM

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
mat accepted this revision.Thu, Oct 26, 2:59 PM
This revision is now accepted and ready to land.Thu, Oct 26, 2:59 PM
Closed by commit rP452958: New port: devel/llbuild (authored by jonathan, committed by ). · Explain WhyThu, Oct 26, 10:34 PM
This revision was automatically updated to reflect the committed changes.