CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
elfutils: inital import
[crossrootfs.git] / flex / Pkgfile
index 2c95f88bd226e4ec3a648bee5b189459e46889d9..d2e6653cc239aa40490594aa65e7f5102d893b33 100644 (file)
@@ -1,25 +1,52 @@
 # Description: Fast Lexical Analyzer Generator
 # URL: http://flex.sourceforge.net/
 # Maintainer: CRUX System Team, core-ports at crux dot nu
-# Arch Maintainer: CRUX-ARM System Team, crux-arm at mikeux dot dyndns dot org
+# Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
+# 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}
 }