aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make/high-level.mk
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/software/make/high-level.mk')
-rw-r--r--reproduce/software/make/high-level.mk53
1 files changed, 47 insertions, 6 deletions
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index 9f434bc..3c5e518 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -54,9 +54,9 @@ ibidir = $(BDIR)/software/installed/version-info/proglib
# Basic directories (specific to this Makefile).
il64dir = $(BDIR)/software/installed/lib64
iidir = $(BDIR)/software/installed/include
-shsrcdir = $(shell pwd)/reproduce/software/shell
-dtexdir = $(shell pwd)/reproduce/software/bibtex
-patchdir = $(shell pwd)/reproduce/software/patches
+shsrcdir = "$(shell pwd)"/reproduce/software/shell
+dtexdir = "$(shell pwd)"/reproduce/software/bibtex
+patchdir = "$(shell pwd)"/reproduce/software/patches
itidir = $(BDIR)/software/installed/version-info/tex
ictdir = $(BDIR)/software/installed/version-info/cite
ipydir = $(BDIR)/software/installed/version-info/python
@@ -449,6 +449,25 @@ $(ibidir)/eigen-$(eigen-version):
rm -rf $(ddir)/eigen-eigen-*
echo "Eigen $(eigen-version)" > $@
+# GNU Emacs is an advanced text editor (among many other things!), so it
+# isn't directly related to the analysis phase of a project. However, it
+# can be useful during the development of a project on systems that don't
+# have it natively. So probably after the project is finished and is ready
+# for publication, you can remove it from 'TARGETS.conf'.
+#
+# However, the full Emacs build has a very large number of dependencies
+# which aren't necessary in many scenarios so we are disabling everything
+# except the core Emacs functionality (using '--without-all') and we are
+# also disabling all graphic user interface features (using '--without-x').
+$(ibidir)/emacs-$(emacs-version):
+ tarball=emacs-$(emacs-version).tar.xz
+ $(call import-source, $(emacs-url), $(emacs-checksum))
+ $(call gbuild, emacs-$(emacs-version), static, \
+ --without-all --without-x \
+ --without-gnutls --with-ns=no, \
+ -j$(numthreads) V=1)
+ echo "GNU Emacs $(emacs-version)" > $@
+
$(ibidir)/expat-$(expat-version):
tarball=expat-$(expat-version).tar.lz
$(call import-source, $(expat-url), $(expat-checksum))
@@ -1374,8 +1393,30 @@ $(ibidir)/xlsxio-$(xlsxio-version): \
rm $(ibdir)/example_xlsxio_*
echo "XLSX I/O $(xlsxio-version)" > $@
-
-
+# VIM is a text editor which doesn't directly affect processing but can be
+# useful in projects during its development, for more see the comment above
+# GNU Emacs.
+$(ibidir)/vim-$(vim-version):
+ tarball=vim-$(vim-version).tar.bz2
+ $(call import-source, $(vim-url), $(vim-checksum))
+ cd $(ddir)
+ tar xf $(tdir)/$$tarball
+ n=$$(echo $(vim-version) | sed -e's|\.||')
+ cd $(ddir)/vim$$n
+ ./configure --prefix=$(idir) \
+ --disable-canberra \
+ --enable-multibyte \
+ --disable-netbeans \
+ --disable-fontset \
+ --disable-gpm \
+ --disable-acl \
+ --disable-gui \
+ --with-x=no
+ make -j$(numthreads)
+ make install
+ cd ..
+ rm -rf vim$$n
+ echo "VIM $(vim-version)" > $@
@@ -1411,7 +1452,7 @@ $(itidir)/texlive-ready-tlmgr: reproduce/software/config/texlive.conf
tar xf $(tdir)/install-tl-unx.tar.gz
cd install-tl-*
sed -e's|@installdir[@]|$(idir)|g' \
- $$topdir/reproduce/software/config/texlive.conf \
+ "$$topdir"/reproduce/software/config/texlive.conf \
> texlive.conf
# TeX Live's installation may fail due to any reason. But TeX Live