Remove ExcludeArch ppc64.
- Add sed hack to reduce size of long entry function which breaks
ppc64 code generator. See comment in spec file for full details.
(cherry picked from commit 3a02209c15
)
This commit is contained in:
parent
90e2e22e98
commit
859c4d14d7
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
Name: ocaml-camomile
|
Name: ocaml-camomile
|
||||||
Version: 0.8.3
|
Version: 0.8.3
|
||||||
Release: 2%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Unicode library for OCaml
|
Summary: Unicode library for OCaml
|
||||||
|
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
|
@ -14,7 +14,7 @@ License: LGPLv2+
|
||||||
URL: http://sourceforge.net/projects/camomile/
|
URL: http://sourceforge.net/projects/camomile/
|
||||||
Source0: http://downloads.sourceforge.net/camomile/camomile-%{version}.tar.bz2
|
Source0: http://downloads.sourceforge.net/camomile/camomile-%{version}.tar.bz2
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
ExcludeArch: ppc64 sparc64 s390 s390x
|
ExcludeArch: sparc64 s390 s390x
|
||||||
|
|
||||||
BuildRequires: ocaml, ocaml-findlib-devel, ocaml-ocamldoc, ocaml-camlp4-devel
|
BuildRequires: ocaml, ocaml-findlib-devel, ocaml-ocamldoc, ocaml-camlp4-devel
|
||||||
|
|
||||||
|
@ -60,6 +60,36 @@ applications that use %{name}.
|
||||||
|
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
|
||||||
|
# This is a horrible hack to work around a bug in our ppc64 code
|
||||||
|
# generator. For some reason which we don't fully understand it barfs
|
||||||
|
# on the long entry function created by the series of alias commands
|
||||||
|
# at the end of public/charEncoding.ml:
|
||||||
|
#
|
||||||
|
# let () = alias "IANA/csGB2312" "GB2312"
|
||||||
|
# let () = alias "IANA/GB2312" "GB2312"
|
||||||
|
# (* etc for 573 lines *)
|
||||||
|
#
|
||||||
|
# Use a sed script to change to the equivalent code:
|
||||||
|
#
|
||||||
|
# let aliases = [
|
||||||
|
# "IANA/csGB2312", "GB2312";
|
||||||
|
# "IANA/GB2312", "GB2312";
|
||||||
|
# (* etc *)
|
||||||
|
# ] ;; List.iter (fun (a,b) -> alias a b) aliases
|
||||||
|
#
|
||||||
|
# The equivalent code contains just data plus a small entry function
|
||||||
|
# so it doesn't break the ppc64 generator. It's likely also to be
|
||||||
|
# more efficient. Since the code is equivalent, we do this
|
||||||
|
# transformation on all arches, not just ppc64.
|
||||||
|
#
|
||||||
|
# - RWMJ 2012-05-30
|
||||||
|
|
||||||
|
mv public/charEncoding.ml public/charEncoding.ml.orig
|
||||||
|
sed -e 's/let () = alias \("[^[:space:]]*"\) \("[^[:space:]]*"\)/\1, \2;/' \
|
||||||
|
-e 's/(\* IANA \*)/let aliases = [/' \
|
||||||
|
-e '$ i] ;; List.iter (fun (a,b) -> alias a b) aliases' \
|
||||||
|
public/charEncoding.ml.orig > public/charEncoding.ml
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
./configure --prefix=%{_prefix} --datadir=%{_datadir} --libdir=%{_libdir}
|
./configure --prefix=%{_prefix} --datadir=%{_datadir} --libdir=%{_libdir}
|
||||||
|
@ -120,6 +150,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed May 30 2012 Richard W.M. Jones <rjones@redhat.com> - 0.8.3-4
|
||||||
|
- Remove ExcludeArch ppc64.
|
||||||
|
- Add sed hack to reduce size of long entry function which breaks
|
||||||
|
ppc64 code generator. See comment in spec file for full details.
|
||||||
|
|
||||||
* Sat May 19 2012 Richard W.M. Jones <rjones@redhat.com> - 0.8.3-2
|
* Sat May 19 2012 Richard W.M. Jones <rjones@redhat.com> - 0.8.3-2
|
||||||
- Include workaround for segfault in gen_mappings.ml on ARM.
|
- Include workaround for segfault in gen_mappings.ml on ARM.
|
||||||
- Bump release and rebuild for new OCaml on ARM.
|
- Bump release and rebuild for new OCaml on ARM.
|
||||||
|
|
Loading…
Reference in New Issue