Compare commits

...

31 Commits
master ... el6

Author SHA1 Message Date
Susi Lehtola f6fb5693ac Update to 0.3.0. 2018-06-02 10:16:47 +02:00
Susi Lehtola a9c38764a6 Update to 0.3.0. 2018-06-02 10:00:52 +02:00
Susi Lehtola c65b671839 Disable CPU affinity. 2018-03-22 16:27:24 +01:00
Susi Lehtola c9f67872fe Enable 64-bit interface packages. 2018-03-04 22:29:20 +01:00
Susi Lehtola 3e02baeb74 %{__global_ldflags} isn't available on EPEL6... 2018-02-28 14:27:17 +01:00
Susi Lehtola e87432dc82 Fix typo. 2018-02-27 18:20:53 +01:00
Susi Lehtola 83a4147923 Remove arched buildrequires, use Fedora LDFLAGS. 2018-02-27 18:17:44 +01:00
Susi Lehtola fbea1a13db Merge branch 'el6' into epel7 2017-09-14 14:08:23 +02:00
Susi Lehtola 3f81953af7 Simplify spec. 2017-09-14 14:04:09 +02:00
Susi Lehtola 09f23f67d6 Clean up flags 2017-09-12 10:00:37 +02:00
Susi Lehtola 945bf2cf17 Work towards fixing FTBFS but still fails. 2017-09-02 11:32:18 +02:00
Susi Lehtola cbd629e0fb Merge branch 'f26' into el6 2017-08-05 21:30:06 +02:00
Susi Lehtola ae2a3fa302 Merge branch 'f26' into epel7 2017-08-05 21:29:39 +02:00
Susi Lehtola 2e73c7c64b Don't use openblas_arches macro on older distros. 2017-08-05 21:25:38 +02:00
Susi Lehtola edcc40e721 Update to 0.2.20. 2017-07-31 23:50:12 +02:00
Susi Lehtola e0352984e2 Merge branch 'master' into epel7 2017-07-31 23:49:12 +02:00
Susi Lehtola a3c32f5f45 Update to 0.2.20. 2017-07-29 03:48:16 +02:00
Tom Callaway 953ca8b24c Merge branch 'master' into epel7 2016-12-14 12:40:31 -05:00
Tom Callaway be08d0e7e6 Merge branch 'master' into epel7 2016-12-14 11:58:45 -05:00
Susi Lehtola 200143dc8e Merge branch 'master' into epel7 2016-11-03 19:59:25 +01:00
Susi Lehtola e1f5431c19 Merge branch 'master' into epel7 2016-10-20 23:10:08 +02:00
Susi Lehtola 2b722db28b Merge branch 'master' into epel7 2016-10-19 06:10:32 +02:00
Susi Lehtola b80245fca1 Merge branch 'master' into epel7 2016-08-18 05:15:38 +02:00
Susi Lehtola 380adc6370 Merge branch 'master' into epel7 2016-04-13 05:14:20 +02:00
Susi Lehtola 217a88ab79 Merge branch 'master' into epel7 2016-03-18 19:37:10 +01:00
Susi Lehtola 83cddbd3e8 Merge branch 'master' into epel7 2016-03-16 22:07:35 +01:00
Susi Lehtola 4f397cbcba Merge branch 'master' into epel7 2016-03-16 21:59:38 +01:00
Susi Lehtola b6742ba716 Merge branch 'master' into epel7 2016-03-16 20:51:36 +01:00
Susi Lehtola 5e588d1e23 Merge branch 'master' into epel7 2016-01-13 08:40:01 +01:00
Susi Lehtola acff18e7fb Merge master 2016-01-12 20:34:13 +01:00
Orion Poplawski df40b954fa No execstack on ppc64le 2016-01-05 09:51:32 -07:00
5 changed files with 85 additions and 168 deletions

2
.gitignore vendored
View File

@ -12,3 +12,5 @@
/openblas-0.2.17.tar.gz
/v0.2.18.tar.gz
/v0.2.19.tar.gz
/v0.2.20.tar.gz
/v0.3.0.tar.gz

23
1572.patch Normal file
View File

@ -0,0 +1,23 @@
From 961d25e9c7e4a1758adb1dbeaa15187de69dd052 Mon Sep 17 00:00:00 2001
From: Martin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Date: Wed, 23 May 2018 22:54:39 +0200
Subject: [PATCH] Use the new zrot.c on POWER8 for crot as well
fixes #1571 (the old zrot.S assembly does not handle incx=0 correctly)
---
kernel/power/KERNEL.POWER8 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/KERNEL.POWER8 b/kernel/power/KERNEL.POWER8
index 00ff8682a..1aa061078 100644
--- a/kernel/power/KERNEL.POWER8
+++ b/kernel/power/KERNEL.POWER8
@@ -133,7 +133,7 @@ ZNRM2KERNEL = ../arm/znrm2.c
#
SROTKERNEL = srot.c
DROTKERNEL = drot.c
-#CROTKERNEL = ../arm/zrot.c
+CROTKERNEL = zrot.c
ZROTKERNEL = zrot.c
#
SSCALKERNEL = sscal.c

View File

@ -1,140 +0,0 @@
diff -up OpenBLAS-0.2.10/exports/gensymbol.lapacke OpenBLAS-0.2.10/exports/gensymbol
--- OpenBLAS-0.2.10/exports/gensymbol.lapacke 2014-07-16 12:04:30.000000000 +0200
+++ OpenBLAS-0.2.10/exports/gensymbol 2014-07-16 19:35:48.856855925 +0200
@@ -175,7 +175,7 @@
sggglm, sgghrd, sgglse, sggqrf,
sggrqf, sggsvd, sggsvp, sgtcon, sgtrfs, sgtsv,
sgtsvx, sgttrf, sgttrs, sgtts2, shgeqz,
- shsein, shseqr, slabrd, slacon, slacn2,
+ shsein, shseqr, slabrd, slacon,
slaein, slaexc, slag2, slags2, slagtm, slagv2, slahqr,
slahrd, slahr2, slaic1, slaln2, slals0, slalsa, slalsd,
slangb, slange, slangt, slanhs, slansb, slansp,
@@ -256,7 +256,7 @@
chpevx, chpgst, chpgv, chpgvd, chpgvx, chprfs, chpsv,
chpsvx,
chptrd, chptrf, chptri, chptrs, chsein, chseqr, clabrd,
- clacgv, clacon, clacn2, clacp2, clacpy, clacrm, clacrt, cladiv,
+ clacgv, clacon, clacpy, clacrm, clacrt, cladiv,
claed0, claed7, claed8,
claein, claesy, claev2, clags2, clagtm,
clahef, clahqr,
@@ -323,7 +323,7 @@
dggglm, dgghrd, dgglse, dggqrf,
dggrqf, dggsvd, dggsvp, dgtcon, dgtrfs, dgtsv,
dgtsvx, dgttrf, dgttrs, dgtts2, dhgeqz,
- dhsein, dhseqr, dlabrd, dlacon, dlacn2,
+ dhsein, dhseqr, dlabrd, dlacon,
dlaein, dlaexc, dlag2, dlags2, dlagtm, dlagv2, dlahqr,
dlahrd, dlahr2, dlaic1, dlaln2, dlals0, dlalsa, dlalsd,
dlangb, dlange, dlangt, dlanhs, dlansb, dlansp,
@@ -398,7 +398,7 @@
zhpevx, zhpgst, zhpgv, zhpgvd, zhpgvx, zhprfs, zhpsv,
zhpsvx,
zhptrd, zhptrf, zhptri, zhptrs, zhsein, zhseqr, zlabrd,
- zlacgv, zlacon, zlacn2, zlacp2, zlacpy, zlacrm, zlacrt, zladiv,
+ zlacgv, zlacon, zlacpy, zlacrm, zlacrt, zladiv,
zlaed0, zlaed7, zlaed8,
zlaein, zlaesy, zlaev2, zlags2, zlagtm,
zlahef, zlahqr,
@@ -845,10 +845,6 @@
LAPACKE_chseqr_work,
LAPACKE_clacgv,
LAPACKE_clacgv_work,
- LAPACKE_clacn2,
- LAPACKE_clacn2_work,
- LAPACKE_clacp2,
- LAPACKE_clacp2_work,
LAPACKE_clacpy,
LAPACKE_clacpy_work,
LAPACKE_clag2z,
@@ -984,8 +980,6 @@
LAPACKE_csyrfs,
LAPACKE_csyrfs_work,
LAPACKE_csysv,
- LAPACKE_csysv_rook,
- LAPACKE_csysv_rook_work,
LAPACKE_csysv_work,
LAPACKE_csysvx,
LAPACKE_csysvx_work,
@@ -1259,8 +1253,6 @@
LAPACKE_dhsein_work,
LAPACKE_dhseqr,
LAPACKE_dhseqr_work,
- LAPACKE_dlacn2,
- LAPACKE_dlacn2_work,
LAPACKE_dlacpy,
LAPACKE_dlacpy_work,
LAPACKE_dlag2s,
@@ -1510,8 +1502,6 @@
LAPACKE_dsyrfs,
LAPACKE_dsyrfs_work,
LAPACKE_dsysv,
- LAPACKE_dsysv_rook,
- LAPACKE_dsysv_rook_work,
LAPACKE_dsysv_work,
LAPACKE_dsysvx,
LAPACKE_dsysvx_work,
@@ -1749,8 +1739,6 @@
LAPACKE_shsein_work,
LAPACKE_shseqr,
LAPACKE_shseqr_work,
- LAPACKE_slacn2,
- LAPACKE_slacn2_work,
LAPACKE_slacpy,
LAPACKE_slacpy_work,
LAPACKE_slag2d,
@@ -1996,8 +1984,6 @@
LAPACKE_ssyrfs,
LAPACKE_ssyrfs_work,
LAPACKE_ssysv,
- LAPACKE_ssysv_rook,
- LAPACKE_ssysv_rook_work,
LAPACKE_ssysv_work,
LAPACKE_ssysvx,
LAPACKE_ssysvx_work,
@@ -2321,10 +2307,6 @@
LAPACKE_zhseqr_work,
LAPACKE_zlacgv,
LAPACKE_zlacgv_work,
- LAPACKE_zlacn2,
- LAPACKE_zlacn2_work,
- LAPACKE_zlacp2,
- LAPACKE_zlacp2_work,
LAPACKE_zlacpy,
LAPACKE_zlacpy_work,
LAPACKE_zlag2c,
@@ -2460,8 +2442,6 @@
LAPACKE_zsyrfs,
LAPACKE_zsyrfs_work,
LAPACKE_zsysv,
- LAPACKE_zsysv_rook,
- LAPACKE_zsysv_rook_work,
LAPACKE_zsysv_work,
LAPACKE_zsysvx,
LAPACKE_zsysvx_work,
@@ -2705,20 +2685,20 @@
#These function may need 2 underscores.
@lapack_embeded_underscore_objs=(xerbla_array, chla_transtype, slasyf_rook,
ssytf2_rook, ssytrf_rook, ssytrs_rook,
- ssytri_rook, ssycon_rook, ssysv_rook,
+ ssytri_rook, ssycon_rook,
chetf2_rook, chetrf_rook, chetri_rook,
chetrs_rook, checon_rook, chesv_rook,
clahef_rook, clasyf_rook,
csytf2_rook, csytrf_rook, csytrs_rook,
- csytri_rook, csycon_rook, csysv_rook,
+ csytri_rook, csycon_rook,
dlasyf_rook,
dsytf2_rook, dsytrf_rook, dsytrs_rook,
- dsytri_rook, dsycon_rook, dsysv_rook,
+ dsytri_rook, dsycon_rook,
zhetf2_rook, zhetrf_rook, zhetri_rook,
zhetrs_rook, zhecon_rook, zhesv_rook,
zlahef_rook, zlasyf_rook,
zsytf2_rook, zsytrf_rook, zsytrs_rook,
- zsytri_rook, zsycon_rook, zsysv_rook,
+ zsytri_rook, zsycon_rook,

View File

@ -1,6 +1,6 @@
%bcond_with system_lapack
# Version of bundled lapack
%global lapackver 3.7.0
%global lapackver 3.8.0
# DO NOT "CLEAN UP" OR MODIFY THIS SPEC FILE WITHOUT ASKING THE
# MAINTAINER FIRST!
@ -14,7 +14,7 @@
# "obsoleted" features are still kept in the spec.
Name: openblas
Version: 0.2.20
Version: 0.3.0
Release: 1%{?dist}
Summary: An optimized BLAS library based on GotoBLAS2
Group: Development/Libraries
@ -29,8 +29,8 @@ Patch1: openblas-0.2.5-libname.patch
Patch2: openblas-0.2.15-constructor.patch
# Supply the proper flags to the test makefile
Patch3: openblas-0.2.19-tests.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
# Fix build on ppc64le, from upstream
Patch4: https://patch-diff.githubusercontent.com/raw/xianyi/OpenBLAS/pull/1572.patch
BuildRequires: gcc-gfortran
BuildRequires: perl-devel
@ -52,9 +52,9 @@ BuildRequires: /usr/bin/execstack
# LAPACK
%if %{with system_lapack}
%if 0%{?rhel} == 5 || 0%{?rhel} == 6
BuildRequires: lapack-devel%{?_isa}
BuildRequires: lapack-devel
%else
BuildRequires: lapack-static%{?_isa}
BuildRequires: lapack-static
%endif
# Do we have LAPACKE? (Needs at least lapack 3.4.0)
%if 0%{?fedora}
@ -70,16 +70,11 @@ Provides: bundled(lapack) = %{lapackver}
%endif
# Build 64-bit interface binaries?
%if 0%{?rhel} == 5 || 0%{?rhel} == 6
# RPM too old to know __isa_bits in RHEL 5, and lapack64 doesn't exist in RHEL 6
%global build64 0
%else
%if 0%{?__isa_bits} == 64
%global build64 1
%else
%global build64 0
%endif
%endif
%if %{with system_lapack}
%if %build64
@ -87,9 +82,7 @@ BuildRequires: lapack64-static
%endif
%endif
# Upstream supports the package only on these architectures.
# Runtime processor detection is not available on other archs.
ExclusiveArch: %{openblas_arches}
ExclusiveArch: x86_64 %{ix86} armv7hl %{power64} aarch64 s390x
%global base_description \
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD \
@ -202,7 +195,6 @@ Requires: %{name}-openmp64_%{?_isa} = %{version}-%{release}
Requires: %{name}-threads64_%{?_isa} = %{version}-%{release}
Requires: %{name}-serial64_%{?_isa} = %{version}-%{release}
%endif
Requires: %{name}-srpm-macros
%description devel
%{base_description}
@ -234,6 +226,7 @@ cd OpenBLAS-%{version}
%patch2 -p1 -b .constructor
%endif
%patch3 -p1 -b .tests
%patch4 -p1 -b .ppc64le
# Fix source permissions
find -name \*.f -exec chmod 644 {} \;
@ -374,27 +367,47 @@ TARGET="TARGET=ARMV8 DYNAMIC_ARCH=0"
%if 0%{?rhel} == 5
# Gfortran too old to recognize -frecursive
FCOMMON="%{optflags}"
COMMON="%{optflags} -fPIC"
FCOMMON="%{optflags} -fPIC"
%else
FCOMMON="%{optflags} -frecursive"
FCOMMON="%{optflags} -fPIC -frecursive"
%endif
# Use Fedora linker flags
%if 0%{?fedora} > 0 || 0%{?rhel} > 6
export LDFLAGS="%{__global_ldflags}"
%endif
make -C Rblas $TARGET USE_THREAD=0 USEOPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fPIC" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0
make -C Rblas $TARGET USE_THREAD=0 USEOPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libRblas" LIBSONAME="libRblas.so" $AVX $LAPACKE INTERFACE64=0
# Declare some necessary build flags
make -C serial $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fPIC" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0
make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fPIC" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0
COMMON="%{optflags} -fPIC"
FCOMMON="$COMMON -frecursive"
make -C serial $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas" $AVX $LAPACKE INTERFACE64=0
make -C threaded $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp" $AVX $LAPACKE INTERFACE64=0
# USE_THREAD determines use of SMP, not of pthreads
make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC -fopenmp" FCOMMON_OPT="$FCOMMON -fPIC" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0 EXTRALIB="-fopenmp -lgfortran -lm"
COMMON="%{optflags} -fPIC -fopenmp -pthread"
FCOMMON="$COMMON -frecursive"
make -C openmp $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso" $AVX $LAPACKE INTERFACE64=0
%if %build64
make -C serial64 $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1
make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1
make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC -fopenmp" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1 EXTRALIB="-fopenmp -lgfortran -lm"
COMMON="%{optflags} -fPIC"
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C serial64 $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64" $AVX $LAPACKE INTERFACE64=1
make -C threaded64 $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64" $AVX $LAPACKE INTERFACE64=1
make -C serial64_ $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="%{optflags} -fPIC -fopenmp" FCOMMON_OPT="$FCOMMON -fdefault-integer-8 -fPIC" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_ EXTRALIB="-fopenmp -lgfortran -lm"
COMMON="%{optflags} -fPIC -fopenmp -pthread"
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C openmp64 $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64" $AVX $LAPACKE INTERFACE64=1
COMMON="%{optflags} -fPIC"
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C serial64_ $TARGET USE_THREAD=0 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblas64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
make -C threaded64_ $TARGET USE_THREAD=1 USE_OPENMP=0 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblasp64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
COMMON="%{optflags} -fPIC -fopenmp -pthread"
FCOMMON="$COMMON -frecursive -fdefault-integer-8"
make -C openmp64_ $TARGET USE_THREAD=1 USE_OPENMP=1 FC=gfortran CC=gcc COMMON_OPT="$COMMON" FCOMMON_OPT="$FCOMMON" $NMAX LIBPREFIX="libopenblaso64_" $AVX $LAPACKE INTERFACE64=1 SYMBOLSUFFIX=64_
%endif
%install
@ -651,6 +664,25 @@ rm -rf %{buildroot}
%endif
%changelog
* Sat Jun 02 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.3.0-1
- Update to 0.3.0.
* Thu Mar 22 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-6
- Disable CPU affinity that was unintentionally enabled upstream (BZ #1558091).
* Sun Mar 04 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-5
- Enable 64-bit interface packages on RHEL 6.
* Tue Feb 27 2018 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-4
- No arched buildrequires (no change to binary packages).
- Use Fedora linker flags (BZ #1548750).
* Thu Sep 14 2017 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-3
- Simplify spec, drop extra library args. Builds again on RHEL6.
* Fri Jul 28 2017 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-2
- Don't use openblas_arches macro on distros older than rawhide.
* Fri Jul 28 2017 Susi Lehtola <jussilehtola@fedoraproject.org> - 0.2.20-1
- Update to 0.2.20.

View File

@ -1 +1 @@
SHA512 (v0.2.20.tar.gz) = 8dfc8e8c8d456b834d2e9544c8eadd9f4770e30db8b8dd76af601ec0735fd86c9cf63dd6a03ccd23fc02ec2e05069a09875b9073dfe29f99aadab3a958ae2634
SHA512 (v0.3.0.tar.gz) = 6a982d2adc13febc162d5c0077cedc116c771409ee1dbb651da6a073e5f6a439e1d0eba0349b3b2e506b274d3014adbf48fc96625ed942a61a54a0c936576b89