Wich also means updating github.com/gopherjs/gopherjs to
rev 0210a2f0f73c96103378b0b935f39868e5731809
Fixes#1211
Change-Id: I9ae580bffda523237d471942f39ae157ff4bd303
test/integration: don't listen on file descriptors.
make.go: unrelated, but options to make it much faster.
internal/images: t.Skip on HEIC dependency failures
Fixes#1140
Updates golang/go#25210
Change-Id: I8092155411826d6ed1f8d85230b753d1369044af
It used to be a feature of make.go that it could run from anywhere and
users could ignore GOPATH. We would still like that, but the
shenanigans we did before to mirror the perkeep source tree to a temp
directory and set GOPATH to that temp directory were annoying. And
fortunately GOPATH is slowly dying, so we won't need to deal with this
forever. As of Go 1.8, there is always now a default GOPATH
(https://golang.org/doc/go1.8#gopath), so at least people don't need
to set environment variables. And in Go 1.12-ish, we'll probably ditch
GOPATH entirely.
So, for now require that users build in their GOPATH, which might be
the implicit GOPATH if they haven't set one. This only affects
developers. Regular users can use release binaries.
Change-Id: Ib4e3f05fa987baeaba5aa51349887e6c243f0092
When installing, respect user defined GOBIN and/or GOPATH, or the
Go defaults.
But when cross-compiling, disable GOBIN, as it's not supported.
Fixes#1100
Change-Id: I69485722d6dbfcbf7721463077f828efc950d9d3
A new "put" mode is added to the pk command, so that the "pk put"
command can be used to create and upload blobs.
What this command does is actually just call the previously named
"camput" executable, which is renamed to "pk-put" in this change.
This involves adding a new way to register a mode in cmdmain, when such
a mode is just meant to call an external binary. To emphasize the
distinction, the existing func (to register a sub-command, or a mode) is
renamed from RegisterCommand to RegisterMode, and RegisterCommand is now
the name of the new func/way.
Updates #981
Updates #1056
Change-Id: Ief954c17aa88a376f551df7de4b4e9fe41ad96d1
Due to a regression introduced in f8ef262f, the stderr output of
genfileembed was not handled anymore. This caused the build to hang on
Windows systems.
This change introduces a buffer to contain all of genfileembed's stderr
output (usually a long list of files). The buffer's contents are printed
when the command fails to run successfully or when verbose build mode is
enabled. Running of the command is simplified by just calling Run()
instead of Start() and Wait(). The -output-files-stderr flag for
genfileembed, obsolete since f8ef262f, is removed.
Fixes#1099
Change-Id: Ibd8a124c73bf347b92acfc85fffd1186dfe4944b
Replace exeName() with functions runtimeExeName() and buildExeName().
runtimeExeName() returns the executable name on the OS
make.go itself is running on.
buildExeName() returns the executable name on the build (target) OS.
Change-Id: I50b17e3991477d7507f4cb4c6f7676190182ddbd
Go 1.10 for Perkeep and Go 1.9 for GopherJS as requirements is apparently
not explained well enough by the error message. So until we improve on
that, it's better to keep both requirements at the same version.
And we can update both soon to 1.10 when GopherJS supports 1.10 too.
Change-Id: I9f015dd27c18abad0b48559f2f40aa44362b000a
The current go version checks in make.go assume a single character
minor version number. This change switches the constants to integers
instead of characters and uses a regex to check for versions.
Updates #1004
Change-Id: I7df14b69447119ecfa8379453f5c7022f20d6b5e
Use the now renamed libsqlite3 build pragma. This requires
having sqlite3 installed on the system instead of using the
c code bundled in vendor (which is removed by the dep tool
by default)
1.6.0 corresponds with rev
github.com/mattn/go-sqlite3@6c771bb9887719704b210e87e934f08be014bdb1
Changelog: See https://github.com/mattn/go-sqlite3/releases
Change-Id: I48fc0bc005715b83805837f544e7fa7875e6d56a
Part of the project renaming, issue #981.
After this, users will need to mv their $GOPATH/src/camlistore.org to
$GOPATH/src/perkeep.org. Sorry.
This doesn't yet rename the tools like camlistored, camput, camget,
camtool, etc.
Also, this only moves the lru package to internal. More will move to
internal later.
Also, this doesn't yet remove the "/pkg/" directory. That'll likely
happen later.
This updates some docs, but not all.
devcam test now passes again, even with Go 1.10 (which requires vet
checks are clean too). So a bunch of vet tests are fixed in this CL
too, and a bunch of other broken tests are now fixed (introduced from
the past week of merging the CL backlog).
Change-Id: If580db1691b5b99f8ed6195070789b1f44877dd4
Vendoring:
- update gopherjs to rev: b40cd48c38f9a18eb3db20d163bad78de12cf0b7
- as usual, replace the fsnotify import statements with our dummy
pkg/misc/fakefsnotify, as described in
https://camlistore-review.googlesource.com/c/9409
- add vendor/golang.org/x/tools/go/gcimporter15 dependency from
rev: e531a2a1c15f94033f6fa87666caeb19a688175f
- make.go + .travis.yml: make go1.9 the required version
- Update comments on doc/environments-vars.md for CAMLI_GOPHERJS_GOROOT
Fixes#948Fixes#949
Change-Id: I9285aebadad1502708d164a9dc69e044a325cb3a
myitcv.io/react replaces github.com/myitcv/gopherjs/react.
This commits also includes relevant changes to reflect the new API of
myitcv.io/react:
https://github.com/myitcv/react/wiki/Changelog
myitcv.io/react
rev 0b147f16090bc5007116c494ca7ea95f78ee4a16
myitcv.io/gogenerate (required by myitcv.io/react/cmd/reactGen)
rev bd69a94c96953d20e106734856b69d71c8fa122b
github.com/gopherjs/jsbuiltin (required by myitcv.io/react)
rev 67703bfb044e3192fbcab025c3aeaeedafad1f2f
Change-Id: I1951519d30455915aa2f75fbb418057f8075e27c
GOROOT needs to be specified when building gopherjs itself, and for
gopherjs, when building the go part of the web UI.
Fixes#935
Change-Id: I7f83cefa9fd44019e8f75f8a0de70e198c905fd8
Notably:
-do not load any markers on an empty search query, because that would
mean loading absolutely all of the items with a location, which seems
like a bad idea.
-use different markers for different nodes. For now, foursquare
checkins, file images, and files have their own marker.
-vendor in https://github.com/lvoogdt/Leaflet.awesome-markers to achieve
the above, which relies on Font Awesome, which we already have in.
icons available for the markers: http://fontawesome.io/icons/
-when no location can be inferred from the search query, set the view to
encompass all markers that were drawn.
-when a location search is known, draw a rectangle representing the
results zone.
-use thumber for image in marker popup
-use title, if possible, instead of blobRef for link text in marker
popup
-switch to directly using OpenStreetMap tiles, instead of MapBox ones.
https://storage.googleapis.com/camlistore-screenshots/Screenshot_20170622-232359.png
Change-Id: Ibc84fa988aea8b8d3a2588ee8790adf6d9b5ad7a
running gopherjs would fail on FreeBSD with errors such as:
../../go1/src/vendor/golang_org/x/net/route/address.go:31:35: undeclared
name: sysAF_LINK
This happens because in $GOROOT/src/vendor/golang_org/x/net/route the
needed constants are defined in zsys_freebsd_$ARCH.go files, where $ARCH
only exists for "386", "amd64", and "arm". So as gopherjs runs for the
"js" arch, all of the zsys_freebsd* files are ignored and the constants
are not defined.
This bug was reported in https://github.com/gopherjs/gopherjs/issues/511
and the "solution" eventually recommended in
https://github.com/gopherjs/gopherjs/pull/513 is to run with GOOS=linux
regardless of the host OS. Using GOOS=linux side-steps the problem since
linux does not need the problematic constants, and the GOOS value is not
supposed to matter for the generated javascript.
fixes#928
Change-Id: I20757a211ea4c671438e94e57552a0cee7a25e81
So far, when building camlistored docker image for CoreOS, we were not
using make.go, and we were neither running gopherjs nor embedding the
resources (but rather provide the UI resources at their default
filesystem location).
Now that we're using gopherjs for the web UI, it is a hard dependency
for the camlistore server.
We could reproduce the steps in make.go to build gopherjs, run it to
build the web ui resources, and then move the resources at the right
place, but since make.go already does the equivalent work it seems
to make more sense to use it, which is the main point of this CL.
Similarly, it seems to make more sense to now build a binary with the
resources embedded, which is the default make.go behaviour, instead of
building a "raw" camlistored, and provide the resources as additional
directories in the container image, so this CL takes that approach too.
Finally, it was necessary to add the "-static" flag to make.go, so we
can keep on building a static camlistored binary, that does not rely on
libc for DNS. Because our container image is FROM SCRATCH, with just the
necessary binaries, in order to get a container image of a reasonable
size.
One drawback of now using make.go in
misc/docker/server/build-camlistore-server.go is we're doing some
unnecessary (since we're already running in the isolation of a
container) copying to the virtual gopath, but that seems a very tiny
price to pay. Especially considering how rarely we run that code.
Change-Id: I416c86d366cd4ed2d3b8b1636a6a65a83b9f15d7