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
|
Reproducible source for paper XXXXXXX
=====================================
Copyright (C) 2018-2019 Mohammad Akhlaghi <mohammad@akhlaghi.org>
See the end of the file for license conditions.
This is the reproducible project source for the paper titled "**XXXXXX**",
by XXXXXXXX et al. (**IN PREPARATION**). To learn more about the purpose,
principles and technicalities of this reproducible paper, please see
`README-hacking.md`.
To reproduce our results, the only dependency is a minimal Unix-based
building environment including a C compiler (already available on your
system if you have ever built and installed a software from source) and a
downloader (Wget or cURL). Note that **Git is not mandatory**: if you don't
have Git to run the first command below, go to the URL given in the command
on your browser, and download them manually (there is a button to download
a compressed tarball of the project).
```shell
$ git clone XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$ ./project configure
$ ./project make -j8
```
For a general introduction to reproducible science as implemented in this
project, please see the [principles of reproducible
science](http://akhlaghi.org/reproducible-science.html), and a
[reproducible paper
template](https://gitlab.com/makhlaghi/reproducible-paper) that is based on
it.
Building the project
--------------------
This project was designed to have as few dependencies as possible.
1. Necessary dependencies:
1.1: Minimal software building tools like C compiler, Make, and other
tools found on any Unix-like operating system (GNU/Linux, BSD, Mac
OS, and others). All necessary dependencies will be built from
source (for use only within this project) by the `./project
configure' script (next step).
1.2: (OPTIONAL) Tarball of dependencies. If they are already present (in
a directory given at configuration time), they will be
used. Otherwise, a downloader (`wget` or `curl`) will be necessary
to download any necessary tarball. The necessary tarballs are also
collected in the link below for easy download. [[TO PROJECT
DESIGNERS: it is STRONGLY RECOMMENDED to keep a backup of all the
necessary software tarballs you need for the project (possibly in
another Git repository). For example see [this template's
dependencies](https://gitlab.com/makhlaghi/reproducible-paper-dependencies).
Please add a similar address for your project here.]]
https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2. Configure the environment (top-level directories in particular) and
build all the necessary software for use in the next step. It is
recommended to set directories outside the current directory. Please
read the description of each necessary input clearly and set the best
value. Note that the configure script also downloads, builds and locally
installs (only for this project, no root privileges necessary) many
programs (project dependencies). So it may take a while to complete.
```shell
$ ./project configure
```
3. Run the following command (local build of the Make software) to
reproduce all the analysis and build the final `paper.pdf` on *8*
threads. If your CPU has a different number of threads, change the
number (you can see the number of threads available to your operating
system by running `./.local/bin/nproc`)
```shell
$ ./project make -j8
```
Copyright information
---------------------
This file and `.file-metadata' (a binary file, used by Metastore to store
file dates when doing Git checkouts) are part of the reproducible paper
template (https://gitlab.com/makhlaghi/reproducible-paper) and share the
same copyright notice (at the start of this file) and license notice
(below).
This template is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
This template is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with Template. If not, see <https://www.gnu.org/licenses/>.
|