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:
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`
|
||||
- #7473 Simplify `vcpkg` caching and use system `vcpkg`
|
||||
- #7474 FreeBSD GitHub runner with `vmactions/freebsd-vm@v1`
|
||||
- #7479 Add `BUILD.md` to get people started
|
||||
|
||||
# 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/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).
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||
Version 1.15 brings a new philosophy of being more approachable to the open-source community instead of wholly focusing on commercial interests.
|
||||
We still have customers to support 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 the community to improve the code for the benefit of everyone.
|
||||
Version 1.15 brings a new philosophy of being more approachable to the open-source community
|
||||
instead of wholly focusing on commercial interests.
|
||||
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
|
||||
|
||||
@ -29,7 +37,7 @@ We support all major operating systems, including Windows, macOS, Linux, and Uni
|
||||
All Linux distributions are supported, primarily focusing on:
|
||||
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
|
||||
|
||||
@ -46,7 +54,12 @@ Here are a few ways to join in with the project and get involved:
|
||||
|
||||
## 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:**
|
||||
|
||||
@ -62,21 +75,16 @@ python scripts/install_deps.py
|
||||
|
||||
**2. Configure:**
|
||||
|
||||
*Linux, macOS, or BSD-derived:*
|
||||
```
|
||||
cmake -B build
|
||||
```
|
||||
|
||||
*Windows:*
|
||||
```
|
||||
cmake -B build --preset=windows-release
|
||||
```
|
||||
|
||||
*macOS:*
|
||||
```
|
||||
cmake -B build --preset=macos-release
|
||||
```
|
||||
|
||||
*Linux:*
|
||||
```
|
||||
cmake -B build --preset=linux-release
|
||||
```
|
||||
|
||||
**3. Build:**
|
||||
```
|
||||
cmake --build build -j8
|
||||
@ -85,6 +93,12 @@ cmake --build build -j8
|
||||
**4. Test:**
|
||||
```
|
||||
./build/bin/unittests
|
||||
./build/bin/integtests
|
||||
```
|
||||
|
||||
**5. Run**
|
||||
```
|
||||
./build/bin/synergy
|
||||
```
|
||||
|
||||
## 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 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:**
|
||||
|
||||
*Windows:*
|
||||
```
|
||||
choco install synergy
|
||||
```
|
||||
|
||||
*macOS:*
|
||||
```
|
||||
brew install synergy
|
||||
```
|
||||
|
||||
*Debian, Ubuntu, etc:*
|
||||
```
|
||||
sudo apt install synergy
|
||||
```
|
||||
|
||||
*Fedora, Red Hat, etc:*
|
||||
```
|
||||
sudo dnf install synergy
|
||||
```
|
||||
|
||||
*Debian, Ubuntu, etc:*
|
||||
*(temporarily broken)*
|
||||
```
|
||||
sudo apt install synergy
|
||||
```
|
||||
|
||||
*Arch, Manjaro, etc:*
|
||||
*(temporarily broken)*
|
||||
```
|
||||
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
|
||||
|
||||
Synergy is already available through most package managers as `synergy`, and we would love to see 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).
|
||||
Synergy is already available through most package managers as `synergy`, and we would love to see
|
||||
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,
|
||||
but most package maintainers will create a packaging script rather than use our scripts (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).
|
||||
but most package maintainers will create a packaging script rather than use our scripts
|
||||
(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:
|
||||
- [Fedora](https://packages.fedoraproject.org/pkgs/synergy/synergy/)
|
||||
@ -144,9 +169,10 @@ Broken packages:
|
||||
- [Debian](https://tracker.debian.org/pkg/synergy)
|
||||
- [Chocolatey](https://community.chocolatey.org/packages/synergy)
|
||||
|
||||
It appears that the `synergy` package has been removed or discontinued from some package repositories.
|
||||
There are many reasons why this may happen, but sometimes if a package maintainer steps down or leaves the project
|
||||
without finding a replacement, the package might lose support, leading to its removal.
|
||||
It appears that the `synergy` package has been removed or discontinued from some package
|
||||
repositories. There are many reasons why this may happen, but sometimes if a package maintainer
|
||||
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,
|
||||
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
|
||||
@ -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?
|
||||
|
||||
Our goal for Synergy 1 (including the community edition) has always been and will always be to make a simple, reliable, and feature-rich
|
||||
mouse and keyboard-sharing tool. We do maintain another 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.
|
||||
Our goal for Synergy 1 (including the community edition) has always been and will always be to
|
||||
make a simple, reliable, and feature-rich mouse and keyboard-sharing tool. We do maintain another
|
||||
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?
|
||||
|
||||
We welcome PRs (pull requests) from the community. If you'd like to make a change, please feel free to
|
||||
[start a discussion](https://github.com/symless/synergy/discussions) or [open a PR](https://github.com/symless/synergy/wiki/Contributing).
|
||||
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.
|
||||
If you're thinking of starting your own rebranded 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.
|
||||
We welcome PRs (pull requests) from the community. If you'd like to make a change, please feel
|
||||
free to [start a discussion](https://github.com/symless/synergy/discussions) or
|
||||
[open a PR](https://github.com/symless/synergy/wiki/Contributing).
|
||||
It's great that people spin up re-branded forks of Synergy, power to them. However, it's not
|
||||
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?
|
||||
|
||||
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?
|
||||
|
||||
Yes! Wayland (the Linux display server protocol aimed to become the successor of the X Window System) is an important platform for us.
|
||||
The [`libei`](https://gitlab.freedesktop.org/libinput/libei) and [`libportal`](https://github.com/flatpak/libportal) libraries enable
|
||||
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.
|
||||
Yes! Wayland (the Linux display server protocol aimed to become the successor of the X Window
|
||||
System) is an important platform for us.
|
||||
The [`libei`](https://gitlab.freedesktop.org/libinput/libei) and
|
||||
[`libportal`](https://github.com/flatpak/libportal) libraries enable
|
||||
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?
|
||||
|
||||
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 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)
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
"Oleksandr",
|
||||
"Olena",
|
||||
"outputdir",
|
||||
"pacman",
|
||||
"Petroules",
|
||||
"Pixmap",
|
||||
"Poschta",
|
||||
@ -48,6 +49,7 @@
|
||||
"pyproject",
|
||||
"qputenv",
|
||||
"Regen",
|
||||
"Repology",
|
||||
"runas",
|
||||
"Sbârnea",
|
||||
"Schoeneman",
|
||||
@ -58,10 +60,12 @@
|
||||
"synergyc",
|
||||
"synergyd",
|
||||
"synergys",
|
||||
"trackpad",
|
||||
"unittests",
|
||||
"Valgrind",
|
||||
"vcpkg",
|
||||
"Volker",
|
||||
"whot",
|
||||
"winget"
|
||||
],
|
||||
"ignoreWords": [],
|
||||
|
||||
Reference in New Issue
Block a user