- Remove ocaml-find-{requires,provides}.sh from this package. These are now
in upstream RPM 4.8 (RHBZ#545116). - define -> global in a few places.
This commit is contained in:
parent
a82aaa421f
commit
be42b9abf4
@ -1,64 +0,0 @@
|
||||
#!/bin/sh -
|
||||
# OCaml-specific "find-provides" for RPM.
|
||||
# By Richard W.M. Jones <rjones@redhat.com>
|
||||
# $Id: ocaml-find-provides.sh,v 1.1 2007/07/02 15:13:39 gemi Exp $
|
||||
|
||||
#set -x
|
||||
|
||||
# Usage:
|
||||
# (1) Add the following to the spec file:
|
||||
# %define _use_internal_dependency_generator 0
|
||||
# %define __find_requires /usr/lib/rpm/ocaml-find-requires.sh
|
||||
# %define __find_provides /usr/lib/rpm/ocaml-find-provides.sh
|
||||
#
|
||||
# (2) If you don't want the module to depend on the exact compiler
|
||||
# version then use ocaml-find-requires.sh -c, but this is not something
|
||||
# you should do normally.
|
||||
#
|
||||
# (3) For any modules which you want to ignore, use '-i Modulename'.
|
||||
|
||||
OCAMLOBJINFO=ocamlobjinfo
|
||||
TEMP=`getopt -o i:f: -n ocaml-find-provides.sh -- "$@"`
|
||||
if [ $? != 0 ]; then echo "ocaml-find-provides.sh: failed" >&2; exit 1; fi
|
||||
eval set -- "$TEMP"
|
||||
|
||||
ignore_modules=nOTREAL
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
-i) ignore_modules="$2 $ignore_modules"; shift 2;;
|
||||
-f) OCAMLOBJINFO="$2"; shift 2;;
|
||||
--) shift; break;;
|
||||
*) echo "ocaml-find-provides.sh: option error at $1"; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Get the list of files.
|
||||
files=`sed "s/['\"]/\\\&/g"`
|
||||
|
||||
# Use ordinary find-provides first.
|
||||
echo $files | tr [:blank:] '\n' | /usr/lib/rpm/find-provides
|
||||
|
||||
# Get list of .cmi, .cmo and .cma files.
|
||||
files=`echo $files | tr [:blank:] '\n' | grep '\.cm[ioa]$'`
|
||||
|
||||
if [ -z "$files" ]; then exit 0; fi
|
||||
|
||||
# Get the list of modules exported by the files.
|
||||
modules=`$OCAMLOBJINFO $files |
|
||||
grep -E '(Unit|Module) name: ' |
|
||||
awk '{print $3}'`
|
||||
|
||||
# Turn list of modules into a regexp that matches the module names.
|
||||
modules_re=`echo $modules | sed 's/ /|/g'`
|
||||
ignore_modules_re=`echo $ignore_modules | sed 's/ /|/g'`
|
||||
|
||||
# Get a list of the modules these file(s) provide.
|
||||
$OCAMLOBJINFO $files |
|
||||
grep -Eo '[0-9a-f]{32}[[:space:]]+[A-Za-z0-9_]+' |
|
||||
grep -E '[0-9a-f]{32}[[:space:]]+'"($modules_re)\$" |
|
||||
while read md5sum module; do
|
||||
echo "ocaml($module) = $md5sum"
|
||||
done |
|
||||
grep -Ev "$ignore_modules_re" |
|
||||
sort -u
|
@ -1,73 +0,0 @@
|
||||
#!/bin/sh -
|
||||
# OCaml-specific "find-requires" for RPM.
|
||||
# By Richard W.M. Jones <rjones@redhat.com>
|
||||
# $Id: ocaml-find-requires.sh,v 1.4 2008/11/20 15:30:55 rjones Exp $
|
||||
|
||||
#set -x
|
||||
|
||||
# Usage:
|
||||
# (1) Add the following to the spec file:
|
||||
# %define _use_internal_dependency_generator 0
|
||||
# %define __find_requires /usr/lib/rpm/ocaml-find-requires.sh
|
||||
# %define __find_provides /usr/lib/rpm/ocaml-find-provides.sh
|
||||
#
|
||||
# (2) If you don't want the module to depend on the exact compiler
|
||||
# version then use ocaml-find-requires.sh -c, but this is not something
|
||||
# you should do normally.
|
||||
#
|
||||
# (3) For any modules which you want to ignore, use '-i Modulename'.
|
||||
|
||||
OCAMLOBJINFO=ocamlobjinfo
|
||||
TEMP=`getopt -o ci:f: -n ocaml-find-requires.sh -- "$@"`
|
||||
if [ $? != 0 ]; then echo "ocaml-find-requires.sh: failed" >&2; exit 1; fi
|
||||
eval set -- "$TEMP"
|
||||
|
||||
emit_compiler_version=yes
|
||||
ignore_modules=nOTREAL
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
-c) emit_compiler_version=; shift;;
|
||||
-i) ignore_modules="$2 $ignore_modules"; shift 2;;
|
||||
-f) OCAMLOBJINFO="$2"; shift 2;;
|
||||
--) shift; break;;
|
||||
*) echo "ocaml-find-requires.sh: option error at $1"; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Get the list of files.
|
||||
files=`sed "s/['\"]/\\\&/g"`
|
||||
|
||||
# Use ordinary find-requires first.
|
||||
echo $files | tr [:blank:] '\n' | /usr/lib/rpm/find-requires
|
||||
|
||||
# Get list of .cmi, .cmo and .cma files.
|
||||
files=`echo $files | tr [:blank:] '\n' | grep '\.cm[ioa]$'`
|
||||
|
||||
if [ -z "$files" ]; then exit 0; fi
|
||||
|
||||
# Get the list of modules exported by the file(s).
|
||||
modules=`$OCAMLOBJINFO $files |
|
||||
grep -E '(Unit|Module) name: ' |
|
||||
awk '{print $3}'`
|
||||
|
||||
# Turn list of modules into a regexp that matches the module names.
|
||||
modules_re=`echo $modules | sed 's/ /|/g'`
|
||||
ignore_modules_re=`echo $ignore_modules | sed 's/ /|/g'`
|
||||
|
||||
# Get a list of the modules these file(s) depend on.
|
||||
$OCAMLOBJINFO $files |
|
||||
grep -Eo '[0-9a-f]{32}[[:space:]]+[A-Za-z0-9_]+' |
|
||||
grep -Ev '[0-9a-f]{32}[[:space:]]+'"($modules_re)\$" |
|
||||
while read md5sum module; do
|
||||
echo "ocaml($module) = $md5sum"
|
||||
done |
|
||||
grep -Ev "$ignore_modules_re" |
|
||||
grep -Ev "^ocaml\((Annot|Asttypes|Outcometree|Cmo_format|Parsetree)\) =" |
|
||||
sort -u
|
||||
|
||||
if [ -n "$emit_compiler_version" ]; then
|
||||
# Every OCaml program depends on the version of the
|
||||
# runtime which was used to compile it.
|
||||
echo "ocaml(runtime) = `ocamlrun -version | awk '{print $NF}' | sed 's/\+.*//'`"
|
||||
fi
|
23
ocaml.spec
23
ocaml.spec
@ -1,8 +1,8 @@
|
||||
%define _default_patch_fuzz 2
|
||||
%global _default_patch_fuzz 2
|
||||
|
||||
Name: ocaml
|
||||
Version: 3.11.1
|
||||
Release: 6%{?dist}
|
||||
Release: 7%{?dist}
|
||||
|
||||
Summary: Objective Caml compiler and programming environment
|
||||
|
||||
@ -15,8 +15,6 @@ Source0: http://caml.inria.fr/distrib/ocaml-3.11/ocaml-%{version}.tar.bz2
|
||||
Source1: http://caml.inria.fr/distrib/ocaml-3.11/ocaml-3.11-refman.html.tar.gz
|
||||
Source2: http://caml.inria.fr/distrib/ocaml-3.11/ocaml-3.11-refman.pdf
|
||||
Source3: http://caml.inria.fr/distrib/ocaml-3.11/ocaml-3.11-refman.info.tar.gz
|
||||
Source4: ocaml-find-requires.sh
|
||||
Source5: ocaml-find-provides.sh
|
||||
|
||||
# Useful utilities from Debian, and sent upstream.
|
||||
# http://git.debian.org/?p=pkg-ocaml-maint/packages/ocaml.git;a=tree;f=debian/ocamlbyteinfo;hb=HEAD
|
||||
@ -54,12 +52,12 @@ BuildRequires: chrpath
|
||||
Requires: gcc
|
||||
Requires: ncurses-devel
|
||||
Requires: gdbm-devel
|
||||
Requires: rpm-build >= 4.8.0
|
||||
Provides: ocaml(compiler) = %{version}
|
||||
ExclusiveArch: alpha armv4l %{ix86} ia64 x86_64 ppc sparc sparcv9 ppc64
|
||||
|
||||
%define _use_internal_dependency_generator 0
|
||||
%define __find_requires %{SOURCE4} -c -f %{buildroot}%{_bindir}/ocamlobjinfo
|
||||
%define __find_provides %{SOURCE5} -f %{buildroot}%{_bindir}/ocamlobjinfo
|
||||
%global __ocaml_requires %{_rpmconfigdir}/ocaml-find-requires.sh -c -f %{buildroot}%{_bindir}/ocamlobjinfo
|
||||
%global __ocaml_provides %{_rpmconfigdir}/ocaml-find-provides.sh -f %{buildroot}%{_bindir}/ocamlobjinfo
|
||||
|
||||
|
||||
%description
|
||||
@ -251,11 +249,6 @@ perl -pi -e "s|^$RPM_BUILD_ROOT||" $RPM_BUILD_ROOT%{_libdir}/ocaml/ld.conf
|
||||
|
||||
cp tools/objinfo $RPM_BUILD_ROOT%{_bindir}/ocamlobjinfo
|
||||
|
||||
# install rpmbuild helper files
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/
|
||||
install -m 0755 %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/rpm/
|
||||
install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm/
|
||||
|
||||
echo %{version} > $RPM_BUILD_ROOT%{_libdir}/ocaml/fedora-ocaml-release
|
||||
|
||||
# Remove rpaths from stublibs .so files.
|
||||
@ -346,7 +339,6 @@ fi
|
||||
%{_libdir}/ocaml/threads/*.cmi
|
||||
%{_libdir}/ocaml/threads/*.cma
|
||||
%{_libdir}/ocaml/fedora-ocaml-release
|
||||
%attr(755,root,root) %{_prefix}/lib/rpm/*
|
||||
%exclude %{_libdir}/ocaml/graphicsX11.cmi
|
||||
%exclude %{_libdir}/ocaml/stublibs/dlllabltk.so
|
||||
%exclude %{_libdir}/ocaml/stublibs/dlltkanim.so
|
||||
@ -451,6 +443,11 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Dec 16 2009 Richard W.M. Jones <rjones@redhat.com> - 3.11.1-7
|
||||
- Remove ocaml-find-{requires,provides}.sh from this package. These are
|
||||
now in upstream RPM 4.8 (RHBZ#545116).
|
||||
- define -> global in a few places.
|
||||
|
||||
* Thu Nov 05 2009 Dennis Gilmore <dennis@ausil.us> - 3.11.1-6
|
||||
- include sparcv9 in the arch list
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user