summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorHirokazu MORIKAWA <morikw2@gmail.com>2019-05-17 13:23:37 +0900
committerHirokazu MORIKAWA <morikw2@gmail.com>2019-05-18 21:32:37 +0900
commit41b1b08115e7ef7ce92af005c490a43b4d75fe26 (patch)
treea94f794730234f9edf4da20b633e3772e6724666 /utils
parent211d3d1a3ee7e1e30ef2280214dfbc30b52885d7 (diff)
mg: add new package/microscopic emacs style editor
For Emacsian! You can use "Dired", which is Emacsian's favorite. You can also use "re-search". Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/mg/Makefile42
-rw-r--r--utils/mg/patches/001-cross_compile_openwrt.patch135
-rw-r--r--utils/mg/patches/900-musl_compatibility.patch13
-rw-r--r--utils/mg/patches/901-use_pcre.patch11
4 files changed, 201 insertions, 0 deletions
diff --git a/utils/mg/Makefile b/utils/mg/Makefile
new file mode 100644
index 000000000..c7965271e
--- /dev/null
+++ b/utils/mg/Makefile
@@ -0,0 +1,42 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=mg
+PKG_VERSION:=20180927
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/ibara/mg/releases/download/mg-20180927
+PKG_HASH:=99b2fd2cf9d6474153d6c5769c818dd5514c147b8a8ad660a5e114bc1ebd504d
+
+PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>
+PKG_LICENSE:=PUBLICDOMAIN ISC BSD VARIOUS
+PKG_LICENSE_FILES:=README.md
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/mg
+ SECTION:=utils
+ CATEGORY:=Utilities
+ DEPENDS:=+libncurses +libpcre
+ TITLE:=microscopic EMACS style editor
+ URL:=https://github.com/ibara/mg
+ SUBMENU:=Editors
+endef
+
+define Package/mg/description
+ Mg is intended to be a small, fast, and portable editor for people who
+ can't (or don't want to) run emacs for one reason or another, or are not
+ familiar with the vi editor. It is compatible with emacs because there
+ shouldn't be any reason to learn more editor types than emacs or vi.
+endef
+
+define Package/mg/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/mg $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,mg))
diff --git a/utils/mg/patches/001-cross_compile_openwrt.patch b/utils/mg/patches/001-cross_compile_openwrt.patch
new file mode 100644
index 000000000..dc63ea598
--- /dev/null
+++ b/utils/mg/patches/001-cross_compile_openwrt.patch
@@ -0,0 +1,135 @@
+--- a/configure
++++ b/configure
+@@ -3,53 +3,6 @@
+ # This configure script written by Brian Callahan <bcallah@openbsd.org>
+ # and released into the Public Domain.
+
+-cccheck() {
+- if [ ! -z "$CC" ] ; then
+-cat << EOF > conftest.c
+-int main(void){return 0;}
+-EOF
+- $CC -o conftest conftest.c > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- ./conftest
+- if [ $? -eq 0 ] ; then
+- rm -f conftest conftest.c
+- cc="$CC"
+- return 0
+- else
+- echo "could not build working executables"
+- echo "Please ensure your C compiler is a native compiler"
+- exit 1
+- fi
+- else
+- rm -f conftest conftest.c
+- fi
+- fi
+-
+- for compiler in cc clang pcc xlc gcc ; do
+-cat << EOF > conftest.c
+-int main(void){return 0;}
+-EOF
+-
+- $compiler -o conftest conftest.c > /dev/null 2>&1
+-
+- if [ $? -eq 0 ] ; then
+- ./conftest
+- if [ $? -eq 0 ] ; then
+- rm -f conftest conftest.c
+- cc="$compiler"
+- return 0
+- else
+- echo "could not build working executables"
+- echo "Please ensure your C compiler is a native compiler"
+- exit 1
+- fi
+- else
+- rm -f conftest conftest.c
+- fi
+- done
+- return 1
+-}
+-
+ fgetlncheck() {
+ cat << EOF > conftest.c
+ #include <stdio.h>
+@@ -162,21 +115,6 @@
+ fi
+ }
+
+-wflagcheck() {
+- cat << EOF > conftest.c
+-int main(void){return 0;}
+-EOF
+- $cc -w -o conftest conftest.c > /dev/null 2> conftest.err
+- grep ':' conftest.err > /dev/null 2>&1
+- if [ $? -eq 0 ] ; then
+- rm -f conftest conftest.err conftest.c
+- return 1
+- else
+- rm -f conftest conftest.err conftest.c
+- return 0
+- fi
+-}
+-
+ # Option variables
+ if [ ! -z "$PREFIX" ] ; then
+ prefix="$PREFIX"
+@@ -241,53 +179,9 @@
+ ldflags="${ldflags}-static"
+ fi
+
+-printf "checking for C compiler... "
+-cccheck
+-if [ $? -ne 0 ] ; then
+- echo "not found"
+- echo "Please install a C compiler and re-run configure."
+- exit 1
+-else
+- echo "$cc"
+-fi
+-
+-printf "checking for -w compiler flag... "
+-wflagcheck
+-if [ $? -ne 0 ] ; then
+- echo "no"
+-else
+- cflags="$cflags -w"
+- echo "yes"
+-fi
+-
+-printf "checking for OS... "
+-libs='-lncurses'
+-os=`uname -s`
+-echo "$os"
+-
+-case "x$os" in
+- "xLinux"|"xCYGWIN"*)
+- cflags="$cflags -D_GNU_SOURCE -D__dead=\"__attribute__((__noreturn__))\" -Dst_mtimespec=st_mtim"
+- ;;
+- "xDarwin")
+- cflags="$cflags -DMSG_NOSIGNAL=SO_NOSIGPIPE -DLOGIN_NAME_MAX=MAXLOGNAME"
+- libs="$libs -lutil"
+- ;;
+- "xFreeBSD")
+- cflags="$cflags -D__dead=__dead2 -DLOGIN_NAME_MAX=MAXLOGNAME"
+- libs="$libs -lutil"
+- ;;
+- "xOpenBSD")
+- libs="$libs -lutil"
+- ;;
+- "xNetBSD")
+- libs="$libs -lutil"
+- ;;
+- "xDragonFly")
+- cflags="$cflags -D__dead=__dead2 -DLOGIN_NAME_MAX=MAXLOGNAME"
+- libs="$libs -lutil"
+- ;;
+-esac
++# OpenWrt
++libs='-lncurses -lpcre'
++cflags="$cflags -D_GNU_SOURCE -D__dead=\"__attribute__((__noreturn__))\" -Dst_mtimespec=st_mtim"
+
+ cat << EOF > config.h
+ /* This file generated automatically by configure. */
diff --git a/utils/mg/patches/900-musl_compatibility.patch b/utils/mg/patches/900-musl_compatibility.patch
new file mode 100644
index 000000000..26aaa980d
--- /dev/null
+++ b/utils/mg/patches/900-musl_compatibility.patch
@@ -0,0 +1,13 @@
+--- a/fileio.c
++++ b/fileio.c
+@@ -23,6 +23,10 @@
+ #include <string.h>
+ #include <unistd.h>
+
++#ifndef DEFFILEMODE
++#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
++#endif
++
+ #include "def.h"
+ #include "kbd.h"
+ #include "pathnames.h"
diff --git a/utils/mg/patches/901-use_pcre.patch b/utils/mg/patches/901-use_pcre.patch
new file mode 100644
index 000000000..292f2eba7
--- /dev/null
+++ b/utils/mg/patches/901-use_pcre.patch
@@ -0,0 +1,11 @@
+--- a/re_search.c
++++ b/re_search.c
+@@ -16,7 +16,7 @@
+ #ifdef REGEX
+ #include <sys/queue.h>
+ #include <sys/types.h>
+-#include <regex.h>
++#include <pcreposix.h>
+ #include <signal.h>
+ #include <stdio.h>
+ #include <string.h>