diff options
-rw-r--r-- | sciteco/Makefile | 72 | ||||
-rw-r--r-- | sciteco/patches/0001-glib2-version.patch | 43 | ||||
-rw-r--r-- | sciteco/patches/0001-scinterm-build.patch | 22 |
3 files changed, 83 insertions, 54 deletions
diff --git a/sciteco/Makefile b/sciteco/Makefile index 0c8f5d8..5cdf685 100644 --- a/sciteco/Makefile +++ b/sciteco/Makefile @@ -1,63 +1,71 @@ include $(TOPDIR)/rules.mk PKG_NAME:=sciteco -PKG_VERSION:=0.1 -PKG_RELEASE:=1 +PKG_VERSION:=0.6.4-git +PKG_RELEASE:=2 +PKG_REV:=c3f7aa7252ad9adb51cef1e35f566883ef953aad -PKG_SOURCE:=sciteco-$(PKG_VERSION).tar.gz -PKG_MD5SUM:=612f02da4a521059f75835fe89508461 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REV).tar.gz +PKG_SOURCE_URL:=https://github.com/rhaberkorn/sciteco.git +PKG_SOURCE_PROTO:=git +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +PKG_SOURCE_VERSION:=$(PKG_REV) PKG_BUILD_DIR=$(BUILD_DIR)/sciteco-$(PKG_VERSION) +#PKG_BUILD_DEPENDS:=$(PKG_NAME)/host +#HOST_BUILD_DEPENDS:=libncurses/host glib2/host + include $(INCLUDE_DIR)/package.mk +#include $(INCLUDE_DIR)/host-build.mk -define Package/SciTECO +define Package/sciteco SECTION:=utils CATEGORY:=Utilities - DEPENDS:=+libncurses +glib2 +libstdcpp - TITLE:=Scintilla based TECO editor - URL:=https://github.com/rhaberkorn/sciteco + DEPENDS:=+libncurses +glib2 +libstdcpp +libiconv-full + TITLE:=Advanced TECO dialect and interactive screen editor based on Scintilla + URL:=http://sciteco.sf.net/ SUBMENU:=Editors endef -define Package/SciTECO/description -Advanced screen based version of the TECO editor. -NOTE: Currently, SciTECO has to be installed on the -host platform. +define Package/sciteco/description +Advanced TECO dialect and interactive screen editor based on Scintilla endef -CONFIGURE_ARGS += --with-scintilla=scintilla \ - --with-interface=ncurses \ - --disable-bootstrap - -define Build/Prepare - $(PKG_UNPACK) - (cd $(PKG_BUILD_DIR); \ - $(HOST_TAR) xzf $(DL_DIR)/scintilla324.tgz; \ - unzip -d scintilla $(DL_DIR)/scinterm_1.1.zip; \ - mv scintilla/scinterm_1.1 scintilla/scinterm; \ - patch -p0 <patches/scintilla-teco-control-codes.patch; \ - ) - $(call Build/Patch) -endef +CONFIGURE_ARGS += --with-interface=ncurses \ + --disable-bootstrap define Build/Configure - $(MAKE_VARS) \ - $(MAKE) -C $(PKG_BUILD_DIR)/scintilla/scinterm \ - $(MAKE_FLAGS) + (cd $(PKG_BUILD_DIR) && autoreconf -i) $(call Build/Configure/Default) endef +# FIXME: Why is this template required? define Build/Compile $(call Build/Install/Default) endef -define Package/SciTECO/install +# A host-build of SciTECO is required to bootstrap +# its build process since of course we cannot +# rely on SciTECO's built-in bootstrapping mechanism +# which is not designed to work with cross-builds. +#define Host/Configure +# (cd $(PKG_BUILD_DIR) && autoreconf -i) +# $(call Host/Configure/Default) +#endef +# +#define Host/Install +# $(call Host/Install/Default) +#endef + +define Package/sciteco/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sciteco $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/share/sciteco - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/sciteco/teco.ini $(1)/usr/share/sciteco + $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/sciteco/sample.teco_ini $(1)/usr/share/sciteco + cp -r $(PKG_INSTALL_DIR)/usr/share/sciteco/lib $(1)/usr/share/sciteco endef -$(eval $(call BuildPackage,SciTECO)) +#$(eval $(call HostBuild)) +$(eval $(call BuildPackage,sciteco)) diff --git a/sciteco/patches/0001-glib2-version.patch b/sciteco/patches/0001-glib2-version.patch new file mode 100644 index 0000000..8fe3840 --- /dev/null +++ b/sciteco/patches/0001-glib2-version.patch @@ -0,0 +1,43 @@ +NanoNote's OpenWRT fork only has glib2 v2.26.1 +This turns out to be sufficient +--- a/configure.ac ++++ b/configure.ac +@@ -77,7 +77,7 @@ AC_SUBST(DOXYGEN_HAVE_DOT) + AC_CHECK_PROG(SCITECO, sciteco, sciteco) + + # Checks for libraries. +-PKG_CHECK_MODULES(LIBGLIB, [glib-2.0 >= 2.28], [ ++PKG_CHECK_MODULES(LIBGLIB, [glib-2.0 >= 2.26.1], [ + CFLAGS="$CFLAGS $LIBGLIB_CFLAGS" + CXXFLAGS="$CXXFLAGS $LIBGLIB_CFLAGS" + LIBS="$LIBS $LIBGLIB_LIBS" +--- a/src/sciteco.h 2015-09-22 04:44:52.941205805 +0200 ++++ b/src/sciteco.h 2015-09-22 04:52:31.705192570 +0200 +@@ -24,6 +24,11 @@ + + #include "interface.h" + ++#if !GLIB_CHECK_VERSION(2,28,0) ++#define g_slist_free_full(LIST,FUNC) \ ++ g_slist_foreach(LIST, (GFunc)FUNC, NULL) ++#endif ++ + namespace SciTECO { + + #if TECO_INTEGER == 32 +--- a/src/spawn.cpp 2015-09-22 04:56:34.069185578 +0200 ++++ b/src/spawn.cpp 2015-09-22 04:58:58.089181423 +0200 +@@ -73,6 +73,13 @@ + + #endif + ++#ifndef G_SOURCE_CONTINUE ++#define G_SOURCE_CONTINUE TRUE ++#endif ++#ifndef G_SOURCE_REMOVE ++#define G_SOURCE_REMOVE FALSE ++#endif ++ + namespace SciTECO { + + namespace States { diff --git a/sciteco/patches/0001-scinterm-build.patch b/sciteco/patches/0001-scinterm-build.patch deleted file mode 100644 index 948e504..0000000 --- a/sciteco/patches/0001-scinterm-build.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/scintilla/scinterm/Makefile 2012-12-11 01:26:02.000000000 +0100 -+++ b/scintilla/scinterm/Makefile 2013-01-24 01:30:55.806042954 +0100 -@@ -4,8 +4,8 @@ - - CXX = g++ - INCLUDEDIRS = -I ../include -I ../src -I ../lexlib --CXXFLAGS = -Wall -Wno-missing-braces -Wno-char-subscripts -Wno-long-long \ -- -pedantic -DNCURSES -DSCI_LEXER $(INCLUDEDIRS) -+CXXFLAGS += -Wall -Wno-missing-braces -Wno-char-subscripts -Wno-long-long \ -+ -pedantic -DNCURSES -DSCI_LEXER $(INCLUDEDIRS) - ifdef DEBUG - CXXFLAGS += -DDEBUG -g - else -@@ -30,7 +30,7 @@ - CharacterSet.o LexerBase.o LexerModule.o LexerNoExceptions.o \ - LexerSimple.o PropSetSimple.o StyleContext.o WordList.o \ - $(lexers) ScintillaTerm.o -- ar rc $@ $^ -+ $(AR) rc $@ $^ - touch $@ - clean: - rm -f *.o $(scintilla) |