Compare commits
75 Commits
v1.0.0-rel
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| 33622f2295 | |||
| 6f82c112c5 | |||
| d31c429b33 | |||
| b6df9f6029 | |||
| 7ef0fb6f60 | |||
| 5c93b23f64 | |||
| 046bedad89 | |||
| f3fe8fb253 | |||
| 9294e7f4dd | |||
| 22dd35da0b | |||
| fd77678378 | |||
| 87d2c2a888 | |||
| 8d7ee98544 | |||
| fda2ed99ee | |||
| d219cb8b2c | |||
| 594957dc28 | |||
| ab5b00a2aa | |||
| 80bbb40763 | |||
| 32fc696ed3 | |||
| 51d0de9a34 | |||
| 4b96bd433a | |||
| 9435e047d9 | |||
| 65828f03de | |||
| 834b2e26de | |||
| 787bfcff96 | |||
| fe71b0169b | |||
| 6b8c787688 | |||
|
|
e54538ec47 | ||
| 2ace75e5d2 | |||
| 22c7e758a5 | |||
| 631e91c413 | |||
| f764e012c8 | |||
| 2cb0fe8fb8 | |||
| 21a9b41348 | |||
| 0fab6bca52 | |||
| 8c230c3996 | |||
| dc07ea1455 | |||
| e0269b29bc | |||
| 48c1433c19 | |||
| e44db70f59 | |||
| b74b69ff55 | |||
| a95bcaa8d4 | |||
| 7fac85cf3d | |||
| 11561b83b0 | |||
| 3e605fb90c | |||
| 1c0a0e0d64 | |||
| 12148dfd1e | |||
| edf9408a5f | |||
| 13c065e864 | |||
| 25afdedf21 | |||
| be5b36b38c | |||
| 4568927dd2 | |||
| 9380fa6046 | |||
| 6308348e16 | |||
| 0071987e89 | |||
| c4e697a2fb | |||
| ba5f4d1625 | |||
| d7f00481e9 | |||
| 9096068204 | |||
| 89692b0b65 | |||
| b12f7b13dc | |||
| a5ed2a2668 | |||
| 7ad7802153 | |||
| 41f00085ca | |||
| b18dc3f854 | |||
| 503492b5e7 | |||
| 85e47f79a8 | |||
| 5a95bdbdef | |||
| 81af4db6a1 | |||
| 94e4e6d710 | |||
| eca5f76146 | |||
| 60eec05fab | |||
| fe16d78ded | |||
| 7fdbe65812 | |||
| ac76f780df |
@@ -15,6 +15,7 @@ clsid_shelllink
|
||||
cmake_current_source_dir
|
||||
cmake_host_win32
|
||||
comdlg32
|
||||
constexpr
|
||||
cpp_httplib_hash
|
||||
cppcoreguidelines
|
||||
cppdbg
|
||||
@@ -27,6 +28,7 @@ cstdint
|
||||
cxxflags
|
||||
cxxopts_project
|
||||
cxxstd
|
||||
cygpath
|
||||
d_largefile64_source
|
||||
d_largefile_source
|
||||
d_ndebug
|
||||
@@ -160,6 +162,7 @@ msvc
|
||||
msvcr120
|
||||
msvcr90
|
||||
mswsock
|
||||
msys2
|
||||
mtune
|
||||
mwindows
|
||||
nana
|
||||
|
||||
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -1,6 +1,8 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.exe filter=lfs diff=lfs merge=lfs -text
|
||||
*.msi filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.sha256 text eol=lf
|
||||
|
||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -11,3 +11,12 @@ scripts/cleanup.sh
|
||||
support/Dockerfile
|
||||
version.cpp
|
||||
version.rc
|
||||
.DS_Store
|
||||
*.gz
|
||||
*.bz2
|
||||
*.xz
|
||||
*.zip
|
||||
*.msi
|
||||
*.exe
|
||||
*.7z
|
||||
support/3rd_party/vlc/
|
||||
|
||||
@@ -37,6 +37,12 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('clean_packages') {
|
||||
steps { script { retryWithBackoff(2, 5) { sh './clean_packages.sh' } } }
|
||||
}
|
||||
stage('grab_packages') {
|
||||
steps { script { retryWithBackoff(2, 5) { sh './grab_packages.sh' } } }
|
||||
}
|
||||
stage('win32_shared') {
|
||||
steps { script { retryWithBackoff(2, 5) { sh 'scripts/test_win32.sh shared' } } }
|
||||
}
|
||||
|
||||
@@ -36,6 +36,12 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('clean_packages') {
|
||||
steps { script { retryWithBackoff(2, 5) { sh './clean_packages.sh' } } }
|
||||
}
|
||||
stage('grab_packages') {
|
||||
steps { script { retryWithBackoff(2, 5) { sh './grab_packages.sh' } } }
|
||||
}
|
||||
stage('macos_aarch64_shared') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { sh 'scripts/test_unix.sh shared' } }
|
||||
@@ -144,7 +150,13 @@ pipeline {
|
||||
|
||||
stage('macos_x86_64_shared') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { sh 'scripts/test_unix.sh shared "" x86_64' } }
|
||||
script {
|
||||
retryWithBackoff(2, 5) {
|
||||
sh '''
|
||||
scripts/test_unix.sh shared '' x86_64
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('macos_x86_64_shared_crypto') {
|
||||
@@ -184,7 +196,13 @@ pipeline {
|
||||
}
|
||||
stage('macos_x86_64_static') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { sh 'scripts/test_unix.sh static "" x86_64' } }
|
||||
script {
|
||||
retryWithBackoff(2, 5) {
|
||||
sh '''
|
||||
scripts/test_unix.sh static '' x86_64
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('macos_x86_64_static_crypto') {
|
||||
|
||||
109
.jenkins_msys2
Normal file
109
.jenkins_msys2
Normal file
@@ -0,0 +1,109 @@
|
||||
#!groovy
|
||||
pipeline {
|
||||
agent none
|
||||
|
||||
environment {
|
||||
PROJECT_TEST_CONFIG_DIR = "C:\\.ci\\cpp_build_system\\test"
|
||||
}
|
||||
|
||||
options {
|
||||
disableConcurrentBuilds()
|
||||
skipDefaultCheckout()
|
||||
timestamps()
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('msys2 x86_64') {
|
||||
agent any
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
script {
|
||||
int maxAttempts = 6
|
||||
int baseDelay = 10
|
||||
for (int attempt = 1; attempt <= maxAttempts; attempt++) {
|
||||
try {
|
||||
checkout scm
|
||||
break
|
||||
} catch (err) {
|
||||
if (attempt == maxAttempts) { throw err }
|
||||
int waitSec = baseDelay * (1 << (attempt - 1))
|
||||
echo "Checkout failed (attempt ${attempt}/${maxAttempts}). Waiting ${waitSec}s before retry..."
|
||||
sleep time: waitSec, unit: 'SECONDS'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('clean_packages') {
|
||||
steps { script { retryWithBackoff(2, 5) { bat 'clean_packages.cmd' } } }
|
||||
}
|
||||
stage('grab_packages') {
|
||||
steps { script { retryWithBackoff(2, 5) { bat 'grab_packages.cmd' } } }
|
||||
}
|
||||
stage('msys2_x86_64_shared') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(2, 5) {
|
||||
bat '''
|
||||
scripts\\test_msys2.cmd shared '' x86_64
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('msys2_x86_64_shared_crypto') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { bat 'scripts\\test_msys2.cmd shared 1 x86_64' } }
|
||||
}
|
||||
}
|
||||
stage('msys2_x86_64_shared_crypto_no_boost') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { bat 'scripts\\test_msys2.cmd shared 7 x86_64' } }
|
||||
}
|
||||
}
|
||||
stage('msys2_x86_64_shared_dsm') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { bat 'scripts\\test_msys2.cmd shared 2 x86_64' } }
|
||||
}
|
||||
}
|
||||
stage('msys2_x86_64_shared_sqlite') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { bat 'scripts\\test_msys2.cmd shared 3 x86_64' } }
|
||||
}
|
||||
}
|
||||
stage('msys2_x86_64_shared_errors_v1') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { bat 'scripts\\test_msys2.cmd shared 4 x86_64' } }
|
||||
}
|
||||
}
|
||||
stage('msys2_x86_64_shared_fmt') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { bat 'scripts\\test_msys2.cmd shared 5 x86_64' } }
|
||||
}
|
||||
}
|
||||
stage('msys2_x86_64_shared_libevent') {
|
||||
steps {
|
||||
script { retryWithBackoff(2, 5) { bat 'scripts\\test_msys2.cmd shared 6 x86_64' } }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def retryWithBackoff(int maxAttempts, int baseDelaySeconds, Closure body) {
|
||||
for (int attempt = 1; attempt <= maxAttempts; attempt++) {
|
||||
try {
|
||||
body()
|
||||
return
|
||||
} catch (err) {
|
||||
if (attempt == maxAttempts) { throw err }
|
||||
int waitSec = baseDelaySeconds * (1 << (attempt - 1))
|
||||
echo "Step failed (attempt ${attempt}/${maxAttempts}). Waiting ${waitSec}s before retry..."
|
||||
sleep time: waitSec, unit: 'SECONDS'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
42
CHANGELOG.md
Normal file
42
CHANGELOG.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Changelog
|
||||
|
||||
## v2.0.1-release
|
||||
|
||||
**Issues**
|
||||
|
||||
- ~~\#1 Add Windows MSYS2 Jenkins build and testing support~~
|
||||
- \#4 Remove VLC Win32 binaries
|
||||
- \#5 Upgrade to Alpine Linux v3.23
|
||||
- \#6 Upgrade to c++23 standard
|
||||
|
||||
**Changes from v2.0.0-release**
|
||||
|
||||
- Added retries to `wget` and extracted common `download.sh`
|
||||
- Fixed `boost` build not finding/linking `ICU`
|
||||
- Fixed incorrect CHANGELOG.md
|
||||
- Fixed multiple issues compiling on `aarch64`
|
||||
- Fixed mingw64 run_tests.sh in Jenkins builds
|
||||
- Various `macOS` build fixes
|
||||
|
||||
---
|
||||
|
||||
## v2.0.0-release
|
||||
|
||||
**Issues**
|
||||
|
||||
- \#2 [IMPORTANT] Remove package sources and host only the expected SHA-256
|
||||
|
||||
**Changes from v1.0.0-release**
|
||||
|
||||
- Partial Windows MSYS2 Jenkins build and testing support
|
||||
- Properly handle `alpha.x`, `beta.x` and `rc.x` releases in `deliver.sh`
|
||||
- Remove stray "_libevent_" inserted mid-name on macOS x86_64 Jenkins test builds
|
||||
- Use `cygpath` to format Windows paths for use in MSYS2
|
||||
|
||||
---
|
||||
|
||||
## v1.0.0-release
|
||||
|
||||
- Initial Release
|
||||
|
||||
---
|
||||
40
README.md
40
README.md
@@ -36,13 +36,39 @@ All builds are orchestrated through project scripts — **direct CMake invocatio
|
||||
|
||||
## 🚀 Getting Started
|
||||
|
||||
### 1️⃣ Clone the Build System
|
||||
### 1️⃣ Clone the Build System and Grab Packages
|
||||
```bash
|
||||
git clone https://git.fifthgrid.com/sgraves/cpp-build-system.git
|
||||
git clone https://github.com/sgraves76/cpp-build-system.git
|
||||
cd cpp-build-system
|
||||
```
|
||||
|
||||
Run the root-level `grab_packages.sh`/`grab_packages.cmd`
|
||||
|
||||
Example:
|
||||
```bash
|
||||
./grab_packages.sh
|
||||
```
|
||||
|
||||
```cmd
|
||||
grab_packages.cmd
|
||||
```
|
||||
|
||||
This will download and validate all packages currently supported by `cpp-build-system`. They will be placed within the `support/3rd_party/` folder.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> `grab_packages` only needs to be run once per version. When upgrading to a new `cpp-build-system` version, it's highly recommended to run the `clean_packages` script beforehand.
|
||||
|
||||
```bash
|
||||
./clean_packages.sh
|
||||
./grab_packages.sh
|
||||
```
|
||||
|
||||
```cmd
|
||||
clean_packages.cmd
|
||||
grab_packages.cmd
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2️⃣ Create a New Project
|
||||
@@ -52,27 +78,29 @@ Run the root-level `create_project.sh` with:
|
||||
|
||||
Example:
|
||||
```bash
|
||||
./create_project.sh MyApp ~/dev
|
||||
./create_project.sh MyApp ~/src
|
||||
```
|
||||
This creates:
|
||||
```
|
||||
~/dev/MyApp/
|
||||
~/src/MyApp/
|
||||
```
|
||||
|
||||
The new directory contains:
|
||||
- A preconfigured cross-platform C++ project structure
|
||||
- A `scripts/` folder for building and packaging
|
||||
|
||||
> [!NOTE]
|
||||
> 🧩 After creation, you'll work entirely within your new project — **cpp-build-system** remains the master template.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> ⚠️ Do **not** run `cmake` directly — always use the provided scripts.
|
||||
---
|
||||
|
||||
### 3️⃣ Configure the Project
|
||||
|
||||
In your new project directory (`~/dev/MyApp/`), edit these two files before your first build:
|
||||
In your new project directory (`~/src/MyApp/`), edit these two files before your first build:
|
||||
|
||||
> ⚠️ **Important Notice:**
|
||||
> [!IMPORTANT]
|
||||
> Do **not modify** the root `CMakeLists.txt` file in your project.
|
||||
> All changes, targets, and configurations must be made in **`project.cmake`** only.
|
||||
> The top-level `CMakeLists.txt` is managed by cpp-build-system and is required for
|
||||
@@ -155,7 +183,7 @@ Use the provided build wrappers — they take two arguments:
|
||||
If you later want to **add back packages** you previously turned off (and which `cleanup.sh` removed), run the **template’s** update script from the `cpp-build-system` repository root, pointing it at your project path:
|
||||
```bash
|
||||
# from the cpp-build-system repo root
|
||||
./update_project.sh ~/dev/MyApp
|
||||
./update_project.sh ~/src/MyApp
|
||||
```
|
||||
This will **restore all template-managed packages and scripts** (including `cleanup.sh`) into your project so you can re-enable dependencies via `config.sh` and rebuild.
|
||||
|
||||
|
||||
11
clean_packages.cmd
Normal file
11
clean_packages.cmd
Normal file
@@ -0,0 +1,11 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
pushd "%~dp0"
|
||||
call src\scripts\setup_msys2.cmd
|
||||
|
||||
call mingw64 -no-start ./clean_packages.sh
|
||||
popd
|
||||
|
||||
endlocal
|
||||
21
clean_packages.sh
Executable file
21
clean_packages.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CURRENT_DIR=$(realpath "$0")
|
||||
CURRENT_DIR=$(dirname "${CURRENT_DIR}")
|
||||
|
||||
pushd "${CURRENT_DIR}"
|
||||
|
||||
mapfile -t FILE_LIST < <(find support/3rd_party/ -type f \( -name '*.gz' -o -name '*.7z' -o -name '*.bz2' -o -name '*.xz' -o -name '*.msi' -o -name '*.zip' \))
|
||||
|
||||
for NAME in "${FILE_LIST[@]}"; do
|
||||
echo "Removing ${NAME}"
|
||||
rm -f "${NAME}"
|
||||
done
|
||||
|
||||
mapfile -t FILE_LIST < <(find support/3rd_party/mingw64/ -type f \( -name '*.exe' \))
|
||||
for NAME in "${FILE_LIST[@]}"; do
|
||||
echo "Removing ${NAME}"
|
||||
rm -f "${NAME}"
|
||||
done
|
||||
|
||||
popd
|
||||
@@ -48,6 +48,10 @@ list(APPEND PROJECT_CXXFLAGS_LIST
|
||||
-Wunused
|
||||
)
|
||||
|
||||
if (PROJECT_ENABLE_LIBBITCOIN_SYSTEM AND PROJECT_IS_DARWIN)
|
||||
list(APPEND PROJECT_CXXFLAGS_LIST -Wno-enum-constexpr-conversion)
|
||||
endif()
|
||||
|
||||
if (NOT PROJECT_IS_DARWIN)
|
||||
list(APPEND PROJECT_CXXFLAGS_LIST
|
||||
-Wduplicated-branches
|
||||
|
||||
@@ -8,13 +8,14 @@ set(CXXOPTS_HASH 3bfc70542c521d4b55a46429d808178916a579b28d048bd8c727ee76c39e207
|
||||
set(EXPAT_HASH 85372797ff0673a8fc4a6be16466bb5a0ca28c0dcf3c6f7ac1686b4a3ba2aabb)
|
||||
set(FLAC_HASH aea54ed186ad07a34750399cb27fc216a2b62d0ffcd6dc2e3064a3518c3146f8)
|
||||
set(FMT_HASH aa3e8fbb6a0066c03454434add1f1fc23299e85758ceec0d7d2d974431481e40)
|
||||
set(FONTCONFIG_HASH 6a33dc555cc9ba8b10caf7695878ef134eeb36d0af366041f639b1da9b6ed220)
|
||||
set(FONTCONFIG_HASH 9f5cae93f4fffc1fbc05ae99cdfc708cd60dfd6612ffc0512827025c026fa541)
|
||||
set(FREETYPE2_HASH 174d9e53402e1bf9ec7277e22ec199ba3e55a6be2c0740cb18c0ee9850fc8c34)
|
||||
set(GCC_HASH 7294d65cc1a0558cb815af0ca8c7763d86f7a31199794ede3f630c0d1b0a5723)
|
||||
set(GTEST_HASH 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c)
|
||||
set(ICU_HASH a2c443404f00098e9e90acf29dc318e049d2dc78d9ae5f46efb261934a730ce2)
|
||||
set(INNOSETUP_HASH fa73bf47a4da250d185d07561c2bfda387e5e20db77e4570004cf6a133cc10b1)
|
||||
set(JSON_HASH 4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187)
|
||||
set(LIBBITCOIN_SYSTEM_HASH b5dd2a97289370fbb93672dd3114383f30d877061de1d1683fa8bdda5309bfa2)
|
||||
set(LIBDSM_HASH 747c4563d6291303d9b085c9e7dc96ac44f91871dcac3e20480fdcc066eee88a)
|
||||
set(LIBEVENT_HASH 7180a979aaa7000e1264da484f712d403fcf7679b1e9212c4e3d09f5c93efc24)
|
||||
set(LIBICONV_HASH 3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8)
|
||||
@@ -37,6 +38,7 @@ set(SFML_HASH 15ff4d608a018f287c6a885db0a2da86ea389e516d2323629e4d4407a7ce047f)
|
||||
set(SPDLOG_HASH 15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67)
|
||||
set(SQLITE_HASH 1d3049dd0f830a025a53105fc79fd2ab9431aea99e137809d064d8ee8356b032)
|
||||
set(STDUUID_HASH b1176597e789531c38481acbbed2a6894ad419aab0979c10410d59eb0ebf40d3)
|
||||
set(VLC_HASH 9d2b24d6bc4196b3da8d181a3878678ba272e2a7690321f8826da76a69b2fb9c)
|
||||
set(VORBIS_HASH 270c76933d0934e42c5ee0a54a36280e2d87af1de3cc3e584806357e237afd13)
|
||||
set(WINFSP_HASH 073a70e00f77423e34bed98b86e600def93393ba5822204fac57a29324db9f7a)
|
||||
set(WXWIDGETS_HASH f936c8d694f9c49a367a376f99c751467150a4ed7cbf8f4723ef19b2d2d9998d)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# /usr/sbin/softwareupdate --install-rosetta --agree-to-license
|
||||
if(PROJECT_ENABLE_BOOST)
|
||||
if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
|
||||
set(BOOST_MAJOR_VERSION ${BOOST2_MAJOR_VERSION})
|
||||
@@ -94,27 +95,52 @@ if(PROJECT_ENABLE_BOOST)
|
||||
set(BOOST_LINK "static,shared")
|
||||
endif()
|
||||
|
||||
if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
|
||||
set(BOOST_CXX_STANDARD 17)
|
||||
if (PROJECT_IS_DARWIN)
|
||||
if(PROJECT_IS_ARM64)
|
||||
set(BOOST_CXX_FLAGS "-arch arm64 -Wno-enum-constexpr-conversion")
|
||||
set(BOOST_C_FLAGS "-arch arm64")
|
||||
set(BOOST_LINK_FLAGS "-arch arm64")
|
||||
else()
|
||||
set(BOOST_CXX_FLAGS "-arch x86_64 -Wno-enum-constexpr-conversion")
|
||||
set(BOOST_C_FLAGS "-arch x86_64")
|
||||
set(BOOST_LINK_FLAGS "-arch x86_64")
|
||||
endif()
|
||||
set(BOOST_OPTIONS ${BOOST_OPTIONS} toolset=clang define=BOOST_NO_CXX98_FUNCTION_BASE)
|
||||
endif()
|
||||
else()
|
||||
set(BOOST_CXX_STANDARD ${CMAKE_CXX_STANDARD})
|
||||
set(BOOST_OPTIONS define=BOOST_ASIO_HAS_STD_STRING_VIEW)
|
||||
endif()
|
||||
|
||||
if (PROJECT_IS_DARWIN)
|
||||
set(BOOST_CXX_STD_DIALECT iso)
|
||||
set(BOOST_OPTIONS ${BOOST_OPTIONS} -sICU_PATH=${PROJECT_EXTERNAL_BUILD_ROOT})
|
||||
else()
|
||||
set(BOOST_CXX_STD_DIALECT gnu)
|
||||
endif()
|
||||
|
||||
set(BOOST_BUILD_ARGS
|
||||
--openssldir=$ENV{OPENSSL_ROOT_DIR}
|
||||
--prefix=${PROJECT_EXTERNAL_BUILD_ROOT}
|
||||
address-model=64
|
||||
architecture=${BOOST_ARCH}
|
||||
cxxstd=20
|
||||
cxxstd-dialect=gnu
|
||||
cxxflags=-std=gnu++${CMAKE_CXX_STANDARD}
|
||||
cxxstd=${CMAKE_CXX_STANDARD}
|
||||
define=BOOST_ASIO_HAS_STD_STRING_VIEW
|
||||
cxxstd=${BOOST_CXX_STANDARD}
|
||||
define=BOOST_SYSTEM_NO_DEPRECATED
|
||||
link=${BOOST_LINK}
|
||||
linkflags=-std=gnu++${CMAKE_CXX_STANDARD}
|
||||
threading=multi
|
||||
variant=${BOOST_BUILD_TYPE_LOWER}
|
||||
${BOOST_OPTIONS}
|
||||
)
|
||||
|
||||
if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
|
||||
set(BOOST_URL_HASH SHA256=${BOOST2_HASH})
|
||||
else()
|
||||
set(BOOST_URL_HASH SHA256=${BOOST_HASH})
|
||||
if (BOOST_CXX_FLAGS)
|
||||
set(BOOST_BUILD_ARGS
|
||||
${BOOST_BUILD_ARGS}
|
||||
cflags=${BOOST_C_FLAGS}
|
||||
cxxflags=${BOOST_CXX_FLAGS}
|
||||
linkflags=${BOOST_LINK_FLAGS}
|
||||
)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(boost_project
|
||||
|
||||
@@ -21,7 +21,7 @@ if(PROJECT_ENABLE_FUSE AND NOT PROJECT_IS_MINGW)
|
||||
endif()
|
||||
else()
|
||||
if (PROJECT_IS_DARWIN)
|
||||
find_library(OSXFUSE NO_CACHE NAMES OSXFUSE)
|
||||
find_library(OSXFUSE NO_CACHE NAMES MACFUSE OSXFUSE)
|
||||
if (NOT OSXFUSE)
|
||||
message(FATAL_ERROR "FUSE for macOS not found (https://macfuse.github.io)")
|
||||
endif ()
|
||||
|
||||
@@ -33,7 +33,7 @@ if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
|
||||
ExternalProject_Add(libbitcoin_system_project
|
||||
PREFIX external
|
||||
URL ${PROJECT_3RD_PARTY_DIR}/libbitcoin-system-${LIBBITCOIN_SYSTEM_VERSION}.tar.gz
|
||||
URL_HASH SHA256=0d10d79472e914620223f1ddb9396b0fa92ae5eb0b31acc14b9aa634a01d78b6
|
||||
URL_HASH SHA256=${LIBBITCOIN_SYSTEM_HASH}
|
||||
CONFIGURE_COMMAND echo "No configure"
|
||||
BUILD_COMMAND echo "No build"
|
||||
INSTALL_COMMAND echo "No install"
|
||||
|
||||
@@ -10,14 +10,6 @@ if(PROJECT_ENABLE_LIBEVENT)
|
||||
endif()
|
||||
|
||||
include_directories(BEFORE SYSTEM ${LIBEVENT_INCLUDE_DIRS})
|
||||
if (PROJECT_IS_MINGW_UNIX)
|
||||
unset(LIBEVENT_LIBRARIES)
|
||||
set(LIBEVENT_LIBRARIES
|
||||
/mingw64/lib/libevent.dll.a
|
||||
/mingw64/lib/libevent_core.dll.a
|
||||
/mingw64/lib/libevent_extra.dll.a
|
||||
)
|
||||
endif()
|
||||
link_libraries(${LIBEVENT_LIBRARIES})
|
||||
elseif(NOT PROJECT_IS_MINGW)
|
||||
if(PROJECT_BUILD_SHARED_LIBS)
|
||||
|
||||
@@ -4,7 +4,7 @@ set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
24
common.sh
24
common.sh
@@ -113,6 +113,11 @@ function sync_common() {
|
||||
|
||||
rsync -avh --delete --progress support/ "${DEST_DIR}/support/" ||
|
||||
error_exit "failed to copy support/" 1
|
||||
|
||||
pushd "${DEST_DIR}/support/3rd_party/mingw64"
|
||||
7z x vlc-${PROJECT_VERSIONS[VLC]}-win64.7z || error_exit "failed to extract: vlc-${PROJECT_VERSIONS[VLC]}-win64.7z" 1
|
||||
mv vlc-${PROJECT_VERSIONS[VLC]} ../vlc
|
||||
popd
|
||||
}
|
||||
|
||||
function sync_create() {
|
||||
@@ -131,9 +136,28 @@ function create_versions_cmake() {
|
||||
(printf "%s\n" "${VERSION_LIST[@]}" | sort) >${DEST_DIR}/cmake/versions.cmake
|
||||
}
|
||||
|
||||
function check_package() {
|
||||
local NAME=$1
|
||||
local ITEM_LIST=(${PROJECT_DOWNLOADS[${NAME}]//;/ })
|
||||
if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ]; then
|
||||
error_exit "package not found (run grab_packages script): [${NAME}] ${ITEM_LIST[1]}" 2
|
||||
fi
|
||||
}
|
||||
|
||||
function check_packages() {
|
||||
for NAME in "${!PROJECT_DOWNLOADS[@]}"; do
|
||||
check_package $NAME
|
||||
done
|
||||
}
|
||||
|
||||
if [ "${PROJECT_NAME}" == "" ]; then
|
||||
error_exit "missing project name" 2
|
||||
else
|
||||
. "${CURRENT_DIR}/src/scripts/versions.sh"
|
||||
. "${CURRENT_DIR}/src/scripts/libraries.sh"
|
||||
|
||||
check_packages
|
||||
|
||||
if [ "${DEST_DIR}" == "" ]; then
|
||||
DEST_DIR=${CURRENT_DIR}
|
||||
fi
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
|
||||
setlocal
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call src\scripts\setup_msys2.cmd
|
||||
call mingw64 -no-start ./create_project.sh "%1" "%2"
|
||||
|
||||
for /f "usebackq tokens=*" %%i in (`cygpath "%~2"`) do set ARG1=%%i
|
||||
call mingw64 -no-start ./create_project.sh "%~1" "%ARG1%"
|
||||
popd
|
||||
|
||||
endlocal
|
||||
|
||||
@@ -11,13 +11,11 @@ popd
|
||||
sync_common
|
||||
sync_create
|
||||
|
||||
. "${CURRENT_DIR}/src/scripts/versions.sh"
|
||||
. "${CURRENT_DIR}/src/scripts/libraries.sh"
|
||||
|
||||
create_versions_cmake
|
||||
|
||||
process_file .jenkins_builds
|
||||
process_file .jenkins_macos
|
||||
process_file .jenkins_msys2
|
||||
process_file .nvimrc
|
||||
process_file CMakeLists.txt
|
||||
process_file config.sh
|
||||
@@ -39,6 +37,7 @@ echo lib${PROJECT_NAME} >>"${DEST_DIR}/.cspell/words.txt"
|
||||
update_util_sources
|
||||
|
||||
pushd "${DEST_DIR}"
|
||||
git lfs track "*.7z"
|
||||
git lfs track "*.exe"
|
||||
git lfs track "*.msi"
|
||||
git lfs track "*.tar.gz"
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#comment
|
||||
FROM arm64v8/alpine:3.22.2
|
||||
FROM arm64v8/alpine:3.23
|
||||
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
|
||||
CMD bash
|
||||
|
||||
RUN apk update
|
||||
RUN apk upgrade
|
||||
RUN apk add \
|
||||
7zip \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
@@ -80,5 +81,5 @@ RUN apk add \
|
||||
zstd-static \
|
||||
xz-static
|
||||
|
||||
RUN ln -sf /usr/bin/aclocal-1.17 /usr/bin/aclocal-1.16
|
||||
RUN ln -sf /usr/bin/automake-1.17 /usr/bin/automake-1.16
|
||||
RUN ln -sf /usr/bin/aclocal-1.18 /usr/bin/aclocal-1.16
|
||||
RUN ln -sf /usr/bin/automake-1.18 /usr/bin/automake-1.16
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#comment
|
||||
FROM alpine:3.22.2
|
||||
FROM --platform=linux/amd64 alpine:3.23
|
||||
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
|
||||
CMD bash
|
||||
|
||||
RUN apk update
|
||||
RUN apk upgrade
|
||||
RUN apk add \
|
||||
7zip \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
@@ -80,5 +81,5 @@ RUN apk add \
|
||||
zstd-static \
|
||||
xz-static
|
||||
|
||||
RUN ln -sf /usr/bin/aclocal-1.17 /usr/bin/aclocal-1.16
|
||||
RUN ln -sf /usr/bin/automake-1.17 /usr/bin/automake-1.16
|
||||
RUN ln -sf /usr/bin/aclocal-1.18 /usr/bin/aclocal-1.16
|
||||
RUN ln -sf /usr/bin/automake-1.18 /usr/bin/automake-1.16
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#comment
|
||||
FROM debian:latest
|
||||
|
||||
ARG UID=0
|
||||
@@ -10,7 +11,7 @@ RUN apt-get install -y \
|
||||
fonts-droid-fallback \
|
||||
gdb \
|
||||
git \
|
||||
lib32stdc++6 \
|
||||
lib32stdc++6-x32-cross \
|
||||
libglu1-mesa \
|
||||
libstdc++6 \
|
||||
python3 \
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
#comment
|
||||
FROM alpine:3.22.2
|
||||
FROM --platform=linux/amd64 alpine:3.23
|
||||
|
||||
RUN apk update
|
||||
RUN apk upgrade
|
||||
RUN apk add \
|
||||
7zip \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
binutils \
|
||||
bison \
|
||||
bzip2 \
|
||||
clang17-extra-tools \
|
||||
clang21-extra-tools \
|
||||
cmake \
|
||||
curl \
|
||||
file \
|
||||
@@ -63,7 +64,10 @@ ENV MY_MINGW_PREFIX=${MINGW_PREFIX}
|
||||
ARG NUM_JOBS=2
|
||||
ENV MY_NUM_JOBS=${NUM_JOBS}
|
||||
|
||||
ARG CXX_STANDARD=20
|
||||
ARG C_STANDARD=11
|
||||
ENV MY_C_STANDARD=${C_STANDARD}
|
||||
|
||||
ARG CXX_STANDARD=23
|
||||
ENV MY_CXX_STANDARD=${CXX_STANDARD}
|
||||
|
||||
ARG TOOLCHAIN_FILE_CMAKE=/cmake_toolchain.cmake
|
||||
@@ -259,6 +263,7 @@ RUN cd /3rd_party/mingw64 && sha256sum -c ./pkg-config-${MY_PKG_CONFIG_VERSION}.
|
||||
&& tar xvzf /3rd_party/mingw64/pkg-config-${MY_PKG_CONFIG_VERSION}.tar.gz \
|
||||
&& cd pkg-config-${MY_PKG_CONFIG_VERSION} \
|
||||
&& ./configure \
|
||||
CFLAGS='-std=gnu11' \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--prefix=/usr/local \
|
||||
@@ -273,7 +278,7 @@ RUN python3 -m pip install --break-system-packages -U mako
|
||||
RUN python3 -m pip install --break-system-packages -U meson
|
||||
RUN python3 -m pip install --break-system-packages -U packaging
|
||||
|
||||
ENV CXXFLAGS="-std=gnu++20"
|
||||
ENV CXXFLAGS="-std=gnu++${MY_CXX_STANDARD}"
|
||||
ENV LDFLAGS="-L${MY_MINGW_DIR}/lib -L${MY_MINGW_DIR}/lib64"
|
||||
ENV PATH="${MY_MINGW_DIR}/bin:/usr/local/bin:${PATH}"
|
||||
ENV PKG_CONFIG_PATH="${MY_MINGW_DIR}/lib/pkgconfig:${MY_MINGW_DIR}/lib64/pkgconfig"
|
||||
@@ -490,7 +495,7 @@ RUN if [ -f "/3rd_party/boost_${MY_BOOST2_MAJOR_VERSION}_${MY_BOOST2_MINOR_VERSI
|
||||
&& ./bootstrap.sh \
|
||||
--with-libraries=atomic,chrono,date_time,filesystem,iostreams,locale,log,program_options,random,regex,serialization,system,test,thread \
|
||||
address-model=64 \
|
||||
cxxstd=${MY_CXX_STANDARD} \
|
||||
cxxstd=20 \
|
||||
cxxstd-dialect=gnu \
|
||||
architecture=x86 \
|
||||
link=static,shared \
|
||||
@@ -504,7 +509,7 @@ RUN if [ -f "/3rd_party/boost_${MY_BOOST2_MAJOR_VERSION}_${MY_BOOST2_MINOR_VERSI
|
||||
--prefix=${MY_MINGW_DIR} \
|
||||
-j${MY_NUM_JOBS} \
|
||||
address-model=64 \
|
||||
cxxstd=${MY_CXX_STANDARD} \
|
||||
cxxstd=20 \
|
||||
cxxstd-dialect=gnu \
|
||||
architecture=x86 \
|
||||
link=static,shared \
|
||||
@@ -547,8 +552,8 @@ RUN if [ -f "/3rd_party/boost_${MY_BOOST_MAJOR_VERSION}_${MY_BOOST_MINOR_VERSION
|
||||
-j${MY_NUM_JOBS} \
|
||||
address-model=64 \
|
||||
architecture=x86 \
|
||||
cxxstd=${MY_CXX_STANDARD} \
|
||||
cxxstd-dialect=gnu \
|
||||
cxxstd=${MY_CXX_STANDARD} \
|
||||
cxxstd-dialect=gnu \
|
||||
link=static,shared \
|
||||
target-os=windows \
|
||||
threading=multi \
|
||||
@@ -837,6 +842,7 @@ RUN if [ -f "/3rd_party/libevent-${MY_LIBEVENT_VERSION}-stable.tar.gz" ]; then \
|
||||
-DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \
|
||||
-DCMAKE_C_FLAGS="-include winsock2.h -include ws2tcpip.h -include iphlpapi.h" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
||||
-DEVENT__DISABLE_OPENSSL=ON \
|
||||
-DEVENT__DISABLE_SAMPLES=ON \
|
||||
|
||||
11
grab_packages.cmd
Normal file
11
grab_packages.cmd
Normal file
@@ -0,0 +1,11 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
pushd "%~dp0"
|
||||
call src\scripts\setup_msys2.cmd
|
||||
|
||||
call mingw64 -no-start ./grab_packages.sh
|
||||
popd
|
||||
|
||||
endlocal
|
||||
@@ -3,69 +3,35 @@
|
||||
CURRENT_DIR=$(realpath "$0")
|
||||
CURRENT_DIR=$(dirname "${CURRENT_DIR}")
|
||||
|
||||
. "${CURRENT_DIR}/scripts/download.sh"
|
||||
. "${CURRENT_DIR}/src/scripts/versions.sh"
|
||||
. "${CURRENT_DIR}/src/scripts/libraries.sh"
|
||||
|
||||
function check_should_update() {
|
||||
function download_package() {
|
||||
local NAME=$1
|
||||
local ITEM_LIST=(${PROJECT_DOWNLOADS[${NAME}]//;/ })
|
||||
if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ] ||
|
||||
[ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
function download_and_update_hash() {
|
||||
local NAME=$1
|
||||
local ITEM_LIST=(${PROJECT_DOWNLOADS[${NAME}]//;/ })
|
||||
if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ] ||
|
||||
[ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256" ]; then
|
||||
local CLEANUP_LIST=(${PROJECT_CLEANUP[${NAME}]//:/ })
|
||||
if [ "${NAME}" == "GTEST" ]; then
|
||||
CLEANUP_LIST=(${PROJECT_CLEANUP["TESTING"]//:/ })
|
||||
fi
|
||||
|
||||
if [ "${NAME}" != "BOOST" ] && [ "${NAME}" != "BOOST2" ] && [ "${CLEANUP_LIST[0]}" != "" ]; then
|
||||
rm -r ${CURRENT_DIR}/support/${CLEANUP_LIST[0]}
|
||||
fi
|
||||
|
||||
rm -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"
|
||||
rm -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256"
|
||||
|
||||
if ! wget ${ITEM_LIST[0]} -O "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"; then
|
||||
if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ]; then
|
||||
if ! download_file "${ITEM_LIST[0]}" "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"; then
|
||||
echo "failed $NAME"
|
||||
rm -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"
|
||||
exit 1
|
||||
fi
|
||||
pushd "${CURRENT_DIR}/support/${ITEM_LIST[2]}"
|
||||
sha256sum ${ITEM_LIST[1]} >${ITEM_LIST[1]}.sha256
|
||||
|
||||
pushd "${CURRENT_DIR}/support/${ITEM_LIST[2]}/"
|
||||
if ! sha256sum -c "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256"; then
|
||||
rm -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"
|
||||
echo "failed sha256 validation: $NAME"
|
||||
exit 1
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
|
||||
local HASH=$(cat support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256 | awk '{print $1}')
|
||||
HASH_LIST+=("set(${NAME}_HASH ${HASH})")
|
||||
}
|
||||
|
||||
function create_hashes_cmake() {
|
||||
function download_packages() {
|
||||
for NAME in "${!PROJECT_DOWNLOADS[@]}"; do
|
||||
if [ "${NAME}" != "BOOST" ] && [ "${NAME}" != "BOOST2" ]; then
|
||||
download_and_update_hash $NAME
|
||||
fi
|
||||
download_package $NAME
|
||||
done
|
||||
}
|
||||
|
||||
pushd "${CURRENT_DIR}"
|
||||
HASH_LIST=()
|
||||
create_hashes_cmake
|
||||
|
||||
if check_should_update BOOST || check_should_update BOOST2; then
|
||||
rm -f support/3rd_party/boost_*
|
||||
fi
|
||||
|
||||
download_and_update_hash BOOST
|
||||
download_and_update_hash BOOST2
|
||||
|
||||
(printf "%s\n" "${HASH_LIST[@]}" | sort) >${CURRENT_DIR}/cmake/hashes.cmake
|
||||
download_packages
|
||||
popd
|
||||
|
||||
@@ -52,7 +52,7 @@ elif [ "${WITH_TYPE}" == "7" ]; then
|
||||
fi
|
||||
|
||||
if [ "${BUILD_ARCH}" != "" ]; then
|
||||
NAME=${NAME}_libevent_${BUILD_ARCH}
|
||||
NAME=${NAME}_${BUILD_ARCH}
|
||||
fi
|
||||
|
||||
rm -rf "${TEST_DIR}/${NAME}"
|
||||
|
||||
72
scripts/create_packages.sh
Executable file
72
scripts/create_packages.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SCRIPTS_DIR=$(dirname "$0")
|
||||
SCRIPTS_DIR=$(realpath ${SCRIPTS_DIR})
|
||||
|
||||
CURRENT_DIR=${SCRIPTS_DIR}/..
|
||||
CURRENT_DIR=$(realpath "${CURRENT_DIR}")
|
||||
|
||||
. "${CURRENT_DIR}/scripts/download.sh"
|
||||
. "${CURRENT_DIR}/src/scripts/versions.sh"
|
||||
. "${CURRENT_DIR}/src/scripts/libraries.sh"
|
||||
|
||||
function check_should_update() {
|
||||
local NAME=$1
|
||||
local ITEM_LIST=(${PROJECT_DOWNLOADS[${NAME}]//;/ })
|
||||
if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ] ||
|
||||
[ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
function download_and_update_hash() {
|
||||
local NAME=$1
|
||||
local ITEM_LIST=(${PROJECT_DOWNLOADS[${NAME}]//;/ })
|
||||
if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ] ||
|
||||
[ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256" ]; then
|
||||
local CLEANUP_LIST=(${PROJECT_CLEANUP[${NAME}]//:/ })
|
||||
if [ "${NAME}" == "GTEST" ]; then
|
||||
CLEANUP_LIST=(${PROJECT_CLEANUP["TESTING"]//:/ })
|
||||
fi
|
||||
|
||||
if [ "${NAME}" != "BOOST" ] && [ "${NAME}" != "BOOST2" ] && [ "${CLEANUP_LIST[0]}" != "" ]; then
|
||||
rm -r ${CURRENT_DIR}/support/${CLEANUP_LIST[0]}
|
||||
fi
|
||||
|
||||
rm -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256"
|
||||
if ! download_file "${ITEM_LIST[0]}" "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"; then
|
||||
echo "failed $NAME"
|
||||
exit 1
|
||||
fi
|
||||
pushd "${CURRENT_DIR}/support/${ITEM_LIST[2]}"
|
||||
sha256sum ${ITEM_LIST[1]} >${ITEM_LIST[1]}.sha256
|
||||
popd
|
||||
fi
|
||||
|
||||
local HASH=$(cat support/${ITEM_LIST[2]}/${ITEM_LIST[1]}.sha256 | awk '{print $1}')
|
||||
HASH_LIST+=("set(${NAME}_HASH ${HASH})")
|
||||
}
|
||||
|
||||
function create_hashes_cmake() {
|
||||
for NAME in "${!PROJECT_DOWNLOADS[@]}"; do
|
||||
if [ "${NAME}" != "BOOST" ] && [ "${NAME}" != "BOOST2" ]; then
|
||||
download_and_update_hash $NAME
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pushd "${CURRENT_DIR}"
|
||||
HASH_LIST=()
|
||||
create_hashes_cmake
|
||||
|
||||
if check_should_update BOOST || check_should_update BOOST2; then
|
||||
rm -f support/3rd_party/boost_*
|
||||
fi
|
||||
|
||||
download_and_update_hash BOOST
|
||||
download_and_update_hash BOOST2
|
||||
|
||||
(printf "%s\n" "${HASH_LIST[@]}" | sort) >${CURRENT_DIR}/cmake/hashes.cmake
|
||||
popd
|
||||
19
scripts/download.sh
Executable file
19
scripts/download.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
WGET_OPTS="--tries=5 --waitretry=5"
|
||||
|
||||
function remove_file() {
|
||||
if [ -f "$1" ]; then
|
||||
rm -f "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
function download_file() {
|
||||
remove_file "$2"
|
||||
if wget ${WGET_OPTS} "$1" -O "$2"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
remove_file "$2"
|
||||
return 1
|
||||
}
|
||||
82
scripts/test_msys2.cmd
Executable file
82
scripts/test_msys2.cmd
Executable file
@@ -0,0 +1,82 @@
|
||||
@echo off
|
||||
|
||||
setlocal EnableExtensions
|
||||
|
||||
set "SED=sed"
|
||||
|
||||
set "SCRIPTS_DIR=%~dp0"
|
||||
pushd "%SCRIPTS_DIR%"
|
||||
set "SCRIPTS_DIR=%CD%"
|
||||
popd
|
||||
|
||||
set "SOURCE_DIR=%~dp0.."
|
||||
pushd "%SOURCE_DIR%"
|
||||
set "SOURCE_DIR=%CD%"
|
||||
popd
|
||||
|
||||
set "TEST_DIR=%SOURCE_DIR%\build"
|
||||
|
||||
set "PLATFORM=msys2"
|
||||
set "BUILD_TYPE=%1"
|
||||
set "WITH_TYPE=%2"
|
||||
|
||||
if /I not "%BUILD_TYPE%"=="shared" if /I not "%BUILD_TYPE%"=="static" (
|
||||
call :ERROR_EXIT "Must specify 'shared' or 'static'." 1
|
||||
)
|
||||
|
||||
if not defined TEST_DIR (
|
||||
call :ERROR_EXIT "TEST_DIR is not set." 1
|
||||
)
|
||||
|
||||
if not exist "%TEST_DIR%" mkdir "%TEST_DIR%"
|
||||
|
||||
set "NAME=%BUILD_TYPE%"
|
||||
if "%WITH_TYPE%"=="1" set "NAME=%NAME%_crypto"
|
||||
if "%WITH_TYPE%"=="2" set "NAME=%NAME%_dsm"
|
||||
if "%WITH_TYPE%"=="3" set "NAME=%NAME%_sqlite"
|
||||
if "%WITH_TYPE%"=="4" set "NAME=%NAME%_errors_v1"
|
||||
if "%WITH_TYPE%"=="5" set "NAME=%NAME%_fmt"
|
||||
if "%WITH_TYPE%"=="6" set "NAME=%NAME%_libevent"
|
||||
if "%WITH_TYPE%"=="7" set "NAME=%NAME%_crypto_no_boost"
|
||||
|
||||
if exist "%TEST_DIR%\%NAME%\" rd /s /q "%TEST_DIR%\%NAME%"
|
||||
|
||||
pushd "%SOURCE_DIR%"
|
||||
call ".\create_project.cmd" "%NAME%" "%TEST_DIR%" || (
|
||||
call :ERROR_EXIT "Failed to create %PLATFORM% project." 2
|
||||
)
|
||||
popd
|
||||
|
||||
pushd "%TEST_DIR%\%NAME%"
|
||||
if "%WITH_TYPE%"=="1" (
|
||||
%SED% -i "s/PROJECT_ENABLE_LIBSODIUM=OFF/PROJECT_ENABLE_LIBSODIUM=ON/g" ".\config.sh"
|
||||
%SED% -i "s/PROJECT_ENABLE_BOOST=OFF/PROJECT_ENABLE_BOOST=ON/g" ".\config.sh"
|
||||
%SED% -i "s/PROJECT_ENABLE_JSON=OFF/PROJECT_ENABLE_JSON=ON/g" ".\config.sh"
|
||||
)
|
||||
if "%WITH_TYPE%"=="2" %SED% -i "s/PROJECT_ENABLE_LIBDSM=OFF/PROJECT_ENABLE_LIBDSM=ON/g" ".\config.sh"
|
||||
if "%WITH_TYPE%"=="3" %SED% -i "s/PROJECT_ENABLE_SQLITE=OFF/PROJECT_ENABLE_SQLITE=ON/g" ".\config.sh"
|
||||
if "%WITH_TYPE%"=="4" %SED% -i "s/PROJECT_ENABLE_V2_ERRORS=ON/PROJECT_ENABLE_V2_ERRORS=OFF/g" ".\config.sh"
|
||||
if "%WITH_TYPE%"=="5" %SED% -i "s/PROJECT_ENABLE_FMT=OFF/PROJECT_ENABLE_FMT=ON/g" ".\config.sh"
|
||||
if "%WITH_TYPE%"=="6" %SED% -i "s/PROJECT_ENABLE_LIBEVENT=OFF/PROJECT_ENABLE_LIBEVENT=ON/g" ".\config.sh"
|
||||
if "%WITH_TYPE%"=="7" %SED% -i "s/PROJECT_ENABLE_LIBSODIUM=OFF/PROJECT_ENABLE_LIBSODIUM=ON/g" ".\config.sh"
|
||||
|
||||
if /I "%BUILD_TYPE%"=="shared" (
|
||||
%SED% -i "s/PROJECT_STATIC_LINK=ON/PROJECT_STATIC_LINK=OFF/g" ".\config.sh"
|
||||
)
|
||||
|
||||
call .\scripts\make_win32.cmd || (
|
||||
call :ERROR_EXIT "build %PLATFORM% failed." 3
|
||||
)
|
||||
|
||||
call .\scripts\run_tests.cmd || (
|
||||
call :ERROR_EXIT "testing %PLATFORM% failed." 3
|
||||
)
|
||||
popd
|
||||
|
||||
if exist "%TEST_DIR%\%NAME%\" rd /s /q "%TEST_DIR%\%NAME%"
|
||||
|
||||
exit 0
|
||||
|
||||
:ERROR_EXIT
|
||||
echo %1
|
||||
exit %2
|
||||
@@ -49,11 +49,35 @@ pipeline {
|
||||
steps { script { retryWithBackoff(2, 5) { sh 'scripts/make_unix.sh aarch64' } } }
|
||||
}
|
||||
|
||||
stage('test') {
|
||||
stage('test_linux_x86_64') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(2, 5) { sh 'scripts/run_tests.sh' }
|
||||
retryWithBackoff(2, 5) { sh 'scripts/run_tests.sh "" "" "" "" 1 1' }
|
||||
retryWithBackoff(2, 5) {
|
||||
sh '''
|
||||
scripts/run_tests.sh '' '' '' 1 1
|
||||
'''
|
||||
}
|
||||
retryWithBackoff(2, 5) { sh 'scripts/run_tests.sh aarch64' }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('test_mingw64') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(2, 5) {
|
||||
sh '''
|
||||
scripts/run_tests.sh '' '' '' 1 1
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('test_linux_aarch64') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(2, 5) { sh 'scripts/run_tests.sh aarch64' }
|
||||
}
|
||||
}
|
||||
@@ -62,8 +86,16 @@ pipeline {
|
||||
stage('deliver') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(3, 10) { sh 'scripts/deliver.sh /mnt/%PROJECT_NAME% "" "" "" "" 1 1' }
|
||||
retryWithBackoff(3, 10) { sh 'scripts/deliver.sh /mnt/%PROJECT_NAME% "" aarch64' }
|
||||
retryWithBackoff(3, 10) {
|
||||
sh '''
|
||||
scripts/deliver.sh /mnt/%PROJECT_NAME% '' '' '' '' 1 1
|
||||
'''
|
||||
}
|
||||
retryWithBackoff(3, 10) {
|
||||
sh '''
|
||||
scripts/deliver.sh /mnt/%PROJECT_NAME% '' aarch64
|
||||
'''
|
||||
}
|
||||
retryWithBackoff(3, 10) { sh 'scripts/deliver.sh /mnt/%PROJECT_NAME%' }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,10 +45,17 @@ pipeline {
|
||||
steps { script { retryWithBackoff(2, 5) { sh 'scripts/make_unix.sh x86_64' } } }
|
||||
}
|
||||
|
||||
stage('test') {
|
||||
stage('test_darwin_aarch64') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(2, 5) { sh 'scripts/run_tests.sh aarch64' }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('test_darwin_x86_64') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(2, 5) { sh 'scripts/run_tests.sh x86_64' }
|
||||
}
|
||||
}
|
||||
@@ -57,8 +64,16 @@ pipeline {
|
||||
stage('deliver') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(3, 10) { sh 'scripts/deliver.sh /mnt/%PROJECT_NAME% "" aarch64' }
|
||||
retryWithBackoff(3, 10) { sh 'scripts/deliver.sh /mnt/%PROJECT_NAME% "" x86_64' }
|
||||
retryWithBackoff(3, 10) {
|
||||
sh '''
|
||||
scripts/deliver.sh /mnt/%PROJECT_NAME% '' aarch64
|
||||
'''
|
||||
}
|
||||
retryWithBackoff(3, 10) {
|
||||
sh '''
|
||||
scripts/deliver.sh /mnt/%PROJECT_NAME% '' x86_64
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
81
src/.jenkins_msys2
Normal file
81
src/.jenkins_msys2
Normal file
@@ -0,0 +1,81 @@
|
||||
#!groovy
|
||||
|
||||
pipeline {
|
||||
agent none
|
||||
|
||||
environment {
|
||||
PROJECT_TEST_CONFIG_DIR = "c:\\.ci\\%PROJECT_NAME%\\test"
|
||||
}
|
||||
|
||||
options {
|
||||
disableConcurrentBuilds()
|
||||
skipDefaultCheckout()
|
||||
timestamps()
|
||||
}
|
||||
|
||||
stages {
|
||||
// stage('Build • Test • Deliver')
|
||||
stage('Build • Test') {
|
||||
agent any
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
script {
|
||||
int maxAttempts = 6
|
||||
int baseDelay = 10
|
||||
for (int attempt = 1; attempt <= maxAttempts; attempt++) {
|
||||
try {
|
||||
checkout scm
|
||||
break
|
||||
} catch (err) {
|
||||
if (attempt == maxAttempts) { throw err }
|
||||
int waitSec = baseDelay * (1 << (attempt - 1))
|
||||
echo "Checkout failed (attempt ${attempt}/${maxAttempts}). Waiting ${waitSec}s before retry..."
|
||||
sleep time: waitSec, unit: 'SECONDS'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('msys2_x86_64') {
|
||||
steps { script { retryWithBackoff(2, 5) { bat 'scripts\\make_win32.cmd x86_64' } } }
|
||||
}
|
||||
|
||||
stage('test') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(2, 5) { bat 'scripts\\run_tests.cmd x86_64' }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('deliver') {
|
||||
steps {
|
||||
script {
|
||||
retryWithBackoff(3, 10) {
|
||||
bat '''
|
||||
scripts\\deliver.cmd C:\\deliver\\%PROJECT_NAME% '' x86_64
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def retryWithBackoff(int maxAttempts, int baseDelaySeconds, Closure body) {
|
||||
for (int attempt = 1; attempt <= maxAttempts; attempt++) {
|
||||
try {
|
||||
body()
|
||||
return
|
||||
} catch (err) {
|
||||
if (attempt == maxAttempts) { throw err }
|
||||
int waitSec = baseDelaySeconds * (1 << (attempt - 1))
|
||||
echo "Step failed (attempt ${attempt}/${maxAttempts}). Waiting ${waitSec}s before retry..."
|
||||
sleep time: waitSec, unit: 'SECONDS'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,8 +139,6 @@ if(PROJECT_BUILD)
|
||||
find_package(ICU REQUIRED COMPONENTS data i18n io uc)
|
||||
else()
|
||||
message(STATUS "-=[CMake Settings]=-")
|
||||
message(STATUS " C standard: ${CMAKE_C_STANDARD}")
|
||||
message(STATUS " C++ standard: ${CMAKE_CXX_STANDARD}")
|
||||
message(STATUS " CPU architecture: ${PROJECT_MARCH}")
|
||||
if(PROJECT_ENABLE_FUSE)
|
||||
message(STATUS " FUSE version: ${PROJECT_FUSE}")
|
||||
@@ -157,6 +155,8 @@ endif()
|
||||
DEPENDS ${PROJECT_DEPENDENCIES}
|
||||
COMMAND cd build && cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
-DCMAKE_C_STANDARD=${CMAKE_C_STANDARD}
|
||||
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
|
||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPROJECT_3RD_PARTY_DIR=${PROJECT_3RD_PARTY_DIR}
|
||||
|
||||
@@ -6,6 +6,6 @@ set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call mingw64 -no-start ./cleanup.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
popd
|
||||
|
||||
@@ -8,6 +8,6 @@ set ARG1=%~3
|
||||
set ARG2=%~4
|
||||
set ARG3=%~5
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call mingw64 -no-start ./deliver.sh "%DEST%" "%DIST%" "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1
|
||||
popd
|
||||
|
||||
@@ -7,6 +7,11 @@ PROJECT_SCRIPTS_DIR=$(realpath "$0")
|
||||
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
. "${PROJECT_SCRIPTS_DIR}/env.sh" "$3" "$4" "$5" "$6" "$7"
|
||||
|
||||
COPY_OPS=-f
|
||||
if [ "${PROJECT_IS_DARWIN}" == "1" ]; then
|
||||
COPY_OPS="${COPY_OPS} -X"
|
||||
fi
|
||||
|
||||
function error_exit() {
|
||||
echo $1
|
||||
exit $2
|
||||
@@ -38,13 +43,16 @@ BRANCH=$(git branch --show-current)
|
||||
RELEASE=$(grep PROJECT_RELEASE_ITER= ./config.sh | ${SED} s/PROJECT_RELEASE_ITER=//g)
|
||||
popd
|
||||
|
||||
if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] ||
|
||||
[ "${BRANCH}" == "main" ] || [ "${BRANCH}" == "release" ] ||
|
||||
[ "${BRANCH}" == "beta" ] || [ "${BRANCH}" == "rc" ]; then
|
||||
DEST_DIR=${DEST_DIR}/${RELEASE}
|
||||
elif [[ ${BRANCH} = *'-alpha-'* ]] || [[ ${BRANCH} = *'-beta-'* ]] ||
|
||||
[[ ${BRANCH} = *'-rc-'* ]] || [[ ${BRANCH} = *'-release-'* ]]; then
|
||||
DEST_DIR=${DEST_DIR}/nightly
|
||||
if [[ "${BRANCH}" =~ ^(master|main|release)$ ]] ||
|
||||
[[ "${BRANCH}" =~ ^(alpha|beta|rc)(\.[0-9]+)?$ ]]; then
|
||||
DEST_DIR="${DEST_DIR}/$([[ "${BRANCH}" =~ ^(master|main|release)$ ]] &&
|
||||
printf '%s' "${RELEASE}" ||
|
||||
printf '%s' "${BRANCH%%.*}")"
|
||||
elif [[ "${BRANCH}" == *"-alpha-"* ]] || [[ "${BRANCH}" == *"-beta-"* ]] ||
|
||||
[[ "${BRANCH}" == *"-rc-"* ]] || [[ "${BRANCH}" == *"-release-"* ]] ||
|
||||
[[ "${BRANCH}" == *"-alpha."* ]] || [[ "${BRANCH}" == *"-beta."* ]] ||
|
||||
[[ "${BRANCH}" == *"-rc."* ]]; then
|
||||
DEST_DIR="${DEST_DIR}/nightly"
|
||||
else
|
||||
error_exit "skipping ${PROJECT_FILE_PART}" 0
|
||||
fi
|
||||
@@ -62,39 +70,39 @@ if [ "${PROJECT_PRIVATE_KEY}" != "" ] && [ ! -f "./${PROJECT_OUT_FILE}.sig" ]; t
|
||||
error_exit "failed to find file: ${PROJECT_OUT_FILE}.sig" 1
|
||||
fi
|
||||
|
||||
cp -f ./${PROJECT_OUT_FILE} ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} ./${PROJECT_OUT_FILE} ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_OUT_FILE}" 1
|
||||
|
||||
cp -f ./${PROJECT_OUT_FILE}.sha256 ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} ./${PROJECT_OUT_FILE}.sha256 ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_OUT_FILE}.sha256" 1
|
||||
|
||||
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
|
||||
cp -f ./${PROJECT_OUT_FILE}.sig ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} ./${PROJECT_OUT_FILE}.sig ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_OUT_FILE}.sig" 1
|
||||
fi
|
||||
|
||||
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe" ]; then
|
||||
cp -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe" ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}" 1
|
||||
|
||||
cp -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sha256" ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sha256" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sha256" 1
|
||||
|
||||
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
|
||||
cp -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sig" ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sig" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sig" 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${PROJECT_IS_DARWIN}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" ]; then
|
||||
cp -f -X "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" 1
|
||||
|
||||
cp -f -X "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sha256" ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sha256" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sha256" 1
|
||||
|
||||
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
|
||||
cp -f -X "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sig" ${DEST_DIR} ||
|
||||
cp ${COPY_OPS} "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sig" ${DEST_DIR} ||
|
||||
error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sig" 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -19,25 +19,24 @@ if [ "${DOCKER_CREATE_ONLY}" != "1" ]; then
|
||||
docker rm ${DOCKER_CONTAINER}
|
||||
fi
|
||||
|
||||
if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
|
||||
PLATFORM_TYPE="linux/arm64"
|
||||
else
|
||||
PLATFORM_TYPE="linux/amd64"
|
||||
fi
|
||||
|
||||
pushd "${PROJECT_SOURCE_DIR}/support"
|
||||
cp -f ${PROJECT_SOURCE_DIR}/docker/${PROJECT_BUILD_ARCH}/${DOCKER_NAME} Dockerfile
|
||||
|
||||
if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
|
||||
docker build ${APP_VERSION_BUILD_ARGS} \
|
||||
--platform linux/arm64 \
|
||||
--build-arg NUM_JOBS=${NUM_JOBS} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
--build-arg USERNAME=$(id -un) \
|
||||
-t ${DOCKER_TAG} . || exit 1
|
||||
else
|
||||
docker build ${APP_VERSION_BUILD_ARGS} \
|
||||
--build-arg NUM_JOBS=${NUM_JOBS} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
--build-arg USERNAME=$(id -un) \
|
||||
-t ${DOCKER_TAG} . || exit 1
|
||||
fi
|
||||
docker build ${APP_VERSION_BUILD_ARGS} \
|
||||
--platform ${PLATFORM_TYPE} \
|
||||
--build-arg C_STANDARD=${PROJECT_C_STANDARD} \
|
||||
--build-arg CXX_STANDARD=${PROJECT_CXX_STANDARD} \
|
||||
--build-arg NUM_JOBS=${NUM_JOBS} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
--build-arg USERNAME=$(id -un) \
|
||||
-t ${DOCKER_TAG} . || exit 1
|
||||
rm Dockerfile
|
||||
popd
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ PROJECT_IS_MINGW=$4
|
||||
PROJECT_IS_MINGW_UNIX=$5
|
||||
DISABLE_CREATE_DIRS=$6
|
||||
|
||||
PROJECT_CXX_STANDARD=23
|
||||
PROJECT_C_STANDARD=11
|
||||
PROJECT_FLUTTER_BASE_HREF="/"
|
||||
|
||||
if [ "${PROJECT_IS_MINGW}" != "1" ]; then
|
||||
@@ -46,7 +48,7 @@ for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
|
||||
done
|
||||
|
||||
PROJECT_APP_LIST=()
|
||||
PROJECT_CMAKE_OPTS=""
|
||||
PROJECT_CMAKE_OPTS="-DCMAKE_C_STANDARD=${PROJECT_C_STANDARD} -DCMAKE_CXX_STANDARD=${PROJECT_CXX_STANDARD}"
|
||||
PROJECT_ENABLE_V2_ERRORS=OFF
|
||||
PROJECT_ENABLE_WIN32_LONG_PATH_NAMES=OFF
|
||||
PROJECT_IS_ALPINE=0
|
||||
@@ -340,6 +342,8 @@ export PROJECT_CMAKE_BUILD_TYPE_LOWER
|
||||
export PROJECT_CMAKE_OPTS
|
||||
export PROJECT_COMPANY_NAME
|
||||
export PROJECT_COPYRIGHT
|
||||
export PROJECT_CXX_STANDARD
|
||||
export PROJECT_C_STANDARD
|
||||
export PROJECT_DESC
|
||||
export PROJECT_DIST_DIR
|
||||
export PROJECT_ENABLE_V2_ERRORS
|
||||
@@ -391,6 +395,8 @@ echo " Build arch2: ${PROJECT_BUILD_ARCH2}"
|
||||
echo " Build clean: ${PROJECT_BUILD_CLEAN}"
|
||||
echo " Build dir: ${PROJECT_BUILD_DIR}"
|
||||
echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}"
|
||||
echo " C std: ${PROJECT_C_STANDARD}"
|
||||
echo " CXX std: ${PROJECT_CXX_STANDARD}"
|
||||
echo " CMake options: -G\"Unix Makefiles\" -DPROJECT_COMPANY_NAME=\"${PROJECT_COMPANY_NAME}\" -DPROJECT_COPYRIGHT=\"${PROJECT_COPYRIGHT}\" -DPROJECT_DESC=\"${PROJECT_DESC}\" -DPROJECT_URL=\"${PROJECT_URL}\" ${PROJECT_CMAKE_OPTS} "
|
||||
echo " CMake toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}"
|
||||
echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}"
|
||||
|
||||
@@ -6,7 +6,7 @@ set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call mingw64 -no-start ./info.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
popd
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ PROJECT_CLEANUP[SQLITE]="3rd_party/sqlite*"
|
||||
PROJECT_CLEANUP[STDUUID]="3rd_party/stduuid-*"
|
||||
PROJECT_CLEANUP[TESTING]="3rd_party/googletest-*"
|
||||
PROJECT_CLEANUP[TPL]="3rd_party/tiny-process-library*"
|
||||
PROJECT_CLEANUP[VLC]="3rd_party/vlc*"
|
||||
PROJECT_CLEANUP[VLC]="3rd_party/mingw64/vlc-*:3rd_party/vlc*"
|
||||
PROJECT_CLEANUP[VORBIS]="3rd_party/vorbis-*:3rd_party/vorbis*"
|
||||
PROJECT_CLEANUP[WINFSP]="3rd_party/winfsp-*"
|
||||
PROJECT_CLEANUP[WXWIDGETS]="3rd_party/wxWidgets-*"
|
||||
@@ -110,14 +110,14 @@ PROJECT_DOWNLOADS[CXXOPTS]="https://github.com/jarro2783/cxxopts/archive/refs/ta
|
||||
PROJECT_DOWNLOADS[EXPAT]="https://github.com/libexpat/libexpat/archive/refs/tags/R_${PROJECT_VERSIONS[EXPAT2]}.tar.gz;expat-${PROJECT_VERSIONS[EXPAT]}.tar.gz;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[FLAC]="https://github.com/xiph/flac/archive/refs/tags/${PROJECT_VERSIONS[FLAC]}.tar.gz;flac-${PROJECT_VERSIONS[FLAC]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[FMT]="https://github.com/fmtlib/fmt/archive/refs/tags/${PROJECT_VERSIONS[FMT]}.tar.gz;fmt-${PROJECT_VERSIONS[FMT]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[FONTCONFIG]="https://www.freedesktop.org/software/fontconfig/release/fontconfig-${PROJECT_VERSIONS[FONTCONFIG]}.tar.xz;fontconfig-${PROJECT_VERSIONS[FONTCONFIG]}.tar.xz;3rd_party"
|
||||
PROJECT_DOWNLOADS[FONTCONFIG]="https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${PROJECT_VERSIONS[FONTCONFIG]}/fontconfig-${PROJECT_VERSIONS[FONTCONFIG]}.tar.xz;fontconfig-${PROJECT_VERSIONS[FONTCONFIG]}.tar.xz;3rd_party"
|
||||
PROJECT_DOWNLOADS[FREETYPE2]="https://download.savannah.gnu.org/releases/freetype/freetype-${PROJECT_VERSIONS[FREETYPE2]}.tar.gz;freetype-${PROJECT_VERSIONS[FREETYPE2]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[GCC]="https://mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-${PROJECT_VERSIONS[GCC]}/gcc-${PROJECT_VERSIONS[GCC]}.tar.gz;gcc-${PROJECT_VERSIONS[GCC]}.tar.gz;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[GTEST]="https://github.com/google/googletest/archive/refs/tags/v${PROJECT_VERSIONS[GTEST]}.tar.gz;googletest-${PROJECT_VERSIONS[GTEST]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[ICU]="https://github.com/unicode-org/icu/archive/refs/tags/release-${PROJECT_VERSIONS[ICU]}.tar.gz;icu-release-${PROJECT_VERSIONS[ICU]}.tar.gz;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[JSON]="https://github.com/nlohmann/json/archive/refs/tags/v${PROJECT_VERSIONS[JSON]}.tar.gz;json-${PROJECT_VERSIONS[JSON]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[INNOSETUP]="https://files.jrsoftware.org/is/6/innosetup-${PROJECT_VERSIONS[INNOSETUP]}.exe;innosetup-${PROJECT_VERSIONS[INNOSETUP]}.exe;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[WINFSP]="https://github.com/winfsp/winfsp/releases/download/v${PROJECT_VERSIONS[WINFSP2]}/winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;3rd_party"
|
||||
PROJECT_DOWNLOADS[JSON]="https://github.com/nlohmann/json/archive/refs/tags/v${PROJECT_VERSIONS[JSON]}.tar.gz;json-${PROJECT_VERSIONS[JSON]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[LIBBITCOIN_SYSTEM]="https://github.com/libbitcoin/libbitcoin-system/archive/refs/tags/v${PROJECT_VERSIONS[LIBBITCOIN_SYSTEM]}.tar.gz;libbitcoin-system-${PROJECT_VERSIONS[LIBBITCOIN_SYSTEM]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[LIBDSM]="https://github.com/videolabs/libdsm/archive/refs/tags/v${PROJECT_VERSIONS[LIBDSM]}.tar.gz;libdsm-${PROJECT_VERSIONS[LIBDSM]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[LIBEVENT]="https://github.com/libevent/libevent/archive/refs/tags/release-${PROJECT_VERSIONS[LIBEVENT]}-stable.tar.gz;libevent-${PROJECT_VERSIONS[LIBEVENT]}-stable.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[LIBICONV]="https://ftp.gnu.org/pub/gnu/libiconv/libiconv-${PROJECT_VERSIONS[LIBICONV]}.tar.gz;libiconv-${PROJECT_VERSIONS[LIBICONV]}.tar.gz;3rd_party"
|
||||
@@ -140,7 +140,11 @@ PROJECT_DOWNLOADS[SFML]="https://github.com/SFML/SFML/archive/refs/tags/${PROJEC
|
||||
PROJECT_DOWNLOADS[SPDLOG]="https://github.com/gabime/spdlog/archive/refs/tags/v${PROJECT_VERSIONS[SPDLOG]}.tar.gz;spdlog-${PROJECT_VERSIONS[SPDLOG]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[SQLITE]="https://www.sqlite.org/2025/sqlite-amalgamation-${PROJECT_VERSIONS[SQLITE]}.zip;sqlite-amalgamation-${PROJECT_VERSIONS[SQLITE]}.zip;3rd_party"
|
||||
PROJECT_DOWNLOADS[STDUUID]="https://github.com/mariusbancila/stduuid/archive/refs/tags/v${PROJECT_VERSIONS[STDUUID]}.tar.gz;stduuid-${PROJECT_VERSIONS[STDUUID]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[VLC]="https://download.videolan.org/pub/videolan/vlc/${PROJECT_VERSIONS[VLC]}/win64/vlc-${PROJECT_VERSIONS[VLC]}-win64.7z;vlc-${PROJECT_VERSIONS[VLC]}-win64.7z;3rd_party/mingw64"
|
||||
PROJECT_DOWNLOADS[VORBIS]="https://github.com/xiph/vorbis/archive/refs/tags/v${PROJECT_VERSIONS[VORBIS]}.tar.gz;vorbis-v${PROJECT_VERSIONS[VORBIS]}.tar.gz;3rd_party"
|
||||
PROJECT_DOWNLOADS[WINFSP]="https://github.com/winfsp/winfsp/releases/download/v${PROJECT_VERSIONS[WINFSP2]}/winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;winfsp-${PROJECT_VERSIONS[WINFSP]}.msi;3rd_party"
|
||||
PROJECT_DOWNLOADS[WXWIDGETS]="https://github.com/wxWidgets/wxWidgets/releases/download/v${PROJECT_VERSIONS[WXWIDGETS]}/wxWidgets-${PROJECT_VERSIONS[WXWIDGETS]}.tar.bz2;wxWidgets-${PROJECT_VERSIONS[WXWIDGETS]}.tar.bz2;3rd_party"
|
||||
PROJECT_DOWNLOADS[ZLIB]="https://github.com/madler/zlib/archive/refs/tags/v${PROJECT_VERSIONS[ZLIB]}.tar.gz;zlib-${PROJECT_VERSIONS[ZLIB]}.tar.gz;3rd_party/mingw64"
|
||||
export PROJECT_DOWNLOADS
|
||||
|
||||
export VLC_WIN64_DOWNLOAD
|
||||
|
||||
@@ -6,6 +6,6 @@ set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call mingw64 -no-start ./make_package.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1
|
||||
popd
|
||||
|
||||
@@ -6,7 +6,7 @@ set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call setup_msys2.cmd "%ARG1%" "%ARG2%" "%ARG3%"
|
||||
if exist "cleanup.cmd" (
|
||||
call cleanup.cmd "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
|
||||
@@ -6,7 +6,7 @@ set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call mingw64 -no-start ./run_tests.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
popd
|
||||
|
||||
|
||||
@@ -5,15 +5,14 @@ PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
|
||||
. "${PROJECT_SCRIPTS_DIR}/env.sh" "$1" "$2" "$3" "$4" "$5" 0
|
||||
|
||||
pushd "${PROJECT_DIST_DIR}"
|
||||
if [ -e "./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" ]; then
|
||||
for APP in ${PROJECT_APP_LIST[@]}; do
|
||||
if [[ "$APP" == *_test ]]; then
|
||||
if [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
|
||||
wine64 "${PROJECT_DIST_DIR}/${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" || exit 1
|
||||
else
|
||||
"./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" || exit 1
|
||||
fi
|
||||
for APP in ${PROJECT_APP_LIST[@]}; do
|
||||
APP_BIN="${APP}_test${PROJECT_APP_BINARY_EXT}"
|
||||
if [ -e "./${APP_BIN}" ]; then
|
||||
if [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
|
||||
wine64 "${PROJECT_DIST_DIR}/${APP_BIN}" || exit 1
|
||||
else
|
||||
"./${APP_BIN}" || exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
@@ -6,7 +6,7 @@ set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
pushd "%~dp0"
|
||||
call mingw64 -no-start ./setup_msys2.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
call mingw64 -no-start ./setup_msys2.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
popd
|
||||
|
||||
@@ -14,6 +14,7 @@ PROJECT_MSYS2_PACKAGE_LIST+=(
|
||||
mingw64/mingw-w64-x86_64-diffutils
|
||||
mingw64/mingw-w64-x86_64-gcc
|
||||
mingw64/mingw-w64-x86_64-gdb
|
||||
mingw64/mingw-w64-x86_64-git-lfs
|
||||
mingw64/mingw-w64-x86_64-icu
|
||||
mingw64/mingw-w64-x86_64-make
|
||||
mingw64/mingw-w64-x86_64-mesa
|
||||
|
||||
@@ -18,7 +18,7 @@ PROJECT_VERSIONS[EXPAT]="2.7.1"
|
||||
PROJECT_VERSIONS[EXPAT2]="2_7_1"
|
||||
PROJECT_VERSIONS[FLAC]="1.5.0"
|
||||
PROJECT_VERSIONS[FMT]="12.0.0"
|
||||
PROJECT_VERSIONS[FONTCONFIG]="2.16.0"
|
||||
PROJECT_VERSIONS[FONTCONFIG]="2.17.1"
|
||||
PROJECT_VERSIONS[FREETYPE2]="2.14.1"
|
||||
PROJECT_VERSIONS[GCC]="15.2.0"
|
||||
PROJECT_VERSIONS[GTEST]="1.17.0"
|
||||
@@ -50,7 +50,7 @@ PROJECT_VERSIONS[SPDLOG]="1.15.3"
|
||||
PROJECT_VERSIONS[SQLITE]="3500400"
|
||||
PROJECT_VERSIONS[SQLITE2]="3.50.4"
|
||||
PROJECT_VERSIONS[STDUUID]="1.2.3"
|
||||
PROJECT_VERSIONS[VLC]="3.0"
|
||||
PROJECT_VERSIONS[VLC]="3.0.21"
|
||||
PROJECT_VERSIONS[VORBIS]="1.3.7"
|
||||
PROJECT_VERSIONS[WINFSP]="2.1.25156"
|
||||
PROJECT_VERSIONS[WINFSP2]="2.1"
|
||||
|
||||
BIN
support/3rd_party/CLI11-2.5.0.tar.gz
LFS
vendored
BIN
support/3rd_party/CLI11-2.5.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/SFML-2.6.2.tar.gz
LFS
vendored
BIN
support/3rd_party/SFML-2.6.2.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/boost_1_76_0.tar.gz
LFS
vendored
BIN
support/3rd_party/boost_1_76_0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/boost_1_89_0.tar.gz
LFS
vendored
BIN
support/3rd_party/boost_1_89_0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/cpp-httplib-0.26.0.tar.gz
LFS
vendored
BIN
support/3rd_party/cpp-httplib-0.26.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/curl-8.16.0.tar.gz
LFS
vendored
BIN
support/3rd_party/curl-8.16.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/cxxopts-v3.3.1.tar.gz
LFS
vendored
BIN
support/3rd_party/cxxopts-v3.3.1.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/dtl-v2.01.tar.gz
LFS
vendored
BIN
support/3rd_party/dtl-v2.01.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/flac-1.5.0.tar.gz
LFS
vendored
BIN
support/3rd_party/flac-1.5.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/fmt-12.0.0.tar.gz
LFS
vendored
BIN
support/3rd_party/fmt-12.0.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/fontconfig-2.16.0.tar.xz
LFS
vendored
BIN
support/3rd_party/fontconfig-2.16.0.tar.xz
LFS
vendored
Binary file not shown.
@@ -1 +0,0 @@
|
||||
6a33dc555cc9ba8b10caf7695878ef134eeb36d0af366041f639b1da9b6ed220 fontconfig-2.16.0.tar.xz
|
||||
1
support/3rd_party/fontconfig-2.17.1.tar.xz.sha256
vendored
Normal file
1
support/3rd_party/fontconfig-2.17.1.tar.xz.sha256
vendored
Normal file
@@ -0,0 +1 @@
|
||||
9f5cae93f4fffc1fbc05ae99cdfc708cd60dfd6612ffc0512827025c026fa541 fontconfig-2.17.1.tar.xz
|
||||
BIN
support/3rd_party/freetype-2.14.1.tar.gz
LFS
vendored
BIN
support/3rd_party/freetype-2.14.1.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/googletest-1.17.0.tar.gz
LFS
vendored
BIN
support/3rd_party/googletest-1.17.0.tar.gz
LFS
vendored
Binary file not shown.
2
support/3rd_party/icu_configure.sh
vendored
2
support/3rd_party/icu_configure.sh
vendored
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$(uname -m)" == "arm64" ] &&
|
||||
if ([ "$(uname -m)" == "arm64" ] || [ "$(uname -m)" == "aarch64" ]) &&
|
||||
[ "${PROJECT_IS_ARM64}" == "0" ]; then
|
||||
HOST_CFG="--host=x86_64-apple-darwin"
|
||||
export CC="clang -arch x86_64"
|
||||
|
||||
BIN
support/3rd_party/json-3.12.0.tar.gz
LFS
vendored
BIN
support/3rd_party/json-3.12.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/libbitcoin-system-3.8.0.tar.gz
LFS
vendored
BIN
support/3rd_party/libbitcoin-system-3.8.0.tar.gz
LFS
vendored
Binary file not shown.
@@ -1 +1 @@
|
||||
0d10d79472e914620223f1ddb9396b0fa92ae5eb0b31acc14b9aa634a01d78b6 *libbitcoin-system-3.8.0.tar.gz
|
||||
b5dd2a97289370fbb93672dd3114383f30d877061de1d1683fa8bdda5309bfa2 ./libbitcoin-system-3.8.0.tar.gz
|
||||
|
||||
BIN
support/3rd_party/libdsm-0.4.3.tar.gz
LFS
vendored
BIN
support/3rd_party/libdsm-0.4.3.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/libevent-2.1.12-stable.tar.gz
LFS
vendored
BIN
support/3rd_party/libevent-2.1.12-stable.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/libiconv-1.18.tar.gz
LFS
vendored
BIN
support/3rd_party/libiconv-1.18.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/libjpeg_turbo-3.1.2.tar.gz
LFS
vendored
BIN
support/3rd_party/libjpeg_turbo-3.1.2.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/libpng-v1.6.50.tar.gz
LFS
vendored
BIN
support/3rd_party/libpng-v1.6.50.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/libsodium-1.0.20.tar.gz
LFS
vendored
BIN
support/3rd_party/libsodium-1.0.20.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/libtasn1-4.19.0.tar.gz
LFS
vendored
BIN
support/3rd_party/libtasn1-4.19.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/mingw64/binutils-2.44.tar.xz
LFS
vendored
BIN
support/3rd_party/mingw64/binutils-2.44.tar.xz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/mingw64/expat-2.7.1.tar.gz
LFS
vendored
BIN
support/3rd_party/mingw64/expat-2.7.1.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/mingw64/gcc-15.2.0.tar.gz
LFS
vendored
BIN
support/3rd_party/mingw64/gcc-15.2.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/mingw64/icu-release-76-1.tar.gz
LFS
vendored
BIN
support/3rd_party/mingw64/icu-release-76-1.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/mingw64/innosetup-6.5.4.exe
LFS
vendored
BIN
support/3rd_party/mingw64/innosetup-6.5.4.exe
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/mingw64/mingw-w64-v13.0.0.tar.bz2
vendored
BIN
support/3rd_party/mingw64/mingw-w64-v13.0.0.tar.bz2
vendored
Binary file not shown.
BIN
support/3rd_party/mingw64/pkg-config-0.29.2.tar.gz
LFS
vendored
BIN
support/3rd_party/mingw64/pkg-config-0.29.2.tar.gz
LFS
vendored
Binary file not shown.
1
support/3rd_party/mingw64/vlc-3.0.21-win64.7z.sha256
vendored
Normal file
1
support/3rd_party/mingw64/vlc-3.0.21-win64.7z.sha256
vendored
Normal file
@@ -0,0 +1 @@
|
||||
9d2b24d6bc4196b3da8d181a3878678ba272e2a7690321f8826da76a69b2fb9c ./vlc-3.0.21-win64.7z
|
||||
BIN
support/3rd_party/mingw64/zlib-1.3.1.tar.gz
LFS
vendored
BIN
support/3rd_party/mingw64/zlib-1.3.1.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/nana-v1.7.4.tar.gz
LFS
vendored
BIN
support/3rd_party/nana-v1.7.4.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/nuspell-v5.1.6.tar.gz
LFS
vendored
BIN
support/3rd_party/nuspell-v5.1.6.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/ogg-v1.3.6.tar.gz
LFS
vendored
BIN
support/3rd_party/ogg-v1.3.6.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/openal-1.24.3.tar.gz
LFS
vendored
BIN
support/3rd_party/openal-1.24.3.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/openssl-3.6.0.tar.gz
LFS
vendored
BIN
support/3rd_party/openssl-3.6.0.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/pugixml-1.15.tar.gz
LFS
vendored
BIN
support/3rd_party/pugixml-1.15.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/rocksdb-10.5.1.tar.gz
LFS
vendored
BIN
support/3rd_party/rocksdb-10.5.1.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/sdl-2.32.6.tar.gz
LFS
vendored
BIN
support/3rd_party/sdl-2.32.6.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/secp256k1-0.1.0.20.tar.gz
LFS
vendored
BIN
support/3rd_party/secp256k1-0.1.0.20.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/spdlog-1.15.3.tar.gz
LFS
vendored
BIN
support/3rd_party/spdlog-1.15.3.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/sqlite-amalgamation-3500400.zip
LFS
vendored
BIN
support/3rd_party/sqlite-amalgamation-3500400.zip
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/stduuid-1.2.3.tar.gz
LFS
vendored
BIN
support/3rd_party/stduuid-1.2.3.tar.gz
LFS
vendored
Binary file not shown.
BIN
support/3rd_party/tiny-process-library.tar.gz
LFS
vendored
BIN
support/3rd_party/tiny-process-library.tar.gz
LFS
vendored
Binary file not shown.
1073
support/3rd_party/vlc/AUTHORS.txt
vendored
1073
support/3rd_party/vlc/AUTHORS.txt
vendored
File diff suppressed because it is too large
Load Diff
339
support/3rd_party/vlc/COPYING.txt
vendored
339
support/3rd_party/vlc/COPYING.txt
vendored
@@ -1,339 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
6074
support/3rd_party/vlc/NEWS.txt
vendored
6074
support/3rd_party/vlc/NEWS.txt
vendored
File diff suppressed because it is too large
Load Diff
57
support/3rd_party/vlc/README.txt
vendored
57
support/3rd_party/vlc/README.txt
vendored
@@ -1,57 +0,0 @@
|
||||
README for the VLC media player
|
||||
===============================
|
||||
|
||||
VLC is a popular libre and open source media player and multimedia engine,
|
||||
used by a large number of individuals, professionals, companies and
|
||||
institutions. Using open source technologies and libraries, VLC has been
|
||||
ported to most computing platforms, including GNU/Linux, Windows, Mac OS X,
|
||||
BSD, iOS and Android.
|
||||
VLC can play most multimedia files, discs, streams, allows playback from
|
||||
devices, and is able to convert to or stream in various formats.
|
||||
The VideoLAN project was started at the university École Centrale Paris who
|
||||
relicensed VLC under the GPLv2 license in February 2001. Since then, VLC has
|
||||
been downloaded close to one billion times.
|
||||
|
||||
Links:
|
||||
======
|
||||
|
||||
The VLC web site . . . . . http://www.videolan.org/
|
||||
Support . . . . . . . . . . http://www.videolan.org/support/
|
||||
Forums . . . . . . . . . . http://forum.videolan.org/
|
||||
Wiki . . . . . . . . . . . http://wiki.videolan.org/
|
||||
The Developers site . . . . http://wiki.videolan.org/Developers_Corner
|
||||
VLC hacking guide . . . . . http://wiki.videolan.org/Hacker_Guide
|
||||
Bugtracker . . . . . . . . http://trac.videolan.org/vlc/
|
||||
The VideoLAN web site . . . http://www.videolan.org/
|
||||
|
||||
Source Code Content:
|
||||
===================
|
||||
ABOUT-NLS - Notes on the Free Translation Project.
|
||||
AUTHORS - VLC authors.
|
||||
COPYING - The GPL license.
|
||||
COPYING.LIB - The LGPL license.
|
||||
INSTALL - Installation and building instructions.
|
||||
NEWS - Important modifications between the releases.
|
||||
README - This file.
|
||||
THANKS - VLC contributors.
|
||||
|
||||
bin/ - VLC binaries.
|
||||
bindings/ - libVLC bindings to other languages.
|
||||
compat/ - compatibility library for operating systems missing
|
||||
essential functionalities.
|
||||
contrib/ - Facilities for retrieving external libraries and building
|
||||
them for systems that don't have the right versions.
|
||||
doc/ - Miscellaneous documentation.
|
||||
extras/analyser - Code analyser and editor specific files.
|
||||
extras/buildsystem - different buildsystems specific files.
|
||||
extras/misc - Files that don't fit in the other extras/ categories.
|
||||
extras/package - VLC packaging specific files such as spec files.
|
||||
extras/tools/ - Facilities for retrieving external building tools needed
|
||||
for systems that don't have the right versions.
|
||||
include/ - Header files.
|
||||
lib/ - libVLC source code.
|
||||
modules/ - VLC plugins and modules. Most of the code is here.
|
||||
po/ - VLC translations.
|
||||
share/ - Common Resources files.
|
||||
src/ - libvlccore source code.
|
||||
test/ - testing system.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user