Merge pull request #121036 from eduardosm/sip-platform-tag

pythonPackages.sip_5: add `platform_tag` attribute
This commit is contained in:
Sandro 2021-04-29 05:52:46 +02:00 committed by GitHub
commit da63eb10bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 10 deletions

View File

@ -1,5 +1,4 @@
{ lib
, stdenv
, mkDerivation
, fetchurl
, poppler_utils
@ -42,18 +41,11 @@ mkDerivation rec {
++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
escaped_pyqt5_dir = builtins.replaceStrings ["/"] ["\\/"] (toString python3Packages.pyqt5);
platform_tag =
if stdenv.hostPlatform.isDarwin then
"WS_MACX"
else if stdenv.hostPlatform.isWindows then
"WS_WIN"
else
"WS_X11";
prePatch = ''
sed -i "s/\[tool.sip.project\]/[tool.sip.project]\nsip-include-dirs = [\"${escaped_pyqt5_dir}\/share\/sip\/PyQt5\"]/g" \
setup/build.py
sed -i "s/\[tool.sip.bindings.pictureflow\]/[tool.sip.bindings.pictureflow]\ntags = [\"${platform_tag}\"]/g" \
sed -i "s/\[tool.sip.bindings.pictureflow\]/[tool.sip.bindings.pictureflow]\ntags = [\"${python3Packages.sip_5.platform_tag}\"]/g" \
setup/build.py
# Remove unneeded files and libs

View File

@ -1,4 +1,4 @@
{ lib, fetchPypi, buildPythonPackage, packaging, toml }:
{ lib, stdenv, fetchPypi, buildPythonPackage, packaging, toml }:
buildPythonPackage rec {
pname = "sip";
@ -17,6 +17,20 @@ buildPythonPackage rec {
pythonImportsCheck = [ "sipbuild" ];
# FIXME: Why isn't this detected automatically?
# Needs to be specified in pyproject.toml, e.g.:
# [tool.sip.bindings.MODULE]
# tags = [PLATFORM_TAG]
platform_tag =
if stdenv.targetPlatform.isLinux then
"WS_X11"
else if stdenv.targetPlatform.isDarwin then
"WS_MACX"
else if stdenv.targetPlatform.isWindows then
"WS_WIN"
else
throw "unsupported platform";
meta = with lib; {
description = "Creates C++ bindings for Python modules";
homepage = "http://www.riverbankcomputing.co.uk/";