File gixsql.spec of Package gixsql

#Vendor:    JSI Data Systems Ltd
Distribution:  openSUSE
Name:   gixsql
Version:  v1.0.21dev
Release:  0
Summary:  SQL Preprocessor for GnuCOBOL
Group:    Development/Languages/Other
License:  GPL-3.0-or-later or LGPL-3.0-or-later
URL:    https://github.com/mridoni/gix
Source:   %{name}-%{version}.tar.xz
Patch1:         gix_cstdint.patch

BuildRequires:  m4
BuildRequires:  patch
%if 0%{?sle_version} == 150400 || 0%{?sle_version} == 150500 || 0%{?sle_version} == 150600
BuildRequires: cpp13
BuildRequires: gcc13
BuildRequires: gcc13-c++
BuildRequires: libstdc++6-devel-gcc13
Requires:      cpp13
Requires:      gcc13
Requires:      gcc13-c++
%else
  %if 0%{?suse_version} > 1500
BuildRequires: cpp13
BuildRequires: gcc13
BuildRequires: gcc13-c++
BuildRequires: libstdc++6-devel-gcc13
Requires:      cpp13
Requires:      gcc13
Requires:      gcc13-c++
#BuildRequires: ghostscript
#BuildRequires: time
  %else
    %if 0%{?suse_version}
BuildRequires: cpp9
BuildRequires: gcc9
BuildRequires: gcc9-c++
BuildRequires:  libstdc++6-devel-gcc9
Requires:      cpp9
Requires:      gcc9
Requires:      gcc9-c++
    %endif
  %endif
%endif
BuildRequires:  glibc-devel
BuildRequires:  glibc
BuildRequires:  unixODBC-devel
BuildRequires:  automake
BuildRequires:  autoconf
BuildRequires:  libtool
BuildRequires:  flex
BuildRequires:  bison
BuildRequires:  spdlog-devel
BuildRequires:  fmt-devel
BuildRequires:  postgresql-devel
BuildRequires:  dos2unix
#
Requires: m4
Requires: patch
Requires: glibc
#Requires:  glibc-devel
Requires: unixODBC
Requires:   gnucobol
Requires:   libspdlog1
Requires:   libfmt8

Requires(post): /sbin/install-info

#BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}

%description
GixSQL is an ESQL preprocessor and a series of runtime
libraries to enable GnuCOBOL to access PostgreSQL, ODBC, MySQL,
Oracle and SQLite databases.

%prep
%setup -q -n %{name}-%{version}
cp -a libgixpp/ESQLCall.h        libgixpp/ESQLCall.h.old
cp -a libgixpp/TPESQLCommon.h    libgixpp/TPESQLCommon.h.old 
cp -a libgixpp/TPESQLProcessor.h libgixpp/TPESQLProcessor.h.old
cp -a libgixpp/gix_esql_parser.yy libgixpp/gix_esql_parser.yy.old 
%patch -P 1 -p0

%build
# use modern compiler on suse
%if 0%{?sle_version} == 150400 || 0%{?sle_version} == 150500 || 0%{?sle_version} == 150600
CC=gcc-13  ; export CC
CXX=g++-13 ; export CXX
%else
  %if 0%{?suse_version} > 1500
CC=gcc-13  ; export CC
CXX=g++-13 ; export CXX
  %else
    %if 0%{?suse_version}
CC=gcc-9  ; export CC
CXX=g++-9 ; export CXX
    %endif
  %endif
%endif

echo suse_version = %{?suse_version}
echo sle_verson   = %{?sle_version}
echo is_opensuse  = %{?is_opensuse}

head -n -3 Makefile.am > tmp.txt && mv tmp.txt Makefile.am
chmod -x AUTHORS COPYING NEWS README.md ChangeLog
dos2unix AUTHORS COPYING NEWS README.md ChangeLog
./prepdist.sh
autoreconf -vfi -I m4
chmod 755 configure
%configure CPPFLAGS='-I/usr/include/pgsql -fpie'\
  CFLAGS='-ffat-lto-objects -fpie' CXXFLAGS='-ffat-lto-objects -fpie'\
  LDFLAGS='-pie' \
  --prefix=/usr\
  --sysconfdir=/etc\
  --libdir=/usr/lib64
  
#
# make
#
make

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
cp -v misc/gixsql-wrapper $RPM_BUILD_ROOT/%{_bindir}/gixsql
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la

%files
%defattr (-,root,root,-)
%doc AUTHORS COPYING ChangeLog
%doc NEWS README.md LICENSE
%attr(755,root,root) %{_bindir}/gix*
%{_libdir}/lib*
%{_includedir}/*
%dir %{_datadir}/gixsql
%dir %{_datadir}/gixsql/copy
%dir %{_datadir}/gixsql/doc
%{_datadir}/gixsql/copy/SQLCA.cpy
%{_datadir}/gixsql/doc/README
%{_datadir}/gixsql/doc/LICENSE

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

%changelog
openSUSE Build Service is sponsored by