[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