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
This commit is contained in:
parent
ad330d7fba
commit
ca49855fc1
5 changed files with 158 additions and 53 deletions
50
BUILD.md
Normal file
50
BUILD.md
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
# Build Synergy
|
||||||
|
|
||||||
|
## Developer Quick Start
|
||||||
|
|
||||||
|
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
|
||||||
|
run it, tinker with it, redistribute it as part of their own app, etc.
|
||||||
|
|
||||||
|
These instructions will build Synergy 1 Community Edition, which doesn't require a license
|
||||||
|
or serial key. Check the [Developer Guide](https://github.com/symless/synergy/wiki/Developer-Guide)
|
||||||
|
wiki page if you have problems.
|
||||||
|
|
||||||
|
**1. Dependencies:**
|
||||||
|
|
||||||
|
*Linux, macOS, or BSD-derived:*
|
||||||
|
```
|
||||||
|
./scripts/install_deps.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
*Windows:*
|
||||||
|
```
|
||||||
|
python scripts/install_deps.py
|
||||||
|
```
|
||||||
|
|
||||||
|
**2. Configure:**
|
||||||
|
|
||||||
|
*Linux, macOS, or BSD-derived:*
|
||||||
|
```
|
||||||
|
cmake -B build
|
||||||
|
```
|
||||||
|
|
||||||
|
*Windows:*
|
||||||
|
```
|
||||||
|
cmake -B build --preset=windows-release
|
||||||
|
```
|
||||||
|
|
||||||
|
**3. Build:**
|
||||||
|
```
|
||||||
|
cmake --build build -j8
|
||||||
|
```
|
||||||
|
|
||||||
|
**4. Test:**
|
||||||
|
```
|
||||||
|
./build/bin/unittests
|
||||||
|
./build/bin/integtests
|
||||||
|
```
|
||||||
|
|
||||||
|
**5. Run**
|
||||||
|
```
|
||||||
|
./build/bin/synergy
|
||||||
|
```
|
||||||
|
|
@ -1 +1,12 @@
|
||||||
See our wiki for information on contributing code: https://github.com/symless/synergy/wiki
|
# Contributing to Synergy
|
||||||
|
|
||||||
|
Hello future community member!
|
||||||
|
|
||||||
|
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
|
||||||
|
run it, tinker with it, redistribute it as part of their own app, etc.
|
||||||
|
|
||||||
|
See our wiki page on [contributing](https://github.com/symless/synergy/wiki/Contributing) for more
|
||||||
|
information. We look forward to reviewing your PR!
|
||||||
|
|
||||||
|
Thanks,
|
||||||
|
The Synergy community
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ Enhancements:
|
||||||
- #7471 Use `vcpkg` to manage `openssl` dep instead of `choco`
|
- #7471 Use `vcpkg` to manage `openssl` dep instead of `choco`
|
||||||
- #7473 Simplify `vcpkg` caching and use system `vcpkg`
|
- #7473 Simplify `vcpkg` caching and use system `vcpkg`
|
||||||
- #7474 FreeBSD GitHub runner with `vmactions/freebsd-vm@v1`
|
- #7474 FreeBSD GitHub runner with `vmactions/freebsd-vm@v1`
|
||||||
|
- #7479 Add `BUILD.md` to get people started
|
||||||
|
|
||||||
# 1.15.1
|
# 1.15.1
|
||||||
|
|
||||||
|
|
|
||||||
143
README.md
143
README.md
|
|
@ -6,21 +6,29 @@
|
||||||
[](https://github.com/symless/synergy/actions/workflows/sonarcloud-analysis.yml)
|
[](https://github.com/symless/synergy/actions/workflows/sonarcloud-analysis.yml)
|
||||||
[](https://github.com/symless/synergy/actions/workflows/build-containers.yml)
|
[](https://github.com/symless/synergy/actions/workflows/build-containers.yml)
|
||||||
|
|
||||||
[Synergy](https://symless.com/synergy) is a keyboard and mouse sharing app. Use the keyboard, mouse, or trackpad of one computer to control nearby computers, and work seamlessly between them.
|
[Synergy](https://symless.com/synergy) is a keyboard and mouse sharing app.
|
||||||
|
Use the keyboard, mouse, or trackpad of one computer to control nearby computers,
|
||||||
|
and work seamlessly between them.
|
||||||
|
|
||||||
This project contains the source code for _Synergy 1 Community Edition_ which is actively maintained, free to use, and does not require a license or serial key.
|
This project contains the source code for _Synergy 1 Community Edition_ which is actively
|
||||||
|
maintained.
|
||||||
|
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
|
||||||
|
run it, tinker with it, redistribute it as part of their own app, etc.
|
||||||
|
|
||||||
**Wayland support:** Wayland now has experimental support (GNOME 46 is required, KDE TBD).
|
**Wayland support:** Wayland now has experimental support (GNOME 46 is required, KDE TBD).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
To use the community edition, install the `synergy` package with your favorite package manager or build it yourself using the Developer Quick Start instructions below.
|
To use the community edition, install the `synergy` package with your favorite package manager
|
||||||
|
or build it yourself using the Developer Quick Start instructions below.
|
||||||
|
|
||||||
## Goals and Philosophy
|
## Goals and Philosophy
|
||||||
|
|
||||||
Version 1.15 brings a new philosophy of being more approachable to the open-source community instead of wholly focusing on commercial interests.
|
Version 1.15 brings a new philosophy of being more approachable to the open-source community
|
||||||
We still have customers to support the development of the code, but we are committed to maintaining and improving Synergy 1 Community Edition
|
instead of wholly focusing on commercial interests.
|
||||||
for years to come and we're excited to work with the community to improve the code for the benefit of everyone.
|
We still have customers in order to finance the development of the code, but we are committed to
|
||||||
|
maintaining and improving Synergy 1 Community Edition for years to come and we're excited to work
|
||||||
|
with our community of open source users to improve the code for the benefit of everyone.
|
||||||
|
|
||||||
## Operating Systems
|
## Operating Systems
|
||||||
|
|
||||||
|
|
@ -29,7 +37,7 @@ We support all major operating systems, including Windows, macOS, Linux, and Uni
|
||||||
All Linux distributions are supported, primarily focusing on:
|
All Linux distributions are supported, primarily focusing on:
|
||||||
Debian, Ubuntu, Linux Mint, Fedora, RHEL, AlmaLinux, Rocky Linux, Arch Linux, openSUSE, Gentoo.
|
Debian, Ubuntu, Linux Mint, Fedora, RHEL, AlmaLinux, Rocky Linux, Arch Linux, openSUSE, Gentoo.
|
||||||
|
|
||||||
We officially support FreeBSD, we would also like to support: OpenBSD, NetBSD, DragonFly BSD, Solaris.
|
We officially support FreeBSD, and would also like to support: OpenBSD, NetBSD, DragonFly, Solaris.
|
||||||
|
|
||||||
## Ways to get involved
|
## Ways to get involved
|
||||||
|
|
||||||
|
|
@ -46,7 +54,12 @@ Here are a few ways to join in with the project and get involved:
|
||||||
|
|
||||||
## Developer Quick Start
|
## Developer Quick Start
|
||||||
|
|
||||||
How to build Synergy 1 Community Edition. Check the [Developer Guide](https://github.com/symless/synergy/wiki/Developer-Guide) wiki page if you have problems.
|
Synergy 1 Community Edition is free and open source software, and anyone is welcome to build it,
|
||||||
|
run it, tinker with it, redistribute it as part of their own app, etc.
|
||||||
|
|
||||||
|
These instructions will build Synergy 1 Community Edition, which doesn't require a license
|
||||||
|
or serial key. Check the [Developer Guide](https://github.com/symless/synergy/wiki/Developer-Guide)
|
||||||
|
wiki page if you have problems.
|
||||||
|
|
||||||
**1. Dependencies:**
|
**1. Dependencies:**
|
||||||
|
|
||||||
|
|
@ -62,21 +75,16 @@ python scripts/install_deps.py
|
||||||
|
|
||||||
**2. Configure:**
|
**2. Configure:**
|
||||||
|
|
||||||
|
*Linux, macOS, or BSD-derived:*
|
||||||
|
```
|
||||||
|
cmake -B build
|
||||||
|
```
|
||||||
|
|
||||||
*Windows:*
|
*Windows:*
|
||||||
```
|
```
|
||||||
cmake -B build --preset=windows-release
|
cmake -B build --preset=windows-release
|
||||||
```
|
```
|
||||||
|
|
||||||
*macOS:*
|
|
||||||
```
|
|
||||||
cmake -B build --preset=macos-release
|
|
||||||
```
|
|
||||||
|
|
||||||
*Linux:*
|
|
||||||
```
|
|
||||||
cmake -B build --preset=linux-release
|
|
||||||
```
|
|
||||||
|
|
||||||
**3. Build:**
|
**3. Build:**
|
||||||
```
|
```
|
||||||
cmake --build build -j8
|
cmake --build build -j8
|
||||||
|
|
@ -85,6 +93,12 @@ cmake --build build -j8
|
||||||
**4. Test:**
|
**4. Test:**
|
||||||
```
|
```
|
||||||
./build/bin/unittests
|
./build/bin/unittests
|
||||||
|
./build/bin/integtests
|
||||||
|
```
|
||||||
|
|
||||||
|
**5. Run**
|
||||||
|
```
|
||||||
|
./build/bin/synergy
|
||||||
```
|
```
|
||||||
|
|
||||||
## How to install (packages)
|
## How to install (packages)
|
||||||
|
|
@ -93,43 +107,54 @@ Synergy 1 Community Edition is packaged by the community (status shown below).
|
||||||
|
|
||||||
Synergy 2 is no longer in development and we recommend that package maintainers do not provide it.
|
Synergy 2 is no longer in development and we recommend that package maintainers do not provide it.
|
||||||
|
|
||||||
Synergy 3 and Synergy 1 (licensed) are available to download from the [official packages](https://symless.com/synergy/download).
|
Synergy 3 and Synergy 1 (licensed) are available to download from the
|
||||||
|
[official packages](https://symless.com/synergy/download).
|
||||||
|
|
||||||
**Community edition:**
|
**Community edition:**
|
||||||
|
|
||||||
*Windows:*
|
|
||||||
```
|
|
||||||
choco install synergy
|
|
||||||
```
|
|
||||||
|
|
||||||
*macOS:*
|
*macOS:*
|
||||||
```
|
```
|
||||||
brew install synergy
|
brew install synergy
|
||||||
```
|
```
|
||||||
|
|
||||||
*Debian, Ubuntu, etc:*
|
|
||||||
```
|
|
||||||
sudo apt install synergy
|
|
||||||
```
|
|
||||||
|
|
||||||
*Fedora, Red Hat, etc:*
|
*Fedora, Red Hat, etc:*
|
||||||
```
|
```
|
||||||
sudo dnf install synergy
|
sudo dnf install synergy
|
||||||
```
|
```
|
||||||
|
|
||||||
|
*Debian, Ubuntu, etc:*
|
||||||
|
*(temporarily broken)*
|
||||||
|
```
|
||||||
|
sudo apt install synergy
|
||||||
|
```
|
||||||
|
|
||||||
*Arch, Manjaro, etc:*
|
*Arch, Manjaro, etc:*
|
||||||
|
*(temporarily broken)*
|
||||||
```
|
```
|
||||||
sudo pacman -S synergy
|
sudo pacman -S synergy
|
||||||
```
|
```
|
||||||
|
|
||||||
|
*Windows:*
|
||||||
|
*(very outdated)*
|
||||||
|
```
|
||||||
|
choco install synergy
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** Some packages are temporarily broken. We have reached out to the package maintainers to
|
||||||
|
resolve this. If you're a package maintainer and have a question for us,
|
||||||
|
[please let us know](ttps://github.com/symless/synergy/wiki/Contact-the-team).
|
||||||
|
|
||||||
## Package Maintainers
|
## Package Maintainers
|
||||||
|
|
||||||
Synergy is already available through most package managers as `synergy`, and we would love to see the latest version of
|
Synergy is already available through most package managers as `synergy`, and we would love to see
|
||||||
Synergy 1 Community Edition on every package manager for every OS we support (Windows, macOS, Linux, Unix-like BSD-derived, etc).
|
the latest version of Synergy 1 Community Edition on every package manager for every OS we support
|
||||||
|
(Windows, macOS, Linux, Unix-like BSD-derived, etc).
|
||||||
|
|
||||||
Package maintainers can use `scripts/package.py` to see how we build packages,
|
Package maintainers can use `scripts/package.py` to see how we build packages,
|
||||||
but most package maintainers will create a packaging script rather than use our scripts (which is fine by us).
|
but most package maintainers will create a packaging script rather than use our scripts
|
||||||
If you're a package maintainer and have a question, please [get in touch](https://github.com/symless/synergy/wiki/Contact-the-team).
|
(which is fine by us).
|
||||||
|
If you're a package maintainer and have a question, please
|
||||||
|
[get in touch](https://github.com/symless/synergy/wiki/Contact-the-team).
|
||||||
|
|
||||||
Good packages:
|
Good packages:
|
||||||
- [Fedora](https://packages.fedoraproject.org/pkgs/synergy/synergy/)
|
- [Fedora](https://packages.fedoraproject.org/pkgs/synergy/synergy/)
|
||||||
|
|
@ -144,9 +169,10 @@ Broken packages:
|
||||||
- [Debian](https://tracker.debian.org/pkg/synergy)
|
- [Debian](https://tracker.debian.org/pkg/synergy)
|
||||||
- [Chocolatey](https://community.chocolatey.org/packages/synergy)
|
- [Chocolatey](https://community.chocolatey.org/packages/synergy)
|
||||||
|
|
||||||
It appears that the `synergy` package has been removed or discontinued from some package repositories.
|
It appears that the `synergy` package has been removed or discontinued from some package
|
||||||
There are many reasons why this may happen, but sometimes if a package maintainer steps down or leaves the project
|
repositories. There are many reasons why this may happen, but sometimes if a package maintainer
|
||||||
without finding a replacement, the package might lose support, leading to its removal.
|
steps down or leaves the project without finding a replacement, the package might lose support,
|
||||||
|
leading to its removal.
|
||||||
This can also happen when there are difficulties updating the package to the latest version,
|
This can also happen when there are difficulties updating the package to the latest version,
|
||||||
and communication has broken down between the package maintainer and the upstream developers.
|
and communication has broken down between the package maintainer and the upstream developers.
|
||||||
If you're a package maintainer and would like to bring the `synergy` package back to life, please
|
If you're a package maintainer and would like to bring the `synergy` package back to life, please
|
||||||
|
|
@ -156,37 +182,50 @@ If you're a package maintainer and would like to bring the `synergy` package bac
|
||||||
|
|
||||||
### Has Synergy moved beyond its goals from the 1.x era?
|
### Has Synergy moved beyond its goals from the 1.x era?
|
||||||
|
|
||||||
Our goal for Synergy 1 (including the community edition) has always been and will always be to make a simple, reliable, and feature-rich
|
Our goal for Synergy 1 (including the community edition) has always been and will always be to
|
||||||
mouse and keyboard-sharing tool. We do maintain another product called Synergy 3, but as this uses Synergy 1 Core (the server and client
|
make a simple, reliable, and feature-rich mouse and keyboard-sharing tool. We do maintain another
|
||||||
part of Synergy), we depend on Synergy 1 to remain stable and modern which is why we continue to develop and improve the product.
|
product called Synergy 3, but as this uses Synergy 1 Core (the server and client part of Synergy),
|
||||||
|
we depend on Synergy 1 to remain stable and modern which is why we continue to develop and improve
|
||||||
|
the product.
|
||||||
|
|
||||||
### If I want to solve issues in Synergy do I need to contribute to a fork?
|
### If I want to solve issues in Synergy do I need to contribute to a fork?
|
||||||
|
|
||||||
We welcome PRs (pull requests) from the community. If you'd like to make a change, please feel free to
|
We welcome PRs (pull requests) from the community. If you'd like to make a change, please feel
|
||||||
[start a discussion](https://github.com/symless/synergy/discussions) or [open a PR](https://github.com/symless/synergy/wiki/Contributing).
|
free to [start a discussion](https://github.com/symless/synergy/discussions) or
|
||||||
It's great that people spin up rebranded forks of Synergy, power to them. However, it's not necessary if you want to make changes.
|
[open a PR](https://github.com/symless/synergy/wiki/Contributing).
|
||||||
If you're thinking of starting your own rebranded fork of Synergy, it might be because we're doing something wrong so please
|
It's great that people spin up re-branded forks of Synergy, power to them. However, it's not
|
||||||
[let us know](https://github.com/symless/synergy/wiki/Contact-the-team) what we can do to let you feel welcome in our community.
|
necessary if you want to make changes.
|
||||||
|
If you're thinking of starting your own re-branded fork of Synergy, it might be because we're
|
||||||
|
doing something wrong so please
|
||||||
|
[let us know](https://github.com/symless/synergy/wiki/Contact-the-team) what we can do to let
|
||||||
|
you feel welcome in our community.
|
||||||
|
|
||||||
### Is clipboard sharing supported?
|
### Is clipboard sharing supported?
|
||||||
|
|
||||||
Absolutely. The clipboard-sharing feature is a cornerstone feature of the product and we are committed to maintaining and improving that feature.
|
Absolutely. The clipboard-sharing feature is a cornerstone feature of the product and we are
|
||||||
|
committed to maintaining and improving that feature.
|
||||||
|
|
||||||
### Is Wayland for Linux supported?
|
### Is Wayland for Linux supported?
|
||||||
|
|
||||||
Yes! Wayland (the Linux display server protocol aimed to become the successor of the X Window System) is an important platform for us.
|
Yes! Wayland (the Linux display server protocol aimed to become the successor of the X Window
|
||||||
The [`libei`](https://gitlab.freedesktop.org/libinput/libei) and [`libportal`](https://github.com/flatpak/libportal) libraries enable
|
System) is an important platform for us.
|
||||||
Wayland support for Synergy. We would like to give special thanks to Peter Hutterer (@whot), who is the author of `libei`, a major contributor
|
The [`libei`](https://gitlab.freedesktop.org/libinput/libei) and
|
||||||
to `libportal`, and the author of the Wayland implementation in Synergy. Others such as Olivier Fourdan helped with the Wayland implementation,
|
[`libportal`](https://github.com/flatpak/libportal) libraries enable
|
||||||
and we rely on the work of our community of developers to continue the development of Wayland support.
|
Wayland support for Synergy. We would like to give special thanks to Peter Hutterer (@whot),
|
||||||
|
who is the author of `libei`, a major contributor to `libportal`, and the author of the Wayland
|
||||||
|
implementation in Synergy. Others such as Olivier Fourdan helped with the Wayland implementation,
|
||||||
|
and we rely on the work of our community of developers to continue the development of Wayland
|
||||||
|
support.
|
||||||
|
|
||||||
### Where did it all start?
|
### Where did it all start?
|
||||||
|
|
||||||
Synergy was first created in 2001 by Chris Schoeneman.
|
Synergy was first created in 2001 by Chris Schoeneman.
|
||||||
Read about the [history of the project](https://github.com/symless/synergy/wiki/History) on our Wiki.
|
Read about the [history of the project](https://github.com/symless/synergy/wiki/History) on our
|
||||||
|
wiki.
|
||||||
|
|
||||||
## Repology
|
## Repology
|
||||||
|
|
||||||
Repology monitors a huge number of package repositories and other sources comparing package versions across them and gathering other information.
|
Repology monitors a huge number of package repositories and other sources comparing package
|
||||||
|
versions across them and gathering other information.
|
||||||
|
|
||||||
[](https://repology.org/project/synergy/versions)
|
[](https://repology.org/project/synergy/versions)
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@
|
||||||
"Oleksandr",
|
"Oleksandr",
|
||||||
"Olena",
|
"Olena",
|
||||||
"outputdir",
|
"outputdir",
|
||||||
|
"pacman",
|
||||||
"Petroules",
|
"Petroules",
|
||||||
"Pixmap",
|
"Pixmap",
|
||||||
"Poschta",
|
"Poschta",
|
||||||
|
|
@ -48,6 +49,7 @@
|
||||||
"pyproject",
|
"pyproject",
|
||||||
"qputenv",
|
"qputenv",
|
||||||
"Regen",
|
"Regen",
|
||||||
|
"Repology",
|
||||||
"runas",
|
"runas",
|
||||||
"Sbârnea",
|
"Sbârnea",
|
||||||
"Schoeneman",
|
"Schoeneman",
|
||||||
|
|
@ -58,10 +60,12 @@
|
||||||
"synergyc",
|
"synergyc",
|
||||||
"synergyd",
|
"synergyd",
|
||||||
"synergys",
|
"synergys",
|
||||||
|
"trackpad",
|
||||||
"unittests",
|
"unittests",
|
||||||
"Valgrind",
|
"Valgrind",
|
||||||
"vcpkg",
|
"vcpkg",
|
||||||
"Volker",
|
"Volker",
|
||||||
|
"whot",
|
||||||
"winget"
|
"winget"
|
||||||
],
|
],
|
||||||
"ignoreWords": [],
|
"ignoreWords": [],
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue