Browse Source

2015-01-26 Ryoichi INAGAKI <ryo1@toki.waseda.jp>

	* hdf: updated
	* tcl, tk: split development files into devel subpackage
	


git-svn-id: http://trac.vinelinux.org/repos/projects/specs@9294 ec354946-7b23-47d6-9f5a-488ba84defc7
inagaki 9 years ago
parent
commit
381cc88124
3 changed files with 136 additions and 40 deletions
  1. 70 24
      h/hdf/hdf-vl.spec
  2. 32 8
      t/tcl/tcl-vl.spec
  3. 34 8
      t/tk/tk-vl.spec

+ 70 - 24
h/hdf/hdf-vl.spec

@@ -1,20 +1,37 @@
 Name: hdf
-Version: 4.2r2
+Version: 4.2.10
 Release: 1%{?_dist_release}
 Summary: A general purpose library and file format for storing scientific data
-Source0: ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF_Current/src/HDF%{version}.tar.gz
-#Source1: ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF_Current/src/patches/4.2r1-hrepack-patch.tar
-Patch0: hdf-4.2r1p4-maxavailfiles.patch
-Patch1: hdf-4.2r2-ppc.patch
+
 License: BSD-ish
 Group: System Environment/Libraries
-URL: http://hdf.ncsa.uiuc.edu/hdf4.html
+URL: http://hdfgroup.org/products/hdf4/index.html
+
+Source0: ftp://ftp.hdfgroup.org/HDF/HDF_Current/src/%{name}-%{version}.tar.bz2
+Patch0: hdf-4.2.5-maxavailfiles.patch
+Patch1: hdf-ppc.patch
+Patch2: hdf-4.2.4-sparc.patch
+Patch3: hdf-s390.patch
+Patch4: hdf-arm.patch
+# Support DESTDIR in install-examples
+Patch5: hdf-destdir.patch
+# Install examples into the right location
+Patch6: hdf-examplesdir.patch
+# Fix build with -Werror=format-security
+# https://bugzilla.redhat.com/show_bug.cgi?id=1037120
+Patch7: hdf-format.patch
+# Add AArch64 definitions
+Patch8: hdf-4.2.10-aarch64.patch
+# ppc64le support
+# https://bugzilla.redhat.com/show_bug.cgi?id=1134385
+Patch9: hdf-ppc64le.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: autoconf flex byacc libjpeg-devel zlib-devel
+# For destdir/examplesdir patches
+BuildRequires: automake libtool
+BuildRequires: flex byacc libjpeg-turbo-devel zlib-devel
 BuildRequires: gcc-gfortran
 
-
 %description
 HDF is a general purpose library and file format for storing scientific data.
 HDF can store two primary objects: datasets and groups. A dataset is 
@@ -28,62 +45,91 @@ grids. You can also mix and match them in HDF files according to your needs.
 Summary: HDF development files
 Group: Development/Libraries
 Requires: %{name} = %{version}-%{release}
-Requires: libjpeg-devel zlib-devel
+Requires: libjpeg-devel
+Requires: zlib-devel
 
 %description devel
 HDF development headers and libraries.
 
 
 %prep
-%setup -q -n HDF%{version}
-#tar xf %{SOURCE1} --directory mfhdf/hrepack 
-#mv mfhdf/hrepack/4.2r1-hrepack-patch/*.[ch] mfhdf/hrepack
-#rm -r mfhdf/hrepack/4.2r1-hrepack-patch
-%patch -p1 -b .maxavailfiles
+%setup -q
+%patch0 -p1 -b .maxavailfiles
 %patch1 -p1 -b .ppc
+%patch5 -p1 -b .destdir
+%patch6 -p1 -b .examplesdir
+%patch7 -p1 -b .format
 
 chmod a-x *hdf/*/*.c hdf/*/*.h
+# restore include file timestamps modified by patching
+touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h
 
 
 %build
+# For destdir/examplesdir patches
+autoreconf -vif
+# avoid upstream compiler flags settings
 rm config/*linux-gnu
 export CFLAGS="$RPM_OPT_FLAGS -fPIC"
-export FFLAGS="$RPM_OPT_FLAGS -ffixed-line-length-none"
-%configure F77=gfortran --disable-production \
+export FFLAGS="$RPM_OPT_FLAGS -fPIC -ffixed-line-length-none"
+%configure --disable-production --disable-netcdf \
  --includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name}
-make
 
+make
+# correct the timestamps based on files used to generate the header files
+touch -c -r hdf/src/hdf.inc hdf/src/hdf.f90
+touch -c -r hdf/src/dffunc.inc hdf/src/dffunc.f90
+touch -c -r mfhdf/fortran/mffunc.inc mfhdf/fortran/mffunc.f90
+# netcdf fortran include need same treatement, but they are not shipped
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%makeinstall includedir=${RPM_BUILD_ROOT}%{_includedir}/%{name} \
-             libdir=$RPM_BUILD_ROOT%{_libdir}/%{name}
+make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
 #Don't conflict with netcdf
-rm $RPM_BUILD_ROOT%{_bindir}/nc* $RPM_BUILD_ROOT%{_mandir}/man1/nc*
-
+#rm $RPM_BUILD_ROOT%{_bindir}/nc* $RPM_BUILD_ROOT%{_mandir}/man1/nc*
+for file in ncdump ncgen; do
+  mv $RPM_BUILD_ROOT%{_bindir}/$file $RPM_BUILD_ROOT%{_bindir}/h$file
+  # man pages are the same than netcdf ones
+  rm $RPM_BUILD_ROOT%{_mandir}/man1/${file}.1
+done
+
+# this is done to have the same timestamp on multiarch setups
+touch -c -r README.txt $RPM_BUILD_ROOT/%{_includedir}/hdf/h4config.h
+
+# Remove an autoconf conditional from the API that is unused and cause
+# the API to be different on x86 and x86_64
+pushd $RPM_BUILD_ROOT/%{_includedir}/hdf
+grep -v 'H4_SIZEOF_INTP' h4config.h > h4config.h.tmp
+touch -c -r h4config.h h4config.h.tmp
+mv h4config.h.tmp h4config.h
+popd
 
 %check
 make check
 
-
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 
 %files
 %defattr(-,root,root,0755)
-%doc COPYING MANIFEST README release_notes/*.txt
+%doc COPYING MANIFEST README.txt release_notes/*.txt
 %{_bindir}/*
 %{_mandir}/man1/*.gz
-
+%exclude %{_defaultdocdir}/%{name}/examples
 
 %files devel
 %defattr(-,root,root,0755)
 %{_includedir}/%{name}/
 %{_libdir}/%{name}/
+%{_defaultdocdir}/%{name}/examples
 
 
 %changelog
+* Sun Jan 25 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 4.2.10-1
+- updated to 4.2.10
+- built on current VineSeed
+
 * Sat Oct 25 2008 Shu KONNO <owa@bg.wakwak.com> 4.2r2-1vl5
 - applied new versioning policy
 

+ 32 - 8
t/tcl/tcl-vl.spec

@@ -9,7 +9,7 @@ Summary: A Tcl/Tk development environment: tcl
 Summary(ja): Tcl/Tk 開発環境: tcl
 Name: tcl
 Version: %{version}
-Release: 2%{?_dist_release}
+Release: 3%{?_dist_release}
 Group: Development/Languages
 License: TCL
 URL:     http://tcl.sourceforge.net/
@@ -22,7 +22,8 @@ Patch101: tcl-8.5.15-conf.patch
 Patch102: tcl-8.5.0-hidden.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: libtool, util-linux, perl, gdbm, autoconf, imake
+Buildrequires: autoconf
+BuildRequires: zlib-devel
 %if %sdt
 BuildRequires: systemtap-sdt-devel
 %endif
@@ -42,6 +43,20 @@ Tcl は様々なアプリケーションの実行を行うための、簡単な
 デザインしています。このパッケージにはTclの簡単な例として、tclsh 
 も含んでいます。
 
+%package devel
+Summary: Tcl scripting language development environment
+Summary(ja): Tcl スクリプト言語の開発環境
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+Tcl is a simple scripting language designed to be embedded into
+other applications.  Tcl is designed to be used with Tk, a widget
+set, which is provided in the tk package.  This package also includes
+tclsh, a simple example of a Tcl application.
+
+The package contains the development files and man pages for tcl.
+
 
 %prep
 %setup -n %{name}%{version} -q -a 1
@@ -102,21 +117,30 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(-,root,root,-)
+%doc README changes 
+%doc license.terms
 %doc html/*
 %{_bindir}/tclsh*
-%{_datadir}/tcl%{majorver}
 %{_libdir}/libtcl%{majorver}.so
-%{_libdir}/tclConfig.sh
-%{_libdir}/tcl%{majorver}/tclConfig.sh
+%dir %{_libdir}/tcl%{majorver}
+%{_datadir}/%{name}8
+%{_datadir}/tcl%{majorver}
 %{_mandir}/man1/*
+%{_mandir}/mann/*
+
+%files devel
+%defattr(-,root,root,-)
 %{_includedir}/*
-%{_datadir}/%{name}8
-%{_libdir}/libtclstub%{majorver}.a
 %{_libdir}/libtcl.so
+%{_libdir}/libtclstub%{majorver}.a
+%{_libdir}/tclConfig.sh
+%{_libdir}/tcl%{majorver}/tclConfig.sh
 %{_mandir}/man3/*
-%{_mandir}/mann/*
 
 %changelog
+* Mon Jan 26 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 8.5.15-3
+- split development files into devel subpackage
+
 * Wed Jan 15 2014 NAKAMURA Kenta <kenta@vinelinux.org> 8.5.15-2
 - rebuilt with the current environment
 

+ 34 - 8
t/tk/tk-vl.spec

@@ -4,7 +4,7 @@ Summary: A Tcl/Tk development environment: tk
 Summary(ja): Tcl/Tk 開発環境: tk
 Name: tk
 Version: %{majorver}.%{minorver}
-Release: 1%{?_dist_release}
+Release: 2%{?_dist_release}
 Group: Development/Languages
 License: TCL
 URL: http://tcl.sourceforge.net/
@@ -18,11 +18,13 @@ Patch103: tk-seg_input.patch
 Patch105: tk-8.5.7-nofont-sigsegv.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: tcl = %{version}, autoconf
+BuildRequires: autoconf
 BuildRequires: libX11-devel
-BuildRequires: imake
+BuildRequires: libXft-devel
+BuildRequires: tcl-devel = %{version}
 Requires: tcl >= %{majorver}
 Provides: libtk%{majorver}.so
+
 Vendor: Project Vine
 Distribution: Vine Linux
 
@@ -41,6 +43,24 @@ System のウィジェットセットです。 テキストベースのインタ
 ムで書くことができます。Tcl/Tk アプリケーションは Windows や Macintosh 
 のプラットフォームで実行することもできます。
 
+%package devel
+Summary: Tk graphical toolkit development files
+Summary(ja): Tk ツールキットの開発環境
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: tcl-devel = %{version}
+Requires: libX11-devel
+Requires: libXft-devel
+
+%description devel
+Tk is a X Windows widget set designed to work closely with the tcl
+scripting language. It allows you to write simple programs with full
+featured GUI's in only a little more time then it takes to write a
+text based interface. Tcl/Tk applications can also be run on Windows
+and Macintosh platforms.
+
+The package contains the development files and man pages for tk.
+
 
 %prep
 %setup -n %{name}%{version} -q
@@ -83,11 +103,9 @@ rm -rf $RPM_BUILD_ROOT/%{_datadir}/%{name}%{majorver}/prolog.ps
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post
-/sbin/ldconfig
+%post -p /sbin/ldconfig
 
-%postun
-/sbin/ldconfig
+%postun -p /sbin/ldconfig
 
 %files
 %defattr(-,root,root,-)
@@ -98,13 +116,21 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/tk%{majorver}
 %{_libdir}/tkConfig.sh
 %{_mandir}/man1/*
+%{_mandir}/mann/*
+
+%files devel
+%defattr(-,root,root)
 %{_includedir}/*
 %{_libdir}/libtk.so
 %{_libdir}/libtkstub%{majorver}.a
+%{_libdir}/tkConfig.sh
 %{_mandir}/man3/*
-%{_mandir}/mann/*
 
 %changelog
+* Mon Jan 26 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 8.5.15-2
+- split development files into devel subpackage
+- added BR: libXft-devel
+
 * Wed Jan 15 2014 NAKAMURA Kenta <kenta@vinelinux.org> 8.5.15-1
 - new upstream release
 - drop obsolete patche (Patch104)