-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit d21196f
Showing
8,220 changed files
with
4,056,273 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Normalize line endings of all files that Git considers to be text | ||
* text=auto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
--- | ||
name: Bug report | ||
about: Create a report to help us improve | ||
|
||
--- | ||
|
||
**Describe the bug** | ||
A clear and concise description of what the bug is. | ||
|
||
**To Reproduce** | ||
Steps to reproduce the behavior: | ||
1. Go to '...' | ||
2. Click on '....' | ||
3. Scroll down to '....' | ||
4. See error | ||
|
||
**Expected behavior** | ||
A clear and concise description of what you expected to happen. | ||
|
||
**Screenshots** | ||
If applicable, add screenshots to help explain your problem. | ||
|
||
**Additional information (please complete the following information):** | ||
- OS: [e.g. Mac High Sierra, Ubuntu 18.04, Windows 10] | ||
- Version [e.g. Audacity 2.5.1] | ||
- (if relevant) Sound Device [e.g. Windows WASAPI, USB Sound card] | ||
|
||
**Additional context** | ||
Add any other context about the problem here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- | ||
name: Feature request | ||
about: Suggest an idea for this project | ||
|
||
--- | ||
|
||
**Is your feature request related to a problem? Please describe.** | ||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] | ||
|
||
**Describe the solution you'd like** | ||
A clear and concise description of what you want to happen. | ||
|
||
**Describe alternatives you've considered** | ||
A clear and concise description of any alternative solutions or features you've considered. | ||
|
||
**Additional context** | ||
Add any other context or screenshots about the feature request here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,331 @@ | ||
# | ||
# CMake based build for Audacity | ||
# | ||
name: CMake Build | ||
|
||
# | ||
# Only execute on "git push" actions | ||
# | ||
on: | ||
push: | ||
# Remove the "#" from the next 2 lines if you need to disable this action | ||
#branches: | ||
# - disable | ||
pull_request: | ||
# Remove the "#" from the next 2 lines if you need to disable this action | ||
#branches: | ||
# - disable | ||
|
||
# | ||
# Global environment variables | ||
# | ||
env: | ||
WXURL: https://github.com/audacity/wxWidgets | ||
WXREF: audacity-fixes-3.1.3 | ||
WXWIN: ${{ github.workspace }}/wxwin | ||
# As of 2021/01/01, github is using Xcode 12.2 as the default and | ||
# it has a bug in the install_name_tool. So explicitly use 12.3 | ||
# instead. | ||
DEVELOPER_DIR: /Applications/Xcode_12.3.app/Contents/Developer | ||
|
||
# | ||
# Define our job(s) | ||
# | ||
jobs: | ||
build: | ||
name: ${{ matrix.config.name }} | ||
runs-on: ${{ matrix.config.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- { | ||
name: "Windows_32bit", | ||
os: windows-latest, | ||
generator: "Visual Studio 16 2019", | ||
platform: "Win32" | ||
} | ||
- { | ||
name: "Windows_64bit", | ||
os: windows-latest, | ||
generator: "Visual Studio 16 2019", | ||
platform: "x64" | ||
} | ||
- { | ||
name: "Ubuntu_18.04", | ||
os: ubuntu-18.04, | ||
generator: "Unix Makefiles" | ||
} | ||
- { | ||
name: "macOS", | ||
os: macos-latest, | ||
generator: "Xcode" | ||
} | ||
|
||
steps: | ||
# ========================================================================= | ||
# SHARED: Checkout source | ||
# ========================================================================= | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
# with: | ||
# ref: master | ||
|
||
# ========================================================================= | ||
# SHARED: Retrieve git hashes and set up for cache | ||
# ========================================================================= | ||
- name: Setup cache | ||
shell: bash | ||
run: | | ||
set -x | ||
# Get latest wxWidgets commit hash | ||
wxhash=$(git ls-remote "${WXURL}" "${WXREF}" | awk 'NR==1 {print $1}') | ||
# Build the cache key | ||
wxhash="wx_${wxhash}_${RUNNER_OS}_${{matrix.config.platform}}" | ||
# Export the commit hash to further steps | ||
echo "WXHASH=${wxhash}" >> ${GITHUB_ENV} | ||
# Get the short hash | ||
shorthash=$(git show -s --format='%h') | ||
# Export the short hash for the upload step | ||
echo "SHORTHASH=${shorthash}" >> ${GITHUB_ENV} | ||
# Export the destination directory name | ||
echo "DEST=${{matrix.config.name}}_${shorthash}" >> ${GITHUB_ENV} | ||
# ========================================================================= | ||
# SHARED: Create and/or retrieve wxWidgets cached build | ||
# ========================================================================= | ||
- name: Populate cache | ||
id: cache | ||
uses: actions/cache@v1 | ||
with: | ||
# Increment the number at the end to force recreation of the cache | ||
key: ${{ env.WXHASH }}.2 | ||
path: ${{ env.WXWIN }} | ||
|
||
# ========================================================================= | ||
# WINDOWS: Build (for all versions of Windows) | ||
# ========================================================================= | ||
- name: Build for Windows | ||
if: startswith( matrix.config.os, 'windows' ) | ||
shell: bash | ||
run: | | ||
set -x | ||
# Build wxWidgets if needed | ||
if [ ! -e "${WXWIN}" ] | ||
then | ||
# Clone the wxWidgets repo | ||
git clone --depth 1 --recurse-submodules -b "${WXREF}" "${WXURL}" "wxroot" | ||
# Use cmake since it defines the MSVC environment for us | ||
cmake -S "wxroot" \ | ||
-B "wxroot" \ | ||
-G "${{matrix.config.generator}}" \ | ||
-A "${{matrix.config.platform}}" | ||
# Build | ||
cmake --build "wxroot" --config Release --verbose | ||
# Install to the cached path | ||
cmake --install "wxroot" --config Release --prefix "${WXWIN}" | ||
# On Windows, we need zlib for libid3tag | ||
mkdir -p "${WXWIN}/src" | ||
cp -a "wxroot/lib" "${WXWIN}/" | ||
cp -a "wxroot/src/zlib" "${WXWIN}/src" | ||
fi | ||
# Convert to CMake path | ||
export WXWIN="${WXWIN//\\//}" | ||
# Configure Audacity | ||
# | ||
# The wxWidgets_USE_REL_AND_DBG is needed because, | ||
# on Github, we only build the Release version of | ||
# wxWidgets and the FindwxWidgets CMake module | ||
# defaults to looking for both. If either of them | ||
# isn't found, then it doesn't provided the required | ||
# library information. This is only a concern for | ||
# Windows. | ||
cmake -S . \ | ||
-B build \ | ||
-G "${{matrix.config.generator}}" \ | ||
-A ${{matrix.config.platform}} \ | ||
-D wxWidgets_USE_REL_AND_DBG=no \ | ||
-D audacity_use_pch=no | ||
# Build Audacity | ||
cmake --build build --config Release --verbose | ||
# "Install" Audacity | ||
mkdir -p "${DEST}" | ||
cp -a build/bin/Release/* "${DEST}" | ||
rm -f "${DEST}"/{*.iobj,*.ipdb} | ||
# Create artifact (zipped as Github actions don't preserve permissions) | ||
cmake -E tar c "${GITHUB_SHA}.zip" --format=zip "${DEST}" | ||
# ========================================================================= | ||
# MACOS: Build (for all versions of MacOS) | ||
# ========================================================================= | ||
- name: Build for macOS | ||
if: startswith( matrix.config.os, 'macos' ) | ||
shell: bash | ||
run: | | ||
set -x | ||
# Setup environment | ||
export PATH="/usr/local/bin:${PATH}" | ||
export DYLD_LIBRARY_PATH="/usr/local/lib" | ||
# Install required packages | ||
brew install gettext | ||
brew link --force gettext | ||
# Build wxWidgets if needed | ||
if [ ! -e "${WXWIN}" ] | ||
then | ||
# Clone the wxWidgets repo | ||
git clone --depth 1 --recurse-submodules -b "${WXREF}" "${WXURL}" "wxroot" | ||
# Make sure our flags are included | ||
export CXX="g++ -std=c++1z -stdlib=libc++" | ||
export LD="g++ -std=c++1z -stdlib=libc++" | ||
# The cmake build produces an incorrect wx-config script, so use | ||
# the plain old configure/make | ||
cd wxroot | ||
./configure --prefix=/usr/local \ | ||
--enable-debug=no \ | ||
--enable-macosx-arch="x86_64" \ | ||
--enable-shared=yes \ | ||
--enable-unicode=yes \ | ||
--enable-universal_binary=no \ | ||
--enable-webkit=no \ | ||
--enable-webviewwebkit=no \ | ||
--with-expat=builtin \ | ||
--with-flavour="release" \ | ||
--with-libjpeg=builtin \ | ||
--with-libpng=builtin \ | ||
--with-libtiff=builtin \ | ||
--with-macosx-version-min="10.7" \ | ||
--with-regex=builtin \ | ||
--with-zlib=builtin \ | ||
--without-liblzma | ||
# Build and install to cached path | ||
make -j $(sysctl -n hw.ncpu) install DESTDIR="${WXWIN}" | ||
cd .. | ||
# Clean up | ||
unset CXX LD | ||
fi | ||
# "Install" wxWidgets | ||
sudo cp -a "${WXWIN}"/usr/* /usr | ||
# Configure Audacity | ||
cmake -S . \ | ||
-B build \ | ||
-G "${{matrix.config.generator}}" \ | ||
-D audacity_use_pch=no | ||
# Build Audacity | ||
cmake --build build --config Release | ||
# "Install" Audacity | ||
mkdir -p "${DEST}" | ||
cp -a build/bin/Release/ "${DEST}" | ||
# Create artifact (zipped as Github actions don't preserve permissions) | ||
cmake -E tar c "${GITHUB_SHA}.zip" --format=zip "${DEST}" | ||
# ========================================================================= | ||
# UBUNTU: Build (for all versions of Ubuntu) | ||
# ========================================================================= | ||
- name: Build for Ubuntu | ||
if: startswith( matrix.config.os, 'ubuntu' ) | ||
shell: bash | ||
run: | | ||
set -x | ||
# Setup environment | ||
export PATH="/usr/local/bin:${PATH}" | ||
export LD_LIBRARY_PATH="/usr/local/lib" | ||
# Install required packages | ||
sudo apt-get update -y | ||
sudo apt-get install -y libgtk2.0-dev libasound2-dev gettext | ||
sudo apt-get remove -y ccache | ||
# Build wxWidgets if needed | ||
if [ ! -e "${WXWIN}" ] | ||
then | ||
# Clone the wxWidgets repo | ||
git clone --depth 1 --recurse-submodules -b "${WXREF}" "${WXURL}" "wxroot" | ||
# Install additional required package | ||
sudo apt-get install -y autoconf automake | ||
# The cmake build produces an incorrect wx-config script, so use | ||
# the plain old configure | ||
cd wxroot | ||
./configure --with-gtk | ||
# Build and install to cached path | ||
make -j $(nproc) install DESTDIR="${WXWIN}" | ||
cd .. | ||
fi | ||
# "Install" wxWidgets | ||
sudo cp -a "${WXWIN}"/* / | ||
# Configure Audacity | ||
cmake -S . \ | ||
-B build \ | ||
-G "${{matrix.config.generator}}" \ | ||
-D audacity_use_pch=no | ||
# Build Audacity | ||
cmake --build build --config Release | ||
# "Install" Audacity | ||
cmake --install build --config Release --prefix "${DEST}" | ||
# Create the lib directory | ||
mkdir -p ${DEST}/lib | ||
# Copy over wxWidgets libs | ||
ldd ${DEST}/bin/audacity | ||
for lib in $(ldd ${DEST}/bin/audacity | awk '/libwx/{print $3}') | ||
do | ||
echo ${lib} | ||
ldd ${lib} | awk '/libwx/{print $3}' | ||
done | sort -u | xargs cp -n -H -t ${DEST}/lib | ||
# Create wrapper script | ||
cat >"${DEST}/audacity" <<"EOF" | ||
#!/bin/sh | ||
export LD_LIBRARY_PATH="${0%/*}/lib:${LD_LIBRARY_PATH}" | ||
"${0%/*}/bin/audacity" | ||
EOF | ||
chmod +x "${DEST}/audacity" | ||
# Create artifact (zipped as Github actions don't preserve permissions) | ||
cmake -E tar c "${GITHUB_SHA}.zip" --format=zip "${DEST}" | ||
# ========================================================================= | ||
# SHARED: Attach the artifact to the workflow results | ||
# ========================================================================= | ||
- name: Upload artifact | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: ${{ matrix.config.name }}_${{ env.SHORTHASH }} | ||
path: ${{ github.sha }}.zip | ||
|
Oops, something went wrong.