mirror of
https://github.com/feather-wallet/feather.git
synced 2025-04-04 04:29:02 +00:00
Compare commits
335 commits
Author | SHA1 | Date | |
---|---|---|---|
|
f73940891a | ||
|
c97dbbba98 | ||
|
e9df4a9fcb | ||
|
3c7d768f08 | ||
|
d6a87ea85a | ||
|
ab4f0fa02e | ||
|
424edf07e8 | ||
|
82212f4982 | ||
|
2f0bccf124 | ||
|
0784092697 | ||
|
95c8b494f4 | ||
|
9e39482fbb | ||
|
ce2f332114 | ||
|
45f3d89dd3 | ||
|
b27d724a5b | ||
|
fea39b1929 | ||
|
d68e327178 | ||
|
19b78b9c70 | ||
|
480ebc29ba | ||
|
c51671fb6c | ||
|
69419171b7 | ||
|
1a402d2a05 | ||
|
cdc7918825 | ||
|
48cc0f0aad | ||
|
2b347c3ef2 | ||
|
f3eabe3245 | ||
|
ce95959c1d | ||
|
7da4e90593 | ||
|
df44ecf98e | ||
|
249183f0c1 | ||
|
897afaaabb | ||
|
2a9af40ece | ||
|
45ea707c0c | ||
|
c34ad819a6 | ||
|
1c6bd9815b | ||
|
0c4aa8c1fb | ||
|
ddbfa46a87 | ||
|
003009d607 | ||
|
e25c315226 | ||
|
de499b2386 | ||
|
c5aef15bb0 | ||
|
2c5f766a7b | ||
|
4f28d83ac3 | ||
|
1219bfc3a7 | ||
|
f7d11e8ffe | ||
|
c5f010bd3c | ||
|
4aa571454b | ||
|
c10190ea2e | ||
|
de37f9a8b7 | ||
|
055b898c85 | ||
|
4bcd397aad | ||
|
2e344cfa94 | ||
|
bb1015731f | ||
|
e55afe9429 | ||
|
8f3205d632 | ||
|
e7a6e4f16a | ||
|
88ab38a193 | ||
|
3fa9240c0b | ||
|
fb0564f7a1 | ||
|
c49917f2ae | ||
|
5c8485eac6 | ||
|
465576aa5a | ||
|
e2f790d86a | ||
|
7559736de0 | ||
|
841c6812db | ||
|
a0834cece5 | ||
|
e5e7300c39 | ||
|
f73efb7e8d | ||
|
e4f7493271 | ||
|
649ba5c58a | ||
|
fad3eb259c | ||
|
e84661f758 | ||
|
d9aa9a9682 | ||
|
673b511a99 | ||
|
678b0c1133 | ||
|
dbdaff70a5 | ||
|
1ba584153f | ||
|
dfec4c8da2 | ||
|
2449b44885 | ||
|
51ea7e381a | ||
|
e6967fa9d2 | ||
|
1b8761f3cb | ||
|
a84c552d43 | ||
|
078bcc29bd | ||
|
7fd116b725 | ||
|
22ce2011a7 | ||
|
e66886832a | ||
|
cc693a33cb | ||
|
13daf73c03 | ||
|
8adbf7eaad | ||
|
280a7db065 | ||
|
7992d7be9b | ||
|
dff4752e82 | ||
|
c47314d99d | ||
|
f447b78f4a | ||
|
6a9a564664 | ||
|
3973b1ece7 | ||
|
244121b124 | ||
|
078d19dbd8 | ||
|
c667f0c5be | ||
|
d0b6ac1364 | ||
|
bad9544bbc | ||
|
f84ec87b9e | ||
|
5fae2a2b25 | ||
|
177e390f4a | ||
|
7827b865b1 | ||
|
019d87c5a6 | ||
|
41d6fdbf69 | ||
|
9cac42e556 | ||
|
6ed5ed23a5 | ||
|
f423059b30 | ||
|
1e3bc6615c | ||
|
cd51bc72d7 | ||
|
147e8c04f6 | ||
|
117c6b9763 | ||
|
e2138d4755 | ||
|
2e20526e03 | ||
|
03dbd9628c | ||
|
5a5602e288 | ||
|
f17c92df84 | ||
|
efc0546600 | ||
|
3aa0985425 | ||
|
3649147ae6 | ||
|
b808324469 | ||
|
375c6dbe52 | ||
|
758af9f0ef | ||
|
2c040099a0 | ||
|
c48e6adf3a | ||
|
f223034aef | ||
|
c403d80779 | ||
|
765bdb1f2c | ||
|
d8aa157565 | ||
|
e475bebe2f | ||
|
53e9465d42 | ||
|
672b4644c0 | ||
|
b26d1d0dee | ||
|
725ad63210 | ||
|
d877523cce | ||
|
c033718956 | ||
|
1ec55e148d | ||
|
48f3ef4c3e | ||
|
6fe43167a9 | ||
|
a3d36c6122 | ||
|
91cfdd6df8 | ||
|
0195bdc59c | ||
|
1df5842ea3 | ||
|
fe6cdf8d63 | ||
|
06a34c6612 | ||
|
3b9412fece | ||
|
6561b6d979 | ||
|
60124a6b44 | ||
|
8a2326089e | ||
|
e50a764937 | ||
|
08462f54c0 | ||
|
eb483f33ec | ||
|
d4b5153093 | ||
|
c48726d7a3 | ||
|
9d9413c4cc | ||
|
9fde18717d | ||
|
534649a0af | ||
|
4330a18464 | ||
|
849269f53f | ||
|
5acbd9a20f | ||
|
2707a26d3c | ||
|
fdc7a09c6c | ||
|
796d4dd3f0 | ||
|
c2b5c051da | ||
|
d1f4dfb0b8 | ||
|
1ac76ddcee | ||
|
52546c5660 | ||
|
2e91a0dc9f | ||
|
130432fd23 | ||
|
c600e4d376 | ||
|
78c4aac58a | ||
|
8eb8d9fc34 | ||
|
90505aaa32 | ||
|
5ddf31a58b | ||
|
e721e74b6e | ||
|
2f11cf2710 | ||
|
6aa661d7ba | ||
|
b7ef31610e | ||
|
c14333cdc3 | ||
|
ec8d3bff57 | ||
|
e350af3492 | ||
|
9a37d4789f | ||
|
c355370c0f | ||
|
f3cd346723 | ||
|
b0a64231b9 | ||
|
da0d7e7100 | ||
|
00915ee8a0 | ||
|
352ae7fa69 | ||
|
19bb1c0d99 | ||
|
5dee7b3e1d | ||
|
eb31fca27e | ||
|
0555b6ab54 | ||
|
0149b0ae9c | ||
|
21315e3334 | ||
|
2764cd0cdd | ||
|
7c1f43ce7c | ||
|
bd0d1cfe76 | ||
|
39434708d6 | ||
|
8deae7398d | ||
|
8e31b2b5ee | ||
|
8ab420b802 | ||
|
a1836a64b2 | ||
|
c31b351b17 | ||
|
37aa04e3e5 | ||
|
4b197dd49c | ||
|
a53f6d4b2c | ||
|
23208d98a6 | ||
|
b64089091c | ||
|
17a7ac26d3 | ||
|
ef8db19c94 | ||
|
cbbc9526a5 | ||
|
2a1ac4afa0 | ||
|
23d794469f | ||
|
a6289021a3 | ||
|
70402bb55e | ||
|
1a11090962 | ||
|
1719df36de | ||
|
9a78ede9d6 | ||
|
6cf0362ae3 | ||
|
0634845cb9 | ||
|
d600fdbedb | ||
|
f9473dd74f | ||
|
0ee51777cf | ||
|
325d57cc29 | ||
|
e4e246fc8a | ||
|
249e31f5fa | ||
|
89f40389b1 | ||
|
90689980de | ||
|
9449552d0e | ||
|
bb5c855902 | ||
|
aedb555ceb | ||
|
d67d54cd6c | ||
|
26f303ea47 | ||
|
60dde9b9ee | ||
|
bff194a211 | ||
|
f9c55f82aa | ||
|
5453936abd | ||
|
c53f35fc8b | ||
|
669bf0caa7 | ||
|
d245c4d125 | ||
|
ba6113d9c0 | ||
|
8e991f21b1 | ||
|
7c4bffe5dd | ||
|
f58f8b66a5 | ||
|
9d234ac458 | ||
|
a204ff9eaa | ||
|
288ea37df4 | ||
|
109c378044 | ||
|
3a5630d3ff | ||
|
719e328a14 | ||
|
e06e8aaf9b | ||
|
02ce121029 | ||
|
6a1d5f05c3 | ||
|
fc30f71170 | ||
|
5d9f12a899 | ||
|
f59ba3f3c9 | ||
|
c0a5a549f4 | ||
|
38751587d9 | ||
|
f441bd3818 | ||
|
ba88145b08 | ||
|
8ca0c98ced | ||
|
0419546ab8 | ||
|
14d5ccbc91 | ||
|
db77dba83c | ||
|
fd008c5634 | ||
|
edac95c346 | ||
|
d375484c2f | ||
|
c2701c00dd | ||
|
8d814a16b3 | ||
|
af9d9ddc21 | ||
|
87ee96cb9a | ||
|
5ba53a3702 | ||
|
69977e38b2 | ||
|
478248f99c | ||
|
e2eb8e4ed3 | ||
|
8b0013496c | ||
|
9483325a68 | ||
|
b030c7d032 | ||
|
7d693d86d5 | ||
|
26420efbfd | ||
|
c5b46211b8 | ||
|
2d609ebad5 | ||
|
deb9d7ff63 | ||
|
0da98d2003 | ||
|
485913c7fc | ||
|
91552a48fb | ||
|
e1e7a46b77 | ||
|
762ba03c8c | ||
|
e721ddade1 | ||
|
402ef14b79 | ||
|
1a8409bd4e | ||
|
9dd4404111 | ||
|
4f49d75eda | ||
|
72941f517c | ||
|
007933f2e0 | ||
|
41aebef145 | ||
|
918aee140e | ||
|
aca3f064f3 | ||
|
113fcb00bd | ||
|
92207b2e15 | ||
|
64e77d397e | ||
|
733bc8d253 | ||
|
007e006852 | ||
|
08f6fbcd91 | ||
|
f0c595fbc5 | ||
|
f8e8deb276 | ||
|
52a69a454e | ||
|
fcf5ab2bd1 | ||
|
8312c7dbc1 | ||
|
b94135ba4e | ||
|
9c2dbe2211 | ||
|
70e0b84ac9 | ||
|
0ab4b8e9b8 | ||
|
a8f4cec925 | ||
|
c904eddb91 | ||
|
948266be4e | ||
|
b50ceda12b | ||
|
0f75013eac | ||
|
77e3e17f73 | ||
|
bd53e90404 | ||
|
dfdfa89c06 | ||
|
125367ca62 | ||
|
9559e1f32e | ||
|
4f5ec55688 | ||
|
e20186f428 | ||
|
83042f3d0f | ||
|
fd4fbdb688 | ||
|
f97fa90521 | ||
|
4756f0dbe7 | ||
|
7e3f55e9bf | ||
|
dd53dfac6e | ||
|
2c6c08df92 |
573 changed files with 9168 additions and 8330 deletions
.github/workflows
.gitignore.gitmodulesCMakeLists.txtHACKING.mdLICENSEMAINTENANCE.mdMakefileREADME.mdRELEASE.mdSECURITY.mdcmake
FindSodium.cmakeGenVersion.cmakeTorQrcGenerator.cmakeVersion.cmakeVersionFeather.cmakeconfig-feather.h.cmake
contrib/depends
Makefilefuncs.mkgen_id
hosts
packages
abseil.mkappimage_runtime.mkboost.mkdarwin_sdk.mkeudev.mkexpat.mkflatstart.mkfontconfig.mkfreetype.mkhidapi.mklibXau.mklibffi.mklibgcrypt.mklibgpg-error.mklibiconv.mklibsodium.mklibsquashfuse.mklibusb.mklibxcb.mklibxcb_util_cursor.mklibxcb_util_image.mklibxkbcommon.mklibzip.mknative_abseil.mknative_cctools.mknative_expat.mknative_libffi.mknative_libtapi.mknative_protobuf.mknative_qt.mknative_wayland.mkopenssl.mkpackages.mkprotobuf.mkqrencode.mkqt.mktor_darwin.mktor_linux.mktor_mingw32.mkunbound.mkutf8proc.mkwayland.mkxcb_proto.mkxorgproto.mkzlib.mkzstd.mk
patches
abseil
appimage_runtime
boost
flatstart
hidapi
libXau
libfuse
libgcrypt
libgpg-error
libiconv
libsodium
libusb
libxcb
libxcb_util_image
libxkbcommon
libzip
native_cctools
native_libtapi
native_qt
native_wayland
qt
52
.github/workflows/build.yml
vendored
52
.github/workflows/build.yml
vendored
|
@ -4,21 +4,59 @@ on: [push, pull_request]
|
|||
|
||||
jobs:
|
||||
build-ubuntu-without-scanner:
|
||||
name: "Ubuntu 24.04 (no scanner)"
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ubuntu:24.04
|
||||
steps:
|
||||
- name: update apt
|
||||
run: apt update
|
||||
- name: install dependencies
|
||||
run: apt -y install git cmake build-essential ccache libssl-dev libunbound-dev libboost-all-dev
|
||||
libqrencode-dev qt6-base-dev qt6-svg-dev qt6-websockets-dev qt6-multimedia-dev
|
||||
qt6-wayland-dev libzip-dev libsodium-dev libgcrypt20-dev libx11-xcb-dev
|
||||
protobuf-compiler libprotobuf-dev libhidapi-dev libzxing-dev libusb-dev
|
||||
libusb-1.0-0-dev
|
||||
- name: configure git
|
||||
run: git config --global --add safe.directory '*'
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: update apt
|
||||
run: sudo apt update
|
||||
- name: install dependencies
|
||||
run: sudo apt -y install git cmake build-essential ccache libssl-dev libunbound-dev libboost-all-dev
|
||||
libqrencode-dev qt6-base-dev libgl1-mesa-dev libqt6svg6-dev libqt6websockets6-dev
|
||||
qt6-multimedia-dev libzip-dev libsodium-dev libgcrypt-dev libx11-xcb-dev
|
||||
libprotobuf-dev libhidapi-dev libzxingcore-dev
|
||||
- name: build
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DWITH_SCANNER=OFF ..
|
||||
cmake --build . -j $(nproc)
|
||||
|
||||
build-arch:
|
||||
name: 'Arch Linux'
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:latest
|
||||
steps:
|
||||
- name: install dependencies
|
||||
run: pacman -Syyu --noconfirm git cmake base-devel unbound boost qrencode qt6-base qt6-svg qt6-websockets qt6-wayland qt6-multimedia libzip hidapi protobuf zxing-cpp
|
||||
- name: configure git
|
||||
run: git config --global --add safe.directory '*'
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: build
|
||||
run: |
|
||||
cmake -S . -B build
|
||||
cmake --build build -j $(nproc)
|
||||
|
||||
build-macos:
|
||||
name: 'macOS (brew)'
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: install dependencies
|
||||
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install qt libsodium libzip qrencode unbound cmake boost hidapi openssl expat libunwind-headers protobuf pkgconfig
|
||||
- name: build
|
||||
run: |
|
||||
cmake -S . -B build -DWITH_SCANNER=Off
|
||||
cmake --build build -j $(nproc)
|
||||
|
|
238
.github/workflows/guix.yml
vendored
238
.github/workflows/guix.yml
vendored
|
@ -2,22 +2,16 @@ name: ci/gh-actions/guix
|
|||
|
||||
on: [push, pull_request]
|
||||
|
||||
env:
|
||||
APT_SET_CONF: |
|
||||
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||
|
||||
jobs:
|
||||
cache-sources:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: depends sources cache
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: contrib/depends/sources
|
||||
key: sources-${{ hashFiles('contrib/depends/packages/*') }}
|
||||
|
@ -25,126 +19,140 @@ jobs:
|
|||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: make -C contrib/depends download
|
||||
|
||||
cache-guix:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [cache-sources]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: guix cache
|
||||
id: cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
gnu/store
|
||||
guix_db.sqlite
|
||||
key: guix-${{ hashFiles('contrib/guix/manifest.scm') }}
|
||||
- name: move guix store
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
if [[ -e "guix_db.sqlite" ]]; then
|
||||
sudo mkdir -p /var/guix/db
|
||||
sudo mv gnu /gnu
|
||||
sudo cp guix_db.sqlite /var/guix/db/db.sqlite
|
||||
|
||||
sudo chmod 1775 /gnu/store
|
||||
sudo chown 0644 /var/guix/db/db.sqlite
|
||||
sudo chown -R root:root /gnu/store /var/guix/db/db.sqlite
|
||||
fi
|
||||
- name: depends sources cache
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: contrib/depends/sources
|
||||
key: sources-${{ hashFiles('contrib/depends/packages/*') }}
|
||||
- name: set apt conf
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: ${{env.APT_SET_CONF}}
|
||||
- name: install dependencies
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: sudo apt update; sudo apt -y install guix git ca-certificates
|
||||
- name: dry run
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: DRY_RUN=1 SUBSTITUTE_URLS='http://ci.guix.gnu.org' JOBS=2 ./contrib/guix/guix-build
|
||||
- name: prepare guix store for caching
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
sudo systemctl stop guix-daemon
|
||||
sudo mv /gnu gnu
|
||||
sudo mv /var/guix/db/db.sqlite guix_db.sqlite
|
||||
|
||||
build-guix:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [cache-guix]
|
||||
runs-on: ubuntu-24.04
|
||||
needs: [cache-sources]
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain:
|
||||
- name: "x86_64-linux-gnu"
|
||||
host: "x86_64-linux-gnu"
|
||||
- name: "x86_64-linux-gnu.no-tor-bundle"
|
||||
host: "x86_64-linux-gnu.no-tor-bundle"
|
||||
- name: "x86_64-linux-gnu.pack"
|
||||
host: "x86_64-linux-gnu.pack"
|
||||
- name: "aarch64-linux-gnu"
|
||||
host: "aarch64-linux-gnu"
|
||||
- name: "arm-linux-gnueabihf"
|
||||
host: "arm-linux-gnueabihf"
|
||||
- name: "riscv64-linux-gnu"
|
||||
host: "riscv64-linux-gnu"
|
||||
- name: "i686-linux-gnu"
|
||||
host: "i686-linux-gnu"
|
||||
- name: "x86_64-w64-mingw32"
|
||||
host: "x86_64-w64-mingw32"
|
||||
- name: "x86_64-w64-mingw32.installer"
|
||||
host: "x86_64-w64-mingw32.installer"
|
||||
- name: "x86_64-apple-darwin"
|
||||
host: "x86_64-apple-darwin"
|
||||
- name: "arm64-apple-darwin"
|
||||
host: "arm64-apple-darwin"
|
||||
name: ${{ matrix.toolchain.name }}
|
||||
- target: "x86_64-linux-gnu"
|
||||
- target: "x86_64-linux-gnu.no-tor-bundle"
|
||||
- target: "x86_64-linux-gnu.pack"
|
||||
- target: "aarch64-linux-gnu"
|
||||
- target: "arm-linux-gnueabihf"
|
||||
- target: "riscv64-linux-gnu"
|
||||
- target: "x86_64-w64-mingw32"
|
||||
- target: "x86_64-w64-mingw32.installer"
|
||||
- target: "x86_64-apple-darwin"
|
||||
- target: "arm64-apple-darwin"
|
||||
|
||||
outputs:
|
||||
WIN_INSTALLER_ARTIFACT_ID: ${{ steps.win-installer.outputs.WIN_INSTALLER_ARTIFACT_ID }}
|
||||
WIN_EXECUTABLE_ARTIFACT_ID: ${{ steps.win-executable.outputs.WIN_EXECUTABLE_ARTIFACT_ID }}
|
||||
name: ${{ matrix.toolchain.target }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.ref }}
|
||||
submodules: recursive
|
||||
- name: guix cache
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: |
|
||||
gnu/store
|
||||
guix_db.sqlite
|
||||
key: guix-${{ hashFiles('contrib/guix/manifest.scm') }}
|
||||
- name: move guix store
|
||||
run: |
|
||||
if [[ -e "guix_db.sqlite" ]]; then
|
||||
sudo mkdir -p /var/guix/db
|
||||
sudo mv gnu /gnu
|
||||
sudo cp guix_db.sqlite /var/guix/db/db.sqlite
|
||||
|
||||
sudo chmod 1775 /gnu/store
|
||||
sudo chown 0644 /var/guix/db/db.sqlite
|
||||
sudo chown -R root:root /gnu/store /var/guix/db/db.sqlite
|
||||
fi
|
||||
- name: depends cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: contrib/depends/built
|
||||
key: depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }}
|
||||
# https://github.com/actions/checkout/issues/1467
|
||||
- name: git fetch tags
|
||||
run: git fetch --tags
|
||||
- name: remove bundled packages
|
||||
run: sudo rm -rf /usr/local
|
||||
- name: depends sources cache
|
||||
uses: actions/cache/restore@v3
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: contrib/depends/sources
|
||||
key: sources-${{ hashFiles('contrib/depends/packages/*') }}
|
||||
- name: set apt conf
|
||||
run: ${{env.APT_SET_CONF}}
|
||||
- name: install dependencies
|
||||
run: sudo apt update; sudo apt -y install guix git ca-certificates
|
||||
run: sudo apt update; sudo apt -y install guix git ca-certificates apparmor-utils osslsigncode
|
||||
- name: apparmor workaround
|
||||
# https://bugs.launchpad.net/ubuntu/+source/guix/+bug/2064115
|
||||
run: |
|
||||
sudo tee /etc/apparmor.d/guix << EOF
|
||||
abi <abi/4.0>,
|
||||
include <tunables/global>
|
||||
profile guix /usr/bin/guix flags=(unconfined) {
|
||||
userns,
|
||||
include if exists <local/guix>
|
||||
}
|
||||
EOF
|
||||
sudo /etc/init.d/apparmor reload
|
||||
sudo aa-enforce guix || true
|
||||
sudo apt purge apparmor
|
||||
- name: build
|
||||
run: SUBSTITUTE_URLS='http://ci.guix.gnu.org' HOSTS="${{ matrix.toolchain.host }}" JOBS=2 ./contrib/guix/guix-build
|
||||
- uses: actions/upload-artifact@v3
|
||||
run: ADDITIONAL_GUIX_TIMEMACHINE_FLAGS="--disable-authentication" SUBSTITUTE_URLS='http://bordeaux.guix.gnu.org' HOSTS="${{ matrix.toolchain.target }}" ./contrib/guix/guix-build
|
||||
- name: virustotal scan
|
||||
env:
|
||||
VT_API_KEY: ${{ secrets.VT_API_KEY }}
|
||||
if: ${{ matrix.toolchain.target == 'x86_64-w64-mingw32' && env.VT_API_KEY != '' }}
|
||||
uses: crazy-max/ghaction-virustotal@v4
|
||||
with:
|
||||
name: ${{ matrix.toolchain.name }}
|
||||
vt_api_key: ${{ secrets.VT_API_KEY }}
|
||||
files: |
|
||||
guix/guix-build-*/build/distsrc-*/build/bin/feather.exe
|
||||
- uses: actions/upload-artifact@v4
|
||||
id: upload-artifact
|
||||
with:
|
||||
name: ${{ matrix.toolchain.target }}
|
||||
path: |
|
||||
guix/guix-build-*/output/${{ matrix.toolchain.host }}/*
|
||||
guix/guix-build-*/output/${{ matrix.toolchain.target }}/*
|
||||
guix/guix-build-*/logs/${{ matrix.toolchain.target }}/*
|
||||
- if: ${{ matrix.toolchain.target == 'x86_64-w64-mingw32.installer' }}
|
||||
id: win-installer
|
||||
run: echo "WIN_INSTALLER_ARTIFACT_ID=${{ steps.upload-artifact.outputs.artifact-id }}" >> "$GITHUB_OUTPUT"
|
||||
- if: ${{ matrix.toolchain.target == 'x86_64-w64-mingw32' }}
|
||||
id: win-executable
|
||||
run: echo "WIN_EXECUTABLE_ARTIFACT_ID=${{ steps.upload-artifact.outputs.artifact-id }}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
bundle-logs:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: [build-guix]
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
merge-multiple: true
|
||||
- name: print hashes
|
||||
run: |
|
||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
||||
uname --machine && find **/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum >> $GITHUB_STEP_SUMMARY
|
||||
echo '```' >> $GITHUB_STEP_SUMMARY
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "logs"
|
||||
path: '**/logs/**'
|
||||
|
||||
codesigning:
|
||||
runs-on: ubuntu-24.04
|
||||
needs: [build-guix, bundle-logs]
|
||||
if: startsWith(github.ref, 'refs/tags/') && contains(github.ref, '-rc')
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
toolchain:
|
||||
- target: "x86_64-w64-mingw32"
|
||||
- target: "x86_64-w64-mingw32.installer"
|
||||
steps:
|
||||
- name: install dependencies
|
||||
run: sudo apt update; sudo apt -y install osslsigncode
|
||||
- name: "set artifact id"
|
||||
run: |
|
||||
if [ "${{ matrix.toolchain.target }}" == "x86_64-w64-mingw32" ]; then
|
||||
echo "ARTIFACT_ID=${{ needs.build-guix.outputs.WIN_EXECUTABLE_ARTIFACT_ID }}" >> $GITHUB_ENV
|
||||
echo "ARTIFACT_SLUG=executable" >> $GITHUB_ENV
|
||||
elif [ "${{ matrix.toolchain.target }}" == "x86_64-w64-mingw32.installer" ]; then
|
||||
echo "ARTIFACT_ID=${{ needs.build-guix.outputs.WIN_INSTALLER_ARTIFACT_ID }}" >> $GITHUB_ENV
|
||||
echo "ARTIFACT_SLUG=installer" >> $GITHUB_ENV
|
||||
fi
|
||||
- uses: signpath/github-action-submit-signing-request@v1
|
||||
name: "request signature"
|
||||
with:
|
||||
api-token: '${{ secrets.SIGNPATH_API_KEY }}'
|
||||
organization-id: 'd3e94749-9c69-44e9-82de-c65cb3832869'
|
||||
project-slug: 'feather'
|
||||
signing-policy-slug: 'release-signing'
|
||||
artifact-configuration-slug: ${{ env.ARTIFACT_SLUG }}
|
||||
github-artifact-id: ${{ env.ARTIFACT_ID }}
|
||||
wait-for-completion: true
|
||||
output-artifact-directory: codesigning/
|
||||
- name: "extract signature"
|
||||
run: osslsigncode extract-signature -in codesigning/guix-build-*/output/${{ matrix.toolchain.target }}/*.exe -out codesigning/${{ matrix.toolchain.target }}.pem
|
||||
- uses: actions/upload-artifact@v4
|
||||
name: "upload signature"
|
||||
with:
|
||||
name: ${{ matrix.toolchain.target }}.pem
|
||||
path: |
|
||||
codesigning/${{ matrix.toolchain.target }}.pem
|
||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,6 +1,7 @@
|
|||
.DS_Store
|
||||
lib/*
|
||||
cmake-build-debug/*
|
||||
cmake-build-release/*
|
||||
.idea
|
||||
*.user
|
||||
*.stash
|
||||
|
@ -11,7 +12,6 @@ CMakeFiles
|
|||
cmake_install.cmake
|
||||
feather_autogen/
|
||||
feather.cbp
|
||||
src/config-feather.h
|
||||
src/assets_tor.qrc
|
||||
src/assets_docs.qrc
|
||||
feather.AppDir/*
|
||||
|
|
9
.gitmodules
vendored
9
.gitmodules
vendored
|
@ -1,12 +1,15 @@
|
|||
[submodule "monero"]
|
||||
path = monero
|
||||
url = https://github.com/feather-wallet/monero.git
|
||||
[submodule "src/third-party/singleapplication"]
|
||||
path = src/third-party/singleapplication
|
||||
url = https://github.com/itay-grudev/SingleApplication.git
|
||||
[submodule "src/third-party/polyseed"]
|
||||
path = src/third-party/polyseed
|
||||
url = https://github.com/tevador/polyseed.git
|
||||
[submodule "external/feather-docs"]
|
||||
path = external/feather-docs
|
||||
url = https://github.com/feather-wallet/feather-docs.git
|
||||
[submodule "external/feather-sigs"]
|
||||
path = external/feather-sigs
|
||||
url = https://github.com/feather-wallet/feather-sigs.git
|
||||
[submodule "external/feather-codesigning"]
|
||||
path = external/feather-codesigning
|
||||
url = https://github.com/feather-wallet/feather-codesigning.git
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
project(feather
|
||||
VERSION "2.6.3"
|
||||
VERSION "2.8.0"
|
||||
DESCRIPTION "A free Monero desktop wallet"
|
||||
LANGUAGES CXX C ASM
|
||||
)
|
||||
|
@ -12,9 +12,11 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||
set(PACKAGE_NAME ${PROJECT_NAME})
|
||||
set(PACKAGE_BUGREPORT "https://github.com/feather-wallet/feather/issues")
|
||||
set(PACKAGE_URL "https://featherwallet.org/")
|
||||
set(COPYRIGHT_YEAR "2024")
|
||||
set(COPYRIGHT_YEAR "2025")
|
||||
set(COPYRIGHT_HOLDERS "The Monero Project")
|
||||
|
||||
cmake_policy(SET CMP0074 NEW)
|
||||
|
||||
# Configurable options
|
||||
option(STATIC "Link libraries statically, requires static Qt" OFF)
|
||||
option(SELF_CONTAINED "Disable when building Feather for packages" OFF)
|
||||
|
@ -26,16 +28,16 @@ option(DONATE_BEG "Prompt donation window every once in a while" OFF)
|
|||
option(WITH_SCANNER "Enable webcam QR scanner" ON)
|
||||
option(STACK_TRACE "Dump stack trace on crash (Linux only)" OFF)
|
||||
|
||||
# internal configuration options
|
||||
option(TOR_INSTALLED "Is Tor installed on the filesystem?" OFF)
|
||||
|
||||
# Plugins
|
||||
option(WITH_PLUGIN_HOME "Include Home tab plugin" ON)
|
||||
option(WITH_PLUGIN_TICKERS "Include Tickers Home plugin" ON)
|
||||
option(WITH_PLUGIN_CROWDFUNDING "Include Crowdfunding Home plugin" ON)
|
||||
option(WITH_PLUGIN_BOUNTIES "Include Bounties Home plugin" ON)
|
||||
option(WITH_PLUGIN_REDDIT "Include Reddit Home plugin" ON)
|
||||
option(WITH_PLUGIN_REVUO "Include Revuo Home plugin" ON)
|
||||
option(WITH_PLUGIN_CALC "Include Calc tab plugin" ON)
|
||||
option(WITH_PLUGIN_EXCHANGE "Include Exchange tab plugin" ON)
|
||||
option(WITH_PLUGIN_LOCALMONERO "Include LocalMonero plugin" ON)
|
||||
option(WITH_PLUGIN_XMRIG "Include XMRig plugin" ON)
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
@ -65,7 +67,6 @@ if(STATIC)
|
|||
endif()
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
include(VersionFeather)
|
||||
|
||||
#### Dependencies ####
|
||||
# Monero
|
||||
|
@ -73,26 +74,16 @@ if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/monero/CMakeLists.txt")
|
|||
message(FATAL_ERROR "'monero/CMakeLists.txt' does not exist, did you forget to:\ngit submodule update --init --recursive --progress")
|
||||
endif()
|
||||
add_subdirectory(monero EXCLUDE_FROM_ALL)
|
||||
set_property(TARGET wallet_merged PROPERTY FOLDER "monero")
|
||||
get_directory_property(ARCH_WIDTH DIRECTORY "monero" DEFINITION ARCH_WIDTH)
|
||||
get_directory_property(UNBOUND_LIBRARY DIRECTORY "monero" DEFINITION UNBOUND_LIBRARY)
|
||||
get_directory_property(DEVICE_TREZOR_READY DIRECTORY "monero" DEFINITION DEVICE_TREZOR_READY)
|
||||
get_directory_property(TREZOR_DEP_LIBS DIRECTORY "monero" DEFINITION TREZOR_DEP_LIBS)
|
||||
|
||||
# libXau
|
||||
# workaround for: undefined reference to `XauGetBestAuthByAddr'
|
||||
if (DEPENDS AND UNIX AND NOT APPLE)
|
||||
find_library(LIBXAU_LIBRARY Xau)
|
||||
message(STATUS "libXau: libraries at ${LIBXAU_LIBRARY}")
|
||||
endif()
|
||||
get_directory_property(OPENBSD DIRECTORY "monero" DEFINITION OPENBSD)
|
||||
get_directory_property(FREEBSD DIRECTORY "monero" DEFINITION FREEBSD)
|
||||
get_directory_property(DRAGONFLY DIRECTORY "monero" DEFINITION DRAGONFLY)
|
||||
|
||||
# pthread
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
# Sodium
|
||||
find_library(SODIUM_LIBRARY sodium)
|
||||
message(STATUS "libsodium: libraries at ${SODIUM_LIBRARY}")
|
||||
|
||||
# QrEncode
|
||||
find_package(QREncode REQUIRED)
|
||||
|
||||
|
@ -134,27 +125,12 @@ if(MINGW)
|
|||
set(MINGW_FLAG "${MINGW_FLAG} -DWIN32_LEAN_AND_MEAN")
|
||||
set(Boost_THREADAPI win32)
|
||||
endif()
|
||||
|
||||
set(BOOST_COMPONENTS
|
||||
system
|
||||
filesystem
|
||||
thread
|
||||
date_time
|
||||
chrono
|
||||
regex
|
||||
serialization
|
||||
program_options
|
||||
locale
|
||||
)
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
|
||||
if(STACK_TRACE AND UNIX AND NOT APPLE)
|
||||
list(APPEND BOOST_COMPONENTS
|
||||
stacktrace_basic)
|
||||
find_package(Boost 1.58 REQUIRED COMPONENTS stacktrace_basic)
|
||||
endif()
|
||||
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
find_package(Boost 1.58 REQUIRED COMPONENTS ${BOOST_COMPONENTS})
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
# https://github.com/monero-project/monero-gui/issues/3142#issuecomment-705940446
|
||||
|
@ -172,7 +148,6 @@ if(TOR_DIR)
|
|||
endif()
|
||||
|
||||
message(STATUS "Embedded Tor version: ${TOR_VERSION}")
|
||||
configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h")
|
||||
|
||||
# Always copy Tor when doing a reproducible build to prevent old versions from getting included
|
||||
if (REPRODUCIBLE)
|
||||
|
@ -248,16 +223,9 @@ if (NOT WIN32 AND NOT OPENBSD AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"
|
|||
add_cxx_flag_if_supported(-fstack-clash-protection CXX_SECURITY_FLAGS)
|
||||
endif()
|
||||
|
||||
# -mmitigate-rop
|
||||
# removed in GCC 9.1 (or before ?), but still accepted, so spams the output
|
||||
if (NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.1))
|
||||
add_c_flag_if_supported(-mmitigate-rop C_SECURITY_FLAGS)
|
||||
add_cxx_flag_if_supported(-mmitigate-rop CXX_SECURITY_FLAGS)
|
||||
endif()
|
||||
|
||||
# linker
|
||||
if (APPLE)
|
||||
add_linker_flag_if_supported(-Wl,-bind_at_load LD_SECURITY_FLAGS)
|
||||
add_linker_flag_if_supported(-Wl,-fixup_chains LD_SECURITY_FLAGS)
|
||||
add_linker_flag_if_supported(-Wl,-dead_strip LD_SECURITY_FLAGS)
|
||||
add_linker_flag_if_supported(-Wl,-dead_strip_dylibs LD_SECURITY_FLAGS)
|
||||
endif()
|
||||
|
@ -284,18 +252,23 @@ if (WIN32)
|
|||
endif()
|
||||
|
||||
if(STATIC)
|
||||
# add_linker_flag_if_supported(-static-libgcc STATIC_FLAGS)
|
||||
# add_linker_flag_if_supported(-static-libstdc++ STATIC_FLAGS)
|
||||
if(MINGW)
|
||||
add_linker_flag_if_supported(-static STATIC_FLAGS)
|
||||
elseif (NOT (APPLE OR FREEBSD OR OPENBSD OR DRAGONFLY))
|
||||
if(NOT "${ARCH}" STREQUAL "armv7-a")
|
||||
add_linker_flag_if_supported(-static-libgcc STATIC_FLAGS)
|
||||
add_linker_flag_if_supported(-static-libstdc++ STATIC_FLAGS)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_c_flag_if_supported(-fPIC C_SECURITY_FLAGS)
|
||||
add_cxx_flag_if_supported(-fPIC CXX_SECURITY_FLAGS)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAG} -std=c11 ${C_SECURITY_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAG} ${CXX_SECURITY_FLAGS}")
|
||||
set(ANTI_AV_FLAGS "-Dcryptonote=MWYSUTPAXIBT")
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MINGW_FLAG} -std=c11 ${C_SECURITY_FLAGS} ${ANTI_AV_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MINGW_FLAG} ${CXX_SECURITY_FLAGS} ${ANTI_AV_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS} ${STATIC_FLAGS}")
|
||||
|
||||
add_subdirectory(src)
|
||||
|
|
37
HACKING.md
37
HACKING.md
|
@ -1,37 +1,43 @@
|
|||
# Documentation for developers
|
||||
|
||||
Feather is developed primarily on Linux, but can also be built and debugged on macOS. Development on Windows is not
|
||||
currently supported.
|
||||
Feather is developed primarily on Linux, but can also be built on macOS. Development on Windows is not currently supported.
|
||||
|
||||
We support development on rolling release distributions and the latest version of Ubuntu. Building on older stable distributions is not guaranteed to work.
|
||||
|
||||
## Setting up a development environment
|
||||
|
||||
### Dependencies
|
||||
|
||||
Note: Feather requires Qt 6.3 or later. Make sure your distro's package manager provides this version.
|
||||
If not, it is recommended that you install Qt manually using the online installer, which can be found here:
|
||||
https://www.qt.io/download (under open-source).
|
||||
|
||||
#### Arch Linux
|
||||
|
||||
```bash
|
||||
pacman -S git cmake base-devel ccache unbound boost qrencode qt6-base qt6-svg qt6-websockets qt6-multimedia libzip hidapi protobuf zxing-cpp
|
||||
pacman -S git cmake base-devel ccache unbound boost qrencode qt6-base qt6-svg qt6-websockets qt6-wayland qt6-multimedia libzip hidapi protobuf zxing-cpp
|
||||
```
|
||||
|
||||
#### Ubuntu 22.04
|
||||
#### Ubuntu 24.04
|
||||
|
||||
```bash
|
||||
apt update
|
||||
apt install git cmake build-essential ccache libssl-dev libunbound-dev libboost-all-dev libqrencode-dev \
|
||||
qt6-base-dev libgl1-mesa-dev libqt6svg6-dev libqt6websockets6-dev libzip-dev libsodium-dev libgcrypt-dev \
|
||||
libx11-xcb-dev libprotobuf-dev libhidapi-dev libzxing-dev
|
||||
apt install git cmake build-essential ccache libssl-dev libunbound-dev libboost-all-dev \
|
||||
libqrencode-dev qt6-base-dev qt6-svg-dev qt6-websockets-dev qt6-multimedia-dev \
|
||||
qt6-wayland-dev libzip-dev libsodium-dev libgcrypt20-dev libx11-xcb-dev \
|
||||
libprotobuf-dev libhidapi-dev libzxing-dev libusb-1.0-0-dev
|
||||
```
|
||||
|
||||
#### Rhel 9 / Alma / Rocky
|
||||
|
||||
```bash
|
||||
sudo dnf install epel-release -y
|
||||
sudo dnf groupinstall "Development Tools" -y
|
||||
sudo dnf install unbound-devel boost-devel qrencode-devel zxing-cpp-devel qt6-qtbase-devel qt6-qtsvg-devel qt6-qtwebsockets-devel qt6-qtmultimedia-devel qt6-qtwayland-devel libsodium-devel
|
||||
```
|
||||
|
||||
#### Void Linux
|
||||
|
||||
```bash
|
||||
xbps-install -S base-devel cmake boost-devel openssl-devel unbound-devel libsodium-devel zlib-devel qt6-base-devel \
|
||||
qt6-svg-devel qt6-websockets-devel qt6-multimedia-devel libgcrypt-devel libzip-devel hidapi-devel protobuf \
|
||||
protobuf-devel qrencode-devel zxing-cpp-devel
|
||||
qt6-svg-devel qt6-websockets-devel qt6-multimedia-devel qt6-wayland-devel libgcrypt-devel libzip-devel \
|
||||
hidapi-devel protobuf protobuf-devel qrencode-devel zxing-cpp-devel
|
||||
```
|
||||
|
||||
#### macOS
|
||||
|
@ -92,9 +98,8 @@ git submodule update --init --recursive
|
|||
We recommend using Jetbrains Clion for Feather development. It integrates nicely with CMake and comes with a built-in
|
||||
debugger.
|
||||
|
||||
To pass CMake flags to CLion, go to `File->Settings->Build->CMake`, set Build Type to `Debug` and set your
|
||||
preferred CMake options. If you installed Qt using the online installer you may have to add
|
||||
`-DCMAKE_PREFIX_PATH=/path/to/qt/installation` in the CMake options. More CMake options are documented below.
|
||||
To pass CMake flags to CLion, go to `File -> Settings -> Build -> CMake`, set Build Type to `Debug` and set your
|
||||
preferred CMake options. More CMake options are documented below.
|
||||
|
||||
Run CMake (`View -> Tool Windows -> CMake`). Click on the 🔃 (`Reload CMake Project`) button.
|
||||
|
||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2020-2024, The Monero Project
|
||||
Copyright (c) 2020-2025, The Monero Project
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
|
|
@ -13,20 +13,36 @@ This document is written for developers and users interested in learning how Fea
|
|||
- Review the diff of any altered package to mitigate the risk of supply chain attacks
|
||||
- Update compilers and security flags for better binary security
|
||||
- Reduce the number of third-party dependencies
|
||||
- Keep the website VPS up-to-date and secure
|
||||
- Further harden the [release process](RELEASE.md)
|
||||
- Keep the [website](https://github.com/feather-wallet/feather-site/blob/master/mirrors.txt) VPS up-to-date and secure
|
||||
- Contact relevant authorities to take [phishing sites](https://gist.github.com/tobtoht/4039fa3cf922d4fe8bca2f8e3ddac63b) offline
|
||||
- Make improvements to the [release process](RELEASE.md)
|
||||
|
||||
Goals:
|
||||
|
||||
- Set up a bug bounty program for issues that affect privacy or security
|
||||
- Set up a status page with information about project health
|
||||
- Set up a feed for security bulletins
|
||||
- Sandbox components that handle untrusted input (e.g. QR code scanner)
|
||||
- Create a package manager for secure distribution of portable binaries
|
||||
- `-static-pie` release binaries for Linux targets
|
||||
|
||||
Security issues that affect Feather always warrant a new release as soon as possible.
|
||||
|
||||
### 2. Reproducibility
|
||||
### 2. Continuity
|
||||
|
||||
- Improve and maintain tools to check for reproducibility defects
|
||||
- Keep the website and services online
|
||||
- Keep source repositories accessible
|
||||
- Make sure that running release builds is easy to set up and reproducible in time
|
||||
|
||||
Goals:
|
||||
|
||||
- Make sure the project is transmissible
|
||||
- Make sure that setting up release infrastructure, release engineering, and maintenance are extensively documented
|
||||
- Make the websocket server repository public
|
||||
|
||||
### 3. Reproducibility
|
||||
|
||||
- Improve and maintain tools to check for non-determinism
|
||||
- Ensure releases are reproducible and stay that way
|
||||
- Upload source archives to the fallback mirror
|
||||
|
||||
|
@ -36,31 +52,32 @@ To learn more about Feather's build system, see: [`contrib/guix/README.md`](http
|
|||
Our Guix time-machine is currently pinned at a commit which implements the
|
||||
[Full-Source Bootstrap](https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/).
|
||||
|
||||
### 3. Bugs
|
||||
### 4. Bugs
|
||||
|
||||
- Fix reproducible bugs and crashes
|
||||
- Fix bugs and crashes
|
||||
|
||||
To report a bug, please see: https://docs.featherwallet.org/guides/report-an-issue
|
||||
|
||||
### 4. Tests
|
||||
### 5. Tests
|
||||
|
||||
- Improve test coverage
|
||||
- Write more test cases
|
||||
|
||||
Feather does not currently have a test suite (apart from the tests in the Monero submodule), this is a WIP.
|
||||
|
||||
### 5. Documentation
|
||||
### 6. Documentation
|
||||
|
||||
- Make sure the documentation accurately reflects the latest release
|
||||
- Add troubleshooting guides for common problems
|
||||
- Ideally, most support questions can be answered with a link to the documentation
|
||||
|
||||
Goals:
|
||||
- Most support questions can be answered with a link to the documentation
|
||||
- Reconsider and document default settings
|
||||
- Write a document on threat modeling
|
||||
|
||||
Documentation is available at https://docs.featherwallet.org
|
||||
|
||||
### 6. Improvements
|
||||
### 7. Improvements
|
||||
|
||||
- Improve existing features
|
||||
- Improve UI/UX
|
||||
|
@ -68,19 +85,15 @@ Documentation is available at https://docs.featherwallet.org
|
|||
Feather should first and foremost be a good __wallet__.
|
||||
Improving features that are closer to this end should have priority.
|
||||
|
||||
### 7. Packaging
|
||||
### 8. Platform Support
|
||||
|
||||
- Add support for more architectures and operating systems
|
||||
- Drop support for End-of-Life distributions
|
||||
|
||||
Goals:
|
||||
|
||||
- Debian and Guix packages
|
||||
- Create a document with guidelines for packagers
|
||||
- Add support for new hardware wallets
|
||||
|
||||
See: https://docs.featherwallet.org/guides/supported-operating-systems
|
||||
|
||||
### 8. Optimization, cleanup and continuity
|
||||
### 9. Optimization
|
||||
|
||||
Miscellaneous maintenance tasks.
|
||||
|
||||
|
@ -98,9 +111,9 @@ Miscellaneous maintenance tasks.
|
|||
|
||||
Goals:
|
||||
|
||||
- Make sure Feather is ready for the migration to [Seraphis](https://github.com/seraphis-migration/wallet3)
|
||||
- Make sure Feather is ready for the migration to [FCMP++](https://www.getmonero.org/2024/04/27/fcmps.html)
|
||||
|
||||
### 9. Features
|
||||
### 10. Features
|
||||
|
||||
- Implement new features
|
||||
- Allow Feather to be used or configured for higher, esoteric or new threat models
|
||||
|
@ -112,7 +125,7 @@ compared to its expected maintenance and support burden.
|
|||
|
||||
For a non-exhaustive list of potentially new features, see: https://featherwallet.org/ideas
|
||||
|
||||
### 10. Upstreaming
|
||||
### 11. Upstreaming
|
||||
|
||||
- Upstream tried and tested features, bugfixes and useful patches
|
||||
- Bugfixes should be upstreamed without delay
|
||||
|
|
16
Makefile
Normal file
16
Makefile
Normal file
|
@ -0,0 +1,16 @@
|
|||
build:
|
||||
@./contrib/guix/guix-build
|
||||
|
||||
attest:
|
||||
@./contrib/guix/guix-attest
|
||||
|
||||
verify:
|
||||
@./contrib/guix/guix-verify
|
||||
|
||||
clean:
|
||||
@./contrib/guix/guix-clean
|
||||
|
||||
DEFAULT_GOAL := default
|
||||
default: build
|
||||
|
||||
.PHONY: default build attest verify clean
|
72
README.md
72
README.md
|
@ -1,38 +1,68 @@
|
|||
# Feather Wallet
|
||||
|
||||
Feather is a free, open-source Monero wallet for Linux, Tails, macOS and Windows. It is written in C++ with the Qt framework.
|
||||
Feather is a free Monero desktop wallet for Linux, Tails, macOS and Windows. It is written in C++ with the Qt framework.
|
||||
|
||||
Copyright (c) 2020-2024, The Monero Project.
|
||||
- **easy-to-use**, **small** and **fast** - Feather runs well on any modern hardware, including virtual machines and live operating systems.
|
||||
- **beginner friendly**, but also caters to advanced Monero users by providing a [feature set](https://docs.featherwallet.org/guides/features) that is on par with the official CLI.
|
||||
- ships with **sane defaults** that suit most users, but can also be configured for high or uncommon threat models.
|
||||
- serves as a testing grounds for **experimental features** that may later be adopted in the reference wallets.
|
||||
|
||||
## Download
|
||||
|
||||
You can download Feather from **[featherwallet.org](https://featherwallet.org/download/)** or **[GitHub](https://github.com/feather-wallet/feather/releases)**.
|
||||
|
||||
If you need help installing Feather, check the [installation documentation](https://docs.featherwallet.org/).
|
||||
|
||||
We recommend that you verify downloads with GPG. Releases are signed with our [release signing key](https://docs.featherwallet.org/guides/release-signing-key). The fingerprint is:
|
||||
|
||||
```
|
||||
8185 E158 A333 30C7 FD61 BC0D 1F76 E155 CEFB A71C
|
||||
```
|
||||
|
||||
Windows releases are code-signed for free by [SignPath.io](https://about.signpath.io/), certificate by [SignPath Foundation](https://signpath.org/).
|
||||
|
||||
## Resources
|
||||
|
||||
* Web: [featherwallet.org](https://featherwallet.org)
|
||||
* Docs: [docs.featherwallet.org](https://docs.featherwallet.org)
|
||||
* Git: [github.com/feather-wallet/feather](https://github.com/feather-wallet/feather)
|
||||
* Reddit: [/r/FeatherWallet](https://old.reddit.com/r/FeatherWallet)
|
||||
* Lemmy: [monero.town/c/featherwallet](https://monero.town/c/featherwallet)
|
||||
* Mail: dev@featherwallet.org
|
||||
* [Official Site](https://featherwallet.org)
|
||||
* [Documentation](https://docs.featherwallet.org)
|
||||
* [Git Repository](https://github.com/feather-wallet/feather)
|
||||
* [Matrix](https://matrix.to/#/#feather:monero.social)
|
||||
* IRC: `#feather` on [OFTC](https://www.oftc.net/)
|
||||
* Matrix: [matrix.to/#/#feather:monero.social](https://matrix.to/#/#feather:monero.social)
|
||||
* Mail: dev@featherwallet.org
|
||||
|
||||
**Download** the latest release [here](https://featherwallet.org/download).
|
||||
If you need help with your wallet, please contact us via Matrix or IRC.
|
||||
If you don't have an IRC client, you can join the room via [webchat](https://webchat.oftc.net/?randomnick=1&channels=feather).
|
||||
If you don’t receive a response immediately please idle in the room.
|
||||
|
||||
## Supporting the project
|
||||
## Release Builds
|
||||
|
||||
Feather is a 100% community-sponsored project. If you want to join our efforts, the easiest thing you can do is support the project financially.
|
||||
To learn how to run a bootstrappable release build, see: [contrib/guix/README.md](https://github.com/feather-wallet/feather/blob/master/contrib/guix/README.md)
|
||||
|
||||
Donations help pay for hosting, build servers, domain names, e-mail and other recurring costs. Any amount helps.
|
||||
For release attestations, see the [feather-sigs](http://github.com/feather-wallet/feather-sigs) repo.
|
||||
|
||||
`47ntfT2Z5384zku39pTM6hGcnLnvpRYW2Azm87GiAAH2bcTidtq278TL6HmwyL8yjMeERqGEBs3cqC8vvHPJd1cWQrGC65f`
|
||||
|
||||
## Deterministic builds
|
||||
|
||||
See [contrib/guix/README.md](https://github.com/feather-wallet/feather/blob/master/contrib/guix/README.md) for more information.
|
||||
For release policy, see: [RELEASE.md](https://github.com/feather-wallet/feather/blob/master/RELEASE.md)
|
||||
|
||||
## Development
|
||||
|
||||
If you are looking to set up a development environment for Feather, see [HACKING.md](https://github.com/feather-wallet/feather/blob/master/HACKING.md).
|
||||
|
||||
It is highly recommended that you join the `#feather` IRC channel on [OFTC](https://www.oftc.net/) or [`#feather:monero.social`](https://matrix.to/#/#feather:monero.social) on Matrix if you
|
||||
are hacking on Feather. Due to the nature of this open source software project, idling in this channel is the best
|
||||
way to stay updated on best practices and new developments.
|
||||
It is highly recommended that you join our Matrix or IRC channel if you are hacking on Feather.
|
||||
Idling in this channel is the best way to stay updated on best practices and new developments.
|
||||
|
||||
For information on how Feather is maintained, see: [MAINTENANCE.md](https://github.com/feather-wallet/feather/blob/master/MAINTENANCE.md)
|
||||
|
||||
To report a security vulnerability, see: [SECURITY.md](https://github.com/feather-wallet/feather/blob/master/SECURITY.md)
|
||||
|
||||
## Support
|
||||
|
||||
Feather is funded entirely through donations. We don't take a cut from transaction fees and make no money from exchange integrations.
|
||||
|
||||
Donations help pay for hosting, build servers, domain names, e-mail and other recurring costs. Any amount helps.
|
||||
|
||||
`47ntfT2Z5384zku39pTM6hGcnLnvpRYW2Azm87GiAAH2bcTidtq278TL6HmwyL8yjMeERqGEBs3cqC8vvHPJd1cWQrGC65f`
|
||||
|
||||
## License
|
||||
|
||||
Feather is free and open-source software, [licensed under BSD-3](https://raw.githubusercontent.com/feather-wallet/feather/master/LICENSE).
|
||||
|
||||
Copyright (c) 2020-2025, The Monero Project
|
||||
|
|
12
RELEASE.md
12
RELEASE.md
|
@ -10,7 +10,7 @@
|
|||
- Run `feather-utils/depends/vulns.py` to check
|
||||
- Rebase on top of latest Monero version
|
||||
- Update `src/assets/ack.txt`
|
||||
- Update `SOURCE_DATE_EPOCH` in `contrib/guix/guix-build`
|
||||
- Update documentation (`feather-wallet/feather-docs`) and `external/feather-docs` submodule
|
||||
- Update the version number in `CMakeLists.txt`
|
||||
- A hardfork-ready release must bump major version
|
||||
- Create an annotated tag (`git tag x.x.x -a`)
|
||||
|
@ -27,14 +27,12 @@
|
|||
./contrib/guix/guix-build
|
||||
```
|
||||
- Alternatively, run `feather-utils/guix/run-build.sh`
|
||||
- Use at least two machines to verify that the builds are reproducible:
|
||||
- In absence of a system for verified reproduction, at least one machine should be air-gapped.
|
||||
- Use the `feather-utils/guix/compare-builds.sh` script to compare two build directories and identify any reproducibility defects.
|
||||
- If builds are not reproducible: fix any reproducibility defects and bump patch version. Do not sign or release non-reproducible builds.
|
||||
- Attest the builds (`contrib/guix/guix-attest`) and PR to `feather/feather-sigs`.
|
||||
- Wait until at least one other person has independently verified reproducibility
|
||||
- If builds are not reproducible: fix any reproducibility defects and bump patch version. Do not sign or release non-reproducible builds.
|
||||
- Sign release artifacts and hashlists.
|
||||
- Transfer files in `guix-build-x.x.x/output` to release signing machine
|
||||
- Run `feather-utils/release/make-release.sh`
|
||||
- Update documentation (`feather-wallet/feather-docs`)
|
||||
- Update the site (`feather-wallet/feather-site`)
|
||||
- Run the `feather-utils/site/bump-version.py` script to create a template commit.
|
||||
- Edit the changelog in `content/changelog`
|
||||
|
@ -44,6 +42,6 @@
|
|||
- Follow the directory structure defined in `MainWindow::onShowUpdateCheck`.
|
||||
- Make `depends` source files [available](https://featherwallet.org/files/sources/):
|
||||
- `make -C contrib/depends download`
|
||||
- Announce release on social media (Reddit, Twitter, irc/Matrix)
|
||||
- Announce release on social media (irc/Matrix, Twitter, Lemmy)
|
||||
- Update websocket servers to notify clients of new release
|
||||
- Wait up to 7 days to allow for bug reports before major rollout
|
29
SECURITY.md
29
SECURITY.md
|
@ -13,3 +13,32 @@ The following keys may be used to communicate sensitive information to developer
|
|||
| tobtoht | E87B D921 CDD8 85C9 D78A 38C5 E45B 10DD 027D 2472 |
|
||||
|
||||
Public keys can be found in [`utils/pubkeys`](utils/pubkeys).
|
||||
|
||||
## Bug Bounty Program
|
||||
|
||||
A bounty may be rewarded to a vulnerability report **if and only if** the issue can result in **a loss of funds**.
|
||||
|
||||
You must describe a **plausible scenario** in which a loss of funds can occur (or has occurred) that **isn't solely attributable to user error**.
|
||||
|
||||
Only **the code** of the **latest tagged release** of **[this repository](https://github.com/feather-wallet/feather/)** is in scope.
|
||||
|
||||
**The bounty can only be rewarded in XMR**. The bounty amount for your report is determined by the maintainers and ranges from USD 150 to USD 3000 (in terms of XMR) and depends on the severity of the issue and other factors.
|
||||
|
||||
Clarifications on scope:
|
||||
|
||||
- The issue **must be present in a [signed](https://docs.featherwallet.org/guides/release-signing-key) [release build](https://github.com/feather-wallet/feather/blob/master/contrib/guix/README.md)**. Custom builds, including distribution packages, are out of scope.
|
||||
- The developers **must be able to reproduce and fix the issue**. If the issue cannot be fixed **in our code** for any reason, it is out of scope.
|
||||
- The live [websites](https://github.com/feather-wallet/feather-site/blob/master/mirrors.txt) and their repositories are out of scope.
|
||||
- Loss of funds due to malware on the user's machine is out of scope.
|
||||
- Memory imaging, including cold boot attacks, is out of scope.
|
||||
- Social engineering against users is out of scope. This includes messages received from the [websocket server](https://docs.featherwallet.org/guides/websocket).
|
||||
- Any form of coercion, physical or psychological, is out of scope.
|
||||
- Vulnerabilities that are attributable to hardware are out of scope.
|
||||
- If the issue was fixed in the `master` branch before we receive your report, it is invalid and not eligible for a bounty from this program.
|
||||
- If the vulnerability involves binary exploitation, we may ask you to provide a proof of concept of secret key exfiltration.
|
||||
- Vulnerabilities that are present in the monero submodule but were not introduced in patches made by the Feather developers must
|
||||
be reported [upstream](https://github.com/monero-project/meta/blob/master/VULNERABILITY_RESPONSE_PROCESS.md) and are not eligible for a bounty from this program.
|
||||
- Vulnerabilities that are present in any of our third-party dependencies must be reported upstream and are not eligible for a bounty from this program.
|
||||
- Vulnerabilities that are present in [supported hardware wallets](https://docs.featherwallet.org/guides/hardware-wallet-support) must be reported upstream and are not eligible for a bounty from this program.
|
||||
- A bounty will not be awarded if the reported vulnerability was already known. We may make an exception if you demonstrate that the severity of the issue was underestimated and no immediate fix was planned.
|
||||
- If, during your research, you disrupt Feather's release infrastructure or services, or attempt to coerce its developers, you will not be awarded a bounty.
|
||||
|
|
|
@ -1,291 +0,0 @@
|
|||
# Written in 2016 by Henrik Steffen Gaßmann <henrik@gassmann.onl>
|
||||
#
|
||||
# To the extent possible under law, the author(s) have dedicated all copyright
|
||||
# and related and neighboring rights to this software to the public domain
|
||||
# worldwide. This software is distributed without any warranty.
|
||||
#
|
||||
# You should have received a copy of the CC0 Public Domain Dedication along with
|
||||
# this software. If not, see
|
||||
#
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
#
|
||||
# ##############################################################################
|
||||
# Tries to find the local libsodium installation.
|
||||
#
|
||||
# On Windows the sodium_DIR environment variable is used as a default hint which
|
||||
# can be overridden by setting the corresponding cmake variable.
|
||||
#
|
||||
# Once done the following variables will be defined:
|
||||
#
|
||||
# sodium_FOUND sodium_INCLUDE_DIR sodium_LIBRARY_DEBUG sodium_LIBRARY_RELEASE
|
||||
# sodium_VERSION_STRING
|
||||
#
|
||||
# Furthermore an imported "sodium" target is created.
|
||||
#
|
||||
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||
set(_GCC_COMPATIBLE 1)
|
||||
endif()
|
||||
|
||||
# static library option
|
||||
if(NOT DEFINED sodium_USE_STATIC_LIBS)
|
||||
option(sodium_USE_STATIC_LIBS "enable to statically link against sodium" OFF)
|
||||
endif()
|
||||
if(NOT (sodium_USE_STATIC_LIBS EQUAL sodium_USE_STATIC_LIBS_LAST))
|
||||
unset(sodium_LIBRARY CACHE)
|
||||
unset(sodium_LIBRARY_DEBUG CACHE)
|
||||
unset(sodium_LIBRARY_RELEASE CACHE)
|
||||
unset(sodium_DLL_DEBUG CACHE)
|
||||
unset(sodium_DLL_RELEASE CACHE)
|
||||
set(sodium_USE_STATIC_LIBS_LAST
|
||||
${sodium_USE_STATIC_LIBS}
|
||||
CACHE INTERNAL "internal change tracking variable")
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# UNIX
|
||||
if(UNIX)
|
||||
# import pkg-config
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(sodium_PKG QUIET libsodium)
|
||||
endif()
|
||||
|
||||
if(sodium_USE_STATIC_LIBS)
|
||||
if(sodium_PKG_STATIC_LIBRARIES)
|
||||
foreach(_libname ${sodium_PKG_STATIC_LIBRARIES})
|
||||
if(NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending
|
||||
# with .a
|
||||
list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a")
|
||||
endif()
|
||||
endforeach()
|
||||
list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES)
|
||||
else()
|
||||
# if pkgconfig for libsodium doesn't provide static lib info, then
|
||||
# override PKG_STATIC here..
|
||||
set(sodium_PKG_STATIC_LIBRARIES libsodium.a)
|
||||
endif()
|
||||
|
||||
set(XPREFIX sodium_PKG_STATIC)
|
||||
else()
|
||||
if(sodium_PKG_LIBRARIES STREQUAL "")
|
||||
set(sodium_PKG_LIBRARIES sodium)
|
||||
endif()
|
||||
|
||||
set(XPREFIX sodium_PKG)
|
||||
endif()
|
||||
|
||||
find_path(sodium_INCLUDE_DIR sodium.h HINTS ${${XPREFIX}_INCLUDE_DIRS})
|
||||
find_library(sodium_LIBRARY_DEBUG
|
||||
NAMES ${${XPREFIX}_LIBRARIES}
|
||||
HINTS ${${XPREFIX}_LIBRARY_DIRS})
|
||||
find_library(sodium_LIBRARY_RELEASE
|
||||
NAMES ${${XPREFIX}_LIBRARIES}
|
||||
HINTS ${${XPREFIX}_LIBRARY_DIRS})
|
||||
|
||||
# ############################################################################
|
||||
# Windows
|
||||
elseif(WIN32)
|
||||
set(sodium_DIR "$ENV{sodium_DIR}" CACHE FILEPATH "sodium install directory")
|
||||
mark_as_advanced(sodium_DIR)
|
||||
|
||||
find_path(sodium_INCLUDE_DIR sodium.h
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES include)
|
||||
|
||||
if(MSVC)
|
||||
# detect target architecture
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.c" [=[
|
||||
#if defined _M_IX86
|
||||
#error ARCH_VALUE x86_32
|
||||
#elif defined _M_X64
|
||||
#error ARCH_VALUE x86_64
|
||||
#endif
|
||||
#error ARCH_VALUE unknown
|
||||
]=])
|
||||
try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/arch.c"
|
||||
OUTPUT_VARIABLE _COMPILATION_LOG)
|
||||
string(REGEX
|
||||
REPLACE ".*ARCH_VALUE ([a-zA-Z0-9_]+).*"
|
||||
"\\1"
|
||||
_TARGET_ARCH
|
||||
"${_COMPILATION_LOG}")
|
||||
|
||||
# construct library path
|
||||
if(_TARGET_ARCH STREQUAL "x86_32")
|
||||
string(APPEND _PLATFORM_PATH "Win32")
|
||||
elseif(_TARGET_ARCH STREQUAL "x86_64")
|
||||
string(APPEND _PLATFORM_PATH "x64")
|
||||
else()
|
||||
message(
|
||||
FATAL_ERROR
|
||||
"the ${_TARGET_ARCH} architecture is not supported by Findsodium.cmake."
|
||||
)
|
||||
endif()
|
||||
string(APPEND _PLATFORM_PATH "/$$CONFIG$$")
|
||||
|
||||
if(MSVC_VERSION LESS 1900)
|
||||
math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 60")
|
||||
else()
|
||||
math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 50")
|
||||
endif()
|
||||
string(APPEND _PLATFORM_PATH "/v${_VS_VERSION}")
|
||||
|
||||
if(sodium_USE_STATIC_LIBS)
|
||||
string(APPEND _PLATFORM_PATH "/static")
|
||||
else()
|
||||
string(APPEND _PLATFORM_PATH "/dynamic")
|
||||
endif()
|
||||
|
||||
string(REPLACE "$$CONFIG$$"
|
||||
"Debug"
|
||||
_DEBUG_PATH_SUFFIX
|
||||
"${_PLATFORM_PATH}")
|
||||
string(REPLACE "$$CONFIG$$"
|
||||
"Release"
|
||||
_RELEASE_PATH_SUFFIX
|
||||
"${_PLATFORM_PATH}")
|
||||
|
||||
find_library(sodium_LIBRARY_DEBUG libsodium.lib
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX})
|
||||
find_library(sodium_LIBRARY_RELEASE libsodium.lib
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX})
|
||||
if(NOT sodium_USE_STATIC_LIBS)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES_BCK ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
|
||||
find_library(sodium_DLL_DEBUG libsodium
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX})
|
||||
find_library(sodium_DLL_RELEASE libsodium
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX})
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BCK})
|
||||
endif()
|
||||
|
||||
elseif(_GCC_COMPATIBLE)
|
||||
if(sodium_USE_STATIC_LIBS)
|
||||
find_library(sodium_LIBRARY_DEBUG libsodium.a
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES lib)
|
||||
find_library(sodium_LIBRARY_RELEASE libsodium.a
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES lib)
|
||||
else()
|
||||
find_library(sodium_LIBRARY_DEBUG libsodium.dll.a
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES lib)
|
||||
find_library(sodium_LIBRARY_RELEASE libsodium.dll.a
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES lib)
|
||||
|
||||
file(GLOB _DLL
|
||||
LIST_DIRECTORIES false
|
||||
RELATIVE "${sodium_DIR}/bin"
|
||||
"${sodium_DIR}/bin/libsodium*.dll")
|
||||
find_library(sodium_DLL_DEBUG ${_DLL} libsodium
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES bin)
|
||||
find_library(sodium_DLL_RELEASE ${_DLL} libsodium
|
||||
HINTS ${sodium_DIR}
|
||||
PATH_SUFFIXES bin)
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "this platform is not supported by FindSodium.cmake")
|
||||
endif()
|
||||
|
||||
# ############################################################################
|
||||
# unsupported
|
||||
else()
|
||||
message(FATAL_ERROR "this platform is not supported by FindSodium.cmake")
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# common stuff
|
||||
|
||||
# extract sodium version
|
||||
if(sodium_INCLUDE_DIR)
|
||||
set(_VERSION_HEADER "${sodium_INCLUDE_DIR}/sodium/version.h")
|
||||
if(EXISTS "${_VERSION_HEADER}")
|
||||
file(READ "${_VERSION_HEADER}" _VERSION_HEADER_CONTENT)
|
||||
string(REGEX
|
||||
REPLACE ".*define[ \t]+SODIUM_VERSION_STRING[^\"]+\"([^\"]+)\".*"
|
||||
"\\1"
|
||||
sodium_VERSION_STRING
|
||||
"${_VERSION_HEADER_CONTENT}")
|
||||
set(sodium_VERSION_STRING "${sodium_VERSION_STRING}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# communicate results
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(sodium
|
||||
REQUIRED_VARS
|
||||
sodium_LIBRARY_RELEASE
|
||||
sodium_LIBRARY_DEBUG
|
||||
sodium_INCLUDE_DIR
|
||||
VERSION_VAR
|
||||
sodium_VERSION_STRING)
|
||||
|
||||
# mark file paths as advanced
|
||||
mark_as_advanced(sodium_INCLUDE_DIR)
|
||||
mark_as_advanced(sodium_LIBRARY_DEBUG)
|
||||
mark_as_advanced(sodium_LIBRARY_RELEASE)
|
||||
if(WIN32)
|
||||
mark_as_advanced(sodium_DLL_DEBUG)
|
||||
mark_as_advanced(sodium_DLL_RELEASE)
|
||||
endif()
|
||||
|
||||
# create imported target
|
||||
if(sodium_USE_STATIC_LIBS)
|
||||
set(_LIB_TYPE STATIC)
|
||||
else()
|
||||
set(_LIB_TYPE SHARED)
|
||||
endif()
|
||||
add_library(sodium ${_LIB_TYPE} IMPORTED)
|
||||
|
||||
set_target_properties(sodium
|
||||
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
||||
"${sodium_INCLUDE_DIR}"
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES
|
||||
"C")
|
||||
|
||||
if(sodium_USE_STATIC_LIBS)
|
||||
set_target_properties(sodium
|
||||
PROPERTIES INTERFACE_COMPILE_DEFINITIONS
|
||||
"SODIUM_STATIC"
|
||||
IMPORTED_LOCATION
|
||||
"${sodium_LIBRARY_RELEASE}"
|
||||
IMPORTED_LOCATION_DEBUG
|
||||
"${sodium_LIBRARY_DEBUG}")
|
||||
else()
|
||||
if(UNIX)
|
||||
set_target_properties(sodium
|
||||
PROPERTIES IMPORTED_LOCATION
|
||||
"${sodium_LIBRARY_RELEASE}"
|
||||
IMPORTED_LOCATION_DEBUG
|
||||
"${sodium_LIBRARY_DEBUG}")
|
||||
elseif(WIN32)
|
||||
set_target_properties(sodium
|
||||
PROPERTIES IMPORTED_IMPLIB
|
||||
"${sodium_LIBRARY_RELEASE}"
|
||||
IMPORTED_IMPLIB_DEBUG
|
||||
"${sodium_LIBRARY_DEBUG}")
|
||||
if(NOT (sodium_DLL_DEBUG MATCHES ".*-NOTFOUND"))
|
||||
set_target_properties(sodium
|
||||
PROPERTIES IMPORTED_LOCATION_DEBUG
|
||||
"${sodium_DLL_DEBUG}")
|
||||
endif()
|
||||
if(NOT (sodium_DLL_RELEASE MATCHES ".*-NOTFOUND"))
|
||||
set_target_properties(sodium
|
||||
PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO
|
||||
"${sodium_DLL_RELEASE}"
|
||||
IMPORTED_LOCATION_MINSIZEREL
|
||||
"${sodium_DLL_RELEASE}"
|
||||
IMPORTED_LOCATION_RELEASE
|
||||
"${sodium_DLL_RELEASE}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
|
@ -1,65 +0,0 @@
|
|||
# Copyright (c) 2014-2019, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
# Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
|
||||
# Check what commit we're on
|
||||
execute_process(COMMAND "${GIT}" rev-parse --short=9 HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(RET)
|
||||
# Something went wrong, set the version tag to -unknown
|
||||
|
||||
message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.")
|
||||
set(VERSIONTAG "unknown")
|
||||
set(VERSION_IS_RELEASE "false")
|
||||
configure_file("monero/src/version.cpp.in" "${TO}")
|
||||
else()
|
||||
string(SUBSTRING ${COMMIT} 0 9 COMMIT)
|
||||
message(STATUS "You are currently on commit ${COMMIT}")
|
||||
|
||||
# Get all the tags
|
||||
execute_process(COMMAND "${GIT}" rev-list --tags --max-count=1 --abbrev-commit RESULT_VARIABLE RET OUTPUT_VARIABLE TAGGEDCOMMIT OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if(NOT TAGGEDCOMMIT)
|
||||
message(WARNING "Cannot determine most recent tag. Make sure that you are building either from a Git working tree or from a source archive.")
|
||||
set(VERSIONTAG "${COMMIT}")
|
||||
set(VERSION_IS_RELEASE "false")
|
||||
else()
|
||||
message(STATUS "The most recent tag was at ${TAGGEDCOMMIT}")
|
||||
|
||||
# Check if we're building that tagged commit or a different one
|
||||
if(COMMIT STREQUAL TAGGEDCOMMIT)
|
||||
message(STATUS "You are building a tagged release")
|
||||
set(VERSIONTAG "release")
|
||||
set(VERSION_IS_RELEASE "true")
|
||||
else()
|
||||
message(STATUS "You are ahead of or behind a tagged release")
|
||||
set(VERSIONTAG "${COMMIT}")
|
||||
set(VERSION_IS_RELEASE "false")
|
||||
endif()
|
||||
endif()
|
||||
configure_file("monero/src/version.cpp.in" "${TO}")
|
||||
endif()
|
|
@ -1,3 +1,5 @@
|
|||
set(QRC_LIST)
|
||||
|
||||
if (TOR_DIR)
|
||||
FILE(GLOB TOR_FILES LIST_DIRECTORIES false ${TOR_DIR}/*)
|
||||
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
# Copyright (c) 2014-2017, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
function (write_static_version_header hash)
|
||||
set(VERSIONTAG "${hash}")
|
||||
configure_file("${CMAKE_SOURCE_DIR}/monero/src/version.cpp.in" "${CMAKE_BINARY_DIR}/version.cpp")
|
||||
endfunction ()
|
||||
|
||||
find_package(Git QUIET)
|
||||
if ("$Format:$" STREQUAL "")
|
||||
# We're in a tarball; use hard-coded variables.
|
||||
write_static_version_header("release")
|
||||
elseif (GIT_FOUND OR Git_FOUND)
|
||||
add_custom_command(
|
||||
OUTPUT "${CMAKE_BINARY_DIR}/version.cpp"
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
"-D" "GIT=${GIT_EXECUTABLE}"
|
||||
"-D" "TO=${CMAKE_BINARY_DIR}/version.cpp"
|
||||
"-P" "cmake/GenVersion.cmake"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
|
||||
|
||||
else()
|
||||
message(STATUS "WARNING: Git was not found!")
|
||||
write_static_version_header("unknown")
|
||||
endif ()
|
||||
add_custom_target(genversion ALL
|
||||
DEPENDS "${CMAKE_BINARY_DIR}/version.cpp")
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# SPDX-FileCopyrightText: 2020-2023 The Monero Project
|
||||
|
||||
find_package(Git QUIET)
|
||||
|
||||
# Sets FEATHER_COMMIT to the first 9 chars of the current commit hash.
|
||||
|
||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/githash.txt")
|
||||
# This file added in source archives where the .git folder has been removed to optimize for space.
|
||||
file(READ "githash.txt" COMMIT)
|
||||
string(SUBSTRING ${COMMIT} 0 9 COMMIT)
|
||||
message(STATUS "You are currently on commit ${COMMIT}")
|
||||
set(FEATHER_COMMIT "${COMMIT}")
|
||||
else()
|
||||
execute_process(COMMAND "${GIT_EXECUTABLE}" rev-parse --short=9 HEAD RESULT_VARIABLE RET OUTPUT_VARIABLE COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if(RET)
|
||||
message(WARNING "Cannot determine current commit. Make sure that you are building either from a Git working tree or from a source archive.")
|
||||
set(FEATHER_COMMIT "unknown")
|
||||
else()
|
||||
string(SUBSTRING ${COMMIT} 0 9 COMMIT)
|
||||
message(STATUS "You are currently on commit ${COMMIT}")
|
||||
set(FEATHER_COMMIT "${COMMIT}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
configure_file("cmake/config-feather.h.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/src/config-feather.h")
|
|
@ -1,11 +0,0 @@
|
|||
#ifndef FEATHER_VERSION_H
|
||||
#define FEATHER_VERSION_H
|
||||
|
||||
#define FEATHER_VERSION "@PROJECT_VERSION@"
|
||||
#define FEATHER_COMMIT "@FEATHER_COMMIT@"
|
||||
|
||||
#define TOR_VERSION "@TOR_VERSION@"
|
||||
|
||||
#define FEATHER_TARGET_TRIPLET "@FEATHER_TARGET_TRIPLET@"
|
||||
|
||||
#endif //FEATHER_VERSION_H
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Pattern rule to print variables, e.g. make print-top_srcdir
|
||||
print-%: FORCE
|
||||
@echo '$*'='$($*)'
|
||||
@echo '$($*)'
|
||||
|
||||
# When invoking a sub-make, keep only the command line variable definitions
|
||||
# matching the pattern in the filter function.
|
||||
|
@ -127,34 +127,8 @@ include builders/$(build_os).mk
|
|||
include builders/default.mk
|
||||
include packages/packages.mk
|
||||
|
||||
# Previously, we directly invoked the well-known programs using $(shell ...)
|
||||
# to construct build_id_string. However, that was problematic because:
|
||||
#
|
||||
# 1. When invoking a shell, GNU Make special-cases exit code 127 (command not
|
||||
# found) by not capturing the output but instead passing it through. This is
|
||||
# not done for any other exit code.
|
||||
#
|
||||
# 2. Characters like '#' (from these programs' output) would end up in make
|
||||
# variables like build_id_string, which would be wrongly interpreted by make
|
||||
# when these variables were used.
|
||||
#
|
||||
# Therefore, we should avoid having arbitrary strings in make variables where
|
||||
# possible. The gen_id script used here hashes the output to construct a
|
||||
# "make-safe" id.
|
||||
#
|
||||
# Also note that these lines need to be:
|
||||
#
|
||||
# 1. After including {hosts,builders}/*.mk, since they rely on the tool
|
||||
# variables (e.g. build_CC, host_STRIP, etc.) to be set.
|
||||
#
|
||||
# 2. Before including packages/*.mk (excluding packages/packages.mk), since
|
||||
# they rely on the build_id variables
|
||||
#
|
||||
build_id:=$(shell env SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
||||
$(host_arch)_$(host_os)_id:=$(shell env SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
|
||||
ifneq ($(OUTDIR),)
|
||||
$(file >> $(OUTDIR)/build-hashes.txt,$(host_arch)_$(host_os)_id=$($(host_arch)_$(host_os)_id))
|
||||
endif
|
||||
build_id_string:=$(realpath $(GUIX_ENVIRONMENT))
|
||||
$(host_arch)_$(host_os)_id_string:=$(realpath $(GUIX_ENVIRONMENT))
|
||||
|
||||
qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) $(qt_$(host_arch)_$(host_os)_packages) $(qrencode_packages_)
|
||||
tor_packages_$(NO_TOR) = $(tor_packages) $(tor_$(host_os)_packages)
|
||||
|
@ -181,7 +155,7 @@ build-only-$(1)_$(3): CMAKE_SHARED_BOOL = $(if $(findstring shared,$(3)),ON,OFF)
|
|||
|
||||
|
||||
toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin)
|
||||
final_build_id_long+=$(shell $(build_SHA256SUM) toolchain.cmake.in)
|
||||
final_build_id_long+=:[sha256sum]:$(shell $(build_SHA256SUM) toolchain.cmake.in)
|
||||
final_build_id+=$(shell echo -n "$(final_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
|
||||
$(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
|
||||
rm -rf $(@D)
|
||||
|
|
|
@ -43,7 +43,7 @@ endef
|
|||
|
||||
define int_get_build_recipe_hash
|
||||
$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1))
|
||||
$(if $(OUTDIR), $(file >> $(OUTDIR)/build-hashes.txt,$(1)_all_file_checksums=$($(1)_all_file_checksums)))
|
||||
final_build_id_long+=:[$(1)_all_file_checksums]$(foreach checksum,$($(1)_all_file_checksums),$(shell echo ":$(checksum)")):
|
||||
$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1))
|
||||
endef
|
||||
|
||||
|
@ -51,10 +51,9 @@ define int_get_build_id
|
|||
$(eval $(1)_dependencies += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies))
|
||||
$(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($($(1)_type)_native_binutils) $($(1)_dependencies)))
|
||||
$(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps+=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash)))
|
||||
$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps) $($($(1)_type)_id))
|
||||
$(if $(OUTDIR), $(file >> $(OUTDIR)/build-hashes.txt,$(1)_build_id_long=$($(1)_build_id_long)))
|
||||
$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps) $($($(1)_type)_id_string))
|
||||
$(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)))
|
||||
final_build_id_long+=$($(package)_build_id_long)
|
||||
final_build_id_long+=:[recipe]:$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type):[deps]$(foreach dep,$($(1)_build_id_deps),$(shell echo ":$(dep)")):[$($(1)_type)_id]:$($($(1)_type)_id_string):
|
||||
|
||||
#compute package-specific paths
|
||||
$(1)_build_subdir?=.
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Usage: env [ CC=... ] [ C_STANDARD=...] [ CXX=... ] [CXX_STANDARD=...] \
|
||||
# [ AR=... ] [ RANLIB=... ] [ STRIP=... ] [ DEBUG=... ] \
|
||||
# [ LTO=... ] ./build-id [ID_SALT]...
|
||||
#
|
||||
# Prints to stdout a SHA256 hash representing the current toolset, used by
|
||||
# depends/Makefile as a build id for caching purposes (detecting when the
|
||||
# toolset has changed and the cache needs to be invalidated).
|
||||
#
|
||||
# If the DEBUG environment variable is non-empty and the system has `tee`
|
||||
# available in its $PATH, the pre-image to the SHA256 hash will be printed to
|
||||
# stderr. This is to help developers debug caching issues in depends.
|
||||
|
||||
# This script explicitly does not `set -e` because id determination is mostly
|
||||
# opportunistic: it is fine that things fail, as long as they fail consistently.
|
||||
|
||||
# Command variables (CC/CXX/AR) which can be blank are invoked with `bash -c`,
|
||||
# because the "command not found" error message printed by shells often include
|
||||
# the line number, like so:
|
||||
#
|
||||
# ./depends/gen_id: line 43: --version: command not found
|
||||
#
|
||||
# By invoking with `bash -c`, we ensure that the line number is always 1
|
||||
|
||||
(
|
||||
# Redirect stderr to stdout
|
||||
exec 2>&1
|
||||
|
||||
echo "BEGIN ALL"
|
||||
|
||||
# Include any ID salts supplied via command line
|
||||
echo "BEGIN ID SALT"
|
||||
echo "$@"
|
||||
echo "END ID SALT"
|
||||
|
||||
echo "BEGIN /gnu/store"
|
||||
bash -c "ls -1 /gnu/store | sort"
|
||||
echo "END /gnu/store"
|
||||
|
||||
# LINES=\|COLUMNS=\|\|HOSTTYPE=\|OSTYPE=\|MACHTYPE=\|HOSTNAME=
|
||||
echo "BEGIN environment"
|
||||
bash -c "printenv | sort | grep -v '^\(BASE_CACHE=\|DISTNAME=\|DISTSRC=\|OUTDIR=\|SOURCES_PATH=\|JOBS=\|OPTIONS=\)'"
|
||||
echo "END environment"
|
||||
|
||||
echo "END ALL"
|
||||
) | if [ -n "$DEBUG_GENID" ] && command -v tee > /dev/null 2>&1; then
|
||||
# When debugging and `tee` is available, output the preimage to stderr
|
||||
# in addition to passing through stdin to stdout
|
||||
tee >(cat 1>&2)
|
||||
else
|
||||
# Otherwise, passthrough stdin to stdout
|
||||
cat
|
||||
fi | ${SHA256SUM} - | cut -d' ' -f1
|
|
@ -1,36 +1,27 @@
|
|||
OSX_MIN_VERSION=10.14
|
||||
OSX_MIN_VERSION=11.0
|
||||
OSX_SDK_VERSION=11.0
|
||||
XCODE_VERSION=12.2
|
||||
XCODE_BUILD_ID=12B45b
|
||||
LD64_VERSION=609
|
||||
LD64_VERSION=711
|
||||
|
||||
OSX_SDK=$(host_prefix)/native/SDK
|
||||
|
||||
darwin_native_binutils=native_cctools
|
||||
|
||||
darwin_native_toolchain=darwin_sdk
|
||||
|
||||
# We can't just use $(shell command -v clang) because GNU Make handles builtins
|
||||
# in a special way and doesn't know that `command` is a POSIX-standard builtin
|
||||
# prior to 1af314465e5dfe3e8baa839a32a72e83c04f26ef, first released in v4.2.90.
|
||||
# At the time of writing, GNU Make v4.2.1 is still being used in supported
|
||||
# distro releases.
|
||||
#
|
||||
# Source: https://lists.gnu.org/archive/html/bug-make/2017-11/msg00017.html
|
||||
clang_prog=$(shell $(SHELL) $(.SHELLFLAGS) "command -v clang")
|
||||
clangxx_prog=$(shell $(SHELL) $(.SHELLFLAGS) "command -v clang++")
|
||||
|
||||
clang_resource_dir=$(shell clang -print-resource-dir)
|
||||
clang_prog=clang
|
||||
clangxx_prog=clang++
|
||||
llvm_config_prog=llvm-config
|
||||
|
||||
cctools_TOOLS=AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL DSYMUTIL
|
||||
llvm_lib_dir=$(shell $(llvm_config_prog) --libdir)
|
||||
|
||||
# Make-only lowercase function
|
||||
lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
|
||||
|
||||
# For well-known tools provided by cctools, make sure that their well-known
|
||||
# variable is set to the full path of the tool, just like how AC_PATH_{TOO,PROG}
|
||||
# would.
|
||||
$(foreach TOOL,$(cctools_TOOLS),$(eval darwin_$(TOOL) = $$(build_prefix)/bin/$$(host)-$(call lc,$(TOOL))))
|
||||
darwin_AR=llvm-ar
|
||||
darwin_DSYMUTIL=dsymutil
|
||||
darwin_NM=llvm-nm
|
||||
darwin_OBJDUMP=llvm-objdump
|
||||
darwin_RANLIB=llvm-ranlib
|
||||
darwin_STRIP=llvm-strip
|
||||
darwin_LIBTOOL=llvm-libtool-darwin
|
||||
|
||||
# Flag explanations:
|
||||
#
|
||||
|
@ -55,9 +46,7 @@ $(foreach TOOL,$(cctools_TOOLS),$(eval darwin_$(TOOL) = $$(build_prefix)/bin/$$(
|
|||
# Adds the desired paths from the SDK
|
||||
#
|
||||
|
||||
darwin_CC_=--target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
|
||||
-B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
|
||||
-isysroot$(OSX_SDK) \
|
||||
darwin_CC_=--target=$(host) \
|
||||
-isysroot$(OSX_SDK) -nostdlibinc \
|
||||
-iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
|
||||
darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
|
||||
|
@ -65,18 +54,18 @@ darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
|
|||
-u LIBRARY_PATH \
|
||||
$(clang_prog) $(darwin_CC_)
|
||||
|
||||
darwin_CXX_=--target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
|
||||
-B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
|
||||
-isysroot$(OSX_SDK) -nostdlibinc \
|
||||
-iwithsysroot/usr/include/c++/v1 \
|
||||
-iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
|
||||
darwin_CXX_=--target=$(host) \
|
||||
-isysroot$(OSX_SDK) -nostdlibinc \
|
||||
-iwithsysroot/usr/include/c++/v1 \
|
||||
-iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
|
||||
darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
|
||||
-u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \
|
||||
-u LIBRARY_PATH \
|
||||
$(clangxx_prog) $(darwin_CXX_)
|
||||
|
||||
darwin_CFLAGS=-pipe
|
||||
darwin_CXXFLAGS=-pipe -std=$(CXX_STANDARD)
|
||||
darwin_CFLAGS=-pipe -mmacosx-version-min=$(OSX_MIN_VERSION) -mlinker-version=$(LD64_VERSION)
|
||||
darwin_CXXFLAGS=-pipe -mmacosx-version-min=$(OSX_MIN_VERSION) -mlinker-version=$(LD64_VERSION)
|
||||
darwin_LDFLAGS=-Wl,-platform_version,macos,$(OSX_MIN_VERSION),$(OSX_SDK_VERSION) -fuse-ld=lld
|
||||
darwin_ARFLAGS=cr
|
||||
|
||||
darwin_release_CFLAGS=-O2
|
||||
|
|
28
contrib/depends/packages/abseil.mk
Normal file
28
contrib/depends/packages/abseil.mk
Normal file
|
@ -0,0 +1,28 @@
|
|||
package=abseil
|
||||
$(package)_version=$(native_$(package)_version)
|
||||
$(package)_download_path=$(native_$(package)_download_path)
|
||||
$(package)_download_file=$(native_$(package)_download_file)
|
||||
$(package)_file_name=$(native_$(package)_file_name)
|
||||
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
|
||||
$(package)_patches=no_librt.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_cxxflags+=-std=c++17
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 -i $($(package)_patch_dir)/no_librt.patch && \
|
||||
rm -rf absl/time/internal/cctz/testdata
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
|
@ -1,8 +1,8 @@
|
|||
package=appimage_runtime
|
||||
$(package)_version=c9553b05938b22849ac3255ac923bf8e775ce539
|
||||
$(package)_version=f6c0b18d42eb4aa629cc6a18d08c20cc67c80af8
|
||||
$(package)_download_path=https://github.com/AppImage/type2-runtime/archive/
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=4a27451013b571cf9f5a13660719d091cc79f2344aafa2e48578ddc0e4618af1
|
||||
$(package)_sha256_hash=746c2110049c4092dab9d8b788e2a9e98ec77ff9b8b09be844fce1dcdeb4c328
|
||||
$(package)_dependencies=libsquashfuse zstd
|
||||
$(package)_patches=depends-fix.patch
|
||||
|
||||
|
@ -13,11 +13,11 @@ endef
|
|||
define $(package)_build_cmds
|
||||
cd src/runtime && \
|
||||
export host_prefix="$(host_prefix)" && \
|
||||
$(MAKE) runtime-fuse3 -e CC=$($(package)_cc) LDLAGS="$($(package)_ldflags)" && \
|
||||
"${HOST}-strip" runtime-fuse3
|
||||
$(MAKE) runtime -e CC=$($(package)_cc) LDLAGS="$($(package)_ldflags)" && \
|
||||
"${HOST}-strip" runtime
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
cd src/runtime && \
|
||||
cp -a runtime-fuse3 $($(package)_staging_prefix_dir)/runtime
|
||||
endef
|
||||
cp -a runtime $($(package)_staging_prefix_dir)/runtime
|
||||
endef
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
package=boost
|
||||
$(package)_version=1.84.0
|
||||
$(package)_download_path=https://downloads.sourceforge.net/project/boost/boost/$($(package)_version)/
|
||||
$(package)_file_name=$(package)_$(subst .,_,$($(package)_version)).tar.bz2
|
||||
$(package)_sha256_hash=cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454
|
||||
$(package)_dependencies=libiconv
|
||||
$(package)_patches=disable_addr2line.patch
|
||||
$(package)_version=1.85.0
|
||||
$(package)_download_path=https://archives.boost.io/release/$($(package)_version)/source/
|
||||
$(package)_file_name=$(package)_$(subst .,_,$($(package)_version)).tar.gz
|
||||
$(package)_sha256_hash=be0d91732d5b0cc6fbb275c7939974457e79b54d6f07ce2e3dfdd68bef883b0b
|
||||
$(package)_patches=disable_addr2line.patch filesystem_macos_sdk.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=variant=release
|
||||
|
@ -21,7 +20,8 @@ $(package)_toolset_$(host_os)=gcc
|
|||
$(package)_archiver_$(host_os)=$($(package)_ar)
|
||||
$(package)_toolset_darwin=darwin
|
||||
$(package)_archiver_darwin=$($(package)_libtool)
|
||||
$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test,date_time,regex,serialization,locale,stacktrace
|
||||
$(package)_config_libraries_$(host_os)="chrono,filesystem,program_options,system,thread,test,date_time,regex,serialization,stacktrace"
|
||||
$(package)_config_libraries_mingw32="chrono,filesystem,program_options,system,thread,test,date_time,regex,serialization,stacktrace,locale"
|
||||
$(package)_cxxflags=-std=c++17
|
||||
$(package)_cxxflags_linux=-fPIC
|
||||
$(package)_cxxflags_freebsd=-fPIC
|
||||
|
@ -29,11 +29,12 @@ endef
|
|||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 -i $($(package)_patch_dir)/disable_addr2line.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/filesystem_macos_sdk.patch && \
|
||||
echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <arflags>\"$($(package)_arflags)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
./bootstrap.sh --without-icu --with-libraries=$(boost_config_libraries)
|
||||
./bootstrap.sh --without-icu --with-libraries=$(boost_config_libraries_$(host_os))
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=darwin_sdk
|
||||
$(package)_version=12.2
|
||||
$(package)_download_path=https://featherwallet.org/files/sources/
|
||||
$(package)_file_name=Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz
|
||||
$(package)_sha256_hash=332477876917786b26dd7c3fc1665d2c5cdca81c72755e6a9754f308de77d33b
|
||||
$(package)_version=15.0
|
||||
$(package)_download_path=https://bitcoincore.org/depends-sources/sdks
|
||||
$(package)_file_name=Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers.tar.gz
|
||||
$(package)_sha256_hash=c0c2e7bb92c1fee0c4e9f3a485e4530786732d6c6dd9e9f418c282aa6892f55d
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_staging_dir)/$(host_prefix)/native/SDK &&\
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
package=eudev
|
||||
$(package)_version=3.2.14
|
||||
$(package)_download_path=https://github.com/eudev-project/eudev/releases/download/v$($(package)_version)/
|
||||
$(package)_file_name=eudev-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-gudev --disable-introspection --disable-hwdb --disable-manpages --disable-shared
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmd
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cd $($(package)_build_subdir); autoreconf -f -i
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm lib/*.la
|
||||
endef
|
|
@ -1,21 +1,20 @@
|
|||
package=expat
|
||||
$(package)_version=2.6.0
|
||||
$(package)_version=2.7.0
|
||||
$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$($(package)_version))/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=ff60e6a6b6ce570ae012dc7b73169c7fdf4b6bf08c12ed0ec6f55736b78d85ba
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=362e89ca6b8a0d46fc5740a917eb2a8b4d6356edbe016eee09f49c0781215844
|
||||
$(package)_build_subdir=build
|
||||
|
||||
# -D_DEFAULT_SOURCE defines __USE_MISC, which exposes additional
|
||||
# definitions in endian.h, which are required for a working
|
||||
# endianess check in configure when building with -flto.
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --without-docbook --without-tests --without-examples
|
||||
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
|
||||
$(package)_config_opts += --without-xmlwf --with-pic
|
||||
$(package)_cppflags += -D_DEFAULT_SOURCE
|
||||
$(package)_config_opts := -DEXPAT_BUILD_TOOLS=OFF
|
||||
$(package)_config_opts += -DEXPAT_BUILD_EXAMPLES=OFF
|
||||
$(package)_config_opts += -DEXPAT_BUILD_TESTS=OFF
|
||||
$(package)_config_opts += -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts += -DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
$($(package)_cmake) -S .. -B .
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
@ -27,5 +26,5 @@ define $(package)_stage_cmds
|
|||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share lib/cmake lib/*.la
|
||||
endef
|
||||
rm -rf share lib/cmake
|
||||
endef
|
||||
|
|
|
@ -3,12 +3,17 @@ $(package)_version=a148fb86c30968eeb30dc6ac3384ad2a16690520
|
|||
$(package)_download_path=https://github.com/tobtoht/ln-guix-store/archive/
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=e9694fcda4f9fcb00374da7a439b881296c0ce67ea98ca44bf2830d1a364365b
|
||||
$(package)_patches=main.c main.S
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp -f $($(package)_patch_dir)/main.c $($(package)_patch_dir)/main.S .
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
zig build-exe ln-guix-store.zig -target x86_64-linux-none -OReleaseSmall
|
||||
$($(package)_cc) -nostdlib -fno-unwind-tables -fno-asynchronous-unwind-tables -fdata-sections -Wl,--gc-sections -Wa,--noexecstack -fno-builtin -fno-stack-protector -static -o startup main.c main.S
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_staging_prefix_dir)/bin && \
|
||||
cp ln-guix-store $($(package)_staging_prefix_dir)/bin/startup
|
||||
cp startup $($(package)_staging_prefix_dir)/bin/
|
||||
endef
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=fontconfig
|
||||
$(package)_version=2.12.6
|
||||
$(package)_download_path=https://www.freedesktop.org/software/fontconfig/release/
|
||||
$(package)_file_name=fontconfig-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=cf0c30807d08f6a28ab46c61b8dbd55c97d2f292cf88f3a07d3384687f31f017
|
||||
$(package)_file_name=fontconfig-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=064b9ebf060c9e77011733ac9dc0e2ce92870b574cca2405e11f5353a683c334
|
||||
$(package)_dependencies=freetype expat
|
||||
$(package)_patches=gperf_header_regen.patch
|
||||
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
package=freetype
|
||||
$(package)_version=2.13.2
|
||||
$(package)_version=2.13.3
|
||||
$(package)_download_path=https://sourceforge.net/projects/freetype/files/freetype2/$($(package)_version)/
|
||||
$(package)_file_name=freetype-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d
|
||||
$(package)_file_name=freetype-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=5c3a8e78f7b24c20b25b54ee575d6daa40007a5f4eea2845861c3409b3021747
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts = --without-zlib --without-png --without-harfbuzz --without-bzip2 --enable-static --disable-shared
|
||||
$(package)_config_opts := --without-zlib --without-png --without-harfbuzz --without-bzip2 --enable-static --disable-shared
|
||||
$(package)_config_opts += --enable-option-checking --without-brotli
|
||||
$(package)_config_opts += --with-pic
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf docs
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
printenv && \
|
||||
echo "$($(package)_autoconf)" && \
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
|
|
|
@ -3,10 +3,16 @@ $(package)_version=0.14.0
|
|||
$(package)_download_path=https://github.com/libusb/hidapi/archive/refs/tags
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=a5714234abe6e1f53647dd8cba7d69f65f71c558b7896ed218864ffcf405bcbd
|
||||
$(package)_linux_dependencies=libusb eudev
|
||||
$(package)_linux_dependencies=libusb
|
||||
$(package)_patches=cmake-fix-libusb.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts+=-DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts := -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts += -DHIDAPI_WITH_HIDRAW=OFF
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/cmake-fix-libusb.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
|
|
@ -1,34 +1,37 @@
|
|||
package=libXau
|
||||
$(package)_version=1.0.11
|
||||
$(package)_version=1.0.12
|
||||
$(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
|
||||
$(package)_file_name=libXau-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=f3fa3282f5570c3f6bd620244438dbfbdd580fc80f02f549587a0f8ab329bbeb
|
||||
$(package)_file_name=libXau-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=2402dd938da4d0a332349ab3d3586606175e19cb32cb9fe013c19f1dc922dcee
|
||||
$(package)_dependencies=xorgproto
|
||||
|
||||
# When updating this package, check the default value of
|
||||
# --disable-xthreads. It is currently enabled.
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --disable-lint-library --without-lint
|
||||
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
|
||||
$(package)_config_opts += --with-pic
|
||||
endef
|
||||
$(package)_patches=toolchain.txt
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||
rm Makefile.in aclocal.m4 compile config.guess config.h.in config.sub configure depcomp \
|
||||
install-sh ltmain.sh missing test-driver man/Makefile.in && \
|
||||
rm -rf m4 && \
|
||||
cp $($(package)_patch_dir)/toolchain.txt toolchain.txt && \
|
||||
sed -i -e 's|@host_prefix@|$(host_prefix)|' \
|
||||
-e 's|@cc@|$($(package)_cc)|' \
|
||||
-e 's|@cxx@|$($(package)_cxx)|' \
|
||||
-e 's|@ar@|$($(package)_ar)|' \
|
||||
-e 's|@strip@|$(host_STRIP)|' \
|
||||
-e 's|@arch@|$(host_arch)|' \
|
||||
toolchain.txt
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
meson setup --cross-file toolchain.txt build
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
ninja -C build
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
DESTDIR=$($(package)_staging_dir) ninja -C build install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share lib/*.la
|
||||
sed -i 's/Requires: xproto//g' lib/pkgconfig/xau.pc
|
||||
endef
|
||||
|
|
27
contrib/depends/packages/libffi.mk
Normal file
27
contrib/depends/packages/libffi.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
package=libffi
|
||||
$(package)_version=3.4.7
|
||||
$(package)_download_path := https://github.com/libffi/$(package)/releases/download/v$($(package)_version)
|
||||
$(package)_file_name := libffi-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash := 138607dee268bdecf374adf9144c00e839e38541f75f24a1fcf18b78fda48b2d
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := --enable-option-checking --disable-dependency-tracking
|
||||
$(package)_config_opts += --disable-shared --enable-static --disable-docs
|
||||
$(package)_config_opts += --disable-multi-os-directory
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share
|
||||
endef
|
|
@ -1,28 +1,23 @@
|
|||
package=libgcrypt
|
||||
$(package)_version=1.10.3
|
||||
$(package)_version=1.11.0
|
||||
$(package)_download_path=https://www.gnupg.org/ftp/gcrypt/libgcrypt/
|
||||
$(package)_file_name=libgcrypt-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa
|
||||
$(package)_file_name=libgcrypt-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=2382891207d3b000b20c81dbf2036516a535d31abd80f57d455e711e1dde5ff5
|
||||
$(package)_dependencies=libgpg-error
|
||||
$(package)_patches=no-programs.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_build_opts=CFLAGS="-fPIE"
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/no-programs.patch && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux
|
||||
endef
|
||||
|
||||
# TODO: building on linux with $($(package)_autoconf) fails for mysterious reasons
|
||||
ifeq ($(host_os),linux)
|
||||
define $(package)_config_cmds
|
||||
CFLAGS='-fPIE' CXXFLAGS='-fPIE' ./configure --host=$(host) --enable-digests="sha256 blake2" --enable-ciphers="aes chacha20" --disable-amd64-as-feature-detection --disable-asm --disable-avx-support --disable-avx2-support --disable-sse41-support --disable-shared --enable-static --disable-doc --with-libgpg-error-prefix=$(host_prefix) --prefix=$(host_prefix)
|
||||
$($(package)_autoconf) --disable-shared --enable-static --disable-tests --disable-doc --disable-asm --with-libgpg-error-prefix=$(host_prefix)
|
||||
endef
|
||||
else
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf) --disable-shared --enable-static --disable-doc --disable-asm --with-libgpg-error-prefix=$(host_prefix)
|
||||
endef
|
||||
endif
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) $($(package)_build_opts)
|
||||
|
|
|
@ -1,25 +1,31 @@
|
|||
package=libgpg-error
|
||||
$(package)_version=1.48
|
||||
$(package)_version=1.50
|
||||
$(package)_download_path=https://www.gnupg.org/ftp/gcrypt/libgpg-error/
|
||||
$(package)_file_name=libgpg-error-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f
|
||||
$(package)_file_name=libgpg-error-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=34a3b36ec8ad830f8f3ceb5db583d1f6dc8ae4c31d04f6da18ea18dd95396ab0
|
||||
$(package)_patches=declare_environ_macos.patch no-programs.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_build_opts=CFLAGS="-fPIE"
|
||||
$(package)_config_opts := --enable-static --disable-shared
|
||||
$(package)_config_opts += --disable-doc --disable-tests
|
||||
$(package)_config_opts += --enable-install-gpg-error-config
|
||||
$(package)_build_opts := CFLAGS="-fPIE"
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/declare_environ_macos.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/no-programs.patch && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf) --enable-static --disable-shared --enable-install-gpg-error-config
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) $($(package)_build_opts)
|
||||
$(MAKE) $($(package)_build_opts)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
package=libiconv
|
||||
$(package)_version=1.17
|
||||
$(package)_download_path=https://ftp.gnu.org/gnu/libiconv
|
||||
$(package)_file_name=libiconv-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-nls
|
||||
$(package)_config_opts=--enable-static
|
||||
$(package)_config_opts=--disable-shared
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
$(package)_config_opts_freebsd=--with-pic
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm lib/*.la
|
||||
endef
|
|
@ -1,8 +1,8 @@
|
|||
package=sodium
|
||||
$(package)_version=1.0.19
|
||||
package=libsodium
|
||||
$(package)_version=1.0.20
|
||||
$(package)_download_path=https://download.libsodium.org/libsodium/releases/
|
||||
$(package)_file_name=libsodium-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea
|
||||
$(package)_sha256_hash=ebb65ef6ca439333c2bb41a0c1990587288da07f6c7fd07cb3a18cc18d30ce19
|
||||
$(package)_patches += fix-blake2b-symbol-naming.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
|
@ -11,9 +11,9 @@ define $(package)_set_vars
|
|||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf builds/msvc &&\
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux/ && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix-blake2b-symbol-naming.patch && \
|
||||
autoconf
|
||||
patch -p1 -i $($(package)_patch_dir)/fix-blake2b-symbol-naming.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
|
@ -1,14 +1,10 @@
|
|||
package=libsquashfuse
|
||||
$(package)_version=e51978cd6bb5c4d16fae9eee43d0b258f570bb0f
|
||||
$(package)_download_path=https://github.com/vasi/squashfuse/archive/
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=f544029ad30d8fbde4e4540c574b8cdc6d38b94df025a98d8551a9441f07d341
|
||||
$(package)_version=0.5.2
|
||||
$(package)_download_path=https://github.com/vasi/squashfuse/releases/download/$($(package)_version)
|
||||
$(package)_file_name=squashfuse-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=54e4baaa20796e86a214a1f62bab07c7c361fb7a598375576d585712691178f5
|
||||
$(package)_dependencies=libfuse zstd
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
./autogen.sh
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf) --with-zstd=$(host_prefix) --without-zlib CFLAGS=-no-pie LDFLAGS=-static
|
||||
endef
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
package=libusb
|
||||
$(package)_version=1.0.27
|
||||
$(package)_download_path=https://github.com/libusb/libusb/releases/download/v$($(package)_version)
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575
|
||||
$(package)_download_path=https://github.com/libusb/libusb/archive/refs/tags
|
||||
$(package)_download_file=v$($(package)_version).tar.gz
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=e8f18a7a36ecbb11fb820bd71540350d8f61bcd9db0d2e8c18a6fb80b214a3de
|
||||
$(package)_patches=CMakeLists.txt config.h.in
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . && \
|
||||
autoreconf -i
|
||||
cp -f $($(package)_patch_dir)/CMakeLists.txt . && \
|
||||
cp -f $($(package)_patch_dir)/config.h.in .
|
||||
endef
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared
|
||||
$(package)_config_opts_linux=--with-pic --disable-udev
|
||||
$(package)_config_opts_mingw32=--disable-udev
|
||||
$(package)_config_opts_darwin=--disable-udev
|
||||
$(package)_config_opts := -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts_linux += -DLIBUSB_ENABLE_UDEV=OFF
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
$($(package)_cmake) .
|
||||
endef
|
||||
|
||||
define $(package)_build_cmd
|
||||
|
@ -27,7 +27,3 @@ endef
|
|||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
cp -f lib/libusb-1.0.a lib/libusb.a
|
||||
endef
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=libxcb
|
||||
$(package)_version=1.16
|
||||
$(package)_version=1.17.0
|
||||
$(package)_download_path=https://xcb.freedesktop.org/dist
|
||||
$(package)_file_name=libxcb-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=4348566aa0fbf196db5e0a576321c65966189210cb51328ea2bb2be39c711d71
|
||||
$(package)_file_name=libxcb-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=2c69287424c9e2128cb47ffe92171e10417041ec2963bceafb65cb3fcf8f0b85
|
||||
$(package)_dependencies=xcb_proto libXau
|
||||
$(package)_patches = remove_pthread_stubs.patch
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
package=libxcb_util_cursor
|
||||
$(package)_version=0.1.4
|
||||
$(package)_version=0.1.5
|
||||
$(package)_download_path=https://xcb.freedesktop.org/dist
|
||||
$(package)_file_name=xcb-util-cursor-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=cc8608ebb695742b6cf84712be29b2b66aa5f6768039528794fca0fa283022bf
|
||||
$(package)_sha256_hash=0e9c5446dc6f3beb8af6ebfcc9e27bcc6da6fe2860f7fc07b99144dfa568e93b
|
||||
$(package)_dependencies=libxcb libxcb_util_render libxcb_util_image
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --disable-devel-docs --without-doxygen
|
||||
$(package)_config_opts := --disable-shared --disable-devel-docs --without-doxygen
|
||||
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking
|
||||
endef
|
||||
|
||||
|
|
|
@ -12,9 +12,9 @@ $(package)_config_opts+= --disable-dependency-tracking --enable-option-checking
|
|||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf test && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no-tests.patch && \
|
||||
autoreconf -i
|
||||
patch -p1 -i $($(package)_patch_dir)/no-tests.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=libxkbcommon
|
||||
$(package)_version=1.6.0
|
||||
$(package)_download_path=https://xkbcommon.org/download/
|
||||
$(package)_file_name=libxkbcommon-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=0edc14eccdd391514458bc5f5a4b99863ed2d651e4dd761a90abf4f46ef99c2b
|
||||
$(package)_version=1.8.1
|
||||
$(package)_download_path=https://github.com/xkbcommon/libxkbcommon/archive/refs/tags
|
||||
$(package)_file_name=xkbcommon-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=c65c668810db305c4454ba26a10b6d84a96b5469719fe3c729e1c6542b8d0d87
|
||||
$(package)_dependencies=libxcb
|
||||
$(package)_patches=no-test-x11.patch toolchain.txt
|
||||
|
||||
|
@ -19,7 +19,7 @@ define $(package)_preprocess_cmds
|
|||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
meson setup --cross-file toolchain.txt build
|
||||
meson setup --cross-file toolchain.txt build -Dxkb-config-root=/usr/share/X11/xkb -Dxkb-config-extra-path=/app/share/X11/xkb
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
|
|
@ -1,17 +1,33 @@
|
|||
package=libzip
|
||||
$(package)_version=1.10.1
|
||||
$(package)_version=1.11.3
|
||||
$(package)_download_path=https://libzip.org/download/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=dc3c8d5b4c8bbd09626864f6bcf93de701540f761d76b85d7c7d710f4bd90318
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=76653f135dde3036036c500e11861648ffbf9e1fc5b233ff473c60897d9db0ea
|
||||
$(package)_dependencies=zlib
|
||||
$(package)_patches += no-clonefile.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := -DENABLE_BZIP2=OFF
|
||||
$(package)_config_opts += -DENABLE_LZMA=OFF
|
||||
$(package)_config_opts += -DENABLE_ZSTD=OFF
|
||||
$(package)_config_opts += -DENABLE_COMMONCRYPTO=OFF
|
||||
$(package)_config_opts += -DENABLE_GNUTLS=OFF
|
||||
$(package)_config_opts += -DENABLE_MBEDTLS=OFF
|
||||
$(package)_config_opts += -DENABLE_OPENSSL=OFF
|
||||
$(package)_config_opts += -DENABLE_WINDOWS_CRYPTO=OFF
|
||||
$(package)_config_opts += -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts += -DBUILD_TOOLS=OFF
|
||||
$(package)_config_opts += -DBUILD_REGRESS=OFF
|
||||
$(package)_config_opts += -DBUILD_OSSFUZZ=OFF
|
||||
$(package)_config_opts += -DBUILD_EXAMPLES=OFF
|
||||
$(package)_config_opts += -DBUILD_DOC=OFF
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/no-clonefile.patch
|
||||
rm -rf regress ossfuzz
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake) -DZLIB_ROOT=$(host_prefix) -DENABLE_BZIP2=Off -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=$(host_prefix) .
|
||||
$($(package)_cmake) .
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
@ -20,4 +36,4 @@ endef
|
|||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
endef
|
||||
|
|
22
contrib/depends/packages/native_abseil.mk
Normal file
22
contrib/depends/packages/native_abseil.mk
Normal file
|
@ -0,0 +1,22 @@
|
|||
package=native_abseil
|
||||
$(package)_version=20250127.0
|
||||
$(package)_download_path=https://github.com/abseil/abseil-cpp/archive/refs/tags/
|
||||
$(package)_download_file=$($(package)_version).tar.gz
|
||||
$(package)_file_name=abseil-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=16242f394245627e508ec6bb296b433c90f8d914f73b9c026fddb905e27276e8
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake)
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf absl/time/internal/cctz/testdata
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
|
@ -1,36 +0,0 @@
|
|||
package=native_cctools
|
||||
$(package)_version=2ef2e931cf641547eb8a68cfebde61003587c9fd
|
||||
$(package)_download_path=https://github.com/tpoechtrager/cctools-port/archive
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=6b73269efdf5c58a070e7357b66ee760501388549d6a12b423723f45888b074b
|
||||
$(package)_build_subdir=cctools
|
||||
$(package)_dependencies=native_libtapi
|
||||
$(package)_patches=no-build-date.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--target=$(host)
|
||||
$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
|
||||
$(package)_cc=$(clang_prog)
|
||||
$(package)_cxx=$(clangxx_prog)
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/no-build-date.patch && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub cctools
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share
|
||||
endef
|
30
contrib/depends/packages/native_expat.mk
Normal file
30
contrib/depends/packages/native_expat.mk
Normal file
|
@ -0,0 +1,30 @@
|
|||
package=native_expat
|
||||
$(package)_version=2.7.0
|
||||
$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$($(package)_version))/
|
||||
$(package)_file_name=expat-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=362e89ca6b8a0d46fc5740a917eb2a8b4d6356edbe016eee09f49c0781215844
|
||||
$(package)_build_subdir=build
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := -DEXPAT_BUILD_TOOLS=OFF
|
||||
$(package)_config_opts += -DEXPAT_BUILD_EXAMPLES=OFF
|
||||
$(package)_config_opts += -DEXPAT_BUILD_TESTS=OFF
|
||||
$(package)_config_opts += -DBUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts += -DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_cmake) -S .. -B .
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share lib/cmake
|
||||
endef
|
27
contrib/depends/packages/native_libffi.mk
Normal file
27
contrib/depends/packages/native_libffi.mk
Normal file
|
@ -0,0 +1,27 @@
|
|||
package=native_libffi
|
||||
$(package)_version=3.4.7
|
||||
$(package)_download_path := https://github.com/libffi/libffi/releases/download/v$($(package)_version)
|
||||
$(package)_file_name := libffi-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash := 138607dee268bdecf374adf9144c00e839e38541f75f24a1fcf18b78fda48b2d
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts := --enable-option-checking --disable-dependency-tracking
|
||||
$(package)_config_opts += --enable-shared --disable-static --disable-docs
|
||||
$(package)_config_opts += --disable-multi-os-directory
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share
|
||||
endef
|
|
@ -1,20 +0,0 @@
|
|||
package=native_libtapi
|
||||
$(package)_version=664b8414f89612f2dfd35a9b679c345aa5389026
|
||||
$(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=62e419c12d1c9fad67cc1cd523132bc00db050998337c734c15bc8d73cc02b61
|
||||
$(package)_patches=no_embed_git_rev.patch
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 -i $($(package)_patch_dir)/no_embed_git_rev.patch
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
CC=$(clang_prog) CXX=$(clangxx_prog) INSTALLPREFIX=$($(package)_staging_prefix_dir) ./build.sh
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
./install.sh && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/include/llvm-c && \
|
||||
cp src/llvm/include/llvm-c/lto.h $($(package)_staging_prefix_dir)/include/llvm-c
|
||||
endef
|
|
@ -1,27 +1,34 @@
|
|||
package=native_protobuf
|
||||
$(package)_version=3.21.12
|
||||
$(package)_download_path=https://github.com/protocolbuffers/protobuf/releases/download/v21.12/
|
||||
$(package)_file_name=protobuf-cpp-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460
|
||||
$(package)_cxxflags=-std=c++11
|
||||
$(package)_version=29.1
|
||||
$(package)_download_path=https://github.com/protocolbuffers/protobuf/releases/download/v$($(package)_version)
|
||||
$(package)_file_name=protobuf-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=3d32940e975c4ad9b8ba69640e78f5527075bae33ca2890275bf26b853c0962c
|
||||
$(package)_dependencies=native_abseil
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --prefix=$(build_prefix)
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
$(package)_cxxflags+=-std=c++17
|
||||
$(package)_config_opts=-Dprotobuf_BUILD_TESTS=OFF
|
||||
$(package)_config_opts+=-Dprotobuf_ABSL_PROVIDER=package
|
||||
$(package)_config_opts+=-Dprotobuf_BUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts+=-Dprotobuf_WITH_ZLIB=OFF
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf examples docs php/src/GPBMetadata compatibility objectivec/Tests csharp/keys php/tests src/google/protobuf/testdata csharp/src/Google.Protobuf.Test
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
$($(package)_cmake)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C src
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) -C src install
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm lib/libprotoc.a
|
||||
rm -rf lib64
|
||||
endef
|
||||
|
|
|
@ -1,33 +1,37 @@
|
|||
package=native_qt
|
||||
$(package)_version=6.6.2
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.6/$($(package)_version)/submodules
|
||||
$(package)_version=6.9.0
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.9/$($(package)_version)/submodules
|
||||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=b89b426b9852a17d3e96230ab0871346574d635c7914480a2a27f98ff942677b
|
||||
$(package)_sha256_hash=c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c
|
||||
$(package)_linux_dependencies=native_wayland
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_patches = dont_hardcode_pwd.patch
|
||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||
$(package)_patches = fast_fixed_dtoa_no_optimize.patch
|
||||
$(package)_patches += guix_cross_lib_path.patch
|
||||
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
|
||||
$(package)_patches += rcc_hardcode_timestamp.patch
|
||||
$(package)_patches += root_CMakeLists.txt
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=e6d49e9f52111287f77878ecb8b708cce682f10b03ba2476d9247603bc6c4746
|
||||
$(package)_qttools_sha256_hash=fa645589cc3f939022401a926825972a44277dead8ec8607d9f2662e6529c9a4
|
||||
|
||||
$(package)_qtsvg_file_name=qtsvg-$($(package)_suffix)
|
||||
$(package)_qtsvg_sha256_hash=5a231d59ef1b42bfbaa5174d4ff39f8e1b4ba070ef984a70b069b4b2576d8181
|
||||
$(package)_qtsvg_sha256_hash=ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc
|
||||
|
||||
$(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix)
|
||||
$(package)_qtmultimedia_sha256_hash=e2942599ba0ae106ab3e4f82d6633e8fc1943f8a35d91f99d1fca46d251804ec
|
||||
$(package)_qtmultimedia_sha256_hash=995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c
|
||||
|
||||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=628bead7ff4e7f42cb910f47d2adefbdea0d8c71a0234baef8ca709bf467b92f
|
||||
$(package)_qtshadertools_sha256_hash=916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb
|
||||
|
||||
$(package)_qtwayland_file_name=qtwayland-$($(package)_suffix)
|
||||
$(package)_qtwayland_sha256_hash=503416fcb04db503bd130e6a49c45e3e546f091e83406f774a0c703130c91805
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtmultimedia_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtshadertools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtwayland_file_name)
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts_release = -release
|
||||
|
@ -101,6 +105,7 @@ $(package)_config_opts += -no-openssl
|
|||
$(package)_config_opts += -no-openvg
|
||||
$(package)_config_opts += -no-pch
|
||||
$(package)_config_opts += -no-reduce-relocations
|
||||
$(package)_config_opts += -no-sbom
|
||||
$(package)_config_opts += -no-schannel
|
||||
$(package)_config_opts += -no-sctp
|
||||
$(package)_config_opts += -no-securetransport
|
||||
|
@ -112,6 +117,9 @@ $(package)_config_opts += -no-zstd
|
|||
ifneq ($(LTO),)
|
||||
$(package)_config_opts += -ltcg
|
||||
endif
|
||||
|
||||
$(package)_config_env := CC="$$($(package)_cc)"
|
||||
$(package)_config_env += CXX="$$($(package)_cxx)"
|
||||
endef
|
||||
|
||||
define $(package)_fetch_cmds
|
||||
|
@ -119,7 +127,8 @@ $(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_f
|
|||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtsvg_file_name),$($(package)_qtsvg_file_name),$($(package)_qtsvg_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash))
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtwayland_file_name),$($(package)_qtwayland_file_name),$($(package)_qtwayland_sha256_hash))
|
||||
endef
|
||||
|
||||
define $(package)_extract_cmds
|
||||
|
@ -129,6 +138,7 @@ define $(package)_extract_cmds
|
|||
echo "$($(package)_qtsvg_sha256_hash) $($(package)_source_dir)/$($(package)_qtsvg_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtmultimedia_sha256_hash) $($(package)_source_dir)/$($(package)_qtmultimedia_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtshadertools_sha256_hash) $($(package)_source_dir)/$($(package)_qtshadertools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtwayland_sha256_hash) $($(package)_source_dir)/$($(package)_qtwayland_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
mkdir qtbase && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \
|
||||
|
@ -139,12 +149,13 @@ define $(package)_extract_cmds
|
|||
mkdir qtmultimedia && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtmultimedia_file_name) -C qtmultimedia && \
|
||||
mkdir qtshadertools && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools && \
|
||||
mkdir qtwayland && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtwayland_file_name) -C qtwayland
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp $($(package)_patch_dir)/root_CMakeLists.txt CMakeLists.txt && \
|
||||
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fast_fixed_dtoa_no_optimize.patch && \
|
||||
|
@ -156,7 +167,6 @@ define $(package)_config_cmds
|
|||
export PKG_CONFIG_LIBDIR=$(build_prefix)/lib/pkgconfig && \
|
||||
export QT_MAC_SDK_NO_VERSION_CHECK=1 && \
|
||||
unset CMAKE_PREFIX_PATH && \
|
||||
export CMAKE_PREFIX_PATH="$(QT_LIBS)" && \
|
||||
cd qtbase && \
|
||||
./configure -top-level $($(package)_config_opts)
|
||||
endef
|
||||
|
|
18
contrib/depends/packages/native_wayland.mk
Normal file
18
contrib/depends/packages/native_wayland.mk
Normal file
|
@ -0,0 +1,18 @@
|
|||
package=native_wayland
|
||||
$(package)_version=1.23.1
|
||||
$(package)_download_path := https://gitlab.freedesktop.org/wayland/wayland/-/releases/$($(package)_version)/downloads/
|
||||
$(package)_file_name := wayland-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash := 864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed
|
||||
$(package)_dependencies := native_expat native_libffi
|
||||
|
||||
define $(package)_config_cmds
|
||||
meson setup build -Dprefix="$(build_prefix)" -Ddtd_validation=false -Ddocumentation=false -Dtests=false
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
ninja -C build
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
DESTDIR=$($(package)_staging_dir) ninja -C build install
|
||||
endef
|
|
@ -1,14 +1,15 @@
|
|||
package=openssl
|
||||
$(package)_version=3.2.1
|
||||
$(package)_download_path=https://www.openssl.org/source
|
||||
$(package)_version=3.4.1
|
||||
$(package)_download_path=https://github.com/openssl/openssl/releases/download/openssl-$($(package)_version)
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39
|
||||
$(package)_sha256_hash=002a2d6b30b58bf4bea46c43bdd96365aaf8daa6c428782aa4feee06da197df3
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_env=AR="$($(package)_ar)" ARFLAGS=$($(package)_arflags) RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
|
||||
$(package)_config_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native" PATH="$(host_prefix)/native/bin" CC=clang AR=ar RANLIB=ranlib
|
||||
$(package)_build_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native"
|
||||
$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl --libdir=$(host_prefix)/lib
|
||||
$(package)_config_opts+=no-apps
|
||||
$(package)_config_opts+=no-capieng
|
||||
$(package)_config_opts+=no-dso
|
||||
$(package)_config_opts+=no-dtls1
|
||||
|
@ -49,7 +50,8 @@ $(package)_config_opts_x86_64_freebsd=BSD-x86_64
|
|||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
sed -i.old 's|crypto ssl apps util tools fuzz providers doc|crypto ssl util tools providers|' build.info
|
||||
sed -i.old 's|crypto ssl apps util tools fuzz providers doc|crypto ssl util tools providers|' build.info &&\
|
||||
rm -rf doc demos apps test
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
packages := boost openssl libiconv unbound qrencode sodium polyseed hidapi protobuf libusb zlib libgpg-error libgcrypt expat libzip zxing-cpp
|
||||
native_packages := native_qt native_protobuf
|
||||
packages := boost openssl unbound qrencode libsodium polyseed hidapi abseil protobuf libusb zlib libgpg-error libgcrypt expat libzip zxing-cpp
|
||||
native_packages := native_qt native_abseil native_protobuf
|
||||
|
||||
linux_packages := eudev libfuse libsquashfuse zstd appimage_runtime
|
||||
linux_native_packages =
|
||||
linux_packages := libfuse libsquashfuse zstd appimage_runtime wayland libffi
|
||||
linux_native_packages := native_expat native_libffi native_wayland
|
||||
|
||||
x86_64_linux_packages := flatstart
|
||||
|
||||
darwin_packages :=
|
||||
darwin_native_packages = darwin_sdk native_cctools native_libtapi
|
||||
darwin_native_packages = darwin_sdk
|
||||
|
||||
mingw32_packages =
|
||||
mingw32_native_packages =
|
||||
|
@ -18,4 +18,4 @@ qt_mingw32_packages := qt
|
|||
|
||||
tor_linux_packages := libevent tor_linux
|
||||
tor_darwin_packages := tor_darwin
|
||||
tor_mingw32_packages := tor_mingw32
|
||||
tor_mingw32_packages := tor_mingw32
|
||||
|
|
|
@ -3,32 +3,30 @@ $(package)_version=$(native_$(package)_version)
|
|||
$(package)_download_path=$(native_$(package)_download_path)
|
||||
$(package)_file_name=$(native_$(package)_file_name)
|
||||
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
|
||||
$(package)_dependencies=native_$(package)
|
||||
$(package)_cxxflags=-std=c++11
|
||||
$(package)_dependencies=abseil
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
|
||||
$(package)_config_opts_linux=--with-pic
|
||||
$(package)_cxxflags+=-std=c++17
|
||||
$(package)_config_opts=-Dprotobuf_ABSL_PROVIDER=package
|
||||
$(package)_config_opts+=-Dprotobuf_BUILD_TESTS=OFF
|
||||
$(package)_config_opts+=-Dprotobuf_BUILD_SHARED_LIBS=OFF
|
||||
$(package)_config_opts+=-Dprotobuf_BUILD_PROTOC_BINARIES=OFF
|
||||
$(package)_config_opts+=-Dprotobuf_WITH_ZLIB=OFF
|
||||
$(package)_config_opts+=-Dprotobuf_BUILD_LIBUPB=OFF
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf docs php/src/GPBMetadata compatibility objectivec/Tests csharp/keys php/tests src/google/protobuf/testdata csharp/src/Google.Protobuf.Test
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub ./third_party/googletest/googletest/build-aux/ && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub ./third_party/googletest/googlemock/build-aux/ && \
|
||||
$($(package)_autoconf)
|
||||
$($(package)_cmake)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C src libprotobuf.la
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm lib/libprotoc.a &&\
|
||||
rm lib/*.la
|
||||
endef
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=qrencode
|
||||
$(package)_version=4.1.1
|
||||
$(package)_download_path=https://fukuchi.org/works/qrencode/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=e455d9732f8041cf5b9c388e345a641fd15707860f928e94507b1961256a6923
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=da448ed4f52aba6bcb0cd48cac0dd51b8692bccc4cd127431402fca6f8171e8e
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --without-tools --without-tests --disable-sdltest
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
package=qt
|
||||
$(package)_version=6.6.2
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.6/$($(package)_version)/submodules
|
||||
$(package)_version=6.9.0
|
||||
$(package)_download_path=https://download.qt.io/official_releases/qt/6.9/$($(package)_version)/submodules
|
||||
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||
$(package)_sha256_hash=b89b426b9852a17d3e96230ab0871346574d635c7914480a2a27f98ff942677b
|
||||
$(package)_darwin_dependencies=native_cctools native_qt openssl
|
||||
$(package)_sha256_hash=c1800c2ea835801af04a05d4a32321d79a93954ee3ae2172bbeacf13d1f0598c
|
||||
$(package)_darwin_dependencies=openssl native_qt
|
||||
$(package)_mingw32_dependencies=openssl native_qt
|
||||
$(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus
|
||||
$(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus wayland native_wayland
|
||||
$(package)_patches += fast_fixed_dtoa_no_optimize.patch
|
||||
$(package)_patches += guix_cross_lib_path.patch
|
||||
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
|
||||
|
@ -15,34 +15,41 @@ $(package)_patches += rcc_hardcode_timestamp.patch
|
|||
$(package)_patches += root_CMakeLists.txt
|
||||
$(package)_patches += v4l2.patch
|
||||
$(package)_patches += windows_func_fix.patch
|
||||
$(package)_patches += revert_f99ee441.patch
|
||||
$(package)_patches += xcb-util-image-fix.patch
|
||||
$(package)_patches += libxau-fix.patch
|
||||
$(package)_patches += toolchain.cmake
|
||||
$(package)_patches += revert-macOS-Silence-warning-about-supporting-secure.patch
|
||||
$(package)_patches += no-resonance-audio.patch
|
||||
$(package)_patches += fix_static_qt_darwin_camera_permissions.patch
|
||||
$(package)_patches += macos-available-qtbase.patch
|
||||
$(package)_patches += macos-available-qtmultimedia.patch
|
||||
$(package)_patches += qtwayland-tabletevent-fix.patch
|
||||
#$(package)_patches += fix-static-fontconfig-static-linking.patch
|
||||
|
||||
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||
$(package)_qttools_sha256_hash=e6d49e9f52111287f77878ecb8b708cce682f10b03ba2476d9247603bc6c4746
|
||||
$(package)_qttools_sha256_hash=fa645589cc3f939022401a926825972a44277dead8ec8607d9f2662e6529c9a4
|
||||
|
||||
$(package)_qtsvg_file_name=qtsvg-$($(package)_suffix)
|
||||
$(package)_qtsvg_sha256_hash=5a231d59ef1b42bfbaa5174d4ff39f8e1b4ba070ef984a70b069b4b2576d8181
|
||||
$(package)_qtsvg_sha256_hash=ec359d930c95935ea48af58b100c2f5d0d275968ec8ca1e0e76629b7159215fc
|
||||
|
||||
$(package)_qtwebsockets_file_name=qtwebsockets-$($(package)_suffix)
|
||||
$(package)_qtwebsockets_sha256_hash=c0e6ea9bc8db4290bb43e683fb3d639055fe91258f357980eb6ef5abab4438f9
|
||||
$(package)_qtwebsockets_sha256_hash=6b3add7cacf3a4e0b448d5e69d9dac42795fef63309038af1dc5a454ce514940
|
||||
|
||||
$(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix)
|
||||
$(package)_qtmultimedia_sha256_hash=e2942599ba0ae106ab3e4f82d6633e8fc1943f8a35d91f99d1fca46d251804ec
|
||||
$(package)_qtmultimedia_sha256_hash=995c3b194f3de3e1929280639642f7661d94aa57523c459dbbf2f71dbdcaa18c
|
||||
|
||||
$(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix)
|
||||
$(package)_qtshadertools_sha256_hash=628bead7ff4e7f42cb910f47d2adefbdea0d8c71a0234baef8ca709bf467b92f
|
||||
$(package)_qtshadertools_sha256_hash=916c40281ac3dee23b163f6ca73fb5bdeee344838b9a922b6f36269642d6f4bb
|
||||
|
||||
$(package)_qtwayland_file_name=qtwayland-$($(package)_suffix)
|
||||
$(package)_qtwayland_sha256_hash=503416fcb04db503bd130e6a49c45e3e546f091e83406f774a0c703130c91805
|
||||
|
||||
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtsvg_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtwebsockets_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtmultimedia_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtshadertools_file_name)
|
||||
$(package)_extra_sources += $($(package)_qtwayland_file_name)
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts += -DQT_HOST_PATH=$(build_prefix)/qt-host
|
||||
|
@ -52,91 +59,116 @@ $(package)_config_opts += -DCMAKE_INSTALL_PREFIX=$(host_prefix)
|
|||
$(package)_config_opts += -DINSTALL_LIBEXECDIR=$(build_prefix)/bin
|
||||
$(package)_config_opts += -DQT_BUILD_EXAMPLES=FALSE
|
||||
$(package)_config_opts += -DQT_BUILD_TESTS=FALSE
|
||||
$(package)_config_opts += -DQT_GENERATE_SBOM=OFF
|
||||
$(package)_config_opts += -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
|
||||
|
||||
$(package)_config_opts += -DINPUT_cups=no
|
||||
$(package)_config_opts += -DINPUT_egl=no
|
||||
$(package)_config_opts += -DINPUT_eglfs=no
|
||||
$(package)_config_opts += -DINPUT_evdev=no
|
||||
$(package)_config_opts += -DINPUT_gif=no
|
||||
$(package)_config_opts += -DINPUT_glib=no
|
||||
$(package)_config_opts += -DINPUT_icu=no
|
||||
$(package)_config_opts += -DINPUT_ico=no
|
||||
$(package)_config_opts += -DINPUT_kms=no
|
||||
$(package)_config_opts += -DINPUT_linuxfb=no
|
||||
$(package)_config_opts += -DINPUT_libudev=no
|
||||
$(package)_config_opts += -DINPUT_mtdev=no
|
||||
$(package)_config_opts += -DINPUT_openssl=linked
|
||||
$(package)_config_opts += -DINPUT_openvg=no
|
||||
$(package)_config_opts += -DINPUT_permissions=yes
|
||||
$(package)_config_opts += -DINPUT_reduce_relocations=no
|
||||
$(package)_config_opts += -DINPUT_schannel=no
|
||||
$(package)_config_opts += -DINPUT_sctp=no
|
||||
$(package)_config_opts += -DINPUT_securetransport=no
|
||||
$(package)_config_opts += -DINPUT_system_proxies=no
|
||||
$(package)_config_opts += -DINPUT_use_gold_linker_alias=no
|
||||
$(package)_config_opts += -DINPUT_zstd=no
|
||||
$(package)_config_opts += -DINPUT_pkg_config=yes
|
||||
$(package)_config_opts += -DINPUT_libpng=qt
|
||||
$(package)_config_opts += -DINPUT_pcre=qt
|
||||
$(package)_config_opts += -DINPUT_harfbuzz=qt
|
||||
$(package)_config_opts += -DINPUT_system_zlib=no
|
||||
$(package)_config_opts += -DINPUT_colordialog=no
|
||||
$(package)_config_opts += -DINPUT_dial=no
|
||||
$(package)_config_opts += -DINPUT_fontcombobox=no
|
||||
$(package)_config_opts += -DINPUT_image_heuristic_mask=no
|
||||
$(package)_config_opts += -DINPUT_keysequenceedit=no
|
||||
$(package)_config_opts += -DINPUT_lcdnumber=no
|
||||
$(package)_config_opts += -DINPUT_networkdiskcache=no
|
||||
$(package)_config_opts += -DINPUT_pdf=no
|
||||
$(package)_config_opts += -DINPUT_printdialog=no
|
||||
$(package)_config_opts += -DINPUT_printer=no
|
||||
$(package)_config_opts += -DINPUT_printpreviewdialog=no
|
||||
$(package)_config_opts += -DINPUT_printpreviewwidget=no
|
||||
$(package)_config_opts += -DINPUT_printsupport=no
|
||||
$(package)_config_opts += -DINPUT_sessionmanager=no
|
||||
$(package)_config_opts += -DINPUT_spatialaudio=no
|
||||
$(package)_config_opts += -DINPUT_sql=no
|
||||
$(package)_config_opts += -DINPUT_syntaxhighlighter=no
|
||||
$(package)_config_opts += -DINPUT_textmarkdownwriter=no
|
||||
$(package)_config_opts += -DINPUT_textodfwriter=no
|
||||
$(package)_config_opts += -DINPUT_topleveldomain=no
|
||||
$(package)_config_opts += -DINPUT_undocommand=no
|
||||
$(package)_config_opts += -DINPUT_undogroup=no
|
||||
$(package)_config_opts += -DINPUT_undostack=no
|
||||
$(package)_config_opts += -DINPUT_undoview=no
|
||||
$(package)_config_opts += -DINPUT_vnc=no
|
||||
$(package)_config_opts += -DQT_FEATURE_cups=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_qmake=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_egl=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_egl_x11=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_xcb_egl_plugin=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_xcb_glx_plugin=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_eglfs=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_evdev=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_gif=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_glib=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_icu=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_ico=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_kms=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_linuxfb=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_libudev=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_mtdev=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_openssl=ON
|
||||
$(package)_config_opts += -DQT_FEATURE_openssl_linked=ON
|
||||
$(package)_config_opts += -DQT_FEATURE_openvg=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_permissions=ON
|
||||
$(package)_config_opts += -DQT_FEATURE_reduce_relocations=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_schannel=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_sctp=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_securetransport=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_system_proxies=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_use_gold_linker_alias=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_zstd=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_pkg_config=ON
|
||||
$(package)_config_opts += -DQT_FEATURE_system_png=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_system_pcre2=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_system_harfbuzz=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_system_zlib=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_colordialog=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_dial=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_fontcombobox=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_image_heuristic_mask=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_keysequenceedit=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_lcdnumber=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_networkdiskcache=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_pdf=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_printdialog=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_printer=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_printpreviewdialog=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_printpreviewwidget=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_printsupport=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_sessionmanager=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_spatialaudio=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_sql=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_syntaxhighlighter=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_tabletevent=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_textmarkdownwriter=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_textodfwriter=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_topleveldomain=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_undocommand=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_undogroup=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_undostack=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_undoview=OFF
|
||||
$(package)_config_opts += -DQT_FEATURE_vnc=OFF
|
||||
|
||||
$(package)_config_opts_linux += -DQT_QMAKE_TARGET_MKSPEC=linux-g++
|
||||
$(package)_config_opts_linux += -DINPUT_xcb=yes
|
||||
$(package)_config_opts_linux += -DINPUT_xcb_xlib=no
|
||||
$(package)_config_opts_linux += -DINPUT_xlib=no
|
||||
$(package)_config_opts_linux += -DINPUT_freetype=system
|
||||
$(package)_config_opts_linux += -DINPUT_fontconfig=yes
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_xcb=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_xcb_xlib=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_xlib=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_freetype=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_system_freetype=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_fontconfig=ON
|
||||
$(package)_config_opts_linux += -DINPUT_opengl=no
|
||||
$(package)_config_opts_linux += -DINPUT_vulkan=no
|
||||
$(package)_config_opts_linux += -DINPUT_backtrace=no
|
||||
$(package)_config_opts_linux += -DINPUT_dbus=linked
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_opengl=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_opengles2=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_opengles3=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_opengles31=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_opengles32=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_opengl_desktop=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_vulkan=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_backtrace=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_dbus=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_dbus_linked=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland_client=ON
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland_server=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland_drm_egl_server_buffer=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-shm-emulation-server-buffer=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-fullscreen-shell-v1=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-ivi-shell=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-wl-shell=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-xdg-shell-v5=OFF
|
||||
$(package)_config_opts_linux += -DQT_FEATURE_wayland-client-xdg-shell-v6=OFF
|
||||
$(package)_config_opts_linux += -DBUILD_WITH_PCH=OFF
|
||||
|
||||
$(package)_config_opts_mingw32 += -DQT_QMAKE_TARGET_MKSPEC=win32-g++
|
||||
$(package)_config_opts_mingw32 += -DINPUT_opengl=no
|
||||
$(package)_config_opts_mingw32 += -DINPUT_dbus=no
|
||||
$(package)_config_opts_mingw32 += -DINPUT_freetype=no
|
||||
$(package)_config_opts_mingw32 += -DINPUT_ffmpeg=no
|
||||
$(package)_config_opts_mingw32 += -DINPUT_wmf=yes
|
||||
$(package)_config_opts_mingw32 += -DQT_FEATURE_dbus=OFF
|
||||
$(package)_config_opts_mingw32 += -DQT_FEATURE_freetype=OFF
|
||||
$(package)_config_opts_mingw32 += -DQT_FEATURE_ffmpeg=OFF
|
||||
$(package)_config_opts_mingw32 += -DQT_FEATURE_wmf=ON
|
||||
$(package)_config_opts_mingw32 += -DBUILD_WITH_PCH=ON
|
||||
|
||||
$(package)_config_opts_darwin += -DQT_QMAKE_TARGET_MKSPEC=macx-clang
|
||||
# see #138
|
||||
$(package)_config_opts_darwin += -DINPUT_accessibility=no
|
||||
$(package)_config_opts_darwin += -DINPUT_dbus=no
|
||||
$(package)_config_opts_darwin += -DINPUT_freetype=no
|
||||
$(package)_config_opts_darwin += -DINPUT_ffmpeg=no
|
||||
$(package)_config_opts_darwin += -DQT_FEATURE_accessibility=OFF
|
||||
$(package)_config_opts_darwin += -DQT_FEATURE_dbus=OFF
|
||||
$(package)_config_opts_darwin += -DQT_FEATURE_freetype=OFF
|
||||
$(package)_config_opts_darwin += -DQT_FEATURE_ffmpeg=OFF
|
||||
$(package)_config_opts_darwin += -DQMAKE_MACOSX_DEPLOYMENT_TARGET=11.0
|
||||
$(package)_config_opts_darwin += -DBUILD_WITH_PCH=OFF
|
||||
$(package)_config_opts_darwin += '-DQT_QMAKE_DEVICE_OPTIONS=MAC_SDK_PATH=$(host_prefix)/native/SDK;MAC_SDK_VERSION=$(OSX_SDK_VERSION);CROSS_COMPILE=$(host)-;MAC_TARGET=$(host);XCODE_VERSION=$(XCODE_VERSION)'
|
||||
$(package)_config_opts_darwin += -DQT_NO_APPLE_SDK_AND_XCODE_CHECK=ON
|
||||
# work around a build issue in qfutex_mac_p.h
|
||||
$(package)_config_opts_darwin += -DQT_FEATURE_appstore_compliant=ON
|
||||
|
||||
$(package)_config_opts += -G Ninja
|
||||
|
||||
|
@ -150,7 +182,8 @@ $(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_fi
|
|||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtsvg_file_name),$($(package)_qtsvg_file_name),$($(package)_qtsvg_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtwebsockets_file_name),$($(package)_qtwebsockets_file_name),$($(package)_qtwebsockets_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_file_name),$($(package)_qtmultimedia_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash))
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtwayland_file_name),$($(package)_qtwayland_file_name),$($(package)_qtwayland_sha256_hash))
|
||||
endef
|
||||
|
||||
define $(package)_extract_cmds
|
||||
|
@ -161,6 +194,7 @@ define $(package)_extract_cmds
|
|||
echo "$($(package)_qtwebsockets_sha256_hash) $($(package)_source_dir)/$($(package)_qtwebsockets_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtmultimedia_sha256_hash) $($(package)_source_dir)/$($(package)_qtmultimedia_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtshadertools_sha256_hash) $($(package)_source_dir)/$($(package)_qtshadertools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_qtwayland_sha256_hash) $($(package)_source_dir)/$($(package)_qtwayland_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
mkdir qtbase && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \
|
||||
|
@ -173,7 +207,9 @@ define $(package)_extract_cmds
|
|||
mkdir qtmultimedia && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtmultimedia_file_name) -C qtmultimedia && \
|
||||
mkdir qtshadertools && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools && \
|
||||
mkdir qtwayland && \
|
||||
$(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtwayland_file_name) -C qtwayland
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
|
@ -189,25 +225,30 @@ define $(package)_preprocess_cmds
|
|||
-e 's|@host_prefix@|$(host_prefix)|' \
|
||||
-e 's|@cmake_c_flags@|$(darwin_CC_)|' \
|
||||
-e 's|@cmake_cxx_flags@|$(darwin_CXX_)|' \
|
||||
-e 's|@cmake_ld_flags@|$(darwin_LDFLAGS)|'\
|
||||
-e 's|@wmf_libs@|$(WMF_LIBS)|' \
|
||||
toolchain.cmake && \
|
||||
cd qtbase && \
|
||||
patch -p1 -i $($(package)_patch_dir)/revert_f99ee441.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/xcb-util-image-fix.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/libxau-fix.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/revert-macOS-Silence-warning-about-supporting-secure.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/fix_static_qt_darwin_camera_permissions.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/macos-available-qtbase.patch && \
|
||||
cd ../qtmultimedia && \
|
||||
patch -p1 -i $($(package)_patch_dir)/qtmultimedia-fixes.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/v4l2.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/no-resonance-audio.patch
|
||||
patch -p1 -i $($(package)_patch_dir)/macos-available-qtmultimedia.patch && \
|
||||
cd ../qtwayland && \
|
||||
patch -p1 -i $($(package)_patch_dir)/qtwayland-tabletevent-fix.patch
|
||||
endef
|
||||
|
||||
|
||||
define $(package)_config_cmds
|
||||
export OPENSSL_LIBS=${$(package)_openssl_flags_$(host_os)} \
|
||||
export PKG_CONFIG_SYSROOT_DIR=/ && \
|
||||
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
|
||||
export QT_MAC_SDK_NO_VERSION_CHECK=1 && \
|
||||
env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH -u LIBRARY_PATH cmake $($(package)_config_opts)
|
||||
$($(package)_cmake)
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=tor_darwin
|
||||
$(package)_version=0.4.8.9
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/13.0.6/
|
||||
$(package)_file_name=tor-browser-macos-13.0.6.dmg
|
||||
$(package)_sha256_hash=c77af1f2cc1985980dcdac260bff34184d73cb08efff3f1f9fe6db84c5467de2
|
||||
$(package)_version=0.4.8.10
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/13.0.11/
|
||||
$(package)_file_name=tor-browser-macos-13.0.11.dmg
|
||||
$(package)_sha256_hash=809fd7b1c5859cd9a4abebdb20a6b99e51b3c46d865f030b88fe5d6590bcbfdd
|
||||
$(package)_extract_cmds=mkdir -p $$($(1)_extract_dir) && \
|
||||
echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && \
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=tor_linux
|
||||
$(package)_version=0.4.8.9
|
||||
$(package)_version=0.4.8.14
|
||||
$(package)_download_path=https://dist.torproject.org/
|
||||
$(package)_file_name=tor-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=59bb7d8890f6131b4ce5344f3dcea5deb2182b7f4f10ff0cb4e4d81f11b2cf65
|
||||
$(package)_sha256_hash=5047e1ded12d9aac4eb858f7634a627714dd58ce99053d517691a4b304a66d10
|
||||
$(package)_dependencies=libevent openssl zlib
|
||||
|
||||
define $(package)_set_vars
|
||||
|
@ -17,6 +17,10 @@ define $(package)_set_vars
|
|||
$(package)_ldflags+=$(guix_ldflags)
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf doc/man
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf) $($(package)_config_opts)
|
||||
endef
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=tor_mingw32
|
||||
$(package)_version=0.4.8.9
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/13.0.6/
|
||||
$(package)_file_name=tor-expert-bundle-windows-x86_64-13.0.6.tar.gz
|
||||
$(package)_sha256_hash=e3b885da9a53c3c734ddf1683deb520d545f899748d8f53f143d3a545a2ef1e9
|
||||
$(package)_version=0.4.8.10
|
||||
$(package)_download_path=https://dist.torproject.org/torbrowser/13.0.11/
|
||||
$(package)_file_name=tor-expert-bundle-windows-x86_64-13.0.11.tar.gz
|
||||
$(package)_sha256_hash=78d9529b0a206e6727093ede340fc34dab2de4ea03046ff5d5d590879dc21c6e
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_staging_prefix_dir)/Tor/ && \
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
package=unbound
|
||||
$(package)_version=1.19.1
|
||||
$(package)_version=1.22.0
|
||||
$(package)_download_path=https://www.nlnetlabs.nl/downloads/$(package)/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=bc1d576f3dd846a0739adc41ffaa702404c6767d2b6082deb9f2f97cbb24a3a9
|
||||
$(package)_sha256_hash=c5dd1bdef5d5685b2cedb749158dd152c52d44f65529a34ac15cd88d4b1b3d43
|
||||
$(package)_dependencies=openssl expat
|
||||
$(package)_patches=disable-glibc-reallocarray.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --enable-static --without-pyunbound --prefix=$(host_prefix)
|
||||
|
@ -17,8 +16,8 @@ define $(package)_set_vars
|
|||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/disable-glibc-reallocarray.patch &&\
|
||||
autoconf
|
||||
rm doc/*.odp doc/*.pdf contrib/*.tar.gz contrib/*.tar.bz2 &&\
|
||||
rm -rf testdata dnscrypt/testdata
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
|
@ -32,3 +31,7 @@ endef
|
|||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share
|
||||
endef
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
package=utf8proc
|
||||
$(package)_version=2.8.0
|
||||
$(package)_download_path=https://github.com/JuliaStrings/utf8proc/archive/refs/tags/
|
||||
$(package)_download_file=v$($(package)_version).tar.gz
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=a0a60a79fe6f6d54e7d411facbfcc867a6e198608f2cd992490e46f04b1bcecc
|
||||
$(package)_patches=force_static.patch
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/force_static.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
echo "$($(package)_cmake)" && \
|
||||
mkdir build && \
|
||||
cd build && \
|
||||
$($(package)_cmake) ..
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
cd build && \
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
cd build && \
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
31
contrib/depends/packages/wayland.mk
Normal file
31
contrib/depends/packages/wayland.mk
Normal file
|
@ -0,0 +1,31 @@
|
|||
package=wayland
|
||||
$(package)_version=1.23.1
|
||||
$(package)_download_path := https://gitlab.freedesktop.org/wayland/wayland/-/releases/$($(package)_version)/downloads/
|
||||
$(package)_file_name := wayland-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash := 864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed
|
||||
$(package)_dependencies=native_wayland libffi expat
|
||||
$(package)_patches = toolchain.txt
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
cp $($(package)_patch_dir)/toolchain.txt toolchain.txt && \
|
||||
sed -i -e 's|@host_prefix@|$(host_prefix)|' \
|
||||
-e 's|@build_prefix@|$(build_prefix)|' \
|
||||
-e 's|@cc@|$($(package)_cc)|' \
|
||||
-e 's|@cxx@|$($(package)_cxx)|' \
|
||||
-e 's|@ar@|$($(package)_ar)|' \
|
||||
-e 's|@strip@|$(host_STRIP)|' \
|
||||
-e 's|@arch@|$(host_arch)|' \
|
||||
toolchain.txt
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
PKG_CONFIG_LIBDIR="$(host_prefix)/lib/pkgconfig:$(build_prefix)/lib/pkgconfig" PKG_CONFIG_PATH="$(build_prefix)/lib/pkgconfig" meson setup --cross-file toolchain.txt build -Ddtd_validation=false -Ddocumentation=false -Dprefer_static=true -Ddefault_library=static -Dtests=false -Dscanner=false
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
ninja -C build
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
DESTDIR=$($(package)_staging_dir) ninja -C build install
|
||||
endef
|
|
@ -1,8 +1,8 @@
|
|||
package=xcb_proto
|
||||
$(package)_version=1.16.0
|
||||
$(package)_version=1.17.0
|
||||
$(package)_download_path=https://xorg.freedesktop.org/archive/individual/proto
|
||||
$(package)_file_name=xcb-proto-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=a75a1848ad2a89a82d841a51be56ce988ff3c63a8d6bf4383ae3219d8d915119
|
||||
$(package)_file_name=xcb-proto-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=392d3c9690f8c8202a68fdb89c16fd55159ab8d65000a6da213f4a1576e97a16
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package=xorgproto
|
||||
$(package)_version=2023.2
|
||||
$(package)_version=2024.1
|
||||
$(package)_download_path=https://xorg.freedesktop.org/archive/individual/proto
|
||||
$(package)_file_name=xorgproto-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=b61fbc7db82b14ce2dc705ab590efc32b9ad800037113d1973811781d5118c2c
|
||||
$(package)_sha256_hash=372225fd40815b8423547f5d890c5debc72e88b91088fbfb13158c20495ccb59
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--without-fop --without-xmlto --without-xsltproc --disable-specs
|
||||
|
|
|
@ -3,23 +3,25 @@ $(package)_version=1.3.1
|
|||
$(package)_download_path=https://github.com/madler/zlib/releases/download/v$($(package)_version)/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.xz
|
||||
$(package)_sha256_hash=38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32
|
||||
$(package)_patches=win-lib-name.patch
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/win-lib-name.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
CC="$($(package)_cc)" \
|
||||
CXX="$($(package)_cxx)" \
|
||||
AR="$($(package)_ar)" \
|
||||
RANLIB="$($(package)_ranlib)" \
|
||||
LIBTOOL="$($(package)_libtool)" \
|
||||
LDLAGS="$($(package)_ldflags)" \
|
||||
CFLAGS="-fPIE" \
|
||||
CXXFLAGS="-fPIE" \
|
||||
./configure --static --prefix=$(host_prefix)
|
||||
$($(package)_cmake) -DBUILD_SHARED_LIBS=OFF -DZLIB_BUILD_EXAMPLES=OFF
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -f lib/libz.so* lib/libz.dll* && \
|
||||
rm -rf bin
|
||||
endef
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package=zstd
|
||||
$(package)_version=1.5.5
|
||||
$(package)_version=1.5.7
|
||||
$(package)_download_path=https://github.com/facebook/zstd/releases/download/v$($(package)_version)
|
||||
$(package)_file_name=zstd-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4
|
||||
$(package)_sha256_hash=eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -rf tests doc contrib/pzstd/images build/single_file_libs/examples
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
$($(package)_cmake) -DCMAKE_INSTALL_PREFIX=$(host_prefix) -DHOST=$(host) -DZSTD_LEGACY_SUPPORT=OFF -B build-cmake-debug -S build/cmake && \
|
||||
|
|
12
contrib/depends/patches/abseil/no_librt.patch
Normal file
12
contrib/depends/patches/abseil/no_librt.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/absl/base/CMakeLists.txt b/absl/base/CMakeLists.txt
|
||||
index 97994fc6..06ab426c 100644
|
||||
--- a/absl/base/CMakeLists.txt
|
||||
+++ b/absl/base/CMakeLists.txt
|
||||
@@ -240,7 +240,6 @@ absl_cc_library(
|
||||
${ABSL_DEFAULT_COPTS}
|
||||
LINKOPTS
|
||||
${ABSL_DEFAULT_LINKOPTS}
|
||||
- $<$<BOOL:${LIBRT}>:-lrt>
|
||||
$<$<BOOL:${MINGW}>:-ladvapi32>
|
||||
DEPS
|
||||
absl::atomic_hook
|
|
@ -1,30 +1,21 @@
|
|||
diff --git a/src/runtime/Makefile b/src/runtime/Makefile
|
||||
index d0cbf1f..905b130 100644
|
||||
index 1776c19..6207731 100644
|
||||
--- a/src/runtime/Makefile
|
||||
+++ b/src/runtime/Makefile
|
||||
@@ -1,21 +1,21 @@
|
||||
CC = gcc
|
||||
CFLAGS = -std=gnu99 -s -Os -D_FILE_OFFSET_BITS=64 -DGIT_COMMIT=\"${GIT_COMMIT}\" -T data_sections.ld -ffunction-sections -fdata-sections -Wl,--gc-sections -static
|
||||
-LIBS = -lsquashfuse -lsquashfuse_ll -lzstd -lz
|
||||
+LIBS = -lsquashfuse -lsquashfuse_ll -lzstd -lpthread
|
||||
@@ -1,12 +1,12 @@
|
||||
GIT_COMMIT := $(shell cat version)
|
||||
-CC = clang
|
||||
-CFLAGS = -std=gnu99 -Os -D_FILE_OFFSET_BITS=64 -DGIT_COMMIT=\"$(GIT_COMMIT)\" -T data_sections.ld -ffunction-sections -fdata-sections -Wl,--gc-sections -static -Wall -Werror -static-pie
|
||||
-LIBS = -lsquashfuse -lsquashfuse_ll -lzstd -lz -lfuse3
|
||||
+CC = gcc
|
||||
+CFLAGS = -std=gnu99 -Os -D_FILE_OFFSET_BITS=64 -DGIT_COMMIT=\"$(GIT_COMMIT)\" -T data_sections.ld -ffunction-sections -fdata-sections -Wl,--gc-sections -static -Wall
|
||||
+LIBS = -lsquashfuse -lsquashfuse_ll -lzstd -lfuse3 -lpthread
|
||||
|
||||
all: runtime-fuse3 runtime-fuse3
|
||||
all: runtime
|
||||
|
||||
# Compile runtime
|
||||
runtime-fuse3.o: runtime.c
|
||||
- $(CC) -I/usr/local/include/squashfuse -I/usr/include/fuse -o runtime-fuse3.o -c $(CFLAGS) $^
|
||||
+ $(CC) -I${host_prefix}/include -I${host_prefix}/include/squashfuse -I${host_prefix}/include/fuse -o runtime-fuse3.o -c $(CFLAGS) $^
|
||||
|
||||
runtime-fuse3: runtime-fuse3.o
|
||||
$(CC) $(CFLAGS) $^ $(LIBS) -lfuse -o runtime-fuse3
|
||||
|
||||
runtime-fuse3.o: runtime.c
|
||||
- $(CC) -I/usr/local/include/squashfuse -I/usr/include/fuse3 -o runtime-fuse3.o -c $(CFLAGS) $^
|
||||
+ $(CC) -I${host_prefix}/include -I${host_prefix}/include/squashfuse -I${host_prefix}/include/fuse3 -o runtime-fuse3.o -c $(CFLAGS) $^
|
||||
|
||||
runtime-fuse3: runtime-fuse3.o
|
||||
- $(CC) $(CFLAGS) $^ $(LIBS) -lfuse3 -o runtime-fuse3
|
||||
+ $(CC) $(CFLAGS) $^ -L${host_prefix}/lib $(LIBS) -lfuse3 -lpthread -o runtime-fuse3
|
||||
runtime: runtime.c
|
||||
- $(CC) -I/usr/local/include/squashfuse -I/usr/include/fuse3 $(CFLAGS) $^ $(LIBS) -o $@
|
||||
+ $(CC) -L${host_prefix}/lib -I${host_prefix}/include -I${host_prefix}/squashfuse -I${host_prefix}/include/fuse3 $(CFLAGS) $^ $(LIBS) -o $@
|
||||
|
||||
clean:
|
||||
rm -f *.o runtime-fuse3 runtime-fuse3
|
||||
rm -f runtime
|
||||
|
|
|
@ -4,20 +4,20 @@ diff --git a/libs/stacktrace/build/Jamfile.v2 b/libs/stacktrace/build/Jamfile.v2
|
|||
index 230d5a8b4..d3d74599b 100644
|
||||
--- a/libs/stacktrace/build/Jamfile.v2
|
||||
+++ b/libs/stacktrace/build/Jamfile.v2
|
||||
@@ -42,9 +42,6 @@ rule mp-run-simple ( sources + : args * : input-files * : requirements * : targe
|
||||
@@ -48,9 +48,6 @@ rule mp-run-simple ( sources + : args * : input-files * : requirements * : targe
|
||||
mp-run-simple has_backtrace.cpp : : : <library>backtrace : libbacktrace ;
|
||||
explicit libbacktrace ;
|
||||
|
||||
|
||||
-mp-run-simple has_addr2line.cpp : : : : addr2line ;
|
||||
-explicit addr2line ;
|
||||
-
|
||||
mp-run-simple has_windbg.cpp : : : <library>Dbgeng <library>ole32 : WinDbg ;
|
||||
explicit WinDbg ;
|
||||
|
||||
@@ -76,19 +73,6 @@ lib boost_stacktrace_backtrace
|
||||
|
||||
@@ -82,19 +79,6 @@ lib boost_stacktrace_backtrace
|
||||
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
|
||||
;
|
||||
|
||||
|
||||
-lib boost_stacktrace_addr2line
|
||||
- : # sources
|
||||
- ../src/addr2line.cpp
|
||||
|
@ -34,9 +34,9 @@ index 230d5a8b4..d3d74599b 100644
|
|||
lib boost_stacktrace_basic
|
||||
: # sources
|
||||
../src/basic.cpp
|
||||
@@ -128,4 +112,4 @@ lib boost_stacktrace_windbg_cached
|
||||
@@ -152,4 +136,4 @@ lib boost_stacktrace_from_exception
|
||||
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
|
||||
;
|
||||
|
||||
-boost-install boost_stacktrace_noop boost_stacktrace_backtrace boost_stacktrace_addr2line boost_stacktrace_basic boost_stacktrace_windbg boost_stacktrace_windbg_cached ;
|
||||
+boost-install boost_stacktrace_noop boost_stacktrace_backtrace boost_stacktrace_basic boost_stacktrace_windbg boost_stacktrace_windbg_cached ;
|
||||
|
||||
-boost-install boost_stacktrace_noop boost_stacktrace_backtrace boost_stacktrace_addr2line boost_stacktrace_basic boost_stacktrace_windbg boost_stacktrace_windbg_cached boost_stacktrace_from_exception ;
|
||||
+boost-install boost_stacktrace_noop boost_stacktrace_backtrace boost_stacktrace_basic boost_stacktrace_windbg boost_stacktrace_windbg_cached boost_stacktrace_from_exception ;
|
||||
|
|
13
contrib/depends/patches/boost/filesystem_macos_sdk.patch
Normal file
13
contrib/depends/patches/boost/filesystem_macos_sdk.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/libs/filesystem/src/directory.cpp b/libs/filesystem/src/directory.cpp
|
||||
index 0cf5025..cd38e1b 100644
|
||||
--- a/libs/filesystem/src/directory.cpp
|
||||
+++ b/libs/filesystem/src/directory.cpp
|
||||
@@ -279,7 +279,7 @@ inline system::error_code dir_itr_close(dir_itr_imp& imp) noexcept
|
||||
// Obtains a file descriptor from the directory iterator
|
||||
inline int dir_itr_fd(dir_itr_imp const& imp, system::error_code& ec)
|
||||
{
|
||||
- int fd = ::dirfd(static_cast< DIR* >(imp.handle));
|
||||
+ int fd = dirfd(static_cast< DIR* >(imp.handle));
|
||||
if (BOOST_UNLIKELY(fd < 0))
|
||||
{
|
||||
int err = errno;
|
34
contrib/depends/patches/flatstart/main.S
Normal file
34
contrib/depends/patches/flatstart/main.S
Normal file
|
@ -0,0 +1,34 @@
|
|||
.text
|
||||
.global m_symlink
|
||||
.global m_exit
|
||||
.global m_mkdir
|
||||
.global m_execve
|
||||
.global _start
|
||||
|
||||
_start:
|
||||
pop %rdi
|
||||
mov %rsp, %rsi
|
||||
lea 8(%rsi, %rdi, 8), %rdx
|
||||
call start_c
|
||||
mov $60, %rax
|
||||
xor %rdi, %rdi
|
||||
syscall
|
||||
|
||||
m_symlink:
|
||||
mov $88, %rax
|
||||
syscall
|
||||
ret
|
||||
|
||||
m_mkdir:
|
||||
mov $83, %rax
|
||||
syscall
|
||||
ret
|
||||
|
||||
m_execve:
|
||||
mov $59, %rax
|
||||
syscall
|
||||
ret
|
||||
|
||||
m_exit:
|
||||
mov $60, %rax
|
||||
syscall
|
31
contrib/depends/patches/flatstart/main.c
Normal file
31
contrib/depends/patches/flatstart/main.c
Normal file
|
@ -0,0 +1,31 @@
|
|||
extern long m_symlink(const char *target, const char *linkpath);
|
||||
extern long m_mkdir(const char *pathname, unsigned int mode);
|
||||
extern long m_execve(const char *filename, char *const argv[], char *const envp[]);
|
||||
extern void m_exit(int status);
|
||||
|
||||
void start_c(int argc, char **argv, char **envp) {
|
||||
m_symlink("/app/gnu", "/gnu");
|
||||
|
||||
// Qt expects certs to be here, see: qtbase/src/network/ssl/qsslsocket.cpp
|
||||
m_mkdir("/etc/ssl", 0755);
|
||||
m_symlink("/app/profile/etc/ssl/certs", "/etc/ssl/certs");
|
||||
|
||||
// Stops Qt from complaining about not running in a utf-8 locale
|
||||
m_mkdir("/run/current-system", 0755);
|
||||
m_symlink("/app/profile/lib/locale", "/run/current-system/locale");
|
||||
|
||||
// Launch Feather
|
||||
const char *exec_path = "/app/feather";
|
||||
int new_argc = argc;
|
||||
char *new_argv[new_argc + 1];
|
||||
|
||||
new_argv[0] = (char *)exec_path;
|
||||
for (int i = 1; i < new_argc; i++) {
|
||||
new_argv[i] = argv[i];
|
||||
}
|
||||
new_argv[new_argc] = 0;
|
||||
|
||||
long ret = m_execve(exec_path, new_argv, envp);
|
||||
|
||||
m_exit((int)ret);
|
||||
}
|
20
contrib/depends/patches/hidapi/cmake-fix-libusb.patch
Normal file
20
contrib/depends/patches/hidapi/cmake-fix-libusb.patch
Normal file
|
@ -0,0 +1,20 @@
|
|||
diff --git a/libusb/CMakeLists.txt b/libusb/CMakeLists.txt
|
||||
index 6cd48c4..9411468 100644
|
||||
--- a/libusb/CMakeLists.txt
|
||||
+++ b/libusb/CMakeLists.txt
|
||||
@@ -11,9 +11,12 @@ target_link_libraries(hidapi_libusb PUBLIC hidapi_include)
|
||||
if(TARGET usb-1.0)
|
||||
target_link_libraries(hidapi_libusb PRIVATE usb-1.0)
|
||||
else()
|
||||
- include(FindPkgConfig)
|
||||
- pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0>=1.0.9)
|
||||
- target_link_libraries(hidapi_libusb PRIVATE PkgConfig::libusb)
|
||||
+ find_library(libusb-1.0 usb-1.0)
|
||||
+ find_path(LIBUSB_INCLUDE_DIR
|
||||
+ NAMES libusb.h
|
||||
+ PATH_SUFFIXES libusb-1.0)
|
||||
+ target_link_libraries(hidapi_libusb PRIVATE ${libusb-1.0})
|
||||
+ include_directories(${LIBUSB_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
find_package(Threads REQUIRED)
|
17
contrib/depends/patches/libXau/toolchain.txt
Normal file
17
contrib/depends/patches/libXau/toolchain.txt
Normal file
|
@ -0,0 +1,17 @@
|
|||
[binaries]
|
||||
c = '@cc@'
|
||||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = '@arch@'
|
||||
cpu = '@arch@'
|
||||
endian = 'little'
|
||||
|
||||
[built-in options]
|
||||
default_library = 'static'
|
||||
prefer_static = true
|
||||
prefix = '@host_prefix@'
|
|
@ -13,6 +13,7 @@ endian = 'little'
|
|||
|
||||
[project options]
|
||||
utils = false
|
||||
examples = false
|
||||
|
||||
[built-in options]
|
||||
default_library = 'static'
|
||||
|
|
37
contrib/depends/patches/libgcrypt/no-programs.patch
Normal file
37
contrib/depends/patches/libgcrypt/no-programs.patch
Normal file
|
@ -0,0 +1,37 @@
|
|||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 48f08f0..92170ef 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -132,7 +132,7 @@ CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
|
||||
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(m4datadir)" \
|
||||
"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"
|
||||
-PROGRAMS = $(bin_PROGRAMS)
|
||||
+PROGRAMS =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
diff --git a/tests/Makefile.in b/tests/Makefile.in
|
||||
index 27900c3..c9503dc 100644
|
||||
--- a/tests/Makefile.in
|
||||
+++ b/tests/Makefile.in
|
||||
@@ -110,8 +110,8 @@ host_triplet = @host@
|
||||
@USE_RSA_TRUE@am__append_1 = pkcs1v2 t-rsa-pss t-rsa-15 t-rsa-testparm
|
||||
@USE_DSA_TRUE@am__append_2 = fips186-dsa dsa-rfc6979 t-dsa
|
||||
@USE_ECC_TRUE@am__append_3 = curves t-ecdsa t-ed25519 t-cv25519 t-x448 t-ed448
|
||||
-TESTS = $(am__EXEEXT_4) $(tests_sh) $(am__EXEEXT_5) $(tests_sh_last)
|
||||
-EXTRA_PROGRAMS = testapi$(EXEEXT) pkbench$(EXEEXT)
|
||||
+TESTS =
|
||||
+EXTRA_PROGRAMS =
|
||||
noinst_PROGRAMS = testdrv$(EXEEXT) $(am__EXEEXT_4) $(am__EXEEXT_5) \
|
||||
fipsdrv$(EXEEXT) rsacvt$(EXEEXT) genhashdata$(EXEEXT) \
|
||||
gchash$(EXEEXT)
|
||||
@@ -147,7 +147,7 @@ am__EXEEXT_4 = version$(EXEEXT) t-secmem$(EXEEXT) mpitests$(EXEEXT) \
|
||||
t-mlkem$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
|
||||
$(am__EXEEXT_3)
|
||||
am__EXEEXT_5 = benchmark$(EXEEXT) bench-slope$(EXEEXT)
|
||||
-PROGRAMS = $(noinst_PROGRAMS)
|
||||
+PROGRAMS =
|
||||
aeswrap_SOURCES = aeswrap.c
|
||||
aeswrap_OBJECTS = aeswrap.$(OBJEXT)
|
||||
aeswrap_LDADD = $(LDADD)
|
|
@ -0,0 +1,20 @@
|
|||
Subject: [PATCH] core: Declare environ for macOS and others.
|
||||
---
|
||||
Index: src/spawn-posix.c
|
||||
IDEA additional info:
|
||||
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
||||
<+>UTF-8
|
||||
===================================================================
|
||||
diff --git a/src/spawn-posix.c b/src/spawn-posix.c
|
||||
--- a/src/spawn-posix.c (revision d18e28a948307fab016b1eed467a70653ca9576e)
|
||||
+++ b/src/spawn-posix.c (revision a59e902b887fd92337c9728f668cf9c89da3957a)
|
||||
@@ -57,6 +57,9 @@
|
||||
|
||||
#include "gpgrt-int.h"
|
||||
|
||||
+/* (Only glibc's unistd.h declares this iff _GNU_SOURCE is used.) */
|
||||
+extern char **environ;
|
||||
+
|
||||
|
||||
/* Definition for the gpgrt_spawn_actions_t. Note that there is a
|
||||
* different one for Windows. */
|
13
contrib/depends/patches/libgpg-error/no-programs.patch
Normal file
13
contrib/depends/patches/libgpg-error/no-programs.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 882f4ad..4c99ddc 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -154,7 +154,7 @@ CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
|
||||
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(m4datadir)" \
|
||||
"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"
|
||||
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
|
||||
+PROGRAMS =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/preload/configure b/preload/configure
|
||||
index aab5c77..e20b8f0 100755
|
||||
--- a/preload/configure
|
||||
+++ b/preload/configure
|
||||
@@ -588,7 +588,7 @@ MAKEFLAGS=
|
||||
PACKAGE_NAME='libiconv'
|
||||
PACKAGE_TARNAME='libiconv'
|
||||
PACKAGE_VERSION='0'
|
||||
-PACKAGE_STRING='libiconv 0'
|
||||
+PACKAGE_STRING='libiconv0'
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_URL=''
|
||||
|
238
contrib/depends/patches/libusb/CMakeLists.txt
Normal file
238
contrib/depends/patches/libusb/CMakeLists.txt
Normal file
|
@ -0,0 +1,238 @@
|
|||
# From https://github.com/libusb/libusb-cmake/tree/main
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
get_filename_component(LIBUSB_ROOT "libusb" ABSOLUTE)
|
||||
|
||||
# Get the version information from version.h ignoring the nano version as it appears in version_nano.h and so we need it?
|
||||
file(READ "${LIBUSB_ROOT}/version.h" VERSIONHEADERDATA)
|
||||
string(REGEX MATCH "#define LIBUSB_MAJOR ([0-9]*)" _ ${VERSIONHEADERDATA})
|
||||
set(LIBUSB_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||
string(REGEX MATCH "#define LIBUSB_MINOR ([0-9]*)" _ ${VERSIONHEADERDATA})
|
||||
set(LIBUSB_VERSION_MINOR ${CMAKE_MATCH_1})
|
||||
string(REGEX MATCH "#define LIBUSB_MICRO ([0-9]*)" _ ${VERSIONHEADERDATA})
|
||||
set(LIBUSB_VERSION_MICRO ${CMAKE_MATCH_1})
|
||||
set(LIBUSB_VERSION "${LIBUSB_VERSION_MAJOR}.${LIBUSB_VERSION_MINOR}.${LIBUSB_VERSION_MICRO}")
|
||||
|
||||
project(usb-1.0
|
||||
DESCRIPTION "A cross-platform library to access USB devices"
|
||||
VERSION ${LIBUSB_VERSION}
|
||||
LANGUAGES C
|
||||
)
|
||||
if(EMSCRIPTEN)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
enable_language(CXX)
|
||||
endif()
|
||||
|
||||
# This function generates all the local variables what end up getting written to config.
|
||||
# We use a function as any vars set in this context don't mess with the rest of the file.
|
||||
# e.g. Logging LIBUSB_ENABLE_LOGGING mapps to ENABLE_LOGGING in the config, keeps it clean
|
||||
function(generate_config_file)
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckFunctionExists)
|
||||
include(CheckSymbolExists)
|
||||
include(CheckStructHasMember)
|
||||
include(CheckCCompilerFlag)
|
||||
|
||||
check_function_exists(clock_gettime HAVE_CLOCK_GETTIME)
|
||||
check_function_exists(pthread_condattr_setclock HAVE_PTHREAD_CONDATTR_SETCLOCK)
|
||||
check_function_exists(pthread_setname_np HAVE_PTHREAD_SETNAME_NP)
|
||||
check_function_exists(pthread_threadid_np HAVE_PTHREAD_THREADID_NP)
|
||||
check_function_exists(eventfd HAVE_EVENTFD)
|
||||
check_function_exists(pipe2 HAVE_PIPE2)
|
||||
check_function_exists(syslog HAVE_SYSLOG)
|
||||
|
||||
check_include_files(asm/types.h HAVE_ASM_TYPES_H)
|
||||
check_include_files(sys/eventfd.h HAVE_EVENTFD)
|
||||
check_include_files(string.h HAVE_STRING_H)
|
||||
check_include_files(sys/time.h HAVE_SYS_TIME_H)
|
||||
|
||||
check_symbol_exists(timerfd_create "sys/timerfd.h" HAVE_TIMERFD)
|
||||
check_symbol_exists(nfds_t "poll.h" HAVE_NFDS_T)
|
||||
|
||||
check_struct_has_member("struct timespec" tv_sec time.h HAVE_STRUCT_TIMESPEC)
|
||||
|
||||
if(HAVE_VISIBILITY)
|
||||
set(DEFAULT_VISIBILITY "__attribute__((visibility(\"default\")))")
|
||||
else()
|
||||
set(DEFAULT_VISIBILITY "" )
|
||||
endif()
|
||||
|
||||
# Set vars that will be written into the config file.
|
||||
if(WIN32)
|
||||
set(PLATFORM_WINDOWS 1)
|
||||
else()
|
||||
set(PLATFORM_POSIX 1)
|
||||
endif()
|
||||
|
||||
if(LIBUSB_ENABLE_LOGGING)
|
||||
set(ENABLE_LOGGING ${LIBUSB_ENABLE_LOGGING})
|
||||
endif()
|
||||
if(LIBUSB_ENABLE_DEBUG_LOGGING)
|
||||
set(ENABLE_DEBUG_LOGGING ${LIBUSB_ENABLE_DEBUG_LOGGING})
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
check_c_compiler_flag("-fvisibility=hidden" HAVE_VISIBILITY)
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY "${LIBUSB_GEN_INCLUDES}")
|
||||
if(NOT MSVC)
|
||||
set(_GNU_SOURCE TRUE)
|
||||
endif()
|
||||
configure_file(config.h.in "${LIBUSB_GEN_INCLUDES}/config.h" @ONLY)
|
||||
endfunction()
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(LIBUSB_BUILD_SHARED_LIBS_DEFAULT ON)
|
||||
else()
|
||||
set(LIBUSB_BUILD_SHARED_LIBS_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
option(LIBUSB_BUILD_SHARED_LIBS "Build Shared Libraries for libusb" ${LIBUSB_BUILD_SHARED_LIBS_DEFAULT})
|
||||
option(LIBUSB_BUILD_TESTING "Build Tests" OFF)
|
||||
if(LIBUSB_BUILD_TESTING)
|
||||
enable_testing()
|
||||
endif()
|
||||
|
||||
option(LIBUSB_BUILD_EXAMPLES "Build Example Applications" OFF)
|
||||
|
||||
option(LIBUSB_INSTALL_TARGETS "Install libusb targets" ON)
|
||||
option(LIBUSB_TARGETS_INCLUDE_USING_SYSTEM "Make targets include paths System" ON)
|
||||
|
||||
option(LIBUSB_ENABLE_LOGGING "Enable Logging" ON)
|
||||
option(LIBUSB_ENABLE_DEBUG_LOGGING "Enable Debug Logging" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
option(LIBUSB_ENABLE_UDEV "Enable udev backend for device enumeration" ON)
|
||||
endif()
|
||||
|
||||
set(LIBUSB_GEN_INCLUDES "${CMAKE_CURRENT_BINARY_DIR}/gen_include")
|
||||
generate_config_file()
|
||||
|
||||
if(LIBUSB_BUILD_SHARED_LIBS)
|
||||
add_library(usb-1.0 SHARED)
|
||||
else()
|
||||
add_library(usb-1.0 STATIC)
|
||||
endif()
|
||||
|
||||
set_target_properties(usb-1.0 PROPERTIES
|
||||
PREFIX lib # to be consistent with mainline libusb build system(s)
|
||||
)
|
||||
|
||||
# common sources
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_GEN_INCLUDES}/config.h"
|
||||
"${LIBUSB_ROOT}/core.c"
|
||||
"${LIBUSB_ROOT}/descriptor.c"
|
||||
"${LIBUSB_ROOT}/hotplug.c"
|
||||
"${LIBUSB_ROOT}/io.c"
|
||||
"${LIBUSB_ROOT}/libusb.h"
|
||||
"${LIBUSB_ROOT}/libusbi.h"
|
||||
"${LIBUSB_ROOT}/strerror.c"
|
||||
"${LIBUSB_ROOT}/sync.c"
|
||||
"${LIBUSB_ROOT}/version.h"
|
||||
"${LIBUSB_ROOT}/version_nano.h"
|
||||
)
|
||||
target_include_directories(usb-1.0
|
||||
PRIVATE
|
||||
"${LIBUSB_GEN_INCLUDES}"
|
||||
"${LIBUSB_ROOT}/os"
|
||||
)
|
||||
|
||||
if (LIBUSB_TARGETS_INCLUDE_USING_SYSTEM)
|
||||
target_include_directories(usb-1.0 SYSTEM PUBLIC "${LIBUSB_ROOT}")
|
||||
else()
|
||||
target_include_directories(usb-1.0 PUBLIC "${LIBUSB_ROOT}")
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/libusb-1.0.def"
|
||||
"${LIBUSB_ROOT}/os/events_windows.c"
|
||||
"${LIBUSB_ROOT}/os/events_windows.h"
|
||||
"${LIBUSB_ROOT}/os/threads_windows.c"
|
||||
"${LIBUSB_ROOT}/os/threads_windows.h"
|
||||
"${LIBUSB_ROOT}/os/windows_common.c"
|
||||
"${LIBUSB_ROOT}/os/windows_common.h"
|
||||
"${LIBUSB_ROOT}/os/windows_usbdk.c"
|
||||
"${LIBUSB_ROOT}/os/windows_usbdk.h"
|
||||
"${LIBUSB_ROOT}/os/windows_winusb.c"
|
||||
"${LIBUSB_ROOT}/os/windows_winusb.h"
|
||||
$<$<C_COMPILER_ID:MSVC>:${LIBUSB_ROOT}/libusb-1.0.rc>
|
||||
)
|
||||
target_compile_definitions(usb-1.0 PRIVATE $<$<C_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS=1>)
|
||||
target_link_libraries(usb-1.0 PRIVATE windowsapp)
|
||||
set_target_properties(usb-1.0 PROPERTIES UNITY_BUILD OFF)
|
||||
else()
|
||||
# common POSIX/non-Windows sources
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/events_posix.c"
|
||||
"${LIBUSB_ROOT}/os/events_posix.h"
|
||||
"${LIBUSB_ROOT}/os/threads_posix.c"
|
||||
"${LIBUSB_ROOT}/os/threads_posix.h"
|
||||
)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/linux_usbfs.c"
|
||||
"${LIBUSB_ROOT}/os/linux_usbfs.h"
|
||||
)
|
||||
if(LIBUSB_ENABLE_UDEV)
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/linux_udev.c"
|
||||
)
|
||||
target_link_libraries(usb-1.0 PRIVATE udev)
|
||||
target_compile_definitions(usb-1.0 PRIVATE HAVE_LIBUDEV=1)
|
||||
else()
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/linux_netlink.c"
|
||||
)
|
||||
endif()
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(usb-1.0 PRIVATE Threads::Threads)
|
||||
elseif(ANDROID)
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/linux_netlink.c"
|
||||
"${LIBUSB_ROOT}/os/linux_usbfs.c"
|
||||
"${LIBUSB_ROOT}/os/linux_usbfs.h"
|
||||
)
|
||||
target_link_libraries(usb-1.0 PRIVATE android log)
|
||||
elseif(APPLE)
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/darwin_usb.c"
|
||||
"${LIBUSB_ROOT}/os/darwin_usb.h"
|
||||
)
|
||||
target_link_libraries(usb-1.0 PRIVATE
|
||||
"-framework Foundation"
|
||||
"-framework IOKit"
|
||||
"-framework Security"
|
||||
)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/netbsd_usb.c"
|
||||
)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/openbsd_usb.c"
|
||||
)
|
||||
elseif(EMSCRIPTEN)
|
||||
target_sources(usb-1.0 PRIVATE
|
||||
"${LIBUSB_ROOT}/os/emscripten_webusb.cpp"
|
||||
)
|
||||
target_compile_options(usb-1.0 PRIVATE -pthread)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported target platform: ${CMAKE_SYSTEM_NAME}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(LIBUSB_BUILD_TESTING)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
if(LIBUSB_BUILD_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
|
||||
if(LIBUSB_INSTALL_TARGETS)
|
||||
install(TARGETS usb-1.0)
|
||||
install(FILES "${LIBUSB_ROOT}/libusb.h" DESTINATION "include/libusb-1.0")
|
||||
endif()
|
75
contrib/depends/patches/libusb/config.h.in
Normal file
75
contrib/depends/patches/libusb/config.h.in
Normal file
|
@ -0,0 +1,75 @@
|
|||
/* #define to the attribute for default visibility. */
|
||||
#define DEFAULT_VISIBILITY @DEFAULT_VISIBILITY@
|
||||
|
||||
/* #define to 1 to start with debug message logging enabled. */
|
||||
#cmakedefine ENABLE_DEBUG_LOGGING 1
|
||||
|
||||
/* #define to 1 to enable message logging. */
|
||||
#cmakedefine ENABLE_LOGGING 1
|
||||
|
||||
/* #define to 1 if you have the <asm/types.h> header file. */
|
||||
#cmakedefine HAVE_ASM_TYPES_H
|
||||
|
||||
/* #define to 1 if you have the `clock_gettime' function. */
|
||||
#cmakedefine HAVE_CLOCK_GETTIME 1
|
||||
|
||||
/* #define to 1 if the system has eventfd functionality. */
|
||||
#cmakedefine HAVE_EVENTFD 1
|
||||
|
||||
/* #define to 1 if the system has the type `nfds_t'. */
|
||||
#cmakedefine HAVE_NFDS_T 1
|
||||
|
||||
/* #define to 1 if you have the `pipe2' function. */
|
||||
#cmakedefine HAVE_PIPE2 1
|
||||
|
||||
/* #define to 1 if you have the `pthread_condattr_setclock' function. */
|
||||
#cmakedefine HAVE_PTHREAD_CONDATTR_SETCLOCK 1
|
||||
|
||||
/* #define to 1 if you have the `pthread_setname_np' function. */
|
||||
#cmakedefine HAVE_PTHREAD_SETNAME_NP 1
|
||||
|
||||
/* #define to 1 if you have the `pthread_threadid_np' function. */
|
||||
#cmakedefine HAVE_PTHREAD_THREADID_NP 1
|
||||
|
||||
/* #define to 1 if you have the <string.h> header file. */
|
||||
#cmakedefine HAVE_STRING_H 1
|
||||
|
||||
/* #define to 1 if the system has the type `struct timespec'. */
|
||||
#cmakedefine HAVE_STRUCT_TIMESPEC 1
|
||||
|
||||
/* #define to 1 if you have the `syslog' function. */
|
||||
#cmakedefine HAVE_SYSLOG 1
|
||||
|
||||
/* #define to 1 if you have the <sys/time.h> header file. */
|
||||
#cmakedefine HAVE_SYS_TIME_H 1
|
||||
|
||||
/* #define to 1 if the system has timerfd functionality. */
|
||||
#cmakedefine HAVE_TIMERFD 1
|
||||
|
||||
/* #define to 1 if compiling for a POSIX platform. */
|
||||
#cmakedefine PLATFORM_POSIX 1
|
||||
|
||||
/* #define to 1 if compiling for a Windows platform. */
|
||||
#cmakedefine PLATFORM_WINDOWS 1
|
||||
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define PRINTF_FORMAT(a, b) __attribute__ ((format (__printf__, a, b)))
|
||||
#else
|
||||
#define PRINTF_FORMAT(a, b)
|
||||
#endif
|
||||
|
||||
/* #define to 1 if you have the ANSI C header files. */
|
||||
#cmakedefine STDC_HEADERS 1
|
||||
|
||||
/* #define to 1 to output logging messages to the systemwide log. */
|
||||
#cmakedefine USE_SYSTEM_LOGGING_FACILITY
|
||||
|
||||
/* Enable GNU extensions. */
|
||||
#cmakedefine _GNU_SOURCE 1
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
/* #undef inline */
|
||||
#endif
|
|
@ -1,10 +1,12 @@
|
|||
Remove uneeded pthread-stubs dependency
|
||||
diff --git a/configure b/configure
|
||||
index 969e8ac..0ab13c7 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -20827,7 +20827,7 @@ fi
|
||||
@@ -21483,7 +21483,7 @@ fi
|
||||
NEEDED="xau >= 0.99.2"
|
||||
case $host_os in
|
||||
linux*|darwin*|solaris*|dragonfly*|freebsd*) ;;
|
||||
linux*|darwin*|solaris*|dragonfly*|freebsd*|netbsd*) ;;
|
||||
- *) NEEDED="$NEEDED pthread-stubs" ;;
|
||||
+ *) NEEDED="$NEEDED" ;;
|
||||
esac
|
||||
|
|
|
@ -1,23 +1,34 @@
|
|||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 23956fd..0f4c3c9 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -12,5 +12,5 @@ ChangeLog:
|
||||
|
||||
dist-hook: ChangeLog INSTALL
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 03316e8..b5c6f49 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -361,7 +361,7 @@ top_srcdir = @top_srcdir@
|
||||
xcbincludedir = @xcbincludedir@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
MAINTAINERCLEANFILES = ChangeLog INSTALL
|
||||
-SUBDIRS = image test
|
||||
+SUBDIRS = image
|
||||
EXTRA_DIST = autogen.sh README.md
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 9cf3f5a..0949d55 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -18,7 +18,6 @@ PKG_CHECK_MODULES(XCB_UTIL, xcb-util)
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
image/Makefile
|
||||
- test/Makefile
|
||||
image/xcb-image.pc
|
||||
])
|
||||
AC_OUTPUT
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
diff --git a/configure b/configure
|
||||
index 3756ffc..46fcbc4 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -19952,7 +19952,7 @@ printf "%s\n" "yes" >&6; }
|
||||
|
||||
fi
|
||||
|
||||
-ac_config_files="$ac_config_files Makefile image/Makefile test/Makefile image/xcb-image.pc"
|
||||
+ac_config_files="$ac_config_files Makefile image/Makefile image/xcb-image.pc"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
@@ -20980,7 +20980,6 @@ do
|
||||
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
|
||||
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
||||
"image/Makefile") CONFIG_FILES="$CONFIG_FILES image/Makefile" ;;
|
||||
- "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
|
||||
"image/xcb-image.pc") CONFIG_FILES="$CONFIG_FILES image/xcb-image.pc" ;;
|
||||
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||
|
|
|
@ -1,27 +1,33 @@
|
|||
diff --git a/meson.build b/meson.build
|
||||
index eaef4fb..1e31558 100644
|
||||
index 8714ce4e..35691155 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -748,18 +748,6 @@ test(
|
||||
@@ -893,24 +893,6 @@ test(
|
||||
dependencies: test_dep),
|
||||
env: test_env,
|
||||
)
|
||||
-if get_option('enable-x11')
|
||||
- has_xvfb = find_program('Xvfb', required: false)
|
||||
- if not has_xvfb.found()
|
||||
- warning('Xvfb program not found, but is required to run X11 tests.')
|
||||
- endif
|
||||
- test(
|
||||
- 'x11',
|
||||
- executable('test-x11', 'test/x11.c', dependencies: x11_test_dep),
|
||||
- executable('test-x11', 'test/x11.c', dependencies: x11_xvfb_test_dep),
|
||||
- env: test_env,
|
||||
- is_parallel : false,
|
||||
- )
|
||||
- test(
|
||||
- 'x11comp',
|
||||
- executable('test-x11comp', 'test/x11comp.c', dependencies: x11_test_dep),
|
||||
- executable('test-x11comp', 'test/x11comp.c', dependencies: x11_xvfb_test_dep),
|
||||
- env: test_env,
|
||||
- is_parallel : false,
|
||||
- )
|
||||
-endif
|
||||
if get_option('enable-xkbregistry')
|
||||
test(
|
||||
'registry',
|
||||
@@ -844,13 +832,6 @@ benchmark(
|
||||
@@ -1035,13 +1017,6 @@ benchmark(
|
||||
executable('bench-atom', 'bench/atom.c', dependencies: test_dep),
|
||||
env: bench_env,
|
||||
)
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -99,7 +99,6 @@ check_function_exists(_strtoi64 HAVE__STRTOI64)
|
||||
check_function_exists(_strtoui64 HAVE__STRTOUI64)
|
||||
check_function_exists(_unlink HAVE__UNLINK)
|
||||
check_function_exists(arc4random HAVE_ARC4RANDOM)
|
||||
-check_function_exists(clonefile HAVE_CLONEFILE)
|
||||
check_function_exists(explicit_bzero HAVE_EXPLICIT_BZERO)
|
||||
check_function_exists(explicit_memset HAVE_EXPLICIT_MEMSET)
|
||||
check_function_exists(fchmod HAVE_FCHMOD)
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
|
||||
index 3bb8324..033760d 100644
|
||||
--- a/cctools/ld64/src/ld/Options.cpp
|
||||
+++ b/cctools/ld64/src/ld/Options.cpp
|
||||
@@ -4279,7 +4279,6 @@ void Options::buildSearchPaths(int argc, const char* argv[])
|
||||
fVerbose = true;
|
||||
extern const char ldVersionString[];
|
||||
fprintf(stderr, "%s", ldVersionString);
|
||||
- fprintf(stderr, "BUILD " __TIME__ " " __DATE__"\n");
|
||||
fprintf(stderr, "configured to support archs: %s\n", ALL_SUPPORTED_ARCHS);
|
||||
// if only -v specified, exit cleanly
|
||||
if ( argc == 2 ) {
|
|
@ -1,25 +0,0 @@
|
|||
diff --git a/src/llvm/CMakeLists.txt b/src/llvm/CMakeLists.txt
|
||||
index ab92717c8..dff3a292a 100644
|
||||
--- a/src/llvm/CMakeLists.txt
|
||||
+++ b/src/llvm/CMakeLists.txt
|
||||
@@ -754,7 +754,6 @@ set(LLVM_SRPM_DIR "${CMAKE_CURRENT_BINARY_DIR}/srpm")
|
||||
|
||||
# SVN_REVISION and GIT_COMMIT get set by the call to add_version_info_from_vcs.
|
||||
# DUMMY_VAR contains a version string which we don't care about.
|
||||
-add_version_info_from_vcs(DUMMY_VAR)
|
||||
if ( SVN_REVISION )
|
||||
set(LLVM_RPM_SPEC_REVISION "r${SVN_REVISION}")
|
||||
elseif ( GIT_COMMIT )
|
||||
diff --git a/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake b/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake
|
||||
index 6b1c71983..e16326ed6 100644
|
||||
--- a/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake
|
||||
+++ b/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake
|
||||
@@ -24,7 +24,7 @@ include(VersionFromVCS)
|
||||
set(ENV{TERM} "dumb")
|
||||
|
||||
function(append_info name path)
|
||||
- add_version_info_from_vcs(REVISION ${path})
|
||||
+ set(REVISION "git-0000000")
|
||||
string(STRIP "${REVISION}" REVISION)
|
||||
file(APPEND "${HEADER_FILE}.txt"
|
||||
"#define ${name} \"${REVISION}\"\n")
|
|
@ -1,16 +0,0 @@
|
|||
diff --git a/qtbase/configure b/qtbase/configure
|
||||
index e57707dc..d8f6c934 100755
|
||||
--- a/qtbase/configure
|
||||
+++ b/qtbase/configure
|
||||
@@ -9,9 +9,9 @@
|
||||
|
||||
# the directory of this script is the "source tree"
|
||||
relpath=`dirname "$0"`
|
||||
-relpath=`(cd "$relpath"; /bin/pwd)`
|
||||
+relpath=`(cd "$relpath"; pwd)`
|
||||
# the current directory is the "build tree" or "object tree"
|
||||
-outpath=`/bin/pwd`
|
||||
+outpath=`pwd`
|
||||
outpathPrefix=$outpath
|
||||
|
||||
# do this early so we don't store it in config.status
|
|
@ -32,7 +32,7 @@ list(APPEND CMAKE_MODULE_PATH "${__qt6_qtbase_src_path}/cmake/3rdparty/kwin")
|
|||
set(QT_NO_CREATE_TARGETS TRUE)
|
||||
set(QT_SUPERBUILD TRUE)
|
||||
|
||||
set(QT_BUILD_SUBMODULES "qtbase;qtsvg;qtshadertools;qtmultimedia" CACHE STRING "Submodules to build")
|
||||
set(QT_BUILD_SUBMODULES "qtbase;qtsvg;qtshadertools;qtmultimedia;qtwayland" CACHE STRING "Submodules to build")
|
||||
|
||||
foreach(module IN LISTS QT_BUILD_SUBMODULES)
|
||||
message(NOTICE "Configuring '${module}'")
|
||||
|
|
20
contrib/depends/patches/native_wayland/toolchain.txt
Normal file
20
contrib/depends/patches/native_wayland/toolchain.txt
Normal file
|
@ -0,0 +1,20 @@
|
|||
[binaries]
|
||||
c = '@cc@'
|
||||
cpp = '@cxx@'
|
||||
ar = '@ar@'
|
||||
strip = '@strip@'
|
||||
pkgconfig = '/home/user/.guix-profile/bin/pkg-config'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = '@arch@'
|
||||
cpu = '@arch@'
|
||||
endian = 'little'
|
||||
|
||||
[project options]
|
||||
tests = false
|
||||
documentation = false
|
||||
dtd_validation = false
|
||||
|
||||
[built-in options]
|
||||
prefix = '@build_prefix@'
|
47
contrib/depends/patches/qt/disable-qmake.patch
Normal file
47
contrib/depends/patches/qt/disable-qmake.patch
Normal file
|
@ -0,0 +1,47 @@
|
|||
diff --git a/cmake/QtBaseHelpers.cmake b/cmake/QtBaseHelpers.cmake
|
||||
index 4b48f8f176..63e445e346 100644
|
||||
--- a/cmake/QtBaseHelpers.cmake
|
||||
+++ b/cmake/QtBaseHelpers.cmake
|
||||
@@ -212,7 +212,7 @@ macro(qt_internal_qtbase_build_repo)
|
||||
endif()
|
||||
|
||||
if(NOT QT_INTERNAL_BUILD_STANDALONE_PARTS)
|
||||
- if(QT_FEATURE_settings)
|
||||
+ if(QT_WILL_BUILD_TOOLS AND QT_FEATURE_settings)
|
||||
add_subdirectory(qmake)
|
||||
endif()
|
||||
|
||||
diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt
|
||||
index 9334ca72ab..801b4f7647 100644
|
||||
--- a/qmake/CMakeLists.txt
|
||||
+++ b/qmake/CMakeLists.txt
|
||||
@@ -112,19 +112,6 @@ qt_internal_add_tool(${target_name}
|
||||
generators/win32/msvc_objectmodel.cpp # xml symbols clash with generators/win32/msbuild_objectmodel.cpp
|
||||
library/qmakeparser.cpp # struct statics clashes with qmakeevaluator_p.h
|
||||
)
|
||||
-
|
||||
-# When we don't build tools, we still want to be able to build the documentation.
|
||||
-# Add a fake interface library to make sure the documentation target is created.
|
||||
-# We use the direct name rather than ${target_name} to ensure the doc target keeps
|
||||
-# the original name even when cross-building.
|
||||
-if(NOT TARGET qmake)
|
||||
- add_library(qmake INTERFACE)
|
||||
-endif()
|
||||
-
|
||||
-qt_internal_add_docs(qmake
|
||||
- doc/qmake.qdocconf
|
||||
-)
|
||||
-
|
||||
qt_internal_return_unless_building_tools()
|
||||
|
||||
#### Keys ignored in scope 1:.:.:qmake.pro:<TRUE>:
|
||||
@@ -154,3 +141,6 @@ set_target_properties(${target_name} PROPERTIES
|
||||
qt_internal_apply_gc_binaries(${target_name} PRIVATE)
|
||||
qt_skip_warnings_are_errors(${target_name})
|
||||
|
||||
+qt_internal_add_docs(${target_name}
|
||||
+ doc/qmake.qdocconf
|
||||
+)
|
||||
--
|
||||
2.46.2
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
diff --git a/src/corelib/platform/darwin/qdarwinpermissionplugin_camera.mm b/src/corelib/platform/darwin/qdarwinpermissionplugin_camera.mm
|
||||
index 51c517d6f3..ed3135fba3 100644
|
||||
--- a/src/corelib/platform/darwin/qdarwinpermissionplugin_camera.mm
|
||||
+++ b/src/corelib/platform/darwin/qdarwinpermissionplugin_camera.mm
|
||||
@@ -7,8 +7,6 @@
|
||||
|
||||
QT_DEFINE_PERMISSION_STATUS_CONVERTER(AVAuthorizationStatus);
|
||||
|
||||
-#ifndef BUILDING_PERMISSION_REQUEST
|
||||
-
|
||||
@implementation QDarwinCameraPermissionHandler
|
||||
- (Qt::PermissionStatus)checkPermission:(QPermission)permission
|
||||
{
|
||||
@@ -25,8 +23,6 @@ QT_DEFINE_PERMISSION_STATUS_CONVERTER(AVAuthorizationStatus);
|
||||
|
||||
#include "moc_qdarwinpermissionplugin_p_p.cpp"
|
||||
|
||||
-#else // Building request
|
||||
-
|
||||
@implementation QDarwinCameraPermissionHandler (Request)
|
||||
- (void)requestPermission:(QPermission)permission withCallback:(PermissionCallback)callback
|
||||
{
|
||||
@@ -39,4 +35,3 @@ QT_DEFINE_PERMISSION_STATUS_CONVERTER(AVAuthorizationStatus);
|
||||
}
|
||||
@end
|
||||
|
||||
-#endif // BUILDING_PERMISSION_REQUEST
|
15
contrib/depends/patches/qt/macos-available-qtbase.patch
Normal file
15
contrib/depends/patches/qt/macos-available-qtbase.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
diff --git a/src/gui/rhi/qrhimetal.mm b/src/gui/rhi/qrhimetal.mm
|
||||
index 3046b76427..8c1e7fd13f 100644
|
||||
--- a/src/gui/rhi/qrhimetal.mm
|
||||
+++ b/src/gui/rhi/qrhimetal.mm
|
||||
@@ -4710,10 +4710,6 @@ id<MTLLibrary> QRhiMetalData::createMetalLib(const QShader &shader, QShader::Var
|
||||
QString *error, QByteArray *entryPoint, QShaderKey *activeKey)
|
||||
{
|
||||
QVarLengthArray<int, 8> versions;
|
||||
- if (@available(macOS 13, iOS 16, *))
|
||||
- versions << 30;
|
||||
- if (@available(macOS 12, iOS 15, *))
|
||||
- versions << 24;
|
||||
versions << 23 << 22 << 21 << 20 << 12;
|
||||
|
||||
const QList<QShaderKey> shaders = shader.availableShaders();
|
|
@ -0,0 +1,19 @@
|
|||
diff --git a/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm b/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm
|
||||
index 940a964b7..bab2cebe0 100644
|
||||
--- a/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm
|
||||
+++ b/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm
|
||||
@@ -176,14 +176,6 @@ void QAVFVideoDevices::updateCameraDevices()
|
||||
#endif
|
||||
];
|
||||
|
||||
-#if QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_14_0, __IPHONE_17_0, __TVOS_NA, __WATCHOS_NA)
|
||||
- if (@available(macOS 14, iOS 17, *)) {
|
||||
- discoveryDevices = [discoveryDevices arrayByAddingObjectsFromArray: @[
|
||||
- AVCaptureDeviceTypeExternal,
|
||||
- AVCaptureDeviceTypeContinuityCamera
|
||||
- ]];
|
||||
- } else
|
||||
-#endif
|
||||
{
|
||||
#ifdef Q_OS_MACOS
|
||||
QT_WARNING_PUSH
|
|
@ -1,58 +1,41 @@
|
|||
From 677c6d3e58064e9d10472e5ca75380b31631d12a Mon Sep 17 00:00:00 2001
|
||||
From: tobtoht <tob@featherwallet.org>
|
||||
Date: Tue, 3 Jan 2023 13:00:51 +0100
|
||||
Subject: [PATCH] qtmultimedia fixes
|
||||
|
||||
---
|
||||
src/multimedia/configure.cmake | 3 +--
|
||||
src/multimedia/windows/qwindowsmediadevices.cpp | 2 +-
|
||||
src/multimedia/windows/qwindowsresampler.cpp | 2 +-
|
||||
src/plugins/multimedia/darwin/qdarwinintegration.mm | 3 +--
|
||||
src/plugins/multimedia/windows/common/mfmetadata_p.h | 2 +-
|
||||
.../windows/decoder/mfaudiodecodercontrol.cpp | 2 +-
|
||||
.../windows/mediacapture/qwindowsmediadevicereader_p.h | 4 ++--
|
||||
.../windows/mediacapture/qwindowsmediaencoder.cpp | 2 +-
|
||||
.../multimedia/windows/player/mfplayercontrol_p.h | 2 +-
|
||||
.../multimedia/windows/player/mfplayersession.cpp | 2 +-
|
||||
src/plugins/multimedia/windows/player/mftvideo.cpp | 2 +-
|
||||
.../multimedia/windows/qwindowsvideodevices.cpp | 4 ++--
|
||||
13 files changed, 19 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/src/multimedia/configure.cmake b/src/multimedia/configure.cmake
|
||||
index 609806507..40b1b9b36 100644
|
||||
index fd69e8186..23657d9f5 100644
|
||||
--- a/src/multimedia/configure.cmake
|
||||
+++ b/src/multimedia/configure.cmake
|
||||
@@ -24,7 +24,6 @@ qt_find_package(WrapPulseAudio PROVIDED_TARGETS WrapPulseAudio::WrapPulseAudio M
|
||||
qt_find_package(WMF PROVIDED_TARGETS WMF::WMF MODULE_NAME multimedia QMAKE_LIB wmf)
|
||||
qt_find_package(EGL)
|
||||
|
||||
-qt_find_package(FFmpeg OPTIONAL_COMPONENTS AVCODEC AVFORMAT AVUTIL SWRESAMPLE SWSCALE PROVIDED_TARGETS FFmpeg::avcodec FFmpeg::avformat FFmpeg::avutil FFmpeg::swresample FFmpeg::swscale MODULE_NAME multimedia QMAKE_LIB ffmpeg)
|
||||
@@ -65,27 +65,6 @@ if(TARGET EGL::EGL)
|
||||
endif()
|
||||
qt_find_package(EGL PROVIDED_TARGETS EGL::EGL)
|
||||
|
||||
-# If FFMPEG_DIR is specified, we require FFmpeg to be present. This makes
|
||||
-# configuration problems easier to detect, and reduces risk of silent
|
||||
-# fallback to native backends.
|
||||
-if (DEFINED FFMPEG_DIR)
|
||||
- set(ffmpeg_required REQUIRED)
|
||||
-endif()
|
||||
-
|
||||
-qt_find_package(FFmpeg OPTIONAL_COMPONENTS AVCODEC AVFORMAT AVUTIL SWRESAMPLE SWSCALE PROVIDED_TARGETS FFmpeg::avcodec FFmpeg::avformat FFmpeg::avutil FFmpeg::swresample FFmpeg::swscale MODULE_NAME multimedia QMAKE_LIB ffmpeg ${ffmpeg_required})
|
||||
-qt_find_package_extend_sbom(
|
||||
- TARGETS
|
||||
- FFmpeg::avcodec
|
||||
- FFmpeg::avformat
|
||||
- FFmpeg::avutil
|
||||
- FFmpeg::swresample
|
||||
- FFmpeg::swscale
|
||||
- ATTRIBUTION_FILE_DIR_PATHS
|
||||
- # Need to pass an absolute path here, otherwise the file will be relative to the root of
|
||||
- # the source tree, not the current dir, because system libraries are processed in the
|
||||
- # source root directory.
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/ffmpeg
|
||||
-)
|
||||
qt_find_package(PipeWire PROVIDED_TARGETS PipeWire::PipeWire MODULE_NAME multimedia QMAKE_LIB pipewire)
|
||||
qt_find_package(VAAPI COMPONENTS VA DRM PROVIDED_TARGETS VAAPI::VAAPI MODULE_NAME multimedia QMAKE_LIB vaapi)
|
||||
|
||||
#### Tests
|
||||
@@ -76,7 +75,7 @@ qt_feature("ffmpeg" PRIVATE
|
||||
|
||||
@@ -138,7 +117,7 @@ qt_feature("ffmpeg" PRIVATE
|
||||
LABEL "FFmpeg"
|
||||
ENABLE INPUT_ffmpeg STREQUAL 'yes'
|
||||
DISABLE INPUT_ffmpeg STREQUAL 'no'
|
||||
- CONDITION FFmpeg_FOUND AND (APPLE OR WIN32 OR ANDROID OR QNX OR QT_FEATURE_pulseaudio)
|
||||
+ CONDITION UNIX OR WIN32
|
||||
)
|
||||
qt_feature("alsa" PUBLIC PRIVATE
|
||||
LABEL "ALSA (experimental)"
|
||||
diff --git a/src/plugins/multimedia/darwin/qdarwinintegration.mm b/src/plugins/multimedia/darwin/qdarwinintegration.mm
|
||||
index 5e26fe5c4..3e82655b0 100644
|
||||
--- a/src/plugins/multimedia/darwin/qdarwinintegration.mm
|
||||
+++ b/src/plugins/multimedia/darwin/qdarwinintegration.mm
|
||||
@@ -39,8 +39,7 @@ public:
|
||||
QDarwinIntegration::QDarwinIntegration()
|
||||
{
|
||||
#if defined(Q_OS_MACOS) && QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_11_0)
|
||||
- if (__builtin_available(macOS 11.0, *))
|
||||
- VTRegisterSupplementalVideoDecoderIfAvailable(kCMVideoCodecType_VP9);
|
||||
+ VTRegisterSupplementalVideoDecoderIfAvailable(kCMVideoCodecType_VP9);
|
||||
#endif
|
||||
m_videoDevices = new QAVFVideoDevices(this);
|
||||
}
|
||||
--
|
||||
2.39.0
|
||||
|
||||
qt_feature("pipewire" PRIVATE
|
||||
LABEL "PipeWire"
|
||||
|
|
15
contrib/depends/patches/qt/qtwayland-tabletevent-fix.patch
Normal file
15
contrib/depends/patches/qt/qtwayland-tabletevent-fix.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
|
||||
index f435b953..068834c2 100644
|
||||
--- a/src/client/qwaylandinputdevice.cpp
|
||||
+++ b/src/client/qwaylandinputdevice.cpp
|
||||
@@ -609,8 +609,10 @@ void QWaylandInputDevice::setCursor(const QCursor *cursor, const QSharedPointer<
|
||||
if (mPointer)
|
||||
mPointer->updateCursor();
|
||||
|
||||
+#if QT_CONFIG(tabletevent)
|
||||
if (mTabletSeat)
|
||||
mTabletSeat->updateCursor();
|
||||
+#endif
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt
|
||||
index aaa81286ab..39c197eeba 100644
|
||||
--- a/src/widgets/CMakeLists.txt
|
||||
+++ b/src/widgets/CMakeLists.txt
|
||||
@@ -693,7 +693,7 @@ if(QT_FEATURE_wizard)
|
||||
if(APPLE)
|
||||
set_source_files_properties(dialogs/qwizard.cpp
|
||||
PROPERTIES
|
||||
- LANGUAGE OBJCXX
|
||||
+ COMPILE_FLAGS "-x objective-c++"
|
||||
SKIP_PRECOMPILE_HEADERS ON
|
||||
)
|
||||
endif()
|
||||
diff --git a/tests/auto/corelib/io/qdebug/CMakeLists.txt b/tests/auto/corelib/io/qdebug/CMakeLists.txt
|
||||
index c9fd9c6df8..cef57a2186 100644
|
||||
--- a/tests/auto/corelib/io/qdebug/CMakeLists.txt
|
||||
+++ b/tests/auto/corelib/io/qdebug/CMakeLists.txt
|
||||
@@ -13,5 +13,5 @@ qt_internal_add_test(tst_qdebug
|
||||
)
|
||||
|
||||
if (APPLE)
|
||||
- set_source_files_properties(tst_qdebug.cpp PROPERTIES LANGUAGE OBJCXX)
|
||||
+ target_compile_options(tst_qdebug PRIVATE -x objective-c++)
|
||||
endif()
|
||||
diff --git a/tests/auto/corelib/io/qfileinfo/CMakeLists.txt b/tests/auto/corelib/io/qfileinfo/CMakeLists.txt
|
||||
index 4da51ce219..5fdc764e8a 100644
|
||||
--- a/tests/auto/corelib/io/qfileinfo/CMakeLists.txt
|
||||
+++ b/tests/auto/corelib/io/qfileinfo/CMakeLists.txt
|
||||
@@ -48,5 +48,5 @@ qt_internal_extend_target(tst_qfileinfo CONDITION WIN32
|
||||
)
|
||||
|
||||
if (APPLE)
|
||||
- set_source_files_properties(tst_qfileinfo.cpp PROPERTIES LANGUAGE OBJCXX)
|
||||
+ target_compile_options(tst_qfileinfo PRIVATE -x objective-c++)
|
||||
endif()
|
||||
diff --git a/tests/auto/gui/kernel/qwindow/CMakeLists.txt b/tests/auto/gui/kernel/qwindow/CMakeLists.txt
|
||||
index 5ddda80c2a..605761622f 100644
|
||||
--- a/tests/auto/gui/kernel/qwindow/CMakeLists.txt
|
||||
+++ b/tests/auto/gui/kernel/qwindow/CMakeLists.txt
|
||||
@@ -25,7 +25,7 @@ if(APPLE OR WIN32)
|
||||
)
|
||||
|
||||
if(APPLE)
|
||||
- set_source_files_properties(tst_foreignwindow.cpp PROPERTIES LANGUAGE OBJCXX)
|
||||
+ target_compile_options(tst_foreignwindow PRIVATE -x objective-c++)
|
||||
set_property(TARGET tst_foreignwindow PROPERTY PROPERTY MACOSX_BUNDLE TRUE)
|
||||
endif()
|
||||
endif()
|
||||
--
|
||||
2.40.1
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue