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