Skip to content

Conversation

@jkells
Copy link
Contributor

@jkells jkells commented May 23, 2025

This PR improves pr-downloader to build on MacOS on Apple Silicon. It should also now build on ARM linux.
I'm aware there is a lot of work to get the engine running on Mac.

Baby steps.

@p2004a
Copy link
Collaborator

p2004a commented May 23, 2025

Have you tested the output binary and that it is able to download stuff?

@jkells
Copy link
Contributor Author

jkells commented May 24, 2025

I certainly did!

 mkdir -p /tmp/pr-downloader-test && ./src/pr-downloader dev-game:test "Angel Crossing 1.4"  --filesystem-writepath=/tmp/pr-downloader-test
pr-downloader 0.7-762-g577bc33 (macos_arm64)
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/FileSystem/FileSystem.cpp:203:setWritePath():Using filesystem-writepath: /tmp/pr-downloader-test
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/pr-downloader.cpp:191:DownloadSetConfig():Free disk space: 55529 MB
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/CurlWrapper.cpp:32:DumpVersion():libcurl 8.7.1 SecureTransport (LibreSSL/3.3.6)
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/CurlWrapper.cpp:81:ConfigureCertificates():CURLOPT_CAINFO is nullptr (can be overriden by PRD_SSL_CERT_FILE env variable)
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/CurlWrapper.cpp:83:ConfigureCertificates():CURLOPT_CAPATH is nullptr (can be overriden by PRD_SSL_CERT_DIR env variable)
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:732:download():Download: num files: 1, protocol: HTTP/1.1, to first byte: 863.292ms, transfer: 863.404ms, num retried errors: 0
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/Rapid/RapidDownloader.cpp:254:ParseFD():Found 50 repos in /tmp/pr-downloader-test/rapid/repos.springrts.com/repos.gz
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:732:download():Download: num files: 50, protocol: HTTP/1.1, to first byte: [max: 866.031ms 95%: 862.027ms median: 283.210ms mean: 344.250ms], transfer: [max: 1976.567ms 95%: 1703.738ms median: 827.437ms mean: 797.838ms], num retried errors: 0
* Host springfiles.springrts.com:443 was resolved.
* IPv6: (none)
* IPv4: 78.46.21.29
*   Trying 78.46.21.29:443...
* Connected to springfiles.springrts.com (78.46.21.29) port 443
* ALPN: curl offers h2,http/1.1
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 / [blank] / UNDEF
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: CN=springfiles.springrts.com
*  start date: Apr 19 07:19:38 2025 GMT
*  expire date: Jul 18 07:19:37 2025 GMT
*  subjectAltName: host "springfiles.springrts.com" matched cert's "springfiles.springrts.com"
*  issuer: C=US; O=Let's Encrypt; CN=R10
*  SSL certificate verify ok.
* using HTTP/1.x
> GET /json.php?springname=Angel%20Crossing%201.4 HTTP/1.1
Host: springfiles.springrts.com
User-Agent: pr-downloader/0.7-762-g577bc33
Accept: */*

* Request completely sent off
< HTTP/1.1 200 OK
< Date: Sat, 24 May 2025 08:40:35 GMT
< Server: Apache/2.4.62 (Debian)
< Transfer-Encoding: chunked
< Content-Type: application/json
< 
* Connection #0 to host springfiles.springrts.com left intact
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/Rapid/RapidDownloader.cpp:78:download_name():[Download] dev-game test-88-b4fd320
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:732:download():Download: num files: 1, protocol: HTTP/1.1, to first byte: 282.060ms, transfer: 282.153ms, num retried errors: 0
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:381:downloadStream():Using rapid
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:382:downloadStream():https://repos.springrts.com/dev-game/streamer.cgi?43371108ccfe6c4f4c5a84d897cd3c04
[Info] /Users/jkells/projects/RecoilEngine/tools/pr-downloader/src/main.cpp:185:main():Download complete!

du -hs /tmp/pr-downloader-test

2.6M	/tmp/pr-downloader-test

@jkells
Copy link
Contributor Author

jkells commented May 24, 2025

I've also fixed the formatting which should resolve that github action failure

@p2004a
Copy link
Collaborator

p2004a commented May 24, 2025

Thank you! I will update submodule in engine repo in a moment.

@p2004a p2004a merged commit 8263d01 into beyond-all-reason:master May 24, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants