Use MK v0.10.x, zap legacy GeoIP, build also on Linux (#29)

* Gopkg.lock: use MK v0.10.3

* ooni: stop using legacy GeoIP database files

* Some yak shaving of Makefile

1. remove now broken commands to download deps

2. also define the CXX cross compiler

* chore(dep): migrate from dep to go 1.11+ modules

See https://blog.callr.tech/migrating-from-dep-to-go-1.11-modules/

I need this to simplify my life in building for Travis.

* Introduce build.sh and repair build

In going forward, I believe we don't actually need a Makefile but I
didn't want to make such a radical change now.

* Another strategy wrt gopath

* travis: run regress tests on macOS

Closes #30
This commit is contained in:
Simone Basso 2019-05-15 14:48:06 +02:00 committed by Arturo Filastò
commit 9992690f8f
14 changed files with 277 additions and 359 deletions

View file

@ -4,61 +4,14 @@ The next generation OONI Probe Command Line Interface.
## Development setup
Be sure you have golang >= 1.8.
Be sure you have golang >= 1.12. We use Go modules. Make sure you
don't have GOPATH set.
This project uses [`dep`](https://golang.github.io/dep/) with the `vendor/` dir
in `.gitignore`.
Run
Once you have `dep` installed, run:
```
dep ensure
```bash
./build.sh help
```
Next, you'll need a recent version of [Measurement Kit](http://github.com/measurement-kit).
Building a ooni binary for windows and macOS is currently only supported on a
macOS system.
For building a linux ooni binary, you will need a linux system and follow the
intruction in the linux section.
### macOS
On macOS you can build a windows and macOS ooni binary.
This can be done by running:
```
make download-mk-libs
```
This will download the prebuilt measurement-kit binaries.
Then you can build a macOS build by running:
```
make build
```
And a windows build by running:
```
make build-windows
```
### linux
On linux you can only build a linux ooni binary for amd64.
This can be done by running:
```
make download-mk-libs
```
Then you can build ooni by running:
```
make build
```
to get information on the supported systems as well as to get
instructions on how to install dependencies.