Downloads:
31
Downloads of v 2025.6.0-dev:
12
Last Update:
05 Jun 2025
Package Maintainer(s):
Software Author(s):
- gingerBill
Tags:
language programming-language compiler programming-languages odin-programming-language odin odin-langOdin (Portable)
This is a prerelease version of Odin (Portable).
- 1
- 2
- 3
2025.6.0-dev | Updated: 05 Jun 2025
Downloads:
31
Downloads of v 2025.6.0-dev:
12
Maintainer(s):
Software Author(s):
- gingerBill
Odin (Portable) 2025.6.0-dev
This is a prerelease version of Odin (Portable).
Legal Disclaimer: Neither this package nor Chocolatey Software, Inc. are affiliated with or endorsed by gingerBill. The inclusion of gingerBill trademark(s), if any, upon this webpage is solely to identify gingerBill goods or services and not for commercial purposes.
- 1
- 2
- 3
All Checks are Passing
3 Passing Tests
Deployment Method: Individual Install, Upgrade, & Uninstall
To install Odin (Portable), run the following command from the command line or from PowerShell:
To upgrade Odin (Portable), run the following command from the command line or from PowerShell:
To uninstall Odin (Portable), run the following command from the command line or from PowerShell:
Deployment Method:
This applies to both open source and commercial editions of Chocolatey.
1. Enter Your Internal Repository Url
(this should look similar to https://community.chocolatey.org/api/v2/)
2. Setup Your Environment
1. Ensure you are set for organizational deployment
Please see the organizational deployment guide
2. Get the package into your environment
Option 1: Cached Package (Unreliable, Requires Internet - Same As Community)-
Open Source or Commercial:
- Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
- You can also just download the package and push it to a repository Download
-
Open Source
-
Download the package:
Download - Follow manual internalization instructions
-
-
Package Internalizer (C4B)
-
Run: (additional options)
choco download odin --internalize --pre --source=https://community.chocolatey.org/api/v2/
-
For package and dependencies run:
choco push --source="'INTERNAL REPO URL'"
- Automate package internalization
-
Run: (additional options)
3. Copy Your Script
choco upgrade odin -y --source="'INTERNAL REPO URL'" --prerelease [other options]
See options you can pass to upgrade.
See best practices for scripting.
Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.
If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:
choco upgrade odin -y --source="'INTERNAL REPO URL'" --prerelease
$exitCode = $LASTEXITCODE
Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
Exit 0
}
Exit $exitCode
- name: Install odin
win_chocolatey:
name: odin
version: '2025.6.0-dev'
source: INTERNAL REPO URL
state: present
allow_prerelease: yes
See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.
chocolatey_package 'odin' do
action :install
source 'INTERNAL REPO URL'
version '2025.6.0-dev'
options '--prerelease'
end
See docs at https://docs.chef.io/resource_chocolatey_package.html.
cChocoPackageInstaller odin
{
Name = "odin"
Version = "2025.6.0-dev"
Source = "INTERNAL REPO URL"
chocoParams = "--prerelease"
}
Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.
package { 'odin':
ensure => '2025.6.0-dev',
install_options => ['--prerelease'],
provider => 'chocolatey',
source => 'INTERNAL REPO URL',
}
Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.
4. If applicable - Chocolatey configuration/installation
See infrastructure management matrix for Chocolatey configuration elements and examples.
Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...
This package is exempt from moderation. While it is likely safe for you, there is more risk involved.
The Odin Programming Language
Odin is a general-purpose programming language with distinct typing, built for high performance, modern systems, and built-in data-oriented data types. The Odin Programming Language, the C alternative for the joy of programming.
Website: https://odin-lang.org/
package main
import "core:fmt"
main :: proc() {
program := "+ + * 😃 - /"
accumulator := 0
for token in program {
switch token {
case '+': accumulator += 1
case '-': accumulator -= 1
case '*': accumulator *= 2
case '/': accumulator /= 2
case '😃': accumulator *= accumulator
case: // Ignore everything else
}
}
fmt.printf("The program \"%s\" calculates the value %d\n",
program, accumulator)
}
Documentation
Getting Started
Instructions for downloading and installing the Odin compiler and libraries.
Nightly Builds
Get the latest nightly builds of Odin.
Learning Odin
Overview of Odin
An overview of the Odin programming language.
Frequently Asked Questions (FAQ)
Answers to common questions about Odin.
Packages
Documentation for all the official packages part of the core and vendor library collections.
Examples
Examples on how to write idiomatic Odin code. Shows how to accomplish specific tasks in Odin, as well as how to use packages from core
and vendor
.
Odin Documentation
Documentation for the Odin language itself.
Odin Discord
Get live support and talk with other Odin programmers on the Odin Discord.
Articles
The Odin Blog
The official blog of the Odin programming language, featuring announcements, news, and in-depth articles by the Odin team and guests.
Warnings
- The Odin compiler is still in development.
$ErrorActionPreference = 'Stop'
$packageName = $env:ChocolateyPackageName
$unzipLocation = Join-Path -Path (Get-ToolsLocation) -ChildPath $packageName
$sharedLibDir = Join-Path -Path $unzipLocation -ChildPath 'shared'
Get-ChildItem -Path $unzipLocation | Where-Object { $_.FullName -ne $sharedLibDir } | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
$ErrorActionPreference = 'Stop'
$packageName = $env:ChocolateyPackageName
$unzipLocation = Join-Path -Path (Get-ToolsLocation) -ChildPath $packageName
Remove-Item -Path $unzipLocation -Recurse -Force -ErrorAction SilentlyContinue
Uninstall-BinFile -Name 'odin'
Log in or click on link to see number of positives.
- odin.2025.6.0-dev.nupkg (25e62036415c) - ## / 66
- odin-windows-amd64-dev-2025-06.zip (c1fa00f424df) - ## / 66
In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).
Chocolatey Pro provides runtime protection from possible malware.
Add to Builder | Version | Downloads | Last Updated | Status |
---|---|---|---|---|
Odin (Portable) 2025.6.0-dev | 12 | Thursday, June 5, 2025 | Exempted | |
Odin (Portable) 2025.4.0-dev | 19 | Friday, May 9, 2025 | Exempted |
gingerBill
New Language Features
New Compiler Improvements
- Improvements to building with Android
- Add more asan support to the odin runtime and sanitizing for various allocators
- Fix to compile-time and variable NaN comparisons
- Fix to syscalls on NetBSD ARM64
- Fix Darwin version reporting on older macOS versions
- General compiler bug fixes
intrinsics.type_elem_type(simd_vector)
- Fix Global/Static Variable Alignment
- Fixes assigning null as a type if it's an alias but the base type is null
@(no_sanitize_address)
- Support Objective-C class implementation
- Add debug info for labels to Odin
intrinsics.type_integer_to_unsigned
andintrinsics.type_integer_to_signed
- Use
--sysroot
instead of-Wl,-syslibroot
on Darwin - Fix global and static
any
usage - Re-enable static map calls on AMD64 SysV due to ABI fixes
- Make
odin help
more precise -dynamic-literals
- Do not call disabled deferred procedures
- Add
/usr/local/lib
to FreeBSD linker path - Add error with a suggestion when trying to extract an element from a
#simd
array, and prefersimd.extract
- Only trim
.odin
from build filename - Keep shared libraries from calling main program's startup/cleanup procs on Linux
- Add
-build-only
,-keep-test-executable
, delete test executable after running - Enable all sanitizers on FreeBSD
- RAD Debugger support through custom
.raddbg
section- Default views for slices and matrices
- Error on unterminated multi-line comment
- Fix output of object names (https://github.com/odin-lang/Odin/pull/5241)
- Add suggestions for
quaternionN
orcomplexN
conversions
New Packages
base:sanitizer
vendor:windows/XAudio2
vendor:sdl3/ttf
core:terminal
core:encoding/ansi
->core:terminal/ansi
Package Improvements
- Vectorize
base:runtime.memory_*
core:net
- Rework errors to be cross-platform
- Replace
default_tcp_options
with a constant
core:container/small_array
: Improve documentation forcore:sync/chan
: Improve documentationcore:mem/tlsf
: refactor, addfree_all
support, add automatic new poolscore:fmt
: Fix printing forbit_set[Enum]
whenmin(Enum) != 0
vendor/glfw
- fix
SetMonitorCallback
andMonitorProc
type definition - use
b32
where appropriate
- fix
core:text/regex
: Add iteratorcore:math
: Fixmath.nextafter
skipping from 0 to 1vendor:wgpu
:- Update to 25.0.2.1
- Fix function name for wgpu.js
genericGetAdapterInfo
- Correct
mipmpaFilter
field name in wgpu.js
core:time/timezone
: preserve nanoseconds on callsvendor:box2d
:- Update to 3.1.0
- Add missing field in
box2d.BodyDef
- Make
build_box2d.sh
more flexible
core:container/priority_queue
- let it return
runtime.Allocator_Error
- Fix off-by-one error in
remove
- let it return
core:sys/darwin/Foundation
: Loads of additions and related stuffvendor:sdl2
: correct RWwrite signaturevendor:sdl3
:- Fix
count
output parameter ofGetFullscreenDisplayModes
- Add
Semaphore
API
- Fix
core:encoding/*
, fix parsing of CDATA tagscore:time
: addtick_add
core:encoding/cbor
, fix slice overflowcore:os/os2
: general improvementsvendor:wasm/WebGL
: Fix incorrect parameter typescore:bufio
: Fix typo fromb.w-b.w
tob.w-b.r
core:simd/x86
: BMI/BMI2 intrinsicsbase:intrinsics
: alternatereduce_add
/reduce_mul
intrinsicscore:strconv
, add support for hex-floats (0h
)vendor:raylib/rlgl
add some missing functionsvendor:directx/d3d12
- add more FEATURE_DATA_OPTIONs
- Fix RESOURCE_STATE_ALL_SHADER_RESOURCE flags and add new HEAP_TYPE
core:encoding/json
: when unmarshalling, only match on struct tags if presentvendor/miniaudio
: update to 0.11.22core:math/big
: fix range check inint_atoi
- Add comments to
builtin.odin
, documenting ODIN_* constants vendor:windows/GameInput
: fixes and tweakscore:encoding/csv
: Fix incorrect CSV reader settings for example- Vectorize
strings.prefix_length
Full Changelog: https://github.com/odin-lang/Odin/compare/dev-2025-04...dev-2025-06
This package has no dependencies.
Ground Rules:
- This discussion is only about Odin (Portable) and the Odin (Portable) package. If you have feedback for Chocolatey, please contact the Google Group.
- This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
- The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
- Tell us what you love about the package or Odin (Portable), or tell us what needs improvement.
- Share your experiences with the package, or extra configuration or gotchas that you've found.
- If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.