Commit Graph

19 Commits

Author SHA1 Message Date
Rob Woolley 9fd5ae9132 sip3: Fix segmentation fault
The first version of this patch introduced a problem with python3-pyqt5.
Python emitted the following error message when one attempted to import
PyQt5.Qt:

  ImportError: dynamic module does not define module export function (PyInit_Qt)

This came about due to segfault in sip when executed in do_configure of
python3-pyqt5.  This resulted in a zero-length sipQtcmodule.c file being
produced.  This compiled successfully which meant no build failure was
observed.

The segfault was caused by a mistake in backporting the patch from SIP 6.
The generateCompositeCpp() function uses the generate_include_sip_h()
helper function in later versions which doesn't exist in SIP 4.

We must replace the first parameter passed to isPY_SSIZE_T_CLEAN() from
mod to pt->module to account for this. The change is not necessary for
generateInternalAPIHeader()

To simplify the patch we can remove the generated lexer and parser files
and run flex and bison in do_configure instead.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Tested-by: Toby Flynn <campingandskiing@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2024-06-27 11:21:40 -04:00
Rob Woolley 1cd6f3e074 sip3: Add py_ssize_t_clean argument
An unintentional breakage was made upstream in sip4 which results
in builds reporting: QtCoremod.sip:23: syntax error

This was reported in Debian, but not resolved:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998605

A backport of a fix from the upstream project fixes the parser to
prevent it from complaining about the syntax error.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2024-01-12 07:14:16 -05:00
Rob Woolley b1e99bedbf sip3: Add sipconfig.py
Add the destdir option to ensure that sipconfig.py gets installed to the
site-packages directory and included in python3-sip3.

Remove references to the build paths from sipconfig.py as part of the
install stage.  One may then prepend STAGING_DIR_NATIVE to sip_bin and
STAGING_DIR_TARGET to *_dir in any recipe that uses sipconfig.py.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2024-01-12 07:14:16 -05:00
Khem Raj 14c7d8a0d7 recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
S. Lockwood-Childs 5fe362171c sip3: simplify recipe
The custom configure block can be shared between target
and native if you just configure the sysroot option accordingly
and use STAGING_INCDIR to locate the python headers to build
against.

Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-01-25 14:58:54 -08:00
Leon Anavi 358b398258 sip3: Upgrade 4.19.19 -> 4.19.23
Upgrade to release 4.19.23:

- Added some missing quotes to configure.py
- Fixed a race condition when calling the PyQt5-specific meta-call
  helper.
- Fixed the wrapping of methods that return a Py_Ssize_t.
- The code generator now distinguishes between the copy/assignment
  helper and the array helper when determining which helpers can
  be generated.
- Fixed the code generation when making a copy of C++ object on
  the stack to the heap when the class has no suitable ctor.
- Check there is a public copy ctor when we can't using an
  assigment operator as a workaround.
- Preserve any current exception in the implementation of the
  wrapper dealloc functions.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-17 15:11:21 -07:00
Leon Anavi 2bc281393a sip3: Consolidate in a single file
Consolidate inc and bb files into a single bb file.
Fix the broken link for HOMEPAGE.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-17 15:11:21 -07:00
Khem Raj c9e0f7dc69 sip: Delete python2 version
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-22 09:56:35 -08:00
Khem Raj 5057746583 meta-oe: Remove using python2
This change makes the parsing go though, we still might have build
issues, which will be reported in world builds seprately

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-22 09:56:34 -08:00
Khem Raj 44f4f89d7d sip: Upgrade to 4.19.19
Needed for QT 5.13 based python modules

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-11-10 07:52:39 -08:00
Philip Balister d42cce95a8 sip: Update to 4.19.16.
* Note SRC_URI changed from SourceForge to Riverbank

Signed-off-by: Philip Balister <philip@opensdr.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-04-16 21:07:25 -07:00
Philip Balister 7d892a14ef sip: Add python3 version of the sip recipe.
Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-04 16:08:47 -07:00
Philip Balister 0597b5c0ba sip: Update to 4.19.13.
* Deleted patch is in new version.

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-04 16:07:55 -07:00
Philip Balister b82388509c sip: Fix packaging so python module ends up in the right place.
* The patch is generated by diffing the last release with the sip Hg
   repo tip. Also have to run the build script to update configure.py.

Signed-off-by: Philip Balister <philip@balister.org>
2018-09-24 18:10:43 -07:00
Philip Balister 26f251fb1e sip: Update from 4.19.8 to 4.19.12.
* This builds the private sip module for building PyQt5. In the
   future we should split into a -tools and -modules. But lets fix
   building for now

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-08 00:07:52 -07:00
Diego Rondini 50b0ed791d sip: update recipe to 4.19.8
Update sip to latest version to allow update of PyQt.

Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
2018-05-01 18:12:48 -07:00
Philip Balister 229f824568 sip: update recipe to 4.19.2.
* Needed for PyQt-5.8.2, a recipe I am looking at again.

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-05-23 15:49:39 +02:00
Andreas Müller 9b1ef52386 sip: re-add 4.19
* This recipe is based upon the version in meta-qt4 but that one requires qmake
  for configuration and qt4-x11 in dependencies.
  It was tested by building sip-native and sip from scratch: There is no need for
  a dependency on Qt.
* Since pyqt5 will be added in meta-qt5-extra and meta-qt4
  needs sip too: add it to a more common place.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-01-25 15:58:54 +01:00