46 Commits

Author SHA1 Message Date
22c7e758a5 updated fontconfig
Some checks failed
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-12-13 22:05:18 -06:00
631e91c413 fix
Some checks are pending
sgraves/cpp-build-system_mac/pipeline/head Build queued...
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
2025-12-13 21:53:46 -06:00
f764e012c8 fix
Some checks are pending
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
sgraves/cpp-build-system_mac/pipeline/head Build started...
2025-12-13 21:38:47 -06:00
2cb0fe8fb8 updated vlc
Some checks are pending
sgraves/cpp-build-system_msys2/pipeline/head Build queued...
2025-12-13 21:36:35 -06:00
21a9b41348 fix libbitcoin-system
All checks were successful
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
2025-12-13 21:15:38 -06:00
0fab6bca52 boost fixes
Some checks are pending
sgraves/cpp-build-system_mac/pipeline/head Build queued...
sgraves/cpp-build-system/pipeline/head Build queued...
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
2025-12-13 21:00:37 -06:00
8c230c3996 fix pkg-config build
Some checks failed
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
sgraves/cpp-build-system_mac/pipeline/head This commit looks good
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-12-13 18:26:53 -06:00
dc07ea1455 refactor
Some checks failed
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_msys2/pipeline/head There was a failure building this commit
2025-12-13 18:03:34 -06:00
e0269b29bc fix
Some checks failed
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_msys2/pipeline/head There was a failure building this commit
2025-12-13 17:56:24 -06:00
48c1433c19 upgrade alpine and c++ std
Some checks failed
sgraves/cpp-build-system/pipeline/head Build queued...
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_msys2/pipeline/head There was a failure building this commit
2025-12-13 17:52:44 -06:00
e44db70f59 upgrade alpine and c++ std 2025-12-13 17:48:07 -06:00
b74b69ff55 Merge branch 'develop' of ssh://git.fifthgrid.com:3022/sgraves/cpp-build-system into develop
Some checks failed
sgraves/cpp-build-system_msys2/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-12-13 17:15:14 -06:00
a95bcaa8d4 fix missing 7zip 2025-12-13 17:15:05 -06:00
7fac85cf3d force unix le for sha256 files
Some checks failed
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
sgraves/cpp-build-system_mac/pipeline/head This commit looks good
2025-12-13 13:42:08 -06:00
11561b83b0 cleanup vlc
Some checks failed
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_msys2/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
2025-12-13 11:51:04 -06:00
3e605fb90c updated README.md 2025-12-13 11:44:44 -06:00
1c0a0e0d64 updated README.md 2025-12-13 11:43:59 -06:00
12148dfd1e updated README.md 2025-12-13 11:41:48 -06:00
edf9408a5f clean 7z 2025-12-13 11:36:11 -06:00
13c065e864 updated CHANGELOG.md 2025-12-13 11:29:43 -06:00
25afdedf21 updated CHANGELOG.md 2025-12-13 11:28:34 -06:00
be5b36b38c updated CHANGELOG 2025-12-13 11:27:22 -06:00
4568927dd2 updated CHANGELOG
Some checks are pending
sgraves/cpp-build-system/pipeline/head Build queued...
2025-12-13 11:23:48 -06:00
9380fa6046 removed vlc binaries
Some checks failed
sgraves/cpp-build-system_mac/pipeline/head Build queued...
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-12-13 11:05:09 -06:00
6308348e16 fix jenkins
All checks were successful
sgraves/cpp-build-system_mac/pipeline/head This commit looks good
2025-12-13 10:40:39 -06:00
0071987e89 check for missing packages
Some checks failed
sgraves/cpp-build-system/pipeline/head Build queued...
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
2025-12-13 10:35:05 -06:00
c4e697a2fb Merge remote-tracking branch 'origin/main' into develop
Some checks failed
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-12-13 09:38:21 -06:00
ba5f4d1625 Remove package sources and host only the expected SHA-256 (#3)
Some checks failed
sgraves/cpp-build-system_mac/pipeline/head There was a failure building this commit
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
sgraves/cpp-build-system_msys2/pipeline/head There was a failure building this commit
Reviewed-on: #3
Co-authored-by: Scott E. Graves <scott.e.graves@protonmail.com>
Co-committed-by: Scott E. Graves <scott.e.graves@protonmail.com>
2025-12-13 09:35:33 -06:00
d7f00481e9 fix darwin copy to fuse drives
Some checks are pending
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
sgraves/cpp-build-system/pipeline/head Build started...
sgraves/cpp-build-system_mac/pipeline/head Build started...
2025-10-18 22:35:47 -05:00
9096068204 spelling 2025-10-18 22:12:13 -05:00
89692b0b65 spelling 2025-10-18 22:12:02 -05:00
b12f7b13dc updated CHANGELOG.md 2025-10-18 22:10:20 -05:00
a5ed2a2668 support alpha.x, beta.x, rc.x 2025-10-18 22:08:24 -05:00
7ad7802153 removed platform from name
All checks were successful
sgraves/cpp-build-system/pipeline/head This commit looks good
sgraves/cpp-build-system_mac/pipeline/head This commit looks good
sgraves/cpp-build-system_msys2/pipeline/head This commit looks good
2025-10-18 13:34:30 -07:00
41f00085ca updated CHANGELOG.md
Some checks failed
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-10-18 13:09:23 -07:00
b18dc3f854 fixed msys2 paths 2025-10-18 13:08:46 -07:00
503492b5e7 added cygpath.exe 2025-10-18 12:51:28 -07:00
85e47f79a8 script fixes
Some checks failed
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-10-18 12:02:15 -07:00
5a95bdbdef updated script
Some checks failed
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-10-18 11:54:54 -07:00
81af4db6a1 updated scripts 2025-10-18 11:49:26 -07:00
94e4e6d710 cmd->bat
All checks were successful
sgraves/cpp-build-system/pipeline/head This commit looks good
2025-10-18 11:39:56 -07:00
eca5f76146 remove static builds
Some checks failed
sgraves/cpp-build-system_mac/pipeline/head Build queued...
sgraves/cpp-build-system/pipeline/head There was a failure building this commit
2025-10-18 11:29:57 -07:00
60eec05fab Add Windows MSYS2 Jenkins build and testing support #1
All checks were successful
sgraves/cpp-build-system/pipeline/head This commit looks good
sgraves/cpp-build-system_mac/pipeline/head This commit looks good
2025-10-18 11:26:39 -05:00
fe16d78ded updated CHANGELOG.md 2025-10-18 10:22:38 -05:00
7fdbe65812 updated CHANGELOG.md 2025-10-18 10:20:14 -05:00
ac76f780df added CHANGELOG.md 2025-10-18 10:19:00 -05:00
846 changed files with 619 additions and 59308 deletions

View File

@@ -27,6 +27,7 @@ cstdint
cxxflags cxxflags
cxxopts_project cxxopts_project
cxxstd cxxstd
cygpath
d_largefile64_source d_largefile64_source
d_largefile_source d_largefile_source
d_ndebug d_ndebug
@@ -160,6 +161,7 @@ msvc
msvcr120 msvcr120
msvcr90 msvcr90
mswsock mswsock
msys2
mtune mtune
mwindows mwindows
nana nana

2
.gitattributes vendored
View File

@@ -1,6 +1,8 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.exe filter=lfs diff=lfs merge=lfs -text *.exe filter=lfs diff=lfs merge=lfs -text
*.msi 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.gz filter=lfs diff=lfs merge=lfs -text
*.tar.xz filter=lfs diff=lfs merge=lfs -text *.tar.xz filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text *.tgz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text
*.sha256 text eol=lf

9
.gitignore vendored
View File

@@ -11,3 +11,12 @@ scripts/cleanup.sh
support/Dockerfile support/Dockerfile
version.cpp version.cpp
version.rc version.rc
.DS_Store
*.gz
*.bz2
*.xz
*.zip
*.msi
*.exe
*.7z
support/3rd_party/vlc/

View File

@@ -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') { stage('win32_shared') {
steps { script { retryWithBackoff(2, 5) { sh 'scripts/test_win32.sh shared' } } } steps { script { retryWithBackoff(2, 5) { sh 'scripts/test_win32.sh shared' } } }
} }

View File

@@ -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') { stage('macos_aarch64_shared') {
steps { steps {
script { retryWithBackoff(2, 5) { sh 'scripts/test_unix.sh shared' } } script { retryWithBackoff(2, 5) { sh 'scripts/test_unix.sh shared' } }

103
.jenkins_msys2 Normal file
View File

@@ -0,0 +1,103 @@
#!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'
}
}
}

37
CHANGELOG.md Normal file
View File

@@ -0,0 +1,37 @@
# 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**
- Fixed incorrect CHANGELOG.md
---
## 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
---

View File

@@ -36,13 +36,39 @@ All builds are orchestrated through project scripts — **direct CMake invocatio
## 🚀 Getting Started ## 🚀 Getting Started
### 1⃣ Clone the Build System ### 1⃣ Clone the Build System and Grab Packages
```bash ```bash
git clone https://git.fifthgrid.com/sgraves/cpp-build-system.git git clone https://git.fifthgrid.com/sgraves/cpp-build-system.git
git clone https://github.com/sgraves76/cpp-build-system.git git clone https://github.com/sgraves76/cpp-build-system.git
cd cpp-build-system 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 ### 2⃣ Create a New Project
@@ -52,27 +78,29 @@ Run the root-level `create_project.sh` with:
Example: Example:
```bash ```bash
./create_project.sh MyApp ~/dev ./create_project.sh MyApp ~/src
``` ```
This creates: This creates:
``` ```
~/dev/MyApp/ ~/src/MyApp/
``` ```
The new directory contains: The new directory contains:
- A preconfigured cross-platform C++ project structure - A preconfigured cross-platform C++ project structure
- A `scripts/` folder for building and packaging - 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. > 🧩 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. > ⚠️ Do **not** run `cmake` directly — always use the provided scripts.
--- ---
### 3⃣ Configure the Project ### 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. > Do **not modify** the root `CMakeLists.txt` file in your project.
> All changes, targets, and configurations must be made in **`project.cmake`** only. > 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 > 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 **templates** update script from the `cpp-build-system` repository root, pointing it at your project path: If you later want to **add back packages** you previously turned off (and which `cleanup.sh` removed), run the **templates** update script from the `cpp-build-system` repository root, pointing it at your project path:
```bash ```bash
# from the cpp-build-system repo root # 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. 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
View 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
View 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

View File

@@ -8,13 +8,14 @@ set(CXXOPTS_HASH 3bfc70542c521d4b55a46429d808178916a579b28d048bd8c727ee76c39e207
set(EXPAT_HASH 85372797ff0673a8fc4a6be16466bb5a0ca28c0dcf3c6f7ac1686b4a3ba2aabb) set(EXPAT_HASH 85372797ff0673a8fc4a6be16466bb5a0ca28c0dcf3c6f7ac1686b4a3ba2aabb)
set(FLAC_HASH aea54ed186ad07a34750399cb27fc216a2b62d0ffcd6dc2e3064a3518c3146f8) set(FLAC_HASH aea54ed186ad07a34750399cb27fc216a2b62d0ffcd6dc2e3064a3518c3146f8)
set(FMT_HASH aa3e8fbb6a0066c03454434add1f1fc23299e85758ceec0d7d2d974431481e40) set(FMT_HASH aa3e8fbb6a0066c03454434add1f1fc23299e85758ceec0d7d2d974431481e40)
set(FONTCONFIG_HASH 6a33dc555cc9ba8b10caf7695878ef134eeb36d0af366041f639b1da9b6ed220) set(FONTCONFIG_HASH 9f5cae93f4fffc1fbc05ae99cdfc708cd60dfd6612ffc0512827025c026fa541)
set(FREETYPE2_HASH 174d9e53402e1bf9ec7277e22ec199ba3e55a6be2c0740cb18c0ee9850fc8c34) set(FREETYPE2_HASH 174d9e53402e1bf9ec7277e22ec199ba3e55a6be2c0740cb18c0ee9850fc8c34)
set(GCC_HASH 7294d65cc1a0558cb815af0ca8c7763d86f7a31199794ede3f630c0d1b0a5723) set(GCC_HASH 7294d65cc1a0558cb815af0ca8c7763d86f7a31199794ede3f630c0d1b0a5723)
set(GTEST_HASH 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c) set(GTEST_HASH 65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c)
set(ICU_HASH a2c443404f00098e9e90acf29dc318e049d2dc78d9ae5f46efb261934a730ce2) set(ICU_HASH a2c443404f00098e9e90acf29dc318e049d2dc78d9ae5f46efb261934a730ce2)
set(INNOSETUP_HASH fa73bf47a4da250d185d07561c2bfda387e5e20db77e4570004cf6a133cc10b1) set(INNOSETUP_HASH fa73bf47a4da250d185d07561c2bfda387e5e20db77e4570004cf6a133cc10b1)
set(JSON_HASH 4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187) set(JSON_HASH 4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187)
set(LIBBITCOIN_SYSTEM_HASH b5dd2a97289370fbb93672dd3114383f30d877061de1d1683fa8bdda5309bfa2)
set(LIBDSM_HASH 747c4563d6291303d9b085c9e7dc96ac44f91871dcac3e20480fdcc066eee88a) set(LIBDSM_HASH 747c4563d6291303d9b085c9e7dc96ac44f91871dcac3e20480fdcc066eee88a)
set(LIBEVENT_HASH 7180a979aaa7000e1264da484f712d403fcf7679b1e9212c4e3d09f5c93efc24) set(LIBEVENT_HASH 7180a979aaa7000e1264da484f712d403fcf7679b1e9212c4e3d09f5c93efc24)
set(LIBICONV_HASH 3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8) set(LIBICONV_HASH 3b08f5f4f9b4eb82f151a7040bfd6fe6c6fb922efe4b1659c66ea933276965e8)
@@ -37,6 +38,7 @@ set(SFML_HASH 15ff4d608a018f287c6a885db0a2da86ea389e516d2323629e4d4407a7ce047f)
set(SPDLOG_HASH 15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67) set(SPDLOG_HASH 15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67)
set(SQLITE_HASH 1d3049dd0f830a025a53105fc79fd2ab9431aea99e137809d064d8ee8356b032) set(SQLITE_HASH 1d3049dd0f830a025a53105fc79fd2ab9431aea99e137809d064d8ee8356b032)
set(STDUUID_HASH b1176597e789531c38481acbbed2a6894ad419aab0979c10410d59eb0ebf40d3) set(STDUUID_HASH b1176597e789531c38481acbbed2a6894ad419aab0979c10410d59eb0ebf40d3)
set(VLC_HASH 9d2b24d6bc4196b3da8d181a3878678ba272e2a7690321f8826da76a69b2fb9c)
set(VORBIS_HASH 270c76933d0934e42c5ee0a54a36280e2d87af1de3cc3e584806357e237afd13) set(VORBIS_HASH 270c76933d0934e42c5ee0a54a36280e2d87af1de3cc3e584806357e237afd13)
set(WINFSP_HASH 073a70e00f77423e34bed98b86e600def93393ba5822204fac57a29324db9f7a) set(WINFSP_HASH 073a70e00f77423e34bed98b86e600def93393ba5822204fac57a29324db9f7a)
set(WXWIDGETS_HASH f936c8d694f9c49a367a376f99c751467150a4ed7cbf8f4723ef19b2d2d9998d) set(WXWIDGETS_HASH f936c8d694f9c49a367a376f99c751467150a4ed7cbf8f4723ef19b2d2d9998d)

View File

@@ -94,29 +94,28 @@ if(PROJECT_ENABLE_BOOST)
set(BOOST_LINK "static,shared") set(BOOST_LINK "static,shared")
endif() endif()
if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
set(BOOST_CXX_STANDARD 20)
else()
set(BOOST_CXX_STANDARD ${CMAKE_CXX_STANDARD})
endif()
set(BOOST_BUILD_ARGS set(BOOST_BUILD_ARGS
--openssldir=$ENV{OPENSSL_ROOT_DIR} --openssldir=$ENV{OPENSSL_ROOT_DIR}
--prefix=${PROJECT_EXTERNAL_BUILD_ROOT} --prefix=${PROJECT_EXTERNAL_BUILD_ROOT}
address-model=64 address-model=64
architecture=${BOOST_ARCH} architecture=${BOOST_ARCH}
cxxstd=20
cxxstd-dialect=gnu cxxstd-dialect=gnu
cxxflags=-std=gnu++${CMAKE_CXX_STANDARD} cxxflags=-std=gnu++${BOOST_CXX_STANDARD}
cxxstd=${CMAKE_CXX_STANDARD} cxxstd=${BOOST_CXX_STANDARD}
define=BOOST_ASIO_HAS_STD_STRING_VIEW define=BOOST_ASIO_HAS_STD_STRING_VIEW
define=BOOST_SYSTEM_NO_DEPRECATED define=BOOST_SYSTEM_NO_DEPRECATED
link=${BOOST_LINK} link=${BOOST_LINK}
linkflags=-std=gnu++${CMAKE_CXX_STANDARD} linkflags=-std=gnu++${BOOST_CXX_STANDARD}
threading=multi threading=multi
variant=${BOOST_BUILD_TYPE_LOWER} variant=${BOOST_BUILD_TYPE_LOWER}
) )
if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
set(BOOST_URL_HASH SHA256=${BOOST2_HASH})
else()
set(BOOST_URL_HASH SHA256=${BOOST_HASH})
endif()
ExternalProject_Add(boost_project ExternalProject_Add(boost_project
PREFIX external PREFIX external
URL ${PROJECT_3RD_PARTY_DIR}/boost_${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_PATCH_VERSION}.tar.gz URL ${PROJECT_3RD_PARTY_DIR}/boost_${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_PATCH_VERSION}.tar.gz

View File

@@ -33,7 +33,7 @@ if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
ExternalProject_Add(libbitcoin_system_project ExternalProject_Add(libbitcoin_system_project
PREFIX external PREFIX external
URL ${PROJECT_3RD_PARTY_DIR}/libbitcoin-system-${LIBBITCOIN_SYSTEM_VERSION}.tar.gz 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" CONFIGURE_COMMAND echo "No configure"
BUILD_COMMAND echo "No build" BUILD_COMMAND echo "No build"
INSTALL_COMMAND echo "No install" INSTALL_COMMAND echo "No install"

View File

@@ -4,7 +4,7 @@ set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

View File

@@ -113,6 +113,11 @@ function sync_common() {
rsync -avh --delete --progress support/ "${DEST_DIR}/support/" || rsync -avh --delete --progress support/ "${DEST_DIR}/support/" ||
error_exit "failed to copy support/" 1 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() { function sync_create() {
@@ -131,9 +136,28 @@ function create_versions_cmake() {
(printf "%s\n" "${VERSION_LIST[@]}" | sort) >${DEST_DIR}/cmake/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 if [ "${PROJECT_NAME}" == "" ]; then
error_exit "missing project name" 2 error_exit "missing project name" 2
else else
. "${CURRENT_DIR}/src/scripts/versions.sh"
. "${CURRENT_DIR}/src/scripts/libraries.sh"
check_packages
if [ "${DEST_DIR}" == "" ]; then if [ "${DEST_DIR}" == "" ]; then
DEST_DIR=${CURRENT_DIR} DEST_DIR=${CURRENT_DIR}
fi fi

View File

@@ -2,7 +2,11 @@
setlocal setlocal
pushd "%~dp0%" pushd "%~dp0"
call src\scripts\setup_msys2.cmd 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 popd
endlocal

View File

@@ -11,13 +11,11 @@ popd
sync_common sync_common
sync_create sync_create
. "${CURRENT_DIR}/src/scripts/versions.sh"
. "${CURRENT_DIR}/src/scripts/libraries.sh"
create_versions_cmake create_versions_cmake
process_file .jenkins_builds process_file .jenkins_builds
process_file .jenkins_macos process_file .jenkins_macos
process_file .jenkins_msys2
process_file .nvimrc process_file .nvimrc
process_file CMakeLists.txt process_file CMakeLists.txt
process_file config.sh process_file config.sh
@@ -39,6 +37,7 @@ echo lib${PROJECT_NAME} >>"${DEST_DIR}/.cspell/words.txt"
update_util_sources update_util_sources
pushd "${DEST_DIR}" pushd "${DEST_DIR}"
git lfs track "*.7z"
git lfs track "*.exe" git lfs track "*.exe"
git lfs track "*.msi" git lfs track "*.msi"
git lfs track "*.tar.gz" git lfs track "*.tar.gz"

View File

@@ -1,11 +1,12 @@
#comment #comment
FROM arm64v8/alpine:3.22.2 FROM arm64v8/alpine:3.23
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com> MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
CMD bash CMD bash
RUN apk update RUN apk update
RUN apk upgrade RUN apk upgrade
RUN apk add \ RUN apk add \
7zip \
autoconf \ autoconf \
automake \ automake \
bash \ bash \
@@ -80,5 +81,5 @@ RUN apk add \
zstd-static \ zstd-static \
xz-static xz-static
RUN ln -sf /usr/bin/aclocal-1.17 /usr/bin/aclocal-1.16 RUN ln -sf /usr/bin/aclocal-1.18 /usr/bin/aclocal-1.16
RUN ln -sf /usr/bin/automake-1.17 /usr/bin/automake-1.16 RUN ln -sf /usr/bin/automake-1.18 /usr/bin/automake-1.16

View File

@@ -1,11 +1,12 @@
#comment #comment
FROM alpine:3.22.2 FROM alpine:3.23
MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com> MAINTAINER Scott E. Graves <scott.e.graves@protonmail.com>
CMD bash CMD bash
RUN apk update RUN apk update
RUN apk upgrade RUN apk upgrade
RUN apk add \ RUN apk add \
7zip \
autoconf \ autoconf \
automake \ automake \
bash \ bash \
@@ -80,5 +81,5 @@ RUN apk add \
zstd-static \ zstd-static \
xz-static xz-static
RUN ln -sf /usr/bin/aclocal-1.17 /usr/bin/aclocal-1.16 RUN ln -sf /usr/bin/aclocal-1.18 /usr/bin/aclocal-1.16
RUN ln -sf /usr/bin/automake-1.17 /usr/bin/automake-1.16 RUN ln -sf /usr/bin/automake-1.18 /usr/bin/automake-1.16

View File

@@ -1,3 +1,4 @@
#comment
FROM debian:latest FROM debian:latest
ARG UID=0 ARG UID=0

View File

@@ -1,16 +1,17 @@
#comment #comment
FROM alpine:3.22.2 FROM alpine:3.23
RUN apk update RUN apk update
RUN apk upgrade RUN apk upgrade
RUN apk add \ RUN apk add \
7zip \
autoconf \ autoconf \
automake \ automake \
bash \ bash \
binutils \ binutils \
bison \ bison \
bzip2 \ bzip2 \
clang17-extra-tools \ clang21-extra-tools \
cmake \ cmake \
curl \ curl \
file \ file \
@@ -63,7 +64,10 @@ ENV MY_MINGW_PREFIX=${MINGW_PREFIX}
ARG NUM_JOBS=2 ARG NUM_JOBS=2
ENV MY_NUM_JOBS=${NUM_JOBS} 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} ENV MY_CXX_STANDARD=${CXX_STANDARD}
ARG TOOLCHAIN_FILE_CMAKE=/cmake_toolchain.cmake 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 \ && tar xvzf /3rd_party/mingw64/pkg-config-${MY_PKG_CONFIG_VERSION}.tar.gz \
&& cd pkg-config-${MY_PKG_CONFIG_VERSION} \ && cd pkg-config-${MY_PKG_CONFIG_VERSION} \
&& ./configure \ && ./configure \
CFLAGS='-std=gnu11' \
--disable-nls \ --disable-nls \
--disable-shared \ --disable-shared \
--prefix=/usr/local \ --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 meson
RUN python3 -m pip install --break-system-packages -U packaging 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 LDFLAGS="-L${MY_MINGW_DIR}/lib -L${MY_MINGW_DIR}/lib64"
ENV PATH="${MY_MINGW_DIR}/bin:/usr/local/bin:${PATH}" ENV PATH="${MY_MINGW_DIR}/bin:/usr/local/bin:${PATH}"
ENV PKG_CONFIG_PATH="${MY_MINGW_DIR}/lib/pkgconfig:${MY_MINGW_DIR}/lib64/pkgconfig" 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 \ && ./bootstrap.sh \
--with-libraries=atomic,chrono,date_time,filesystem,iostreams,locale,log,program_options,random,regex,serialization,system,test,thread \ --with-libraries=atomic,chrono,date_time,filesystem,iostreams,locale,log,program_options,random,regex,serialization,system,test,thread \
address-model=64 \ address-model=64 \
cxxstd=${MY_CXX_STANDARD} \ cxxstd=20 \
cxxstd-dialect=gnu \ cxxstd-dialect=gnu \
architecture=x86 \ architecture=x86 \
link=static,shared \ 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} \ --prefix=${MY_MINGW_DIR} \
-j${MY_NUM_JOBS} \ -j${MY_NUM_JOBS} \
address-model=64 \ address-model=64 \
cxxstd=${MY_CXX_STANDARD} \ cxxstd=20 \
cxxstd-dialect=gnu \ cxxstd-dialect=gnu \
architecture=x86 \ architecture=x86 \
link=static,shared \ 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} \ -j${MY_NUM_JOBS} \
address-model=64 \ address-model=64 \
architecture=x86 \ architecture=x86 \
cxxstd=${MY_CXX_STANDARD} \ cxxstd=${MY_CXX_STANDARD} \
cxxstd-dialect=gnu \ cxxstd-dialect=gnu \
link=static,shared \ link=static,shared \
target-os=windows \ target-os=windows \
threading=multi \ threading=multi \

11
grab_packages.cmd Normal file
View 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

View File

@@ -6,66 +6,34 @@ CURRENT_DIR=$(dirname "${CURRENT_DIR}")
. "${CURRENT_DIR}/src/scripts/versions.sh" . "${CURRENT_DIR}/src/scripts/versions.sh"
. "${CURRENT_DIR}/src/scripts/libraries.sh" . "${CURRENT_DIR}/src/scripts/libraries.sh"
function check_should_update() { function download_package() {
local NAME=$1 local NAME=$1
local ITEM_LIST=(${PROJECT_DOWNLOADS[${NAME}]//;/ }) local ITEM_LIST=(${PROJECT_DOWNLOADS[${NAME}]//;/ })
if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ] || if [ ! -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" ]; then
[ ! -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]}"
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 ! wget ${ITEM_LIST[0]} -O "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"; then
echo "failed $NAME" echo "failed $NAME"
rm -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}" rm -f "${CURRENT_DIR}/support/${ITEM_LIST[2]}/${ITEM_LIST[1]}"
exit 1 exit 1
fi 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 popd
fi 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 for NAME in "${!PROJECT_DOWNLOADS[@]}"; do
if [ "${NAME}" != "BOOST" ] && [ "${NAME}" != "BOOST2" ]; then download_package $NAME
download_and_update_hash $NAME
fi
done done
} }
pushd "${CURRENT_DIR}" pushd "${CURRENT_DIR}"
HASH_LIST=() download_packages
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 popd

View File

@@ -52,7 +52,7 @@ elif [ "${WITH_TYPE}" == "7" ]; then
fi fi
if [ "${BUILD_ARCH}" != "" ]; then if [ "${BUILD_ARCH}" != "" ]; then
NAME=${NAME}_libevent_${BUILD_ARCH} NAME=${NAME}_${BUILD_ARCH}
fi fi
rm -rf "${TEST_DIR}/${NAME}" rm -rf "${TEST_DIR}/${NAME}"

74
scripts/create_packages.sh Executable file
View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
SCRIPTS_DIR=$(dirname "$0")
SCRIPTS_DIR=$(realpath ${SCRIPTS_DIR})
CURRENT_DIR=${SCRIPTS_DIR}/..
CURRENT_DIR=$(realpath "${CURRENT_DIR}")
. "${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]}"
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
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
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

82
scripts/test_msys2.cmd Executable file
View 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

77
src/.jenkins_msys2 Normal file
View File

@@ -0,0 +1,77 @@
#!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'
}
}
}

View File

@@ -139,8 +139,6 @@ if(PROJECT_BUILD)
find_package(ICU REQUIRED COMPONENTS data i18n io uc) find_package(ICU REQUIRED COMPONENTS data i18n io uc)
else() else()
message(STATUS "-=[CMake Settings]=-") message(STATUS "-=[CMake Settings]=-")
message(STATUS " C standard: ${CMAKE_C_STANDARD}")
message(STATUS " C++ standard: ${CMAKE_CXX_STANDARD}")
message(STATUS " CPU architecture: ${PROJECT_MARCH}") message(STATUS " CPU architecture: ${PROJECT_MARCH}")
if(PROJECT_ENABLE_FUSE) if(PROJECT_ENABLE_FUSE)
message(STATUS " FUSE version: ${PROJECT_FUSE}") message(STATUS " FUSE version: ${PROJECT_FUSE}")
@@ -157,6 +155,8 @@ endif()
DEPENDS ${PROJECT_DEPENDENCIES} DEPENDS ${PROJECT_DEPENDENCIES}
COMMAND cd build && cmake COMMAND cd build && cmake
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
-DCMAKE_C_STANDARD=${CMAKE_C_STANDARD}
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR=${CMAKE_GENERATOR}
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DPROJECT_3RD_PARTY_DIR=${PROJECT_3RD_PARTY_DIR} -DPROJECT_3RD_PARTY_DIR=${PROJECT_3RD_PARTY_DIR}

View File

@@ -6,6 +6,6 @@ set ARG1=%~1
set ARG2=%~2 set ARG2=%~2
set ARG3=%~3 set ARG3=%~3
pushd "%~dp0%" pushd "%~dp0"
call mingw64 -no-start ./cleanup.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 call mingw64 -no-start ./cleanup.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
popd popd

View File

@@ -8,6 +8,6 @@ set ARG1=%~3
set ARG2=%~4 set ARG2=%~4
set ARG3=%~5 set ARG3=%~5
pushd "%~dp0%" pushd "%~dp0"
call mingw64 -no-start ./deliver.sh "%DEST%" "%DIST%" "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1 call mingw64 -no-start ./deliver.sh "%DEST%" "%DIST%" "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1
popd popd

View File

@@ -7,6 +7,11 @@ PROJECT_SCRIPTS_DIR=$(realpath "$0")
PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}") PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}")
. "${PROJECT_SCRIPTS_DIR}/env.sh" "$3" "$4" "$5" "$6" "$7" . "${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() { function error_exit() {
echo $1 echo $1
exit $2 exit $2
@@ -38,13 +43,16 @@ BRANCH=$(git branch --show-current)
RELEASE=$(grep PROJECT_RELEASE_ITER= ./config.sh | ${SED} s/PROJECT_RELEASE_ITER=//g) RELEASE=$(grep PROJECT_RELEASE_ITER= ./config.sh | ${SED} s/PROJECT_RELEASE_ITER=//g)
popd popd
if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] || if [[ "${BRANCH}" =~ ^(master|main|release)$ ]] ||
[ "${BRANCH}" == "main" ] || [ "${BRANCH}" == "release" ] || [[ "${BRANCH}" =~ ^(alpha|beta|rc)(\.[0-9]+)?$ ]]; then
[ "${BRANCH}" == "beta" ] || [ "${BRANCH}" == "rc" ]; then DEST_DIR="${DEST_DIR}/$([[ "${BRANCH}" =~ ^(master|main|release)$ ]] &&
DEST_DIR=${DEST_DIR}/${RELEASE} printf '%s' "${RELEASE}" ||
elif [[ ${BRANCH} = *'-alpha-'* ]] || [[ ${BRANCH} = *'-beta-'* ]] || printf '%s' "${BRANCH%%.*}")"
[[ ${BRANCH} = *'-rc-'* ]] || [[ ${BRANCH} = *'-release-'* ]]; then elif [[ "${BRANCH}" == *"-alpha-"* ]] || [[ "${BRANCH}" == *"-beta-"* ]] ||
DEST_DIR=${DEST_DIR}/nightly [[ "${BRANCH}" == *"-rc-"* ]] || [[ "${BRANCH}" == *"-release-"* ]] ||
[[ "${BRANCH}" == *"-alpha."* ]] || [[ "${BRANCH}" == *"-beta."* ]] ||
[[ "${BRANCH}" == *"-rc."* ]]; then
DEST_DIR="${DEST_DIR}/nightly"
else else
error_exit "skipping ${PROJECT_FILE_PART}" 0 error_exit "skipping ${PROJECT_FILE_PART}" 0
fi 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 error_exit "failed to find file: ${PROJECT_OUT_FILE}.sig" 1
fi 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 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 error_exit "failed to deliver file: ${PROJECT_OUT_FILE}.sha256" 1
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then 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 error_exit "failed to deliver file: ${PROJECT_OUT_FILE}.sig" 1
fi fi
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe" ]; then 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 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 error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sha256" 1
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then 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 error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}_setup.exe.sig" 1
fi fi
fi fi
if [ "${PROJECT_IS_DARWIN}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg" ]; then 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 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 error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sha256" 1
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then 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 error_exit "failed to deliver file: ${PROJECT_DIST_DIR}/${PROJECT_FILE_PART}.dmg.sig" 1
fi fi
fi fi

View File

@@ -25,6 +25,8 @@ cp -f ${PROJECT_SOURCE_DIR}/docker/${PROJECT_BUILD_ARCH}/${DOCKER_NAME} Dockerfi
if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
docker build ${APP_VERSION_BUILD_ARGS} \ docker build ${APP_VERSION_BUILD_ARGS} \
--platform linux/arm64 \ --platform linux/arm64 \
--build-arg C_STANDARD=${PROJECT_C_STANDARD} \
--build-arg CXX_STANDARD=${PROJECT_CXX_STANDARD} \
--build-arg NUM_JOBS=${NUM_JOBS} \ --build-arg NUM_JOBS=${NUM_JOBS} \
--build-arg UID=$(id -u) \ --build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \ --build-arg GID=$(id -g) \
@@ -32,6 +34,8 @@ if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then
-t ${DOCKER_TAG} . || exit 1 -t ${DOCKER_TAG} . || exit 1
else else
docker build ${APP_VERSION_BUILD_ARGS} \ docker build ${APP_VERSION_BUILD_ARGS} \
--build-arg C_STANDARD=${PROJECT_C_STANDARD} \
--build-arg CXX_STANDARD=${PROJECT_CXX_STANDARD} \
--build-arg NUM_JOBS=${NUM_JOBS} \ --build-arg NUM_JOBS=${NUM_JOBS} \
--build-arg UID=$(id -u) \ --build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \ --build-arg GID=$(id -g) \

View File

@@ -7,6 +7,8 @@ PROJECT_IS_MINGW=$4
PROJECT_IS_MINGW_UNIX=$5 PROJECT_IS_MINGW_UNIX=$5
DISABLE_CREATE_DIRS=$6 DISABLE_CREATE_DIRS=$6
PROJECT_CXX_STANDARD=23
PROJECT_C_STANDARD=11
PROJECT_FLUTTER_BASE_HREF="/" PROJECT_FLUTTER_BASE_HREF="/"
if [ "${PROJECT_IS_MINGW}" != "1" ]; then if [ "${PROJECT_IS_MINGW}" != "1" ]; then
@@ -46,7 +48,7 @@ for PROJECT_LIBRARY in "${PROJECT_LIBRARIES[@]}"; do
done done
PROJECT_APP_LIST=() 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_V2_ERRORS=OFF
PROJECT_ENABLE_WIN32_LONG_PATH_NAMES=OFF PROJECT_ENABLE_WIN32_LONG_PATH_NAMES=OFF
PROJECT_IS_ALPINE=0 PROJECT_IS_ALPINE=0
@@ -340,6 +342,8 @@ export PROJECT_CMAKE_BUILD_TYPE_LOWER
export PROJECT_CMAKE_OPTS export PROJECT_CMAKE_OPTS
export PROJECT_COMPANY_NAME export PROJECT_COMPANY_NAME
export PROJECT_COPYRIGHT export PROJECT_COPYRIGHT
export PROJECT_CXX_STANDARD
export PROJECT_C_STANDARD
export PROJECT_DESC export PROJECT_DESC
export PROJECT_DIST_DIR export PROJECT_DIST_DIR
export PROJECT_ENABLE_V2_ERRORS export PROJECT_ENABLE_V2_ERRORS
@@ -391,6 +395,8 @@ echo " Build arch2: ${PROJECT_BUILD_ARCH2}"
echo " Build clean: ${PROJECT_BUILD_CLEAN}" echo " Build clean: ${PROJECT_BUILD_CLEAN}"
echo " Build dir: ${PROJECT_BUILD_DIR}" echo " Build dir: ${PROJECT_BUILD_DIR}"
echo " Build shared libraries: ${PROJECT_BUILD_SHARED_LIBS}" 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 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 toolchain file: ${PROJECT_TOOLCHAIN_FILE_CMAKE}"
echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}" echo " Cmake Build type: ${PROJECT_CMAKE_BUILD_TYPE}"

View File

@@ -6,7 +6,7 @@ set ARG1=%~1
set ARG2=%~2 set ARG2=%~2
set ARG3=%~3 set ARG3=%~3
pushd "%~dp0%" pushd "%~dp0"
call mingw64 -no-start ./info.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 call mingw64 -no-start ./info.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
popd popd

View File

@@ -92,7 +92,7 @@ PROJECT_CLEANUP[SQLITE]="3rd_party/sqlite*"
PROJECT_CLEANUP[STDUUID]="3rd_party/stduuid-*" PROJECT_CLEANUP[STDUUID]="3rd_party/stduuid-*"
PROJECT_CLEANUP[TESTING]="3rd_party/googletest-*" PROJECT_CLEANUP[TESTING]="3rd_party/googletest-*"
PROJECT_CLEANUP[TPL]="3rd_party/tiny-process-library*" 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[VORBIS]="3rd_party/vorbis-*:3rd_party/vorbis*"
PROJECT_CLEANUP[WINFSP]="3rd_party/winfsp-*" PROJECT_CLEANUP[WINFSP]="3rd_party/winfsp-*"
PROJECT_CLEANUP[WXWIDGETS]="3rd_party/wxWidgets-*" 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[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[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[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[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[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[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[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[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[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[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" 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[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[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[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[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[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" 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 PROJECT_DOWNLOADS
export VLC_WIN64_DOWNLOAD

View File

@@ -6,6 +6,6 @@ set ARG1=%~1
set ARG2=%~2 set ARG2=%~2
set ARG3=%~3 set ARG3=%~3
pushd "%~dp0%" pushd "%~dp0"
call mingw64 -no-start ./make_package.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1 call mingw64 -no-start ./make_package.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1
popd popd

View File

@@ -6,7 +6,7 @@ set ARG1=%~1
set ARG2=%~2 set ARG2=%~2
set ARG3=%~3 set ARG3=%~3
pushd "%~dp0%" pushd "%~dp0"
call setup_msys2.cmd "%ARG1%" "%ARG2%" "%ARG3%" call setup_msys2.cmd "%ARG1%" "%ARG2%" "%ARG3%"
if exist "cleanup.cmd" ( if exist "cleanup.cmd" (
call cleanup.cmd "%ARG1%" "%ARG2%" "%ARG3%" 1 0 call cleanup.cmd "%ARG1%" "%ARG2%" "%ARG3%" 1 0

View File

@@ -6,7 +6,7 @@ set ARG1=%~1
set ARG2=%~2 set ARG2=%~2
set ARG3=%~3 set ARG3=%~3
pushd "%~dp0%" pushd "%~dp0"
call mingw64 -no-start ./run_tests.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 call mingw64 -no-start ./run_tests.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
popd popd

View File

@@ -6,7 +6,7 @@ set ARG1=%~1
set ARG2=%~2 set ARG2=%~2
set ARG3=%~3 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
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 popd

View File

@@ -14,6 +14,7 @@ PROJECT_MSYS2_PACKAGE_LIST+=(
mingw64/mingw-w64-x86_64-diffutils mingw64/mingw-w64-x86_64-diffutils
mingw64/mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-gcc
mingw64/mingw-w64-x86_64-gdb mingw64/mingw-w64-x86_64-gdb
mingw64/mingw-w64-x86_64-git-lfs
mingw64/mingw-w64-x86_64-icu mingw64/mingw-w64-x86_64-icu
mingw64/mingw-w64-x86_64-make mingw64/mingw-w64-x86_64-make
mingw64/mingw-w64-x86_64-mesa mingw64/mingw-w64-x86_64-mesa

View File

@@ -18,7 +18,7 @@ PROJECT_VERSIONS[EXPAT]="2.7.1"
PROJECT_VERSIONS[EXPAT2]="2_7_1" PROJECT_VERSIONS[EXPAT2]="2_7_1"
PROJECT_VERSIONS[FLAC]="1.5.0" PROJECT_VERSIONS[FLAC]="1.5.0"
PROJECT_VERSIONS[FMT]="12.0.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[FREETYPE2]="2.14.1"
PROJECT_VERSIONS[GCC]="15.2.0" PROJECT_VERSIONS[GCC]="15.2.0"
PROJECT_VERSIONS[GTEST]="1.17.0" PROJECT_VERSIONS[GTEST]="1.17.0"
@@ -50,7 +50,7 @@ PROJECT_VERSIONS[SPDLOG]="1.15.3"
PROJECT_VERSIONS[SQLITE]="3500400" PROJECT_VERSIONS[SQLITE]="3500400"
PROJECT_VERSIONS[SQLITE2]="3.50.4" PROJECT_VERSIONS[SQLITE2]="3.50.4"
PROJECT_VERSIONS[STDUUID]="1.2.3" 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[VORBIS]="1.3.7"
PROJECT_VERSIONS[WINFSP]="2.1.25156" PROJECT_VERSIONS[WINFSP]="2.1.25156"
PROJECT_VERSIONS[WINFSP2]="2.1" PROJECT_VERSIONS[WINFSP2]="2.1"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@
6a33dc555cc9ba8b10caf7695878ef134eeb36d0af366041f639b1da9b6ed220 fontconfig-2.16.0.tar.xz

View File

@@ -0,0 +1 @@
9f5cae93f4fffc1fbc05ae99cdfc708cd60dfd6612ffc0512827025c026fa541 fontconfig-2.17.1.tar.xz

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
0d10d79472e914620223f1ddb9396b0fa92ae5eb0b31acc14b9aa634a01d78b6 *libbitcoin-system-3.8.0.tar.gz b5dd2a97289370fbb93672dd3114383f30d877061de1d1683fa8bdda5309bfa2 ./libbitcoin-system-3.8.0.tar.gz

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
9d2b24d6bc4196b3da8d181a3878678ba272e2a7690321f8826da76a69b2fb9c ./vlc-3.0.21-win64.7z

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -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.

File diff suppressed because it is too large Load Diff

View File

@@ -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.

View File

@@ -1,106 +0,0 @@
Some VLC plugins use external libraries and make extensive use of the
following persons' or companies' code:
FAAD2 - Copyright (c) Nero AG, www.nero.com" - GPLv2 or later
FFmpeg - Copyright (c) 2000-2017 the FFmpeg developers - LGPLv2.1 or later
FluidLite - Copyright (c) 2016 Robin Lobel - LGPLv2.1 or later
FluidSynth - Copyright (c) 2003-2010 Peter Hanappe, Conrad Berhörster, Antoine
Schmitt, Pedro López-Cabanillas, Josh Green, David Henningsson - LGPLv2.1 or
later
Fontconfig - Copyright (c) 2000,2001,2002,2003,2004,2006,2007 Keith Packard,
(c) 2005 Patrick Lam, (c) 2009 Roozbeh Pournader, (c) 2008,2009 Red Hat,
Inc., (c) 2008 Danilo Šegan, (c) 2012 Google, Inc. - MIT License
freetype - David Turner, Robert Wilhelm, and Werner Lemberg - FreeType License
GSM - Copyright (c) 1992 - 1994, 2009 Jutta Degener & Carsten Bormann - GSM
permissive license
GNU FriBidi - Copyright (c) 2004-2012 Behdad Esfahbod, Dov Grobgeld, Roozbeh
Pournader - LGPLv2.1 or later
GnuTLS - Copyright (C) 2000-2012 Free Software Foundation, Inc. - LGPLv2.1 or
later
harfbuzz - Copyright (c) 2010, 2011, 2012 Google, Inc., (c) 2012 Mozilla
Foundation, (c) 2011 Codethink Limited, (c) 2008, 2010 Nokia Corporation
and/or its subsidiary(-ies), (c) 2009 Keith Stribley, (c) 2009 Martin Hosken
and SIL International, (c) 2007 Chris Wilson, (c) 2006 Behdad Esfahbod,
(c) 2005 David Turner, (c) 2004, 2007, 2008, 2009, 2010 Red Hat, Inc.,
(c) 1998-2004 David Turner and Werner Lemberg - Old MIT License
liba52 - Aaron Holtzman & Michel Lespinasse, et al. - GPLv2 or later
libav - Copyright (c) 2000 - 2015 the libav developers - LGPLv2.1 or later
libass - Copyright (c) 2006-2015 Grigori Goronzy et al. - ISC License
libbluray - Copyright (c) 2009-2015 VideoLAN and authors - LGPLv2.1 or later
libcaca - Copyright (c) 2004 Sam Hocevar - WTFPL / LGPLv2.1 or later /
GPLv2 or later / ISC
libdca - Copyright (c) 2004-2007 VideoLAN and authors - GPLv2 or later
libdvbpsi - Copyright (c) 2001-2017 VideoLAN and authors - LGPLv2.1 or later
libdvdcss - Copyright (c) 2001-2017 VideoLAN and authors - GPLv2 or later
libdvdread - GPLv2 or later
libdvdnav - GPLv2 or later
libebml - Copyright (c) 2002-2015 Steve Lhomme - LGPLv2.1 or later
libFLAC - Copyright (c) 2001 - 2014 Josh Coalson et al. - Xiph.org BSD license
libgme - LGPLv2.1 or later
libgpg-error - Copyright 2003, 2004, 2005, 2006, 2007, 2013 g10 Code GmbH
- LGPLv2.1 or later
libkate - Copyright (c) 2008-2011 Vincent Penquerc'h - 3-clause BSD License
liblive555 - Copyright (c) 1996-2015 Live Networks, Inc. - LGPLv2.1 or later
libmad - Copyright (c) 2000-2004 Robert Leslie, et al. - GPLv2 or later
libmatroska - Copyright (c) 2002-2015 Steve Lhomme - LGPLv2.1 or later
libmpeg2 - Aaron Holtzman & Michel Lespinasse, et al. - GPLv2 or later
libmodplug - Oliver Lapicque, Konstanty - Public domain
libogg, libvorbis - Copyright (c) 2002-2015 Xiph.org Foundation - Xiph.org BSD
license
libpostproc - Copyright (C) 2001-2015 Michael Niedermayer, et al. - GPLv2 or
later
libpng - Copyright (c) 2004, 2006-2014 Glenn Randers-Perhson, et al. - libpng
license
libsamplerate - Copyright (c) 2002-2011 Erik de Castro Lopo - GPLv2 or later
libschroedinger - Copyright (c) 2006 BBC and Fluendo - MIT License
libsdl - Copyright (c) 1997-2014 Sam Lantinga et al. - LGPLv2.1 or later
libshout - Copyright (c) 2012 - LGPLv2.1 or later
libtheora - Copyright (c) Xiph.org Foundation - Xiph.org BSD license
libtiff - Copyright (c) 1988-1997 Sam Leffler, (c) 1991-1997 Silicon Graphics,
Inc. - BSD-like
libtwolame - Copyright (c) 2001-2004 Michael Cheng, (c) 2004-2006 The TwoLAME
Project - LGPLv2.1 or later
libupnp - Copyright (c) 2000-2003 Intel Corporation - 3-clause BSD License
libvpx - Copyright (c) 2010-2015, Google Inc. - 3-clause BSD License
libxml2 - Copyright (c) 1998-2014 Daniel Veillard - MIT License
lua - Copyright (c) 1994-2008 Lua.org, PUC-Rio. - MIT License
Musepack decoder library - Copyright (c) 2005-2011, The Musepack Development
Team - 3-clause BSD License
OpenJPEG - Copyright (c) 2002-2014, Communcations and Remote Sensing
Laboratory, UCL, Belgium - ISC License
Opus - Copyright 2001-2013 Xiph.Org, Skype Limited, Octasic, Jean-Marc Valin,
Timothy B. Terriberry, CSIRO, Gregory Maxwell, Mark Borgerding,
Erik de Castro Lopo - Xiph.org BSD License
Sparkle — Andy Matuschak et al. - MIT License
Speex, Speexdsp - Copyright (c) 1992-2015 Xiph.org Foundation, Jean-Marc Valin,
Analog Devices Inc. Commonwealth Scientific and Industrial Research
Organisation, David Row, Jutta Degener, Carsten Bormann - 3-clause BSD
License
taglib - Copyright (c) 2004-2016 Scott Wheeler, et al. - LGPLv2.1 or later
x264 - Copyright (c) 2004-2017 VideoLAN and authors - GPLv2 or later
x265 - Copyright (c) 2004-2015 x265 project - GPLv2 or later
Zapping VBI library - Copyright (c) 2000-2003 Michael H. Schimek, Iñaki García
Etxebarria - LGPLv2.1 or later
zlib - Copyright (c) 1995-2017 Jean-loup Gailly and Mark Adler - zlib license
The VideoLAN team would like to thank the following donators:
Julian Cain, who made a $1000 donation
The French website MacBidouille gave €500 to help us buy a PowerMac G5
The French magazine à vos MAC gave €500 to help us buy a PowerMac G5
Laurent Dupuy, who made a €540 donation
The French company Cybervia (Actech) gave €2000 to pay for webserver hosting
Dennis Perov - Hardware donation
...the following active members of our user community:
Alan Wright
David J LaBarre "DJ"
Eric Adler
Julien Bouquillon
...and code auditors and testers:
David Thiel
Philippe A. aka "Lotesdelère"
Sebastien Chaumat

Binary file not shown.

View File

@@ -1,77 +0,0 @@
!insertmacro LANGFILE_EXT Afrikaans
${LangFileString} Name_Section01 "Mediaspeler (vereis)"
${LangFileString} Name_Section02a "Begin-kieslyskortpad"
${LangFileString} Name_Section02b "Werkskermkortpad"
${LangFileString} Name_Section34 "Webinproppe"
${LangFileString} Name_Section03 "Mozilla-inprop"
${LangFileString} Name_Section04 "ActiveX-inprop"
${LangFileString} Name_Section05 "Afspeel van Skywe"
${LangFileString} Name_Section06 "Lêertipekoppelings"
${LangFileString} Name_SectionGroupAudio "Oudiolêers"
${LangFileString} Name_SectionGroupVideo "Videolêers"
${LangFileString} Name_SectionGroupOther "Ander"
${LangFileString} Name_Section07 "Kontekskieslyste"
${LangFileString} Name_Section08 "Skrap voorkeure en kas"
${LangFileString} Desc_Section01 \
"Die mediaspeler self"
${LangFileString} Desc_Section02a \
"Voeg items tot u begin-kieslys toe vir maklike toegang"
${LangFileString} Desc_Section02b \
"Plaas ikoon op u werkskerm vir maklike toegang"
${LangFileString} Desc_Section03 \
"Die VLc Mozilla- en Mozilla Firefox-inprop"
${LangFileString} Desc_Section04 \
"Die VLC ActiveX-inprop"
${LangFileString} Desc_Section05 \
"DVD en CD afspeelregistrasie"
${LangFileString} Desc_Section06 \
"Stel VLC-mediaspeler in as die verstektoepassing vir die gespesifiseerde lêertipe"
${LangFileString} Desc_Section07 \
"Voeg kontekskieslysitems toe (Speel af met VLC en Voeg toe tot VLC se afspeellys)"
${LangFileString} Desc_Section08 \
"Skrap VLC-mediaspelervoorkeure en kaslêers wat van vorige installasies oorgebly het"
${LangFileString} Name_Section91 "Deïnstalleer"
${LangFileString} Name_Section92 "Skrap voorkeure en kas"
${LangFileString} Desc_Section91 \
"Deïnstalleer VLC-mediaspeler en al sy komponente"
${LangFileString} Desc_Section92 \
"Skrap VLC-mediaspelervoorkeure en kaslêers"
${LangFileString} ShellAssociation_Play "Speel"
${LangFileString} ContextMenuEntry_PlayWith "Speel af met VLC-mediaspeler"
${LangFileString} ContextMenuEntry_AddToPlaylist "Voeg toe tot VLC-mediaspeler se afspeellys"
${LangFileString} Link_VisitWebsite "Besoek die VideoLAN VLC-mediaspelerwebblad"
${LangFileString} Name_InstTypeRecommended "Aanbeveel"
${LangFileString} Name_InstTypeMinimum "Minimum"
${LangFileString} Name_InstTypeFull "Vol"
${LangFileString} Action_OnArrivalDVD "Speel DVD-rolprent"
${LangFileString} Action_OnArrivalAudioCD "Speel oudio CD"
${LangFileString} Action_OnArrivalVCDMovie "Speel VCD-rolprent"
${LangFileString} Action_OnArrivalSVCDMovie "Speel SVCD-rolprent"
${LangFileString} Action_OnArrivalVideoFiles "Speel videolêers"
${LangFileString} Action_OnArrivalMusicFiles "Speel oudiolêers"
${LangFileString} Action_OnArrivalDVDAudio "Speel oudio DVD"
${LangFileString} License_NextText "U is nou bewus van u regte. Klik Volgende om aan te gaan."
${LangFileString} Detail_CheckProcesses "Gaan prosesse na…"
${LangFileString} MessageBox_VLCRunning "Dit wol voorkom of VLC loop en dit sal nou afgesluit word."
${LangFileString} MessageBox_VLCUnableToClose "Die installeerder kon VLC nie afsluit nie, doen dit asb. handmatig."
${LangFileString} MessageBox_InstallAborted "Installasie is laat vaar"
${LangFileString} Reinstall_Headline "Reeds geïnstalleer"
${LangFileString} Reinstall_HeadlineInstall "Kies hoe u VLC wil installeer."
${LangFileString} Reinstall_HeadlineMaintenance "Kies die onderhoudopsie om uit te voer."
${LangFileString} Reinstall_MessageOlder "n Ouer weergawe van VLC is op u stelsel geïnstalleer. Kies die operasie wat u wil uitvoer en klik Volgende om aan te gaan."
${LangFileString} Reinstall_MessageNewer "n Nuwer weergawe van VLC is reeds geïnstalleer. Dit word nie aanbeveel om af te gradeer na n ouer weergawe nie. Kies die operasie wat u wil uitvoer en klik Volgende om aan te gaan."
${LangFileString} Reinstall_MessageSame "VLC ${VERSION} is reeds geïnstalleer. Kies die operasie wat u wil uitvoer en klik Volgende om aan te gaan."
${LangFileString} Reinstall_OptionUpgrade "Gradeer VLC op deur vorige instellings te gebruik (aanbeveel)"
${LangFileString} Reinstall_OptionDowngrade "Gradeer VLC af deur vorige instellings te gebruik (aanbeveel)"
${LangFileString} Reinstall_OptionComponents "Voeg komponente toe/Verwyder dit/Installeer dit"
${LangFileString} Reinstall_OptionAdvanced "Verander instellings (gevorderd)"
${LangFileString} Reinstall_OptionUninstall "Deïnstalleer VLC"

View File

@@ -1,79 +0,0 @@
!insertmacro LANGFILE_EXT Albanian
${LangFileString} Name_Section01 "Aparati Media (e nevojshme)"
${LangFileString} Name_Section02a "Fillo Meny Shkurtues "
${LangFileString} Name_Section02b "Desktop Shkurtues"
${LangFileString} Name_Section34 "Plugin-et Web"
${LangFileString} Name_Section03 "Plugin-i Mozilla"
${LangFileString} Name_Section04 "Plugin ActiveX"
${LangFileString} Name_Section05 "Ridëgjim Disku"
${LangFileString} Name_Section06 "Asociacion tip dokumenti"
${LangFileString} Name_SectionGroupAudio "Dokumente Audio"
${LangFileString} Name_SectionGroupVideo "Dokumente Video"
${LangFileString} Name_SectionGroupOther "Të Tjera"
${LangFileString} Name_Section07 "Meny konteksti"
${LangFileString} Name_Section08 "Fshi preferencat dhe depo"
${LangFileString} Desc_Section01 \
"Aparati Media vetë"
${LangFileString} Desc_Section02a \
"Shton ikona në menynë tuaj fillojnë për qasje të lehtë"
${LangFileString} Desc_Section02b \
"Shton ikona në dekstop tuaj për hyrje të lehtë"
${LangFileString} Desc_Section03 \
"Plugin-i VLC Mozilla dhe Mozilla Firefox"
${LangFileString} Desc_Section04 \
"Plugin-i VLC ActiveX"
${LangFileString} Desc_Section05 \
"DVD dhe CD luaj-mbrapa regjistrimin"
${LangFileString} Desc_Section06 \
"Vendos VLC media player si programin default application per kete tip file"
${LangFileString} Desc_Section07 \
"Shto meny kontekst mjete ('Luaj Me VLC' dhe 'Shto Tek Lista VLC's')"
${LangFileString} Desc_Section08 \
"Fshij preferencat dhe file-et e cache te VLC media player-it te mbetura nga instalimet e meparshme"
${LangFileString} Name_Section91 "Ç'instalo "
${LangFileString} Name_Section92 "Fshi preferencat dhe depo"
${LangFileString} Desc_Section91 \
"Ç'instaloj aparatin VLC media dhe të gjithë komponentët"
${LangFileString} Desc_Section92 \
"Fshij preferencat dhe file-et e cache te VLC media player-it"
${LangFileString} ShellAssociation_Play "Luaj"
${LangFileString} ContextMenuEntry_PlayWith "Luaj me aparatin VLC media "
${LangFileString} ContextMenuEntry_AddToPlaylist "Shto tek lista e apartit VLC media"
${LangFileString} Link_VisitWebsite "Vizitoni faqen e aparatit VideoLAN VLC media "
${LangFileString} Name_InstTypeRecommended "Rekomanduar"
${LangFileString} Name_InstTypeMinimum "Minimum"
${LangFileString} Name_InstTypeFull "Plotë"
${LangFileString} Action_OnArrivalDVD "Luaj film DVD"
${LangFileString} Action_OnArrivalAudioCD "Luaj audio CD"
${LangFileString} Action_OnArrivalVCDMovie "Luaj film VCD"
${LangFileString} Action_OnArrivalSVCDMovie "Luaj film SVCD"
${LangFileString} Action_OnArrivalVideoFiles "Luaj dokument video"
${LangFileString} Action_OnArrivalMusicFiles "Luaj dokument audio"
${LangFileString} Action_OnArrivalDVDAudio "Luaj audio DVD"
${LangFileString} Action_OnArrivalBluray "Luaj Blu-ray"
${LangFileString} License_NextText "Ju tani jeni të vetëdijshëm për të drejtat tuaja. Klikoni Tjetër për të vazhduar."
${LangFileString} Detail_CheckProcesses "Duke kontrolluar proceset..."
${LangFileString} MessageBox_VLCRunning "VLC duket se po punon dhe tani do të mbyllet."
${LangFileString} MessageBox_VLCUnableToClose "Ky instalues nuk ishte në gjendje për të mbyllur VLC, ju lutemi ta mbyllni në mënyrë manuale."
${LangFileString} MessageBox_InstallAborted "Instalimi i ndërprerë!"
${LangFileString} Reinstall_Headline "Instaluar Tashmë"
${LangFileString} Reinstall_HeadlineInstall "Zgjidhni se si ju dëshironi të instaloni VLC."
${LangFileString} Reinstall_HeadlineMaintenance "Zgjidhni opsionin e mirëmbajtjes për të kryer."
${LangFileString} Reinstall_MessageOlder "Një version më i vjetër i VLC është i instaluar në sistemin tuaj. Zgjidhni operacionin që ju dëshironi për të kryer dhe të klikoni Tjetri për të vazhduar."
${LangFileString} Reinstall_MessageNewer "Një version i ri i VLC tashmë është instaluar! Nuk është e rekomanduar që ju të degradoni në një version më të vjetër. Zgjidhni operacionin që ju dëshironi për të kryer dhe të klikoni Tjetri për të vazhduar."
${LangFileString} Reinstall_MessageSame "VLC ${VERSION} është instaluar tashmë. Zgjidhni operacionin që ju dëshironi për të kryer dhe të klikoni Tjetri për të vazhduar."
${LangFileString} Reinstall_OptionUpgrade "Përmirëso VLC duke përdorur cilësimet e mëparshme (e rekomanduar)"
${LangFileString} Reinstall_OptionDowngrade "Degrado VLC duke përdorur cilësimet e mëparshme (e rekomanduar)"
${LangFileString} Reinstall_OptionComponents "Shto/Hiq/Riinstalo komponentët "
${LangFileString} Reinstall_OptionAdvanced "Ndrysho cilësimet (avancuar) "
${LangFileString} Reinstall_OptionUninstall "Ç'instalo VLC"

View File

@@ -1,79 +0,0 @@
!insertmacro LANGFILE_EXT Arabic
${LangFileString} Name_Section01 "مشغّل الوسائط (مطلوب)"
${LangFileString} Name_Section02a "اختصار في قائمة ”ابدأ“"
${LangFileString} Name_Section02b "اختصار على سطح المكتب"
${LangFileString} Name_Section34 "ملحقات الوِب"
${LangFileString} Name_Section03 "ملحقة موزيلا"
${LangFileString} Name_Section04 "ملحقة ActiveX"
${LangFileString} Name_Section05 "تشغيل الأقراص"
${LangFileString} Name_Section06 "ارتباطات أنواع الملفات"
${LangFileString} Name_SectionGroupAudio "الملفات الصوتية"
${LangFileString} Name_SectionGroupVideo "الملفات المرئية"
${LangFileString} Name_SectionGroupOther "أخرى"
${LangFileString} Name_Section07 "قوائم المحتوى"
${LangFileString} Name_Section08 "احذف التفضيلات والخبيئة"
${LangFileString} Desc_Section01 \
"مشغّل الوسائط ذاته"
${LangFileString} Desc_Section02a \
"يضيف أيقونات لقائمة ”ابدأ“ لوصول أيسر"
${LangFileString} Desc_Section02b \
"يضيف أيقونة على سطح المكتب لوصول أيسر"
${LangFileString} Desc_Section03 \
"ملحقة VLC لموزيلا وموزيلا فَيَرفُكس"
${LangFileString} Desc_Section04 \
"ملحقة VLC لِ‍ ActiveX"
${LangFileString} Desc_Section05 \
"تسجيل تشغيل CD و DVD"
${LangFileString} Desc_Section06 \
"يضبط مشغّل الوسائط VLC ليكون التطبيق المبدئي لنوع الملفات المحدد"
${LangFileString} Desc_Section07 \
"أضِف عناصر إلى قائمة السياق (’شغّل بِ‍ VLC و’أضِف إلى قائمة تشغيل VLC)"
${LangFileString} Desc_Section08 \
"يحذف التفضيلات والخبيئة لمشغّل الوسائط VLC التي بقت من النسخ السابقة"
${LangFileString} Name_Section91 "أزِل التثبيت"
${LangFileString} Name_Section92 "احذف التفضيلات و ذاكرة تخزين مؤقت"
${LangFileString} Desc_Section91 \
"أزِل تثبيت مشغّل الوسائط VLC وكلّ مكوّناته"
${LangFileString} Desc_Section92 \
"احذف تفضيلات مشغّل الوسائط VLC وملفات الخبيئة"
${LangFileString} ShellAssociation_Play "شغّل"
${LangFileString} ContextMenuEntry_PlayWith "شغّل بمشغّل الوسائط VLC"
${LangFileString} ContextMenuEntry_AddToPlaylist "أضِف إلى قائمة مشغّل الوسائط VLC"
${LangFileString} Link_VisitWebsite "زُر موقع مشغّل الوسائط VLC من VideoLAN"
${LangFileString} Name_InstTypeRecommended "مُوصى به"
${LangFileString} Name_InstTypeMinimum "الأدنى"
${LangFileString} Name_InstTypeFull "كامل"
${LangFileString} Action_OnArrivalDVD "شغّل فيلم DVD"
${LangFileString} Action_OnArrivalAudioCD "شغّل CD صوتي"
${LangFileString} Action_OnArrivalVCDMovie "شغّل فيلم VCD"
${LangFileString} Action_OnArrivalSVCDMovie "شغّل فيلم SVCD"
${LangFileString} Action_OnArrivalVideoFiles "شغّل ملفات الفيديو"
${LangFileString} Action_OnArrivalMusicFiles "شغّل الملفات الصوتية"
${LangFileString} Action_OnArrivalDVDAudio "شغّل DVD صوتي"
${LangFileString} Action_OnArrivalBluray "تشغيل بلو-ري"
${LangFileString} License_NextText "أصبحت على علم بحقوقك. انقر ”التالي“ للمتابعة."
${LangFileString} Detail_CheckProcesses "يتحقق من العمليات..."
${LangFileString} MessageBox_VLCRunning "يبدو أن VLC يعمل وسيُغلق الآن."
${LangFileString} MessageBox_VLCUnableToClose "تعذر على المثبّت إغلاق VLC، رجاءً أغلقه يدويا."
${LangFileString} MessageBox_InstallAborted "تم الإحباط التثبيت"
${LangFileString} Reinstall_Headline "مثبًّت مسبقا"
${LangFileString} Reinstall_HeadlineInstall "اختر طريقة تثبيت VLC."
${LangFileString} Reinstall_HeadlineMaintenance "اختر نوع الصيانة التي تريد القيام بها."
${LangFileString} Reinstall_MessageOlder "ثمة نسخة أقدم من VLC مثبّتة في النظام. اختر العملية التي تريد إجراءها وانقر ”التالي“ للمتابعة."
${LangFileString} Reinstall_MessageNewer "ثمة نسخة أحدث من VLC مثبّتة! ليس مستحسنا العودة إلى نسخة أقدم. اختر العملية التي تريد إجراءها وانقر ”التالي“ للمتابعة."
${LangFileString} Reinstall_MessageSame "النسخة ${VERSION} من VLC مثبتة بالفعل. اختر العملية التي تريد إجراءها وانقر ”التالي“ للمتابعة."
${LangFileString} Reinstall_OptionUpgrade "رقِّ VLC مستخدما الإعدادات السابقة (مستحسن)"
${LangFileString} Reinstall_OptionDowngrade "أنزِل نسخة VLC مستخدماً الإعدادات السابقة (مستحسن)"
${LangFileString} Reinstall_OptionComponents "أضِف/أزِل/أعِد تثبيت المكوّنات"
${LangFileString} Reinstall_OptionAdvanced "غيّر الإعدادات (متقدم)"
${LangFileString} Reinstall_OptionUninstall "أزِل تثبيت VLC"

View File

@@ -1,77 +0,0 @@
!insertmacro LANGFILE_EXT Asturian
${LangFileString} Name_Section01 "Reproductor multimedia (ríquese)"
${LangFileString} Name_Section02a "Atayu nel menú d'aniciu"
${LangFileString} Name_Section02b "Atayu nel escritoriu"
${LangFileString} Name_Section34 "Plugins web"
${LangFileString} Name_Section03 "Plugin pa Firefox"
${LangFileString} Name_Section04 "Plugin d'ActiveX"
${LangFileString} Name_Section05 "Reproducción de discos"
${LangFileString} Name_Section06 "Asociaciones de tribes de ficheru"
${LangFileString} Name_SectionGroupAudio "Ficheros d'audiu"
${LangFileString} Name_SectionGroupVideo "Ficheros de videu"
${LangFileString} Name_SectionGroupOther "Otros"
${LangFileString} Name_Section07 "Menús contestuales"
${LangFileString} Name_Section08 "Desaniciar caché y preferencies"
${LangFileString} Desc_Section01 \
"El propiu reproductor"
${LangFileString} Desc_Section02a \
"Amiesta iconos al menú Aniciu pa un accesu fácil"
${LangFileString} Desc_Section02b \
"Amiesta iconos al Escritoriu pa un accesu fácil"
${LangFileString} Desc_Section03 \
"El complementu VLC de Mozilla y Mozilla Firefox"
${LangFileString} Desc_Section04 \
"El complementu VLC d'ActiveX"
${LangFileString} Desc_Section05 \
"Rexistru de reproducción DVD y CD"
${LangFileString} Desc_Section06 \
"Afitar el Reproductor multimedia VLC como aplicación predefinida pa la triba de ficheru especificada"
${LangFileString} Desc_Section07 \
"Amiesta opciones nel menú contestual («Reproducir con VLC» y «Amestar a la llista de VLC»)"
${LangFileString} Desc_Section08 \
"Desanicia los ficheros de caché y preferencies del reproductor multimedia VLC d'instalaciones anteriores"
${LangFileString} Name_Section91 "Desinstalar"
${LangFileString} Name_Section92 "Desaniciar caché y preferencies"
${LangFileString} Desc_Section91 \
"Desinstalar reproductor VLC y tolos componentes"
${LangFileString} Desc_Section92 \
"Desanicia los ficheros de caché y preferencies de VLC"
${LangFileString} ShellAssociation_Play "Reproducir"
${LangFileString} ContextMenuEntry_PlayWith "Reproducir con VLC"
${LangFileString} ContextMenuEntry_AddToPlaylist "Amestar a la llista de VLC"
${LangFileString} Link_VisitWebsite "Visita'l sitiu VideoLAN VLC"
${LangFileString} Name_InstTypeRecommended "Recomiéndase"
${LangFileString} Name_InstTypeMinimum "Mínima"
${LangFileString} Name_InstTypeFull "Completa"
${LangFileString} Action_OnArrivalDVD "Reproducir película DVD"
${LangFileString} Action_OnArrivalAudioCD "Reproducir CD d'audiu"
${LangFileString} Action_OnArrivalVCDMovie "Reproducir película VCD"
${LangFileString} Action_OnArrivalSVCDMovie "Reproducir película SVCD"
${LangFileString} Action_OnArrivalVideoFiles "Reproducir ficheros de videu"
${LangFileString} Action_OnArrivalMusicFiles "Reproducir ficheros d'audiu"
${LangFileString} Action_OnArrivalDVDAudio "Reproducir DVD d'audiu"
${LangFileString} License_NextText "Agora que yes consciente de los tos drechos, calca Siguiente pa siguir."
${LangFileString} Detail_CheckProcesses "Comprobando procesos..."
${LangFileString} MessageBox_VLCRunning "VLC entá ta executándose y va zarrase agora"
${LangFileString} MessageBox_VLCUnableToClose "Esti instalador nun pudo zarrar VLC, por favor, failo tu."
${LangFileString} MessageBox_InstallAborted "Instalación encaboxada"
${LangFileString} Reinstall_Headline "Yá ta instaláu"
${LangFileString} Reinstall_HeadlineInstall "Seleiciona cómo quies instalar VLC"
${LangFileString} Reinstall_HeadlineMaintenance "Seleiciona la opción de caltenmientu a facer"
${LangFileString} Reinstall_MessageOlder "Hai instalada una versión más antigua de VLC nel sistema. Seleiciona la operación que quies facer y primi Siguiente pa continuar"
${LangFileString} Reinstall_MessageNewer "Hai instalada una versión más nueva de VLC nel sistema. Nun se recomienda qu'instales una versión más vieya. Seleiciona la operación que quies facer y primi Siguiente pa continuar."
${LangFileString} Reinstall_MessageSame "VLC ${VERSION} yá ta instaláu. Seleiciona la operación que quies facer, y primi Siguiente pa continuar."
${LangFileString} Reinstall_OptionUpgrade "Anovar VLC usando les siguientes preferencies (recomiéndase)"
${LangFileString} Reinstall_OptionDowngrade "Baxar VLC de versión usando les preferencies anteriores (recomiéndase)"
${LangFileString} Reinstall_OptionComponents "Amestar/Desaniciar/Reinstalar componentes"
${LangFileString} Reinstall_OptionAdvanced "Camudar preferencies (avanzáu)"
${LangFileString} Reinstall_OptionUninstall "Desinstalar VLC"

View File

@@ -1,79 +0,0 @@
!insertmacro LANGFILE_EXT Basque
${LangFileString} Name_Section01 "Multimedia-erreproduzigailua (beharrezkoa)"
${LangFileString} Name_Section02a "'Hasi' menuko lasterbidea"
${LangFileString} Name_Section02b "Mahaigaineko lasterbidea"
${LangFileString} Name_Section34 "Weberako pluginak"
${LangFileString} Name_Section03 "Mozilla plugina"
${LangFileString} Name_Section04 "ActiveX plugina"
${LangFileString} Name_Section05 "Diskoen erreprodukzioa"
${LangFileString} Name_Section06 "Fitxategi moten asoziazioak"
${LangFileString} Name_SectionGroupAudio "Audio-fitxategiak"
${LangFileString} Name_SectionGroupVideo "Bideo-fitxategiak"
${LangFileString} Name_SectionGroupOther "Bestelakoak"
${LangFileString} Name_Section07 "Testuinguru-menuak"
${LangFileString} Name_Section08 "Ezabatu hobespenak eta cachea"
${LangFileString} Desc_Section01 \
"Multimedia-erreproduzigailua bera"
${LangFileString} Desc_Section02a \
"Sarbidea errazteko ikonoak gehitzen ditu 'Hasi' menuan"
${LangFileString} Desc_Section02b \
"Sarbidea errazteko ikonoak gehitzen ditu mahaigainean"
${LangFileString} Desc_Section03 \
"Mozilla eta Mozilla Firefox VLC plugina"
${LangFileString} Desc_Section04 \
"ActiveX VLC plugina"
${LangFileString} Desc_Section05 \
"DVD eta CDen erreprodukzioaren erregistroa"
${LangFileString} Desc_Section06 \
"VLC multimedia-erreproduzigailua lehenetsitako aplikazio gisa ezartzen du zehaztutako fitxategi motarentzat"
${LangFileString} Desc_Section07 \
"Gehitu testuinguru-menuko elementuak ('Erreproduzitu VLCrekin' eta 'Gehitu VLCren erreprodukzio-zerrendan')"
${LangFileString} Desc_Section08 \
"Aurreko instalazioetatik dauden VLC multimedia-erreproduzigailuaren hobespenak eta cacheko fitxategiak ezabatzen ditu"
${LangFileString} Name_Section91 "Desinstalatu"
${LangFileString} Name_Section92 "Ezabatu hobespenak eta cachea"
${LangFileString} Desc_Section91 \
"Desinstalatu VLC multimedia-erreproduzigailua eta bere osagai guztiak"
${LangFileString} Desc_Section92 \
"VLC multimedia-erreproduzigailuaren hobespenak eta cacheko fitxategiak ezabatzen ditu"
${LangFileString} ShellAssociation_Play "Erreproduzitu"
${LangFileString} ContextMenuEntry_PlayWith "Erreproduzitu VLC multimedia-erreproduzigailuarekin"
${LangFileString} ContextMenuEntry_AddToPlaylist "Gehitu VLCren erreprodukzio-zerrendan"
${LangFileString} Link_VisitWebsite "Bisitatu Videolan VLC multimedia-erreproduzigailuaren webgunea"
${LangFileString} Name_InstTypeRecommended "Gomendatua"
${LangFileString} Name_InstTypeMinimum "Gutxienekoa"
${LangFileString} Name_InstTypeFull "Osoa"
${LangFileString} Action_OnArrivalDVD "Erreproduzitu DVD filma"
${LangFileString} Action_OnArrivalAudioCD "Erreproduzitu audio CDa"
${LangFileString} Action_OnArrivalVCDMovie "Erreproduzitu VCD filma"
${LangFileString} Action_OnArrivalSVCDMovie "Erreproduzitu SVCD filma"
${LangFileString} Action_OnArrivalVideoFiles "Erreproduzitu bideo-fitxategiak"
${LangFileString} Action_OnArrivalMusicFiles "Erreproduzitu audio-fitxategiak"
${LangFileString} Action_OnArrivalDVDAudio "Erreproduzitu audio DVDa"
${LangFileString} Action_OnArrivalBluray "Erreproduzitu Blu-ray-a"
${LangFileString} License_NextText "Zure eskubideen berri duzu orain. Jarraitzeko, egin klik 'Hurrengoa' botoian."
${LangFileString} Detail_CheckProcesses "Prozesuak egiaztatzen..."
${LangFileString} MessageBox_VLCRunning "VLC exekutatzen ari dela dirudi eta itxi egingo da orain."
${LangFileString} MessageBox_VLCUnableToClose "Instalatzaileak ezin izan du VLC itxi, egizu eskuz."
${LangFileString} MessageBox_InstallAborted "Instalazioa abortatuta!"
${LangFileString} Reinstall_Headline "Dagoeneko instalatuta"
${LangFileString} Reinstall_HeadlineInstall "Aukeratu nola nahi duzun instalatu VLC."
${LangFileString} Reinstall_HeadlineMaintenance "Aukeratu burutu beharreko mantenu-aukera."
${LangFileString} Reinstall_MessageOlder "VLCren bertsio zaharragoa instalatuta dago sisteman. Hautatu burutu nahi duzun eragiketa eta jarraitzeko egin klik Hurrengoa botoian."
${LangFileString} Reinstall_MessageNewer "VLCren bertsio berriagoa instalatuta dago lehendik! Ez da gomendagarria bertsio-zahartzea. Hautatu burutu nahi duzun eragiketa eta jarraitzeko egin klik Hurrengoa botoian."
${LangFileString} Reinstall_MessageSame "VLC ${VERSION} instalatuta dago lehendik. Hautatu burutu nahi duzun eragiketa eta jarraitzeko egin klik Hurrengoa botoian."
${LangFileString} Reinstall_OptionUpgrade "Bertsio-berritu VLC aurreko ezarpenak erabiliz (gomendatua)"
${LangFileString} Reinstall_OptionDowngrade "Bertsio-zahartu VLC aurreko ezarpenak erabiliz (gomendatua)"
${LangFileString} Reinstall_OptionComponents "Gehitu/kendu/berrinstalatu osagaiak"
${LangFileString} Reinstall_OptionAdvanced "Aldatu ezarpenak (aurreratua)"
${LangFileString} Reinstall_OptionUninstall "Desinstalatu VLC"

Some files were not shown because too many files have changed in this diff Show More