qscintilla: build packages for both Qt 5 and Qt 6 (#424399)

This commit is contained in:
Ivan Mincik 2025-07-16 17:44:44 +02:00 committed by GitHub
commit d3e3df1a10
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 28 additions and 16 deletions

View File

@ -1,6 +1,7 @@
{ {
stdenv,
lib, lib,
stdenv,
fetchurl, fetchurl,
unzip, unzip,
qtbase, qtbase,
@ -9,8 +10,11 @@
fixDarwinDylibNames, fixDarwinDylibNames,
}: }:
let
qtVersion = lib.versions.major qtbase.version;
in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "qscintilla-qt5"; pname = "qscintilla-qt${qtVersion}";
version = "2.14.1"; version = "2.14.1";
src = fetchurl { src = fetchurl {
@ -34,7 +38,6 @@ stdenv.mkDerivation (finalAttrs: {
postFixup = postFixup =
let let
libExt = stdenv.hostPlatform.extensions.sharedLibrary; libExt = stdenv.hostPlatform.extensions.sharedLibrary;
qtVersion = lib.versions.major qtbase.version;
in in
'' ''
ln -s $out/lib/libqscintilla2_qt${qtVersion}${libExt} $out/lib/libqscintilla2${libExt} ln -s $out/lib/libqscintilla2_qt${qtVersion}${libExt} $out/lib/libqscintilla2${libExt}

View File

@ -1,26 +1,27 @@
{ {
lib, lib,
stdenv,
pythonPackages, pythonPackages,
qmake,
qscintilla, qscintilla,
qtbase, qtbase,
qmake, qtmacextras ? null,
qtmacextras,
stdenv,
}: }:
let let
qtVersion = lib.versions.major qtbase.version;
pyQtPackage = pythonPackages."pyqt${qtVersion}";
inherit (pythonPackages) inherit (pythonPackages)
buildPythonPackage
isPy3k isPy3k
python python
sip sip
sipbuild
pyqt5
pyqt-builder pyqt-builder
; ;
in in
buildPythonPackage { pythonPackages.buildPythonPackage {
pname = "qscintilla-qt5"; pname = "qscintilla-qt${qtVersion}";
version = qscintilla.version; version = qscintilla.version;
src = qscintilla.src; src = qscintilla.src;
format = "pyproject"; format = "pyproject";
@ -34,17 +35,21 @@ buildPythonPackage {
qscintilla qscintilla
pythonPackages.setuptools pythonPackages.setuptools
]; ];
buildInputs = [ qtbase ]; buildInputs = [ qtbase ];
propagatedBuildInputs = [ pyqt5 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ qtmacextras ];
propagatedBuildInputs = [
pyQtPackage
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ qtmacextras ];
dontWrapQtApps = true; dontWrapQtApps = true;
postPatch = postPatch =
'' ''
cd Python cd Python
cp pyproject-qt5.toml pyproject.toml cp pyproject-qt${qtVersion}.toml pyproject.toml
echo '[tool.sip.project]' >> pyproject.toml echo '[tool.sip.project]' >> pyproject.toml
echo 'sip-include-dirs = [ "${pyqt5}/${python.sitePackages}/PyQt5/bindings"]' \ echo 'sip-include-dirs = [ "${pyQtPackage}/${python.sitePackages}/PyQt${qtVersion}/bindings"]' \
>> pyproject.toml >> pyproject.toml
'' ''
+ lib.optionalString stdenv.hostPlatform.isDarwin '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
@ -75,7 +80,7 @@ buildPythonPackage {
# Checked using pythonImportsCheck # Checked using pythonImportsCheck
doCheck = false; doCheck = false;
pythonImportsCheck = [ "PyQt5.Qsci" ]; pythonImportsCheck = [ "PyQt${qtVersion}.Qsci" ];
meta = with lib; { meta = with lib; {
description = "Python binding to QScintilla, Qt based text editing control"; description = "Python binding to QScintilla, Qt based text editing control";

View File

@ -15157,7 +15157,11 @@ self: super: with self; {
qscintilla = self.qscintilla-qt5; qscintilla = self.qscintilla-qt5;
qscintilla-qt5 = pkgs.libsForQt5.callPackage ../development/python-modules/qscintilla-qt5 { qscintilla-qt5 = pkgs.libsForQt5.callPackage ../development/python-modules/qscintilla {
pythonPackages = self;
};
qscintilla-qt6 = pkgs.qt6Packages.callPackage ../development/python-modules/qscintilla {
pythonPackages = self; pythonPackages = self;
}; };