Update to 1.0.2
Use SPDX License tag Skip failing test on s390x
This commit is contained in:
parent
08863984e6
commit
c0794376da
1
.gitignore
vendored
1
.gitignore
vendored
@ -16,3 +16,4 @@ gdl-0.9rc4.tar.gz
|
||||
/gdl-1.0.0-git-4892c96.tar.gz
|
||||
/gdl-1.0.0.tar.gz
|
||||
/gdl-1.0.1.tar.gz
|
||||
/gdl-1.0.2.tar.gz
|
||||
|
174
1486.patch
Normal file
174
1486.patch
Normal file
@ -0,0 +1,174 @@
|
||||
From 6a3337ff29917a4766f80ffb19e24a55251f1511 Mon Sep 17 00:00:00 2001
|
||||
From: GillesDuvert <gilles.duvert@free.fr>
|
||||
Date: Fri, 20 Jan 2023 17:47:56 +0100
|
||||
Subject: [PATCH 1/2] try to permit distro builders to put drivers in
|
||||
GDL_LIB_DIR but still make normal (non-distro) build as usual and moreover
|
||||
enable relocation of gdl executable ans all its componenets, including
|
||||
drivers, as it is now done for installers on Windows and OSX.
|
||||
|
||||
---
|
||||
CMakeLists.txt | 1 +
|
||||
config.h.cmake | 1 +
|
||||
src/gdl.cpp | 24 +++++++++++++++++++-----
|
||||
src/objects.cpp | 2 ++
|
||||
src/objects.hpp | 2 ++
|
||||
5 files changed, 25 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b0cecea36..281e12979 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -144,6 +144,7 @@ set(JPEGDIR "" CACHE PATH "GDL: Specify the JPEG directory tree")
|
||||
set(SZIPDIR "" CACHE PATH "GDL: Specify the SZip directory tree")
|
||||
|
||||
set(GDL_DATA_DIR "/share/gnudatalanguage" CACHE PATH "GDL: data directory relative to CMAKE_INSTALL_PREFIX")
|
||||
+set(GDL_LIB_DIR "" CACHE PATH "GDL: library directory relative to CMAKE_INSTALL_PREFIX")
|
||||
|
||||
# check for 64-bit OS
|
||||
if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
|
||||
diff --git a/config.h.cmake b/config.h.cmake
|
||||
index 07c7fa199..4637af869 100644
|
||||
--- a/config.h.cmake
|
||||
+++ b/config.h.cmake
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#define EXEC_PREFIX "@CMAKE_INSTALL_PREFIX@"
|
||||
#define GDLDATADIR "@CMAKE_INSTALL_PREFIX@@GDL_DATA_DIR@"
|
||||
+#define GDLLIBDIR "@GDL_LIB_DIR@"
|
||||
#define VERSION "@VERSION@"
|
||||
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
diff --git a/src/gdl.cpp b/src/gdl.cpp
|
||||
index bf9947ae3..445145331 100644
|
||||
--- a/src/gdl.cpp
|
||||
+++ b/src/gdl.cpp
|
||||
@@ -250,8 +250,10 @@ int main(int argc, char *argv[])
|
||||
|
||||
//The default installation location --- will not always be there.
|
||||
gdlDataDir = std::string(GDLDATADIR);
|
||||
+ gdlLibDir = std::string(GDLLIBDIR);
|
||||
#ifdef _WIN32
|
||||
std::replace(gdlDataDir.begin(), gdlDataDir.end(), '/', '\\');
|
||||
+ std::replace(gdlLibDir.begin(), gdlLibDir.end(), '/', '\\');
|
||||
#endif
|
||||
|
||||
//check where is the executable being run
|
||||
@@ -269,16 +271,28 @@ int main(int argc, char *argv[])
|
||||
if( gdlPath == "") gdlPath=GetEnvString("IDL_PATH"); //warning: is a Path, use system separator.
|
||||
if( gdlPath == "") gdlPath = gdlDataDir + lib::PathSeparator() + "lib";
|
||||
|
||||
-//drivers if local
|
||||
+//LIBDIR. Can be '' in which case the location of drivers is deduced from the location of
|
||||
+//the executable (OSX, Windows, unix in user-installed mode).
|
||||
+ string driversPath = GetEnvPathString("GDL_DRV_DIR");
|
||||
+ if (driversPath == "") { //NOT enforced by GDL_DRV_DIR
|
||||
+ driversPath = gdlLibDir; //e.g. Fedora
|
||||
+ if (driversPath == "") { //NOT enforced by GDLLIBDIR at build : not a distro
|
||||
+ driversPath = gdlDataDir + lib::PathSeparator() + "drivers"; //deduced from the location of the executable
|
||||
+ }
|
||||
+ }
|
||||
+ //drivers if local
|
||||
useLocalDrivers=false;
|
||||
bool driversNotFound=false;
|
||||
- string driversPath=gdlDataDir + lib::PathSeparator() + "drivers";
|
||||
- //We'll ned to get the current value for PLPLOT_DRV_DIR if any (useful later if something goes wrong below)
|
||||
- static const char* DrvEnvName="PLPLOT_DRV_DIR";
|
||||
+
|
||||
+ //The current value for PLPLOT_DRV_DIR.
|
||||
+ //To find our drivers, the plplot library needs to have PLPLOT_DRV_DIR set to the good path, i.e., driversPath.
|
||||
+ const char* DrvEnvName = "PLPLOT_DRV_DIR";
|
||||
+ //In a startup message (below), the value of $PLPLOT_DRV_DIR appears.
|
||||
+ //It will be the value set inside the program (just below) to find the relevant drivers.
|
||||
|
||||
#ifdef INSTALL_LOCAL_DRIVERS
|
||||
useLocalDrivers=true;
|
||||
- //For WIN32 the drivers dlls are copied alongwith the gdl.exe and plplot does not use PLPLOT_DRV_DIR to find them.
|
||||
+ //For WIN32 the drivers dlls are copied along with the gdl.exe and plplot does not use PLPLOT_DRV_DIR to find them.
|
||||
#ifndef _WIN32
|
||||
char* oldDriverEnv=getenv(DrvEnvName);
|
||||
// We must declare here (and not later) where our local copy of (customized?) drivers is to be found.
|
||||
diff --git a/src/objects.cpp b/src/objects.cpp
|
||||
index d31991998..cc8d23088 100644
|
||||
--- a/src/objects.cpp
|
||||
+++ b/src/objects.cpp
|
||||
@@ -98,6 +98,8 @@ antlr::ASTFactory DNodeFactory("DNode",DNode::factory);
|
||||
|
||||
//this string contains the value of DATADIR
|
||||
std::string gdlDataDir;
|
||||
+//this string contains the value of LIBDIR
|
||||
+std::string gdlLibDir;
|
||||
//do we use WxWidgets at all?
|
||||
volatile bool useWxWidgets;
|
||||
//do we use WxWidgets for graphics?
|
||||
diff --git a/src/objects.hpp b/src/objects.hpp
|
||||
index e65059a11..7cde23877 100644
|
||||
--- a/src/objects.hpp
|
||||
+++ b/src/objects.hpp
|
||||
@@ -71,6 +71,8 @@ extern volatile bool sigControlC;
|
||||
|
||||
//this string contains the value of DATADIR
|
||||
extern std::string gdlDataDir;
|
||||
+//this string contains the value of LIBDIR
|
||||
+extern std::string gdlLibDir;
|
||||
|
||||
extern volatile bool iAmANotebook;
|
||||
// tells if wxwidgets is to be used at all...
|
||||
|
||||
From 7688f0b931d03d7ff15e552dac3666ebd819cd82 Mon Sep 17 00:00:00 2001
|
||||
From: GillesDuvert <gilles.duvert@free.fr>
|
||||
Date: Sat, 21 Jan 2023 19:56:56 +0100
|
||||
Subject: [PATCH 2/2] enable GDL_LIB_DIR positioning of .so files (drivers),
|
||||
something needed by distributions (Debian, Fedora...)
|
||||
|
||||
---
|
||||
CMakeLists.txt | 8 +++++++-
|
||||
config.h.cmake | 1 +
|
||||
src/plplotdriver/CMakeLists.txt | 4 ++--
|
||||
3 files changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 281e12979..5c674e141 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -145,7 +145,13 @@ set(SZIPDIR "" CACHE PATH "GDL: Specify the SZip directory tree")
|
||||
|
||||
set(GDL_DATA_DIR "/share/gnudatalanguage" CACHE PATH "GDL: data directory relative to CMAKE_INSTALL_PREFIX")
|
||||
set(GDL_LIB_DIR "" CACHE PATH "GDL: library directory relative to CMAKE_INSTALL_PREFIX")
|
||||
-
|
||||
+#define (for plplotdriver/CMakeLists.txt) the GDL_DRV_DIR where the drivers will be installed.
|
||||
+#if GDL_LIB_DIR is empty, it will be the default (GDL_DATA_DIR/drivers) otherwise it is GDL_LIB_DIR (not GDL_LIB_DIR/drivers)
|
||||
+if ( GDL_LIB_DIR STREQUAL "" OR NOT GDL_LIB_DIR)
|
||||
+ set (GDL_DRV_DIR "${CMAKE_INSTALL_PREFIX}/${GDL_DATA_DIR}/drivers") # CACHE PATH "GDL: where the drivers will be installed.")
|
||||
+else()
|
||||
+ set (GDL_DRV_DIR "${GDL_LIB_DIR}" ) # CACHE PATH "GDL: where the drivers will be installed.")
|
||||
+endif()
|
||||
# check for 64-bit OS
|
||||
if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
|
||||
set(HAVE_64BIT_OS 1)
|
||||
diff --git a/config.h.cmake b/config.h.cmake
|
||||
index 4637af869..7080df9a6 100644
|
||||
--- a/config.h.cmake
|
||||
+++ b/config.h.cmake
|
||||
@@ -4,6 +4,7 @@
|
||||
#define EXEC_PREFIX "@CMAKE_INSTALL_PREFIX@"
|
||||
#define GDLDATADIR "@CMAKE_INSTALL_PREFIX@@GDL_DATA_DIR@"
|
||||
#define GDLLIBDIR "@GDL_LIB_DIR@"
|
||||
+#define GDL_DRV_DIR "@GDL_DRV_DIR@"
|
||||
#define VERSION "@VERSION@"
|
||||
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
diff --git a/src/plplotdriver/CMakeLists.txt b/src/plplotdriver/CMakeLists.txt
|
||||
index 69e5062b1..a48742c10 100644
|
||||
--- a/src/plplotdriver/CMakeLists.txt
|
||||
+++ b/src/plplotdriver/CMakeLists.txt
|
||||
@@ -66,8 +66,8 @@ if(INSTALL_LOCAL_DRIVERS)
|
||||
|
||||
foreach(v IN LISTS WHAT)
|
||||
set_target_properties(${v} PROPERTIES PREFIX "" SUFFIX ${DYNAMIC_SUFFIX} )
|
||||
- install(TARGETS ${v} DESTINATION ${CMAKE_INSTALL_PREFIX}/${GDL_DATA_DIR}/drivers)
|
||||
- install( FILES ${v}.driver_info DESTINATION ${CMAKE_INSTALL_PREFIX}/${GDL_DATA_DIR}/drivers)
|
||||
+ install(TARGETS ${v} DESTINATION ${GDL_DRV_DIR})
|
||||
+ install( FILES ${v}.driver_info DESTINATION ${GDL_DRV_DIR})
|
||||
endforeach()
|
||||
|
||||
endif(INSTALL_LOCAL_DRIVERS)
|
@ -1,18 +1,18 @@
|
||||
diff -up gdl-1.0.0/src/CMakeLists.txt.antlr gdl-1.0.0/src/CMakeLists.txt
|
||||
--- gdl-1.0.0/src/CMakeLists.txt.antlr 2021-08-19 20:04:43.096095029 -0600
|
||||
+++ gdl-1.0.0/src/CMakeLists.txt 2021-08-19 20:05:26.844467193 -0600
|
||||
@@ -193,9 +193,7 @@ ${WX_RC}
|
||||
)
|
||||
endif(HAVE_LIBWXWIDGETS AND WIN32)
|
||||
diff -up gdl-1.0.2/src/CMakeLists.txt.antlr gdl-1.0.2/src/CMakeLists.txt
|
||||
--- gdl-1.0.2/src/CMakeLists.txt.antlr 2023-01-06 10:39:47.000000000 -0700
|
||||
+++ gdl-1.0.2/src/CMakeLists.txt 2023-01-16 08:51:18.033486027 -0700
|
||||
@@ -197,9 +197,7 @@ endif(HAVE_LIBWXWIDGETS AND WIN32)
|
||||
#local plplot drivers
|
||||
add_subdirectory(plplotdriver)
|
||||
|
||||
-add_subdirectory(antlr)
|
||||
-
|
||||
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/antlr ${CMAKE_BINARY_DIR})
|
||||
+include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR})
|
||||
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/antlr ${CMAKE_SOURCE_DIR}/src/plplotdriver ${CMAKE_BINARY_DIR})
|
||||
+include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/plplotdriver ${CMAKE_BINARY_DIR})
|
||||
link_directories(${LINK_DIRECTORIES})
|
||||
|
||||
if(PYTHON_MODULE) #GDL.so
|
||||
@@ -213,7 +211,6 @@ if(USE_OPENMP)
|
||||
@@ -217,7 +215,6 @@ if(USE_OPENMP)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
endif(USE_OPENMP)
|
||||
|
||||
|
58
gdl-size.patch
Normal file
58
gdl-size.patch
Normal file
@ -0,0 +1,58 @@
|
||||
diff -up gdl-1.0.2/src/qhull.cpp.size gdl-1.0.2/src/qhull.cpp
|
||||
--- gdl-1.0.2/src/qhull.cpp.size 2023-01-06 10:39:47.000000000 -0700
|
||||
+++ gdl-1.0.2/src/qhull.cpp 2023-01-16 19:35:16.464432434 -0700
|
||||
@@ -784,7 +784,7 @@ int output_qhull_voronoi_local(Qhull* qh
|
||||
func = e->GetParAs<DDoubleGDL>(3); //input function
|
||||
tetra_list = e->GetParAs<DLongGDL>(4); //indices of tetrahedra vertices from qhull
|
||||
|
||||
- int inDim = e->GetParAs<DDoubleGDL>(0)->Dim(0);
|
||||
+ SizeT inDim = e->GetParAs<DDoubleGDL>(0)->Dim(0);
|
||||
p0 = new DDoubleGDL( *(new dimension(3, inDim)), BaseGDL::ZERO ); //concatenation of the 3 separate inputs arrays
|
||||
|
||||
for(int i=0; i<3; i++)
|
||||
@@ -794,7 +794,7 @@ int output_qhull_voronoi_local(Qhull* qh
|
||||
{
|
||||
e->Throw("separated input arrays must have same length and be 1 dimensional");
|
||||
}
|
||||
- for(int j=0; j<inDim; j++) (*p0)[i+j*3] = (*par)[j];
|
||||
+ for(SizeT j=0; j<inDim; j++) (*p0)[i+j*3] = (*par)[j];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -819,9 +819,9 @@ int output_qhull_voronoi_local(Qhull* qh
|
||||
|
||||
// putting input points in a vector...
|
||||
vector<Vec3> points;
|
||||
- points.reserve(np);
|
||||
+ points.resize(np);
|
||||
|
||||
- for (int i =0; i < np; i++)
|
||||
+ for (size_t i =0; i < np; i++)
|
||||
{
|
||||
points[i] = { (*p0)[3*i], (*p0)[3*i+1], (*p0)[3*i+2] };
|
||||
//TODO handle not finite values
|
||||
@@ -829,7 +829,7 @@ int output_qhull_voronoi_local(Qhull* qh
|
||||
|
||||
// vector holding all necessary info on the triangulation
|
||||
vector<Tetra> tetra_data;
|
||||
- tetra_data.reserve(n_tetra);
|
||||
+ tetra_data.resize(n_tetra);
|
||||
|
||||
// directly available info
|
||||
array<int,4> empty_neighbours {-1,-1,-1,-1};
|
||||
@@ -848,7 +848,7 @@ int output_qhull_voronoi_local(Qhull* qh
|
||||
// TOO SLOW, FIND ANOTHER METHOD
|
||||
|
||||
vector<int> tetra_neigh_count(n_tetra, 0);
|
||||
- tetra_neigh_count.reserve(n_tetra);
|
||||
+ tetra_neigh_count.resize(n_tetra);
|
||||
|
||||
for(int i=0; i<n_tetra; ++i)
|
||||
{
|
||||
@@ -1062,4 +1062,4 @@ int output_qhull_voronoi_local(Qhull* qh
|
||||
|
||||
return res;
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
31
gdl.spec
31
gdl.spec
@ -9,11 +9,11 @@ ExcludeArch: %{ix86}
|
||||
|
||||
|
||||
Name: gdl
|
||||
Version: 1.0.1
|
||||
Release: 12%{?dist}
|
||||
Version: 1.0.2
|
||||
Release: 1%{?dist}
|
||||
Summary: GNU Data Language
|
||||
|
||||
License: GPLv2+
|
||||
License: GPL-2.0-or-later
|
||||
URL: http://gnudatalanguage.sourceforge.net/
|
||||
Source0: https://github.com/gnudatalanguage/gdl/archive/v%{version}/gdl-%{version}.tar.gz
|
||||
#Source0: https://github.com/gnudatalanguage/gdl/archive/%{commit}/gdl-%{version}-git-%{shortcommit}.tar.gz
|
||||
@ -23,6 +23,9 @@ Source4: xorg.conf
|
||||
# Build with system antlr library. Request for upstream change here:
|
||||
# https://sourceforge.net/tracker/index.php?func=detail&aid=2685215&group_id=97659&atid=618686
|
||||
Patch1: gdl-antlr.patch
|
||||
# Fix install directory for drivers
|
||||
Patch2: https://patch-diff.githubusercontent.com/raw/gnudatalanguage/gdl/pull/1486.patch
|
||||
Patch3: gdl-size.patch
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: antlr-C++
|
||||
@ -121,6 +124,8 @@ rm -rf src/antlr
|
||||
# Not yet possible to build with external dSFMT
|
||||
#rm -r src/dSFMT
|
||||
%patch1 -p1 -b .antlr
|
||||
%patch2 -p1 -b .libdir
|
||||
%patch3 -p1 -b .size
|
||||
|
||||
# Find grib_api on architectures where needed
|
||||
sed -i -e '/find_library(GRIB_LIBRARIES/s/eccodes/eccodes grib_api/' CMakeModules/FindGrib.cmake
|
||||
@ -135,11 +140,12 @@ popd
|
||||
%global __python %{__python3}
|
||||
%global python_sitearch %{python3_sitearch}
|
||||
%global cmake_opts \\\
|
||||
-DWXWIDGETS=ON \\\
|
||||
-DGDL_LIB_DIR:PATH=%{_libdir}/gnudatalanguage \\\
|
||||
-DGEOTIFF_INCLUDE_DIR=%{_includedir}/libgeotiff \\\
|
||||
-DGRIB=ON \\\
|
||||
-DOPENMP=ON \\\
|
||||
-DPYTHON_EXECUTABLE=%{__python} \\\
|
||||
-DWXWIDGETS=ON \\\
|
||||
%{?cmake_qhull} \\\
|
||||
%{nil}
|
||||
# TODO - build an mpi version
|
||||
@ -172,7 +178,7 @@ popd
|
||||
pushd build-python
|
||||
%make_install
|
||||
# Install the python module in the right location
|
||||
install -d -m 0755 $RPM_BUILD_ROOT/%{python_sitearch}
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{python_sitearch}
|
||||
%if "%{_lib}" != "lib"
|
||||
mv $RPM_BUILD_ROOT%{_prefix}/lib/python*/site-packages/GDL.so \
|
||||
$RPM_BUILD_ROOT%{python_sitearch}/GDL.so
|
||||
@ -180,14 +186,15 @@ mv $RPM_BUILD_ROOT%{_prefix}/lib/python*/site-packages/GDL.so \
|
||||
popd
|
||||
|
||||
# Install the profile file to set GDL_PATH
|
||||
install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/profile.d
|
||||
install -m 0644 %SOURCE1 $RPM_BUILD_ROOT/%{_sysconfdir}/profile.d
|
||||
install -m 0644 %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/profile.d
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
||||
install -m 0644 %SOURCE1 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
||||
install -m 0644 %SOURCE2 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
||||
|
||||
|
||||
# EL8 s390x missing xorg-x11-drv-dummy
|
||||
%if ! ( 0%{?rhel} >= 8 && "%{_arch}" == "s390x" )
|
||||
%check
|
||||
export GDL_DRV_DIR=$RPM_BUILD_ROOT%{_libdir}/gnudatalanguage
|
||||
cd build
|
||||
cp %SOURCE4 .
|
||||
if [ -x /usr/libexec/Xorg ]; then
|
||||
@ -219,7 +226,8 @@ failing_tests="test_l64"
|
||||
failing_tests="test_(byte_conversion|bytscl|finite|matrix_multiply)"
|
||||
%endif
|
||||
%ifarch s390x
|
||||
failing_tests="test_(byte_conversion|bytsc)"
|
||||
# test_hdf5 - https://github.com/gnudatalanguage/gdl/issues/1488
|
||||
failing_tests="test_(byte_conversion|bytsc|hdf5)"
|
||||
%endif
|
||||
make test VERBOSE=1 ARGS="-V -E '$failing_tests'"
|
||||
make test VERBOSE=1 ARGS="-V -R '$failing_tests' --timeout 600" || :
|
||||
@ -233,6 +241,7 @@ cat xorg.log
|
||||
%doc AUTHORS HACKING NEWS README
|
||||
%config(noreplace) %{_sysconfdir}/profile.d/gdl.*sh
|
||||
%{_bindir}/gdl
|
||||
%{_libdir}/gnudatalanguage/
|
||||
%{_mandir}/man1/gdl.1*
|
||||
|
||||
%files common
|
||||
@ -243,6 +252,10 @@ cat xorg.log
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Jan 22 2023 Orion Poplawski <orion@nwra.com> - 1.0.2-1
|
||||
- Update to 1.0.2
|
||||
- Use SPDX License tag
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (gdl-1.0.1.tar.gz) = 9d15f114d26d03c34dce6177a5d5115e81c128ec21752c01d171f8427e6cb21b9d0b69a44e29891b5e8fc2bd4d0b89d1a8dcd189f362a13c6e59182528b5842d
|
||||
SHA512 (gdl-1.0.2.tar.gz) = 19869b68343ae8532ec9e27c402f69986d8269cc1f4c6af55402bef74f6dbee88c82b4c67db093b3be63377afb9a9a870f7baf484c8278d54ee5a7b5a428206a
|
||||
|
Loading…
Reference in New Issue
Block a user