SHA256
1
0
forked from pool/http-parser

Accepting request 321427 from home:posophe:build-tools

OBS-URL: https://build.opensuse.org/request/show/321427
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/http-parser?expand=0&rev=1
This commit is contained in:
Jan Engelhardt 2015-08-08 14:58:04 +00:00 committed by Git OBS Bridge
commit c91a606965
6 changed files with 202 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,56 @@
build: build http-parser as a shared library
Since the pristine package only ever builds as static library, it is
to be assumed that the project does not track and enumerate ABI
changes. Building it as shared nevertheless is therefore a distro
extension - hence the "suse" suffix. Enumeration is therefore
also distro-specific.
Remove -O flags so %optflags take over.
TODO: do this nicely upstream
---
http_parser.gyp | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
Index: http-parser-2.5.0/http_parser.gyp
===================================================================
--- http-parser-2.5.0.orig/http_parser.gyp
+++ http-parser-2.5.0/http_parser.gyp
@@ -12,7 +12,7 @@
# RuntimeLibrary MUST MATCH across the entire project
'Debug': {
'defines': [ 'DEBUG', '_DEBUG' ],
- 'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ],
+ 'cflags': [ '-Wall', '-Wextra', '-g', '-ftrapv' ],
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': 1, # static debug
@@ -21,7 +21,7 @@
},
'Release': {
'defines': [ 'NDEBUG' ],
- 'cflags': [ '-Wall', '-Wextra', '-O3' ],
+ 'cflags': [ '-Wall', '-Wextra' ],
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': 0, # static release
@@ -50,7 +50,8 @@
'targets': [
{
'target_name': 'http_parser',
- 'type': 'static_library',
+ 'type': 'shared_library',
+ 'product_extension': 'so.suse0',
'include_dirs': [ '.' ],
'direct_dependent_settings': {
'defines': [ 'HTTP_PARSER_STRICT=0' ],
@@ -73,7 +74,8 @@
{
'target_name': 'http_parser_strict',
- 'type': 'static_library',
+ 'type': 'shared_library',
+ 'product_extension': 'so.suse0',
'include_dirs': [ '.' ],
'direct_dependent_settings': {
'defines': [ 'HTTP_PARSER_STRICT=1' ],

4
http-parser.changes Normal file
View File

@ -0,0 +1,4 @@
-------------------------------------------------------------------
Sat Aug 8 13:15:53 UTC 2015 - p.drouand@gmail.com
- Initial package (version 2.5.0) for build.opensuse.org

115
http-parser.spec Normal file
View File

@ -0,0 +1,115 @@
#
# spec file for package http-parser
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: http-parser
%define somajor suse0
%define libname libhttp-parser-%somajor
Version: 2.5.0
Release: 0
Summary: HTTP request/response parser for C
License: MIT
Group: Development/Libraries/C and C++
Url: http://github.com/joyent/http-parser
Source0: https://github.com/joyent/http-parser/archive/v%{version}.tar.gz
Patch1: http-parser-gyp-sharedlib.patch
BuildRequires: gcc-c++
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. It does not make any syscalls nor
allocations, it does not buffer data, it can be interrupted at
anytime. Depending on your architecture, it only requires about 40
bytes of data per message stream (in a web server that is per
connection).
%package -n %{libname}
Summary: HTTP request/response parser for C
Group: System/Libraries
%description -n %{libname}
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. It does not make any syscalls nor
allocations, it does not buffer data, it can be interrupted at
anytime. Depending on your architecture, it only requires about 40
bytes of data per message stream (in a web server that is per
connection).
%package devel
Summary: Development headers and libraries for http-parser
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description devel
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. It does not make any syscalls nor
allocations, it does not buffer data, it can be interrupted at
anytime. Depending on your architecture, it only requires about 40
bytes of data per message stream (in a web server that is per
connection).
Development headers and libraries for http-parser.
%prep
%setup -q
%patch1 -p1
%build
# TODO: fix -fPIC upstream
export CFLAGS='%{optflags} -fPIC'
gyp -f make --depth=`pwd` http_parser.gyp
make %{?_smp_mflags} BUILDTYPE=Release
%install
install -d %{buildroot}%{_includedir}
install -d %{buildroot}%{_libdir}
install -pm644 http_parser.h %{buildroot}%{_includedir}
#install regular variant
install "out/Release/lib.target/libhttp_parser.so.%somajor" "%buildroot/%_libdir/"
ln -sf "libhttp_parser.so.%somajor" "%buildroot/%_libdir/libhttp_parser.so"
#install strict variant
install "out/Release/lib.target/libhttp_parser_strict.so.%somajor" "%buildroot/%_libdir/"
ln -sf "libhttp_parser_strict.so.%somajor" "%buildroot/%_libdir/libhttp_parser_strict.so"
%check
export LD_LIBRARY_PATH='./out/Release/lib.target'
./out/Release/test-nonstrict
./out/Release/test-strict
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files -n %{libname}
%defattr(-,root,root)
%doc AUTHORS LICENSE-MIT README.md
%{_libdir}/libhttp_parser.so.*
%{_libdir}/libhttp_parser_strict.so.*
%files devel
%defattr(-,root,root)
%{_includedir}/*
%{_libdir}/libhttp_parser.so
%{_libdir}/libhttp_parser_strict.so
%changelog

3
v2.5.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e3b4ba58f4e6ee5fbec781df020e5cb74c3a799a07f059e1e125127a0b801481
size 46070