Skip to content

Commit

Permalink
libdynd-0.7.2 (rebuild with gcc-12.4.0)
Browse files Browse the repository at this point in the history
  • Loading branch information
fd00 committed Jan 12, 2025
1 parent b5517d5 commit ec9d285
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 201 deletions.
46 changes: 21 additions & 25 deletions libdynd/README
Original file line number Diff line number Diff line change
Expand Up @@ -8,39 +8,32 @@ support for variable-sized string and ragged array types. The library is in a
preview development state, and can be thought of as a sandbox where features
are being tried and tweaked to gain experience with them.

C++ is a first-class target of the library, the intent is that all its
features should be easily usable in the language. This has many benefits, such
as that development within LibDyND using its own components is more natural
than in a library designed primarily for embedding in another language.

This library is being actively developed together with its Python bindings,
which are a good way to get a taste of the library from a high level
perspective. See the Python bindings github site.

Runtime requirements:
bash-4.3.46-7
cygwin-2.6.0-1
gtest-1.7.0-1
libbenchmark1-1.1.0-1bl1
libdynd0-0.7.2-1bl1
libfftw3_3-3.3.5-1
libgcc1-5.4.0-1
libstdc++6-5.4.0-1
bash-5.2.21-1
cygwin-3.5.4-1
libbenchmark1-1.9.1-1bl1
libdynd0-0.7.2-1bl2
libfftw3_3-3.3.10-1
libgcc1-12.4.0-3
libstdc++6-12.4.0-3

Build requirements:
(besides corresponding -devel packages)
binutils-2.25-4
cmake-3.6.2-1
cygport-0.23.0-1
gcc-core-5.4.0-1
gcc-g++-5.4.0-1
make-4.2.1-1
binutils-2.43.1-1
cmake-3.28.3-1
cygport-0.36.9-1
gcc-core-12.4.0-3
gcc-g++-12.4.0-3
libbenchmark-devel-1.9.1-1bl1
libfftw3-devel-3.3.10-1
libgtest-devel-1.15.2-1bl1
ninja-1.12.0-1

Canonical website:
https://github.com/ContinuumIO/libdynd
https://github.com/libdynd/libdynd

Canonical download:
https://github.com/ContinuumIO/libdynd/archive/v0.7.2.tar.gz
https://github.com/libdynd/libdynd/archive/refs/tags/v0.7.2.tar.gz

-------------------------------------------

Expand Down Expand Up @@ -284,6 +277,9 @@ Files included in the binary package:

Port Notes:

----- version 0.7.2-1bl2 -----
Rebuild with gcc-12.4.0

----- version 0.7.2-1bl1 -----
Version bump.

Expand Down
161 changes: 0 additions & 161 deletions libdynd/libdynd-0.7.2-1bl1.src.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
HOMEPAGE="https://github.com/ContinuumIO/${PN}"
SRC_URI="https://github.com/ContinuumIO/${PN}/archive/v${PV}.tar.gz"
HOMEPAGE="https://github.com/${PN}/${PN}"
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz"

CATEGORY="Libs"
SUMMARY="C++ dynamic ndarray library"
Expand All @@ -9,25 +9,22 @@ library at the core of the scientific Python stack, but tries to address a
number of obstacles encountered by some of its users. Examples of this are
support for variable-sized string and ragged array types. The library is in a
preview development state, and can be thought of as a sandbox where features
are being tried and tweaked to gain experience with them.
are being tried and tweaked to gain experience with them."

C++ is a first-class target of the library, the intent is that all its
features should be easily usable in the language. This has many benefits, such
as that development within LibDyND using its own components is more natural
than in a library designed primarily for embedding in another language.
LICENSE="BSD-2-Clause"
LICENSE_SPDX="SPDX-License-Identifier: BSD-2-Clause"
LICENSE_URI="LICENSE.md"

This library is being actively developed together with its Python bindings,
which are a good way to get a taste of the library from a high level
perspective. See the Python bindings github site."
BUILD_REQUIRES="libbenchmark-devel libfftw3-devel libgtest-devel"

RESTRICT="debuginfo"
CXXFLAGS=""
export CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE"

inherit cmake

CYGCMAKE_ARGS="
-DDYND_FFTW:BOOL=ON
-DDYND_LLVM:BOOL=ON
-DDYND_VERSION_STRING:STRING=${PV}
-DSOVERSION:STRING=${PV[1]}
"

src_test()
Expand All @@ -46,14 +43,13 @@ libdynd_CONTENTS="
usr/share
"
libdynd0_CONTENTS="
usr/bin/*.dll
usr/bin/cyg*-0.dll
"
libdynd_devel_CONTENTS="
usr/bin/${PN}-config
usr/include
usr/lib
"

libdynd_SUMMARY="${SUMMARY} (utilities)"
libdynd0_SUMMARY="${SUMMARY} (runtime)"
libdynd_devel_SUMMARY="${SUMMARY} (development)"
75 changes: 75 additions & 0 deletions libdynd/libdynd-0.7.2-1bl2.src.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
--- origsrc/libdynd-0.7.2/CMakeLists.txt 2016-03-17 04:34:36.000000000 +0900
+++ src/libdynd-0.7.2/CMakeLists.txt 2025-01-12 19:03:43.791464500 +0900
@@ -82,7 +82,7 @@ else()
if(WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -std=c++14 -fomit-frame-pointer -fstrict-aliasing -Wall -Wextra -Werror -Wno-missing-field-initializers")
else()
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fomit-frame-pointer -fstrict-aliasing -Wall -Wextra -Wno-missing-field-initializers -fPIC -Werror -Wno-ignored-attributes")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fomit-frame-pointer -fstrict-aliasing -Wall -Wextra -Wno-missing-field-initializers -fPIC -Wno-ignored-attributes")
endif()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
if ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS 4.9)
@@ -100,10 +100,12 @@ endif()
#llvm_map_components_to_libnames(LLVM_LINK_LIBS core option target bitreader support profiledata codegen irreader linker instrumentation objcarcopts lto)

# Get the git revision
-include(GetGitRevisionDescriptionDyND)
-get_git_head_revision("${CMAKE_CURRENT_SOURCE_DIR}" GIT_REFSPEC DYND_GIT_SHA1)
-git_describe("${CMAKE_CURRENT_SOURCE_DIR}" DYND_VERSION_STRING
- --dirty --always --match "v*")
+if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
+ include(GetGitRevisionDescriptionDyND)
+ get_git_head_revision("${CMAKE_CURRENT_SOURCE_DIR}" GIT_REFSPEC DYND_GIT_SHA1)
+ git_describe("${CMAKE_CURRENT_SOURCE_DIR}" DYND_VERSION_STRING
+ --dirty --always --match "v*")
+endif()
message(STATUS "DyND version: ${DYND_VERSION_STRING}")
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/src/dynd/git_version.cpp.in"
@@ -442,16 +444,18 @@ if (DYND_SHARED_LIB)
set_target_properties(libdyndt
PROPERTIES
OUTPUT_NAME "dyndt"
- PREFIX "lib"
- IMPORT_PREFIX "lib"
)
+ if (DEFINED SOVERSION)
+ set_target_properties(libdyndt PROPERTIES SOVERSION ${SOVERSION})
+ endif()
add_library(libdynd SHARED ${libdynd_SRC})
set_target_properties(libdynd
PROPERTIES
OUTPUT_NAME "dynd"
- PREFIX "lib"
- IMPORT_PREFIX "lib"
)
+ if (DEFINED SOVERSION)
+ set_target_properties(libdynd PROPERTIES SOVERSION ${SOVERSION})
+ endif()
add_dependencies(libdynd libdyndt)
else()
add_library(libdyndt STATIC ${libdyndt_SRC})
@@ -479,6 +483,8 @@ set_property(
PROPERTY COMPILE_DEFINITIONS DYND_EXPORT
)

+add_definitions(-DDYNDT_EXPORT -DDYND_EXPORT)
+
# Add preprocessor definitions from CMake
configure_file("include/dynd/cmake_config.hpp.in"
"${CMAKE_CURRENT_BINARY_DIR}/include/dynd/cmake_config.hpp")
@@ -576,12 +582,12 @@ endif()
if (DYND_INSTALL_LIB)
# Install the libdyndt binary
install(TARGETS libdyndt
- RUNTIME DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}${DYND_STATIC_LIB_DIR})
# Install the libdynd binary
install(TARGETS libdynd
- RUNTIME DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}${DYND_STATIC_LIB_DIR})
# Install the libdynd headers

0 comments on commit ec9d285

Please sign in to comment.