New version

Dropped gcc-8.0.1-compile-fix patch (not needed)
This commit is contained in:
Jaroslav Škarvada 2018-05-29 17:37:12 +02:00
parent 8c3b1bd59a
commit f502bf507a
3 changed files with 7 additions and 272 deletions

View File

@ -1 +1 @@
SHA512 (wsjtx-1.9.0-rc4.tgz) = 27426984b31036cb3790478e90e441b6144e6d4d18d17df8f015ac59b07c1218260b6f492f9a4c01763477573afa5098b920ef5a0e3adaaccb6aa98f0f43672e SHA512 (wsjtx-1.9.0.tgz) = fadd28344e3104edd16a3dc5f2ed0a4ec48af47f59af4f2337559011569b1a6a2cf098672ad6795d4e11c13ae5b70b85bbf0d58b0b7e8f534c837a08f8fafef8

View File

@ -1,266 +0,0 @@
diff --git a/wsjtx/CMakeLists.txt b/wsjtx/CMakeLists.txt
--- a/wsjtx/CMakeLists.txt
+++ b/wsjtx/CMakeLists.txt
@@ -351,6 +351,7 @@ set (wsjt_FSRCS
lib/timer_impl.f90
lib/timer_module.f90
lib/wavhdr.f90
+ lib/strconvert_module.f90
# remaining non-module sources
lib/addit.f90
diff --git a/wsjtx/commons.h b/wsjtx/commons.h
--- a/wsjtx/commons.h
+++ b/wsjtx/commons.h
@@ -59,11 +59,11 @@ extern struct dec_data {
int naggressive;
bool nrobust;
int nexp_decode;
- char datetime[20];
- char mycall[12];
- char mygrid[6];
- char hiscall[12];
- char hisgrid[6];
+ char datetime[21];
+ char mycall[13];
+ char mygrid[7];
+ char hiscall[13];
+ char hisgrid[7];
} params;
} dec_data;
diff --git a/wsjtx/lib/Makefile.linux b/wsjtx/lib/Makefile.linux
--- a/wsjtx/lib/Makefile.linux
+++ b/wsjtx/lib/Makefile.linux
@@ -39,7 +39,7 @@ OBJS1 = astrosub.o astro0.o astro.o tm2.o sun.o moondop.o coord.o tmoonsub.o \
symspec.o analytic.o db.o genjt9.o jt9fano.o \
packbits.o unpackbits.o encode232.o interleave9.o \
entail.o fano232.o gran.o sync9.o decjt9.o \
- fil3.o decoder.o grid2n.o n2grid.o timer.o \
+ fil3.o strconvert_module.o decoder.o grid2n.o n2grid.o timer.o \
softsym.o peakdt9.o getlags.o afc9.o fchisq.o \
twkfreq.o downsam9.o symspec2.o ipcomm.o sleep_msec.o \
stdmsg.o sec_midn.o usleep.o azdist.o geodist.o morse.o \
diff --git a/wsjtx/lib/decoder.f90 b/wsjtx/lib/decoder.f90
--- a/wsjtx/lib/decoder.f90
+++ b/wsjtx/lib/decoder.f90
@@ -3,6 +3,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
!$ use omp_lib
use prog_args
use timer_module, only: timer
+ use strconvert_module
use jt4_decode
use jt65_decode
use jt9_decode
@@ -11,6 +12,11 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
include 'jt9com.f90'
include 'timer_common.inc'
+ character*12 :: mycall
+ character*6 :: mygrid
+ character*12 :: hiscall
+ character*6 :: hisgrid
+
type, extends(jt4_decoder) :: counting_jt4_decoder
integer :: decoded
end type counting_jt4_decoder
@@ -38,6 +44,11 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
type(counting_jt9_decoder) :: my_jt9
type(counting_ft8_decoder) :: my_ft8
+ call str_c2f(params%mycall, mycall)
+ call str_c2f(params%mygrid, mygrid)
+ call str_c2f(params%hiscall, hiscall)
+ call str_c2f(params%hisgrid, hisgrid)
+
! initialize decode counts
my_jt4%decoded = 0
my_jt65%decoded = 0
@@ -49,7 +60,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
if(mod(params%nranera,2).eq.0) ntrials=10**(params%nranera/2)
if(mod(params%nranera,2).eq.1) ntrials=3*10**(params%nranera/2)
if(params%nranera.eq.0) ntrials=0
-
+
nfail=0
10 if (params%nagain) then
open(13,file=trim(temp_dir)//'/decoded.txt',status='unknown', &
@@ -86,7 +97,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
params%nftx,newdat,params%nutc,params%nfa,params%nfb, &
params%nexp_decode,params%ndepth,logical(params%nagain), &
logical(params%lft8apon),logical(params%lapcqonly),params%napwid, &
- params%mycall,params%mygrid,params%hiscall,params%hisgrid)
+ mycall,mygrid,hiscall,hisgrid)
call timer('decft8 ',1)
if(nfox.gt.0) then
n30min=minval(n30fox(1:nfox))
@@ -109,7 +120,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
n30fox(j)=n
m=n30max-n
if(len(trim(g2fox(j))).eq.4) then
- call azdist(params%mygrid,g2fox(j),0.d0,nAz,nEl,nDmiles,nDkm, &
+ call azdist(mygrid,g2fox(j),0.d0,nAz,nEl,nDmiles,nDkm, &
nHotAz,nHotABetter)
else
nDkm=9999
@@ -164,8 +175,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
call my_jt4%decode(jt4_decoded,dd,jz,params%nutc,params%nfqso, &
params%ntol,params%emedelay,params%dttol,logical(params%nagain), &
params%ndepth,logical(params%nclearave),params%minsync, &
- params%minw,params%nsubmode,params%mycall,params%hiscall, &
- params%hisgrid,params%nlist,params%listutc,jt4_average)
+ params%minw,params%nsubmode,mycall,hiscall, &
+ hisgrid,params%nlist,params%listutc,jt4_average)
go to 800
endif
@@ -197,8 +208,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
nf1,nf2,params%nfqso,ntol65,params%nsubmode,params%minsync, &
logical(params%nagain),params%n2pass,logical(params%nrobust), &
ntrials,params%naggressive,params%ndepth,params%emedelay, &
- logical(params%nclearave),params%mycall,params%hiscall, &
- params%hisgrid,params%nexp_decode,params%nQSOProgress, &
+ logical(params%nclearave),mycall,hiscall, &
+ hisgrid,params%nexp_decode,params%nQSOProgress, &
logical(params%ljt65apon))
call timer('jt65a ',1)
@@ -223,8 +234,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
nf1,nf2,params%nfqso,ntol65,params%nsubmode,params%minsync, &
logical(params%nagain),params%n2pass,logical(params%nrobust), &
ntrials,params%naggressive,params%ndepth,params%emedelay, &
- logical(params%nclearave),params%mycall,params%hiscall, &
- params%hisgrid,params%nexp_decode,params%nQSOProgress, &
+ logical(params%nclearave),mycall,hiscall, &
+ hisgrid,params%nexp_decode,params%nQSOProgress, &
logical(params%ljt65apon))
call timer('jt65a ',1)
else
@@ -502,7 +513,7 @@ contains
c1=decoded0(1:i1-1)//' '
c2=decoded0(i1+1:i2-1)
g2=decoded0(i2+1:i3-1)
- b0=c1.eq.params%mycall
+ b0=c1.eq.mycall
ctmp=decoded0(i1+1:i2-1)
i6=index(ctmp,'/')
if(c1(1:3).eq.'DE ' .or. i6.gt.0) then
@@ -510,9 +521,9 @@ contains
if(i6.ge.2 .and. i6.lt.len(trim(ctmp))/2) c2=ctmp(i6+1:)
if(i6.ge.len(trim(ctmp))/2) c2=ctmp(:i6-1)
endif
- if(len(trim(c1)).ne.len(trim(params%mycall))) then
- i4=index(trim(c1),trim(params%mycall))
- i5=index(trim(params%mycall),trim(c1))
+ if(len(trim(c1)).ne.len(trim(mycall))) then
+ i4=index(trim(c1),trim(mycall))
+ i5=index(trim(mycall),trim(c1))
if(i4.ge.1 .or. i5.ge.1) b0=.true.
endif
b1=i3-i2.eq.5 .and. isgrid4(g2)
diff --git a/wsjtx/lib/jt9.f90 b/wsjtx/lib/jt9.f90
--- a/wsjtx/lib/jt9.f90
+++ b/wsjtx/lib/jt9.f90
@@ -8,6 +8,7 @@ program jt9
use, intrinsic :: iso_c_binding
use FFTW3
use timer_module, only: timer
+ use strconvert_module
use timer_impl, only: init_timer, fini_timer
use readwav
@@ -278,13 +279,13 @@ program jt9
shared_data%params%nranera=6 !### ntrials=3000
shared_data%params%nrobust=.false.
shared_data%params%nexp_decode=nexp_decode
- shared_data%params%mycall=mycall
- shared_data%params%mygrid=mygrid
- shared_data%params%hiscall=hiscall
- shared_data%params%hisgrid=hisgrid
- if (shared_data%params%mycall == '') shared_data%params%mycall='K1ABC'
- if (shared_data%params%hiscall == '') shared_data%params%hiscall='W9XYZ'
- if (shared_data%params%hisgrid == '') shared_data%params%hiscall='EN37'
+ if (mycall == '') mycall='K1ABC'
+ if (hiscall == '') hiscall='W9XYZ'
+ if (hisgrid == '') hisgrid='EN37'
+ call str_f2c(mycall, shared_data%params%mycall)
+ call str_f2c(mygrid, shared_data%params%mygrid)
+ call str_f2c(hiscall, shared_data%params%hiscall)
+ call str_f2c(hisgrid, shared_data%params%hisgrid)
if (tx9) then
shared_data%params%ntxmode=9
else
diff --git a/wsjtx/lib/jt9com.f90 b/wsjtx/lib/jt9com.f90
--- a/wsjtx/lib/jt9com.f90
+++ b/wsjtx/lib/jt9com.f90
@@ -41,11 +41,11 @@
integer(c_int) :: naggressive
logical(c_bool) :: nrobust
integer(c_int) :: nexp_decode
- character(kind=c_char, len=20) :: datetime
- character(kind=c_char, len=12) :: mycall
- character(kind=c_char, len=6) :: mygrid
- character(kind=c_char, len=12) :: hiscall
- character(kind=c_char, len=6) :: hisgrid
+ character(kind=c_char) :: datetime(20)
+ character(kind=c_char) :: mycall(12)
+ character(kind=c_char) :: mygrid(6)
+ character(kind=c_char) :: hiscall(12)
+ character(kind=c_char) :: hisgrid(6)
end type params_block
type, bind(C) :: dec_data
diff --git a/wsjtx/lib/strconvert_module.f90 b/wsjtx/lib/strconvert_module.f90
new file mode 100644
--- /dev/null
+++ b/wsjtx/lib/strconvert_module.f90
@@ -0,0 +1,37 @@
+module strconvert_module
+ implicit none
+
+ public :: str_f2c, str_c2f
+
+contains
+ subroutine str_f2c(str_f, str_c)
+ use, intrinsic :: iso_c_binding, only: c_char, c_null_char
+ implicit none
+ character(len=*), intent(in) :: str_f
+ character(kind=c_char), bind(C), intent(out) :: str_c(*)
+ integer :: i
+
+ do i = 1, len_trim(str_f)
+ str_c(i) = str_f(i:i + 1)
+ end do
+ str_c(i) = c_null_char
+ end subroutine str_f2c
+
+ subroutine str_c2f(str_c, str_f)
+ use, intrinsic :: iso_c_binding, only: c_char, c_null_char
+ implicit none
+ character(kind=c_char), bind(C), intent(in) :: str_c(*)
+ character(len=*), intent(out) :: str_f
+ integer :: i
+
+ str_f = ""
+ i = 1
+ do
+ if (str_c(i) == c_null_char) then
+ return
+ endif
+ str_f = trim(str_f) // trim(str_c(i))
+ i = i + 1
+ end do
+ end subroutine str_c2f
+end module strconvert_module
diff --git a/wsjtx/wsjtx_config.h.in b/wsjtx/wsjtx_config.h.in
--- a/wsjtx/wsjtx_config.h.in
+++ b/wsjtx/wsjtx_config.h.in
@@ -44,6 +44,7 @@ extern "C" {
/* typedef for consistent gfortran ABI for charlen type hidden arguments */
#if __GNUC__ > 7
+#include <stddef.h>
typedef size_t fortran_charlen_t;
#else
typedef int fortran_charlen_t;

View File

@ -1,15 +1,13 @@
%global rctag rc4 #%%global rctag rc4
Name: wsjtx Name: wsjtx
Version: 1.9.0 Version: 1.9.0
Release: 0.3%{?rctag:.%{rctag}}%{?dist} Release: 1%{?rctag:.%{rctag}}%{?dist}
Summary: Weak Signal communication by K1JT Summary: Weak Signal communication by K1JT
License: GPLv3+ License: GPLv3+
URL: http://physics.princeton.edu/pulsar/k1jt/wsjtx.html URL: http://physics.princeton.edu/pulsar/k1jt/wsjtx.html
Source0: http://physics.princeton.edu/pulsar/k1jt/%{name}-%{version}%{?rctag:-%{rctag}}.tgz Source0: http://physics.princeton.edu/pulsar/k1jt/%{name}-%{version}%{?rctag:-%{rctag}}.tgz
Patch0: wsjtx-1.9.0.rc4-compile-fix.patch Patch0: wsjtx-1.9.0.rc4-compile-fix.patch
# Patch sent upstream
Patch1: wsjtx-1.9.0.rc4-gcc-8.0.1-compile-fix.patch
BuildRequires: dos2unix, tar, cmake, gcc-c++, gcc-gfortran, qt5-devel BuildRequires: dos2unix, tar, cmake, gcc-c++, gcc-gfortran, qt5-devel
BuildRequires: desktop-file-utils, hamlib-devel, fftw-devel, libusbx-devel BuildRequires: desktop-file-utils, hamlib-devel, fftw-devel, libusbx-devel
BuildRequires: boost-devel, portaudio-devel, asciidoc, rubygem-asciidoctor BuildRequires: boost-devel, portaudio-devel, asciidoc, rubygem-asciidoctor
@ -33,7 +31,6 @@ tar -xzf src/%{name}.tgz
rm -f src/wsjtx.tgz* rm -f src/wsjtx.tgz*
%patch0 -p1 -b .compile-fix %patch0 -p1 -b .compile-fix
%patch1 -p1 -b .gcc-8.0.1-compile-fix.patch
cd %{name} cd %{name}
@ -99,6 +96,10 @@ install -p -m 0644 -t %{buildroot}%{_datadir}/doc/%{name} GUIcontrols.txt jt9.tx
%{_datadir}/%{name} %{_datadir}/%{name}
%changelog %changelog
* Tue May 29 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.9.0-1
- New version
- Dropped gcc-8.0.1-compile-fix patch (not needed)
* Wed May 2 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.9.0-0.3.rc4 * Wed May 2 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.9.0-0.3.rc4
- New version - New version
- De-fuzzified patches - De-fuzzified patches