aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make/python.mk
AgeCommit message (Collapse)AuthorLines
2019-07-04libffi always installed in the lib directoryMohammad Akhlaghi-1/+11
On some Fedora systems, libffi installs under `lib64', not `lib'. As a result, Python's Setuptools can't find it and will not built (complaining about not finding the `_ctypes' module). With this commit, we fix this problem by explicitly putting a copy of libffi's installed libraries within the `lib' directory. This issue was found while testing the pipeline with Elham Saremi and Hamed Altafi.
2019-05-24PyYAML decompressed tarball directory name fixedRaul Infante-Sainz-1/+1
Until this commit, the name of the decompressed tarball directory of PyYAML Python package was wrong. It has to be `PyYAML-version' instead of `pyyaml-version'. When I run the installation on Mac OS system it went up to the end of the installation with no error. However, when I tried to install it on a GNU/Linux system, it complained about no finding the `pyyaml-version' directory, which is the expected because the name was wrong! With this commit, I have fixed this issue by writting correctly the name of the decompressed tarball directory.
2019-05-24Added PyYAML Python package into the projectRaul Infante-Sainz-0/+12
With this commit, PyYAML Python package has been added into the project. It is widely used in the Python community and the goal is to have human readable configuration files. As in the web page (https://pypi.org/project/PyYAML/) says: YAML is a data serialization format designed for human readability and interaction with scripting languages. PyYAML is a YAML parser and emitter for Python.
2019-05-22TeXLive and Ghostscript also added as dependencies of MatplotlibMohammad Akhlaghi-0/+2
Matplotlib can optionally use LaTeX and Ghostscript as dependencies to render text with LaTeX. Since we already have their build rules, with this commit, they have been added as its prerequisites.
2019-05-21ImageMagick put as prerequisite of MatplotlibRaul Infante-Sainz-0/+1
With this commit, ImageMagick program has been set as prerequisite of Matplotlib Python package. Since some submodules of Matplotlib rely on ImageMagick programs (for example, those to make image animations), and now we have ImageMagick into the project, it is good to install ImageMagick when Matplotlib is requested to be installed.
2019-04-30Imported some recent/parallel work, conflicts fixedMohammad Akhlaghi-3/+6
Especially because of the new convention regarding backslashes, there were many conflicts that are now fixed. But none were substantial.
2019-04-30End-of-line Backslashs no longer right under each otherMohammad Akhlaghi-133/+133
When we need to quote the new-line character we end the line with a backslash (`\'). Until now, our convention has been to put all such backslashes under each other to help in visual inspection. But this causes a lot of confusion in version control: if only one line's length is larger, the whole block will be marked as changed and thus makes it hard to visually see the actual change. It also makes debuging the code (adding some temporary lines) hard. With this commit, I went through all the files and tried to fix all such cases so only a single white space character is between the last command character and the backslash. Where there was an empty line (ending with a backslash, to help in visually separating the code into blocks), I put the backslash right under the previous line's. This completes task #15259.
2019-04-29Added numpy and six as prerequisites of h5pyRaul Infante-Sainz-2/+4
Until now, we were missing `numpy' and `six' as prerequisites of `h5py'. Because we did the configure step with all cores, `numpy' and `six' allways were built before `h5py' with any crash. However, in a single thread configure run we noticed that we were missing these two dependencies. With this commit, we fix this issue by setting `numpy' and `six' as prerequisites of `h5py'.
2019-04-29Modified sip_tpv Python package prerequisitesRaul Infante-Sainz-1/+2
Until this commit, the prerequisites of `sip_tpv' were `mpmath' and `sympy'. However, the real prerequisites of `sip_tpv' are `astropy', `numpy' and `sympy'. With this commit, we fix this issue, and now `mpmath' is only a prerequisite of `sympy'.
2019-04-24Added paper citation of sip_tpv Python packageRaul Infante-Sainz-4/+6
Until now, we were not citing the paper of `sip_tpv' package. With this commit, we have been fix this issue.
2019-04-23Python package sip_tpv added into the templateRaul Infante-Sainz-0/+8
With this commit, we add `sip_tpv' Python package into the template. This is a small package to convert SIP distorsion coefficients into PV distorsion coefficients, and the other way around. This package is useful in a astronomical context, specially when `swarp' is going to be used in order to resample images. The reason is that `swarp' only can understand PV distorsion coefficients.
2019-04-23Python package SymPy added into the templateRaul Infante-Sainz-5/+5
With this commit, we add `sympy' Python package into the template. This is a package to do symbolic mathematics. The motivation is that it is a prerequisite of `sip_tpv' Python package, which is useful to convert SIP distorsion coefficients into PV coefficients (in the context of astronomical images). However, the availability of `sympy' in the template will be useful for anyone interested in this package.
2019-04-23Python package mpmath added into the templateRaul Infante-Sainz-0/+16
With this commit, we add `mpmath' Python package into the template. This package is a prerequisite of `sympy', a package to do symbolic mathematics. The motivation of adding this package is because it is a dependency of `sympy', which is more widely used into the Python science community.
2019-04-22High-level software now specified in TARGETS.mkMohammad Akhlaghi-8/+7
Until now, to specify which high-level software you want the project to contain, it was necessary to go into the `high-level.mk' Makefile that is complicated and can create bugs. With this commit, a new `reproduce/software/config/installation/TARGETS.mk' file has been created that is easily/cleanly in charge of documenting the final high-level software that must be built for the project. Also, until now, FFTW was set as a dependency of Numpy while we couldn't actually get Numpy to use it! It was just there for future reference and to justify its build rule. But now that many software won't be built and there is no problem with having rules even though a project might not use them, it has been removed.
2019-04-16Symbolic link to Python created, using `python' instead of `pythonX'Raul Infante-Sainz-9/+10
Until this commit, we were using `python3' when calling Python (because we were using Python version 3.6.8). This will force us to change the name in the future. For example, when `python4' were available and into the pipeline. With this commit, at the end of the Python installation it creates a symbolic link to the Python bin executable with the new name `python'. As a consecuence, whatever version of Python was installed, into the project we will use allways `python' to invoke it.
2019-04-15New architecture to separate software-building and analysis stepsMohammad Akhlaghi-0/+506
Until now, the software building and analysis steps of the pipeline were intertwined. However, these steps (of how to build a software, and how to use it) are logically completely independent. Therefore with this commit, the pipeline now has a new architecture (particularly in the `reproduce' directory) to emphasize this distinction: The `reproduce' directory now has the two `software' and `analysis' subdirectories and the respective parts of the previous architecture have been broken up between these two based on their function. There is also no more `src' directory. The `config' directory for software and analysis is now mixed with the language-specific directories. Also, some of the software versions were also updated after some checks with their webpages. This new architecture will allow much more focused work on each part of the pipeline (to install the software and to run them for an analysis).