[erlang-eleveldb] Ver. 1.2.2
Peter Lemenkov
peter at fedoraproject.org
Sun Oct 21 15:56:22 UTC 2012
commit b24a96d11a6509874fa4c6df7e8e6cd75ba54f8e
Author: Peter Lemenkov <lemenkov at gmail.com>
Date: Sun Oct 21 19:56:13 2012 +0400
Ver. 1.2.2
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
.gitignore | 1 +
...ldb-0001-Build-against-external-libraries.patch | 31 ++++++++++++
...emove-compression-test-see-leveldb-commit.patch | 52 ++++++++++++++++++++
erlang-eleveldb.spec | 33 +++++++------
sources | 2 +-
5 files changed, 103 insertions(+), 16 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 1b5ca1e..e37f387 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/basho-eleveldb-1.1.0-0-g7790751.tar.gz
+/basho-eleveldb-1.2.2-0-g1b996fb.tar.gz
diff --git a/erlang-eleveldb-0001-Build-against-external-libraries.patch b/erlang-eleveldb-0001-Build-against-external-libraries.patch
new file mode 100644
index 0000000..8efc061
--- /dev/null
+++ b/erlang-eleveldb-0001-Build-against-external-libraries.patch
@@ -0,0 +1,31 @@
+From 360516bd255236ec570040241228c64338fb5973 Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Thu, 11 Oct 2012 17:07:42 +0400
+Subject: [PATCH 1/2] Build against external libraries
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ rebar.config | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/rebar.config b/rebar.config
+index b14839b..40233a5 100644
+--- a/rebar.config
++++ b/rebar.config
+@@ -6,11 +6,6 @@
+ %% Make sure to set -fPIC when compiling leveldb
+ {"CFLAGS", "$CFLAGS -fPIC"},
+ {"CXXFLAGS", "$CXXFLAGS -fPIC"},
+- {"DRV_CFLAGS", "$DRV_CFLAGS -Werror -I c_src/leveldb/include"},
+- {"DRV_LDFLAGS", "$DRV_LDFLAGS c_src/leveldb/libleveldb.a c_src/system/lib/libsnappy.a -lstdc++"}
++ {"DRV_CFLAGS", "$DRV_CFLAGS -Werror"},
++ {"DRV_LDFLAGS", "$DRV_LDFLAGS -lleveldb -lsnappy -lstdc++"}
+ ]}.
+-
+-{pre_hooks, [{'get-deps', "c_src/build_deps.sh get-deps"},
+- {compile, "c_src/build_deps.sh"}]}.
+-
+-{post_hooks, [{clean, "c_src/build_deps.sh clean"}]}.
+--
+1.7.12.1
+
diff --git a/erlang-eleveldb-0002-TEMPORARY-remove-compression-test-see-leveldb-commit.patch b/erlang-eleveldb-0002-TEMPORARY-remove-compression-test-see-leveldb-commit.patch
new file mode 100644
index 0000000..244f1a2
--- /dev/null
+++ b/erlang-eleveldb-0002-TEMPORARY-remove-compression-test-see-leveldb-commit.patch
@@ -0,0 +1,52 @@
+From 233f9c562f33e7d90ec30f51a0fe718f46fcc1cd Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Sun, 21 Oct 2012 19:48:25 +0400
+Subject: [PATCH 2/2] TEMPORARY remove compression test (see leveldb commit
+ 67c7b4b194a78ef01e8e8d654f7984d4157a9d7c)
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ src/eleveldb.erl | 27 ---------------------------
+ 1 file changed, 27 deletions(-)
+
+diff --git a/src/eleveldb.erl b/src/eleveldb.erl
+index fde5a94..d30445c 100644
+--- a/src/eleveldb.erl
++++ b/src/eleveldb.erl
+@@ -286,33 +286,6 @@ destroy_test() ->
+ ok = ?MODULE:destroy("/tmp/eleveldb.destroy.test", []),
+ {error, {db_open, _}} = open("/tmp/eleveldb.destroy.test", [{error_if_exists, true}]).
+
+-compression_test() ->
+- CompressibleData = list_to_binary([0 || _X <- lists:seq(1,50000)]),
+- os:cmd("rm -rf /tmp/eleveldb.compress.0 /tmp/eleveldb.compress.1"),
+- {ok, Ref0} = open("/tmp/eleveldb.compress.0", [{write_buffer_size, 5},
+- {create_if_missing, true},
+- {compression, false}]),
+- [ok = ?MODULE:put(Ref0, <<I:64/unsigned>>, CompressibleData, [{sync, true}]) ||
+- I <- lists:seq(1,10)],
+- {ok, Ref1} = open("/tmp/eleveldb.compress.1", [{write_buffer_size, 5},
+- {create_if_missing, true},
+- {compression, true}]),
+- [ok = ?MODULE:put(Ref1, <<I:64/unsigned>>, CompressibleData, [{sync, true}]) ||
+- I <- lists:seq(1,10)],
+- %% Check both of the LOG files created to see if the compression option was correctly
+- %% passed down
+- MatchCompressOption =
+- fun(File, Expected) ->
+- {ok, Contents} = file:read_file(File),
+- case re:run(Contents, "Options.compression: " ++ Expected) of
+- {match, _} -> match;
+- nomatch -> nomatch
+- end
+- end,
+- Log0Option = MatchCompressOption("/tmp/eleveldb.compress.0/LOG", "0"),
+- Log1Option = MatchCompressOption("/tmp/eleveldb.compress.1/LOG", "1"),
+- ?assert(Log0Option =:= match andalso Log1Option =:= match).
+-
+
+ close_test() ->
+ os:cmd("rm -rf /tmp/eleveldb.close.test"),
+--
+1.7.12.1
+
diff --git a/erlang-eleveldb.spec b/erlang-eleveldb.spec
index 5c06e14..2e6f475 100644
--- a/erlang-eleveldb.spec
+++ b/erlang-eleveldb.spec
@@ -1,6 +1,6 @@
%global realname eleveldb
%global upstream basho
-%global git_tag 7790751
+%global git_tag 1b996fb
%global patchnumber 0
%{?filter_setup:
%filter_provides_in %{_libdir}/erlang/lib/.*\.so$
@@ -9,19 +9,24 @@
Name: erlang-%{realname}
-Version: 1.1.0
-Release: 2%{?dist}
+Version: 1.2.2
+Release: 1%{?dist}
Summary: Erlang LevelDB API
Group: Development/Languages
License: ASL 2.0
URL: https://github.com/basho/eleveldb
-# wget --content-disposition https://github.com/basho/eleveldb/tarball/1.1.0
+# wget --content-disposition https://github.com/basho/eleveldb/tarball/1.2.2
Source0: %{upstream}-%{realname}-%{version}-%{patchnumber}-g%{git_tag}.tar.gz
+# Fedora/EPEL-specific
+Patch1: erlang-eleveldb-0001-Build-against-external-libraries.patch
+# FIXME fix leveldb instead
+Patch2: erlang-eleveldb-0002-TEMPORARY-remove-compression-test-see-leveldb-commit.patch
BuildRequires: erlang-rebar
BuildRequires: leveldb-devel
BuildRequires: snappy-devel
-# Error:erlang(erlang:load_nif/2) in R12B and below
-# Error:erlang(erlang:nif_error/1) in R13B and below
+# Error:erlang(erlang:load_nif/2) in R12B and older
+# Error:erlang(erlang:nif_error/1) in R13B and older
+# Error:erlang(lists:keyfind/3) in R12B and older
Requires: erlang-erts%{?_isa} >= R14B
Requires: erlang-kernel%{?_isa}
Requires: erlang-stdlib%{?_isa}
@@ -32,16 +37,11 @@ Erlang LevelDB API.
%prep
-%setup -q -n %{upstream}-%{realname}-60fbfb3
+%setup -q -n %{upstream}-%{realname}-746cb43
rm -f c_src/build_deps.sh
-rm -f c_src/leveldb.tar.bz2
rm -f c_src/snappy-1.0.4.tar.gz
-rm -rf c_src/patches
-sed -i -e "/^{pre_hooks/d" rebar.config
-sed -i -e "/^{post_hooks/d" rebar.config
-sed -i -e "s,c_src/system/lib/libsnappy.a,-lsnappy,g" rebar.config
-sed -i -e "s,c_src/leveldb/libleveldb.a,-lleveldb,g" rebar.config
-sed -i -e "s,-I c_src/leveldb/include,,g" rebar.config
+%patch1 -p1 -b .systemwide
+%patch2 -p1 -b .remove_compression_test
%build
@@ -49,7 +49,7 @@ rebar compile -v
%install
-mkdir -p $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/{ebin,priv}
+mkdir -p %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/{ebin,priv}
install -p -m 0644 ebin/%{realname}.app %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/
install -p -m 0644 ebin/%{realname}.beam %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/ebin
install -p -m 0755 priv/%{realname}.so %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/priv/
@@ -70,6 +70,9 @@ rebar eunit -v
%changelog
+* Thu Oct 11 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.2.2-1
+- Ver. 1.2.2
+
* Wed Jul 18 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.1.0-2
- Remove EL5-specific stuff from spec-file
- Enable tests
diff --git a/sources b/sources
index 1cf12b8..d0ce90f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-9576d58ab16dce9a588d7768b53d291c basho-eleveldb-1.1.0-0-g7790751.tar.gz
+b505246e3609b70fb3775ebcb427e829 basho-eleveldb-1.2.2-0-g1b996fb.tar.gz
More information about the scm-commits
mailing list