aboutsummaryrefslogtreecommitdiffstats
path: root/docs/content/doc/usage
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2023-05-22 04:57:49 +0200
committerGitHub <noreply@github.com>2023-05-22 10:57:49 +0800
commitcdb088cec288a20e14240f86a689dd14f4cd603b (patch)
tree0a491ea8dcffa22b5b1033d04f5402425fbeb73c /docs/content/doc/usage
parentec2a01d1e20c0d33c1ea7e362a7dfd5b653dd15f (diff)
downloadgitea-cdb088cec288a20e14240f86a689dd14f4cd603b.tar.gz
gitea-cdb088cec288a20e14240f86a689dd14f4cd603b.zip
Add CRAN package registry (#22331)
This PR adds a [CRAN](https://cran.r-project.org/) package registry. ![grafik](https://user-images.githubusercontent.com/1666336/210450039-d6fa6f77-20cd-4741-89a8-1624def267f7.png)
Diffstat (limited to 'docs/content/doc/usage')
-rw-r--r--docs/content/doc/usage/packages/cran.en-us.md93
-rw-r--r--docs/content/doc/usage/packages/overview.en-us.md1
2 files changed, 94 insertions, 0 deletions
diff --git a/docs/content/doc/usage/packages/cran.en-us.md b/docs/content/doc/usage/packages/cran.en-us.md
new file mode 100644
index 0000000000..cd323e5c5d
--- /dev/null
+++ b/docs/content/doc/usage/packages/cran.en-us.md
@@ -0,0 +1,93 @@
+---
+date: "2023-01-01T00:00:00+00:00"
+title: "CRAN Packages Repository"
+slug: "cran"
+draft: false
+toc: false
+menu:
+ sidebar:
+ parent: "packages"
+ name: "CRAN"
+ weight: 35
+ identifier: "cran"
+---
+
+# CRAN Packages Repository
+
+Publish [R](https://www.r-project.org/) packages to a [CRAN](https://cran.r-project.org/)-like registry for your user or organization.
+
+**Table of Contents**
+
+{{< toc >}}
+
+## Requirements
+
+To work with the CRAN package registry, you need to install [R](https://cran.r-project.org/).
+
+## Configuring the package registry
+
+To register the package registry you need to add it to `Rprofile.site`, either on the system-level, user-level (`~/.Rprofile`) or project-level:
+
+```
+options("repos" = c(getOption("repos"), c(gitea="https://gitea.example.com/api/packages/{owner}/cran")))
+```
+
+| Parameter | Description |
+| --------- | ----------- |
+| `owner` | The owner of the package. |
+
+If you need to provide credentials, you may embed them as part of the url (`https://user:password@gitea.example.com/...`).
+
+## Publish a package
+
+To publish a R package, perform a HTTP `PUT` operation with the package content in the request body.
+
+Source packages:
+
+```
+PUT https://gitea.example.com/api/packages/{owner}/cran/src
+```
+
+| Parameter | Description |
+| --------- | ----------- |
+| `owner` | The owner of the package. |
+
+Binary packages:
+
+```
+PUT https://gitea.example.com/api/packages/{owner}/cran/bin?platform={platform}&rversion={rversion}
+```
+
+| Parameter | Description |
+| ---------- | ----------- |
+| `owner` | The owner of the package. |
+| `platform` | The name of the platform. |
+| `rversion` | The R version of the binary. |
+
+For example:
+
+```shell
+curl --user your_username:your_password_or_token \
+ --upload-file path/to/package.zip \
+ https://gitea.example.com/api/packages/testuser/cran/bin?platform=windows&rversion=4.2
+```
+
+You cannot publish a package if a package of the same name and version already exists. You must delete the existing package first.
+
+## Install a package
+
+To install a R package from the package registry, execute the following command:
+
+```shell
+install.packages("{package_name}")
+```
+
+| Parameter | Description |
+| -------------- | ----------- |
+| `package_name` | The package name. |
+
+For example:
+
+```shell
+install.packages("testpackage")
+```
diff --git a/docs/content/doc/usage/packages/overview.en-us.md b/docs/content/doc/usage/packages/overview.en-us.md
index 6e0ab0da31..944505a04a 100644
--- a/docs/content/doc/usage/packages/overview.en-us.md
+++ b/docs/content/doc/usage/packages/overview.en-us.md
@@ -34,6 +34,7 @@ The following package managers are currently supported:
| [Conan]({{< relref "doc/usage/packages/conan.en-us.md" >}}) | C++ | `conan` |
| [Conda]({{< relref "doc/usage/packages/conda.en-us.md" >}}) | - | `conda` |
| [Container]({{< relref "doc/usage/packages/container.en-us.md" >}}) | - | any OCI compliant client |
+| [CRAN]({{< relref "doc/usage/packages/cran.en-us.md" >}}) | R | - |
| [Debian]({{< relref "doc/usage/packages/debian.en-us.md" >}}) | - | `apt` |
| [Generic]({{< relref "doc/usage/packages/generic.en-us.md" >}}) | - | any HTTP client |
| [Go]({{< relref "doc/usage/packages/go.en-us.md" >}}) | Go | `go` |