1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

226 Commits

Author SHA1 Message Date
Anthony Bilinski
83fcc76e43
chore(docs): Remove old native Windows build instructions
They depend on bootstrap.bat and windows/bootstrap.sh which were removed in
38729e18e8, are missing dependencies, and aren't
tested in CI.
2022-01-09 18:52:53 -08:00
Anthony Bilinski
481818fb59
chore(docs): Remove instructions for building packages automatically
Functionality was removed in 351e769eb7.
2022-01-09 18:52:53 -08:00
Anthony Bilinski
7d0d62c154
chore(build): Remove bootstrap.sh
* It is untested by CI and adds a lot of complexity compared to manually
compiling toxcore and toxext in a couple commands. This also exposes
the cmake configs rather than wrapping them in an out of date list of
script configs for users.
2022-01-09 18:52:53 -08:00
Anthony Bilinski
ff2cad3b03
chore(build): Remove qTox-Mac-Deployer-ULTIMATE.sh
* It is only partially covered by CI and doesn't simplify the build process
much for users. Replacing it in CI with just build-osx.sh significantly reduces
script complexity and is fully tested.
* bootstrap-osx.sh copying system libs and headers locally is unneeded.
  Already the DMG file contains them, and re-linking the app against
updated system files may be desirable.
* Update INSTALL.md for macOS to use brewfile, use common dependency build
  scripts, and use cmake rather than wrapper scripts.
* Build macOS in Release mode in CI, for release artifact creation
* Don't copy all used libs into a local folder, macdeployerqt already
  handles this for the dmg, and for local running of the app using the
system libs and relinking on update is desirable to avoid running out of
date dependencies unexpectedly.
2022-01-09 18:52:53 -08:00
Mick Sayson
8abe8320d2 chore(CI): Use docker for CI scripts
Motiviation:
* Reproducing issues in CI is currently difficult
* Predicting issues in CI is currently difficult if you are not on
  ubuntu 18.04
* Reproducing issues submitted from other distros is currently done by
  creating a VM of that distro and building qtox for it locally
* Documentation for how to build on different distros is out of date
* Issues on non-ubuntu distributions are not caught by CI
* Cross compiling for windows locally is not trivial
* Iterating when working with custom build scripts is slow, scripts
  don't necessarily support re-running without re-starting the docker
  container and re-building qtox again
* Updating dependencies is a pain

Changes:
* docker-compose file has been added to the root of our repo.
  After `docker compose run --rm ubuntu` (or other supported distros),
  you are ready to compile and run qtox
* Dependencies are owned by dependency install scripts in buildscripts/.
  This allows us to use the same exact dependencies in our
  OSX/windows/linux scripts
* New docker images have been added for a variety of distributions.
  These are now run in CI in a variety of configurations
  * Docker images are cached in CI so rebuild time for the majority of
    jobs is quite quick
* Build scripts have been trimmed to leverage state of docker
  containers.
  * Windows build script no longer installs anything, dependencies are
    now managed by the windows_builder docker images
  * Build scripts should now be easily re-runnable. Usage is now `docker
    compose run --rm <image>` and then run the scripts
* All artifacts are now uploaded to github after build, this means we
  can take an appimage/flatpak/exe/dmg for any given PR and try it out
  without having to build it ourselves

Notes:
* Docker image size is quite important. We have a maximum of 5GB cache
  space on github actions. The majority of the linux distro docker
  images cache at ~300-400MB, which gives us room to test ~6 distros
  after accounting for the sizes of flatpak/windows docker images
* Docker layer ordering is relatively intentional. Approximate order
  should be that large dependencies that change infrequently should be
  farther up. This lowers the amount of rebuilding we have to do when
  dependencies are updated
* download_xxx.sh scripts are the cleanest way I could find to implement
  a shared dependency map between osx scripts and docker containers.
  Although it would be nice to have a single dependency mapping file,
  splitting it into individual scripts allows us to only rebuild some
  docker layers when dependencies are updated.
* Github actions are split between docker image building and docker
  image use. This allows us to re-use the same docker images for
  multiple jobs, but only build it once
  * Unfortunately I could not find a way to de-duplicate the stitching
    between jobs, so we have a lot of copy pasta in that area
2021-12-19 14:56:05 -08:00
Anthony Bilinski
9624fc33b0
chore(deps): update c-toxcore to v0.2.13 2021-12-08 01:02:55 -08:00
Anthony Bilinski
1a44373ddd
chore(deps): Add missing deps to INSTALL.md, update minimum versions
Ubuntu 16.04 and Debian 8 are both EOL, update minimum versions accordingly.
2021-10-27 00:25:14 -07:00
Mick Sayson
761c2fb292 fix(toxext): Update toxext to fix memory corruption issues
* tox_extension_messages updated as well for compatibility
2021-10-25 23:20:51 -07:00
Anthony Bilinski
5852d61914
docs(INSTALL): Fix clone path, update Debian build dependencies 2021-09-23 20:46:50 -07:00
Anthony Bilinski
a6e3947a46
docs(INSTALL): Add repo install instructions for Debian and Ubuntu 2021-09-23 20:46:50 -07:00
Anthony Bilinski
4894ddd0e4
docs(INSTALL): add PKG_CONFIG_PATH to bootstrap.sh instructions 2021-09-22 04:11:27 -07:00
Anthony Bilinski
216a1fc1af
docs(INSTALL): Add cmake to Arch deps 2021-09-22 04:11:27 -07:00
Mick Sayson
a11a65af2a
feat(extensions): Update documentation 2021-01-30 18:15:49 -08:00
Anthony Bilinski
728621f627
chore(deps): update c-toxcore to v0.2.12 2020-05-01 15:37:47 -07:00
Anthony Bilinski
ef8c2b7cb3
Merge branch 'v1.17-dev' 2020-03-28 01:43:40 -07:00
Anthony Bilinski
4f7056385f
refactor: remove dependency on libfilteraudio
The audio filtering/echo compensation didn't ever work reliably, so just
remove it.
2020-03-23 18:24:23 -07:00
sudden6
7c59ffb24b
chore(deps): update c-toxcore to v0.2.11 2020-03-23 21:09:23 +01:00
sudden6
575ee61855
chore: update INSTALL.md for openSUSE 2019-10-28 23:21:23 +01:00
Anthony Bilinski
82d5beeee9
fix(docs): add sqlcipher to required arch deps 2019-10-18 21:28:46 -07:00
Anthony Bilinski
524a6b8722
Merge branch 'v1.17-dev' 2019-10-18 11:18:39 -07:00
Anthony Bilinski
edb6af6fa9
chore(docs): update install.md to reflect updated OSes
* remove Ubuntu 15.04 deps from INSTALL.md, since it's EOL
* fedora 29 (the oldest currently supported version) has no issue with
  sqlcipher
* remove warning about debian version older than 9, since 9 is the current
  oldest support debian version
2019-10-17 03:19:14 -07:00
Anthony Bilinski
196a20f124
chore(docs): build toxcore with bootstrap daemon disabled
toxcore requires libconfig to build the bootstrap daemon. our current
dependencies don't list libconfig, and we have no use for the bootstrap daemon,
so don't build it for qTox.
2019-10-17 02:10:25 -07:00
Anthony Bilinski
e85d3f522a
fix(icon): use Qt tray icon in all cases, remove platform specific backends
qTox added specialized tray icon backends over time to work around bugs with
the default implementation, since then our GTK+2 backend has stopped working,
our appindicator backend was never selected by default by cmake, and
statusnotifier was never selected at SystemTrayIcon construction, leaving us
only ever using the broken GTK+2 backend, or theoretically the Unity backend,
which I didn't see selected on Ubuntu 16.04 Unity. In all other cases we would
fall back to the Qt backend.

Qt icon has improved over time, and our platform specific icons have become
stale, with GTK+2 becoming deprecated and GTK+3 not having a similar feature,
QSystemTrayIcon has been tested on a variety of DEs and works as well or better
in all cases, as shown in the table at
https://github.com/qTox/qTox/issues/5881#issuecomment-541892457

Fix #5881
Fix #5859
2019-10-16 13:27:29 -07:00
Anthony Bilinski
73fedbba79
Merge branch 'v1.17-dev' 2019-10-10 03:11:19 -07:00
Anthony Bilinski
6fb5b205f4
fix(ci): upgrade travis to xcode9.3 to get macos 10.13 with brew support
Brew now only officially supports Mac OS 10.13-10.15, which means our
previously used 10.12 had fewer binary packages available, meaning we had to
compile more ourselves, causing CI to timeout.
https://docs.travis-ci.com/user/reference/osx#macos-version
https://github.com/Homebrew/brew/pull/6500

Fix #5515
2019-10-09 16:15:16 -07:00
jessica181920
7ed9ff5e8c docs: Remove FreeBSD from Linux
Fixes #5802
2019-09-16 22:09:01 -04:00
Frank Dana
f416cdac99 docs(INSTALL): update Fedora instructions
- Change "RPMFusion" to "RPM Fusion"
- Remove sqlcipher note, as all current Fedora 29+ include it
- Add note about RPM Fusion being required to install ffmpeg
- Update `dnf` commands and package names for Fedora 30
2019-08-27 17:54:50 -04:00
Anthony Bilinski
e7e6bff318
chore(build): set supported Toxcore version to 0.2.10 for PGC audio 2019-06-29 16:17:58 -07:00
Anthony Bilinski
86f0c3a54c
chore(build): update toxcore to v0.2.10 2019-06-27 01:10:03 -07:00
Vincas Dargis
b0279bf4ea docs(INSTALL.md): Add link to AppArmor readme.
Hint user about possibility to use AppArmor for security hardening in
ISNTALL.md.
2019-03-25 20:14:01 +02:00
sudden6
66e2c01029
feat(notify): add desktop notifications using snorenotify
This commit adds very basic support for desktop notifications on friend
request, group invites, friend messages and group messages.
2019-03-24 11:58:09 +01:00
Anthony Bilinski
23da95a983
chore(build): update toxcore to v0.2.9 2019-01-13 13:09:24 -08:00
sudden6
e0bcad21b4
chore: update TravisCI OSx minimum supported version
The reason to update is, that brew only supports 10.12 officialy and
with binary packages so our CI builds started failing because compiling took too long.
2018-10-23 12:20:49 +02:00
Zetok Zalbavar
ab1f79a047
docs(INSTALL.md): correct compiling instructions for some 64-bit distros
Figured out by @Marty665 and @ezavod in #5155.

Closes #5155.
2018-09-29 17:39:51 +01:00
Anthony Bilinski
cc6df2c294
chore(core): use new toxcore enum typenames
Fix #5287
2018-09-17 10:40:07 -07:00
Anthony Bilinski
a14595b4f1
chore(release): update toxcore version to v0.2.7 2018-09-17 10:40:07 -07:00
Diadlo
4c9b7bfccc
chore: Add sonnect in build scripts and update docs 2018-07-19 20:31:57 +02:00
sudden6
f490f3b43f
chore: update dependencies to newest versions 2018-07-02 23:04:10 +02:00
Andrey
c4cd1b9ac3 docs: update INSTALL.md
add instruction to install qtox in openSUSE
2018-06-28 23:00:15 +03:00
Diadlo
acbc1f8beb
docs(INSTALL): Add backslash to avoid error on install 2018-06-27 17:21:02 +03:00
Mestake
33d173f81c
docs(INSTALL): combine qtox and toxcore dependencies lists together 2018-06-24 22:10:25 +03:00
tox-user
b00cbc1d6f
fix(docs): update toxcore build instructions
Partially fixes #5133
2018-05-16 12:22:46 +00:00
Anthony Bilinski
a918e559ee
chore(version): update toxcore version to v0.2.2 2018-04-17 23:47:33 -07:00
tox-user
7627d60a89
fix(docs): update dependencies for Debian
Add missing libavcodec-dev and remove libglib2.0-dev,
which already is a dependency of libgdk-pixbuf2.0-dev.
2018-03-26 21:50:38 +01:00
eclipseo
10b48ff538 docs(build): Add Fedora simple install instructions 2018-03-20 15:51:26 +01:00
sudden6
5f03e44db2
chore: update to c-toxcore 0.2.1 2018-03-12 20:41:14 +01:00
xyloforce
d9d94e3c22 docs: add qttools5-dev to the dependencies list for Ubuntu 2018-02-22 17:43:06 +01:00
sudden6
a2feaf3fc6
chore: update c-toxcore for all builds 2017-12-30 16:33:14 +01:00
ezavod
423f095622
fix(cmake): add missing dependency
Requires `Qt5Concurrent` to be installed when running cmake.
This is needed by `coreav.cpp`.
2017-11-29 19:43:22 +01:00
Diadlo
6e0bdf2cd2
chore: Remove qtox.pro and its mention 2017-10-02 00:01:25 +03:00