diff --git a/tab/tab.patch b/tab/tab.patch new file mode 100644 index 0000000000..7c7b450b73 --- /dev/null +++ b/tab/tab.patch @@ -0,0 +1,12 @@ +Index: Makefile +--- Makefile.orig 2019-04-20 17:49:07.000000000 +0200 ++++ Makefile 2019-04-20 17:54:17.102959000 +0200 +@@ -14,7 +14,7 @@ + CXX ?= g++ + + tab: $(SRC) $(INCLUDE) $(FUNCS) +- $(CXX) -std=c++11 -O3 -Wall -Iaxe -pthread -lm $(SRC) -o tab ++ $(CXX) -std=c++11 -O2 -Iaxe -pthread $(SRC) -o tab -lm + + dist: $(SRC) $(INCLUDE) $(FUNCS) + $(CXX) -std=c++11 -O3 -Wall -Iaxe -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -lm -pthread $(SRC) -static -o tab-linux-x86_64 diff --git a/tab/tab.spec b/tab/tab.spec new file mode 100644 index 0000000000..09d72b587e --- /dev/null +++ b/tab/tab.spec @@ -0,0 +1,92 @@ +## +## tab.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 versions +%define V_tab_base 7.0 +%define V_tab_snap 20190420 + +# package information +Name: tab +Summary: Programming Language / Shell Calculator +URL: https://tkatchev.bitbucket.io/tab/ +Vendor: Ivan Tkachev +Packager: OpenPKG Project +Distribution: OpenPKG Community +Class: EVAL +Group: Text +License: Boost Software License +Version: %{V_tab_base}.%{V_tab_snap} +Release: 20190420 + +# list of sources +Source0: http://download.openpkg.org/components/versioned/tab/tab-%{V_tab_snap}.tar.xz +Patch0: tab.patch + +# build information +BuildPreReq: OpenPKG, openpkg >= 20160101, gcc, gcc::with_cxx = yes +PreReq: OpenPKG, openpkg >= 20160101 + +%description + Tab is a kind of general-purpose query language for text files. + Tab is a special programming language unlike any other: it's + statically-typed and type-infered; it also infers memory consumption + and guarantees O(n) memory use; it is designed for concise + one-liner computations right in the shell prompt; it features both + a mathematics library and a set of data slicing and aggregation + primitives; it is faster than all other interpreted languages with a + similar scope; it is not Turing-complete (But can compute virtually + anything nonetheless); it is self-contained: distributed as a single + statically linked binary and nothing else; and it has no platform + dependencies. + +%track + prog tab:release = { + version = %{V_tab_base} + url = https://bitbucket.org/tkatchev/tab/commits/all + regex = /tag/(__VER__) + } + prog tab:snapshot = { + version = %{V_tab_snap} + url = http://download.openpkg.org/components/versioned/tab/ + regex = tab-(__VER__)\.tar\.xz + } + +%prep + %setup -q -n tab + %patch -p0 + +%build + %{l_make} %{l_mflags -O} \ + CXX="%{l_cxx} %{l_cxxflags -O}" + +%install + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/bin + %{l_shtool} install -c -s -m 755 \ + tab $RPM_BUILD_ROOT%{l_prefix}/bin/ + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean +