# System requirements

The `rawrr` executable will run out of the box. 

I you want to build on your own follow the text below.

## Compile and Link yourself

In case you prefer to compile `rawrr.exe` from C# source code, please install
the .NET 8.0

### Linux (debian:10/ubuntu:20.04) (debian:12/ubuntu:24)


```{sh}
## DEPRECIATED: sudo apt-get install mono-mcs mono-xbuild
sudo apt-get install dotnet-sdk-8.0
```

### macOS (Catalina/BigSur/.../Sequoia)

https://dotnet.microsoft.com/en-us/download

### Microsoft Windows

https://dotnet.microsoft.com/en-us/download

## Install the .NET assemblies 

assemblies aka Common Intermediate Language bytecode

In general, ThermoFisher.CommonCore dlls can be obtained through:

https://github.com/thermofisherlsms/RawFileReader

or 

by contacting Jim Shofstahl using

jim.Shofstahl@thermofisher.com


## build

* source nuget pkgs

* add libraries

* (cross)-dcompile and link

```
dotnet publish rawrr-dotnet.csproj --os osx -a x64 --output /Users/cp/Library/Caches/org.R-project.R/R/rawrr/rawrrassembly/osx-x64
dotnet publish rawrr-dotnet.csproj --os win -a x64 --output /Users/cp/Library/Caches/org.R-project.R/R/rawrr/rawrrassembly/win-x64
dotnet publish rawrr-dotnet.csproj --os linux -a x64 --output /Users/cp/Library/Caches/org.R-project.R/R/rawrr/rawrrassembly/linux-x64


## generates a ~110MB BLOB
dotnet publish -c Release -r linux-x64 -p PublishReadyToRun=true
dotnet publish -c Release -r win-x64 -p PublishReadyToRun=true
dotnet publish -c Release -r osx-x64 -p PublishReadyToRun=true
```


## Docker

The `Dockerfile` performing `R CMD build` and `R CMD check` requires

```
from bioconductor/bioconductor_docker:devel
run apt-get update && apt-get install dotnet-sdk-8.0 -y
run R -q -e "BiocManager::install(c('BiocStyle', 'ExperimentHub', 'knitr', 'protViz', 'rmarkdown', 'tartare', 'testthat'))"
```


## Required packages to run `R CMD INSTALL`

```
BiocManager::install('ExperimentHub')
BiocManager::install('tartare')
```
