Commit Graph

442 Commits (8b321612da4e129b8eee4e02af755184d2405fe9)

Author SHA1 Message Date
Jason Rhinelander 2709ec1930
Android build fixes for openssl 3.0.5
- ANDROID_NDK_ROOT must be set in env
- cmake should be setting `-DANDROID_API=23`
- specify the correct android API via a define when building openssl; it
  has to be in CPPFLAGS (not CFLAGS) because otherwise openssl's
  configure script doesn't notice and overrides our define with the
  latest API version.
- openssl configure puts $(ANDROID_NDK_ROOT) in the makefile, so we have
  to be sure that we put it in the environment for the build command,
  too.
2 years ago
Jason Rhinelander 616f559761
macos CI fixes
- Split up mac.sh into a configure + build scripts (like Windows).
- Don't attempt to build the 'package' target in CI: apparently you have
  to have a logged in user at the GUI in order to build a .dmg because
  being obtuse is the Apple way.
- Upload the raw Lokinet unsigned app in a .tar.xz, rather than dmg,
  because of the above.
- make mac.sh respect JOBS (pun not intended (but still good))
2 years ago
Jason Rhinelander 93c01623b0
Format fixes & fix warning in format script
- Don't escape '#' in the greps in format.sh: they warn about a spurious
  `\` in the latest grep.
- reformat
2 years ago
Jeff Becker 4490fdcf46
fix up CI
add jason's suggested changes for artifact upload

use lokinet-ci-nodejs-lts as base image so we can build the installer

update ci pipeline for windows to have building gui toggle-able

by default we will build the gui from this repo, but this allows it to
easily run using a custom gui asset if needed
2 years ago
Jason Rhinelander 49b97f47cc
Make windows-configure.sh runnable without root/build
For when you want to set up a windows build dir, without doing the build
yet.
2 years ago
Jeff Becker a02679b87a
revise ./contrib/format.sh 2 years ago
Jeff Becker 7f27760c97
disable lokinet-bootstrap on windows builds 2 years ago
Jeff 871c3e3281
changeset for windows port
* wintun vpn platform for windows
* bundle config snippets into nsis installer for exit node, keyfile persisting, reduced hops mode.
* use wintun for vpn platform
* isolate all windows platform specific code into their own compilation units and libraries
* split up internal libraries into more specific components
* rename liblokinet.a target to liblokinet-amalgum.a to elimiate ambiguity with liblokinet.so
* DNS platform for win32
* rename llarp/ev/ev_libuv.{c,h}pp to llarp/ev/libuv.{c,h}pp as the old name was idiotic
* split up net platform into win32 and posix specific compilation units
* rename lokinet_init.c to easter_eggs.cpp as that is what they are for and it does not need to be a c compilation target
* add cmake option STRIP_SYMBOLS for seperating out debug symbols for windows builds
* intercept dns traffic on all interfaces on windows using windivert and feed it into lokinet
2 years ago
majestrate a8c0f76e1c
Merge pull request #1971 from majestrate/docs-and-such-2022-08-06
more docs
2 years ago
Jason Rhinelander 955cecb21d Drone macos fixes
- fix lib check script to look at the network extension
- amend the list of intented linked libs
- upload the dmg
2 years ago
Jason Rhinelander dccc86ea62 Apple icon bullshit
Apple introduced a bug in macOS 11 that they can't be arsed to fix which
breaks PNG loading into icns files by dropping the blue channel of the
last pixel, leaving a streak of yellow pixels at the bottom of the
image.

This hacks around it by setting a fully transparent, non-white (actually
yellow) pixel in the bottom-right corner of the images.

This is such inexcusable trash.
2 years ago
Jason Rhinelander 500530a336 dmg: version, and set icon
- Add the version number into the .dmg filename
- Set the lokinet icon on the .dmg.  This is done via a swift program
  because all the Apple CLI tools to do this are deprecated.
2 years ago
Jason Rhinelander 039d1429f5 Build an installer dmg 2 years ago
Jason Rhinelander 182f1dccb9 Fix mac.sh defaults to make a signed, notarized build 2 years ago
Jason Rhinelander 8b157c304e Remove obsolete mac packaging cruft 2 years ago
Jeff badf72838e
move all code directory readmes into docs/project-structure.md 2 years ago
Jason Rhinelander ab16d428cb Don't use sign target for contrib/mac.sh 2 years ago
Jason Rhinelander 2b7b1fcc79 Working signed macOS GUI build 2 years ago
Jason Rhinelander 8c2f4175d6 contrib/windows.sh: do a release build by default 2 years ago
Jason Rhinelander 7b2b114240 Remove disabled submodule check
It's easy enough to add -DSUBMODULE_CHECK=OFF yourself if you really
won't want it, and much more useful to have it enabled as a default.
2 years ago
Jason Rhinelander c504c030cf Update mingw zmq patch
The one we were applying for closesocket breaks on some versions.
2 years ago
jeff b8896740de build gui and assemble app bundles into one singular app bundle 2 years ago
Jason Rhinelander 5530ec3057 Handle Apple's trash servers when polling for notarization
Apple's servers have a gateway timeout a small but noticeable percentage
of the time, which was breaking the script.  Detect such Apple flakiness
and keep trying.
2 years ago
Jason Rhinelander 09372994bb macOS system extension support
Adds support for building Lokinet as a system extension, and fixes
various problems in the macos implementation found during development of
the system extension support.
2 years ago
Jason Rhinelander 93421c6eaf Change permissions for system extension 2 years ago
majestrate db961ac728
Merge pull request #1943 from majestrate/keygen-script-2022-06-26
simple keygen script
2 years ago
Jeff 23fd46c0db
add directory specific readmes 2 years ago
Jeff b819ed21d2
clean up build helper scripts:
* cleanup of android build shims
* cleanup of windows build shims
2 years ago
Jeff 8cde7c7e7a
fix win32 and android builds 2 years ago
Jeff a3725284e4
simple keygen script 2 years ago
Jeff 73a49f5473
do not build liblokinet in windows, exe gets too big 2 years ago
majestrate 608dced827
typofix 2 years ago
majestrate f16c2ecd43
use oxenc submodule in android 2 years ago
Jeff 7396eb7f3b
bump oxenc submodule and force oxenc submodule on win32 2 years ago
majestrate 65ef0e4bfb
Merge pull request #1849 from majestrate/dry-cross-2022-02-02
dry cross compile
2 years ago
majestrate 1fc901330c
Merge pull request #1851 from majestrate/ci-docs-generation-2022-02-04
ci docs generation
2 years ago
Jeff 7251944adc redo contrib/cross.sh to take cmake arguments 2 years ago
Jeff 66b7c3698e remove unneeded line from contrib/cross.sh 2 years ago
Jeff 56492c88ac dry cross compile 2 years ago
Jeff ae96458f8a remove old dead code 2 years ago
Jeff c70f1866f8 include mkdocs.yml in ci artifacts for docs 2 years ago
Jeff 97f4545fd5 make CI pipline generate docs with doxygen, doxybook2 and mkdocs. 2 years ago
majestrate 838183e36e
Merge pull request #1748 from majestrate/liblokinet-udp-api-2021-09-19
liblokinet updates
2 years ago
Jeff 48559bd282 fix up ppc64le cross target 2 years ago
Jeff eae4d3cf74 fixup armhf target 2 years ago
Jeff f543f6962d fix up ppc64le toolchain, remove suffix 2 years ago
Jeff 24811aff37 fix up contrib/cross.sh to put everything in build-cross 2 years ago
Jeff 08a9e0ad39 add cross compile helpers and update/add toolchains 2 years ago
Jeff Becker 5286d442fb updates:
* add udptest example
* fix up udp codepath in liblokinet
2 years ago
Jeff 82ffa2f02c Update mac.sh
disable liblokinet on mac by default in mac.sh
2 years ago