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

View File

@ -1,26 +1,27 @@
{
lib,
stdenv,
pythonPackages,
qmake,
qscintilla,
qtbase,
qmake,
qtmacextras,
stdenv,
qtmacextras ? null,
}:
let
qtVersion = lib.versions.major qtbase.version;
pyQtPackage = pythonPackages."pyqt${qtVersion}";
inherit (pythonPackages)
buildPythonPackage
isPy3k
python
sip
sipbuild
pyqt5
pyqt-builder
;
in
buildPythonPackage {
pname = "qscintilla-qt5";
pythonPackages.buildPythonPackage {
pname = "qscintilla-qt${qtVersion}";
version = qscintilla.version;
src = qscintilla.src;
format = "pyproject";
@ -34,17 +35,21 @@ buildPythonPackage {
qscintilla
pythonPackages.setuptools
];
buildInputs = [ qtbase ];
propagatedBuildInputs = [ pyqt5 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ qtmacextras ];
propagatedBuildInputs = [
pyQtPackage
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ qtmacextras ];
dontWrapQtApps = true;
postPatch =
''
cd Python
cp pyproject-qt5.toml pyproject.toml
cp pyproject-qt${qtVersion}.toml 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
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
@ -75,7 +80,7 @@ buildPythonPackage {
# Checked using pythonImportsCheck
doCheck = false;
pythonImportsCheck = [ "PyQt5.Qsci" ];
pythonImportsCheck = [ "PyQt${qtVersion}.Qsci" ];
meta = with lib; {
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-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;
};