1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
#
# Copyright (C) 2007-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=nano
PKG_VERSION:=9.3
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/nano
PKG_HASH:=a9affc52c9596ee0682bcdd4ceb3c0b235eb221d83d733dfd9b0dff45897cb0d
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Hannu Nyman <hannu.nyman@iki.fi>
PKG_CPE_ID:=cpe:/a:gnu:nano
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/nano/Default
SUBMENU:=Editors
SECTION:=utils
CATEGORY:=Utilities
URL:=https://www.nano-editor.org/
DEPENDS:=+libncurses
endef
define Package/nano
$(call Package/nano/Default)
TITLE:=GNU Nano text editor (default features)
VARIANT:=plus
DEFAULT_VARIANT:=1
PROVIDES:=nano-plus
endef
define Package/nano-tiny
$(call Package/nano/Default)
TITLE:=GNU Nano text editor (minimal features)
VARIANT:=tiny
CONFLICTS:=nano
endef
define Package/nano-full
$(call Package/nano/Default)
TITLE:=GNU Nano text editor (all features, Unicode)
VARIANT:=full
CONFLICTS:=nano nano-tiny
endef
define Package/nano/Default/description
Nano is a small and simple text editor for use on the terminal.
(linewise scrolling, no automatic line breaking).
Nano is an official GNU package.
endef
define Package/nano/description
nano - Default features, larger than nano-tiny.
(multibuffer, help, nanorc, syntax highlighting (uci, ucode, shell))
Nano set as the default EDITOR in the shell profile.
$(call Package/nano/Default/description)
endef
define Package/nano-tiny/description
nano-tiny - Only minimal features enabled.
$(call Package/nano/Default/description)
endef
define Package/nano-full/description
nano-full - all features incl. nanorc, syntax highlighting,
multibuffer, Unicode/UTF-8, some key bindings.
(libmagic-based file type detection is still disabled)
Nano set as the default EDITOR in the shell profile.
$(call Package/nano/Default/description)
endef
ifeq ($(BUILD_VARIANT),full)
# full variant with almost all features included
CONFIGURE_ARGS += \
--disable-extra \
--disable-libmagic \
--enable-utf8
else ifeq ($(BUILD_VARIANT),tiny)
# tiny variant
CONFIGURE_ARGS += \
--enable-tiny \
--enable-linenumbers \
--disable-color \
--disable-utf8
else
# default plus variant with some features included
CONFIGURE_ARGS += \
--enable-color \
--enable-help \
--enable-linenumbers \
--enable-multibuffer \
--enable-nanorc \
--disable-browser \
--disable-comment \
--disable-extra \
--disable-histories \
--disable-justify \
--disable-libmagic \
--disable-mouse \
--disable-operatingdir \
--disable-speller \
--disable-tabcomp \
--disable-utf8 \
--disable-wordcomp
endif
CONFIGURE_VARS += \
ac_cv_header_regex_h=no \
define Package/nano/conffiles
/etc/nanorc
endef
define Package/nano-full/conffiles
/etc/nanorc
endef
define Package/nano-tiny/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/
endef
define Package/nano/install
$(call Package/nano-tiny/install,$1)
$(INSTALL_DIR) $(1)/etc/profile.d $(1)/usr/share/nano
$(INSTALL_DATA) ./files/nanorc $(1)/etc/nanorc
$(INSTALL_DATA) ./files/uci.nanorc $(1)/usr/share/nano
$(INSTALL_DATA) ./files/ucode.nanorc $(1)/usr/share/nano
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/nano/javascript.nanorc $(1)/usr/share/nano
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/nano/patch.nanorc $(1)/usr/share/nano
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/nano/sh.nanorc $(1)/usr/share/nano
$(INSTALL_DATA) ./files/nano-default-editor.sh $(1)/etc/profile.d
endef
define Package/nano-full/install
$(call Package/nano/install,$1)
$(CP) $(PKG_INSTALL_DIR)/usr/share/nano/*nanorc $(1)/usr/share/nano
$(CP) $(PKG_INSTALL_DIR)/usr/share/nano/extra/*nanorc $(1)/usr/share/nano
# for compatibility with old nanorc installations
$(INSTALL_DIR) $(1)/usr/share/nano/extra
endef
$(eval $(call BuildPackage,nano-tiny))
$(eval $(call BuildPackage,nano))
$(eval $(call BuildPackage,nano-full))
|