An open API service indexing awesome lists of open source software.

https://github.com/sebastienduruz/codex-app-archlinux

Codex Desktop port for Linux from MacOS dmg
https://github.com/sebastienduruz/codex-app-archlinux

amd64 arch-linux codex codex-app linux port

Last synced: 6 days ago
JSON representation

Codex Desktop port for Linux from MacOS dmg

Awesome Lists containing this project

README

          

# Codex App Packaging for Arch Linux

This repository provides an Arch Linux package build for Codex Desktop (`x86_64`) from the macOS DMG source.

## Scope

- Target distro: Arch Linux
- Target architecture: `x86_64`
- Package format: pacman package (`.pkg.tar.zst`)

## Prerequisites

Install base packaging tools:

```bash
sudo pacman -S --needed base-devel git
```

`makepkg -s` installs package dependencies declared in `PKGBUILD` automatically.

Network access is required to download:

- `Codex.dmg`
- npm tarballs for native modules resolved dynamically from the app bundle

## Build Workflow

From repository root:

```bash
makepkg -si
```

## Run

```bash
codex-app
```

## Run Release Executable

Releases include a portable executable bundle for Linux:

- `codex-app-linux-x86_64.tar.gz`
- `codex-app-linux-x86_64.tar.gz.sha256`

Verify and run:

```bash
sha256sum -c codex-app-linux-x86_64.tar.gz.sha256
tar -xzf codex-app-linux-x86_64.tar.gz
chmod +x codex-app-linux-x86_64/codex-app
./codex-app-linux-x86_64/codex-app
```

## Output Layout

- Build workspace: `src/`, `pkg/`
- Built package: `*.pkg.tar.zst` (repo root)

## Update Process

When updating package inputs:

1. Update `pkgver`, source URLs/versions, and checksums in `PKGBUILD` when needed.
2. Regenerate checksums if needed:

```bash
updpkgsums
```

3. Regenerate `.SRCINFO`:

```bash
makepkg --printsrcinfo > .SRCINFO
```

4. Rebuild:

```bash
makepkg -f
```

## Checksum Policy

`Codex.dmg` is served from a rolling CDN URL and may change without notice.
The nightly release workflow tracks and persists the latest DMG SHA-256 in
`.codex-dmg.sha256` and publishes a new release only when this hash changes.