Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,22 @@ jobs:
- name: Build project
run: |
# Test that the project builds correctly
cd gpl-release
make clean || true
make all
make

- name: Verify executables
run: |
# Check that executables were created
ls -la conquer conqrun
file conquer conqrun
cd gpl-release
ls -la conquer conqrun conqsort conqps
file conquer conqrun conqsort conqps

- name: Basic functionality test
run: |
# Test that executables can run (help/version)
./conquer -h || echo "conquer help test completed"
./conqrun -h || echo "conqrun help test completed"
./gpl-release/conquer -h || echo "conquer help test completed"
./gpl-release/conqrun -h || echo "conqrun help test completed"

package-apk:
name: Build APK Package (Alpine/Melange)
Expand Down Expand Up @@ -117,7 +119,7 @@ jobs:
dpkg-deb --contents "$DEB_FILE" | head -20
fi

- name: Upload DEB artifacts
- name: Upload DEB atrifacts
uses: actions/upload-artifact@v4
if: github.ref == 'refs/heads/master'
with:
Expand Down
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,6 @@

**Conquer** is the classic multi-player strategy game originally created by Edward M. Barlow and Adam Bryant in the late 1980s. This repository preserves both the historical distribution and provides a modern GPL-licensed version for continued development.

## 🗺️ Special Recognition: Richard Caley's Map Utility

This repository includes a significant historical contribution: **Richard Caley's map drawing utility** from 1989. Richard Caley, a researcher at the University of Edinburgh's Centre for Speech Technology Research and contributor to the Festival Speech Synthesis System, created a bitmap visualization tool for Conquer game worlds.

His work represents an early example of game data visualization, created with the generous spirit typical of the late 1980s Unix computing community. Richard wrote: *"You may copy, distribute, modify or do what you will with this code"* - embodying the collaborative ethos that shaped early computer gaming.

**📖 Learn more about Richard Caley's contributions**: See [`richard-caley-utilities/`](richard-caley-utilities/) for detailed biographical information, technical context, and links to his archived research and personal materials.

*Richard Caley passed away in 2006. This code is preserved in his memory and as a testament to the early Unix gaming community's collaborative spirit.*

## Relicensing Achievement

This repository represents a successful **15-year relicensing effort** (2006-2025) that transformed Conquer from a restrictively licensed game into a modern GPL v3 project. All original copyright holders provided explicit written permission:
Expand Down Expand Up @@ -61,6 +51,16 @@ This repository uses a dual-licensing approach to balance historical preservatio
- **[`LICENSES/`](LICENSES/)** - All license texts for REUSE compliance
- **[`LICENSE-NOTICE.md`](LICENSE-NOTICE.md)** - Comprehensive licensing framework explanation

## 🗺️ Special Recognition: Richard Caley's Map Utility

This repository includes a significant historical contribution: **Richard Caley's map drawing utility** from 1989. Richard Caley, a researcher at the University of Edinburgh's Centre for Speech Technology Research and contributor to the Festival Speech Synthesis System, created a bitmap visualization tool for Conquer game worlds.

His work represents an early example of game data visualization, created with the generous spirit typical of the late 1980s Unix computing community. Richard wrote: *"You may copy, distribute, modify or do what you will with this code"* - embodying the collaborative ethos that shaped early computer gaming.

**📖 Learn more about Richard Caley's contributions**: See [`richard-caley-utilities/`](richard-caley-utilities/) for detailed biographical information, technical context, and links to his archived research and personal materials.

*Richard Caley passed away in 2006. This code is preserved in his memory and as a testament to the early Unix gaming community's collaborative spirit.*

## Quick Start

### Playing the Game
Expand Down Expand Up @@ -138,4 +138,4 @@ The generous code-sharing philosophy of contributors like Richard Caley helped e

**🎮 Ready to conquer?** Start with [`gpl-release/`](gpl-release/) for the modern experience, or explore [`original/`](original/) for historical gaming archaeology.

**📖 Learn about the people behind the code:** Visit [`richard-caley-utilities/`](richard-caley-utilities/) to discover the fascinating individuals who created this classic game.
**📖 Learn about the people behind the code:** Visit [`richard-caley-utilities/`](richard-caley-utilities/) to discover the fascinating individuals who created this classic game.
123 changes: 0 additions & 123 deletions packaging/melange/melange.yaml

This file was deleted.

73 changes: 73 additions & 0 deletions packaging/melange/melange.yaml.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package:
name: conquer
version: PLACEHOLDER_VERSION
epoch: 0
description: "Classic ncurses multiplayer fantasy war game"
url: https://github.com/vejeta/conquer
copyright:
- license: GPL-3.0-or-later

dependencies:
runtime:
- ncurses
- ncurses-terminfo-base

environment:
contents:
repositories:
- https://dl-cdn.alpinelinux.org/alpine/edge/main
- https://dl-cdn.alpinelinux.org/alpine/edge/community
packages:
- build-base
- ncurses-dev
- make
- sed
- coreutils
- pkgconfig
- gcc
- libc-dev
- alpine-baselayout-data
- busybox

pipeline:
- uses: fetch
with:
uri: file:///staged/conquer.tar.gz
extract: true
expected-sha256: PLACEHOLDER_SHA256

- runs: |
echo "🗡️ Entering the battlefield… compiling Conquer!"
sed -i 's|CDEFS = -DDEFAULTDIR=\\"$(DEFAULT)\\"|CDEFS = -DDEFAULTDIR=\\"/usr/lib/conquer\\"|g' Makefile
make all OPTFLG="-std=gnu99 -D_GNU_SOURCE"

mkdir -p ${{targets.destdir}}/usr/bin
mkdir -p ${{targets.destdir}}/usr/lib/conquer
mkdir -p ${{targets.destdir}}/usr/share/licenses/conquer

install -m 755 conquer conqrun ${{targets.destdir}}/usr/bin/
install -m 644 nations rules ${{targets.destdir}}/usr/lib/conquer/

for exe in conqsort conqps; do
if [ -x "$exe" ]; then
install -m 755 "$exe" ${{targets.destdir}}/usr/bin/
fi
done

for i in 0 1 2 3 4 5; do
[ -f "help$i" ] && install -m 644 "help$i" ${{targets.destdir}}/usr/lib/conquer/
done

# Install game data files directly
install -m 644 nations ${{targets.destdir}}/usr/lib/conquer/nations
install -m 644 rules ${{targets.destdir}}/usr/lib/conquer/rules

# Install license
if [ -f "COPYING" ]; then
install -m 644 COPYING ${{targets.destdir}}/usr/share/licenses/conquer/COPYING
fi


echo "⚔️ Conquer compilation complete!"

- uses: strip
Loading