[http-parser] new upstream release 2.0
T.C. Hollingsworth
patches at fedoraproject.org
Sat Oct 13 21:17:59 UTC 2012
commit 3ba45f113cc52dcbcc69e0bcba7d1eb6dfe714d8
Author: T.C. Hollingsworth <tchollingsworth at gmail.com>
Date: Sat Oct 13 14:17:13 2012 -0700
new upstream release 2.0
.gitignore | 1 +
http-parser-gyp-sharedlib.patch | 12 ++++++++
http-parser.spec | 58 +++++++++++++++++++++++++--------------
sources | 2 +-
4 files changed, 51 insertions(+), 22 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e6e168f..0415299 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/http-parser.tar.gz
/ry-http-parser-v1.0-0-g32c0e11.tar.gz
+/joyent-http-parser-v2.0-0-g3fb4e06.tar.gz
diff --git a/http-parser-gyp-sharedlib.patch b/http-parser-gyp-sharedlib.patch
new file mode 100644
index 0000000..497559a
--- /dev/null
+++ b/http-parser-gyp-sharedlib.patch
@@ -0,0 +1,12 @@
+--- http_parser.gyp~ 2012-10-13 13:41:21.371501965 -0700
++++ http_parser.gyp 2012-10-13 13:41:21.381502101 -0700
+@@ -48,7 +48,8 @@
+ 'targets': [
+ {
+ 'target_name': 'http_parser',
+- 'type': 'static_library',
++ 'type': 'shared_library',
++ 'product_extension': 'so.2',
+ 'include_dirs': [ '.' ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [ '.' ],
diff --git a/http-parser.spec b/http-parser.spec
index b0c2d4d..e65cd1f 100644
--- a/http-parser.spec
+++ b/http-parser.spec
@@ -1,19 +1,28 @@
-%global somajor 1
+# we use the upstream version from http_parser.h as the SONAME
+%global somajor 2
%global sominor 0
-%global git_hash 32c0e11
+
+%global git_commit_hash 3fb4e06
+%global git_tag_hash 90a9383
Name: http-parser
Version: %{somajor}.%{sominor}
-Release: 3%{?dist}
+Release: 1%{?dist}
Summary: HTTP request/response parser for C
Group: System Environment/Libraries
License: MIT
-URL: http://github.com/ry/http-parser
-# download from https://github.com/ry/http-parser/tarball/v%%{version}
-Source0: ry-http-parser-v%{version}-0-g%{git_hash}.tar.gz
+URL: http://github.com/joyent/http-parser
+# download from https://github.com/joyent/http-parser/tarball/%%{version}
+Source0: joyent-http-parser-v%{version}-0-g%{git_commit_hash}.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+# Build shared library with SONAME using gyp
+# TODO: do this nicely upstream
+Patch1: http-parser-gyp-sharedlib.patch
+
+BuildRequires: gyp
+
%description
This is a parser for HTTP messages written in C. It parses both requests and
responses. The parser is designed to be used in performance HTTP applications.
@@ -33,31 +42,34 @@ Development headers and libraries for http-parser.
%prep
-%setup -q -n ry-http-parser-%{git_hash}
+%setup -q -n joyent-http-parser-%{git_tag_hash}
+%patch1
%build
-make %{?_smp_mflags} CC="%{__cc} %{optflags} -fsigned-char -fPIC" http_parser.o
-%{__cc} %{optflags} -Wl,-soname,http_parser.so.%{somajor} \
- -o libhttp_parser.so -shared http_parser.o
+# TODO: fix -fPIC upstream
+export CFLAGS='%{optflags} -fPIC'
+gyp -f make --depth=`pwd` http_parser.gyp
+make
%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_includedir}
-install -d $RPM_BUILD_ROOT%{_libdir}
-install -pm644 http_parser.h $RPM_BUILD_ROOT%{_includedir}
-install libhttp_parser.so $RPM_BUILD_ROOT%{_libdir}/libhttp_parser.so.%{somajor}.%{sominor}
-ln -sf libhttp_parser.so.%{somajor}.%{sominor} $RPM_BUILD_ROOT%{_libdir}/libhttp_parser.so.%{somajor}
-ln -sf libhttp_parser.so.%{somajor}.%{sominor} $RPM_BUILD_ROOT%{_libdir}/libhttp_parser.so
+rm -rf %{buildroot}
+install -d %{buildroot}%{_includedir}
+install -d %{buildroot}%{_libdir}
+install -pm644 http_parser.h %{buildroot}%{_includedir}
+install out/Debug/lib.target/libhttp_parser.so.%{somajor} %{buildroot}%{_libdir}/libhttp_parser.so.%{somajor}.%{sominor}
+ln -sf libhttp_parser.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser.so.%{somajor}
+ln -sf libhttp_parser.so.%{somajor}.%{sominor} %{buildroot}%{_libdir}/libhttp_parser.so
-%check
-make %{?_smp_mflags} CC="%{__cc} %{optflags} -fsigned-char -fPIC" test
+# Currently failing: https://github.com/joyent/http-parser/issues/129
+#%%check
+#LD_LIBRARY_PATH='./out/Debug/lib.target' ./out/Debug/test
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
%post -p /sbin/ldconfig
@@ -67,7 +79,7 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{_libdir}/libhttp_parser.so.*
-%doc CONTRIBUTIONS LICENSE-MIT README.md
+%doc AUTHORS CONTRIBUTIONS LICENSE-MIT README.md
%files devel
@@ -77,6 +89,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Oct 13 2012 T.C. Hollingsworth <tchollingsworth at gmail.com> - 2.0-1
+- new upstream release 2.0
+- migrate to GYP buildsystem
+
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
diff --git a/sources b/sources
index 1e3da22..3fe936d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c24c8f016eebcb30afb96c51ee938b0a ry-http-parser-v1.0-0-g32c0e11.tar.gz
+7648574821330edf0c71eb3d34a71c27 joyent-http-parser-v2.0-0-g3fb4e06.tar.gz
More information about the scm-commits
mailing list