code.gitea.io/gitea@v1.22.3/docs/content/usage/packages/cran.en-us.md (about)

     1  ---
     2  date: "2023-01-01T00:00:00+00:00"
     3  title: "CRAN Package Registry"
     4  slug: "cran"
     5  draft: false
     6  toc: false
     7  menu:
     8    sidebar:
     9      parent: "packages"
    10      name: "CRAN"
    11      sidebar_position: 35
    12      identifier: "cran"
    13  ---
    14  
    15  # CRAN Package Registry
    16  
    17  Publish [R](https://www.r-project.org/) packages to a [CRAN](https://cran.r-project.org/)-like registry for your user or organization.
    18  
    19  ## Requirements
    20  
    21  To work with the CRAN package registry, you need to install [R](https://cran.r-project.org/).
    22  
    23  ## Configuring the package registry
    24  
    25  To register the package registry you need to add it to `Rprofile.site`, either on the system-level, user-level (`~/.Rprofile`) or project-level:
    26  
    27  ```
    28  options("repos" = c(getOption("repos"), c(gitea="https://gitea.example.com/api/packages/{owner}/cran")))
    29  ```
    30  
    31  | Parameter | Description |
    32  | --------- | ----------- |
    33  | `owner`   | The owner of the package. |
    34  
    35  If you need to provide credentials, you may embed them as part of the url (`https://user:password@gitea.example.com/...`).
    36  
    37  ## Publish a package
    38  
    39  To publish a R package, perform a HTTP `PUT` operation with the package content in the request body.
    40  
    41  Source packages:
    42  
    43  ```
    44  PUT https://gitea.example.com/api/packages/{owner}/cran/src
    45  ```
    46  
    47  | Parameter | Description |
    48  | --------- | ----------- |
    49  | `owner`   | The owner of the package. |
    50  
    51  Binary packages:
    52  
    53  ```
    54  PUT https://gitea.example.com/api/packages/{owner}/cran/bin?platform={platform}&rversion={rversion}
    55  ```
    56  
    57  | Parameter  | Description |
    58  | ---------- | ----------- |
    59  | `owner`    | The owner of the package. |
    60  | `platform` | The name of the platform. |
    61  | `rversion` | The R version of the binary. |
    62  
    63  For example:
    64  
    65  ```shell
    66  curl --user your_username:your_password_or_token \
    67       --upload-file path/to/package.zip \
    68       https://gitea.example.com/api/packages/testuser/cran/bin?platform=windows&rversion=4.2
    69  ```
    70  
    71  If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password.
    72  
    73  You cannot publish a package if a package of the same name and version already exists. You must delete the existing package first.
    74  
    75  The server responds with the following HTTP Status codes.
    76  
    77  | HTTP Status Code  | Meaning |
    78  | ----------------- | ------- |
    79  | `201 Created`     | The package has been published. |
    80  | `400 Bad Request` | The package is invalid. |
    81  | `409 Conflict`    | A package file with the same combination of parameters exists already. |
    82  
    83  ## Install a package
    84  
    85  To install a R package from the package registry, execute the following command:
    86  
    87  ```shell
    88  install.packages("{package_name}")
    89  ```
    90  
    91  | Parameter      | Description |
    92  | -------------- | ----------- |
    93  | `package_name` | The package name. |
    94  
    95  For example:
    96  
    97  ```shell
    98  install.packages("testpackage")
    99  ```