Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add clrmamepro manifest #58

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 4 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
34 changes: 34 additions & 0 deletions it.emulab.mamedev.clrmamepro/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# clrmamepro
clrmamepro is a ROM manager and modifier

## Status

| Arch | Installs | Runs | Notes |
| ----- | -------- | ---- | ----- |
| 32bit | Yes | Yes | |
| 64bit | Yes | Yes | |

## Build & Install
### Repo
#### 32bit

flatpak-builder --arch=i386 --force-clean builds --repo=winepak it.emulab.mamedev.clrmamepro
flatpak --user install winepak it.emulab.mamedev.clrmamepro

#### 64bit

flatpak-builder --arch=x86_64 --force-clean builds --repo=winepak it.emulab.mamedev.clrmamepro
flatpak --user install winepak it.emulab.mamedev.clrmamepro

### Direct
#### 32bit

flatpak-builder --user --arch=i386 --force-clean --install builds it.emulab.mamedev.clrmamepro.yaml

#### 64bit

flatpak-builder --user --arch=x86_64 --force-clean --install builds it.emulab.mamedev.clrmamepro.yaml

## Run

flatpak run it.emulab.mamedev.clrmamepro
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>it.emulab.mamedev.clrmamepro.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>LicenseRef-proprietary</project_license>
<name>clrmamepro</name>
<summary>clrmamepro is a ROM manager and modifier for Windows.</summary>
<description>
<p>clrmamepro manages and modifies your ROM files so that they can be easily used with any emulator. It includes management and datting tools to help with nearly any ROM-based emulation.</p>
</description>

<project_group>winepak</project_group>
<developer_name>Roman Scherzer</developer_name>

<url type="homepage">https://mamedev.emulab.it/clrmamepro</url>
<url type="help">https://mamedev.emulab.it/clrmamepro/docs/index.htm</url>

<categories>
<category>Game</category>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think System;Emulator; categories might be better. So

<categories>
    <category>System</category>
    <category>Emulator</category>
</categories>

</categories>

<content_rating type="oars-1.1">
<content_attribute id="violence-cartoon">none</content_attribute>
<content_attribute id="violence-fantasy">none</content_attribute>
<content_attribute id="violence-realistic">none</content_attribute>
<content_attribute id="violence-bloodshed">none</content_attribute>
<content_attribute id="violence-sexual">none</content_attribute>
<content_attribute id="violence-desecration">none</content_attribute>
<content_attribute id="violence-slavery">none</content_attribute>
<content_attribute id="violence-worship">none</content_attribute>
<content_attribute id="drugs-alcohol">none</content_attribute>
<content_attribute id="drugs-narcotics">none</content_attribute>
<content_attribute id="drugs-tobacco">none</content_attribute>
<content_attribute id="sex-nudity">none</content_attribute>
<content_attribute id="sex-themes">none</content_attribute>
<content_attribute id="sex-homosexuality">none</content_attribute>
<content_attribute id="sex-prostitution">none</content_attribute>
<content_attribute id="sex-adultery">none</content_attribute>
<content_attribute id="sex-appearance">none</content_attribute>
<content_attribute id="language-profanity">none</content_attribute>
<content_attribute id="language-humor">none</content_attribute>
<content_attribute id="language-discrimination">none</content_attribute>
<content_attribute id="social-chat">none</content_attribute>
<content_attribute id="social-info">none</content_attribute>
<content_attribute id="social-audio">none</content_attribute>
<content_attribute id="social-location">none</content_attribute>
<content_attribute id="social-contacts">none</content_attribute>
<content_attribute id="money-purchasing">none</content_attribute>
<content_attribute id="money-gambling">none</content_attribute>
</content_rating>

<releases>
<release date="2018-06-21" version="4.034">
</release>
</releases>
</component>
12 changes: 12 additions & 0 deletions it.emulab.mamedev.clrmamepro/it.emulab.mamedev.clrmamepro.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[Desktop Entry]
Name=clrmamepro
Comment=ROM manager and manipulator
Exec=clrmamepro %U
StartupNotify=true
Terminal=false
Type=Application
MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut;
Categories=Game
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like the appdata lets do System;Emulator;.

Keywords=Game;Emulation;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ROMs aren't exclusive to games so maybe do Emulator;Editor;Manager;?

Icon=it.emulab.mamedev.clrmamepro
Name[en_US]=it.emulab.mamedev.clrmamepro.desktop
112 changes: 112 additions & 0 deletions it.emulab.mamedev.clrmamepro/it.emulab.mamedev.clrmamepro.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
app-id: it.emulab.mamedev.clrmamepro

runtime: org.winepak.Platform
runtime-version: 3.0
sdk: org.winepak.Sdk

command: clrmamepro

add-extensions:
org.winepak.Platform.Compat32:
directory: lib/32bit
version: 3.0
add-ld-path: lib
no-autodownload: false

tags:
- proprietary

finish-args:
- --socket=x11
- --device=dri
- --allow=multiarch
- --filesystem=host

modules:
- name: setup-compat32
buildsystem: simple
build-commands:
- mkdir -p /app/lib/32bit
- ln -s /app/lib/32bit/lib/ld-linux.so.2 /app/lib/ld-linux.so.2

- name: setup-wine
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This module isn't needed since you're not mounting another Wine extension. This was a mistake in the Notepad++ manifest. My bad, sorry.

buildsystem: simple
build-commands:
- mkdir -p /app/lib/wine

- name: setup-wine-compat32
buildsystem: simple
build-commands:
- mkdir -p /app/lib/wine-32bit

- name: clrmamepro
buildsystem: simple
build-commands:
- install -d /app/bin
- install apply_extra /app/bin
- install clrmamepro /app/bin
- install -Dm644 it.emulab.mamedev.clrmamepro.appdata.xml /app/share/appdata/it.emulab.mamedev.clrmamepro.appdata.xml
- install -Dm644 it.emulab.mamedev.clrmamepro.desktop /app/share/applications/it.emulab.mamedev.clrmamepro.desktop
- install -Dm644 it.emulab.mamedev.clrmamepro.48x48.png /app/share/icons/hicolor/48x48/apps/it.emulab.mamedev.clrmamepro.png
- install -Dm644 it.emulab.mamedev.clrmamepro.32x32.png /app/share/icons/hicolor/32x32/apps/it.emulab.mamedev.clrmamepro.png
sources:
- type: extra-data
only-arches:
- x86_64
url: https://mamedev.emulab.it/clrmamepro/binaries/cmp4034_64.zip
sha256: ef31b6228151ed4b27d763ed8d1ddeb4f45dda42d5786f5822ec11e2f391cab5
size: 6195697
filename: clrmamepro.zip
- type: extra-data
only-arches:
- i386
url: https://mamedev.emulab.it/clrmamepro/binaries/cmp4034_32.zip
sha256: 0f83ccbdefae39d7526a389f9b52193520d915012cf398b3a908ef117ce2488d
size: 5522753
filename: clrmamepro.zip
- type: script
dest-filename: apply_extra
commands:
- mkdir -p /app/extra/clrmamepro
- unzip -qq -d /app/extra/clrmamepro clrmamepro.zip
- rm clrmamepro.zip
- type: script
only-arches:
- x86_64
dest-filename: clrmamepro
commands:
- export WINEARCH=win64
-
# clrmamepro writes it's config files in the current directory
# Running files in /app/extra wont work, instead make a copy to
# /var/data a.k.a $XDG_DATA_HOME
- mkdir -p /var/data/clrmamepro
- cp -a /app/extra/clrmamepro /var/data
-
- wineboot
-
- wine64 /var/data/clrmamepro/cmpro64.exe "$@"
- type: script
only-arches:
- i386
dest-filename: clrmamepro
commands:
- export WINEARCH=win32
-
# clrmamepro writes it's config files in the current directory
# Running files in /app/extra wont work, instead make a copy to
# /var/data a.k.a $XDG_DATA_HOME
- mkdir -p /var/data/clrmamepro
- cp -a /app/extra/clrmamepro /var/data
-
- wineboot
-
- wine /var/data/clrmamepro/cmpro.exe "$@"
- type: file
path: it.emulab.mamedev.clrmamepro.appdata.xml
- type: file
path: it.emulab.mamedev.clrmamepro.desktop
- type: file
path: icons/it.emulab.mamedev.clrmamepro.48x48.png
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does clrmamepro happen to have icons at 128px & 64px? Trying to follow Flathub's packaging guide on icon requirements but if not, no worries.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does not. It does have one for 16x16 but it is entirely broken-looking so not included.

- type: file
path: icons/it.emulab.mamedev.clrmamepro.32x32.png