diff --git a/games-strategy/warcraft/Manifest b/games-strategy/warcraft/Manifest new file mode 100644 index 0000000..f9b69e3 --- /dev/null +++ b/games-strategy/warcraft/Manifest @@ -0,0 +1,5 @@ +AUX warcraft-1 634 BLAKE2B f0084ac142757b712d02fcf59792db2232e1ebee1ae9967d7a5ef43e985251f1820f690f85bfa4bddca1efe0374e38d376aaa4d8f6af6c93ee9712ca3ada7e14 SHA512 6350687da904642a3a4f9d9325d3e5e799c0e08a0ba9718127f7ccd89fd8286ffd7c02bc15f6b49c8fc27305f69b9c1a9579441b3d2780a92fae0082b76d2998 +AUX warcraft1-dosbox.conf 1383 BLAKE2B 3ad2135fd5829e7c5cf52afacda23ab6d681b59ee6fdeb6c813eaaa60b4bd61e1185ae9423c3412e566b2357f7deb0c443258a3368f7af0341debea4463473a0 SHA512 714cb66baa42f1b26a0e4671cb63b1dfe9e84183c6007b9da042ca625a12f09f089e11850e787f48b6d7920fe44953beb07247f43d79383213af84b665a7bd9b +DIST setup_warcraft_orcs__humans_1.2_(28330).exe 517514432 BLAKE2B 8b4f5257a5f745604b48d1079f9bec09c5fefe33a4fc1e49aaed60bfe5fbacd7d689fa9f677bc0baf518af3cc0492c5a3fcfb9ee5d7cb9273c29aa97d5077b78 SHA512 15aec94c95aba3269e7b85891432db71084e60e99375d5a9f4ca20607b36e109393b824bf51f71232c1186cf7015c29a527838bc94bdb0fe07cc7fe695b72ffa +EBUILD warcraft-1.2.28330-r2.ebuild 1150 BLAKE2B be35ed3af9ba5314773f96ff732575fd8b443700113706d85f4ab029786cd6f326c8dcfba020b5350ae19f249246e6b3b9c72a536b9bb7ad5fe3879eb2b35bea SHA512 9dbb309ba6e1f758aacbedb82d7dbb66083b400d81bbcda53c56989a70b4aaf5606d621eaf3c2ec4c6b4fded6a620d7152265a97bc87d78863f20e812b985442 +MISC metadata.xml 251 BLAKE2B 19c151f5703da8ebf54919c481478b9d57a1eae77b2d74febf1cddb49172e6d4b738519579e872b0ae60741d15a729e90042a38b2c5a4cb79844fd3c833e784b SHA512 6465fbacaf70f1a1c5a0c8d825bd99c2eb81c67451193d8c2bfb6d2cbdd9d6821726695ed289200aab6aa736a3baccd42d1fd31bed709e6c2ae51c392c67056c diff --git a/games-strategy/warcraft/files/warcraft-1 b/games-strategy/warcraft/files/warcraft-1 new file mode 100644 index 0000000..c4a65e5 --- /dev/null +++ b/games-strategy/warcraft/files/warcraft-1 @@ -0,0 +1,21 @@ +#!/bin/sh + +set -eu + +PN=warcraft-1 + +if ! test -d "${HOME}/.local/share/${PN}" +then + mkdir -p "${HOME}/.local/share/${PN}" + cp /opt/${PN}/*.war "${HOME}/.local/share/${PN}" +fi + +mkdir -p "${HOME}/.cache/${PN}" +ln -sft "${HOME}/.cache/${PN}" /opt/${PN}/* +ln -sft "${HOME}/.cache/${PN}" ${HOME}/.local/share/${PN}/* +ln -sft "${HOME}/.cache/${PN}" ${HOME}/.config/${PN}/* 2>/dev/null || true +rm -f "${HOME}/.cache/${PN}/*" # Might be created by the previous commands + +dosbox -conf "${HOME}/.cache/${PN}/dosbox.conf" -exit "${HOME}/.cache/${PN}/war.exe" + +find "${HOME}/.cache/${PN}" -type f -execdir mv '{}' "${HOME}/.local/share/${PN}/" \; diff --git a/games-strategy/warcraft/files/warcraft1-dosbox.conf b/games-strategy/warcraft/files/warcraft1-dosbox.conf new file mode 100644 index 0000000..ea5ef7a --- /dev/null +++ b/games-strategy/warcraft/files/warcraft1-dosbox.conf @@ -0,0 +1,91 @@ +[sdl] +fullscreen = true +fulldouble = false +fullresolution = desktop +windowresolution = original +output = overlay +autolock = true +sensitivity = 100 +waitonerror = true +priority = higher,normal +mapperfile = mapper-SVN.map +usescancodes = true + +[dosbox] +language = +machine = svga_s3 +captures = capture +memsize = 16 + +[render] +frameskip = 0 +aspect = true +scaler = normal2x + +[cpu] +core = auto +cputype = auto +cycles = fixed 30000 +cycleup = 1000 +cycledown = 1000 + +[mixer] +nosound = false +rate = 44100 +blocksize = 1024 +prebuffer = 25 + +[midi] +mpu401 = intelligent +mididevice = default +midiconfig = 128:0 + +[sblaster] +sbtype = sb16 +sbbase = 220 +irq = 7 +dma = 1 +hdma = 5 +sbmixer = true +oplmode = auto +oplemu = default +oplrate = 44100 + +[gus] +gus = false +gusrate = 44100 +gusbase = 240 +gusirq = 5 +gusdma = 3 +ultradir = C:\ULTRASND + +[speaker] +pcspeaker = true +pcrate = 44100 +tandy = auto +tandyrate = 44100 +disney = true + +[joystick] +joysticktype = auto +timed = true +autofire = false +swap34 = false +buttonwrap = false +circularinput = false +deadzone = 10 + +[serial] +serial1 = dummy +serial2 = dummy +serial3 = disabled +serial4 = disabled + +[dos] +xms = true +ems = true +umb = true +keyboardlayout = auto + +[ipx] +ipx = false diff --git a/games-strategy/warcraft/metadata.xml b/games-strategy/warcraft/metadata.xml new file mode 100644 index 0000000..00298a3 --- /dev/null +++ b/games-strategy/warcraft/metadata.xml @@ -0,0 +1,8 @@ + + + + + hoelbezier@riseup.net + Hoël Bézier + + diff --git a/games-strategy/warcraft/warcraft-1.2.28330-r2.ebuild b/games-strategy/warcraft/warcraft-1.2.28330-r2.ebuild new file mode 100644 index 0000000..5c4f0cf --- /dev/null +++ b/games-strategy/warcraft/warcraft-1.2.28330-r2.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop xdg + +MY_PV="$(ver_cut 1-2)_($(ver_cut 3))" + +DESCRIPTION="Warcraft: Orcs & Humans" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +SRC_URI="setup_warcraft_orcs__humans_${MY_PV}.exe" + +LICENSE="GOG-EULA" +SLOT="1" +KEYWORDS="~amd64" +RESTRICT="bindist fetch splitdebug" + +BDEPEND=" + app-arch/innoextract + app-arch/unzip +" + +RDEPEND=" + games-emulation/dosbox +" + +DIR="/opt/${PN}-${SLOT}" +QA_PREBUILT="${DIR#/}/*" + +pkg_nofetch() { + einfo "Please buy and download ${SRC_URI}" + einfo "and move it to your distfiles directory." +} + +src_unpack() { + innoextract -Lms -d "${S}" "${DISTDIR}/${A}" || die + unzip -c "${S}/app/webcache.zip" 4fae796ad7d4bd7357fa49e5013e6aa881b6fcfcd37a1de052adab337fd0b236.png > "${S}/icon.png" || die +} + +src_install() { + exeinto "${DIR}" + doexe *.exe + + insinto "${DIR}" + doins -r data drivers *.bin *.cue *.war icon.png + newins "${FILESDIR}/warcraft1-dosbox.conf" dosbox.conf + + dobin "${FILESDIR}/${PN}-${SLOT}" + make_desktop_entry "${PN}-${SLOT}" "Warcraft: Orcs & Humans" "${EPREFIX}/${DIR}/icon.png" +}