mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
www-servers/mongrel2: New package
Gentoo bug: #350826 Add jasom as Proxied maintainer. Package-Manager: portage-2.2.26
This commit is contained in:
committed by
Ian Delaney
parent
8e19a0a694
commit
0527ba7e6e
1
www-servers/mongrel2/Manifest
Normal file
1
www-servers/mongrel2/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST v1.11.0.tar.gz 1060770 SHA256 dd7accbe4be25ee841b1d73e1fc2e6230e90f5783e1d25527037416e5f519c86 SHA512 60ee5036c2ac826a08bb1300969f5ad7ec2bc67c7f47635a3b458a0bad6d7e2fa37183c2708d512632c86101f537a4eb64eeef0775137705898480da70d61e90 WHIRLPOOL 928b50b5170ac8015bb63c623de644302329bd5ca47608a9f3dfd96b403c95f2ea78475b33b11f8c64403882d4130a5ba1658ba286b5339fbb174b2ebe93d3ba
|
||||
136
www-servers/mongrel2/files/systemtls.mak
Normal file
136
www-servers/mongrel2/files/systemtls.mak
Normal file
@@ -0,0 +1,136 @@
|
||||
CFLAGS?=-g -O2
|
||||
CFLAGS += -Wall -Wextra -I./src -DNDEBUG -D_FILE_OFFSET_BITS=64 -pthread
|
||||
LIBS+=-lzmq -ldl -lsqlite3 -lmbedtls -lmbedx509 -lmbedcrypto
|
||||
PREFIX?=/usr/local
|
||||
|
||||
get_objs = $(addsuffix .o,$(basename $(wildcard $(1))))
|
||||
|
||||
ASM=$(wildcard src/**/*.S src/*.S)
|
||||
RAGEL_TARGETS=src/state.c src/http11/http11_parser.c
|
||||
SOURCES=$(wildcard src/**/*.c src/*.c) $(RAGEL_TARGETS)
|
||||
OBJECTS=$(patsubst %.c,%.o,${SOURCES}) $(patsubst %.S,%.o,${ASM})
|
||||
OBJECTS_NOEXT=$(filter-out ${OBJECTS_EXTERNAL},${OBJECTS})
|
||||
LIB_SRC=$(filter-out src/mongrel2.c,${SOURCES})
|
||||
LIB_OBJ=$(filter-out src/mongrel2.o,${OBJECTS})
|
||||
TEST_SRC=$(wildcard tests/*_tests.c)
|
||||
TESTS=$(patsubst %.c,%,${TEST_SRC})
|
||||
MAKEOPTS=OPTFLAGS="${NOEXTCFLAGS} ${OPTFLAGS}" LIBS="${LIBS}" DESTDIR="${DESTDIR}" PREFIX="${PREFIX}"
|
||||
|
||||
all: builddirs bin/mongrel2 tests m2sh procer
|
||||
|
||||
${OBJECTS_NOEXT}: CFLAGS += ${NOEXTCFLAGS}
|
||||
${OBJECTS}:
|
||||
|
||||
#
|
||||
# CFLAGS_DEFS: The $(CC) flags required to obtain C pre-processor #defines, per:
|
||||
#
|
||||
# http://nadeausoftware.com/articles/2011/12/c_c_tip_how_list_compiler_predefined_macros
|
||||
#
|
||||
# It may be appropriate to copy some of these platform-specific CFLAGS_DEFS assignments into the
|
||||
# appropriate platform target at the end of this file, eg:
|
||||
#
|
||||
# solaris: CFLAGS_DEF=...
|
||||
# solaris: all
|
||||
|
||||
#CFLAGS_DEFS=-dM -E # Portland Group PGCC
|
||||
#CFLAGS_DEFS=-xdumpmacros -E # Oracle Solaris Studio
|
||||
#CFLAGS_DEFS=-qshowmacros -E # IBM XL C
|
||||
CFLAGS_DEFS=-dM -E -x c # clang, gcc, HP C, Intel icc
|
||||
|
||||
.PHONY: builddirs
|
||||
builddirs:
|
||||
@mkdir -p build
|
||||
@mkdir -p bin
|
||||
|
||||
bin/mongrel2: build/libm2.a src/mongrel2.o
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) src/mongrel2.o -o $@ $< $(LIBS)
|
||||
|
||||
build/libm2.a: CFLAGS += -fPIC
|
||||
build/libm2.a: ${LIB_OBJ}
|
||||
ar rcs $@ ${LIB_OBJ}
|
||||
ranlib $@
|
||||
|
||||
clean:
|
||||
rm -rf build bin lib ${OBJECTS} ${TESTS} tests/config.sqlite
|
||||
rm -f tests/perf.log
|
||||
rm -f tests/test.pid
|
||||
rm -f tests/tests.log
|
||||
rm -f tests/empty.sqlite
|
||||
rm -f tools/lemon/lemon
|
||||
rm -f tools/m2sh/tests/tests.log
|
||||
rm -rf release-scripts/output
|
||||
find . \( -name "*.gcno" -o -name "*.gcda" \) -exec rm {} \;
|
||||
${MAKE} -C tools/m2sh OPTLIB=${OPTLIB} clean
|
||||
${MAKE} -C tools/filters OPTLIB=${OPTLIB} clean
|
||||
${MAKE} -C tests/filters OPTLIB=${OPTLIB} clean
|
||||
${MAKE} -C tools/config_modules OPTLIB=${OPTLIB} clean
|
||||
${MAKE} -C tools/procer OPTLIB=${OPTLIB} clean
|
||||
|
||||
pristine: clean
|
||||
sudo rm -rf examples/python/build examples/python/dist examples/python/m2py.egg-info
|
||||
sudo find . -name "*.pyc" -exec rm {} \;
|
||||
${MAKE} -C docs/manual clean
|
||||
cd docs/ && ${MAKE} clean
|
||||
${MAKE} -C examples/kegogi clean
|
||||
rm -f logs/*
|
||||
rm -f run/*
|
||||
${MAKE} -C tools/m2sh pristine
|
||||
${MAKE} -C tools/procer pristine
|
||||
git submodule deinit -f src/mbedtls
|
||||
|
||||
.PHONY: tests
|
||||
tests: tests/config.sqlite ${TESTS} test_filters filters config_modules
|
||||
sh ./tests/runtests.sh
|
||||
|
||||
tests/config.sqlite: src/config/config.sql src/config/example.sql src/config/mimetypes.sql
|
||||
sqlite3 $@ < src/config/config.sql
|
||||
sqlite3 $@ < src/config/example.sql
|
||||
sqlite3 $@ < src/config/mimetypes.sql
|
||||
|
||||
$(TESTS): %: %.c build/libm2.a
|
||||
$(CC) $(CFLAGS) -o $@ $< build/libm2.a $(LIBS)
|
||||
|
||||
src/state.c: src/state.rl src/state_machine.rl
|
||||
src/http11/http11_parser.c: src/http11/http11_parser.rl
|
||||
src/http11/httpclient_parser.c: src/http11/httpclient_parser.rl
|
||||
|
||||
check:
|
||||
@echo Files with potentially dangerous functions.
|
||||
@egrep '[^_.>a-zA-Z0-9](str(n?cpy|n?cat|xfrm|n?dup|str|pbrk|tok|_)|stpn?cpy|a?sn?printf|byte_)' $(filter-out src/bstr/bsafe.c,${SOURCES})
|
||||
|
||||
m2sh: build/libm2.a
|
||||
${MAKE} ${MAKEOPTS} -C tools/m2sh all
|
||||
|
||||
procer: build/libm2.a
|
||||
${MAKE} ${MAKEOPTS} -C tools/procer all
|
||||
|
||||
test_filters: build/libm2.a
|
||||
${MAKE} ${MAKEOPTS} -C tests/filters all
|
||||
|
||||
filters: build/libm2.a
|
||||
${MAKE} ${MAKEOPTS} -C tools/filters all
|
||||
|
||||
config_modules: build/libm2.a
|
||||
${MAKE} ${MAKEOPTS} -C tools/config_modules all
|
||||
|
||||
# Try to install first before creating target directory and trying again
|
||||
install: all
|
||||
install bin/mongrel2 $(DESTDIR)/$(PREFIX)/bin/ \
|
||||
|| ( install -d $(DESTDIR)/$(PREFIX)/bin/ \
|
||||
&& install bin/mongrel2 $(DESTDIR)/$(PREFIX)/bin/ )
|
||||
${MAKE} ${MAKEOPTS} -C tools/m2sh install
|
||||
${MAKE} ${MAKEOPTS} -C tools/config_modules install
|
||||
${MAKE} ${MAKEOPTS} -C tools/filters install
|
||||
${MAKE} ${MAKEOPTS} -C tools/procer install
|
||||
|
||||
examples/python/mongrel2/sql/config.sql: src/config/config.sql src/config/mimetypes.sql
|
||||
cat src/config/config.sql src/config/mimetypes.sql > $@
|
||||
|
||||
ragel:
|
||||
ragel -G2 src/state.rl
|
||||
ragel -G2 src/http11/http11_parser.rl
|
||||
ragel -G2 src/handler_parser.rl
|
||||
ragel -G2 src/http11/httpclient_parser.rl
|
||||
|
||||
%.o: %.S
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
16
www-servers/mongrel2/metadata.xml
Normal file
16
www-servers/mongrel2/metadata.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>proxy-mintainers</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>Aidenn0@geocities.com</email>
|
||||
<name>Jason Miller</name>
|
||||
<description>Proxied maintainer; set to assignee in all bugs</description>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">mongrel2/mongrel2</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
28
www-servers/mongrel2/mongrel2-1.11.0.ebuild
Normal file
28
www-servers/mongrel2/mongrel2-1.11.0.ebuild
Normal file
@@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="A language agnostic web server focused on web applications"
|
||||
HOMEPAGE="http://mongrel2.org"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="net-libs/zeromq
|
||||
>=net-libs/mbedtls-2.1[havege]
|
||||
dev-db/sqlite:3"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
cp "${FILESDIR}/systemtls.mak" Makefile || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake install PREFIX=/usr DESTDIR=${D} || die
|
||||
dodoc README examples/configs/mongrel2.conf || die
|
||||
}
|
||||
Reference in New Issue
Block a user