Page MenuHomeFreeBSD

[NEW] devel/pydio-packr: Pydio port of packr v1
ClosedPublic

Authored by skozlov on May 17 2021, 10:41 PM.

Details

Summary
[NEW] devel/pydio-packr: Pydio port of packr v1

This is a fork of gobuffalo's packr v1 customized by pydio team.
Its sole purpose is to be used in building the www/pydio-cells port.

WWW: https://github.com/pydio/packr
Reviewed_by: koobs
Differential_Revision: D30322
Test Plan
  • portlint -AC OK (with # $FreeBSD$ added at the beginning of Makefile)
  • poudriere testport OK

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

koobs added a reviewer: koobs.

Can/should this port just be included (bundled as a dep) for www/pydio-cells?

devel/pydio-packr/Makefile
3–4

I'm not sure this is the best versioning definition for Go applications. I may be wrong.

See:

https://docs.freebsd.org/en/books/porters-handbook/special/#using-go and
https://docs.freebsd.org/en/books/porters-handbook/uses/#uses-go

Can/should this port just be included (bundled as a dep) for www/pydio-cells?

I tried to do that, but it seems much harder to do than a separate port, reasons are:

  • packr uses go:modules while cells use simple go, which changes the build process substantially
  • packr has to be run through Makefile before the build phase, so this means that I need packr built before build phase of the port - a chicken and egg problem
  • USES= go takes care of pretty much all the machinery for me if used in a separate port, but not in case I need to pre-build a tool to build another one
devel/pydio-packr/Makefile
3–4

I think it's the only way it can be done with USES= go:modules.
Because this is a fork, the Pydio team never made a release of this tool after they forked it, so I need to use a specific commit, not a released version. When using go:modules - the distfile is downloaded from go proxy, that has this particular format for the version in case you want to download a commit snapshot, so the DISTVERSIONFULL must be exactly v1.30.2-0.20200608151212-7d41389ccc6e. I tried to split the version into PREFIX/VERSION/SUFFIX in such a way that versioning code works properly, but downloading from go proxy still works

Understood. Just be careful with PORTVERSION/DISTVERSION going backward for future tagged versions. See:

https://docs.freebsd.org/en/books/porters-handbook/makefiles
Example 14. Using USE_GITHUB to Access a Commit Between Two Versions

This revision is now accepted and ready to land.May 19 2021, 2:00 AM

Understood. Just be careful with PORTVERSION/DISTVERSION going backward for future tagged versions. See:

Sure, this artificial revision is made in such a way that the risk is minimized, it includes both the version and the exact timestamp for that.

https://docs.freebsd.org/en/books/porters-handbook/makefiles
Example 14. Using USE_GITHUB to Access a Commit Between Two Versions

I tried using USE_GITHUB but it's not compatible with GO_MODULE, you can only use those artificial versions to fetch a commit snapshot through the go proxy website.

Anyway, thanks again for the review, really appreciate that, @koobs! :)