Opened 11 years ago

Last modified 2 years ago

#43077 new request

Request for an ngrok port

Reported by: breun (Nils Breunese) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: ngrok

Description

"ngrok lets you expose a locally running web service to the internet."

Homepage: https://ngrok.com/ Source: https://github.com/inconshreveable/ngrok

When packaging ngrok it should be compiled so that its auto-update feature is disabled: https://github.com/inconshreveable/ngrok/issues/45#issuecomment-38609061

Attachments (3)

Portfile (1.0 KB) - added by breun (Nils Breunese) 11 years ago.
First attempt at a Portfile for ngrok
failing_ngrok_install.txt (1.9 KB) - added by breun (Nils Breunese) 11 years ago.
Sequence of executed commands and output showing how the install fails, but succeeds after a manual make
build_errors.log (3.9 KB) - added by breun (Nils Breunese) 11 years ago.
The main.log showing build errors

Download all attachments as: .zip

Change History (9)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Port: ngrok added
Version: 2.2.1

comment:2 Changed 11 years ago by breun (Nils Breunese)

ngrok's build dependencies are go (ngrok is written in Go) and mercurial (used to grab some build dependencies AFAIK), both of which I've successfully installed via MacPorts and used to run 'make'.

Changed 11 years ago by breun (Nils Breunese)

Attachment: Portfile added

First attempt at a Portfile for ngrok

Changed 11 years ago by breun (Nils Breunese)

Attachment: failing_ngrok_install.txt added

Sequence of executed commands and output showing how the install fails, but succeeds after a manual make

Changed 11 years ago by breun (Nils Breunese)

Attachment: build_errors.log added

The main.log showing build errors

comment:3 Changed 11 years ago by breun (Nils Breunese)

I've created my first ever Portfile and attached it to this ticket. I believe it almost works. The build phase is throwing some errors. The weird thing is that when I execute the failing command myself it succeeds and afterwards the installation completes successfully and ngrok works. Does anyone see why the build phase is currently failing?

I'm not a MacPorts committer yet, but if I can get this Portfile to work, I might want to become one and maintain ngrok as my first project.

comment:4 Changed 11 years ago by breun (Nils Breunese)

The ngrok author writes:

"The truth is that the Makefile isn't really set up for that at the moment. Here's what you can do to get a non-updating build though:

make clean
make client-assets BUILDTAGS=release
GOPATH=`pwd` go install -gcflags "-N -l" -tags 'release !autoupdate' ngrok/main/ngrok

This is pretty horribly kludgy. I'd be happy to have a makefile that's more flexible and allows different options to be turned on/off. I'm not sure if the "right way" to do this is to bite the bullet and learn autotools or if we can just make the Makefile more clever and still support all of the different build options that are required."

comment:5 Changed 6 years ago by breun (Nils Breunese)

https://github.com/inconshreveable/ngrok#ngrok-2x says: "ngrok 2.x is the successor to 1.x and the focus of all current development effort. Its source code is not available."

I guess I could create a Portfile that just installs the binary.

comment:6 in reply to:  5 Changed 2 years ago by barracuda156

Replying to breun:

https://github.com/inconshreveable/ngrok#ngrok-2x says: "ngrok 2.x is the successor to 1.x and the focus of all current development effort. Its source code is not available."

I guess I could create a Portfile that just installs the binary.

Any update on that?

UPD. Actually, I think version 1 is more useful, or have both.

Last edited 2 years ago by barracuda156 (previous) (diff)
Note: See TracTickets for help on using tickets.