[erlang-snappy] Initial build (see rhbz #860001)

Peter Lemenkov peter at fedoraproject.org
Mon Oct 8 17:19:52 UTC 2012


commit c7d1eefa4951e5189b7dc3cf3a32e8b075c8529a
Author: Peter Lemenkov <lemenkov at gmail.com>
Date:   Mon Oct 8 21:19:41 2012 +0400

    Initial build (see rhbz #860001)
    
    Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>

 .gitignore                                 |    1 +
 erlang-snappy-0001-No-bundled-snappy.patch |   44 ++++++++++++++++++
 erlang-snappy.spec                         |   69 ++++++++++++++++++++++++++++
 sources                                    |    1 +
 4 files changed, 115 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..b644f5c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/fdmanana-snappy-erlang-nif-80db168.tar.gz
diff --git a/erlang-snappy-0001-No-bundled-snappy.patch b/erlang-snappy-0001-No-bundled-snappy.patch
new file mode 100644
index 0000000..33152df
--- /dev/null
+++ b/erlang-snappy-0001-No-bundled-snappy.patch
@@ -0,0 +1,44 @@
+From 2a9b93202575a35e79a89fec0036156d3f9ccb29 Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Mon, 24 Sep 2012 18:08:17 +0400
+Subject: [PATCH 1/1] No bundled snappy
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ c_src/snappy_nif.cc | 4 ++--
+ rebar.config        | 5 ++---
+ 2 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/c_src/snappy_nif.cc b/c_src/snappy_nif.cc
+index 93c1859..0270c55 100644
+--- a/c_src/snappy_nif.cc
++++ b/c_src/snappy_nif.cc
+@@ -19,8 +19,8 @@
+ #include <cstring>
+ 
+ #include "erl_nif_compat.h"
+-#include "snappy/snappy.h"
+-#include "snappy/snappy-sinksource.h"
++#include <snappy.h>
++#include <snappy-sinksource.h>
+ 
+ #ifdef OTP_R13B03
+ #error OTP R13B03 not supported. Upgrade to R13B04 or later.
+diff --git a/rebar.config b/rebar.config
+index ad92b23..ddee851 100644
+--- a/rebar.config
++++ b/rebar.config
+@@ -2,8 +2,7 @@
+ 
+ {erl_opts, [debug_info, warn_unused_vars, warn_shadow_vars, warn_unused_import]}.
+ {port_env, [
+-    {"(linux|solaris)", "LDFLAGS", "$LDFLAGS -lstdc++"}
++    {"(linux|solaris)", "LDFLAGS", "$LDFLAGS -lstdc++ -lsnappy"}
+ ]}.
+-{port_specs, [{"priv/snappy_nif.so", ["c_src/*.cc",
+-                                      "c_src/snappy/*.cc"]}]}.
++{port_specs, [{"priv/snappy_nif.so", ["c_src/*.cc"]}]}.
+ {eunit_opts, [verbose]}.
+-- 
+1.7.12
+
diff --git a/erlang-snappy.spec b/erlang-snappy.spec
new file mode 100644
index 0000000..4a0d7a9
--- /dev/null
+++ b/erlang-snappy.spec
@@ -0,0 +1,69 @@
+%global realname snappy
+%global upstream fdmanana
+%global git_tag 80db168
+%global patchnumber 0
+%{?filter_setup:
+%filter_provides_in %{_libdir}/erlang/lib/.*\.so$
+%filter_setup
+}
+
+
+Name:		erlang-%{realname}
+Version:	1.0.3
+Release:	0.2.git80db168%{?dist}
+Summary:	An Erlang NIF wrapper for Google's snappy library
+Group:		Development/Languages
+License:	ASL 2.0
+URL:		https://github.com/fdmanana/snappy-erlang-nif
+# wget --content-disposition https://github.com/fdmanana/snappy-erlang-nif/tarball/80db168
+Source0:	%{upstream}-%{realname}-erlang-nif-%{git_tag}.tar.gz
+Patch1:		erlang-snappy-0001-No-bundled-snappy.patch
+BuildRequires:	erlang-rebar
+BuildRequires:	snappy-devel
+# Error:erlang(erlang:load_nif/2) in R12B or earlier
+Requires:	erlang-erts%{?_isa} >= R13B
+Requires:	erlang-kernel%{?_isa}
+Requires:	erlang-stdlib%{?_isa}
+
+
+%description
+An Erlang NIF wrapper for Google's snappy compressor/decompressor.
+
+
+%prep
+%setup -q -n %{upstream}-%{realname}-erlang-nif-%{git_tag}
+%patch1 -p1 -b .no_bundled_snappy
+rm -rf c_src/snappy
+
+
+%build
+rebar compile -v
+
+
+%install
+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}_nif.so %{buildroot}%{_libdir}/erlang/lib/%{realname}-%{version}/priv/
+
+
+%check
+rebar eunit -v
+
+
+%files
+%doc README.md
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/ebin
+%dir %{_libdir}/erlang/lib/%{realname}-%{version}/priv
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.app
+%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.beam
+%{_libdir}/erlang/lib/%{realname}-%{version}/priv/%{realname}_nif.so
+
+
+%changelog
+* Sun Oct 07 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.0.3-0.2.git80db168
+- Ensure consistent usage of macros (cosmetic)
+
+* Mon Sep 24 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.0.3-0.1.git80db168
+- initial build
diff --git a/sources b/sources
index e69de29..b0e0e26 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+0a72dffeb59d84a6b9e38c59f9b2f313  fdmanana-snappy-erlang-nif-80db168.tar.gz


More information about the scm-commits mailing list