Hi, I need some help packaging mysql-workbench.

I'm using
https://git.sr.ht/~yewscion/yewscion-guix-channel/tree/trunk/item/cdr255/utils.scm#L985
as a base. That channel doesn't work, but it seems pretty complete although
maybe not 100% up to date.

I pushed my changes to a branch in case someone want to give it a go:
https://codeberg.org/simendsjo/dotfiles/src/branch/wip-mysql-package/sijo/packages/mysql.scm#L117

When trying to build this, I get an error:
        
/tmp/guix-build-mysql-workbench-community-8.0.40-1.a7478f6.drv-0/source/library/forms/swig/cairo.i:180:
 Error: Unable to find 'cairo/cairo.h'

The line in question is :
        %include <cairo/cairo.h>

The environment-variables file,
/tmp/guix-build-mysql-workbench-community-8.0.40-1.a7478f6.drv-0/environment-variables,
includes many libraries, including cairo:

        export C_INCLUDE_PATH=\
        "/gnu/store/hhyz3rnzkvif1qf0cpbssx2lwc7md7pb-cairo-1.18.0/include"

        export CMAKE_PREFIX_PATH=\
        "/gnu/store/hhyz3rnzkvif1qf0cpbssx2lwc7md7pb-cairo-1.18.0/"

        export CPLUS_INCLUDE_PATH=\
        "/gnu/store/hhyz3rnzkvif1qf0cpbssx2lwc7md7pb-cairo-1.18.0/include"

cairo.h is located at this path:
        
/gnu/store/hhyz3rnzkvif1qf0cpbssx2lwc7md7pb-cairo-1.18.0/include/cairo/cairo.h

But maybe C_INCLUDE_PATH and CPLUS_INCLUDE_PATH is not used here?

I don't know CMake or much C, but maybe the CMakeLists.txt includes some
information? Here is some parts from the file which looks relevant.
/tmp/guix-build-mysql-workbench-community-8.0.40-1.a7478f6.drv-0/source/library/forms/swig/CMakeLists.txt:

    set(CMAKE_SWIG_FLAGS -w312)
    set_source_files_properties(cairo.i PROPERTIES CPLUSPLUS ON)
    set_property(SOURCE cairo.i PROPERTY SWIG_FLAGS -DCAIRO_HAS_PNG_FUNCTIONS=1 
-fcompact -DSWIG_PYTHON_LEGACY_BOOL -I/usr/include)
    if(CMAKE_VERSION VERSION_LESS 3.8)
      swig_add_module(cairo python cairo.i)
    else()
      swig_add_library(cairo LANGUAGE python SOURCES cairo.i)
    endif()
    swig_link_libraries(cairo ${CAIRO_LIBRARIES})

    target_include_directories(_cairo
     SYSTEM
      PRIVATE
        ${PYTHON_INCLUDE_DIRS}
    )

    if (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") AND (GCC_VERSION 
VERSION_GREATER 4.6 OR GCC_VERSION VERSION_EQUAL 4.6))
      target_compile_options(_cairo PRIVATE -Wno-unused-but-set-variable)
    endif()
    if (GCC_VERSION)
      target_compile_options(_cairo PRIVATE -Wno-error)
    endif()

    target_compile_options(_cairo PRIVATE ${WB_CXXFLAGS})

Regards Simen

Reply via email to