Merge pull request #99246 from fehnomenal/ifcopenshell
This commit is contained in:
commit
069f11dce2
4 changed files with 107 additions and 0 deletions
|
@ -2901,6 +2901,12 @@
|
|||
githubId = 541748;
|
||||
name = "Felipe Espinoza";
|
||||
};
|
||||
fehnomenal = {
|
||||
email = "fehnomenal@fehn.systems";
|
||||
github = "fehnomenal";
|
||||
githubId = 9959940;
|
||||
name = "Andreas Fehn";
|
||||
};
|
||||
felschr = {
|
||||
email = "dev@felschr.com";
|
||||
github = "felschr";
|
||||
|
|
67
pkgs/development/python-modules/ifcopenshell/default.nix
Normal file
67
pkgs/development/python-modules/ifcopenshell/default.nix
Normal file
|
@ -0,0 +1,67 @@
|
|||
{ stdenv
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, python
|
||||
, gcc10
|
||||
, cmake
|
||||
, boost172
|
||||
, icu
|
||||
, swig
|
||||
, pcre
|
||||
, opencascade-occt
|
||||
, opencollada
|
||||
, libxml2
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ifcopenshell";
|
||||
version = "0.6.0b0";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IfcOpenShell";
|
||||
repo = "IfcOpenShell";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "1ad1s9az41z2f46rbi1jnr46mgc0q4h5kz1jm9xdlwifqv9y04g1";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
name = "site-packages.patch";
|
||||
src = ./site-packages.patch;
|
||||
site_packages = "lib/${python.libPrefix}/site-packages";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ gcc10 cmake ];
|
||||
|
||||
buildInputs = [
|
||||
boost172
|
||||
icu
|
||||
pcre
|
||||
libxml2
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
cd cmake
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
|
||||
"-DOCC_LIBRARY_DIR=${opencascade-occt}/lib"
|
||||
"-DOPENCOLLADA_INCLUDE_DIR=${opencollada}/include/opencollada"
|
||||
"-DOPENCOLLADA_LIBRARY_DIR=${opencollada}/lib/opencollada"
|
||||
"-DSWIG_EXECUTABLE=${swig}/bin/swig"
|
||||
"-DLIBXML2_INCLUDE_DIR=${libxml2.dev}/include/libxml2"
|
||||
"-DLIBXML2_LIBRARIES=${libxml2.out}/lib/${if stdenv.isDarwin then "libxml2.dylib" else "libxml2.so"}"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Open source IFC library and geometry engine";
|
||||
homepage = http://ifcopenshell.org/;
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ fehnomenal ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
--- a/src/ifcwrap/CMakeLists.txt
|
||||
+++ b/src/ifcwrap/CMakeLists.txt
|
||||
@@ -68,26 +68,17 @@ endif()
|
||||
# directory in which the wrapper can be installed.
|
||||
FIND_PACKAGE(PythonInterp)
|
||||
IF(PYTHONINTERP_FOUND AND NOT "${PYTHON_EXECUTABLE}" STREQUAL "")
|
||||
- EXECUTE_PROCESS(
|
||||
- COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib(1))"
|
||||
- OUTPUT_VARIABLE python_package_dir
|
||||
- )
|
||||
-
|
||||
- IF("${python_package_dir}" STREQUAL "")
|
||||
- MESSAGE(WARNING "Unable to locate Python site-package directory, unable to install the Python wrapper")
|
||||
- ELSE()
|
||||
FILE(GLOB_RECURSE sourcefiles "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/*.py")
|
||||
FOREACH(file ${sourcefiles})
|
||||
FILE(RELATIVE_PATH relative "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/" "${file}")
|
||||
GET_FILENAME_COMPONENT(dir "${relative}" DIRECTORY)
|
||||
INSTALL(FILES "${file}"
|
||||
- DESTINATION "${python_package_dir}/ifcopenshell/${dir}")
|
||||
+ DESTINATION "@site_packages@/ifcopenshell/${dir}")
|
||||
ENDFOREACH()
|
||||
INSTALL(FILES "${CMAKE_BINARY_DIR}/ifcwrap/ifcopenshell_wrapper.py"
|
||||
- DESTINATION "${python_package_dir}/ifcopenshell")
|
||||
+ DESTINATION "@site_packages@/ifcopenshell")
|
||||
INSTALL(TARGETS _ifcopenshell_wrapper
|
||||
- DESTINATION "${python_package_dir}/ifcopenshell")
|
||||
- ENDIF()
|
||||
+ DESTINATION "@site_packages@/ifcopenshell")
|
||||
ELSE()
|
||||
MESSAGE(WARNING "No Python interpreter found, unable to install the Python wrapper")
|
||||
ENDIF()
|
|
@ -2896,6 +2896,8 @@ in {
|
|||
|
||||
ifconfig-parser = callPackage ../development/python-modules/ifconfig-parser { };
|
||||
|
||||
ifcopenshell = callPackage ../development/python-modules/ifcopenshell { };
|
||||
|
||||
ignite = callPackage ../development/python-modules/ignite { };
|
||||
|
||||
ihatemoney = callPackage ../development/python-modules/ihatemoney { };
|
||||
|
|
Loading…
Reference in a new issue