commit 8c9d1c6f69c6d0414132f7d5b4d6dac730c2e761 Author: Jay Larson Date: Sat Sep 24 20:07:24 2016 -0500 First check in diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..906259e --- /dev/null +++ b/Makefile @@ -0,0 +1,81 @@ +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation here: +# (http://www.gnu.org/licenses/gpl-2.0.html) +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +DEPENDS = +ARCH = x86_64 +URL = http://flex.sourceforge.net/ +DESC = Flex is a tool for generating scanners. A scanner, sometimes called a \ +tokenizer, is a program which recognizes lexical patterns in text. +SNAPVER = sr0 + +ARCHIVE := $(PWD)/SRC/$(shell ls SRC|egrep '(bz2|gz|tar|xz)$$'|tail -1) +TYPE := $(shell file -ib $(ARCHIVE)|cut -d';' -f1|tr -d '\n') +SRCDIR := $(shell tar -tf $(ARCHIVE)|head -1|sed 's/\/.*//') +PATCHDIR := $(PWD)/SRC/patches +VERSION := $(shell echo $(SRCDIR)|egrep -o '\-[0-9].*'|sed 's/^-//')$(SNAPVER) + +MAKE = make +MAKEINST = make install +SNAPHACKS = ln -sv flex $(ROOT)/usr/bin/lex + +include /usr/share/snap/Makefile.snaplinux + +$(SRCDIR)/configure: $(ARCHIVE) + @if [ '$(TYPE)' == 'application/x-bzip2' ]; then \ + tar -jxf $(ARCHIVE); \ + elif [ '$(TYPE)' == 'application/x-gzip' ]; then \ + tar -zxf $(ARCHIVE); \ + elif [ '$(TYPE)' == 'application/x-tar' ]; then \ + tar -xf $(ARCHIVE); \ + elif [ '$(TYPE)' == 'application/x-xz' ]; then \ + tar -xf $(ARCHIVE); \ + else \ + echo 'Unable to determine archive type'; \ + exit 1; \ + fi + +$(SRCDIR)/config.log: $(SRCDIR)/configure + @if [ -f $(PATCHDIR)/*.patch ]; then \ + cd $(SRCDIR) && cat $(PATCHDIR)/*.patch|patch --verbose -Np1; \ + fi + @cd $(SRCDIR); \ + ./configure \ + --prefix=/usr \ + --build=x86_64-snap-linux-gnu \ + --host=x86_64-snap-linux-gnu \ + --target=x86_64-snap-linux-gnu + +$(SRCDIR)/src/flex: $(SRCDIR)/config.log + @cd $(SRCDIR); \ + $(MAKE) + +$(ROOT): $(SRCDIR)/src/flex + @if [ -d $(ROOT) ]; then \ + touch $(ROOT); \ + else \ + mkdir -v $(ROOT); \ + fi + + @cd $(SRCDIR); \ + $(MAKEINST) DESTDIR=$(ROOT) + + @$(SNAPHACKS) + +test: $(ROOT) + @cd $(SRCDIR); \ + make check + +clean: + @rm -rvf $(ROOT) \ + $(SNAPINFO) \ + $(MANIFEST) \ + $(FILES) \ + $(SRCDIR) + diff --git a/SNAP/README b/SNAP/README new file mode 100644 index 0000000..19a3ff1 --- /dev/null +++ b/SNAP/README @@ -0,0 +1,3 @@ +This is the directory where the manifest, snapinfo, and files.tar.gz +files will be created. It is also where the usher file should be +placed if it is required by the package. diff --git a/SRC/flex-2.6.0.tar.xz b/SRC/flex-2.6.0.tar.xz new file mode 100644 index 0000000..b917a42 Binary files /dev/null and b/SRC/flex-2.6.0.tar.xz differ diff --git a/SRC/flex-2.6.0.tar.xz.sha1 b/SRC/flex-2.6.0.tar.xz.sha1 new file mode 100644 index 0000000..b10c0a0 --- /dev/null +++ b/SRC/flex-2.6.0.tar.xz.sha1 @@ -0,0 +1 @@ +684c927c9f1b170e9627338de12e99cf2c224b91 diff --git a/SRC/patches/README b/SRC/patches/README new file mode 100644 index 0000000..253cdcd --- /dev/null +++ b/SRC/patches/README @@ -0,0 +1,2 @@ +Place any patch files here and preface each with a number indicating +the order of execution. Patch files are expected to use a .patch extension.