# Depends on:
name=flex
-version=2.5.35
-release=1
-source=(http://dl.sourceforge.net/sourceforge/flex/$name-$version.tar.bz2)
+version=2.6.3
+release=2
+source=(https://github.com/westes/flex/releases/download/v$version/$name-$version.tar.gz
+ $name-$version-add_defines.patch)
build() {
cd $name-$version
+
echo "ac_cv_func_malloc_0_nonnull=yes" > config.cache
echo "ac_cv_func_realloc_0_nonnull=yes" >> config.cache
+
+ patch -p1 -i $SRC/$name-$version-add_defines.patch
+ touch doc/flex.1
+
+ # Don't build tests
+ sed '51d' -i Makefile.am
+
+ # Build stage1flex for current host
+ CC=gcc CFLAGS="" ./configure --disable-nls \
+ --prefix=/tools \
+ --enable-shared
+
+ make -C lib
+ make -C src stage1flex
+ mv src/stage1flex src/stage1flex.host
+ ./autogen.sh
+ make distclean
+
./configure --build=$CHOST \
--host=$CTARGET \
--prefix=/usr \
--disable-nls \
--cache-file=config.cache
- make
+
+ make -C lib
+ # Use stage1flex built for host
+ sed 's|./stage1flex$(EXEEXT) $(AM_LFLAGS)|./stage1flex.host$(EXEEXT) $(AM_LFLAGS)|g' -i src/Makefile
+ make -C src
make DESTDIR=$PKG install
+
ln -sf flex $PKG/usr/bin/lex
- ln -sf flex.1.gz $PKG/usr/man/man1/lex.1.gz
- rm -rf $PKG/usr/info
+ ln -sf flex.1.gz $PKG/usr/share/man/man1/lex.1.gz
+
+ rm -r $PKG/usr/share/{info,doc}
}