aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/pyside2-tools
diff options
context:
space:
mode:
authorKaiden Fey <kookie@spacekookie.de>2020-09-19 15:00:33 +0200
committerKatharina Fey <kookie@spacekookie.de>2020-09-19 15:00:33 +0200
commite0800985dab8f8ebb4cebdfd7e361fd1fafdb2a7 (patch)
tree289f43c72dd1fffeec4eb18ced05ae91e50c179a /nixpkgs/pkgs/development/python-modules/pyside2-tools
parent5581b5521e14317c3507a6e8451a3f14996e5c4d (diff)
parent441a7da8080352881bb52f85e910d8855e83fc55 (diff)
Merge commit '441a7da8080352881bb52f85e910d8855e83fc55'
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/pyside2-tools')
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside2-tools/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside2-tools/remove_hacky_binary_copying.patch50
2 files changed, 65 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/pyside2-tools/default.nix b/nixpkgs/pkgs/development/python-modules/pyside2-tools/default.nix
index a96ea5d32ff..9f1f94ffecb 100644
--- a/nixpkgs/pkgs/development/python-modules/pyside2-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyside2-tools/default.nix
@@ -6,6 +6,13 @@ stdenv.mkDerivation {
inherit (pyside2) version src;
+ patches = [
+ # Upstream has a crazy build system only geared towards producing binary
+ # wheels distributed via pypi. For this, they copy the `uic` and `rcc`
+ # binaries to the wheel.
+ ./remove_hacky_binary_copying.patch
+ ];
+
postPatch = ''
cd sources/pyside2-tools
'';
@@ -18,8 +25,16 @@ stdenv.mkDerivation {
"-DBUILD_TESTS=OFF"
];
+ # The upstream build system consists of a `setup.py` whichs builds three
+ # different python libraries and calls cmake as a subprocess. We call cmake
+ # directly because that's easier to get working. However, the `setup.py`
+ # build also creates a few wrapper scripts, which we replicate here:
postInstall = ''
rm $out/bin/pyside_tool.py
+
+ for tool in uic rcc; do
+ makeWrapper "$(command -v $tool)" $out/bin/pyside2-$tool --add-flags "-g python"
+ done
'';
postFixup = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyside2-tools/remove_hacky_binary_copying.patch b/nixpkgs/pkgs/development/python-modules/pyside2-tools/remove_hacky_binary_copying.patch
new file mode 100644
index 00000000000..19dd8aaf101
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyside2-tools/remove_hacky_binary_copying.patch
@@ -0,0 +1,50 @@
+--- pyside-setup-opensource-src-5.14.2/sources/pyside2-tools/CMakeLists.txt~ 2020-07-17 10:51:14.498291075 +0200
++++ pyside-setup-opensource-src-5.14.2/sources/pyside2-tools/CMakeLists.txt 2020-07-17 10:52:20.165336508 +0200
+@@ -46,47 +46,6 @@
+ set(EXE_EXT "")
+ endif()
+
+-set(TOOLS_PATH "${_qt5Core_install_prefix}/bin")
+-set(UIC_PATH "${TOOLS_PATH}/uic${EXE_EXT}")
+-set(RCC_PATH "${TOOLS_PATH}/rcc${EXE_EXT}")
+-if (APPLE)
+- set(DESIGNER_PATH "${TOOLS_PATH}/Designer.app")
+-else()
+- set(DESIGNER_PATH "${TOOLS_PATH}/designer${EXE_EXT}")
+-endif()
+-
+-install(FILES "${UIC_PATH}"
+- DESTINATION bin
+- PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+-
+-install(FILES "${RCC_PATH}"
+- DESTINATION bin
+- PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+-
+-if (EXISTS ${DESIGNER_PATH})
+- if (APPLE)
+- install(DIRECTORY "${DESIGNER_PATH}"
+- DESTINATION bin
+- FILE_PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+- else()
+- install(FILES "${DESIGNER_PATH}"
+- DESTINATION bin
+- PERMISSIONS
+- OWNER_EXECUTE OWNER_WRITE OWNER_READ
+- GROUP_EXECUTE GROUP_READ
+- WORLD_EXECUTE WORLD_READ)
+- endif()
+-endif()
+-
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)