1
0
Fork 0

sci-libs/simpleitk: current simpleitk pending lua-5.3 availability

Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Horea Christian <chr@chymera.eu>
This commit is contained in:
Horea Christian 2021-01-03 02:19:22 -05:00
parent aff4737d9c
commit 8c7d94c7ad
No known key found for this signature in database
GPG Key ID: EAA9223EE3BB378A
8 changed files with 8 additions and 383 deletions

View File

@ -1,3 +1,9 @@
03 Jan 2021; <chymera@gentoo.org> -files/0dfae3e_reversed.patch,
-files/77a3d89_reversed.patch, -files/simpleitk-1.2.4-int-cast.patch,
-files/simpleitk-1.2.4-module.patch, -simpleitk-1.2.4.ebuild,
simpleitk-2.0.0.ebuild:
sci-libs/simpleitk: current simpleitk pending lua-5.3 availability
27 Nov 2020; <chymera@gentoo.org> +files/0dfae3e_reversed.patch,
+files/77a3d89_reversed.patch, +files/simpleitk-1.2.4-int-cast.patch,
+files/simpleitk-1.2.4-module.patch, -simpleitk-1.2.3.ebuild,

View File

@ -1,3 +1 @@
DIST SimpleITK-1.2.4.tar.gz 1894019 SHA256 1d67ed4324fee0d7341a027de865bf915a34dfa82e2863d89037e2f2865f7559 SHA512 49395b284fa03cc75dbd68f7f63008ea5d03a0771f0144f2d6d62ae034d66c93a14e262b48b12b6f0e6beb3d42d6f60022f502da02d2e87c6e47bd5d38637025 WHIRLPOOL 8d50fcc2b2bd5d300d439c7ee34ecf4ce47bf16e2418ad83fc21a1692b128b8933ac0660d10a348da2e02d8338351af5d6a6e0629f3e7c17d723a3655c05e24b
DIST SimpleITKData-1.2.4.tar.gz 112145576 SHA256 39901fd25bd676648a8cfd9ef7b1bd351583af92e8cfcc69ca83b4b627abb3b1 SHA512 1dd73d5bfeba0a7d72088dc2c966db764f5d7deb173bea17a9f6c5a9fae849ddc781b9fbf9b25ab898742268de4ca0dc5a64f72e985e3c72d4d95c7e5e79e92f WHIRLPOOL f7fae995477b88bb743560f25aec45bc83a155206fddde8abe4215d52eca098c7fa4ad9e529bdeb145c5f8b37a5c14777d211727bc5733fcc0bae8c135746ce0
DIST simpleitk-2.0.0.tar.gz 1917829 SHA256 de7aeb1e27adc717979645f8daab12097c7b3de241e182c1f6bffa4d4ee4b086 SHA512 5387a7452bedaf3b757da58dffab9290014078e605ab95f3794d3bc8fd636ac4199d0a853bcc8c017837d59c601c1b507568a5450c8269f0f8708708ef10d0b6 WHIRLPOOL a310b532104eacc97c7a0de3296bc0183dfa5f2b3f839df7c45059f0e381103df3c63d358e6025f86551dd3e3e3d54c1f10a92a8e6348422a7cad7d01aed4d61

View File

@ -1,120 +0,0 @@
--- b/.circleci/config.yml
+++ a/.circleci/config.yml
@@ -22,7 +22,7 @@
run:
name: Dependencies
command: |
+ sudo apt-get install -y rsync lua5.1 ccache kwstyle
- sudo apt-get install -y rsync lua5.3 ccache kwstyle
sudo python -m pip install --upgrade pip
sudo python -m pip install scikit-ci-addons # Provides "ctest_junit_formatter" add-on
sudo python -m pip install cmake==3.13.3
--- b/.travis.yml
+++ a/.travis.yml
@@ -19,7 +19,7 @@
sudo: required
before_script:
+ - sudo apt-get remove cmake && sudo apt-get install swig lua5.1 libinsighttoolkit4-dev doxygen graphviz
- - sudo apt-get remove cmake && sudo apt-get install swig lua5.3 libinsighttoolkit4-dev doxygen graphviz
- cd ${ExternalData_OBJECT_STORES} && if [[ ! -e ${CMAKE_DOWNLOAD_FILE} ]]; then curl -sSO https://cmake.org/files/v3.6/${CMAKE_DOWNLOAD_FILE}; fi
- echo "y\n" | sudo bash "${ExternalData_OBJECT_STORES}/${CMAKE_DOWNLOAD_FILE}" --prefix=/usr/local --exclude-subdir
- cmake --version
--- b/CMake/sitkGenerateFilterSource.cmake
+++ a/CMake/sitkGenerateFilterSource.cmake
@@ -6,7 +6,7 @@
get_property( SAVE_LUA_EXECUTABLE_TYPE CACHE LUA_EXECUTABLE PROPERTY TYPE )
get_property( SAVE_LUA_EXECUTABLE_DOCSTRING CACHE LUA_EXECUTABLE PROPERTY HELPSTRING )
+ find_package( LuaInterp 5.1 REQUIRED )
- find_package( LuaInterp 5.3 REQUIRED )
set( SimpleITK_LUA_EXECUTABLE ${LUA_EXECUTABLE} CACHE PATH "Lua executable used for code generation." )
if (DEFINED SAVE_LUA_EXECUTABLE)
@@ -45,10 +45,10 @@
if( SITK_LUA_VERSION_RESULT_VARIABLE
OR
+ NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_GREATER "5.1"
- NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_GREATER "5.3"
OR
+ NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_LESS "5.2" )
+ message(SEND_ERROR "Lua version 5.1 is required for SimpleITK_LUA_EXECUTABLE_VERSION.")
- NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_LESS "5.4" )
- message(SEND_ERROR "Lua version 5.3 is required for SimpleITK_LUA_EXECUTABLE_VERSION.")
endif()
# Sets "out_var" variable name to the value in the json path specified
--- b/ExpandTemplateGenerator/Components/ExecuteInternalSetITKFilterInputs.cxx.in
+++ a/ExpandTemplateGenerator/Components/ExecuteInternalSetITKFilterInputs.cxx.in
@@ -8,7 +8,7 @@
$(if inputs then
for i = 1,#inputs do
if inputs[i].optional then
+ OUT = OUT .. ' if ( in'..inputs[i].name..' != NULL )\ {\n '
- OUT = OUT .. ' if ( in'..inputs[i].name..' != NULL ) {\n'
else
OUT = OUT .. ' assert( '..'in' .. inputs[i].name ..' != NULL );\n'
end
--- b/ExpandTemplateGenerator/ExpandTemplate.lua
+++ a/ExpandTemplateGenerator/ExpandTemplate.lua
@@ -9,30 +9,14 @@
local pop = table.remove
local concat = table.concat
--- based on http://lua-users.org/lists/lua-l/2010-06/msg00314.html
--- this assumes f is a function
-local function findenv(f)
- local level = 1
- repeat
- local name, value = debug.getupvalue(f, level)
- if name == '_ENV' then return level, value end
- level = level + 1
- until name == nil
- return nil end
-getfenv = function (f) return(select(2, findenv(f)) or _G) end
-setfenv = function (f, t)
- local level = findenv(f)
- if level then debug.setupvalue(f, level, t) end
- return f end
-
local statements = {}
+for w in string.gfind('do if for while repeat', '%a+') do
-for w in string.gmatch('do if for while repeat', '%a+') do
statements[w] = true
end
function expand(str, ...)
assert(type(str)=='string', 'expecting string')
+ local searchlist = arg
- local searchlist = table.pack(...)
local estring,evar
function estring(str)
--- b/SuperBuild/External_Lua.cmake
+++ a/SuperBuild/External_Lua.cmake
@@ -7,7 +7,7 @@
set(proj Lua)
+set(lua_TARGET_VERSION 5.1.5)
-set(lua_TARGET_VERSION 5.3.5)
# follow the standard EP_PREFIX locations
set(lua_binary_dir ${CMAKE_CURRENT_BINARY_DIR}/${proj}-prefix/src/${proj}-build)
--- b/SuperBuild/SuperBuild.cmake
+++ a/SuperBuild/SuperBuild.cmake
@@ -307,11 +307,11 @@
#------------------------------------------------------------------------------
# Lua
#------------------------------------------------------------------------------
+option ( SimpleITK_USE_SYSTEM_LUA "Use a pre-compiled version of LUA 5.1 previously configured for your system" OFF )
-option ( SimpleITK_USE_SYSTEM_LUA "Use a pre-compiled version of LUA 5.3 previously configured for your system" OFF )
sitk_legacy_naming( SimpleITK_USE_SYSTEM_LUA USE_SYSTEM_LUA)
mark_as_advanced(SimpleITK_USE_SYSTEM_LUA)
if ( SimpleITK_USE_SYSTEM_LUA )
+ find_package( LuaInterp 5.1 REQUIRED )
- find_package( LuaInterp 5.3 REQUIRED )
set( SimpleITK_LUA_EXECUTABLE ${LUA_EXECUTABLE} CACHE PATH "Lua executable used for code generation." )
mark_as_advanced( SimpleITK_LUA_EXECUTABLE )
unset( LUA_EXECUTABLE CACHE )

View File

@ -1,42 +0,0 @@
--- b/ExpandTemplateGenerator/ExpandTemplate.lua
+++ a/ExpandTemplateGenerator/ExpandTemplate.lua
@@ -193,7 +193,7 @@
else -- expression
var = 'return '.. var
end
+ local f = assert(loadstring(var))
- local f = assert(load(var))
local t = searchlist[1]
assert(type(t)=='table' or type(t)=='userdata', 'expecting table')
setfenv(f, setmetatable({}, {__index=get, __newindex=t}))
--- b/ExpandTemplateGenerator/JSONQuery.lua
+++ a/ExpandTemplateGenerator/JSONQuery.lua
@@ -45,7 +45,7 @@
for i=2,#arg do
json_path=arg[i]
+ cmd = loadstring("return json_table."..json_path)
- cmd = load("return json_table."..json_path)
if not cmd then
io.stderr:write("Warning: bad path -> "..json_path.."\n")
bad_count = bad_count+1
--- b/ExpandTemplateGenerator/json.lua
+++ a/ExpandTemplateGenerator/json.lua
@@ -231,7 +231,7 @@
endPos = endPos + 1
end
local stringValue = 'return ' .. string.sub(s,startPos, endPos-1)
+ local stringEval = base.loadstring(stringValue)
- local stringEval = load(stringValue)
base.assert(stringEval, 'Failed to scan number [ ' .. stringValue .. '] in JSON string at position ' .. startPos .. ' : ' .. endPos)
return stringEval(), endPos
end
@@ -305,7 +305,7 @@
base.assert(endPos <= stringLen+1, "String decoding failed: unterminated string at position " .. endPos)
until bEnded
local stringValue = 'return ' .. string.sub(s, startPos, endPos-1)
+ local stringEval = base.loadstring(stringValue)
- local stringEval = load(stringValue)
base.assert(stringEval, 'Failed to load string [ ' .. stringValue .. '] in JSON4Lua.decode_scanString at position ' .. startPos .. ' : ' .. endPos)
return stringEval(), endPos
end

View File

@ -1,64 +0,0 @@
From 73caeaa545859cffd68f9aebe1e8b66de5ab812d Mon Sep 17 00:00:00 2001
From: Bradley Lowekamp <blowekamp@mail.nih.gov>
Date: Fri, 14 Feb 2020 09:35:29 -0500
Subject: [PATCH] Explicitly cast int to ITK strongly typed enums
---
Code/IO/src/sitkImageReaderBase.cxx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/Code/IO/src/sitkImageReaderBase.cxx b/Code/IO/src/sitkImageReaderBase.cxx
index b8c93a2ac..a5e6d9cd9 100644
--- a/Code/IO/src/sitkImageReaderBase.cxx
+++ b/Code/IO/src/sitkImageReaderBase.cxx
@@ -214,7 +214,7 @@ ::GetPixelIDFromImageIO( const ImageIOBase *iobase,
if (numberOfComponents == 1 &&
( pixelType == itk::ImageIOBase::SCALAR || pixelType == itk::ImageIOBase::COMPLEX ) )
{
- outPixelType = this->ExecuteInternalReadScalar( componentType );
+ outPixelType = this->ExecuteInternalReadScalar( static_cast<int>(componentType) );
return;
}
// we try to load anything else into a VectorImage
@@ -226,12 +226,12 @@ ::GetPixelIDFromImageIO( const ImageIOBase *iobase,
pixelType == itk::ImageIOBase::POINT ||
pixelType == itk::ImageIOBase::OFFSET )
{
- outPixelType = this->ExecuteInternalReadVector( componentType );
+ outPixelType = this->ExecuteInternalReadVector( static_cast<int>(componentType) );
return;
}
else if ( pixelType == itk::ImageIOBase::COMPLEX )
{
- outPixelType = this->ExecuteInternalReadComplex( componentType );
+ outPixelType = this->ExecuteInternalReadComplex( static_cast<int>(componentType) );
return;
}
else
@@ -268,7 +268,7 @@ ::ExecuteInternalReadScalar( int componentType )
{
const unsigned int UnusedDimension = 2;
- switch(componentType)
+ switch(static_cast<ImageIOBase::IOComponentType>(componentType))
{
case itk::ImageIOBase::CHAR:
return ImageTypeToPixelIDValue< itk::Image<int8_t, UnusedDimension> >::Result;
@@ -326,7 +326,7 @@ ::ExecuteInternalReadComplex( int componentType )
{
const unsigned int UnusedDimension = 2;
- switch(componentType)
+ switch(static_cast<ImageIOBase::IOComponentType>(componentType))
{
case itk::ImageIOBase::FLOAT:
return ImageTypeToPixelIDValue< itk::Image<std::complex<float>, UnusedDimension> >::Result;
@@ -346,7 +346,7 @@ ::ExecuteInternalReadVector( int componentType )
{
const unsigned int UnusedDimension = 2;
- switch(componentType)
+ switch(static_cast<ImageIOBase::IOComponentType>(componentType))
{
case itk::ImageIOBase::CHAR:
return ImageTypeToPixelIDValue< itk::VectorImage<int8_t, UnusedDimension> >::Result;

View File

@ -1,22 +0,0 @@
From 9a9f67416683d69c1c8d2362ba6e50c4848803b2 Mon Sep 17 00:00:00 2001
From: Bradley Lowekamp <blowekamp@mail.nih.gov>
Date: Wed, 20 Nov 2019 15:30:50 -0500
Subject: [PATCH] Update SLICImageFilter's module
---
Code/BasicFilters/json/SLICImageFilter.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Code/BasicFilters/json/SLICImageFilter.json b/Code/BasicFilters/json/SLICImageFilter.json
index 2ffba2f4c..0e9ced7d7 100644
--- a/Code/BasicFilters/json/SLICImageFilter.json
+++ b/Code/BasicFilters/json/SLICImageFilter.json
@@ -156,7 +156,7 @@
]
}
],
- "itk_module" : "SimpleITKFilters",
+ "itk_module" : "ITKSuperPixel",
"detaileddescription" : "The Simple Linear Iterative Clustering (SLIC) algorithm groups pixels into a set of labeled regions or super-pixels. Super-pixels follow natural image boundaries, are compact, and are nearly uniform regions which can be used as a larger primitive for more efficient computation. The SLIC algorithm can be viewed as a spatially constrained iterative k-means method.\n\nThe original algorithm was designed to cluster on the joint domain of the images index space and it's CIELAB color space. This implementation works with images of arbitrary dimension as well as scalar, single channel, images and most multi-component image types including ITK's arbitrary length VectorImage .\n\nThe distance between a pixel and a cluster is the sum of squares of the difference between their joint range and domains ( index and value ). The computation is done in index space with scales provided by the SpatialProximityWeight parameters.\n\nThe output is a label image with each label representing a superpixel cluster. Every pixel in the output is labeled, and the starting label id is zero.\n\nThis code was contributed in the Insight Journal paper: \"Scalable Simple Linear Iterative Clustering (SSLIC) Using a\nGeneric and Parallel Approach\" by Lowekamp B. C., Chen D. T., Yaniv Z.",
"briefdescription" : "Simple Linear Iterative Clustering (SLIC) super-pixel segmentation."
}

View File

@ -1,131 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
inherit toolchain-funcs cmake python-single-r1
MY_PN="SimpleITK"
DESCRIPTION="Layer on top of ITK for rapid prototyping, education and interpreted languages."
HOMEPAGE="https://simpleitk.org/"
#SRC_URI="https://github.com/SimpleITK/SimpleITK/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="
https://github.com/SimpleITK/SimpleITK/releases/download/v${PV}/SimpleITK-${PV}.tar.gz
https://github.com/SimpleITK/SimpleITK/releases/download/v${PV}/SimpleITKData-${PV}.tar.gz
"
RESTRICT="primaryuri"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="python"
# According to upstream it should be dev-lang/lua:5.3 , but that is hard masked.
# Let's hope for the best!
RDEPEND="
dev-lang/lua:0
dev-cpp/gtest
sci-libs/itk
dev-python/virtualenv
"
DEPEND="
${RDEPEND}
dev-lang/swig
"
#REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
"${FILESDIR}/${P}-module.patch"
"${FILESDIR}/${P}-int-cast.patch"
)
S="${WORKDIR}/${MY_PN}-${PV}"
src_prepare() {
cmake_src_prepare
cp -rf "../${MY_PN}-${PV}/.ExternalData" "${BUILD_DIR}/" || die
}
src_configure() {
local mycmakeargs=(
-DUSE_SYSTEM_GTEST=ON
-DUSE_SYSTEM_ITK=ON
-DUSE_SYSTEM_LUA=ON
-DUSE_SYSTEM_SWIG=ON
-DUSE_SYSTEM_VIRTUALENV=ON
-DBUILD_TESTING:BOOL=OFF
-DSimpleITK_FORBID_DOWNLOADS=ON
-DSimpleITK_PYTHON_USE_VIRTUALENV:BOOL=OFF
-DSimpleITK_EXPLICIT_INSTANTIATION=OFF
-DModule_SimpleITKFilters:BOOL=ON
-DExternalData_OBJECT_STORES:STRING="${BUILD_DIR}/.ExternalData"
-DSimpleITK_INSTALL_LIBRARY_DIR=$(get_libdir)
)
#-DBUILD_SHARED_LIBS=ON
#-DGDCM_USE_SYSTEM_OPENJPEG=ON
#-DITK_FORBID_DOWNLOADS:BOOL=OFF
#-DITK_USE_SYSTEM_DCMTK=ON
#-DITK_USE_SYSTEM_DOUBLECONVERSION=ON
#-DITK_USE_SYSTEM_CASTXML=ON
#-DITK_USE_SYSTEM_HDF5=ON
#-DITK_USE_SYSTEM_JPEG=ON
#-DITK_USE_SYSTEM_PNG=ON
#-DITK_USE_SYSTEM_SWIG=ON
#-DITK_USE_SYSTEM_TIFF=ON
#-DITK_USE_SYSTEM_ZLIB=ON
#-DITK_USE_KWSTYLE=OFF
#-DITK_BUILD_DEFAULT_MODULES=ON
#-DITK_COMPUTER_MEMORY_SIZE="${ITK_COMPUTER_MEMORY_SIZE:-1}"
#-DWRAP_ITK_JAVA=OFF
#-DWRAP_ITK_TCL=OFF
#-Ddouble-conversion_INCLUDE_DIRS="${EPREFIX}/usr/include/double-conversion"
#-DExternalData_OBJECT_STORES="${WORKDIR}/InsightToolkit-${PV}/.ExternalData"
#-DModule_GenericLabelInterpolator:BOOL=ON
#-DModule_ITKReview:BOOL=ON
#-DBUILD_EXAMPLES="$(usex examples ON OFF)"
#-DITK_USE_REVIEW="$(usex review ON OFF)"
#-DBUILD_TESTING="$(usex test ON OFF)"
#if use python; then
# mycmakeargs+=(
# -DITK_WRAP_PYTHON=ON
# -DITK_WRAP_DIMS="${ITK_WRAP_DIMS:-2;3}"
# )
#else
# mycmakeargs+=(
# -DITK_WRAP_PYTHON=OFF
# )
#fi
cmake_src_configure
}
#src_install() {
# cmake-utils_src_install
#
# if use examples; then
# insinto /usr/share/doc/${PF}/examples
# docompress -x /usr/share/doc/${PF}/examples
# doins -r "${S}"/Examples/*
# fi
#
# echo "ITK_DATA_ROOT=${EROOT%/}/usr/share/${PN}/data" > ${T}/40${PN}
# local ldpath="${EROOT%/}/usr/$(get_libdir)/InsightToolkit"
# if use python; then
# echo "PYTHONPATH=${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/Python" >> "${T}"/40${PN}
# ldpath="${ldpath}:${EROOT%/}/usr/$(get_libdir)/InsightToolkit/WrapITK/lib"
# fi
# echo "LDPATH=${ldpath}" >> "${T}"/40${PN}
# doenvd "${T}"/40${PN}
#
# if use doc; then
# insinto /usr/share/doc/${PF}/api-docs
# cd "${WORKDIR}"/html
# rm *.md5 || die "Failed to remove superfluous hashes"
# einfo "Installing API docs. This may take some time."
# insinto /usr/share/doc/${PF}/api-docs
# doins -r *
# fi
#}

View File

@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
PYTHON_COMPAT=( python2_7 python3_{6..9} )
inherit toolchain-funcs cmake python-single-r1