Blob Blame History Raw
Summary: Crystallographic Binary File and Image Library
Name: CBFlib
Version: 0.9.5.15
Release: 8%{?dist}
# library files (*.so*) are LGPLv2+, all else is GPLv2+
License: GPLv2+ and (GPLv2+ or LGPLv2+)
URL: http://www.bernstein-plus-sons.com/software/CBF
Source0: http://downloads.sourceforge.net/cbflib/%{name}-%{version}.tar.gz
BuildRequires: gcc-gfortran
BuildRequires: hdf5-devel
BuildRequires: pcre-devel

%description
CBFlib (Crystallographic Binary File library) is a library of ANSI-C
functions providing a simple mechanism for accessing Crystallographic
Binary Files (CBF files) and Image-supporting CIF (imgCIF) files. The
CBFlib API is loosely based on the CIFPARSE API for mmCIF files. Like
CIFPARSE, CBFlib does not perform any semantic integrity checks;
rather it simply provides functions to create, read, modify and write
CBF binary data files and imgCIF ASCII data files.

%package devel
Summary: Header files and library for developing programs with cbf
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: hdf5-devel

%description devel

This package contains libraries and header files needed for program
development using the crystallographic binary file and image library.

%prep
%setup -q -n %{name}-%{version}

# various cleanups
iconv -f iso8859-15 -t utf-8 doc/cif_img_1.5.3_8Jul07.dic > doc/cif_img_1.5.3_8Jul07.dic.conv && mv -f doc/cif_img_1.5.3_8Jul07.dic.conv doc/cif_img_1.5.3_8Jul07.dic 
rm doc/.symlinks
rm doc/.undosymlinks
chmod 644 examples/*.c

%build
# make %{?_smp_mflags}
cd src
gcc -fPIC -DCBF_DONT_USE_LONG_LONG -D_USE_XOPEN_EXTENDED %{optflags} -c *.c -I../include/
gcc -shared -Wl,-soname,libcbf.so.0 -o libcbf.so.0.0.0 *.o -lhdf5 -lz -lm
rm *.o
gfortran -fPIC -fno-range-check %{optflags} -c *.f90 -I../include/
gfortran -shared -Wl,-soname,libfcb.so.0 -o libfcb.so.0.0.0 *.o

cd ../examples
utilsublist="adscimg2cbf
cbf2adscimg
adscimg2cbf"
for i in $utilsublist; do
  gcc %{optflags} ${i}.c ${i}_sub.c -I../include ../src/libcbf.so.0.0.0 -o ${i} -lm
done
# convert_image (taken out due to mktemp call)
utillist="convert_minicbf
makecbf
img2cif
cif2cbf
cif2c"
for i in $utillist; do
  gcc %{optflags} ${i}.c -I../include ../src/libcbf.so.0.0.0 -o ${i} -lm
done

%install
rm -rf %{buildroot}
# make install DESTDIR=%{buildroot} INSTALL='install -p'

mkdir -p %{buildroot}%{_libdir}
install -p -m 644 src/*.so* %{buildroot}%{_libdir}/
pushd %{buildroot}%{_libdir}
chmod +x libcbf.so.0.0.0
ln -sf libcbf.so.0.0.0 libcbf.so.0
ln -sf libcbf.so.0.0.0 libcbf.so
chmod +x libfcb.so.0.0.0
ln -sf libfcb.so.0.0.0 libfcb.so.0
ln -sf libfcb.so.0.0.0 libfcb.so
popd

mkdir -p %{buildroot}%{_bindir}
utilsublist="adscimg2cbf
cbf2adscimg
adscimg2cbf"
for i in $utilsublist; do
  install -p -m 755 examples/${i} %{buildroot}%{_bindir}/
done
# convert_image (taken out due to mktemp call)
utillist="convert_minicbf
makecbf
img2cif
cif2cbf
cif2c"
for i in $utillist; do
  install -p -m 755 examples/${i} %{buildroot}%{_bindir}/
done

mkdir -p %{buildroot}%{_includedir}/cbf
install -p -m 644 include/* %{buildroot}%{_includedir}/cbf/

%ldconfig_scriptlets

%files
%license doc/gpl.txt
%doc README
# GPLv2+
%{_bindir}/adscimg2cbf
%{_bindir}/cbf2adscimg
# %{_bindir}/convert_image
%{_bindir}/convert_minicbf
%{_bindir}/makecbf
%{_bindir}/img2cif
%{_bindir}/cif2cbf
%{_bindir}/cif2c
# LGPLv2+
%{_libdir}/libcbf.so.0.0.0
%{_libdir}/libcbf.so.0
%{_libdir}/libfcb.so.0.0.0
%{_libdir}/libfcb.so.0

%files devel
# GPLv2+
%doc doc
# LGPLv2+
%{_libdir}/libcbf.so
%{_libdir}/libfcb.so
# GPLv2+
%{_includedir}/cbf

%changelog
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5.15-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5.15-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5.15-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5.15-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5.15-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sun Feb 05 2017 Kalev Lember <klember@redhat.com> - 0.9.5.15-3
- Rebuilt for libgfortran soname bump

* Tue Dec 06 2016 Orion Poplawski <orion@cora.nwra.com> - 0.9.5.15-2
- Rebuild for hdf5 1.8.18

* Wed Jun 29 2016 Orion Poplawski <orion@cora.nwra.com> - 0.9.5.15-1
- Update to 0.9.5.15

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.5.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jan 21 2016 Orion Poplawski <orion@cora.nwra.com> - 0.9.5.14-2
- Rebuild for hdf5 1.8.16

* Mon Dec 28 2015 Tim Fenn <tim.fenn@gmail.com> - 0.9.5.14-1
- update to 0.9.5.14

* Mon Jun 29 2015 Tim Fenn <tim.fenn@gmail.com> - 0.9.5.4-1
- update to 0.9.5.4

* Mon Jun 22 2015 Ralf Cors├ępius <corsepiu@fedoraproject.org> - 0.9.5.2-4
- Let *-devel Requires: hd5-devel (RHBZ #1233633).

* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sun May 17 2015 Orion Poplawski <orion@cora.nwra.com> - 0.9.5.2-2
- Rebuild for hdf5 1.8.15

* Sun Mar 01 2015 Tim Fenn <tim.fenn@gmail.com> - 0.9.5.2-1
- update to 0.9.5.2

* Wed Jan 07 2015 Orion Poplawski <orion@cora.nwra.com> - 0.9.5.1-2
- Rebuild for hdf5 1.8.4

* Sun Sep 28 2014 Tim Fenn <tim.fenn@gmail.com> - 0.9.5.1-1
- update to 0.9.5.1
- remove convert_image due to mktemp call

* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sun Jan 29 2012 Tim Fenn <tim.fenn@gmail.com> - 0.9.2.3-2
- update requires
- fix permissions of .c files in examples directory

* Fri Dec 30 2011 Tim Fenn <tim.fenn@gmail.com> - 0.9.2.3-1
- update to 0.9.2.3
- remove duplicate adscimg2cbf
- fix typo
- use optflags and buildroot instead of RPM_OPT_FLAGS and RPM_BUILD_ROOT
- keep gpl.txt in doc dir

* Fri Jul 01 2011 Tim Fenn <fenn@stanford.edu> - 0.9.2.2-1
- update to 0.9.2.2 (removes pycifrw dependency)

* Mon Nov 15 2010 Tim Fenn <fenn@stanford.edu> - 0.9.1-1
- update to 0.9.1rc2
- add lm to linker for utils

* Mon Mar 08 2010 Tim Fenn <fenn@stanford.edu> - 0.9.0-1
- update to 0.9.0
- include examples

* Wed Dec 09 2009 Tim Fenn <fenn@stanford.edu> - 0.8.1-2
- add a define to cflags
- fix up doc
- license update

* Wed Sep 16 2009 Tim Fenn <fenn@stanford.edu> - 0.8.1-1
- initial build