Commit Graph

53 Commits

Author SHA1 Message Date
Nick Bolton
ca49855fc1
Add BUILD.md to get people started (#7479)
* Add `BUILD.md` file

* Improve wording

* Add note about broken packages

* Reorg package instructions

* Reorg package instructions (macOS first)

* Correct broken to outdated

* Fixed formatting

* Sync info with README

* Improve wording around development of the code

* Fixed typo

* Update ChangeLog
2024-09-06 10:52:21 +01:00
Nick Bolton
ad330d7fba
FreeBSD GitHub runner with vmactions/freebsd-vm@v1 (#7474)
* Add experimental BSD job to CI

* Remove container

* cd into ` synergy/synergy/`

* Change unix to bsd

* Use only run param and not prepare

* Install python3 on FreeBSD

* Add missing command to prepare param

* Add all the Unix-like BSD-derived

* Use latest python3 for NetBSD and DragonFly BSD

* Use env for cmd and correct prepare commands

* Add deps config for unix-like

* Install Python deps on Unix-like

* Return matching entry in `get_unix_like_os`

* Add cmake dep for cmakelang py module

* Back out Unix-like support in `install_deps.py` (Python is tricky on BSD)

* Back out BSD from config

* Create install_deps.sh script for BSD-derived

* Use .sh script instead of .py for BSD-derived

* Add other case and fixed syntax

* Use /usr/bin/env

* Use more available sh

* Restore debian command

* Fixed syntax error

* Remove prepare args

* Remove space

* Use which instead of command

* Add libX11 dep

* Add other BSD-derivatives

* Set CMAKE_REQUIRED_INCLUDES

* Fixed bad separator for CMAKE_REQUIRED_INCLUDES

* Add debug lines

* Set CMAKE_REQUIRED_LIBRARIES to lib names

* use CMAKE_REQUIRED_QUIET

* Set CMAKE_REQUIRED_FLAGS for BSD

* Message for BSD packaging

* Make PKG_CONFIG_FOUND optional

* Move debug to all OS

* Remove solaris for now, too many missing packages

* Add missing  override to XWindowsScreen.h

* Add PC_GLIB_INCLUDE_DIRS

* Fixed glib include

* Make libnotify optional

* Set CMAKE_LIBRARY_PATH

* Only run tests if toml++ available

* Also run integ tests

* Remove DragonFly (C++ version too old)

* Fixed NetBSD command

* Aww sucks. Well, I tried. Patches welcome

* Update ChangeLog

* Fixed README for OpenBSD, NetBSD, DragonFly BSD, Solaris

* Add missing case for SunOS

* Drop redundant virtual specifiers

* Print libs on FreeBSD

* Restore link_directories

* Beef up to ubuntu-24.04-16-core-x64, export QT_QPA_PLATFORM, improve comment

* Remove debug line

* Simplify debug text

* Restore ubuntu-latest

* Fixed really stupid typo

* Beef up with ubuntu-22.04-16-core-x64

* Revert "Beef up with ubuntu-22.04-16-core-x64"

This reverts commit 3de5773ef6.

* Add missing name

* Make .sh file primary deps file

* Tweaked deps instruction label
2024-09-06 10:03:34 +01:00
Nick Bolton
38536a9726
Improve history FAQ item on README.md (#7477) 2024-09-06 00:57:54 +01:00
Nick Bolton
ab4bd9dff1
Improve grammar in FAQ section of README.md 2024-09-06 00:16:06 +01:00
Nick Bolton
5ad35bb97c
Correct references to BSD in README.md 2024-09-05 21:33:34 +01:00
Nick Bolton
e9926230c2
Add missing Linux distro to README.md 2024-09-05 10:56:44 +01:00
Nick Bolton
6be1c06597
Fixed typos in README.md related to Unix-like 2024-09-05 10:55:24 +01:00
Nick Bolton
562f79eedb
Add officially supported OS list to README.md 2024-09-05 10:53:52 +01:00
Nick Bolton
45aa263af3
Update README.md to provide more community info (#7475)
* Update README.md to provide more community info

* Fixed typos

* Fixed header format

* Improve link text

* Improve wording around maintainers
2024-09-05 10:10:26 +01:00
Nick Bolton
1e6c603739
Restored SonarCloud quality badge 2024-08-30 23:15:49 +01:00
Nick Bolton
4d84097334
Change default value for dev thanks message (1.16) (#7453)
* Forward port: Change default value for dev thanks message

* Remove sneaky submodules

* Update ChangeLog
2024-08-30 21:14:02 +01:00
Nick Bolton
4e844bf307
Wayland support (port Red Hat libei and libportal impl) (#7449)
* Add libei and libportal

* Port libei and libportal code by Peter Hutterer and Olivier Fourdan

* Add Peter Hutterer and Olivier Fourdan to important devs list

* Improve error handling for libei and libportal builds

* Checkout libportal  tags/0.7.1

* Hack out the gi-docgen clone

* Remove new submodules in favor of using ExternalProject_Add

* Remove submodule dirs

* Use ExternalProject_Add instead of submodules

* Fixed namespace

* Hack to work around type libportal causing type conflicts

* Add log helper functions

* Use original log functions

* Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency

* Restore a few events (much more work required)

* Add TODOs for supporting multiple lib versions

* Revert "Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency"

This reverts commit 610cebb5b6.

* Simplify cmake config by removing builds for libei and libportal (will do this in `install_deps.py` instead)

* Remove submodules

* Remove .gitmodules

* Use meson to build subprojects

* Update copyright with Peter Hutterer's guidance

* Use meson for installing deps

* Fixed typo in tag name

* Remove submodules

* Remove old submodules

* Fixed libei name

* Defaults for pugixml and gtest depending on whether source exists in subprojects

* Ignore some subproject dirs

* Make deps OS-specific

* Move python deps to pyproject

* Only compile and install on Linux with Meson

* Revert "Move python deps to pyproject"

This reverts commit 92c8a287b8.

* Add ninja to brewfile

* Add python3-attr

* Restore original coverage config

* Add ninja for meson

* Include meson in same try-except

* Fixed ninja dep name

* Move libs to correct oS

* Fixed include for wintoast

* Disable docs for libportal

* More options for libei and libportal

* Fixed option for libei

* Use ninja directly to install

* Revert "Use ninja directly to install"

This reverts commit c926d78ba4.

* Meson install verbose

* Prints stdout/stderr

* Remove `from None`

* Remove submodules that somehow crept back in?!

* Prepend sudo if exists

* Add libei deps for all distros

* Fixed Fedora package name

* Add more deps for other distros

* Add more libs (including pugixml)

* Fix lib name

* Drop -u from pacman

* Add vala to rhel

* Make libportal optional

* Make portal link optional

* Remove example code

* Always use system pugixml

* Disable interactive apt through install_deps.py

* Revert "Disable interactive apt through install_deps.py"

This reverts commit 5bbc8fd689.

* Set DEBIAN_FRONTEND in workflows

* Set DEBIAN_FRONTEND in CodeQL workflow

* Add gtest dep

* Add bundled libei dep

* Add libei dep to Arch

* Use `googletest` on openSUSE

* Add gmock dep

* Remove gtest dep from openSUSE

* Add libei on Fedora

* Bundle libei for older Linux distros

* Disable libei dep for RPM

* Also bundle symlink to .so

* Use ${CMAKE_INSTALL_LIBDIR}

* Rename libei to fix openSUSE

* List installed files

* Add libei-devel to openSUSE

* Add googletest-devel to openSUSE

* Remove manual deps (probably resolved automatically)

* Remove googletest from openSUSE (doesn't provide google mock)

* Only add Portal* if libportal found

* WIP - Partial work on using old events system :'(

* Add deps install commands for subprojects

* Solved more compile issues related to events system, threads, etc

* Fixed bad config for adding x, ei, portal sources

* Remove redundant deps

* Remove (another) redundant dep

* Fixed pacman command

* Add Ubuntu and Linux Mint libei deps

* Fixed Ubuntu and Linux Mint libei deps aliases

* Only iterate subprojects if not None

* Add rhel, rocky, and alma for libei

* Make rhel-like deps same as fedora again

* Build libportal on rhel-like

* Re-enable meson rhel-like for libportal

* Remove dbus-python

* Make libportal optional (for rhel-like)

* Handle ei event queue results

* Re-introduce libportal

* Print libei and libportal versions

* Add ei/portal args and client screen

* Switch --use args to --no

* Don't build libei/libportal on older distros as it's pointless

* Make libei and libportal optional

* Add Debian 13 runner

* Make some packages optional

* Remove subprojects

* Improve comment

* Add comment for libportal

* Improve comment

* Add Debian 13 runner

* Make optional... optional

* Change continuation stripper to remove newline and continuation char

* Make command strip more uniform

* Fixed help var syntax

* Fixed libei linking

* Ensure `kHelpNoWayland` is always defined

* Improve help message

* Fixed Debian 13 runner name

* Include sstream and use const var

* Update ChangeLog

* Remove Wayland block

* Return new timer

* Make tray icon logging verbose

* Fixed arg parser for wayland args

* Fixed init of EI screen

* Fixed lint issues

* Update README to indicate Wayland support in GNOME 46

* Add missing word

* Fixed comment positions

* Automate CI env

* Tone down debug log messages

* Add missing comma

* Remove redundant log line
2024-08-30 15:53:25 +01:00
Nick Bolton
2b663a8dc9
Make community edition packages clearer in README 2024-08-24 17:51:16 +01:00
Nick Bolton
47735d25b4
Update README to make community links clearer 2024-08-24 17:40:13 +01:00
Nick Bolton
8449170c0b
Make steps numbered for developers and add packaging info 2024-08-23 13:11:12 +01:00
Nick Bolton
0cdfbd8635
Update readme for Unix users 2024-08-23 12:47:40 +01:00
Nick Bolton
f0b3e32d89
Clarify that no serial key is required in README.md 2024-08-14 17:16:01 +01:00
Nick Bolton
7fa9379a24
Update README.md to include install instructions 2024-08-12 17:23:06 +01:00
Nick Bolton
0804f80724
Update README.md to clarify that CE is active 2024-08-12 17:11:13 +01:00
Nick Bolton
b7d64f962e
Update wording on README.md 2024-08-11 02:09:06 +01:00
Nick Bolton
7b87af4309
Correct mistake in README.md screenshot 2024-08-11 01:59:23 +01:00
Nick Bolton
aba4b7a53d
Update screenshot on README.md 2024-08-11 01:58:28 +01:00
Nick Bolton
fbfd035fe7
Improve wording on README and add screenshot 2024-08-11 01:22:50 +01:00
Nick Bolton
0849010e38
Change 'Quick Start FAQ' to 'Developer Guide' 2024-08-05 11:52:40 +01:00
Nick Bolton
4dd5e0889f
Update package instructions for S1/S3 2024-08-04 20:26:09 +01:00
Nick Bolton
ef29c090af
Add Alma Linux and Rocky Linux runners (#7424)
* Add RHEL image

* Use Fedora config for RHEL

* Use script to activate RHEL

* Mirror mount args

* Set RHEL username and password

* Pass RHEL build args

* Pass RHEL login by file

* Use RHEL 9 for newer Python

* Source RHEL login

* Add case for RHEL Python deps

* Add `--deactivate`

* Do PIP user install

* Upgrade PIP

* Add RHEL config

* Introduce 'command-pre'

* Inherit fedora deps for RHEL and only strip sudo on non-empty command

* Add RHEL 9 runner

* Use RHEL 9 codeready

* Add AlmaLinux EL9

* Add support for RHEL-like

* Add EPEL for Alma

* Enable power tools on Alma

* Fix missing semicolon

* Install EPEL before power tools

* Inherit Alma deps from RHEL

* Switch from `powertools` to `crb`

* Abandon RHEL for now (no Qt 6 support)

* Don't pass required when getting distro key

* Correct key name for Rocky Linux

* Add Repology badge

* Restore original `build-push-action`

* Exclude unsupported Repology entries

* Update ChangeLog
2024-08-04 20:04:40 +01:00
Nick Bolton
ea36b902f4
Update README.md 2024-08-04 20:04:13 +01:00
Nick Bolton
c77f977bbb
Add Slack and Discord links to README 2024-08-01 16:35:10 +01:00
Nick Bolton
6a6de24f59
Improve build instructions in README 2024-07-30 20:48:29 +01:00
Nick Bolton
65e6a40295
Fixed typos in README.md and clarify links 2024-07-23 10:29:57 +01:00
Nick Bolton
bce4e4078c
Improve README wording relating to community edition (#7411) 2024-07-23 10:28:49 +01:00
Nick Bolton
9e302b37e5
Move quality gate badge to front of badges (#7410) 2024-07-23 10:24:47 +01:00
Nick Bolton
273bc65994
Add SonarCloud quality badge to README (#7409) 2024-07-23 10:23:51 +01:00
Nick Bolton
964e5f8128
Update README.md (#7398) 2024-07-16 10:27:21 +01:00
Nick Bolton
481680d072
Run install_deps.py script when building containers weekly (#7384)
* Don't run CodeQL in PR draft

* Speed up analysis workflows

* Run install deps on Debian

* Add badge to readme

* Fixed copy and use workdir

* Use mount instead of copy

* Fixed unwanted && and changed workdir

* Split deps and deps-full

* Fixed context

* Use /app dir

* Use copy instead

* Revert to --mount and use .py (not .sh)

* Test

* Add `./scripts/install_deps.py` to all platforms

* Add missing syntax

* Fixed Python dep for OpenSUSE

* Temp remove WORKDIR for OpenSUSE

* Re-add workdir

* Increase timeout

* Delete `zypper --non-interactive remove busybox-which`

* Restore python3

* Test

* Rename to `lint-source-code`

* Beef up analysis runners

* Fixed workflow runs-on

* Use deps script

* Try pipx for gcovr

* Use containers with deps

* Add -y arg

* Install curl

* Merge deps step

* Add unzip dep

* Make Git dir safe

* Add .local/bin to env

* Improve step name

* Use `pipx ensurepath`

* Install gcovr with apt

* Use Ubuntu 22 with pip

* Update ChangeLog

* Use 16-core for Windows

* Use choco cache

* Test

* Use 8-core for Windows (picked up quicker, more available?)
2024-07-11 15:26:38 +01:00
Nick Bolton
c8d9707857
Re-implement packaging for GitHub workflows (Linux) (#7361)
* Reorganize CMake Packaging module

* Match if statements to function order

* Cleanup root, res, and doc dirs

* Move deps to requirements.txt file

* Reorganize and format CMake files

* Rename changelog lint

* Add reccomended extension

* Workflow to lint CMake files

* Move CMake lint to script

* Try lighter dep

* Use venv

* Add --format arg

* Format all CMake files

* Convert bash script to Python

* Set CMake line ending format

* Restore formatting

* Add pyyaml dep

* Remove unused arg

* Rename config file

* Remove comment

* Repair copyrights (broken by defualt cmake-format)

* Restore 3rd party copyright

* Break up libs config into smaller macros

* Better macro name

* Load config after venv

* Make intentional noop clearer

* Only use upload step if required (make skip clearer)

* Use CPack for deb and rpm packaging

* Add upload step for Linux

* Remove cpack dep, doesn't exist

* Roll back presets version

* Fixed distro like match

* Update ChangeLog

* Legacy checkout for some distros

* All distros support v4

* Trying out newer Linux distros

* Install Git on Docker images

* Install without actions (not available before checkout)

* Delete useless action

* Install Python

* Support for Arch and OpenSUSE

* Add Arch and OpenSUSE to deps

* Name steps

* Full OpenSUSE names

* Mark Git dir safe

* Add pkgconf

* Legacy CMake for Debian 11

* Add OpenSSL to OpenSUSE

* Drop OpenSUSE Leap (no C++20 support)

* Skip packaging for Arch and OpenSUSE (for now)

* Shorten Arch/OpenSUSE names

* Clearer step name

* SImpler bootstrap

* Shell not needed

* Update apt

* Don't check return code

* Simplify python deps commands

* Add STGZ/.sh package type

* Prevent input prompt

* Only config git safe dir when needed

* Try cache v4

* Safe dir for Ubuntu

* Safe dir for Arch

* All Docker images seem to need safe dir config

* Refactor env var getters

* Make Ubuntu build extra packages

* Condense bootstep to single step

* Fixed var name

* Fixed bootstrap logic

* Simplify logic for upload condition (Windows and macOS)

* Make package/upload condition easier to understand

* Add Manjaro

* Generic names for Linux .tar.gz and .sh packages

* Add Manjaro deps

* Swap macOS matrix entries

* Add Red Hat UBI

* Remove RHEL subscription manager

* Throw on unsupported package distro

* Conditionally install pip and venv

* Remove extra pip arg

* Add config for RHEL

* Install EPEL for RHEL

* Back-out RHEL as EPEL requires subscription

* Restore Python deps logic

* Fixed bug: Packacking run twice

* Testing arm32v7 and arm64v8

* Revert "Testing arm32v7 and arm64v8"

This reverts commit cb3caf188d.

* Re-add icon and shortcut file for Linux to package

* Support OpenSUSE RPM build

* Check return code

* Add `rpm-build` for OpenSUSE

* Reorg packages

* Remove busybox-which

* Add --non-interactive

* Move --non-interactive to correct position

* Experiment with makepkg

* Check and print package commands

* Make distro version optional

* Use 8 cores to build

* Default to distro name only

* Fixed bad PKGBUILD filename

* Use 4-part version for Arch

* Remove comma from conflicts

* Use .tar.gz from cwd

* Generate checksum for Arch

* Fixed file extension

* Use shell to print output

* Don't use shell

* Gaurd against bad cmd_utils.run

* Fixed bad import

* Use list command

* Fixed unable to run list commands

* Use source file name

* Simplify PKGBUILD to use make install

* Change install prefix

* Use DESTDIR

* Copy .desktop and .png to build dir

* Restore original `install(FILES...`

* Improving comments

* Fixed: makepkg runs from `src` by default

* Move error after command print

* Remove shell arg

* Package as a user instead of root (makepkg can't run as root)

* Fixed codesign runs in shell

* Allow list commands in shell on windows

* Don't use sudo on arch

* Install sudo on Arch

* Fixed typo

* Fix ownership of build directory for package user

* Improve example .env

* Change to depend on libstdc++6

* Add TODO

* Fixed Fedora version

* Remove libstdc++ deps (names vary between distros)

* Roll back to Fedora 40 and 39

* Improve comment

* Remove unneccesary default
2024-07-02 11:23:56 +01:00
Nick Bolton
05ed4ab757
Add workflow status badges to README (#7359) 2024-06-26 17:42:02 +01:00
Nick Bolton
d0a4c3d7a0
Use deps script to make life easier for contribs (#7351)
* Use deps script to make life easier for contribs

* Make readme more developer friendly

* YAML file to describe Linux deps

* Silent fail for yaml module (Python 3.6+)

* Move Qt install to deps script

* Update readme to add Windows command

* Fixed Linux package name

* Simplify env vars for workflow

* Exclude scripts from SonarCloud

* Move all deps config to .yml file

* Fixed exclude glob

* Simplify quickstart

* Fixed macOS deps config key name

* Fixed bug in Linux config read

* Use backslash for consistency

* Change SonarCloud path to /build/

* Fixed dep name

* Exclude scripts in CMake coverage

* Move script coverage exclusion to online config

* Use try/except instead of checking return value

* Fixed comment typo
2024-06-14 15:32:47 +00:00
Nick Bolton
e4044d2bfc
Remove duplicate link from README.md (#7316) 2024-01-09 10:25:29 +00:00
Nick Bolton
28d45bef0e
Update links and details in README.md (#7315) 2024-01-09 10:24:32 +00:00
Nick Bolton
67d2291c9b
We stand with Ukraine (#7314)
We feel that this message has now fulfilled its purpose. Our Ukrainian team members asked that we share these links:
- https://bank.gov.ua/en/news/all/natsionalniy-bank-vidkriv-spetsrahunok-dlya-zboru-koshtiv-na-potrebi-armiyi
- https://www.prytula-co.org/
- https://www.comebackalive.in.ua/
2024-01-09 10:20:05 +00:00
Nick Bolton
fb0dbd9899
Fix link in readme 2022-05-03 10:17:25 +01:00
Nick Bolton
6dd7d31463
Add link to Synergy Vintage 2022-05-03 10:16:48 +01:00
Nick Bolton
c542c57b5e
#StandWithUkraine 2022-03-14 21:07:16 +00:00
Idar Lund
58b74f4ff0
Update README.md (#6967)
* Update README.md

updated outdated urls. also removed duplicate url to blog

* Update README.md

Co-authored-by: Andrea Candian <69197697+andreacndn@users.noreply.github.com>
2021-05-28 16:07:24 +03:00
Andrea Candian
03f5344b93
Update README.md 2021-02-12 11:56:11 +00:00
Nick Bolton
9822d3ed36
Updated link to blog (to show newer posts) 2020-11-19 16:54:18 +00:00
Nick Bolton
c4f3a68c64
Fixed Slack link in readme (old one had expired) 2020-05-16 10:18:25 +01:00
Jamie Newbon
04504c59bb #6666 Updated git ignore and Readme 2020-04-30 10:27:32 +01:00
Jnewbon
820b882f8a
Added crowdin link for translations to the readme 2020-03-19 22:20:31 +00:00