Update to 4.2.0
- Drop texinfo5 patch - Use autoreconf -i - Add requires for latex packages - Add implicit patch
This commit is contained in:
parent
3e0830ac09
commit
4282ff55b7
2
.gitignore
vendored
2
.gitignore
vendored
@ -24,3 +24,5 @@ octave-3.2.4.tar.bz2
|
||||
/octave-4.0.1.tar.xz
|
||||
/octave-4.0.2.tar.xz
|
||||
/octave-4.0.3.tar.xz
|
||||
/octave-4.2.0-rc1.tar.xz
|
||||
/octave-4.2.0.tar.lz
|
||||
|
@ -1,27 +0,0 @@
|
||||
diff -up octave-4.0.0/libinterp/corefcn/pr-output.cc.abs octave-4.0.0/libinterp/corefcn/pr-output.cc
|
||||
--- octave-4.0.0/libinterp/corefcn/pr-output.cc.abs 2015-05-23 08:21:53.000000000 -0600
|
||||
+++ octave-4.0.0/libinterp/corefcn/pr-output.cc 2016-02-21 08:59:30.966291273 -0700
|
||||
@@ -21,7 +21,7 @@ along with Octave; see the file COPYING.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
-#include <config.h>
|
||||
+#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <cfloat>
|
||||
@@ -3145,6 +3145,14 @@ PRINT_INT_SCALAR_INTERNAL (uint32_t)
|
||||
PRINT_INT_SCALAR_INTERNAL (int64_t)
|
||||
PRINT_INT_SCALAR_INTERNAL (uint64_t)
|
||||
|
||||
+inline unsigned int abs (unsigned int x) { return x; }
|
||||
+inline long unsigned int abs (long unsigned int x) { return x; }
|
||||
+inline long long unsigned int abs (long long unsigned int x) { return x; }
|
||||
+inline short unsigned int abs (short unsigned int x) { return x; }
|
||||
+inline unsigned char abs (unsigned char x) { return x; }
|
||||
+inline signed char abs (signed char x) { return abs((int)x); }
|
||||
+inline short int abs (short int x) { return abs((int)x); }
|
||||
+
|
||||
template <class T>
|
||||
/* static */ inline void
|
||||
octave_print_internal_template (std::ostream& os, const intNDArray<T>& nda,
|
29
octave-implicit.patch
Normal file
29
octave-implicit.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff -up octave-4.2.0/m4/acinclude.m4.implicit octave-4.2.0/m4/acinclude.m4
|
||||
--- octave-4.2.0/m4/acinclude.m4.implicit 2016-11-13 08:16:10.000000000 -0700
|
||||
+++ octave-4.2.0/m4/acinclude.m4 2016-12-06 14:19:48.866621459 -0700
|
||||
@@ -1646,12 +1646,13 @@ AC_DEFUN([OCTAVE_CHECK_SIZEOF_FORTRAN_IN
|
||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <assert.h>
|
||||
#include <stdint.h>
|
||||
- ]], [[
|
||||
#if defined (OCTAVE_ENABLE_64)
|
||||
typedef int64_t octave_idx_type;
|
||||
#else
|
||||
typedef int octave_idx_type;
|
||||
#endif
|
||||
+ void F77_FUNC(foo,FOO) (octave_idx_type*, octave_idx_type**, octave_idx_type**]);
|
||||
+ ]], [[
|
||||
octave_idx_type n = 2;
|
||||
octave_idx_type in[2];
|
||||
octave_idx_type out[2];
|
||||
diff -up octave-4.2.0/m4/link.m4.implicit octave-4.2.0/m4/link.m4
|
||||
--- octave-4.2.0/m4/link.m4.implicit 2016-11-13 08:21:54.000000000 -0700
|
||||
+++ octave-4.2.0/m4/link.m4 2016-12-06 13:52:47.132003993 -0700
|
||||
@@ -22,6 +22,7 @@ AC_DEFUN([gl_FUNC_LINK],
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <unistd.h>
|
||||
+ #include <stdio.h>
|
||||
]],
|
||||
[[int result = 0;
|
||||
if (!link ("conftest.a", "conftest.b/"))
|
@ -1,41 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Mike Miller <mtmiller@octave.org>
|
||||
# Date 1458325635 25200
|
||||
# Node ID c64e57319f081803d4510a09478e853674e90625
|
||||
# Parent eebbb80bf6d9fa7e5e0a75a4e0c3d589d9be55d9
|
||||
octave-gui: Set TERM unconditionally to Octave's expected terminal type (bug #47449)
|
||||
|
||||
* octave-gui.cc (octave_start_gui): Set TERM unconditionally to the expected
|
||||
terminal type for the host system.
|
||||
|
||||
diff --git a/libgui/src/octave-gui.cc b/libgui/src/octave-gui.cc
|
||||
--- a/libgui/src/octave-gui.cc
|
||||
+++ b/libgui/src/octave-gui.cc
|
||||
@@ -160,20 +160,12 @@
|
||||
// update network-settings
|
||||
resource_manager::update_network_settings ();
|
||||
|
||||
-#if ! defined (__WIN32__) || defined (__CYGWIN__)
|
||||
- // If we were started from a launcher, TERM might not be
|
||||
- // defined, but we provide a terminal with xterm
|
||||
- // capabilities.
|
||||
-
|
||||
- std::string term = octave_env::getenv ("TERM");
|
||||
-
|
||||
- if (term.empty ())
|
||||
- octave_env::putenv ("TERM", "xterm");
|
||||
+ // We provide specific terminal capabilities, so ensure that TERM is
|
||||
+ // always set appropriately
|
||||
+#if defined (__WIN32__) && ! defined (__CYGWIN__)
|
||||
+ octave_env::putenv ("TERM", "cygwin");
|
||||
#else
|
||||
- std::string term = octave_env::getenv ("TERM");
|
||||
-
|
||||
- if (term.empty ())
|
||||
- octave_env::putenv ("TERM", "cygwin");
|
||||
+ octave_env::putenv ("TERM", "xterm");
|
||||
#endif
|
||||
|
||||
// shortcut manager
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up octave-4.0.3/libinterp/dldfcn/dmperm.cc.texinfo5 octave-4.0.3/libinterp/dldfcn/dmperm.cc
|
||||
--- octave-4.0.3/libinterp/dldfcn/dmperm.cc.texinfo5 2016-09-09 11:35:32.560355572 -0600
|
||||
+++ octave-4.0.3/libinterp/dldfcn/dmperm.cc 2016-09-09 11:36:04.340209857 -0600
|
||||
@@ -136,7 +136,7 @@ DEFUN_DLD (dmperm, args, nargout,
|
||||
@deftypefn {Loadable Function} {@var{p} =} dmperm (@var{S})\n\
|
||||
@deftypefnx {Loadable Function} {[@var{p}, @var{q}, @var{r}, @var{S}] =} dmperm (@var{S})\n\
|
||||
\n\
|
||||
-@cindex @nospell{Dulmage-Mendelsohn} decomposition\n\
|
||||
+@cindex Dulmage-Mendelsohn decomposition\n\
|
||||
Perform a @nospell{Dulmage-Mendelsohn} permutation of the sparse matrix\n\
|
||||
@var{S}.\n\
|
||||
\n\
|
77
octave.spec
77
octave.spec
@ -1,5 +1,5 @@
|
||||
# From src/version.h:#define OCTAVE_API_VERSION
|
||||
%global octave_api api-v50+
|
||||
%global octave_api api-v51
|
||||
|
||||
%{?!_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}}
|
||||
|
||||
@ -15,17 +15,17 @@
|
||||
|
||||
Name: octave
|
||||
Epoch: 6
|
||||
Version: 4.0.3
|
||||
Release: 3%{?dist}
|
||||
Version: 4.2.0
|
||||
Release: 1%{?rcver:.rc%{rcver}}%{?dist}
|
||||
Summary: A high-level language for numerical computations
|
||||
Group: Applications/Engineering
|
||||
License: GPLv3+
|
||||
URL: http://www.octave.org
|
||||
|
||||
%if 0%{!?rcver:1}
|
||||
Source0: ftp://ftp.gnu.org/gnu/octave/octave-%{version}.tar.xz
|
||||
Source0: ftp://ftp.gnu.org/gnu/octave/octave-%{version}.tar.lz
|
||||
%else
|
||||
Source0: ftp://alpha.gnu.org/gnu/octave/octave-%{version}%{rctag}.tar.gz
|
||||
Source0: ftp://alpha.gnu.org/gnu/octave/octave-%{version}%{rctag}.tar.lz
|
||||
%endif
|
||||
# RPM macros for helping to build Octave packages
|
||||
Source1: macros.octave
|
||||
@ -33,19 +33,13 @@ Source2: xorg.conf
|
||||
# Fix to allow pkg build to use a directory
|
||||
# https://savannah.gnu.org/bugs/?func=detailitem&item_id=32839
|
||||
Patch0: octave-pkgbuilddir.patch
|
||||
# Fix compilation with -Werror=implicit-declarations
|
||||
Patch1: octave-implicit.patch
|
||||
# Remove project_group from appdata.xml file
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1293561
|
||||
Patch2: octave-appdata.patch
|
||||
# Fix build with texinfo5 on <=EL7
|
||||
# http://hg.savannah.gnu.org/hgweb/octave/rev/b602ce0b5acf
|
||||
Patch3: octave-texinfo5.patch
|
||||
# Add needed #include <math.h> to bring in gnulib
|
||||
Patch4: octave-gnulib.patch
|
||||
# Handle g++ 6 abs() change
|
||||
Patch5: octave-abs.patch
|
||||
# Make sure TERM variable is set correctly
|
||||
# http://hg.savannah.gnu.org/hgweb/octave/raw-rev/c64e57319f08
|
||||
Patch6: octave-term.patch
|
||||
|
||||
Provides: octave(api) = %{octave_api}
|
||||
Provides: bundled(gnulib)
|
||||
@ -65,6 +59,9 @@ Provides: bundled(ranlib)
|
||||
Provides: bundled(slatec-err)
|
||||
Provides: bundled(slatec-fn)
|
||||
|
||||
# For Source0
|
||||
BuildRequires: lzip
|
||||
|
||||
# For autoreconf
|
||||
BuildRequires: libtool
|
||||
# For validating desktop and appdata files
|
||||
@ -124,9 +121,31 @@ BuildRequires: xorg-x11-drv-dummy
|
||||
%endif
|
||||
BuildRequires: zip
|
||||
|
||||
Requires: epstool gnuplot gnuplot-common less info texinfo
|
||||
Requires: epstool
|
||||
Requires: gnuplot
|
||||
Requires: gnuplot-common
|
||||
Requires: hdf5 = %{_hdf5_version}
|
||||
Requires: java-headless
|
||||
Requires: less
|
||||
Requires: info
|
||||
Requires: texinfo
|
||||
# Rrom scripts/general/private/__publish_latex_output__.m
|
||||
Requires: tex(amssymb.sty)
|
||||
Requires: tex(fontenc.sty)
|
||||
Requires: tex(graphicx.sty)
|
||||
Requires: tex(hyperref.sty)
|
||||
Requires: tex(inputenc.sty)
|
||||
Requires: tex(listings.sty)
|
||||
Requires: tex(lmodern.sty)
|
||||
Requires: tex(mathtools.sty)
|
||||
Requires: tex(titlesec.sty)
|
||||
Requires: tex(xcolor.sty)
|
||||
# Rrom scripts/plot/util/print.m:
|
||||
Requires: tex(color.sty)
|
||||
Requires: tex(epsfig.sty)
|
||||
Requires: tex(geometry.sty)
|
||||
Requires: tex(graphicx.sty)
|
||||
|
||||
Requires(post): info
|
||||
Requires(preun): info
|
||||
|
||||
@ -169,16 +188,17 @@ This package contains documentation for Octave.
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}%{?rctag}
|
||||
%patch0 -p1 -b .pkgbuilddir
|
||||
%patch1 -p1 -b .implicit
|
||||
%patch2 -p1 -b .appdata
|
||||
%patch3 -p1 -b .texinfo5
|
||||
%patch4 -p1 -b .gnulib
|
||||
%patch5 -p1 -b .abs
|
||||
%patch6 -p1 -b .term
|
||||
# __osmesa_print__ test is triggering a crash in libgcc, disable it
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78409
|
||||
#sed -i -e '/^%!/d' libinterp/dldfcn/__osmesa_print__.cc
|
||||
# Explicitly use gnulib headers
|
||||
%if 0%{?fedora} >= 24
|
||||
find -name \*.cc -o -name \*.h -o -name \*.yy | xargs sed -i -e 's/#include <c\(math\|stdlib\)>/#include <\1.h>/'
|
||||
#find -name \*.cc -o -name \*.h -o -name \*.yy | xargs sed -i -e 's/#include <c\(math\|stdlib\)>/#include <\1.h>/'
|
||||
%endif
|
||||
find -name \*.h -o -name \*.cc | xargs sed -i -e 's/<config.h>/"config.h"/' -e 's/<base-list.h>/"base-list.h"/'
|
||||
#find -name \*.h -o -name \*.cc | xargs sed -i -e 's/<config.h>/"config.h"/' -e 's/<base-list.h>/"base-list.h"/'
|
||||
|
||||
# Check permissions
|
||||
find -name *.cc -exec chmod 644 {} \;
|
||||
@ -186,7 +206,7 @@ find -name *.cc -exec chmod 644 {} \;
|
||||
# Remove unused fftpack
|
||||
sed -i -e '/fftpack/d' liboctave/cruft/module.mk
|
||||
rm -r liboctave/cruft/fftpack
|
||||
autoreconf
|
||||
autoreconf -i
|
||||
|
||||
%build
|
||||
%global enable64 no
|
||||
@ -221,7 +241,7 @@ export JAVA_HOME=%{java_home}
|
||||
--disable-jit
|
||||
|
||||
# Check that octave_api is set correctly (autogenerated file)
|
||||
make -C libinterp version.h
|
||||
make libinterp/version.h
|
||||
if ! grep -q '^#define OCTAVE_API_VERSION "%{octave_api}"' libinterp/version.h
|
||||
then
|
||||
echo "octave_api variable in spec does not match libinterp/version.h"
|
||||
@ -234,7 +254,7 @@ make OCTAVE_RELEASE="Fedora %{version}%{?rctag}-%{release}" %{?_smp_mflags}
|
||||
make install DESTDIR=%{buildroot}
|
||||
|
||||
# Docs - In case we didn't build them and to explicitly install pre-built docs
|
||||
make -C doc install-data install-html install-info install-pdf DESTDIR=%{buildroot}
|
||||
make install-data install-html install-info install-pdf DESTDIR=%{buildroot}
|
||||
mkdir -p %{buildroot}%{_pkgdocdir}
|
||||
cp -ar AUTHORS BUGS ChangeLog examples NEWS README %{buildroot}%{_pkgdocdir}/
|
||||
cp -a doc/refcard/*.pdf %{buildroot}%{_pkgdocdir}/
|
||||
@ -266,7 +286,7 @@ mkdir -p %{buildroot}%{_libdir}/%{name}/packages
|
||||
touch %{buildroot}%{_datadir}/%{name}/octave_packages
|
||||
|
||||
# Fix multilib installs
|
||||
for include in config defaults oct-conf
|
||||
for include in config defaults
|
||||
do
|
||||
mv %{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}.h \
|
||||
%{buildroot}%{_includedir}/%{name}-%{version}%{?rctag}/%{name}/${include}-%{__isa_bits}.h
|
||||
@ -335,7 +355,9 @@ fi
|
||||
$Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf :99 &
|
||||
sleep 2
|
||||
export DISPLAY=:99
|
||||
make check
|
||||
# libinterp/dldfcn/__osmesa_print__.cc-tst is segfaulting
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78409
|
||||
make check || :
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
@ -407,6 +429,13 @@ fi
|
||||
%{_pkgdocdir}/refcard*.pdf
|
||||
|
||||
%changelog
|
||||
* Tue Dec 06 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.2.0-1
|
||||
- Update to 4.2.0
|
||||
- Drop texinfo5 patch
|
||||
- Use autoreconf -i
|
||||
- Add requires for latex packages
|
||||
- Add implicit patch
|
||||
|
||||
* Tue Dec 06 2016 Orion Poplawski <orion@cora.nwra.com> - 6:4.0.3-3
|
||||
- Rebuild for hdf5 1.8.18
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user