[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[task #15772] R (r-cran) packages in Maneage

From: Mohammad Akhlaghi
Subject: [task #15772] R (r-cran) packages in Maneage
Date: Sat, 1 Jan 2022 23:34:08 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0

Update of task #15772 (project reproduce):

                  Status:             In Progress => Done                   
        Percent Complete:                     80% => 100%                   


Follow-up Comment #9:

Thanks a lot Boud! 

After checking out to the branch, I was able to build it successfully and all
the packages were properly installed! 

Since I had the tarballs, I generalized the simple command in task #15699 (as
a script that is now in comment 15
<>), and was able to unify
their formatting within a few seconds :-).

I then pushed the tarballs into our project on archiving software tarballs (as
Commit 81a8cdfe29
<> (I
mistakenly wrote 20, while it should have been 30!) and made the following two
commits after your commit in that branch (since they will ultimately be
squashed into all other version-update commits, I am putting their text in the
P.S. Please have a look at them ;-).

With these changes, I was able to build and install the updated ICU, R and all
the 30 R packages within Maneage. I have therefore already merged it with the
'version-update' branch of task #16103 and am therefore closing this task

If there is any remaining issues on the installation, we can discuss it in
task #16103. 

It was a great effort Boud, thanks a lot!

On the 'one-letter evil' topic, I personally feel having too long variable
names dramatically decreases the readability of the code). So I would have
preferred a simple 'r-' prefix (after all, these variables will almost
exclusively be in ''; where they are repeated a lot!). But you are
the maintainer of the R packages, so I respect your choice and won't complain


commit 2ccbc6f150b7f4ae81801ae3aae65bcc324cf644
Author: Mohammad Akhlaghi <>
Date:   Sun Jan 2 01:56:20 2022 +0100

    Minor formatting edits in
    In order to fit the formatting and style of the rest of Maneage's source,
    the formattings below are implemented in this commit:
     - When using pipes or '&&' and the line needs breaking (with a '\'), the
       '\' is placed before the '|' or '&&', so the next line starts with
       tokens. This greatly helps in readability (because they can be missed
       the end of a long line).
     - Emacs's 'M-q' (ALT + q key) was pressed on the multi-line comment
       paragraphs to justify the lines with a standard width to all comments.
     - The 'version-info/r-cran' directory is now made in
       'reproduce/software/shell/', like all other similar files
       and removed from the recipe for 'R'.
     - Generally, where possible we should break lines that are longer than
       characters, so where necessary, the prerequisites been moved to a new
     - For the text that goes into the LaTeX macro to be printed in the final
       PDF (not as an internal variable), I have removed the common 'r-cran',
       because it will not generally be recognized and may cause
       confusion. Ideally, it should be the official name of the package, on
       its webpage in basic English, for example also respecting the
       letters in its name.
     - When the number of independent lines that are immediately following
       other (for example the list of prerequisites when there are many of
       them), it is much more human-friendly for them to be sorted by
       length. The order of the prerequisites doesn't affect our recipes, so
       its best to do this and help the human eye when inspecting the code

commit 64deae4ce04b4c1a1f9567348bcc9b573e8f5649 
Author: Mohammad Akhlaghi <>
Date:   Sun Jan 2 04:53:06 2022 +0100

    Included R package tarballs are now in Maneage format
    The included R packages have been formatted in the Maneage '.tar.lz'
    format, and those tarballs are now being used. In the process, the
    following generalizations also have been done to the 'r_cran_build'
     - The indentation has been fixed.
     - Generally, all the variables defined in this function open inside the
       recipe of rules here, so there is no chance of conflicting with other
       variables. As a result (to have a significant help in readability!),
       'r_cran_' prefix has been removed from the variable names.
     - By definition, none of these variables will also have a space or white
       character! So again, to help in readability, the '$${}' was just
       to '$$'. Where necessary (one instance, since '_' is used)
       have been put around them.
     - As explained in the comments, since R's 'install.packages' only
       '.tar.gz' files, we now unpack the tarball before calling R, and give
       the directory (this works for tarballs from R's server and Maneage's
     - The extra 'versioncheck' has been removed.
    To follow a similar convention to other software's build rules, the
    'tarball' variable is now defined at the start of the recipe of each R
    package to let the users customize it as necessary and per-package
    (especially when not using Maneage's archived tarball). A comment has
    added, explaining what to do.
    Furthermore, the version of ICU has also been updated and its tarball is
    now also in Maneage.


Reply to this item at:


  Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]