commit bc9b9b09736378ce994d89b5c37aef0af2485d52
Author: Peter Lemenkov <lemenkov(a)gmail.com>
Date: Thu May 31 23:19:21 2012 +0400
Allow build on EL5
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
...emove-explicit-rebar-deps-Fedora-specific.patch | 2 +-
erlang-gproc-0002-Kill-useless-eunit-include.patch | 2 +-
...ction-lists-keyfind-3-in-R12B5-use-lists-.patch | 35 ++++++++++++++++++++
erlang-gproc.spec | 13 ++++++--
4 files changed, 47 insertions(+), 5 deletions(-)
---
diff --git a/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
b/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
index 1228563..775bf1c 100644
--- a/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
+++ b/erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
@@ -1,7 +1,7 @@
From c1b7451cb141d1d8e4345cfd20da820a591606a1 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov(a)gmail.com>
Date: Tue, 15 May 2012 17:31:31 +0400
-Subject: [PATCH 1/2] Remove explicit rebar deps (Fedora-specific)
+Subject: [PATCH 1/3] Remove explicit rebar deps (Fedora-specific)
This is controlled by RPM in Fedora/EPEL.
diff --git a/erlang-gproc-0002-Kill-useless-eunit-include.patch
b/erlang-gproc-0002-Kill-useless-eunit-include.patch
index 80f6475..d9f67ef 100644
--- a/erlang-gproc-0002-Kill-useless-eunit-include.patch
+++ b/erlang-gproc-0002-Kill-useless-eunit-include.patch
@@ -1,7 +1,7 @@
From e6653099cd1a63310e6077d9ebec3181ebfd238f Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov(a)gmail.com>
Date: Sat, 26 May 2012 20:08:38 +0400
-Subject: [PATCH 2/2] Kill useless eunit include
+Subject: [PATCH 2/3] Kill useless eunit include
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
---
diff --git a/erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch
b/erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch
new file mode 100644
index 0000000..a25dd09
--- /dev/null
+++ b/erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch
@@ -0,0 +1,35 @@
+From 4774ac4014158a788f588bbd6758a9d2d6dca39c Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov(a)gmail.com>
+Date: Thu, 31 May 2012 23:09:05 +0400
+Subject: [PATCH 3/3] No such function lists:keyfind/3 in R12B5 - use
+ lists:keysearch/3 instead
+
+Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
+---
+ src/gproc_dist.erl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gproc_dist.erl b/src/gproc_dist.erl
+index dc45f41..69d7717 100644
+--- a/src/gproc_dist.erl
++++ b/src/gproc_dist.erl
+@@ -367,14 +367,14 @@ handle_leader_call(_, _, S, _E) ->
+
+ handle_leader_cast({sync_reply, Node, Ref}, S, _E) ->
+ #state{sync_requests = SReqs} = S,
+- case lists:keyfind(Ref, 1, SReqs) of
++ case lists:keysearch(Ref, 1, SReqs) of
+ false ->
+ %% This should never happen, except perhaps if the leader who
+ %% received the sync request died, and the new leader gets the
+ %% sync reply. In that case, we trust that the client has been
+ %% notified anyway, and ignore the message.
+ {ok, S};
+- {_, Ns} ->
++ {value, {_, Ns}} ->
+ case lists:delete(Node, Ns) of
+ [] ->
+ gen_leader:reply(Ref, {leader, reply, true}),
+--
+1.7.10.2
+
diff --git a/erlang-gproc.spec b/erlang-gproc.spec
index a10cd27..0ce53d4 100644
--- a/erlang-gproc.spec
+++ b/erlang-gproc.spec
@@ -7,7 +7,7 @@
Name: erlang-%{realname}
Version: 0.2.11
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Extended process registry for Erlang
Group: Development/Libraries
License: ERPL
@@ -16,14 +16,14 @@ URL:
http://github.com/uwiger/gproc
Source0: %{upstream}-%{realname}-v%{version}-%{patchnumber}-g%{git_tag}.tar.gz
Patch1: erlang-gproc-0001-Remove-explicit-rebar-deps-Fedora-specific.patch
Patch2: erlang-gproc-0002-Kill-useless-eunit-include.patch
+Patch3: erlang-gproc-0003-No-such-function-lists-keyfind-3-in-R12B5-use-lists-.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: erlang-edown
BuildRequires: erlang-erts
BuildRequires: erlang-eunit
BuildRequires: erlang-gen_leader
BuildRequires: erlang-rebar
-# Error:erlang(lists:keyfind/3) in R12B and below
-Requires: erlang-erts >= R13B
+Requires: erlang-erts >= R12B
Requires: erlang-gen_leader
Requires: erlang-kernel
Requires: erlang-mnesia
@@ -38,6 +38,10 @@ Extended process registry for Erlang.
%setup -q -n %{upstream}-%{realname}-d58b254
%patch1 -p1 -b .nodeps
%patch2 -p1 -b .no_eunit
+%if 0%{?el5}
+# Erlang/OTP R12B5
+%patch3 -p1 -b .no-lists-keyfind-3
+%endif
%build
@@ -81,6 +85,9 @@ rebar eunit -v
%changelog
+* Thu May 31 2012 Peter Lemenkov <lemenkov(a)gmail.com> - 0.2.11-2
+- Allow build on EL5
+
* Tue May 15 2012 Peter Lemenkov <lemenkov(a)gmail.com> - 0.2.11-1
- Ver. 0.2.11 (fixes rhbz #824342)