unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: "Simen Endsjø" <contact@simendsjo.me>
To: help-guix@gnu.org
Subject: Building mysql-workbench-community cannot find cairo.h
Date: Sun, 20 Oct 2024 18:41:48 +0200	[thread overview]
Message-ID: <87784640-6cd3-459e-a5cf-5d706f6d304f@app.fastmail.com> (raw)

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	other threads:[~2024-10-21  5:40 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-20 16:41 Simen Endsjø [this message]
2024-10-21 18:36 ` Building mysql-workbench-community cannot find cairo.h Luis Felipe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87784640-6cd3-459e-a5cf-5d706f6d304f@app.fastmail.com \
    --to=contact@simendsjo.me \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).