From f597029ccf78a28afd3b2a2ed4aa92fd99b766f0 Mon Sep 17 00:00:00 2001 From: "Ralf S. Engelschall" Date: Sat, 23 Feb 2019 10:53:58 +0100 Subject: [PATCH] new package --- redis-mod-neural/redis-mod-neural.patch | 19 +++++ redis-mod-neural/redis-mod-neural.spec | 106 ++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 redis-mod-neural/redis-mod-neural.patch create mode 100644 redis-mod-neural/redis-mod-neural.spec diff --git a/redis-mod-neural/redis-mod-neural.patch b/redis-mod-neural/redis-mod-neural.patch new file mode 100644 index 0000000000..321132821d --- /dev/null +++ b/redis-mod-neural/redis-mod-neural.patch @@ -0,0 +1,19 @@ +Index: Makefile +--- Makefile.orig 2019-02-23 10:50:01.000000000 +0100 ++++ Makefile 2019-02-23 10:52:02.053932000 +0100 +@@ -2,13 +2,8 @@ + uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') + + # Compile flags for linux / osx +-ifeq ($(uname_S),Linux) +- SHOBJ_CFLAGS ?= -Wall -W -O3 -fno-common -g -ggdb -std=c99 +- SHOBJ_LDFLAGS ?= -shared +-else +- SHOBJ_CFLAGS ?= -Wall -W -O3 -dynamic -fno-common -g -ggdb -std=c99 +- SHOBJ_LDFLAGS ?= -bundle -undefined dynamic_lookup +-endif ++SHOBJ_CFLAGS ?= -O3 -fno-common -std=c99 ++SHOBJ_LDFLAGS ?= -shared + + .SUFFIXES: .c .so .xo .o + diff --git a/redis-mod-neural/redis-mod-neural.spec b/redis-mod-neural/redis-mod-neural.spec new file mode 100644 index 0000000000..d905e83540 --- /dev/null +++ b/redis-mod-neural/redis-mod-neural.spec @@ -0,0 +1,106 @@ +## +## redis-mod-neural.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2019 OpenPKG Project +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: redis-mod-neural +Summary: Redis Extension Module: Neural Network +URL: https://github.com/antirez/neural-redis +Vendor: Salvatore Sanfilippo +Packager: OpenPKG Project +Distribution: OpenPKG Community +Class: EVAL +Group: Database +License: BSD +Version: 20190223 +Release: 20190223 + +# list of sources +Source0: http://download.openpkg.org/components/versioned/redis-neural/redis-neural-%{version}.tar.xz +Patch0: redis-mod-neural.patch + +# build information +BuildPreReq: OpenPKG, openpkg >= 20160101 +PreReq: OpenPKG, openpkg >= 20160101 +PreReq: redis + +%description + This is a Redis extension module that implements a Feed Forward + Neural Network data type. The goal is to provide Redis users with an + extremely simple to use machine learning experience. + +%track + prog redis-mod-neural = { + version = %{version} + url = http://download.openpkg.org/components/versioned/redis-neural/ + regex = redis-neural-(__VER__)\.tar\.xz + } + +%prep + %setup -q -n redis-neural + %patch -p0 + +%build + # build extension module + %{l_make} %{l_mflags -O} \ + CC="%{l_cc}" \ + LD="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + generic + +%install + # create installation hierarchy + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/redis + + # install extension module + %{l_shtool} install -c -m 755 \ + neuralredis.so $RPM_BUILD_ROOT%{l_prefix}/libexec/redis/neural.so + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean + +%post + if [ ".$1" = .1 ]; then + # add hook to Redis configuration + redisconf="$RPM_INSTALL_PREFIX/etc/redis/redis.conf" + if [ -f $redisconf ]; then + echo "loadmodule $RPM_INSTALL_PREFIX/libexec/redis/neural.so" |\ + $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ + -a -i "$RPM_INSTALL_PREFIX:redis-mod-neural" -p "#" $redisconf + fi + fi + +%postun + if [ ".$1" = .0 ]; then + # remove hook from Redis configuration + redisconf="$RPM_INSTALL_PREFIX/etc/redis/redis.conf" + if [ -f $redisconf ]; then + $RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ + -r -i "$RPM_INSTALL_PREFIX:redis-mod-neural" -p "#" $redisconf + fi + fi +