Browse Source

Merge pull request #9016 from nxhack/mg_for_emacsian

mg: add new package - microscopic emacs style editor
lilik-openwrt-22.03
Rosen Penev 5 years ago
committed by GitHub
parent
commit
c771ed1f64
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 201 additions and 0 deletions
  1. +42
    -0
      utils/mg/Makefile
  2. +135
    -0
      utils/mg/patches/001-cross_compile_openwrt.patch
  3. +13
    -0
      utils/mg/patches/900-musl_compatibility.patch
  4. +11
    -0
      utils/mg/patches/901-use_pcre.patch

+ 42
- 0
utils/mg/Makefile View File

@ -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))

+ 135
- 0
utils/mg/patches/001-cross_compile_openwrt.patch View File

@ -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. */

+ 13
- 0
utils/mg/patches/900-musl_compatibility.patch View File

@ -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"

+ 11
- 0
utils/mg/patches/901-use_pcre.patch View File

@ -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>

Loading…
Cancel
Save