From b904bea4975073ce9b2a88664de12c80d8c4c31e Mon Sep 17 00:00:00 2001 From: donmor Date: Mon, 1 Dec 2025 16:27:50 +0800 Subject: [PATCH 1/7] add Makefile and debian directory --- .gitignore | 3 +++ Makefile | 33 ++++++++++++++++++++++++++ debian/.gitignore | 7 ++++++ debian/changelog | 5 ++++ debian/control | 24 +++++++++++++++++++ debian/copyright | 55 ++++++++++++++++++++++++++++++++++++++++++++ debian/rules | 22 ++++++++++++++++++ debian/source/format | 1 + 8 files changed, 150 insertions(+) create mode 100644 Makefile create mode 100644 debian/.gitignore create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/rules create mode 100644 debian/source/format diff --git a/.gitignore b/.gitignore index 7e1512f05c4a..2a6e20645969 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ RECOVER_*.fla # Mac junk .DS_Store + +# Generated by Make +ruffle_desktop diff --git a/Makefile b/Makefile new file mode 100644 index 000000000000..baf125f5a5a2 --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +.PHONY: all clean distclean install uninstall version deb + +prefix ?= /usr/local +VERSION := $(shell echo $(notdir $(CURDIR)) | tr -cd '0-9') +ifeq ($(VERSION),) + VERSION := $(shell date +%Y%m%d) +endif + +all: ruffle_desktop + +clean: + -rm -f ruffle_desktop + -rm -rf target + +distclean: clean + +ruffle_desktop: + cargo build --release --package=$@ + install -m755 target/release/$@ ./$@ + +install: ruffle_desktop + install -d $(DESTDIR)$(prefix)/bin/ + install -m755 $^ $(DESTDIR)$(prefix)/bin/ + +uninstall: + -rm -f $(DESTDIR)$(prefix)/bin/ruffle_desktop + +version: + @echo $(VERSION) + @sed -i '1s/([0-9]\{8\})/($(VERSION))/' debian/changelog + +deb: version + dpkg-buildpackage -us -uc diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 000000000000..eef6191c9e74 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,7 @@ +/*.substvars +/.debhelper/ +/debhelper-build-stamp +/files +/ruffle/ +/ruffle.debhelper.log +/tmp/ diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000000..eb0298b52def --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +ruffle-nightly (20251201) UNRELEASED; urgency=medium + + * Initial release. + + -- unknown Fri, 28 Nov 2025 16:38:58 +0800 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000000..4300c1dac0c7 --- /dev/null +++ b/debian/control @@ -0,0 +1,24 @@ +Source: ruffle-nightly +Section: misc +Priority: optional +Maintainer: unknown +Rules-Requires-Root: no +Build-Depends: + debhelper-compat (= 13), + rustc (>= 1.86), + cargo (>= 1.86), + libasound2-dev, + libudev-dev, +Standards-Version: 4.7.2 +Homepage: https://ruffle.rs/ +#Vcs-Browser: https://github.com/ruffle-rs/ruffle +#Vcs-Git: https://github.com/ruffle-rs/ruffle.git + +Package: ruffle +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Description: A Flash Player emulator written in Rust + Ruffle is an Adobe Flash Player emulator written in the Rust programming + language. Ruffle targets both the desktop and the web using WebAssembly. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000000..3f2b17789182 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,55 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: https://github.com/ruffle-rs/ruffle +Upstream-Name: ruffle +Upstream-Contact: kjarosh + +Files: + * +Copyright: + 2021-2025 Aaron1011 + 2021-2025 Bale001 + 2016-2025 Herschel + 2023-2025 kjarosh + 2019-2024 kmeisthax + 2022-2025 n0samu + 2023-2025 sleepycatcoding + 2020-2025 Toad06 + 2020-2025 torokati44 +License: Apache-2.0 OR MIT + +License: Apache-2.0 + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + . + https://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the full text of the Apache Software License version 2 can + be found in the file `/usr/share/common-licenses/Apache-2.0'. + +License: MIT + Permission to use, copy, modify, and distribute this software and + its documentation for any purpose and without fee is hereby + granted, provided that the above copyright notice appear in all + copies and that both that copyright notice and this permission + notice appear in supporting documentation, and that the name of + Giampaolo Rodola' not be used in advertising or publicity pertaining to + distribution of the software without specific, written prior + permission. + . + ISSUER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + NO EVENT Giampaolo Rodola' BE LIABLE FOR ANY SPECIAL, INDIRECT OR + CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000000..f3c3ca72c2fe --- /dev/null +++ b/debian/rules @@ -0,0 +1,22 @@ +#!/usr/bin/make -f + +# See debhelper(7) (uncomment to enable). +# Output every command that modifies files on the build system. +#export DH_VERBOSE = 1 + + +# See FEATURE AREAS in dpkg-buildflags(1). +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# See ENVIRONMENT in dpkg-buildflags(1). +# Package maintainers to append CFLAGS. +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# Package maintainers to append LDFLAGS. +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + + +%: + dh $@ + +override_dh_auto_install: + dh_auto_install -- prefix=/usr diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000000..89ae9db8f88b --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) From 1726275a20d9d7ba01ddeea5bfe425f191a05368 Mon Sep 17 00:00:00 2001 From: donmor Date: Tue, 2 Dec 2025 10:16:49 +0800 Subject: [PATCH 2/7] ci: fix debian source package name --- debian/changelog | 2 +- debian/control | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index eb0298b52def..a978275b1341 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -ruffle-nightly (20251201) UNRELEASED; urgency=medium +ruffle (20251201) UNRELEASED; urgency=medium * Initial release. diff --git a/debian/control b/debian/control index 4300c1dac0c7..beb8a3e4bf33 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: ruffle-nightly +Source: ruffle Section: misc Priority: optional Maintainer: unknown From 8ca3758fb96dc91c9f419c2de5ab33d182ba30c2 Mon Sep 17 00:00:00 2001 From: donmor Date: Tue, 2 Dec 2025 16:11:58 +0800 Subject: [PATCH 3/7] ci: `make install` supports desktop resources; move `debian` into `desktop/packages/linux` --- .gitignore | 1 + Makefile | 18 +++++++++++++++++- .../packages/linux/debian}/.gitignore | 0 .../packages/linux/debian}/changelog | 0 .../packages/linux/debian}/control | 0 .../packages/linux/debian}/copyright | 0 .../packages/linux/debian}/rules | 0 .../packages/linux/debian}/source/format | 0 8 files changed, 18 insertions(+), 1 deletion(-) rename {debian => desktop/packages/linux/debian}/.gitignore (100%) rename {debian => desktop/packages/linux/debian}/changelog (100%) rename {debian => desktop/packages/linux/debian}/control (100%) rename {debian => desktop/packages/linux/debian}/copyright (100%) rename {debian => desktop/packages/linux/debian}/rules (100%) rename {debian => desktop/packages/linux/debian}/source/format (100%) diff --git a/.gitignore b/.gitignore index 2a6e20645969..b7f2d3301bea 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ RECOVER_*.fla # Generated by Make ruffle_desktop +/debian diff --git a/Makefile b/Makefile index baf125f5a5a2..39803db6b294 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,8 @@ .PHONY: all clean distclean install uninstall version deb +DEBIAN_DIR=desktop/packages/linux/debian prefix ?= /usr/local + VERSION := $(shell echo $(notdir $(CURDIR)) | tr -cd '0-9') ifeq ($(VERSION),) VERSION := $(shell date +%Y%m%d) @@ -13,6 +15,9 @@ clean: -rm -rf target distclean: clean + -find . -name "*.o" -delete + -rm -rf *.swd RECOVER_*.fla /.idea .DS_Store + -cd $(DEBIAN_DIR) && rm -rf ./ruffle.substvars ./.debhelper/ ./debhelper-build-stamp ./files ./ruffle/ ./ruffle.debhelper.log ./tmp/ ruffle_desktop: cargo build --release --package=$@ @@ -21,13 +26,24 @@ ruffle_desktop: install: ruffle_desktop install -d $(DESTDIR)$(prefix)/bin/ install -m755 $^ $(DESTDIR)$(prefix)/bin/ + install -d $(DESTDIR)$(prefix)/share/ + install -d $(DESTDIR)$(prefix)/share/applications/ + install -m644 desktop/packages/linux/rs.ruffle.Ruffle.desktop $(DESTDIR)$(prefix)/share/applications/ + install -d $(DESTDIR)$(prefix)/share/metainfo/ + install -m644 desktop/packages/linux/rs.ruffle.Ruffle.metainfo.xml $(DESTDIR)$(prefix)/share/metainfo/ + install -d $(DESTDIR)$(prefix)/share/icons/ + install -d $(DESTDIR)$(prefix)/share/icons/hicolor/ + install -d $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/ + install -d $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps/ + install -m644 desktop/packages/linux/rs.ruffle.Ruffle.svg $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps/ uninstall: -rm -f $(DESTDIR)$(prefix)/bin/ruffle_desktop version: @echo $(VERSION) - @sed -i '1s/([0-9]\{8\})/($(VERSION))/' debian/changelog + @-sed -i '1s/([0-9]\{8\})/($(VERSION))/' $(DEBIAN_DIR)/changelog deb: version + -ln -s $(DEBIAN_DIR) debian dpkg-buildpackage -us -uc diff --git a/debian/.gitignore b/desktop/packages/linux/debian/.gitignore similarity index 100% rename from debian/.gitignore rename to desktop/packages/linux/debian/.gitignore diff --git a/debian/changelog b/desktop/packages/linux/debian/changelog similarity index 100% rename from debian/changelog rename to desktop/packages/linux/debian/changelog diff --git a/debian/control b/desktop/packages/linux/debian/control similarity index 100% rename from debian/control rename to desktop/packages/linux/debian/control diff --git a/debian/copyright b/desktop/packages/linux/debian/copyright similarity index 100% rename from debian/copyright rename to desktop/packages/linux/debian/copyright diff --git a/debian/rules b/desktop/packages/linux/debian/rules similarity index 100% rename from debian/rules rename to desktop/packages/linux/debian/rules diff --git a/debian/source/format b/desktop/packages/linux/debian/source/format similarity index 100% rename from debian/source/format rename to desktop/packages/linux/debian/source/format From 55a202f0d84a42884d99255a8e001cbef14dcb6c Mon Sep 17 00:00:00 2001 From: donmor Date: Tue, 2 Dec 2025 18:09:40 +0800 Subject: [PATCH 4/7] ci: migrate debian build scripts to `3.0 \(quilt\)` --- .github/changelog.entries | 2 + Makefile | 41 +++++++++++++++++---- desktop/packages/linux/debian/changelog | 10 +++-- desktop/packages/linux/debian/control | 3 +- desktop/packages/linux/debian/source/format | 2 +- 5 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 .github/changelog.entries diff --git a/.github/changelog.entries b/.github/changelog.entries new file mode 100644 index 000000000000..42e25e796260 --- /dev/null +++ b/.github/changelog.entries @@ -0,0 +1,2 @@ +chore: test entry text 2 +chore: test entry text diff --git a/Makefile b/Makefile index 39803db6b294..f7b91d3ecaa5 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,24 @@ .PHONY: all clean distclean install uninstall version deb -DEBIAN_DIR=desktop/packages/linux/debian +SI := -i '' +ifeq ($(shell sed --version 2>/dev/null | head -1 | grep -q GNU && echo GNU),GNU) + SI := -i +endif + +DEBIAN_DIR := desktop/packages/linux/debian +DEBFULLNAME ?= unknown +DEBEMAIL ?= unknown@localhost +DEBDATE ?= $(shell date -R) +DEBSUITE ?= unstable + prefix ?= /usr/local -VERSION := $(shell echo $(notdir $(CURDIR)) | tr -cd '0-9') -ifeq ($(VERSION),) - VERSION := $(shell date +%Y%m%d) +VERSION := $(shell cargo metadata --format-version=1 --no-deps --offline | jq -r '.packages[] | select(.name == "ruffle_desktop").version') +DEBIAN_ORIG_GZ := ../ruffle_$(VERSION).orig.tar.gz +DEBIAN_ORIG_XZ := ../ruffle_$(VERSION).orig.tar.xz +REVISION := $(shell echo $(notdir $(CURDIR)) | sed 's/$(VERSION)//' | tr -cd '0-9') +ifeq ($(REVISION),) + REVISION := $(shell date +%Y%m%d) endif all: ruffle_desktop @@ -41,9 +54,23 @@ uninstall: -rm -f $(DESTDIR)$(prefix)/bin/ruffle_desktop version: - @echo $(VERSION) - @-sed -i '1s/([0-9]\{8\})/($(VERSION))/' $(DEBIAN_DIR)/changelog + @echo $(VERSION)-$(REVISION) + @-if ! grep "$(VERSION)-$(REVISION)" $(DEBIAN_DIR)/changelog; then \ + sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ + sed $(SI) '1i\ -- $(DEBFULLNAME) <$(DEBEMAIL)> $(DEBDATE)' $(DEBIAN_DIR)/changelog; \ + sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ + cat .github/changelog.entries | while read line; do \ + sed $(SI) "1i\ \ * $$line" $(DEBIAN_DIR)/changelog; \ + done; \ + sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ + sed $(SI) '1iruffle ($(VERSION)-$(REVISION)) $(DEBSUITE); urgency=medium' $(DEBIAN_DIR)/changelog; \ + fi deb: version - -ln -s $(DEBIAN_DIR) debian + @if [ ! -s $(DEBIAN_ORIG_XZ) -a ! -s $(DEBIAN_ORIG_GZ) ]; then \ + echo 'Creating $(DEBIAN_ORIG_GZ) from HEAD...' >&2; \ + git archive --prefix=ruffle-$(VERSION)/ -o $(DEBIAN_ORIG_GZ) HEAD; \ + fi + rm -rf debian + cp -a $(DEBIAN_DIR) ./ dpkg-buildpackage -us -uc diff --git a/desktop/packages/linux/debian/changelog b/desktop/packages/linux/debian/changelog index a978275b1341..641c32893cbb 100644 --- a/desktop/packages/linux/debian/changelog +++ b/desktop/packages/linux/debian/changelog @@ -1,5 +1,9 @@ -ruffle (20251201) UNRELEASED; urgency=medium +ruffle (0.1.0-20251202) unstable; urgency=medium + + * chore: test entry text + * chore: test entry text 2 + + -- unknown Tue, 02 Dec 2025 20:57:04 +0800 + - * Initial release. - -- unknown Fri, 28 Nov 2025 16:38:58 +0800 diff --git a/desktop/packages/linux/debian/control b/desktop/packages/linux/debian/control index beb8a3e4bf33..27d07f29410b 100644 --- a/desktop/packages/linux/debian/control +++ b/desktop/packages/linux/debian/control @@ -9,12 +9,13 @@ Build-Depends: cargo (>= 1.86), libasound2-dev, libudev-dev, + jq, Standards-Version: 4.7.2 Homepage: https://ruffle.rs/ #Vcs-Browser: https://github.com/ruffle-rs/ruffle #Vcs-Git: https://github.com/ruffle-rs/ruffle.git -Package: ruffle +Package: ruffle-desktop Architecture: any Depends: ${shlibs:Depends}, diff --git a/desktop/packages/linux/debian/source/format b/desktop/packages/linux/debian/source/format index 89ae9db8f88b..163aaf8d82b6 100644 --- a/desktop/packages/linux/debian/source/format +++ b/desktop/packages/linux/debian/source/format @@ -1 +1 @@ -3.0 (native) +3.0 (quilt) From 94bdaa93d571b63dadbb32ae0f0b3a2240c2947b Mon Sep 17 00:00:00 2001 From: donmor Date: Wed, 3 Dec 2025 09:33:46 +0800 Subject: [PATCH 5/7] ci: Add changelog creation before nightly release --- .github/changelog.entries | 2 -- .github/scripts/release.py | 19 ++++++++++++++++++- .github/workflows/release_nightly.yml | 16 ++++++++++++++++ .gitignore | 3 +++ Makefile | 11 ++++++++--- 5 files changed, 45 insertions(+), 6 deletions(-) delete mode 100644 .github/changelog.entries diff --git a/.github/changelog.entries b/.github/changelog.entries deleted file mode 100644 index 42e25e796260..000000000000 --- a/.github/changelog.entries +++ /dev/null @@ -1,2 +0,0 @@ -chore: test entry text 2 -chore: test entry text diff --git a/.github/scripts/release.py b/.github/scripts/release.py index 651ff01fe767..16e8ea552a2b 100755 --- a/.github/scripts/release.py +++ b/.github/scripts/release.py @@ -4,6 +4,7 @@ import subprocess import sys from datetime import datetime +from email import utils import xml.etree.ElementTree as xml import json @@ -112,6 +113,19 @@ def gh_get_last_nightly_tag(): return next(gh_list_nightly_tags(16), None) +def deb_changelog(version, revision, date, fullname='ruffle', email='ruffle@ruffle.rs', suite='unstable'): + orig = '' + changes = '' + rfc2822date = utils.format_datetime(date) + if os.path.exists(f'{REPO_DIR}/.github/changelog.entries'): + with open(f'{REPO_DIR}/.github/changelog.entries', 'r') as changelog: + changes = changelog.read() + with open(f'{REPO_DIR}/desktop/packages/linux/debian/changelog', 'r') as original: + orig = original.read() + with open(f'{REPO_DIR}/desktop/packages/linux/debian/changelog', 'w') as modified: + modified.write(f'ruffle ({version}-{revision}) {suite}; urgency=medium\n\n{changes}\n\n -- {fullname} <{email}> {rfc2822date}\n\n{orig}') + + # ===== Commands =========================================== def bump(): @@ -129,7 +143,8 @@ def bump(): log(f'Next planned version is {next_planned_version}') - nightly_version = f'{next_planned_version}-nightly.{get_current_time_version()}' + current_time_version = get_current_time_version() + nightly_version = f'{next_planned_version}-nightly.{current_time_version}' log(f'Nightly version is {nightly_version}') cargo_set_version([nightly_version]) @@ -146,6 +161,8 @@ def bump(): github_output('version', version) github_output('version4', version4) + deb_changelog(next_planned_version, ''.join(part.zfill(2) for part in current_time_version.split('.')), datetime.now()) + def metainfo(): metainfo_path1 = f'{REPO_DIR}/desktop/packages/linux/rs.ruffle.Ruffle.metainfo.xml' diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 82ffc5a4d4d4..1adb23ab1ef2 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -54,6 +54,22 @@ jobs: crate: cargo-get version: '^1.0' + - name: Get changelog + uses: mikepenz/release-changelog-builder-action@v6.0.1 + with: + owner: "ruffle-rs" + repo: "ruffle" + fromTag: "nightly-2025-12-01" + toTag: "nightly-2025-12-02" + token: ${{ secrets.PGITHUB_TOKEN }} + outputFile: ".github/changelog.entries" + failOnError: "true" + configurationJson: | + { + "template": "#{{UNCATEGORIZED}}", + "pr_template": " * #{{TITLE}} by @#{{AUTHOR}} in ##{{NUMBER}}", + "categories": [] + } - name: Bump version if: steps.activity.outputs.is_active == 'true' id: version diff --git a/.gitignore b/.gitignore index b7f2d3301bea..03a91bc70c5b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,6 @@ RECOVER_*.fla # Generated by Make ruffle_desktop /debian + +# CI middle files +/.github/changelog.entries diff --git a/Makefile b/Makefile index f7b91d3ecaa5..84d216576eb5 100644 --- a/Makefile +++ b/Makefile @@ -56,11 +56,16 @@ uninstall: version: @echo $(VERSION)-$(REVISION) @-if ! grep "$(VERSION)-$(REVISION)" $(DEBIAN_DIR)/changelog; then \ - sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ + if [ -s $(DEBIAN_DIR)/changelog ]; then \ + sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ + else \ + echo > $(DEBIAN_DIR)/changelog; \ + fi; \ sed $(SI) '1i\ -- $(DEBFULLNAME) <$(DEBEMAIL)> $(DEBDATE)' $(DEBIAN_DIR)/changelog; \ sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ - cat .github/changelog.entries | while read line; do \ - sed $(SI) "1i\ \ * $$line" $(DEBIAN_DIR)/changelog; \ + touch -a .github/changelog.entries \ + tac .github/changelog.entries | while read line; do \ + sed $(SI) "1i$$line" $(DEBIAN_DIR)/changelog; \ done; \ sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ sed $(SI) '1iruffle ($(VERSION)-$(REVISION)) $(DEBSUITE); urgency=medium' $(DEBIAN_DIR)/changelog; \ From 8796942d79ed86f1bd31d46403ef702512fbf359 Mon Sep 17 00:00:00 2001 From: donmor Date: Wed, 3 Dec 2025 15:58:51 +0800 Subject: [PATCH 6/7] ci: Add job for building debian packages --- .github/scripts/release.py | 8 +- .github/workflows/release_nightly.yml | 136 ++++++++++++++++++++++-- Makefile | 14 ++- desktop/packages/linux/debian/changelog | 9 -- 4 files changed, 143 insertions(+), 24 deletions(-) diff --git a/.github/scripts/release.py b/.github/scripts/release.py index 16e8ea552a2b..8a4dab91ed61 100755 --- a/.github/scripts/release.py +++ b/.github/scripts/release.py @@ -134,6 +134,7 @@ def bump(): """ current_version = cargo_get_version() + current_day_id = get_current_day_id() log(f'Current version: {current_version}') log('Bumping minor version to get the next planned version') @@ -143,14 +144,13 @@ def bump(): log(f'Next planned version is {next_planned_version}') - current_time_version = get_current_time_version() - nightly_version = f'{next_planned_version}-nightly.{current_time_version}' + nightly_version = f'{next_planned_version}-nightly.{get_current_time_version()}' log(f'Nightly version is {nightly_version}') cargo_set_version([nightly_version]) version = cargo_get_version() - version4 = f'{next_planned_version}.{get_current_day_id()}' + version4 = f'{next_planned_version}.{current_day_id}' npm_dir = f'{REPO_DIR}/web' run_command(['npm', 'install', 'workspace-version'], cwd=npm_dir) @@ -161,7 +161,7 @@ def bump(): github_output('version', version) github_output('version4', version4) - deb_changelog(next_planned_version, ''.join(part.zfill(2) for part in current_time_version.split('.')), datetime.now()) + deb_changelog(version, current_day_id, datetime.now()) def metainfo(): diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 1adb23ab1ef2..22e7be2cf4ff 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -21,6 +21,7 @@ jobs: upload_url: ${{ steps.create_release.outputs.upload_url }} package_prefix: ${{ steps.create_release.outputs.package_prefix }} tag_name: ${{ steps.commit.outputs.tag_name }} + version: ${{ steps.version.outputs.version }} version4: ${{ steps.version.outputs.version4 }} # Only run the scheduled workflows on the main repo. @@ -54,16 +55,21 @@ jobs: crate: cargo-get version: '^1.0' + - name: Get last tag + id: last_tag + run: echo "last_tag=`gh release list --order=desc --limit=1 --json tagName --jq '.[0].tagName'`" >> $GITHUB_OUTPUT + env: + GITHUB_TOKEN: ${{ secrets.PGITHUB_TOKEN }} - name: Get changelog uses: mikepenz/release-changelog-builder-action@v6.0.1 with: - owner: "ruffle-rs" - repo: "ruffle" - fromTag: "nightly-2025-12-01" - toTag: "nightly-2025-12-02" + owner: ruffle-rs + repo: ruffle + #fromTag: nightly-2025-12-03 + fromTag: ${{ steps.last_tag.outputs.last_tag }} + toTag: HEAD token: ${{ secrets.PGITHUB_TOKEN }} - outputFile: ".github/changelog.entries" - failOnError: "true" + outputFile: .github/changelog.entries configurationJson: | { "template": "#{{UNCATEGORIZED}}", @@ -663,3 +669,121 @@ jobs: commit_email: ruffle@ruffle.rs ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} commit_message: Update to ${{ needs.create-nightly-release.outputs.tag_name }} + + build-debian-packages: + name: Build Debian ${{ matrix.build_name }} packages + needs: [create-nightly-release, build] + strategy: + fail-fast: false + matrix: + include: + - build_name: amd64 + os: ubuntu-24.04 + arch: x86_64 + - build_name: arm64 + os: ubuntu-24.04-arm + arch: aarch64 + runs-on: ${{ matrix.os }} + if: github.repository == 'donmor/ruffle' + steps: + - uses: actions/checkout@v6 + with: + ref: ${{ needs.create-nightly-release.outputs.tag_name }} + - name: Get current time with dashes + uses: josStorer/get-current-time@v2.1.2 + id: current_time_dashes + with: + format: YYYY-MM-DD + + - name: Get current time with dots + uses: josStorer/get-current-time@v2.1.2 + id: current_time_dots + with: + format: YYYY.M.D + + - name: Install build dependencies + run: sudo apt install debhelper rename + - name: Prepare informations and source + id: profiling + run: | + version4=${{ needs.create-nightly-release.outputs.version4 }} + version=${{ needs.create-nightly-release.outputs.version }} + revision=${version4##*.} + echo "version=${version}" >>$GITHUB_OUTPUT + echo "revision=${revision}" >>$GITHUB_OUTPUT + git archive --prefix=ruffle-${version}/ -o ../ruffle_${version}.orig.tar.gz HEAD + cp -a desktop/packages/linux/debian ./ + - name: Build Source package + if: runner.arch == 'X64' + run: | + dpkg-buildpackage -us -uc -d -S + - name: Get prebuilt binaries + run: | + gh release download "${{ needs.create-nightly-release.outputs.tag_name }}" --pattern "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz" + tar -xf "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz" ruffle + rm "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz" + mv ruffle ruffle_desktop + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Build Packages + run: | + dpkg-buildpackage -us -uc -nc -d -b + rename 's/\.deb/\.ddeb/' *-dbgsym*.deb + - name: Move built files (sources) + if: runner.arch == 'X64' + run: | + mv ../ruffle_${{ steps.profiling.outputs.version }}.orig.tar.gz ./ + mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.debian.tar.xz ./ + mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.dsc ./ + mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.buildinfo ./ + mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.changes ./ + - name: Move built files (packages) + run: | + mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.buildinfo ./ + mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.changes ./ + mv ../ruffle-desktop_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.deb ./ + mv ../ruffle-desktop-dbgsym_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.ddeb ./ + - name: Upload Source package as build artifact + if: runner.arch == 'X64' + uses: actions/upload-artifact@v5 + with: + name: deb-source + path: | + ruffle_${{ steps.profiling.outputs.version }}.orig.tar.gz + ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.debian.tar.xz + ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.dsc + ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.buildinfo + ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.changes + - name: Upload Packages as build artifact + uses: actions/upload-artifact@v5 + with: + name: deb-${{ matrix.build_name }} + path: | + ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.buildinfo + ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.changes + ruffle-desktop_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.deb + ruffle-desktop-dbgsym_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.ddeb + publish-debian-packages: + name: Publish Debian packages + needs: [create-nightly-release, build-debian-packages] + runs-on: ubuntu-24.04 + steps: + - name: Download all artifacts previously built + uses: actions/download-artifact@v4 + with: + merge-multiple: true + run-id: ${{ needs.build-debian-packages.outputs.run_id }} + path: download/${{ needs.create-nightly-release.outputs.tag_name }} + - name: Generate trivial source + working-directory: download/${{ needs.create-nightly-release.outputs.tag_name }} + run: | + dpkg-scanpackages -m ../../download/${{ needs.create-nightly-release.outputs.tag_name }} > Packages + dpkg-scanpackages -t ddeb -m ../../download/${{ needs.create-nightly-release.outputs.tag_name }} >> Packages + dpkg-scansources ../../download/${{ needs.create-nightly-release.outputs.tag_name }} > Sources + apt-ftparchive release . > Release + - name: Upload packages + run: | + gh release upload -R ${{ github.repository }} "${{ needs.create-nightly-release.outputs.tag_name }}" `find download -name 'ruffle*.deb'` `find download -name 'ruffle*.ddeb'` + gh release upload -R ${{ github.repository }} "${{ needs.create-nightly-release.outputs.tag_name }}" `find download -name 'ruffle*.orig.tar.gz'` `find download -name 'ruffle*.debian.tar.xz'` `find download -name 'ruffle*.dsc'` download/${{ needs.create-nightly-release.outputs.tag_name }}/Packages download/${{ needs.create-nightly-release.outputs.tag_name }}/Sources download/${{ needs.create-nightly-release.outputs.tag_name }}/Release + env: + GITHUB_TOKEN: ${{ secrets.PGITHUB_TOKEN }} diff --git a/Makefile b/Makefile index 84d216576eb5..ef1d7739f96b 100644 --- a/Makefile +++ b/Makefile @@ -16,9 +16,9 @@ prefix ?= /usr/local VERSION := $(shell cargo metadata --format-version=1 --no-deps --offline | jq -r '.packages[] | select(.name == "ruffle_desktop").version') DEBIAN_ORIG_GZ := ../ruffle_$(VERSION).orig.tar.gz DEBIAN_ORIG_XZ := ../ruffle_$(VERSION).orig.tar.xz -REVISION := $(shell echo $(notdir $(CURDIR)) | sed 's/$(VERSION)//' | tr -cd '0-9') +REVISION := $(shell date -d $(shell echo $(notdir $(CURDIR)) | sed 's/ruffle-//' | sed 's/nightly-//' | sed 's/$(VERSION)-//') +%y%j) ifeq ($(REVISION),) - REVISION := $(shell date +%Y%m%d) + REVISION := $(shell date +%y%j) endif all: ruffle_desktop @@ -63,7 +63,7 @@ version: fi; \ sed $(SI) '1i\ -- $(DEBFULLNAME) <$(DEBEMAIL)> $(DEBDATE)' $(DEBIAN_DIR)/changelog; \ sed $(SI) '1i\\' $(DEBIAN_DIR)/changelog; \ - touch -a .github/changelog.entries \ + touch -a .github/changelog.entries; \ tac .github/changelog.entries | while read line; do \ sed $(SI) "1i$$line" $(DEBIAN_DIR)/changelog; \ done; \ @@ -73,8 +73,12 @@ version: deb: version @if [ ! -s $(DEBIAN_ORIG_XZ) -a ! -s $(DEBIAN_ORIG_GZ) ]; then \ - echo 'Creating $(DEBIAN_ORIG_GZ) from HEAD...' >&2; \ - git archive --prefix=ruffle-$(VERSION)/ -o $(DEBIAN_ORIG_GZ) HEAD; \ + if [ -s ../$(notdir $(CURDIR)).tar.gz ]; then \ + mv -v ../$(notdir $(CURDIR)).tar.gz $(DEBIAN_ORIG_GZ); \ + else \ + echo 'Creating $(DEBIAN_ORIG_GZ) from HEAD...' >&2; \ + git archive --prefix=ruffle-$(VERSION)/ -o $(DEBIAN_ORIG_GZ) HEAD; \ + fi; \ fi rm -rf debian cp -a $(DEBIAN_DIR) ./ diff --git a/desktop/packages/linux/debian/changelog b/desktop/packages/linux/debian/changelog index 641c32893cbb..e69de29bb2d1 100644 --- a/desktop/packages/linux/debian/changelog +++ b/desktop/packages/linux/debian/changelog @@ -1,9 +0,0 @@ -ruffle (0.1.0-20251202) unstable; urgency=medium - - * chore: test entry text - * chore: test entry text 2 - - -- unknown Tue, 02 Dec 2025 20:57:04 +0800 - - - From a81948948d6d87edbbfe9cdd176003377babca3d Mon Sep 17 00:00:00 2001 From: donmor Date: Tue, 9 Dec 2025 08:59:26 +0800 Subject: [PATCH 7/7] ci: Add ruffle_webext target to Makefile; Add webext deb package; Add CI steps for webext deb --- .github/workflows/release_nightly.yml | 19 ++++++++- .gitignore | 1 - Makefile | 41 +++++++++++++++---- desktop/packages/linux/debian/control | 11 +++++ .../linux/debian/ruffle-desktop.install | 4 ++ .../webext-ruffle-flash-emulator.install | 3 ++ 6 files changed, 68 insertions(+), 11 deletions(-) create mode 100644 desktop/packages/linux/debian/ruffle-desktop.install create mode 100644 desktop/packages/linux/debian/webext-ruffle-flash-emulator.install diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 22e7be2cf4ff..2b62fffd3fa5 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -720,9 +720,15 @@ jobs: - name: Get prebuilt binaries run: | gh release download "${{ needs.create-nightly-release.outputs.tag_name }}" --pattern "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz" + gh release download "${{ needs.create-nightly-release.outputs.tag_name }}" --pattern "${{ needs.create-nightly-release.outputs.package_prefix }}-web-extension.zip" + gh release download "${{ needs.create-nightly-release.outputs.tag_name }}" --pattern "${{ needs.create-nightly-release.outputs.package_prefix }}-web-extension-firefox-unsigned.xpi" tar -xf "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz" ruffle rm "${{ needs.create-nightly-release.outputs.package_prefix }}-linux-${{ matrix.arch }}.tar.gz" - mv ruffle ruffle_desktop + mkdir -p web/packages/extension/dist + mv "${{ needs.create-nightly-release.outputs.package_prefix }}-web-extension.zip" web/packages/extension/dist/ruffle_extension.zip + mv "${{ needs.create-nightly-release.outputs.package_prefix }}-web-extension-firefox-unsigned.xpi" web/packages/extension/dist/firefox_unsigned.xpi + mkdir -p target/release + mv ruffle target/release/ruffle_desktop env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build Packages @@ -743,6 +749,7 @@ jobs: mv ../ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.changes ./ mv ../ruffle-desktop_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.deb ./ mv ../ruffle-desktop-dbgsym_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_${{ matrix.build_name }}.ddeb ./ + mv ../webext-ruffle-flash-emulator_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_all.deb ./ - name: Upload Source package as build artifact if: runner.arch == 'X64' uses: actions/upload-artifact@v5 @@ -754,6 +761,13 @@ jobs: ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}.dsc ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.buildinfo ruffle_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_source.changes + - name: Upload Extension Package as build artifact + if: runner.arch == 'X64' + uses: actions/upload-artifact@v5 + with: + name: deb-all + path: | + webext-ruffle-flash-emulator_${{ steps.profiling.outputs.version }}-${{ steps.profiling.outputs.revision }}_all.deb - name: Upload Packages as build artifact uses: actions/upload-artifact@v5 with: @@ -772,6 +786,7 @@ jobs: uses: actions/download-artifact@v4 with: merge-multiple: true + pattern: deb-* run-id: ${{ needs.build-debian-packages.outputs.run_id }} path: download/${{ needs.create-nightly-release.outputs.tag_name }} - name: Generate trivial source @@ -783,7 +798,7 @@ jobs: apt-ftparchive release . > Release - name: Upload packages run: | - gh release upload -R ${{ github.repository }} "${{ needs.create-nightly-release.outputs.tag_name }}" `find download -name 'ruffle*.deb'` `find download -name 'ruffle*.ddeb'` + gh release upload -R ${{ github.repository }} "${{ needs.create-nightly-release.outputs.tag_name }}" `find download -name '*ruffle*.deb'` `find download -name 'ruffle*.ddeb'` gh release upload -R ${{ github.repository }} "${{ needs.create-nightly-release.outputs.tag_name }}" `find download -name 'ruffle*.orig.tar.gz'` `find download -name 'ruffle*.debian.tar.xz'` `find download -name 'ruffle*.dsc'` download/${{ needs.create-nightly-release.outputs.tag_name }}/Packages download/${{ needs.create-nightly-release.outputs.tag_name }}/Sources download/${{ needs.create-nightly-release.outputs.tag_name }}/Release env: GITHUB_TOKEN: ${{ secrets.PGITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 03a91bc70c5b..04f4de7c4136 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,6 @@ RECOVER_*.fla .DS_Store # Generated by Make -ruffle_desktop /debian # CI middle files diff --git a/Makefile b/Makefile index ef1d7739f96b..14a2c776a023 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: all clean distclean install uninstall version deb +.PHONY: all clean distclean ruffle_desktop ruffle_webext install uninstall version deb SI := -i '' ifeq ($(shell sed --version 2>/dev/null | head -1 | grep -q GNU && echo GNU),GNU) @@ -16,12 +16,12 @@ prefix ?= /usr/local VERSION := $(shell cargo metadata --format-version=1 --no-deps --offline | jq -r '.packages[] | select(.name == "ruffle_desktop").version') DEBIAN_ORIG_GZ := ../ruffle_$(VERSION).orig.tar.gz DEBIAN_ORIG_XZ := ../ruffle_$(VERSION).orig.tar.xz -REVISION := $(shell date -d $(shell echo $(notdir $(CURDIR)) | sed 's/ruffle-//' | sed 's/nightly-//' | sed 's/$(VERSION)-//') +%y%j) +REVISION := $(shell date -d $(shell echo $(notdir $(CURDIR)) | sed 's/ruffle-//' | sed 's/nightly-//' | sed 's/$(VERSION)-//') +%y%j 2>/dev/null) ifeq ($(REVISION),) REVISION := $(shell date +%y%j) endif -all: ruffle_desktop +all: target/release/ruffle_desktop web/packages/extension/dist/ruffle_extension.zip web/packages/extension/dist/firefox_unsigned.xpi clean: -rm -f ruffle_desktop @@ -32,13 +32,20 @@ distclean: clean -rm -rf *.swd RECOVER_*.fla /.idea .DS_Store -cd $(DEBIAN_DIR) && rm -rf ./ruffle.substvars ./.debhelper/ ./debhelper-build-stamp ./files ./ruffle/ ./ruffle.debhelper.log ./tmp/ -ruffle_desktop: - cargo build --release --package=$@ - install -m755 target/release/$@ ./$@ +ruffle_desktop: target/release/ruffle_desktop -install: ruffle_desktop +target/release/ruffle_desktop: + cargo build --release --package=ruffle_desktop + +ruffle_webext: web/packages/extension/dist/ruffle_extension.zip web/packages/extension/dist/firefox_unsigned.xpi + +web/packages/extension/dist/ruffle_extension.zip web/packages/extension/dist/firefox_unsigned.xpi: + cd web && npm install + cd web && CARGO_FEATURES=jpegxr WASM_SOURCE=cargo_and_store npm run build:dual-wasm-repro + +install: target/release/ruffle_desktop web/packages/extension/dist/ruffle_extension.zip web/packages/extension/dist/firefox_unsigned.xpi install -d $(DESTDIR)$(prefix)/bin/ - install -m755 $^ $(DESTDIR)$(prefix)/bin/ + install -m755 target/release/ruffle_desktop $(DESTDIR)$(prefix)/bin/ install -d $(DESTDIR)$(prefix)/share/ install -d $(DESTDIR)$(prefix)/share/applications/ install -m644 desktop/packages/linux/rs.ruffle.Ruffle.desktop $(DESTDIR)$(prefix)/share/applications/ @@ -49,9 +56,27 @@ install: ruffle_desktop install -d $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/ install -d $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps/ install -m644 desktop/packages/linux/rs.ruffle.Ruffle.svg $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps/ + install -d $(DESTDIR)$(prefix)/share/webext/ + install -d $(DESTDIR)$(prefix)/share/webext/ruffle-flash-emulator/ + install -d $(DESTDIR)$(prefix)/share/chromium/ + install -d $(DESTDIR)$(prefix)/share/chromium/extensions/ + install -d $(DESTDIR)$(prefix)/share/mozilla/ + install -d $(DESTDIR)$(prefix)/share/mozilla/extensions/ + install -d $(DESTDIR)$(prefix)/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/ + unzip -o web/packages/extension/dist/ruffle_extension.zip -d $(DESTDIR)$(prefix)/share/webext/ruffle-flash-emulator/ + ln -sf /usr/share/webext/ruffle-flash-emulator $(DESTDIR)$(prefix)/share/chromium/extensions/ + install -m644 web/packages/extension/dist/firefox_unsigned.xpi $(DESTDIR)$(prefix)/share/webext/ruffle@ruffle.rs.xpi + ln -sf /usr/share/webext/ruffle@ruffle.rs.xpi $(DESTDIR)$(prefix)/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/ uninstall: -rm -f $(DESTDIR)$(prefix)/bin/ruffle_desktop + -rm -f $(DESTDIR)$(prefix)/share/applications/rs.ruffle.Ruffle.desktop + -rm -f $(DESTDIR)$(prefix)/share/icons/hicolor/scalable/apps/rs.ruffle.Ruffle.svg + -rm -f $(DESTDIR)$(prefix)/share/metainfo/rs.ruffle.Ruffle.metainfo.xml + -rm -f $(DESTDIR)$(prefix)/share/chromium/extensions/ruffle-flash-emulator + -rm -f $(DESTDIR)$(prefix)/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/ruffle@ruffle.rs.xpi + -rm -rf $(DESTDIR)$(prefix)/share/webext/ruffle-flash-emulator + -rm -f $(DESTDIR)$(prefix)/share/webext/ruffle@ruffle.rs.xpi version: @echo $(VERSION)-$(REVISION) diff --git a/desktop/packages/linux/debian/control b/desktop/packages/linux/debian/control index 27d07f29410b..8a658b93e150 100644 --- a/desktop/packages/linux/debian/control +++ b/desktop/packages/linux/debian/control @@ -10,6 +10,11 @@ Build-Depends: libasound2-dev, libudev-dev, jq, + nodejs, + librust-wasm-bindgen-dev, + default-jdk-headless, + binaryen, + libjxr-dev, Standards-Version: 4.7.2 Homepage: https://ruffle.rs/ #Vcs-Browser: https://github.com/ruffle-rs/ruffle @@ -23,3 +28,9 @@ Depends: Description: A Flash Player emulator written in Rust Ruffle is an Adobe Flash Player emulator written in the Rust programming language. Ruffle targets both the desktop and the web using WebAssembly. + +Package: webext-ruffle-flash-emulator +Architecture: all +Description: A Flash Player emulator written in Rust (web extensions) + Ruffle is an Adobe Flash Player emulator written in the Rust programming + language. Ruffle targets both the desktop and the web using WebAssembly. diff --git a/desktop/packages/linux/debian/ruffle-desktop.install b/desktop/packages/linux/debian/ruffle-desktop.install new file mode 100644 index 000000000000..410b0cee5378 --- /dev/null +++ b/desktop/packages/linux/debian/ruffle-desktop.install @@ -0,0 +1,4 @@ +usr/bin/* +usr/share/applications/* +usr/share/icons/* +usr/share/metainfo/* diff --git a/desktop/packages/linux/debian/webext-ruffle-flash-emulator.install b/desktop/packages/linux/debian/webext-ruffle-flash-emulator.install new file mode 100644 index 000000000000..69bd320502ee --- /dev/null +++ b/desktop/packages/linux/debian/webext-ruffle-flash-emulator.install @@ -0,0 +1,3 @@ +usr/share/chromium/* +usr/share/mozilla/* +usr/share/webext/*