Message ID | 1364396948-17329-1-git-send-email-lionel.orry@gmail.com |
---|---|
State | Accepted |
Headers | show |
>>>>> "Lionel" == Lionel Orry <lionel.orry@gmail.com> writes:
Lionel> Signed-off-by: Lionel Orry <lionel.orry@gmail.com>
Lionel> ---
Lionel> package/Config.in | 1 +
Lionel> package/mongrel2/Config.in | 19 ++++++
Lionel> ...l2-0001-use-CC-variable-to-compile-procer.patch | 28 ++++++++
Lionel> .../mongrel2/mongrel2-0002-Do-not-run-tests.patch | 43 +++++++++++++
Lionel> ...-0003-Fix-Makefiles-for-cross-compilation.patch | 75 ++++++++++++++++++++++
Lionel> package/mongrel2/mongrel2.mk | 31 +++++++++
Lionel> 6 files changed, 197 insertions(+)
Lionel> create mode 100644 package/mongrel2/Config.in
Lionel> create mode 100644 package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch
Lionel> create mode 100644 package/mongrel2/mongrel2-0002-Do-not-run-tests.patch
Lionel> create mode 100644 package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch
Lionel> create mode 100644 package/mongrel2/mongrel2.mk
Lionel> diff --git a/package/Config.in b/package/Config.in
Lionel> index 5d8f4f6..f27dae6 100644
Lionel> --- a/package/Config.in
Lionel> +++ b/package/Config.in
Lionel> @@ -680,6 +680,7 @@ source "package/linphone/Config.in"
Lionel> source "package/lrzsz/Config.in"
Lionel> source "package/macchanger/Config.in"
Lionel> source "package/mii-diag/Config.in"
Lionel> +source "package/mongrel2/Config.in"
Lionel> source "package/mrouted/Config.in"
Lionel> source "package/msmtp/Config.in"
Lionel> source "package/mutt/Config.in"
Lionel> diff --git a/package/mongrel2/Config.in b/package/mongrel2/Config.in
Lionel> new file mode 100644
Lionel> index 0000000..13dd787
Lionel> --- /dev/null
Lionel> +++ b/package/mongrel2/Config.in
Lionel> @@ -0,0 +1,19 @@
Lionel> +config BR2_PACKAGE_MONGREL2
Lionel> + bool "mongrel2"
Lionel> + select BR2_PACKAGE_SQLITE
Lionel> + select BR2_PACKAGE_ZEROMQ
Lionel> + depends on BR2_INSTALL_LIBSTDCPP # zeromq
Lionel> + depends on BR2_INET_IPV6 # zeromq
Lionel> + depends on BR2_LARGEFILE # zeromq -> util-linux
Lionel> + depends on BR2_USE_WCHAR # zeromq -> util-linux
Lionel> + help
Lionel> + Mongrel2 is an application, language, and network architecture agnostic
Lionel> + web server that focuses on web applications using modern browser
Lionel> + technologies.
Lionel> +
Lionel> + Mongrel2 supports 17 languages and platforms, HTTP, Flash sockets,
Lionel> + WebSockets, Long Polling, and many ways to deploy and hack on it.
Lionel> +
Lionel> + Mongrel2 depends on sqlite3 and zeromq.
These lines are too long. Please wrap at ~70 chars.
Lionel> new file mode 100644
Lionel> index 0000000..6382d59
Lionel> --- /dev/null
Lionel> +++ b/package/mongrel2/mongrel2.mk
Lionel> @@ -0,0 +1,31 @@
Lionel> +#############################################################
Lionel> +#
Lionel> +# Mongrel2
Lionel> +#
Lionel> +#############################################################
Lionel> +
Lionel> +MONGREL2_VERSION = 1.8.0
Lionel> +MONGREL2_SOURCE = mongrel2_$(MONGREL2_VERSION).tar.gz
Lionel> +MONGREL2_SITE = https://github.com/zedshaw/mongrel2/tarball/v1.8.0
This should use _VERSION instead of hardcoding 1.8.0.
Committed with these fixes, thanks.
Hi Peter, On Fri, Apr 26, 2013 at 11:08 PM, Peter Korsgaard <jacmet@uclibc.org> wrote: >>>>>> "Lionel" == Lionel Orry <lionel.orry@gmail.com> writes: > > Lionel> Signed-off-by: Lionel Orry <lionel.orry@gmail.com> > Lionel> --- > Lionel> package/Config.in | 1 + > Lionel> package/mongrel2/Config.in | 19 ++++++ > Lionel> ...l2-0001-use-CC-variable-to-compile-procer.patch | 28 ++++++++ > Lionel> .../mongrel2/mongrel2-0002-Do-not-run-tests.patch | 43 +++++++++++++ > Lionel> ...-0003-Fix-Makefiles-for-cross-compilation.patch | 75 ++++++++++++++++++++++ > Lionel> package/mongrel2/mongrel2.mk | 31 +++++++++ > Lionel> 6 files changed, 197 insertions(+) > Lionel> create mode 100644 package/mongrel2/Config.in > Lionel> create mode 100644 package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch > Lionel> create mode 100644 package/mongrel2/mongrel2-0002-Do-not-run-tests.patch > Lionel> create mode 100644 package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch > Lionel> create mode 100644 package/mongrel2/mongrel2.mk > > Lionel> diff --git a/package/Config.in b/package/Config.in > Lionel> index 5d8f4f6..f27dae6 100644 > Lionel> --- a/package/Config.in > Lionel> +++ b/package/Config.in > Lionel> @@ -680,6 +680,7 @@ source "package/linphone/Config.in" > Lionel> source "package/lrzsz/Config.in" > Lionel> source "package/macchanger/Config.in" > Lionel> source "package/mii-diag/Config.in" > Lionel> +source "package/mongrel2/Config.in" > Lionel> source "package/mrouted/Config.in" > Lionel> source "package/msmtp/Config.in" > Lionel> source "package/mutt/Config.in" > Lionel> diff --git a/package/mongrel2/Config.in b/package/mongrel2/Config.in > Lionel> new file mode 100644 > Lionel> index 0000000..13dd787 > Lionel> --- /dev/null > Lionel> +++ b/package/mongrel2/Config.in > Lionel> @@ -0,0 +1,19 @@ > Lionel> +config BR2_PACKAGE_MONGREL2 > Lionel> + bool "mongrel2" > Lionel> + select BR2_PACKAGE_SQLITE > Lionel> + select BR2_PACKAGE_ZEROMQ > Lionel> + depends on BR2_INSTALL_LIBSTDCPP # zeromq > Lionel> + depends on BR2_INET_IPV6 # zeromq > Lionel> + depends on BR2_LARGEFILE # zeromq -> util-linux > Lionel> + depends on BR2_USE_WCHAR # zeromq -> util-linux > Lionel> + help > Lionel> + Mongrel2 is an application, language, and network architecture agnostic > Lionel> + web server that focuses on web applications using modern browser > Lionel> + technologies. > Lionel> + > Lionel> + Mongrel2 supports 17 languages and platforms, HTTP, Flash sockets, > Lionel> + WebSockets, Long Polling, and many ways to deploy and hack on it. > Lionel> + > Lionel> + Mongrel2 depends on sqlite3 and zeromq. > > These lines are too long. Please wrap at ~70 chars. I thought that was 80 chars, sorry for that. I'll remember. :) > > Lionel> new file mode 100644 > Lionel> index 0000000..6382d59 > Lionel> --- /dev/null > Lionel> +++ b/package/mongrel2/mongrel2.mk > Lionel> @@ -0,0 +1,31 @@ > Lionel> +############################################################# > Lionel> +# > Lionel> +# Mongrel2 > Lionel> +# > Lionel> +############################################################# > Lionel> + > Lionel> +MONGREL2_VERSION = 1.8.0 > Lionel> +MONGREL2_SOURCE = mongrel2_$(MONGREL2_VERSION).tar.gz > Lionel> +MONGREL2_SITE = https://github.com/zedshaw/mongrel2/tarball/v1.8.0 > > This should use _VERSION instead of hardcoding 1.8.0. > > Committed with these fixes, thanks. Great, thanks a lot ! Best regards, Lionel > > -- > Bye, Peter Korsgaard
diff --git a/package/Config.in b/package/Config.in index 5d8f4f6..f27dae6 100644 --- a/package/Config.in +++ b/package/Config.in @@ -680,6 +680,7 @@ source "package/linphone/Config.in" source "package/lrzsz/Config.in" source "package/macchanger/Config.in" source "package/mii-diag/Config.in" +source "package/mongrel2/Config.in" source "package/mrouted/Config.in" source "package/msmtp/Config.in" source "package/mutt/Config.in" diff --git a/package/mongrel2/Config.in b/package/mongrel2/Config.in new file mode 100644 index 0000000..13dd787 --- /dev/null +++ b/package/mongrel2/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_MONGREL2 + bool "mongrel2" + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_ZEROMQ + depends on BR2_INSTALL_LIBSTDCPP # zeromq + depends on BR2_INET_IPV6 # zeromq + depends on BR2_LARGEFILE # zeromq -> util-linux + depends on BR2_USE_WCHAR # zeromq -> util-linux + help + Mongrel2 is an application, language, and network architecture agnostic + web server that focuses on web applications using modern browser + technologies. + + Mongrel2 supports 17 languages and platforms, HTTP, Flash sockets, + WebSockets, Long Polling, and many ways to deploy and hack on it. + + Mongrel2 depends on sqlite3 and zeromq. + + http://www.mongrel2.org diff --git a/package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch b/package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch new file mode 100644 index 0000000..310177a --- /dev/null +++ b/package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch @@ -0,0 +1,28 @@ +From d30cf797af4828e49fd3c0f25841e669dec05ed5 Mon Sep 17 00:00:00 2001 +From: Lionel Orry <lionel.orry@gmail.com> +Date: Wed, 27 Mar 2013 14:02:00 +0100 +Subject: [PATCH 3/4] use CC variable to compile procer. + +This fixes procer tool cross-compilation issues. + +Signed-off-by: Lionel Orry <lionel.orry@gmail.com> +--- + tools/procer/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/procer/Makefile b/tools/procer/Makefile +index d0d7de0..bb9aa31 100644 +--- a/tools/procer/Makefile ++++ b/tools/procer/Makefile +@@ -8,7 +8,7 @@ all: procer + + + procer: ../../build/libm2.a ${OBJECTS} +- gcc $(OPTFLAGS) $(OPTLIBS) -o $@ ${OBJECTS} ../../build/libm2.a ${LIBS} ++ $(CC) $(OPTFLAGS) $(OPTLIBS) -o $@ ${OBJECTS} ../../build/libm2.a ${LIBS} + + clean: + rm -f *.o procer +-- +1.8.1.4 + diff --git a/package/mongrel2/mongrel2-0002-Do-not-run-tests.patch b/package/mongrel2/mongrel2-0002-Do-not-run-tests.patch new file mode 100644 index 0000000..557c27e --- /dev/null +++ b/package/mongrel2/mongrel2-0002-Do-not-run-tests.patch @@ -0,0 +1,43 @@ +From 3cbef2195533f357c8a80c2840108662461273b7 Mon Sep 17 00:00:00 2001 +From: Lionel Orry <lionel.orry@gmail.com> +Date: Wed, 27 Mar 2013 14:48:19 +0100 +Subject: [PATCH 4/4] Do not run tests. + +This patch is specific to cross-compiled environments and avoids running +the tests on the host. It is not meant to be applied upstream. + +Signed-off-by: Lionel Orry <lionel.orry@gmail.com> +--- + Makefile | 2 +- + tools/m2sh/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 7dc4089..ca72630 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,7 +16,7 @@ TEST_SRC=$(wildcard tests/*_tests.c) + TESTS=$(patsubst %.c,%,${TEST_SRC}) + MAKEOPTS=OPTFLAGS="${NOEXTCFLAGS} ${OPTFLAGS}" OPTLIBS="${OPTLIBS}" LIBS="${LIBS}" DESTDIR="${DESTDIR}" PREFIX="${PREFIX}" + +-all: bin/mongrel2 tests m2sh procer ++all: bin/mongrel2 m2sh procer filters config_modules + + dev: CFLAGS=-g -Wall -Isrc -Wall -Wextra $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 + dev: all +diff --git a/tools/m2sh/Makefile b/tools/m2sh/Makefile +index b50d8a0..334e4da 100644 +--- a/tools/m2sh/Makefile ++++ b/tools/m2sh/Makefile +@@ -9,7 +9,7 @@ TESTS=$(patsubst %.c,%,${TEST_SRC}) + LIB_SRC=$(filter-out src/m2sh.c,${SOURCES}) + LIB_OBJ=$(filter-out src/m2sh.o,${OBJECTS}) + +-all: ../lemon/lemon tests build/m2sh ++all: ../lemon/lemon build/m2sh + + dev: CFLAGS=-g -Wall -Wextra -Isrc -I../../src $(OPTFLAGS) + dev: all +-- +1.8.1.4 + diff --git a/package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch b/package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch new file mode 100644 index 0000000..164d7f9 --- /dev/null +++ b/package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch @@ -0,0 +1,75 @@ +From 298356c44a7df2b34c4e307c531d2010e2cb4b79 Mon Sep 17 00:00:00 2001 +From: Lionel Orry <lionel.orry@gmail.com> +Date: Wed, 27 Mar 2013 15:56:56 +0100 +Subject: [PATCH 1/1] Fix Makefiles for cross-compilation + +The CFLAGS handling in mongrel2 is really messy and it is hard to make +it behave correctly with cross-compiling environments. This patch +restricts the Makefiles syntax to GNU Make, but help cross-compiling. + +This is not meant to be applied upstream. + +Signed-off-by: Lionel Orry <lionel.orry@gmail.com> +--- + Makefile | 2 +- + tools/config_modules/Makefile | 2 +- + tools/filters/Makefile | 2 +- + tools/m2sh/Makefile | 2 +- + tools/procer/Makefile | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 6dce4a6..d48e05e 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,4 @@ +-CFLAGS=-g -O2 -Wall -Wextra -Isrc -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 ++override CFLAGS += -g -O2 -Wall -Wextra -Isrc -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 + LIBS=-lzmq -ldl -lsqlite3 $(OPTLIBS) + PREFIX?=/usr/local + +diff --git a/tools/config_modules/Makefile b/tools/config_modules/Makefile +index 398490c..53f2255 100644 +--- a/tools/config_modules/Makefile ++++ b/tools/config_modules/Makefile +@@ -1,5 +1,5 @@ + PREFIX?=/usr/local +-CFLAGS=-I../../src $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build ++override CFLAGS += -I../../src $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build + LDFLAGS=$(OPTLIBS) + + MONGO_SRC = mongo-c-driver/src/bson.c \ +diff --git a/tools/filters/Makefile b/tools/filters/Makefile +index f9f4556..6077b79 100644 +--- a/tools/filters/Makefile ++++ b/tools/filters/Makefile +@@ -1,5 +1,5 @@ + PREFIX?=/usr/local +-CFLAGS=-I../../src $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build ++override CFLAGS += -I../../src $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build + LDFLAGS=$(OPTLIBS) + + all: null.so +diff --git a/tools/m2sh/Makefile b/tools/m2sh/Makefile +index b50d8a0..ba378c5 100644 +--- a/tools/m2sh/Makefile ++++ b/tools/m2sh/Makefile +@@ -1,4 +1,4 @@ +-CFLAGS=-DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS) ++override CFLAGS += -DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS) + LIBS=-lzmq -lsqlite3 ../../build/libm2.a $(OPTLIBS) + + PREFIX?=/usr/local +diff --git a/tools/procer/Makefile b/tools/procer/Makefile +index d0d7de0..629b2e9 100644 +--- a/tools/procer/Makefile ++++ b/tools/procer/Makefile +@@ -1,4 +1,4 @@ +-CFLAGS=-DNDEBUG -pthread -g -I../../src -Wall $(OPTFLAGS) ++override CFLAGS += -DNDEBUG -pthread -g -I../../src -Wall $(OPTFLAGS) + PREFIX?=/usr/local + LIBS?=-lzmq + SOURCES=$(wildcard *.c) +-- +1.8.1.4 + diff --git a/package/mongrel2/mongrel2.mk b/package/mongrel2/mongrel2.mk new file mode 100644 index 0000000..6382d59 --- /dev/null +++ b/package/mongrel2/mongrel2.mk @@ -0,0 +1,31 @@ +############################################################# +# +# Mongrel2 +# +############################################################# + +MONGREL2_VERSION = 1.8.0 +MONGREL2_SOURCE = mongrel2_$(MONGREL2_VERSION).tar.gz +MONGREL2_SITE = https://github.com/zedshaw/mongrel2/tarball/v1.8.0 +MONGREL2_LICENSE = BSD-3c +MONGREL2_LICENSE_FILES = LICENSE +MONGREL2_DEPENDENCIES = sqlite zeromq + +define MONGREL2_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + PREFIX=/usr all +endef + +define MONGREL2_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + PREFIX=/usr DESTDIR=$(TARGET_DIR) install +endef + +define MONGREL2_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/usr/bin/mongrel2 + rm -f $(TARGET_DIR)/usr/bin/m2sh + rm -f $(TARGET_DIR)/usr/bin/procer +endef + +$(eval $(generic-package)) +
Signed-off-by: Lionel Orry <lionel.orry@gmail.com> --- package/Config.in | 1 + package/mongrel2/Config.in | 19 ++++++ ...l2-0001-use-CC-variable-to-compile-procer.patch | 28 ++++++++ .../mongrel2/mongrel2-0002-Do-not-run-tests.patch | 43 +++++++++++++ ...-0003-Fix-Makefiles-for-cross-compilation.patch | 75 ++++++++++++++++++++++ package/mongrel2/mongrel2.mk | 31 +++++++++ 6 files changed, 197 insertions(+) create mode 100644 package/mongrel2/Config.in create mode 100644 package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch create mode 100644 package/mongrel2/mongrel2-0002-Do-not-run-tests.patch create mode 100644 package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch create mode 100644 package/mongrel2/mongrel2.mk