Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ngtcp2] new port #26955

Merged
merged 15 commits into from
Dec 2, 2022
Merged

[ngtcp2] new port #26955

merged 15 commits into from
Dec 2, 2022

Conversation

talregev
Copy link
Contributor

Describe the pull request
Add new port: ngtcp2 to compile curl with http3.

  • Which triplets are supported/not supported? Have you updated the CI baseline?

    all

  • Does your PR follow the maintainer guide?

    Yes

  • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

    Yes

If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

github-actions[bot]
github-actions bot previously approved these changes Sep 23, 2022
github-actions[bot]
github-actions bot previously approved these changes Sep 23, 2022
github-actions[bot]
github-actions bot previously approved these changes Sep 23, 2022
github-actions[bot]
github-actions bot previously approved these changes Sep 24, 2022
@talregev
Copy link
Contributor Author

@Thomas1664 Any more review?

@Thomas1664
Copy link
Contributor

@Thomas1664 Any more review?

No, that's all.

@FrankXie05 FrankXie05 added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Sep 26, 2022
@FrankXie05
Copy link
Contributor

@talregev The current port does not provide usage, if it is not header-only, we need to add the usage file. :)

PS E:\NEW-PORT\vcpkg> ./vcpkg install ngtcp2                                                                            
Computing installation plan...                                                                                          
The following packages will be built and installed:                                                                         
  ngtcp2[core]:x86-windows -> 0.9.0                                                                                     
* vcpkg-cmake[core]:x64-windows -> 2022-08-18                                                                         
Additional packages (*) will be modified to complete this operation.                                                    
Detecting compiler hash for triplet x64-windows...                                                                      
A suitable version of powershell-core was not found (required v7.2.5). Downloading portable powershell-core v7.2.5...   
Downloading powershell-core...                                                                                           
 https://github.com/PowerShell/PowerShell/releases/download/v7.2.5/PowerShell-7.2.5-win-x86.zip -> E:\NEW-PORT\vcpkg\downloads\PowerShell-7.2.5-win-x86.zip                            
 Extracting powershell-core...                                                                                           
 Detecting compiler hash for triplet x86-windows...                                                                      
 A suitable version of 7zip was not found (required v21.7.0). Downloading portable 7zip v21.7.0...                       
 Downloading 7zip...                                                                                                     
 https://www.7-zip.org/a/7z2107-extra.7z -> E:\NEW-PORT\vcpkg\downloads\7z2107-extra.7z                               
 Extracting 7zip...                                                                                                   
 Restored 1 package(s) from C:\Users\test\AppData\Local\vcpkg\archives in 2.313 s. Use --debug to see more details.Installing 1/2 vcpkg-cmake:x64-windows...     
 Elapsed time to handle vcpkg-cmake:x64-windows: 15.59 ms                                                                I
 nstalling 2/2 ngtcp2:x86-windows...                                                                                   
 Building ngtcp2[core]:x86-windows...                                                                                   
 -- Downloading https://github.com/ngtcp2/ngtcp2/archive/v0.9.0.tar.gz -> ngtcp2-ngtcp2-v0.9.0.tar.gz...                 
 -- Extracting source E:/NEW-PORT/vcpkg/downloads/ngtcp2-ngtcp2-v0.9.0.tar.gz                                            
 -- Using source at E:/NEW-PORT/vcpkg/buildtrees/ngtcp2/src/v0.9.0-1b4858c4ba.clean                                      
 -- Found external ninja('1.10.2').                                                                                      
 -- Configuring x86-windows                                                                                              
 -- Building x86-windows-dbg                                                                                             
 -- Building x86-windows-rel                                                                                             
 -- Fixing pkgconfig file: E:/NEW-PORT/vcpkg/packages/ngtcp2_x86-windows/lib/pkgconfig/libngtcp2.pc                      
 -- Downloading https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst;https://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst;https://mirror.yandex.ru/mirrors/msys2/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst;https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst;https://mirrors.ustc.edu.cn/msys2/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst;https://mirror.bit.edu.cn/msys2/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst;https://mirror.selfnet.de/msys2/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst;https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst -> msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst...                                                                                                 -- Downloading https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst;https://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst;https://mirror.yandex.ru/mirrors/msys2/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst;https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst;https://mirrors.ustc.edu.cn/msys2/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst;https://mirror.bit.edu.cn/msys2/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst;https://mirror.selfnet.de/msys2/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst;https://mirrors.sjtug.sjtu.edu.cn/msys2/mingw/i686/mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst -> msys-mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst...                            -- Using msys root at E:/NEW-PORT/vcpkg/downloads/tools/msys2/9a1ec3f33446b195                                          
 -- Fixing pkgconfig file: E:/NEW-PORT/vcpkg/packages/ngtcp2_x86-windows/debug/lib/pkgconfig/libngtcp2.pc                
 -- Installing: E:/NEW-PORT/vcpkg/packages/ngtcp2_x86-windows/share/ngtcp2/copyright                                    
 -- Performing post-build validation                                                                                    
 -- Performing post-build validation done                                                                               
 Stored binary cache: "C:\Users\test\AppData\Local\vcpkg\archives\40\409d18c9fcbb48aa6f4bdef626eaf3a297a6d835031c40d04ed7083395356529.zip"    
 Elapsed time to handle ngtcp2:x86-windows: 48.83 s     
 
 Total elapsed time: 1.339 min                                             
 
PS E:\NEW-PORT\vcpkg> 

@talregev
Copy link
Contributor Author

talregev commented Sep 26, 2022

Then we need to wait for openssl 3.1.
Because it needed openssl with quic.
I don't want to add a similar port of openssl with quic and make confusion.

FrankXie05
FrankXie05 previously approved these changes Sep 26, 2022
@FrankXie05 FrankXie05 added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Sep 26, 2022
@dg0yt
Copy link
Contributor

dg0yt commented Sep 26, 2022

How is usage connected to openssl 3.1? Isn't this port usable at the moment?

@FrankXie05
Copy link
Contributor

Sorry I got the label wrong.

@FrankXie05 FrankXie05 added requires:author-response and removed info:reviewed Pull Request changes follow basic guidelines labels Sep 26, 2022
@FrankXie05
Copy link
Contributor

@talregev If we don't add usage, how will we use this port? :)

github-actions[bot]
github-actions bot previously approved these changes Oct 12, 2022
ports/ngtcp2/portfile.cmake Outdated Show resolved Hide resolved
github-actions[bot]
github-actions bot previously approved these changes Oct 13, 2022
"description": "ngtcp2 project is an effort to implement RFC9000 QUIC protocol.",
"homepage": "https://github.com/ngtcp2/ngtcp2",
"license": "MIT",
"supports": "!(arm & uwp)",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is a reason to don't support ARM and UWP ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PS E:\NEW-PORT\vcpkg> ./vcpkg install ngtcp2:arm64-uwp                                                                  
Computing installation plan...                                                                                          
The following packages will be built and installed:                                                                         
    ngtcp2[core]:arm64-uwp -> 0.9.0                                                                                     
Detecting compiler hash for triplet arm64-uwp...                                                                        
Restored 0 package(s) from C:\Users\test\AppData\Local\vcpkg\archives in 670.4 us. Use --debug to see more details.                                                                                                                       
Installing 1/1 ngtcp2:arm64-uwp...                                                                                      
Building ngtcp2[core]:arm64-uwp...                                                                                      
warning: -- Using community triplet arm64-uwp. This triplet configuration is not guaranteed to succeed.                 
-- [COMMUNITY] Loading triplet configuration from: E:\NEW-PORT\vcpkg\triplets\community\arm64-uwp.cmake                
 -- Using cached ngtcp2-ngtcp2-v0.9.0.tar.gz.                                                                          
 -- Cleaning sources at E:/NEW-PORT/vcpkg/buildtrees/ngtcp2/src/v0.9.0-3f45192599.clean. Use --editable to skip cleaning for the packages you specify.   
 -- Extracting source E:/NEW-PORT/vcpkg/downloads/ngtcp2-ngtcp2-v0.9.0.tar.gz                                          
 -- Applying patch export-unofficical-target.patch                                                                  
 -- Using source at E:/NEW-PORT/vcpkg/buildtrees/ngtcp2/src/v0.9.0-3f45192599.clean                                 
 -- Found external ninja('1.10.2').                                                                                 
 -- Configuring arm64-uwp                                                                                          
 -- Building arm64-uwp-dbg                                                                                         
 -- Building arm64-uwp-rel                                                                                         
 -- Fixing pkgconfig file: E:/NEW-PORT/vcpkg/packages/ngtcp2_arm64-uwp/lib/pkgconfig/libngtcp2.pc                 
 -- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.                                        
 -- Using cached msys-mingw-w64-i686-libwinpthread-git-9.0.0.6373.5be8fcd83-1-any.pkg.tar.zst.                   
 -- Using msys root at E:/NEW-PORT/vcpkg/downloads/tools/msys2/9a1ec3f33446b195                                  
 -- Fixing pkgconfig file: E:/NEW-PORT/vcpkg/packages/ngtcp2_arm64-uwp/debug/lib/pkgconfig/libngtcp2.pc         
 -- Installing: E:/NEW-PORT/vcpkg/packages/ngtcp2_arm64-uwp/share/ngtcp2/copyright                              
 -- Performing post-build validation                                                                                
 -- Performing post-build validation done                                                                        
 Stored binary cache: "C:\Users\test\AppData\Local\vcpkg\archives\f3\f38f92f0d703820d5235f9b77e5a55c75db812ff40f6382bdc38cec9e5c231d8.zip"           
 Elapsed time to handle ngtcp2:arm64-uwp: 50.21 s                                      
 
 Total elapsed time: 1.178 min                                                       
 
 ngtcp2 provides CMake targets: 
 
    # this is heuristically generated, and may not be correct                        
    find_package(ngtcp2 CONFIG REQUIRED)                                                  
    target_link_libraries(main PRIVATE unofficial::ngtcp2::ngtcp2)  
    
 PS E:\NEW-PORT\vcpkg>

I can build successfully locally, but arm-uwp is community triplet, we currently cannot guarantee that it can be used normally in subsequent updates.

@FrankXie05 FrankXie05 requested a review from Adela0814 November 17, 2022 07:29
Adela0814
Adela0814 previously approved these changes Nov 18, 2022
@Adela0814 Adela0814 added the info:reviewed Pull Request changes follow basic guidelines label Nov 22, 2022
ports/ngtcp2/vcpkg.json Outdated Show resolved Hide resolved
@JavierMatosD JavierMatosD added requires:author-response and removed info:reviewed Pull Request changes follow basic guidelines labels Nov 22, 2022
@FrankXie05 FrankXie05 added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Dec 2, 2022
@JavierMatosD
Copy link
Contributor

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:new-port The issue is requesting a new library to be added; consider making a PR! info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants