mirror of
git://projects.qi-hardware.com/openwrt-packages.git
synced 2024-11-22 18:34:41 +02:00
fix lisp load path. split into multiple packages for quicker update/testing,
do not install lisp source files by default. remove images, documentation and other stuff that just bloats the package size.
This commit is contained in:
parent
0ea4bc43fa
commit
90232b5450
@ -21,36 +21,57 @@ PKG_BUILD_DEPENDS:= emacs/host libtool/host
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/emacs
|
||||
define Package/emacs/Default
|
||||
SUBMENU:=Emacs
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS:=+libncurses
|
||||
TITLE:=The GNU Emacs Self-Documenting, Extensible Editor
|
||||
URL:=http://www.gnu.org/software/emacs/
|
||||
SUBMENU:=Editors
|
||||
# SUBMENU:=Editors
|
||||
endef
|
||||
|
||||
define Package/emacs/description
|
||||
define Package/emacs/Default/description
|
||||
GNU Emacs is an extensible, customizable text editor — and more.
|
||||
At its core is an interpreter for Emacs Lisp, a dialect of the
|
||||
Lisp programming language with extensions to support text editing.
|
||||
endef
|
||||
|
||||
define Package/emacs-bin
|
||||
$(call Package/emacs/Default)
|
||||
DEPENDS:=+libncurses +emacs-data
|
||||
TITLE+= (executable)
|
||||
endef
|
||||
|
||||
define Package/emacs-bin/description
|
||||
$(call Package/emacs/Default/description)
|
||||
This package contains the Emacs executable files
|
||||
endef
|
||||
|
||||
define Package/emacs-data
|
||||
$(call Package/emacs/Default)
|
||||
TITLE+= (compiled lisp)
|
||||
endef
|
||||
|
||||
define Package/emacs-data/description
|
||||
$(call Package/emacs/Default/description)
|
||||
This package contains the compiled Lisp files needed to run Emacs.
|
||||
endef
|
||||
|
||||
define Package/emacs-el
|
||||
$(call Package/emacs/Default)
|
||||
TITLE+= (lisp source)
|
||||
endef
|
||||
|
||||
define Package/emacs-el/description
|
||||
$(call Package/emacs/Default/description)
|
||||
This package contains the Lisp source files of Emacs that can queried via
|
||||
C-h f in case provided documentation of an Emacs function is insufficient.
|
||||
endef
|
||||
|
||||
HOST_CONFIGURE_ARGS += --without-x
|
||||
CONFIGURE_ARGS += --without-x
|
||||
MAKE_FLAGS += "LD=$(TARGET_CROSS)gcc -nostdlib"
|
||||
|
||||
# --with-xpm=no \
|
||||
# --with-jpeg=no \
|
||||
# --with-png=no \
|
||||
# --with-gif=no \
|
||||
# --with-tiff=no \
|
||||
# --without-x \
|
||||
# --with-x-toolkit=no \
|
||||
|
||||
|
||||
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
endef
|
||||
@ -87,7 +108,8 @@ define Build/Compile
|
||||
# ln -sf $(STAGING_DIR_HOST)/bin/temacs $(PKG_BUILD_DIR)/src/
|
||||
ln -sf $(STAGING_DIR_HOST)/bin/emacs-make-docfile $(PKG_BUILD_DIR)/lib-src/make-docfile
|
||||
ln -sf $(STAGING_DIR_HOST)/bin/emacs-prefix-args $(PKG_BUILD_DIR)/src/prefix-args
|
||||
sed -ie 's% /usr/lib/crt% $(TOOLCHAIN_DIR)/usr/lib/crt%g' $(PKG_BUILD_DIR)/src/Makefile
|
||||
sed -ie 's; /usr/lib/crt; $(TOOLCHAIN_DIR)/usr/lib/crt;g' $(PKG_BUILD_DIR)/src/Makefile
|
||||
sed -ie 's;\(#.*PATH_DUMPLOADSEARCH\).*$$$$;\1 PATH_LOADSEARCH;' $(PKG_BUILD_DIR)/src/epaths.h
|
||||
$(call Build/Compile/Default, -C src -o lib-src -o prefix-args -o ../lib-src/make-docfile temacs ../etc/DOC)
|
||||
cp -v $(PKG_BUILD_DIR)/src/temacs $(PKG_BUILD_DIR)/src/emacs
|
||||
$(call Build/Compile/Default, -C lisp EMACS=$(STAGING_DIR_HOST)/bin/emacs)
|
||||
@ -98,13 +120,33 @@ define Build/Install
|
||||
$(call Build/Install/Default,install-arch-indep install-arch-dep install-leim "MFLAGS=-o test-distrib")
|
||||
endef
|
||||
|
||||
define Package/emacs/install
|
||||
define Package/emacs-bin/install
|
||||
$(INSTALL_DIR) $(1)/usr
|
||||
cp -r $(PKG_INSTALL_DIR)/usr/{bin,lib,share} $(1)/usr
|
||||
cp -r $(PKG_INSTALL_DIR)/usr/{bin,lib} $(1)/usr
|
||||
endef
|
||||
|
||||
define Package/emacs-data/install
|
||||
$(INSTALL_DIR) $(1)/usr
|
||||
(cd $(PKG_INSTALL_DIR)/usr && \
|
||||
tar -cf - --exclude "*.el.gz" \
|
||||
--exclude "images" \
|
||||
--exclude "refcards" \
|
||||
--exclude "schema" \
|
||||
--exclude "NEWS*" \
|
||||
share) \
|
||||
| (cd $(1)/usr && tar -xvf -)
|
||||
endef
|
||||
|
||||
define Package/emacs-el/install
|
||||
$(INSTALL_DIR) $(1)/usr
|
||||
(cd $(PKG_INSTALL_DIR)/usr && find share --name "*.el.gz" | tar -cf - -T -) \
|
||||
| (cd $(1)/usr && tar -xvf -)
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(eval $(call BuildPackage,emacs))
|
||||
$(eval $(call BuildPackage,emacs-bin))
|
||||
$(eval $(call BuildPackage,emacs-data))
|
||||
$(eval $(call BuildPackage,emacs-el))
|
||||
|
||||
# The following comments configure the Emacs editor. Just ignore them.
|
||||
# Local Variables:
|
||||
|
Loading…
Reference in New Issue
Block a user