diff options
-rw-r--r-- | README-hacking.md | 21 | ||||
-rw-r--r-- | reproduce/analysis/make/initialize.mk | 28 | ||||
-rw-r--r-- | reproduce/software/config/versions.conf | 5 | ||||
-rw-r--r-- | reproduce/software/make/basic.mk | 2 | ||||
-rw-r--r-- | reproduce/software/make/xorg.mk | 8 | ||||
-rw-r--r-- | tex/src/preamble-pgfplots.tex | 16 |
6 files changed, 43 insertions, 37 deletions
diff --git a/README-hacking.md b/README-hacking.md index b721d6d..030082b 100644 --- a/README-hacking.md +++ b/README-hacking.md @@ -1066,14 +1066,13 @@ future. the plots should be uploaded directly to Zenodo so they can be viewed/downloaded with a simple link in the caption. For example see the last sentence of the caption of Figure 1 in - [arXiv:2006.03018v1](https://arxiv.org/pdf/2006.03018v1.pdf), it points - to [the - data](https://zenodo.org/record/3872248/files/tools-per-year.txt) that - was used to create that figure's top plot. As you see, this will allow - your paper's readers (again, most probably your future-self!) to - directly access the numbers of each visualization (plot/figure) with a - simple click in a trusted server. This also shows the major advantage of - having your data as simple plain-text where possible, as described + [arXiv:2006.03018](https://arxiv.org/pdf/2006.03018.pdf), it points to + [the data](https://zenodo.org/record/3872248/files/tools-per-year.txt) + that was used to create that figure's left-side plot. As you see, this + will allow your paper's readers (again, most probably your future-self!) + to directly access the numbers of each visualization (plot/figure) with + a simple click in a trusted server. This also shows the major advantage + of having your data as simple plain-text where possible, as described above. To help you keep all your to-be-visualized datasets in a single place, Maneage has the two `tex-publish-dir` and `data-publish-dir` directories that are defined in `reproduce/analysis/make/initialize.mk`, @@ -1116,7 +1115,7 @@ future. - **Confirm if your project builds from scratch**: Before publishing anything, you should see if your project can indeed reproduce itself! You may be mistakenly using temporarily created files that aren't built - when teh project is built from scratch (this happens a lot and is very + when the project is built from scratch (this happens a lot and is very dangerous for the integrity of your project!). So, go to a temporary directory, clone your project from its repository and try configuring and building it from scratch in a new-temporary build-directory. It is @@ -1177,8 +1176,8 @@ future. `.build/software/tarballs`. It is necessary to upload these with your project to avoid relying on third party servers. In the future any one of those servers may go down and if so, your project won't - be buildable. You can generate this tarball easily with `make - dist-software`. + be buildable. You can generate this tarball easily with `./project + make dist-software`. * All the figure (and other) output datasets of the project. Don't rename these files, let them have the same descriptive name diff --git a/reproduce/analysis/make/initialize.mk b/reproduce/analysis/make/initialize.mk index 7e9e938..4e8ee68 100644 --- a/reproduce/analysis/make/initialize.mk +++ b/reproduce/analysis/make/initialize.mk @@ -165,7 +165,9 @@ export OMPI_MCA_plm_rsh_agent=/bin/false # Recipe startup script. export PROJECT_STATUS := make -export BASH_ENV := $(shell pwd)/reproduce/software/shell/bashrc.sh +export BASH_ENV := $(curdir)/reproduce/software/shell/bashrc.sh + + @@ -209,9 +211,18 @@ $(lockdir): | $(bsdir); mkdir $@ -# Version and distribution tarball definitions -project-commit-hash := $(shell if [ -d .git ]; then \ - echo $$(git describe --dirty --always --long); else echo NOGIT; fi) +# Version and distribution tarball definitions. +# +# We need to export 'LD_LIBRARY_PATH' before calling 'git' because we the +# default export of 'LD_LIBRARY_PATH' doesn't take effect at this point +# (only within the recipes). Its also safe to directly use the 'git' +# executable using its absolute location (and not rely on 'PATH' at this +# stage). +project-commit-hash := $(shell \ + if [ -d .git ]; then \ + export LD_LIBRARY_PATH="$(installdir)/lib"; \ + echo $$($(installdir)/bin/git describe --dirty --always --long); \ + else echo NOGIT; fi) project-package-name := maneaged-$(project-commit-hash) project-package-contents = $(texdir)/$(project-package-name) @@ -385,7 +396,6 @@ $(project-package-contents): paper.pdf | $(texdir) # Package into '.tar.gz' or '.tar.lz'. dist dist-lzip: $(project-package-contents) - curdir=$$(pwd) cd $(texdir) tar -cf $(project-package-name).tar $(project-package-name) if [ $@ = dist ]; then @@ -396,21 +406,19 @@ dist dist-lzip: $(project-package-contents) lzip -f --best $(project-package-name).tar fi rm -rf $(project-package-name) - cd $$curdir + cd $(curdir) mv $(texdir)/$(project-package-name).tar.$$suffix ./ # Package into '.zip'. dist-zip: $(project-package-contents) - curdir=$$(pwd) cd $(texdir) zip -q -r $(project-package-name).zip $(project-package-name) rm -rf $(project-package-name) - cd $$curdir + cd $(curdir) mv $(texdir)/$(project-package-name).zip ./ # Package the software tarballs. dist-software: - curdir=$$(pwd) dirname=software-$(project-commit-hash) cd $(bsdir) if [ -d $$dirname ]; then rm -rf $$dirname; fi @@ -419,7 +427,7 @@ dist-software: tar -cf $$dirname.tar $$dirname gzip -f --best $$dirname.tar rm -rf $$dirname - cd $$curdir + cd $(curdir) mv $(bsdir)/$$dirname.tar.gz ./ diff --git a/reproduce/software/config/versions.conf b/reproduce/software/config/versions.conf index 2a27ddd..34d074c 100644 --- a/reproduce/software/config/versions.conf +++ b/reproduce/software/config/versions.conf @@ -152,6 +152,7 @@ tides-version = 2.0 util-linux-version = 2.37.2 valgrind-version = 3.18.1 vim-version = 8.2 +xlsxio-version = 0.2.21 yaml-version = 0.2.5 # Xorg packages @@ -286,10 +287,6 @@ wheel-version = 0.37.0 # it. #healpix-version = 3.50 -# XLSX I/O (until version 0.2.29) crashes during compilation with GCC -# 11.1.0, so we are temporarily commenting it. -#xlsxio-version = 0.2.21 - # Setuptools-rust crash (https://savannah.nongnu.org/bugs/index.php?61731), # so it and its dependencies are being ignored: 'cryptography', and thus # 'secretstorage' and thus 'keyring' and thus 'astroquery'. diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk index 5967a1d..adb157b 100644 --- a/reproduce/software/make/basic.mk +++ b/reproduce/software/make/basic.mk @@ -1200,7 +1200,7 @@ $(ibidir)/binutils-$(binutils-version): \ # being, if the project is being run on a macOS, we'll just set a link. $(ibidir)/gcc-$(gcc-version): $(ibidir)/binutils-$(binutils-version) - # Function to let the users know what to do if build fails. +# Function to let the users know what to do if build fails. error_message() { echo; echo echo "_________________________________________________" diff --git a/reproduce/software/make/xorg.mk b/reproduce/software/make/xorg.mk index 6e62595..dd707e5 100644 --- a/reproduce/software/make/xorg.mk +++ b/reproduce/software/make/xorg.mk @@ -120,18 +120,18 @@ $(ibidir)/fontconfig-$(fontconfig-version): \ $(ibidir)/libxml2-$(libxml2-version) \ $(ibidir)/freetype-$(freetype-version) \ $(ibidir)/util-linux-$(util-linux-version) - # Import the source. +# Import the source. tarball=fontconfig-$(fontconfig-version).tar.lz $(call import-source, $(fontconfig-url), $(fontconfig-checksum)) - # Add the extra environment variables for using 'libuuid' of - # 'util-linux'. +# Add the extra environment variables for using 'libuuid' of +# 'util-linux'. ulidir=$(idir)/util-linux export LDFLAGS="-L$$ulidir/lib $(LDFLAGS)" export CPPFLAGS="-I$$ulidir/include $(CPPFLAGS)" export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH):$$ulidir/lib/pkgconfig - # Build it. +# Build it. $(call gbuild, fontconfig-$(fontconfig-version),, \ $(XORG_CONFIG) --sysconfdir=$(idir)/etc \ --disable-docs, V=1 -j$(numthreads)) diff --git a/tex/src/preamble-pgfplots.tex b/tex/src/preamble-pgfplots.tex index 75119d6..c200845 100644 --- a/tex/src/preamble-pgfplots.tex +++ b/tex/src/preamble-pgfplots.tex @@ -109,13 +109,15 @@ %% Uncomment the following lines for EPS and PS images. Note that you still %% have to use the 'pdflatex' executable and also add a '[dvips]' option to %% graphicx. - -%% \tikzset{external/system call={rm -f "\image".eps "\image".ps -%% "\image".dvi; latex \tikzexternalcheckshellescape -halt-on-error -%% -interaction=batchmode -jobname "\image" "\texsource"; -%% dvips -o "\image".ps "\image".dvi; -%% ps2eps "\image.ps"}} - +%%\tikzset{ +%% external/system call={ +%% rm -f "\image".eps "\image".ps "\image".dvi; +%% latex \tikzexternalcheckshellescape -halt-on-error +%% -interaction=batchmode -jobname "\image" "\texsource"; +%% dvips -o "\image".ps "\image".dvi; +%% ps2eps "\image.ps" +%% } +%%} |