this above program is working for localhost (i have a apache webserver running) but fails for remote sites like lastlog.de no matter what.
for lastlog.de:
NO_AT_BRIDGE=1 go run gowebkit2.go
Load failed.
Load finished.
Title: ""
URI:
Hostname (from JavaScript): ""
for localhost:
NO_AT_BRIDGE=1 go run gowebkit2.go
Load finished.
Title: "Index of /"
URI: http://localhost/
Hostname (from JavaScript): "localhost"
question
how to debug this, what can i do?
installing gowebkit2 (with failing unit test)
nix-shell -I nixpkgs=$NIXPKGS default.nix
these derivations will be built:
/nix/store/i57i3vx8ylgj0snsy7z86a1rzk8bcn3c-go1.4-gowebkit2-22d8960.drv
building path(s) ‘/nix/store/k1ya99l077jz7j6rzh4f4dilgyhvg3q0-go1.4-gowebkit2-22d8960’
unpacking sources
unpacking source archive /nix/store/414sdb4ksxvki9c1lkid1c439sbbjcji-go-webkit2-22d89604526bbeafa4492c7f5c07ac643dff6e45-src
source root is go-webkit2-22d89604526bbeafa4492c7f5c07ac643dff6e45-src
patching sources
configuring
building
Renaming github.com/crazy2be/gojs to github.com/sqs/gojs
Renaming github.com/crazy2be/gojs to github.com/sqs/gojs
github.com/sourcegraph/go-webkit2/webkit2
github.com/sourcegraph/go-webkit2/cmd/webkit-eval-js
running tests
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
=== RUN TestSettings_EnableWriteConsoleMessagesToStdout
--- PASS: TestSettings_EnableWriteConsoleMessagesToStdout (0.07s)
=== RUN TestSettings_AutoLoadImages
--- PASS: TestSettings_AutoLoadImages (0.00s)
=== RUN TestSettings_SetUserAgentWithApplicationDetails
--- PASS: TestSettings_SetUserAgentWithApplicationDetails (0.00s)
=== RUN TestDefaultWebContext
--- PASS: TestDefaultWebContext (0.00s)
=== RUN TestWebContext_CacheModel
--- PASS: TestWebContext_CacheModel (0.00s)
=== RUN TestWebContext_ClearCache
--- PASS: TestWebContext_ClearCache (0.00s)
=== RUN TestNewWebView
--- PASS: TestNewWebView (0.00s)
=== RUN TestNewWebViewWithContext
--- PASS: TestNewWebViewWithContext (0.00s)
=== RUN TestWebView_Context
--- PASS: TestWebView_Context (0.00s)
=== RUN TestWebView_LoadURI
--- PASS: TestWebView_LoadURI (0.66s)
=== RUN TestWebView_LoadURI_load_failed
--- PASS: TestWebView_LoadURI_load_failed (0.02s)
=== RUN TestWebView_LoadHTML
--- PASS: TestWebView_LoadHTML (0.01s)
=== RUN TestWebView_Title
--- PASS: TestWebView_Title (0.00s)
=== RUN TestWebView_URI
--- PASS: TestWebView_URI (0.00s)
=== RUN TestWebView_Settings
--- PASS: TestWebView_Settings (0.00s)
=== RUN TestWebView_JavaScriptGlobalContext
--- PASS: TestWebView_JavaScriptGlobalContext (0.00s)
=== RUN TestWebView_RunJavaScript
terminate called after throwing an instance of 'std::bad_function_call'
what(): bad_function_call
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x1 addr=0x18 pc=0x7ffff5686ec9]
runtime stack:
runtime.gothrow(0xa69190, 0x2a)
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/runtime/panic.go:503 +0x8e
runtime.sigpanic()
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/runtime/sigpanic_unix.go:14 +0x5e
goroutine 26 [syscall, locked to thread]:
runtime.cgocall_errno(0x437110, 0xc208081ed8, 0xc200000000)
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/runtime/cgocall.go:130 +0xf5 fp=0xc208081eb8 sp=0xc208081e90
github.com/conformal/gotk3/gtk._Cfunc_gtk_main()
/tmp/nix-build-go1.4-gotk3-7a6ce3e.drv-0/go/src/github.com/conformal/gotk3/gtk/:2845 +0x45 fp=0xc208081ed8 sp=0xc208081eb8
github.com/conformal/gotk3/gtk.Main()
/tmp/nix-build-go1.4-gotk3-7a6ce3e.drv-0/go/src/github.com/conformal/gotk3/gtk/gtk.go:766 +0x1b fp=0xc208081ee0 sp=0xc208081ed8
github.com/sourcegraph/go-webkit2/webkit2.TestWebView_RunJavaScript(0xc20806ec60)
/tmp/nix-build-go1.4-gowebkit2-22d8960.drv-0/go/src/github.com/sourcegraph/go-webkit2/webkit2/webview_test.go:228 +0x25c fp=0xc208081f78 sp=0xc208081ee0
testing.tRunner(0xc20806ec60, 0xf75ba0)
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/testing/testing.go:447 +0xbf fp=0xc208081fd0 sp=0xc208081f78
runtime.goexit()
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc208081fd8 sp=0xc208081fd0
created by testing.RunTests
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/testing/testing.go:555 +0xa8b
goroutine 1 [chan receive, locked to thread]:
testing.RunTests(0xab0fe8, 0xf75a20, 0x13, 0x13, 0x7c037940dcdfae01)
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/testing/testing.go:556 +0xad6
testing.(*M).Run(0xc20802e2d0, 0xf71180)
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/testing/testing.go:485 +0x6c
main.main()
github.com/sourcegraph/go-webkit2/webkit2/_test/_testmain.go:92 +0x1d5
goroutine 4 [syscall, locked to thread]:
github.com/conformal/gotk3/glib._Cfunc_g_object_unref(0x7fff74002540)
/tmp/nix-build-go1.4-gotk3-7a6ce3e.drv-0/go/src/github.com/conformal/gotk3/glib/:191 +0x45
github.com/conformal/gotk3/glib.(*Object).Unref(0xc20802c1d8)
/tmp/nix-build-go1.4-gotk3-7a6ce3e.drv-0/go/src/github.com/conformal/gotk3/glib/glib.go:489 +0x2b
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/runtime/asm_amd64.s:2232 +0x1
goroutine 18 [syscall, locked to thread]:
runtime.goexit()
/nix/store/8iyw32rc0884df4mf05nzc0a9wrwgplj-go-1.4.2/share/go/src/runtime/asm_amd64.s:2232 +0x1
exit status 2
FAIL github.com/sourcegraph/go-webkit2/webkit2 121.196s
builder for ‘/nix/store/i57i3vx8ylgj0snsy7z86a1rzk8bcn3c-go1.4-gowebkit2-22d8960.drv’ failed with exit code 1
error: build of ‘/nix/store/i57i3vx8ylgj0snsy7z86a1rzk8bcn3c-go1.4-gowebkit2-22d8960.drv’ failed
/run/current-system/sw/bin/nix-shell: failed to build all dependencies
building path(s) ‘/nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8’
unpacking sources
unpacking source archive /nix/store/z47bi1667992b61mg15wjqms7gwga5b7-gojs-80bdfa8b7d0a0c118220bece71083f2527e7bbc4-src
source root is gojs-80bdfa8b7d0a0c118220bece71083f2527e7bbc4-src
patching sources
configuring
building
hello world
github.com/sqs/gojs
github.com/sqs/gojs/examples/helloworld
github.com/sqs/gojs/examples/sample
running tests
=== RUN TestBase
--- PASS: TestBase (0.00s)
=== RUN TestEvaluateScript
13:30:32 base.go:27: About to evaluate script: return 2341234 "asdf" &{0x7fffeb7effb0 0xc20802c058} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: 1.5 &{0x7fffeb7eff70 0xc20802c058} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: 1.5 + 3.0 &{0x7fffeb7eff30 0xc20802c058} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: 'a' + 'b' &{0x7fffeb7efef0 0xc20802c058} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: new Object() &{0x7fffeb7efeb0 0xc20802c058} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: var obj = {}; obj &{0x7fffeb7efe30 0xc20802c058} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: var obj = function () { return 1;}; obj &{0x7fffeb7efd70 0xc20802c058} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: function test() { return 1;}; test &{0x7fffeb7efd30 0xc20802c058} ./testing.go 1
--- PASS: TestEvaluateScript (0.00s)
native_test.go:73: On item {return 2341234 "asdf" 0 } index 0
native_test.go:73: Evaluated Script
native_test.go:73: On item {1.5 3 1.5} index 1
native_test.go:73: Evaluated Script
native_test.go:73: No error, and there was a return result.
native_test.go:73: Type of value is 3
native_test.go:73: On item {1.5 + 3.0 3 4.5} index 2
native_test.go:73: Evaluated Script
native_test.go:73: No error, and there was a return result.
native_test.go:73: Type of value is 3
native_test.go:73: On item {'a' + 'b' 4 ab} index 3
native_test.go:73: Evaluated Script
native_test.go:73: No error, and there was a return result.
native_test.go:73: Type of value is 4
native_test.go:73: On item {new Object() 5 [object Object]} index 4
native_test.go:73: Evaluated Script
native_test.go:73: No error, and there was a return result.
native_test.go:73: Type of value is 5
native_test.go:73: On item {var obj = {}; obj 5 [object Object]} index 5
native_test.go:73: Evaluated Script
native_test.go:73: No error, and there was a return result.
native_test.go:73: Type of value is 5
native_test.go:73: On item {var obj = function () { return 1;}; obj 5 function () { return 1;}} index 6
native_test.go:73: Evaluated Script
native_test.go:73: No error, and there was a return result.
native_test.go:73: Type of value is 5
native_test.go:73: On item {function test() { return 1;}; test 5 function test() { return 1;}} index 7
native_test.go:73: Evaluated Script
native_test.go:73: No error, and there was a return result.
native_test.go:73: Type of value is 5
=== RUN TestCheckScript
--- PASS: TestCheckScript (0.00s)
=== RUN TestGarbageCollect
--- PASS: TestGarbageCollect (0.00s)
=== RUN TestContext
--- PASS: TestContext (0.00s)
=== RUN TestContext2
--- PASS: TestContext2 (0.00s)
=== RUN TestContextGlobalObject
--- PASS: TestContextGlobalObject (0.00s)
=== RUN TestNewCValueArray
--- PASS: TestNewCValueArray (0.00s)
=== RUN TestNewFunctionWithCallback
13:30:32 object.go:277:
--- PASS: TestNewFunctionWithCallback (0.00s)
native_test.go:73: Made new function with callback
native_test.go:73: Function is a callback function
native_test.go:73: Successfully converted to property string
native_test.go:73: Calling as function...
native_test.go:73: In callback function!
native_test.go:73: Called as function.
=== RUN TestNewFunctionWithCallback2
13:30:32 object.go:277:
--- PASS: TestNewFunctionWithCallback2 (0.00s)
native_test.go:73: Acquiring context!
native_test.go:73: Creating a new function with callback
native_test.go:73: Ceating new number values
native_test.go:73: Calling callback as function
native_test.go:73: In callback function!
native_test.go:73: Attempting to convert args to numbers... [1.5 3]
native_test.go:73: &{0x7fffffff7cf0}
native_test.go:73: 1.5 3
native_test.go:73: &{0x7fffffff7cf0} &{0x7fffffff7cf0}
native_test.go:73: &{} &{}
native_test.go:73:
native_test.go:73: Converted first arg...
native_test.go:73: Called callback as function!
native_test.go:73: 4.5
=== RUN TestNewFunctionWithCallbackPanic
13:30:32 object.go:277:
13:30:32 object.go:277:
--- PASS: TestNewFunctionWithCallbackPanic (0.00s)
=== RUN TestNativeFunction
13:30:32 object.go:277:
13:30:32 native.go:356: About to docall()!
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
--- PASS: TestNativeFunction (0.00s)
=== RUN TestNativeFunction2
13:30:32 object.go:277:
13:30:32 native.go:356: About to docall()!
13:30:32 native.go:317: Converted pointer to go-style array [1.5 3]
13:30:32 native.go:318: Converting to relfect.Value s
13:30:32 native.go:169: 0 1.5
13:30:32 native.go:169: 1 3
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
--- PASS: TestNativeFunction2 (0.00s)
native_test.go:73: Called as function
=== RUN TestNativeFunction3
13:30:32 object.go:277:
13:30:32 native.go:356: About to docall()!
13:30:32 native.go:317: Converted pointer to go-style array [1.5 3]
13:30:32 native.go:318: Converting to relfect.Value s
13:30:32 native.go:169: 0 1.5
13:30:32 native.go:169: 1 3
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
--- PASS: TestNativeFunction3 (0.00s)
=== RUN TestNativeFunctionPanic
13:30:32 object.go:277:
13:30:32 native.go:356: About to docall()!
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
13:30:32 object.go:277:
13:30:32 native.go:356: About to docall()!
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
--- PASS: TestNativeFunctionPanic (0.00s)
native_test.go:73: Called as function
native_test.go:73: Panic!
native_test.go:73: About to convert to string!
native_test.go:373: ctx.CallAsFunction paniced as expected (Panic!)
native_test.go:73: Called as function
native_test.go:73: cannot allocate memory
native_test.go:73: About to convert to string!
native_test.go:373: ctx.CallAsFunction paniced as expected (cannot allocate memory)
=== RUN TestNewNativeObject
13:30:32 base.go:27: About to evaluate script: n.F &{0x7fffeb7affb0 0xc20802c0d8} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: n.noexist &{0x7fffeb7aff70 0xc20802c0d8} ./testing.go 1
13:30:32 base.go:27: About to evaluate script: n.S &{0x7fffeb7aff30 0xc20802c0d8} ./testing.go 1
--- PASS: TestNewNativeObject (0.00s)
=== RUN TestNewNativeObjectSet
13:30:32 native.go:218: Dealing with uint type of some sort...
13:30:32 native.go:221: Got value!
13:30:32 native.go:218: Dealing with uint type of some sort...
13:30:32 native.go:221: Got value!
--- PASS: TestNewNativeObjectSet (0.00s)
native_test.go:73: Creating new native object from four
native_test.go:73: Setting property n
native_test.go:73: Creating value for property I
native_test.go:73: Setting property I -2
native_test.go:73: -2
native_test.go:73: Set property I, checking for errors.
native_test.go:73: Setting property U
native_test.go:73: Setting property U to invalid value
native_test.go:73: Set property, checking for correctness...
native_test.go:474: Error: number must be greater than or equal to zero
=== RUN TestNewNativeObjectConvert
--- PASS: TestNewNativeObjectConvert (0.00s)
=== RUN TestNewNativeObjectMethod
13:30:32 base.go:27: About to evaluate script: n.Add() &{0x7fffeb78ffb0 0xc20802c148} ./testing.go 1
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
13:30:32 base.go:27: About to evaluate script: n.AddWith(0.5) &{0x7fffeb78ff70 0xc20802c148} ./testing.go 1
13:30:32 native.go:317: Converted pointer to go-style array [0.5]
13:30:32 native.go:318: Converting to relfect.Value s
13:30:32 native.go:169: 0 0.5
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
13:30:32 base.go:27: About to evaluate script: n.Self() &{0x7fffeb78ff30 0xc20802c148} ./testing.go 1
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
13:30:32 base.go:27: About to evaluate script: n.Null() &{0x7fffeb78fef0 0xc20802c148} ./testing.go 1
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
--- PASS: TestNewNativeObjectMethod (0.00s)
native_test.go:73: Testing n.Add()
native_test.go:73: Evaluated Script
native_test.go:73: No error
native_test.go:73: Result was returned
native_test.go:73: sucessfully checked that value was a number
native_test.go:73: Testing n.AddWith()
=== RUN TestNewObject
--- PASS: TestNewObject (0.00s)
=== RUN TestNewArray
--- PASS: TestNewArray (0.01s)
native_test.go:73: &{0x7ffff008fe20 0xc20802c1b0}
=== RUN TestNewArray2
--- PASS: TestNewArray2 (0.01s)
=== RUN TestNewDate
--- PASS: TestNewDate (0.00s)
=== RUN TestNewDateWithMilliseconds
--- PASS: TestNewDateWithMilliseconds (0.00s)
=== RUN TestNewDateWithString
--- PASS: TestNewDateWithString (0.00s)
=== RUN TestNewError
--- PASS: TestNewError (0.00s)
=== RUN TestNewRegExp
--- PASS: TestNewRegExp (0.00s)
=== RUN TestNewRegExpFromValues
--- PASS: TestNewRegExpFromValues (0.00s)
=== RUN TestNewFunction
--- PASS: TestNewFunction (0.00s)
=== RUN TestNewCallAsFunction
13:30:32 object.go:277:
--- PASS: TestNewCallAsFunction (0.00s)
=== RUN TestNewValueWithNil
--- PASS: TestNewValueWithNil (0.00s)
=== RUN TestNewValueWithInt
--- PASS: TestNewValueWithInt (0.00s)
=== RUN TestNewValueWithUint
--- PASS: TestNewValueWithUint (0.00s)
=== RUN TestNewValueWithFloat
--- PASS: TestNewValueWithFloat (0.00s)
=== RUN TestNewValueWithString
--- PASS: TestNewValueWithString (0.00s)
=== RUN TestNewValueWithFunc
13:30:32 object.go:277:
13:30:32 native.go:356: About to docall()!
13:30:32 native.go:322: Converted arguments to native go reflect types. About to actually call the callback function...
13:30:32 native.go:324: []
--- PASS: TestNewValueWithFunc (0.00s)
=== RUN TestNewValueWithObject
--- PASS: TestNewValueWithObject (0.01s)
=== RUN TestString
--- PASS: TestString (0.00s)
=== RUN TestString2
--- PASS: TestString2 (0.00s)
=== RUN TestStringString
--- PASS: TestStringString (0.00s)
=== RUN TestStringBytes
--- PASS: TestStringBytes (0.00s)
=== RUN TestStringEqual
--- PASS: TestStringEqual (0.00s)
=== RUN TestStringEqualToString
--- PASS: TestStringEqualToString (0.00s)
=== RUN TestValue_GoValue
--- PASS: TestValue_GoValue (0.00s)
=== RUN TestNewValueFrom
--- PASS: TestNewValueFrom (0.00s)
PASS
ok github.com/sqs/gojs 0.099s
installing
glibPreFixupPhase
post-installation fixup
patching ELF executables and libraries in /nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8
/nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8/bin/helloworld
/nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8/bin/sample
gzipping man pages in /nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8
stripping (with flags -S) in /nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8/lib /nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8/bin
strip:/nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8/lib/gdk-pixbuf-loaders-2.0/go1.4-gojs-80bdfa8/loaders.cache: File format not recognized
patching script interpreter paths in /nix/store/1qx19jlr93cm9zpfjsxsx0jnax8bgckc-go1.4-gojs-80bdfa8
problem
i've been using webkitgtk-2.8.3 along with gojs/gowebkit2 and i had to make two hacks:
gojs:
gowebkit2:
while gojs passes all unit tests gowebkit2 passes only some (see below). when i install gowebkit2 by ignoring the unit tests i can run this example:
this above program is working for localhost (i have a apache webserver running) but fails for remote sites like lastlog.de no matter what.
question
how to debug this, what can i do?
installing gowebkit2 (with failing unit test)
gojs
gojs = buildGoPackage rec { rev = "80bdfa8b7d0a0c118220bece71083f2527e7bbc4"; name = "gojs-${stdenv.lib.strings.substring 0 7 rev}"; goPackagePath = "github.com/sqs/gojs"; goPackageAliases = [ "github.com/crazy2be/gojs" ]; preBuild = '' sed -i 's,github.com/crazy2be/gojs,github.com/sqs/gojs,g' go/src/github.com/sqs/gojs/examples/helloworld/helloworld.go sed -i 's,github.com/crazy2be/gojs,github.com/sqs/gojs,g' go/src/github.com/sqs/gojs/examples/sample/sample.go sed -i 's,javascriptcoregtk-3.0,javascriptcoregtk-4.0,g' go/src/github.com/sqs/gojs/base.go ''; doCheck = true; src = fetchFromGitHub { inherit rev; owner = "sqs"; repo = "gojs"; sha256 = "0p7yjnpp9nc5i4lgpxsjbb4ns19f168yjljl87r359wlld4vy7sj"; }; propagatedBuildInputs = [ pkgconfig pkgs.webkitgtk ]; buildInputs = propagatedBuildInputs; };
gowebkit2
gowebkit2 = buildGoPackage rec { rev = "22d89604526bbeafa4492c7f5c07ac643dff6e45"; name = "gowebkit2-${stdenv.lib.strings.substring 0 7 rev}"; goPackagePath = "github.com/sourcegraph/go-webkit2"; preBuild = '' sed -i 's,webkit2gtk-3.0,webkit2gtk-4.0,g' go/src/github.com/sourcegraph/go-webkit2/webkit2/webview.go ''; checkPhase = '' (cd go/src find -type f -name *_test.go -exec dirname {} \; | sort | uniq | while read d; do ${pkgs.xvfb_run}/bin/xvfb-run -a go test -p 1 -v $d done) ''; doCheck = true; src = fetchFromGitHub { inherit rev; owner = "sourcegraph"; repo = "go-webkit2"; sha256 = "0jgfwi1qscl271kc3n77jkdgb62ayhd9va0g85pbc9gp58rcdqb4"; }; propagatedBuildInputs = [ pkgs.gnome3.gtk pkgs.webkitgtk gotk3 gojs ]; buildInputs
gojs tests
dependencies used