early-access version 2853
This commit is contained in:
12
externals/vcpkg/ports/igraph/arith_osx.h
vendored
Executable file
12
externals/vcpkg/ports/igraph/arith_osx.h
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
/* Suitable for macOS on x86_64 and arm64 */
|
||||
/* Not suitable for 32-bit macOS */
|
||||
|
||||
#define IEEE_8087
|
||||
#define Arith_Kind_ASL 1
|
||||
#define Long int
|
||||
#define Intcast (int)(long)
|
||||
#define Double_Align
|
||||
#define X64_bit_pointers
|
||||
#define NANCHECK
|
||||
#define QNaN0 0x0
|
||||
#define QNaN1 0x7ff80000
|
||||
8
externals/vcpkg/ports/igraph/arith_win32.h
vendored
Executable file
8
externals/vcpkg/ports/igraph/arith_win32.h
vendored
Executable file
@@ -0,0 +1,8 @@
|
||||
/* Windows 32-bit */
|
||||
|
||||
#define IEEE_8087
|
||||
#define Arith_Kind_ASL 1
|
||||
#define Double_Align
|
||||
#define NANCHECK
|
||||
#define QNaN0 0x0
|
||||
#define QNaN1 0x7ff80000
|
||||
9
externals/vcpkg/ports/igraph/arith_win64.h
vendored
Executable file
9
externals/vcpkg/ports/igraph/arith_win64.h
vendored
Executable file
@@ -0,0 +1,9 @@
|
||||
/* Windows 64-bit */
|
||||
|
||||
#define IEEE_8087
|
||||
#define Arith_Kind_ASL 1
|
||||
#define Double_Align
|
||||
#define X64_bit_pointers
|
||||
#define NANCHECK
|
||||
#define QNaN0 0x0
|
||||
#define QNaN1 0x7ff80000
|
||||
13
externals/vcpkg/ports/igraph/glpk-uwp.patch
vendored
Executable file
13
externals/vcpkg/ports/igraph/glpk-uwp.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/vendor/glpk/env/dlsup.c b/vendor/glpk/env/dlsup.c
|
||||
index 741354475..968a794b7 100644
|
||||
--- a/vendor/glpk/env/dlsup.c
|
||||
+++ b/vendor/glpk/env/dlsup.c
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
#include "env.h"
|
||||
|
||||
+#undef __WOE__
|
||||
+
|
||||
/* GNU version ********************************************************/
|
||||
|
||||
#if defined(HAVE_LTDL)
|
||||
67
externals/vcpkg/ports/igraph/portfile.cmake
vendored
Executable file
67
externals/vcpkg/ports/igraph/portfile.cmake
vendored
Executable file
@@ -0,0 +1,67 @@
|
||||
|
||||
# We use the release tarball from GitHub instead of the sources in the repo because:
|
||||
# - igraph will not compile from the git sources unless there is an actual git repository to back it. This is because it detects the version from git tags. The release tarball has the version hard-coded.
|
||||
# - The release tarball contains pre-generated parser sources, which eliminates the dependency on bison/flex.
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "https://github.com/igraph/igraph/releases/download/0.9.9/igraph-0.9.9.tar.gz"
|
||||
FILENAME "igraph-0.9.9.tar.gz"
|
||||
SHA512 bbfe8b76e7806ba4c70cbf0dc5ce6724f1805383c1fb6ac05c5cd1bfc829682ff2184e4f836886a562851d1af1384fd7cccb5027c4aa0deadd0e35d50aabb451
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
PATCHES
|
||||
"glpk-uwp.patch" # patch GLPK for UWP compatibility
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
graphml IGRAPH_GRAPHML_SUPPORT
|
||||
openmp IGRAPH_OPENMP_SUPPORT
|
||||
)
|
||||
|
||||
# Allow cross-compilation. See https://igraph.org/c/html/latest/igraph-Installation.html#igraph-Installation-cross-compiling
|
||||
set(ARITH_H "")
|
||||
if (VCPKG_TARGET_IS_OSX)
|
||||
set(ARITH_H ${CURRENT_PORT_DIR}/arith_osx.h)
|
||||
elseif (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
|
||||
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
set(ARITH_H ${CURRENT_PORT_DIR}/arith_win32.h)
|
||||
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
set(ARITH_H ${CURRENT_PORT_DIR}/arith_win64.h)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DIGRAPH_ENABLE_LTO=AUTO
|
||||
# ARPACK not yet available in vcpkg.
|
||||
-DIGRAPH_USE_INTERNAL_ARPACK=ON
|
||||
-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF
|
||||
# GLPK is not yet available in vcpkg.
|
||||
-DIGRAPH_USE_INTERNAL_GLPK=ON
|
||||
# Currently, external GMP provides no performance or functionality benefits.
|
||||
-DIGRAPH_USE_INTERNAL_GMP=ON
|
||||
# PLFIT is not yet available in vcpkg.
|
||||
-DIGRAPH_USE_INTERNAL_PLFIT=ON
|
||||
# Use BLAS and LAPACK from vcpkg
|
||||
-DIGRAPH_USE_INTERNAL_BLAS=OFF
|
||||
-DIGRAPH_USE_INTERNAL_LAPACK=OFF
|
||||
-DF2C_EXTERNAL_ARITH_HEADER=${ARITH_H}
|
||||
${FEATURE_OPTIONS}
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/igraph)
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
34
externals/vcpkg/ports/igraph/vcpkg.json
vendored
Executable file
34
externals/vcpkg/ports/igraph/vcpkg.json
vendored
Executable file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "igraph",
|
||||
"version": "0.9.9",
|
||||
"description": "igraph is a C library for network analysis and graph theory, with an emphasis on efficiency portability and ease of use.",
|
||||
"homepage": "https://igraph.org/",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"dependencies": [
|
||||
"blas",
|
||||
"lapack",
|
||||
"suitesparse",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"default-features": [
|
||||
"graphml"
|
||||
],
|
||||
"features": {
|
||||
"graphml": {
|
||||
"description": "Support for reading GraphML files",
|
||||
"dependencies": [
|
||||
"libxml2"
|
||||
]
|
||||
},
|
||||
"openmp": {
|
||||
"description": "Use OpenMP parallelization in some functions"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user