aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-09-22 05:15:58 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-09-22 05:15:58 +0200
commit022a5981017e82250b24bbdf290ec4dc53ff933c (patch)
treedafd8bcb6ea2c2c9b6ddc7970c2c020d0e23732e
parentbdc80bdcafcc56627e91b8fd89578fec8921eb3a (diff)
downloadnanonote-ports-022a5981017e82250b24bbdf290ec4dc53ff933c.tar.gz
updated SciTECO port to Git revision c3f7aa72
* SciTECO must still be installed manually on the host system. There is no host package yet.
-rw-r--r--sciteco/Makefile72
-rw-r--r--sciteco/patches/0001-glib2-version.patch43
-rw-r--r--sciteco/patches/0001-scinterm-build.patch22
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)