Giter VIP home page Giter VIP logo

Comments (12)

jdblischak avatar jdblischak commented on August 13, 2024

I did some more investigating.

The else clause in build.sh is for noarch packages (--use-noarch-generic) source

I know there is interest in making noarch R packages (see conda-forge/r-base-feedstock#43), so we may want to leave this. Also, does the script need to decide if the package should be noarch and pass the appropriate flag? We could use the NeedsCompilation field from the DESCRIPTION file.

And the DISABLE_AUTOBREW is explained here.

from conda_r_skeleton_helper.

bgruening avatar bgruening commented on August 13, 2024

I'm a little bit confused. Why is the skeleton builder not using the host section at all. Or do you see it?
I thought we need to use the host-section nowadays and more or less all build-dependencies are now host-dependencies.

from conda_r_skeleton_helper.

jdblischak avatar jdblischak commented on August 13, 2024

I see the host section when using cb3:

$ conda build --version
conda-build 3.9.1
$ conda skeleton cran r-ggplot2
$ cat r-ggplot2/meta.yaml | grep -v '^#'
{% set version = '2.2.1' %}

{% set posix = 'm2-' if win else '' %}
{% set native = 'm2w64-' if win else '' %}

package:
  name: r-ggplot2
  version: {{ version|replace("-", "_") }}

source:
  fn: ggplot2_2.2.1.tar.gz
  url:
    - {{ cran_mirror }}/src/contrib/ggplot2_2.2.1.tar.gz
    - {{ cran_mirror }}/src/contrib/Archive/ggplot2/ggplot2_2.2.1.tar.gz
  sha256: 5fbc89fec3160ad14ba90bd545b151c7a2e7baad021c0ab4b950ecd6043a8314

build:
  merge_build_host: True  # [win]
  # If this is a new build for the same version, increment the build number.
  number: 0

  # This is required to make R link correctly on Linux.
  rpaths:
    - lib/R/lib/
    - lib/

requirements:
  build:

  host:
    - r-base
    - r-mass
    - r-digest
    - r-gtable >=0.1.1
    - r-lazyeval
    - r-plyr >=1.7.1
    - r-reshape2
    - r-scales >=0.4.1
    - r-tibble

  run:
    - r-base
    - r-mass
    - r-digest
    - r-gtable >=0.1.1
    - r-lazyeval
    - r-plyr >=1.7.1
    - r-reshape2
    - r-scales >=0.4.1
    - r-tibble

test:
  commands:
    # You can put additional test commands to be run here.
    - $R -e "library('ggplot2')"           # [not win]
    - "\"%R%\" -e \"library('ggplot2')\""  # [win]

  # You can also put a file called run_test.py, run_test.sh, or run_test.bat
  # in the recipe that will be run at test time.

  # requires:
    # Put any additional test requirements here.

about:
  home: http://ggplot2.tidyverse.org, https://github.com/tidyverse/ggplot2
  license: GPL-2 | file LICENSE
  summary: A system for 'declaratively' creating graphics, based on "The Grammar of Graphics".
    You provide the data, tell 'ggplot2' how to map variables to aesthetics, what graphical
    primitives to use, and it takes care of the details.
  license_family: GPL2

from conda_r_skeleton_helper.

bgruening avatar bgruening commented on August 13, 2024

Do we want to remove the build section, if not used?

from conda_r_skeleton_helper.

jdblischak avatar jdblischak commented on August 13, 2024

Do we want to remove the build section, if not used?

It's not really important to me, but I confirmed that the recipe will build if that section is missing. Our current helper scripts check line-by-line (and not by integer, but using the for line in file style), so it'd require some hacking (if I would write it at least) to check the build: line and the one after it to determine if it needs to be removed. How important is this to you?

from conda_r_skeleton_helper.

jdblischak avatar jdblischak commented on August 13, 2024

It seems that the conda-forge linter doesn't like merge_build_host, so I think we should remove that.

conda-forge/staged-recipes@4c76367
conda-forge/staged-recipes#5762 (comment)

from conda_r_skeleton_helper.

jdblischak avatar jdblischak commented on August 13, 2024

Lastly, you've merged recipes with unfiltered build.sh files, e.g.

https://github.com/conda-forge/r-sessioninfo-feedstock/blob/master/recipe/build.sh

Do you still want the helper script to delete the following two lines?

mv DESCRIPTION DESCRIPTION.old
grep -v '^Priority: ' DESCRIPTION.old > DESCRIPTION

from conda_r_skeleton_helper.

bgruening avatar bgruening commented on August 13, 2024

@jdblischak lets leave this in. Thanks a lot John!

from conda_r_skeleton_helper.

jdblischak avatar jdblischak commented on August 13, 2024

lets leave this in. Thanks a lot John!

@bgruening Sorry, I'm not sure what "this" refers to (I apologize for the multiple posts in a row). Specifically, what is your opinion on each of the following? Keep or remove?

  • meta.yaml: An empty build: when their are no build dependencies
  • meta.yaml: merge_build_host
  • build.sh: Removing 'Priority' from DESCRIPTION

from conda_r_skeleton_helper.

bgruening avatar bgruening commented on August 13, 2024

meta.yaml: An empty build: when their are no build dependencies

keep, it can have implications

meta.yaml: merge_build_host

remove

build.sh: Removing 'Priority' from DESCRIPTION

remove

from conda_r_skeleton_helper.

bgruening avatar bgruening commented on August 13, 2024

Thanks! :)

from conda_r_skeleton_helper.

bgruening avatar bgruening commented on August 13, 2024

relevant discussion and some good documentation here: https://github.com/conda-forge/conda-forge.github.io/pull/576/files#r184472132

from conda_r_skeleton_helper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.