Commit Graph

21 Commits

Author SHA1 Message Date
Dmitry Vedenko e83210d45e
Reenables Nyquist for the prebuilt Linux binaries (#989)
* Reenables Nyquist for the prebuilt Linux binaries

* Allow users setting the AUDACITY_MODULES_PATH env variable.
2021-06-16 19:32:29 +03:00
Peter Jonas de2213ea2c Generate AppImage on GitHub Actions
Fixes #695. Supersedes #172. See https://appimage.org/.
2021-06-16 11:00:16 -04:00
Peter Jonas 4b5c95d7fe Move GitHub Actions CI scripts into separate files
Break the workflow into smaller stages (Configure, Build, Install,
Package, etc.) so that you can see exactly which stage failed in the
GitHub Actions run log.

Create a separate Bash CI script for each job stage (configure.sh,
build.sh, install.sh, package.sh, etc.) to reduce the size of the main
YAML workflow file and enable Bash syntax highlighting.

Close #917
2021-06-10 10:09:49 -07:00
Dmitry Vedenko 7c1f843322 Use libjpeg-turbo as a wxWidgets dependecy
Turns out, libjpeg is downloaded over plain HTTP from the official IJG site. It is now replaced with libjpeg-turbo.
2021-05-31 02:08:17 -07:00
Dmitry Vedenko 4dc4e86863 Make lib-network-manager an opt-in library 2021-05-26 07:41:47 -07:00
Dmitry Vedenko 733cf89cff Adds curl to the list of system libraries
Fixes macOS build with system libcurl
2021-05-26 12:46:45 +03:00
Dmitry Vedenko cf2054fac4 Updated the Docker image according with the code review 2021-05-24 06:53:53 -07:00
Dmitry Vedenko 8eb4654a9c Documentation is updated 2021-05-24 06:53:53 -07:00
Dmitry Vedenko cd92807dc9 Fixes missing LF 2021-05-24 06:53:53 -07:00
Dmitry Vedenko 66a85bf97c Update the build documentation 2021-05-24 06:53:53 -07:00
Dmitry Vedenko 8aca9d02de Add the first Conan-based dependecies
add_conan_lib cmake function is defined, that allows to add a dependency using Conan with two possible system fallbacks:

1. pkg_check_modules is invoked, if `PGK_CONFIG ...` is present
2. find_package is invoked if `FIND_PACKAGE_OPTIONS` is present and `pkg_check_modules` has failed

If `ALWAYS_ALLOW_CONAN_FALLBACK` is present - `obey_system_dependencies` will be ignored for the package

Currently, the following dependencies are retrieved using Conan:

* zlib
* expat
* wxwidgets
* libmp3lame
* libid3tag
* libmad

The last three libraries are included in this commit, as they depend on zlib.
Properly pass **arch** and **os.version** to Conan
2021-05-24 06:53:53 -07:00
Dmitry Vedenko 576b7e66d2 Update min-macos to 10.9
Since XCode 10, Apple does not recommend building for macOS <10.9

Reason - 10.7 and 10.8 require libstdc++

We enforce libc++ 

```# Shouldn't cmake do this???
   string( APPEND CMAKE_CXX_FLAGS " -stdlib=libc++" )```

While this generally works, it makes the proper dependency management tricky.
 
Compiler message for the library support:

```
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
    ld: library not found for -lstdc++
```
2021-05-24 06:53:53 -07:00
Dmitry Vedenko 9c8185545d Adds an environment to check, how well Linux builds with system packages
A special mode `audacity_obey_system_dependencies` is added, so the build will fail if we could not build against a system package for some reason. 

The following packages are marked for the local build now:

* **wxWidgets**: Ubuntu lacks support for 3.1.3. We can't build against 3.0 branch.
* **portaudio**: there are issues, that prevent using a system version of portaudio.
* **sqlite3**: Ubuntu package is very dated; we care about the performance and stability.
* **nyquist**: Ubuntu has no package available.
* **vamp**: Ubuntu has no development package available.
* **portmixer**: Ubuntu has no package available.
* **sbsms**: Ubuntu package is very dated; we care about the performance and stability.

We use docker to create a clean build environment. Currently, `pkg-config` is used to locate the system libraries. There are few issues with `pkg-config` on Ubuntu:

* It does not work with `lame` and `portmidi`.
* The packaged files for `id3tag` and `mad` have wrong version.
We fix such cases by copying the 
into `/usr/local/lib`.
2021-05-24 06:53:53 -07:00
James Crook 313900e360
make install. 2021-03-19 20:18:29 +00:00
James Crook de50f55f61 Update build instructions 2020-06-28 11:03:49 +01:00
Leland Lucius 5bd5b8af4c Update wx version in build instructions 2020-05-24 14:21:16 -05:00
James Crook 93544c7f72 Direct people building on Linux to our wiki
The updated build instructions using CMake are on wiki.
2020-04-26 11:04:18 +01:00
Mikhail Korbakov e2ad0bbc2e We need libasound-dev to build on ubuntu 16.04 2018-11-04 17:56:00 +00:00
James Crook 5c5253e147
More to remove with -j4. 2018-09-29 19:49:27 +01:00
James Crook 9912fd6774
Remove -j4
The -j4 is a faster variation for multicore machines.
2018-09-29 19:43:45 +01:00
James Crook 83f1537e33 Update build instructions for 2.3.0 2018-09-15 22:22:14 +01:00