microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.31k stars 6.19k forks source link

[gtkmm] Update to new version #19519

Closed MrAviator93 closed 2 years ago

MrAviator93 commented 2 years ago

Library name: gtkmm4

Library description: gtkmm is a C++ wrapper for GTK, a library used to create graphical user interfaces. It is licensed using the LGPL license, so you can develop open software, free software, or even commercial non-free software using gtkmm without purchasing licenses

Source repository URL: https://developer-old.gnome.org/gtkmm-tutorial/4.0/chapter-installation.html.en

Project homepage (if different from the source repository): https://developer-old.gnome.org/

Anything else that is useful to know when adding (such as optional features the library may have that should be included): There is already a gtkmm 3.22.2 in the vcpkg but no gtkmm4 support. It would be really useful to have this port.

Neumann-A commented 2 years ago

@JonLiu1993 Wrong tag-> should be port-update of gtkmm

JonLiu1993 commented 2 years ago

@JonLiu1993 Wrong tag-> should be port-update of gtkmm

@Neumann-A ,Thanks for your reminder, I made a mistake.

MrAviator93 commented 2 years ago

Well, it would be logical to create a new port as gtkmm4 has major changes from gtkmm3 ( the one we currently have on vcpkg ).

MrAviator93 commented 2 years ago

Colleagues, just before posting the post we had a working gtkmm 3.22.2 version available in vcpkg. I have no idea what has happened but there is a new version available of gtkmm now, which is:

gtkmm 4.0.1 gtkmm is the official C++ interface for the popular GUI library GTK+.

And it failed to be build (I will post the failure after some investigation)

Previously there was: gtkmm 3.22.2 gtkmm is the official C++ interface for the popular GUI library GTK+.

But now doesn't exist, I am unable to build my old projects using vcpkg.

MrAviator93 commented 2 years ago

So the gtkmm 4.0 was installed Computing installation plan... The following packages are already installed: gtkmm[core]:x64-windows -> 4.0.1 Package gtkmm:x64-windows is already installed

Total elapsed time: 437.2 us

cmake_minimum_required( VERSION "3.20.0" )

project( TestProject VERSION 1.0 LANGUAGES CXX )

if ( WIN32 ) add_compile_definitions( _WIN32_WINNT=0x0A00 )

set( VCPKG_TARGET_TRIPLET "x64-windows-static" CACHE STRING "We are building for x64 platform static libraries." )

# set( VCPKG_TARGET_TRIPLET "x64-windows" CACHE STRING "We are building for x64 platform libraries." )
include( "C:/vcpkg/scripts/buildsystems/vcpkg.cmake" )

endif()

include( FindPkgConfig ) pkg_check_modules( gtkmm gtkmm-4.0 REQUIRED )

No matter what I do I get:

-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19043. -- Checking for module 'gtkmm-4.0' -- No package 'gtkmm-4.0' found

The pkg-config is the lite version provided by chocolatey. It finds any other packages but not this one. Any suggestments?

JonLiu1993 commented 2 years ago

@Neumann-A ,Could you please take a look?

Neumann-A commented 2 years ago

Try from a newly checkout vcpkg instance. I don't see a reason for failure unless some dependency does not have a working pkg-config file or there are old installed dependencies. Otherwise you need to figure out why pkg-config decides to reject the gtkmm-4.0.pc within vcpkg.

MrAviator93 commented 2 years ago

Could it be because package config for gtkmm is missing somewhere for example here: vcpkg\installed\x64-windows-static\lib\pkgconfig ?

Neumann-A commented 2 years ago

missing somewhere: vcpkg\installed\x64-windows-static\lib\pkgconfig ?

Can this even be build ? As far as I can remember the chain depends on glib which is not buildable in static triplets.

MrAviator93 commented 2 years ago

Uhh, sorry, you are right, it was yesterday night time when I was checking it, half way asleep. I will give it another try today, will report if any luck.

MrAviator93 commented 2 years ago

Again tried different ways but always the same: Checking for module 'gtkmm-4.0' No package 'gtkmm-4.0' found

I did try with other names as well.

Also tried to reinstall vcpkg, but mine was already up to date and tried to reinstall the gtkmm package .\vcpkg.exe install gtkmm:x64-windows

And it fails when building the fontconfig: Error: Building package fontconfig:x64-windows failed with: BUILD_FAILED

-- Using msys root at C:/vcpkg/downloads/tools/msys2/aa5af7b2aa7e90e8 -- Generating configure for x64-windows CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message): Command failed: C:/vcpkg/downloads/tools/msys2/2f5e2150b81fcd06/usr/bin/bash.exe --noprofile --norc --debug -c "autoreconf -vfi" Working Directory: C:/vcpkg/buildtrees/fontconfig/src/75c13b2421-7d202e6ff4.clean/ Error code: 1 See logs for more information: C:\vcpkg\buildtrees\fontconfig\autoconf-x64-windows-out.log C:\vcpkg\buildtrees\fontconfig\autoconf-x64-windows-err.log

Call Stack (most recent call first): scripts/cmake/vcpkg_configure_make.cmake:633 (vcpkg_execute_required_process) ports/fontconfig/portfile.cmake:26 (vcpkg_configure_make) scripts/ports.cmake:140 (include)

Error: Building package fontconfig:x64-windows failed with: BUILD_FAILED Please ensure you're using the latest portfiles with .\vcpkg update, then submit an issue at https://github.com/Microsoft/vcpkg/issues including: Package: fontconfig:x64-windows Vcpkg version: 2021-08-12-85ab112d5ee102bc6eac8cdbbfdd173a71374e04

No luck so far ... only more problems

JonLiu1993 commented 2 years ago

Gtkmm have update to 4.0.1 by pr #17669, Please update vcpkg to the latest and try again.