Commit graph

60 commits

Author SHA1 Message Date
Michael Telatynski a0665f5499
Remove deprecated packages (#1732) 2024-06-19 10:20:17 +01:00
Johannes Marbach db184f9971
Switch to mapbox-scoped node-pre-gyp package (#1640) 2024-04-25 10:41:35 +01:00
Michael Telatynski 193de5182f
Update scripts for compatibility with latest NodeJS Security Release (#1628)
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2024-04-17 15:12:29 +01:00
Michael Telatynski 0461df82af
Convert electron-builder config file to TS (#1591) 2024-04-08 11:38:54 +01:00
renovate[bot] 18eea3eb11
Update dependency detect-libc to v2 (#1407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-02 18:15:58 +00:00
renovate[bot] 3bfe26a1f8
Update dependency prettier to v3 (#1405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2024-01-02 18:12:16 +00:00
Li-Wen Hsu a0f92941fc
Add FreeBSD support (#1163)
Co-authored-by: Hiroki Tagato <tagattie@gmail.com>
2023-08-09 10:11:27 +01:00
Mathieu Velten cf94a1e49a
Use a fully static seshat build (#631)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-24 12:19:10 +00:00
renovate[bot] ed8870dc9f
Update dependency rimraf to v5 (#645)
* Update dependency rimraf to v5

* Update dependency rimraf to v5

* Update import

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-18 18:59:12 +01:00
renovate[bot] 645a79f956
Update dependency mkdirp to v3 (#644)
* Update dependency mkdirp to v3

* Iterate

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-18 15:08:33 +00:00
renovate[bot] 1a99740bc8
Update dependency glob to v9 (#575)
* Update dependency glob to v9

* Adjust copy.ts to promisifed glob

* Switch asar -> @electron/asar

* Update rimraf for glob v9 compatibility

* Iterate

* Iterate

* Patch @electron/asar

* Fix another way

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Janne Mareike Koschinski <jannemk@element.io>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-04-06 12:41:38 +00:00
Michael Telatynski 1654030c5f
Iterate ARM support in CI (#587) 2023-03-23 13:22:29 +00:00
Michael Telatynski 7a1a0fabdb
Add support for Windows arm64 (#423) 2023-03-22 09:41:51 +00:00
Andy Balaam 0faac52dae Format all files with prettier 2022-12-15 11:52:12 +00:00
Michael Telatynski d766aef435
Enable strict mode on hak tsconfig (#483) 2022-12-14 10:47:35 +00:00
Michael Telatynski 56370de568
Improve use of Typescript (#474)
* Switch out needle with node-fetch

* Iterate

* Update asar package and switch to canonical name

* Use ts-node for scripts

* Iterate

* Update yarn.lock

* Use node:stream.promises

* Remove logfile

* Fix types

* Fix types
2022-12-05 11:50:49 +00:00
renovate[bot] f4bf425148
Update all non-major dependencies (#468)
* Update all non-major dependencies

* Iterate PR

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-01 07:20:55 +00:00
Michael Telatynski 392005b3a4
Fix use of detect-libc typing (#421) 2022-09-23 12:14:09 +01:00
Michael Telatynski b89b2637b9
Fix typing (#420) 2022-09-23 11:04:38 +01:00
Jan Christian Grünhage fa5f42a627
support compilation on more targets (#376)
* support compilation on more targets

* Update scripts/hak/target.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-06-10 20:51:34 +00:00
Michael Telatynski 8c3c190856
Revert back to using libsqlcipher0 for Debian & Ubuntu packages of Desktop (#367)
* Revert back to using libsqlcipher0 for Debian & Ubuntu packages of Element Desktop

Add option to static link for linux instead of forcing it

* Fix linux variants and add CI job

* Fix workflow syntax and add concurrency

* public all the things
2022-05-27 09:15:47 +01:00
Michael Telatynski f1f659b6a0
Improve hak & build ia32 again by default (#369)
* Improve hak & build ia32 again by default

* Test both x86_64 and i686 in CI

* Improve macOS job name

* Try other things

* Iterating this is no fun

* Attempt again

* pwsh is the default, use cmd

* Update the incantation for 2022

* Avoid warning multiple times

* Consolidate build tool setup

* Move default targets to electron-builder and fix warnings
2022-05-26 23:05:59 +01:00
Michael Telatynski 42ab878b08
Update Node Headers URL
https://www.electronjs.org/docs/latest/breaking-changes#deprecated-atomio-node-headers-url
2022-05-22 09:33:14 +01:00
J. Ryan Stinnett 989e030d97
Update linting plugin (#294) 2022-01-10 12:57:33 +00:00
David Baker 37d7559d86
Change module mode for hak (#291)
Turns out the previous setting didn't work, and apparently this
needs to be CommonJS.
2021-12-15 15:40:26 +00:00
David Baker 326e6577e1
Convert hak to TypeScript (#289)
* Convert hak to TypeScript

* Fix linter & remove stray log line

* Fix more linting errors

In one case by switching to import() and hence esnext

* Return type for getNodeModuleBin

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* More types

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2021-12-14 14:32:27 +00:00
David Baker 3c8650065c
Use app-builder-lib to get electron version (#288)
So we can get it the same way electron-builder does and not need
electronVersion in package.json
2021-12-13 21:15:17 +00:00
David Baker ba0dd9e2a6 Use pacote to fetch native modules
Fact: 8 out of 10 native node module packages published to npm are broken.
Actual fact: npm has a library called pacote that handles resolving the
package specifier you put in your dependencies to files on disk, and it's
actually really nice.

Change hak to use that library so now it's much simpler, handles
versions correctly and supports git / github etc. urls so we can
specify dependencies from git when a package author only publishes
half of the package to npm.
2021-07-16 23:38:04 +01:00
David Baker d82377e2de Fix not specifying a target
ie. it should use whatever's detected
2021-07-07 21:38:09 +01:00
David Baker 3dd611b5d5
Address macos properly
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-07-07 11:01:45 +01:00
David Baker e07bfc1d6a Support universal builds
Hopefully adequately documented in the README
2021-07-06 23:52:19 +01:00
J. Ryan Stinnett b8cb53e11b Fix Windows target arch in native build 2021-06-25 13:10:08 +01:00
J. Ryan Stinnett 3aff9cb9eb Add generated file warning 2021-06-24 15:20:24 +01:00
J. Ryan Stinnett 6579ba80b4 More copyright headers 2021-06-24 15:11:57 +01:00
J. Ryan Stinnett c5dd6195f2 Fix copy command log 2021-06-23 16:18:10 +01:00
J. Ryan Stinnett f3c1db3313 Cross-compile SQLCipher for aarch64-apple-darwin 2021-06-23 16:18:09 +01:00
J. Ryan Stinnett c57a173649 Check for Rust host and target support 2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 48dc1ab396 Print rejections that reach the root handler 2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 997f2c21bf Use targets in hak environment for cross-compiling
This arranges the hak environment target info around target IDs that come from
the builder, which simplifies cross-compiling. The `target.js` module is a
generated copy of the builder's `target.ts`.
2021-06-23 16:18:09 +01:00
J. Ryan Stinnett a171fa417b Borrow target definition from electron-builder
A bit hacky, but for now we paste in the JS generated version of the builder's
`target.ts` module. It's quite unlikely to change often, so this is perhaps
enough for now.
2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 115f25165a Rename hak target to runtime version
The hak environment's `target` is more like a runtime version, so this renames
to call it that, especially since we're about to add more traditional target
strings. `npm_config_target` remains, since that's what `npm` expects.
2021-06-23 16:18:09 +01:00
J. Ryan Stinnett 1455687384 Auto-fix lint errors 2021-05-27 14:45:06 +01:00
David Baker 466a871094 Rebrand step 1: s/riot/element/ in the places where it's reasonably simple 2020-07-01 15:30:53 +01:00
David Baker de1090cc18 Actually pass a function 2020-02-27 21:43:19 +00:00
David Baker 8b8203cea8 Exit with exit code on exception
Otherwise running the check script will just exit with 0 which is
pointless.
2020-02-27 21:37:07 +00:00
David Baker 90913256f5 Add our native modules separately into the files
And also the package.json which, for reasons I'm not going to spend
the next two hours of my life wading through the electron-builder
source to discover, is no longer automatically included after adding
the files pattern. The node_modules folder is handled automatically
though, so is redundant.

Change the output directory structure so we have one directory with
all the built native modules under that we can just add to the files,
rather than having to add each one separately.

NB. electron-builder add its own filters to node_modules so that only
runtime (ie. not devDependencies) are copied. These seem to apply
even for manually specified path within node_modules. We can copy *to*
the node_modules directory, however...
2020-02-21 10:57:52 +00:00
David Baker 7b8ae78038 More comment 2020-02-19 10:07:02 +00:00
David Baker cb96b41645 Merge remote-tracking branch 'origin/master' into dbkr/hak_win_x86 2020-02-19 10:01:18 +00:00
David Baker da5a0e63ec
Merge pull request #22 from vector-im/dbkr/hak_linux
Build seshat on Linux
2020-02-19 10:00:07 +00:00
David Baker 3b642389f2 First attempt at 32 bit windows building 2020-02-18 11:01:34 +00:00