Closed OnRail76 closed 1 year ago
I didn't even know the Flatpak packages existed. I would have no problem distributing it in this format as well, but I have no idea how to get it done. If anyone would like to help out, they would be welcome.
I have craeted a Flatpak Manifest:
app-id: com.github.punesemu.puNES
runtime: org.kde.Platform
runtime-version: "5.15-21.08"
sdk: org.kde.Sdk
command: punes
finish-args:
- --socket=fallback-x11
- --socket=wayland
- --share=ipc
- --device=all
- --share=network
- --socket=pulseaudio
modules:
- name: glu
sources:
- type: archive
url: https://archive.mesa3d.org/glu/glu-9.0.2.tar.gz
sha256: 24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65
- name: puNES
sources:
- type: git
url: https://github.com/punesemu/puNES.git
commit: ca98d51f3ad65c2251c9cb520158ebbc17eab395
To use it, save the manifest as com.github.punesemu.puNES.yml. Before building you need to install org.kde.Platform and org.kde.Sdk. Both in version 5.15-21.08.
flatpak install org.kde.Platform
flatpak install org.kde.Sdk
To build the manifest open a Terminal in the directory of com.github.punesemu.puNES and run:
flatpak-builder build-dir com.github.punesemu.puNES.yml --force-clean
The build currently fails with this error message:
[100%] Linking CXX static library lib7zip.a
/usr/bin/ar: invalid option -- 'L'
This doesn't happen on my host system for some reason. You may need to take a look at your build system.
Many thanks, I will try to understand what the problem is.
I have tried building with the latest commit and it works.
# Build and install
flatpak-builder --user --install --force-clean build-dir com.github.punesemu.puNES.yml
# Run
flatpak run com.github.punesemu.puNES
But there are still a few Issues:
INFO: path /home/jakob/.puNES
Please don't do that. Please follow the XDG Base Directory Specification. That means for you: If XDG_DATA_HOME use $XDG_DATA_HOME/puNES else use ~/.local/share/puNES. Flatpak will set XDG_DATA_HOME to a custm dir. This spec should be followed no matter if the App is run with Flatpak or not.
Not exporting share/applications/punes.desktop, non-allowed export filename
Not exporting share/icons/hicolor/32x32/apps/punes.png, non-allowed export filename
Not exporting share/icons/hicolor/256x256/apps/punes.png, non-allowed export filename
Not exporting share/icons/hicolor/48x48/apps/punes.png, non-allowed export filename
Not exporting share/icons/hicolor/16x16/apps/punes.png, non-allowed export filename
The filename must be the App ID. In your case: com.github.punesemu.puNES.desktop and com.github.punesemu.puNES.png. There is some specification that says that reverse DNS should be used for Filenames even outside Flatpak, but I can't find the link currently.
Last but not least, you need a Appstream file if you want to upload to Flathub. It contains all needed informations for the Software Centers and the Flathub website. i suggested that you use jdAppDataEdit to create one. Install as share/metainfo/com.github.punesemu.puNES.metainfo.xml.
Note: I have tested this on a Dev System which don't have Roms, but the Emulation itself should work without problems.
Thanks for the suggestions, as soon as I finish implementing the mappers I will dedicate myself to it. I'll keep you updated.
Please don't do that. Please follow the XDG Base Directory Specification. That means for you: If XDG_DATA_HOME use $XDG_DATA_HOME/puNES else use ~/.local/share/puNES. Flatpak will set XDG_DATA_HOME to a custm dir. This spec should be followed no matter if the App is run with Flatpak or not.
Fixed with https://github.com/punesemu/puNES/commit/55c957b6257ef43dafffcf9aba5869518513bf25.
Not exporting share/applications/punes.desktop, non-allowed export filename
Not exporting share/icons/hicolor/32x32/apps/punes.png, non-allowed export filename
Not exporting share/icons/hicolor/256x256/apps/punes.png, non-allowed export filename
Not exporting share/icons/hicolor/48x48/apps/punes.png, non-allowed export filename
Not exporting share/icons/hicolor/16x16/apps/punes.png, non-allowed export filename
Fixed with with a few small changes to your Flatpak Manifest:
Last but not least, you need a Appstream file if you want to upload to Flathub. It contains all needed informations for the Software Centers and the Flathub website. i suggested that you use jdAppDataEdit to create one. Install as share/metainfo/com.github.punesemu.puNES.metainfo.xml.
This is the last thing left for me to do
Fixed with https://github.com/punesemu/puNES/commit/55c957b6257ef43dafffcf9aba5869518513bf25.
Nice
Fixed with with a few small changes to your Flatpak Manifest:
Please don't do that. You should really install the icons and desktop file under the app id, even outside Flatpaks. There is a standard that says you should use the app id as filename for both. rename-desktop-file
and rename-icon
only exists if someone wants to create a Flatpak for a App, which is its' own and installs the files under the wrong name. As you are author of the App, you should use the correct name.
You should also test your App with the 5.15-22.08
runtime, which was released recently.
Another thing to do with the Manifest, is adding x-checker-data
. With this, Flathub automagically checks for new releases (glu and puNES in your case) and automagically creates a PR. I can do this, when everything is ready.
Last thing to do for releasing on Flathub is tagging a new Release. Flathub usually only excepts releases (with a few exceptions) and not development versions from a random commit.
Please don't do that. You should really install the icons and desktop file under the app id, even outside Flatpaks. There is a standard that says you should use the app id as filename for both. rename-desktop-file and rename-icon only exists if someone wants to create a Flatpak for a App, which is its' own and installs the files under the wrong name. As you are author of the App, you should use the correct name.
Are you referring to this standard?
Please don't do that. You should really install the icons and desktop file under the app id, even outside Flatpaks. There is a standard that says you should use the app id as filename for both. rename-desktop-file and rename-icon only exists if someone wants to create a Flatpak for a App, which is its' own and installs the files under the wrong name. As you are author of the App, you should use the correct name.
https://github.com/punesemu/puNES/commit/12fa794d550282c100f6c0a2f9fd875891f1df43 but even renaming the files I always get the same warning:
Not exporting share/applications/com.github.punesemu.punes.desktop, non-allowed export filename
Not exporting share/icons/hicolor/16x16/apps/com.github.punesemu.punes.png, non-allowed export filename
Not exporting share/icons/hicolor/256x256/apps/com.github.punesemu.punes.png, non-allowed export filename
Not exporting share/icons/hicolor/32x32/apps/com.github.punesemu.punes.png, non-allowed export filename
Not exporting share/icons/hicolor/48x48/apps/com.github.punesemu.punes.png, non-allowed export filename
Update: OK I've fixed the warning.
Updated the Manifest with the addition of the nvidia-cg-toolkit module. I also tried with the runtime "5.15-22.08" and it works fine.
Update: OK I've fixed the warning.
Nice to hear.
Updated the Manifest with the addition of the nvidia-cg-toolkit module:
Is this optional? I ask because Flathub builds for x86_64 and aarch64.aarch64 can be disabled of course, but it is nice to have. And a x86_64 would not work on a ARM system.
Is this optional? I ask because Flathub builds for x86_64 and aarch64.aarch64 can be disabled of course, but it is nice to have. And a x86_64 would not work on a ARM system.
Yes, it's optional. Is there a way to indicate in the manifest that it should use the module only with x86_64?
Ok, now the nvidia-cg-toolkit module should only be used with the x86_64 architecture
Migrated to cmake
In order to use the joysticks/gamepads it's necessary that the emulator is run with read permissions on the /run/udev directory:
flatpak --user override --filesystem=/run/udev:ro com.github.punesemu.puNES
They are used by libudev to recognize connected gamepads.
Added support for compress files:
app-id: io.github.punesemu.puNES
runtime: org.kde.Platform
runtime-version: "5.15-22.08"
sdk: org.kde.Sdk
command: punes
finish-args:
- --socket=fallback-x11
- --socket=wayland
- --share=ipc
- --device=all
- --share=network
- --socket=pulseaudio
- --filesystem=/run/udev:ro
cleanup:
- '*.a'
- '*.la'
- /include
- /lib/pkgconfig
- /man
modules:
- name: glu
sources:
- type: archive
url: https://archive.mesa3d.org/glu/glu-9.0.2.tar.gz
sha256: 24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65
- name: p7zip
no-autogen: true
make-args:
- 7z
sources:
- type: archive
url: https://github.com/p7zip-project/p7zip/archive/v17.04/p7zip-v17.04.tar.gz
sha256: ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef
- type: shell
commands:
- sed -i 's|/usr/local|/app|g' makefile.common
- type: patch
path: p7zip-17.04-CVE-2018-11498.patch
- type: patch
path: p7zip-17.04-CVE-2021-0184.patch
- type: patch
path: p7zip-17.04-CVE-2021-3520.patch
- type: patch
path: p7zip-norar.patch
- name: nvidia-cg-toolkit
only-arches:
- x86_64
buildsystem: simple
build-commands:
- mkdir -p ${FLATPAK_DEST}/lib/pkgconfig
- install -m 0644 usr/lib64/libCg.so ${FLATPAK_DEST}/lib
- install -m 0644 usr/lib64/libCgGL.so ${FLATPAK_DEST}/lib
- install -m 0644 nvidia-cg-toolkit-gl.pc ${FLATPAK_DEST}/lib/pkgconfig
- mkdir -p ${FLATPAK_DEST}/include/Cg
- install -m 0644 usr/include/Cg/cgGL.h ${FLATPAK_DEST}/include/Cg
- install -m 0644 usr/include/Cg/cg.h ${FLATPAK_DEST}/include/Cg
sources:
- type: file
path: nvidia-cg-toolkit-gl.pc
- type: archive
url: http://developer.download.nvidia.com/cg/Cg_3.1/Cg-3.1_April2012_x86_64.tgz
sha256: e8ff01e6cc38d1b3fd56a083f5860737dbd2f319a39037528fb1a74a89ae9878
- name: puNES
buildsystem: cmake
build-options:
config-opts:
- "-DENABLE_RELEASE=ON"
- "-DENABLE_FFMPEG=ON"
- "-DENABLE_OPENGL=ON"
- "-DENABLE_OPENGL_CG=OFF"
- "-DENABLE_FULLSCREEN_RESFREQ=ON"
- "-DDISABLE_PORTABLE_MODE=ON"
arch:
x86_64:
config-opts:
- "-DENABLE_OPENGL_CG=ON"
sources:
- type: archive
url: https://github.com/punesemu/puNES/archive/refs/tags/v0.110.tar.gz
sha256: f72507daaf8d5a13184829ea2f875db49f5bc93ab8e1c8e48b2ed9a32612fe1d
- type: shell
commands:
- mkdir -p ${FLATPAK_DEST}/share/metainfo
- install -m 0644 misc/io.github.punesemu.puNES.metainfo.xml ${FLATPAK_DEST}/share/metainfo/.
In summary, 5 files are needed in addition to the manifest:
1) p7zip-17.04-CVE-2018-11498.patch
diff -upr p7zip-17.04.org/C/lizard/lizard_decompress_liz.h p7zip-17.04/C/lizard/lizard_decompress_liz.h
--- p7zip-17.04.org/C/lizard/lizard_decompress_liz.h 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/C/lizard/lizard_decompress_liz.h 2021-09-19 15:39:08.526133775 +0200
@@ -203,7 +203,7 @@ FORCE_INLINE int Lizard_decompress_LIZv1
/* last literals */
length = ctx->literalsEnd - ctx->literalsPtr;
cpy = op + length;
- if ((ctx->literalsPtr+length != iend) || (cpy > oend)) { LIZARD_LOG_DECOMPRESS_LIZv1("14"); goto _output_error; } /* Error : input must be consumed */
+ if ((length < 0) || (ctx->literalsPtr+length != iend) || (cpy > oend)) { LIZARD_LOG_DECOMPRESS_LIZv1("14"); goto _output_error; } /* Error : input must be consumed */
memcpy(op, ctx->literalsPtr, length);
ctx->literalsPtr += length;
op += length;
diff -upr p7zip-17.04.org/C/lizard/lizard_decompress_lz4.h p7zip-17.04/C/lizard/lizard_decompress_lz4.h
--- p7zip-17.04.org/C/lizard/lizard_decompress_lz4.h 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/C/lizard/lizard_decompress_lz4.h 2021-09-19 15:39:27.020342882 +0200
@@ -147,7 +147,7 @@ FORCE_INLINE int Lizard_decompress_LZ4(
/* last literals */
length = ctx->literalsEnd - ctx->literalsPtr;
cpy = op + length;
- if ((ctx->literalsPtr+length != iend) || (cpy > oend)) { LIZARD_LOG_DECOMPRESS_LZ4("9"); goto _output_error; } /* Error : input must be consumed */
+ if ((length < 0) || (ctx->literalsPtr+length != iend) || (cpy > oend)) { LIZARD_LOG_DECOMPRESS_LZ4("9"); goto _output_error; } /* Error : input must be consumed */
memcpy(op, ctx->literalsPtr, length);
ctx->literalsPtr += length;
op += length;
2) p7zip-17.04-CVE-2021-0184.patch
From e6c8a5dd40359801bf297dca3be48e38c85ed6c2 Mon Sep 17 00:00:00 2001
From: Sen Huang <senhuang96@fb.com>
Date: Tue, 4 May 2021 09:50:44 -0700
Subject: [PATCH] Fix incorrect usages of repIndex across all strategies
---
C/zstd/zstd_double_fast.c | 4 ++--
C/zstd/zstd_fast.c | 6 +++---
C/zstd/zstd_lazy.c | 12 ++++++++----
3 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/C/zstd/zstd_double_fast.c b/C/zstd/zstd_double_fast.c
index b99172e9d2..d0d3a784dd 100644
--- a/C/zstd/zstd_double_fast.c
+++ b/C/zstd/zstd_double_fast.c
@@ -409,7 +409,7 @@ static size_t ZSTD_compressBlock_doubleFast_extDict_generic(
hashSmall[hSmall] = hashLong[hLong] = curr; /* update hash table */
if ((((U32)((prefixStartIndex-1) - repIndex) >= 3) /* intentional underflow : ensure repIndex doesn't overlap dict + prefix */
- & (repIndex > dictStartIndex))
+ & (offset_1 < curr+1 - dictStartIndex)) /* note: we are searching at curr+1 */
&& (MEM_read32(repMatch) == MEM_read32(ip+1)) ) {
const BYTE* repMatchEnd = repIndex < prefixStartIndex ? dictEnd : iend;
mLength = ZSTD_count_2segments(ip+1+4, repMatch+4, iend, repMatchEnd, prefixStart) + 4;
@@ -477,7 +477,7 @@ static size_t ZSTD_compressBlock_doubleFast_extDict_generic(
U32 const repIndex2 = current2 - offset_2;
const BYTE* repMatch2 = repIndex2 < prefixStartIndex ? dictBase + repIndex2 : base + repIndex2;
if ( (((U32)((prefixStartIndex-1) - repIndex2) >= 3) /* intentional overflow : ensure repIndex2 doesn't overlap dict + prefix */
- & (repIndex2 > dictStartIndex))
+ & (offset_2 < current2 - dictStartIndex))
&& (MEM_read32(repMatch2) == MEM_read32(ip)) ) {
const BYTE* const repEnd2 = repIndex2 < prefixStartIndex ? dictEnd : iend;
size_t const repLength2 = ZSTD_count_2segments(ip+4, repMatch2+4, iend, repEnd2, prefixStart) + 4;
diff --git a/C/zstd/zstd_fast.c b/C/zstd/zstd_fast.c
index 96b7d48e28..4edc04dccd 100644
--- a/C/zstd/zstd_fast.c
+++ b/C/zstd/zstd_fast.c
@@ -416,9 +416,9 @@ static size_t ZSTD_compressBlock_fast_extDict_generic(
const BYTE* const repMatch = repBase + repIndex;
hashTable[h] = curr; /* update hash table */
DEBUGLOG(7, "offset_1 = %u , curr = %u", offset_1, curr);
- assert(offset_1 <= curr +1); /* check repIndex */
- if ( (((U32)((prefixStartIndex-1) - repIndex) >= 3) /* intentional underflow */ & (repIndex > dictStartIndex))
+ if ( ( ((U32)((prefixStartIndex-1) - repIndex) >= 3) /* intentional underflow */
+ & (offset_1 < curr+1 - dictStartIndex) ) /* note: we are searching at curr+1 */
&& (MEM_read32(repMatch) == MEM_read32(ip+1)) ) {
const BYTE* const repMatchEnd = repIndex < prefixStartIndex ? dictEnd : iend;
size_t const rLength = ZSTD_count_2segments(ip+1 +4, repMatch +4, iend, repMatchEnd, prefixStart) + 4;
@@ -453,7 +453,7 @@ static size_t ZSTD_compressBlock_fast_extDict_generic(
U32 const current2 = (U32)(ip-base);
U32 const repIndex2 = current2 - offset_2;
const BYTE* const repMatch2 = repIndex2 < prefixStartIndex ? dictBase + repIndex2 : base + repIndex2;
- if ( (((U32)((prefixStartIndex-1) - repIndex2) >= 3) & (repIndex2 > dictStartIndex)) /* intentional overflow */
+ if ( (((U32)((prefixStartIndex-1) - repIndex2) >= 3) & (offset_2 < curr - dictStartIndex)) /* intentional overflow */
&& (MEM_read32(repMatch2) == MEM_read32(ip)) ) {
const BYTE* const repEnd2 = repIndex2 < prefixStartIndex ? dictEnd : iend;
size_t const repLength2 = ZSTD_count_2segments(ip+4, repMatch2+4, iend, repEnd2, prefixStart) + 4;
diff --git a/C/zstd/zstd_lazy.c b/C/zstd/zstd_lazy.c
index 5d824beed9..3d523e8472 100644
--- a/C/zstd/zstd_lazy.c
+++ b/C/zstd/zstd_lazy.c
@@ -1994,7 +1994,8 @@ size_t ZSTD_compressBlock_lazy_extDict_generic(
const U32 repIndex = (U32)(curr+1 - offset_1);
const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
const BYTE* const repMatch = repBase + repIndex;
- if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > windowLow)) /* intentional overflow */
+ if ( ((U32)((dictLimit-1) - repIndex) >= 3) /* intentional overflow */
+ & (offset_1 < curr+1 - windowLow) ) /* note: we are searching at curr+1 */
if (MEM_read32(ip+1) == MEM_read32(repMatch)) {
/* repcode detected we should take it */
const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
@@ -2025,7 +2026,8 @@ size_t ZSTD_compressBlock_lazy_extDict_generic(
const U32 repIndex = (U32)(curr - offset_1);
const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
const BYTE* const repMatch = repBase + repIndex;
- if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > windowLow)) /* intentional overflow */
+ if ( ((U32)((dictLimit-1) - repIndex) >= 3) /* intentional overflow : do not test positions overlapping 2 memory segments */
+ & (offset_1 < curr - windowLow) ) /* equivalent to `curr > repIndex >= windowLow` */
if (MEM_read32(ip) == MEM_read32(repMatch)) {
/* repcode detected */
const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
@@ -2056,7 +2058,8 @@ size_t ZSTD_compressBlock_lazy_extDict_generic(
const U32 repIndex = (U32)(curr - offset_1);
const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
const BYTE* const repMatch = repBase + repIndex;
- if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > windowLow)) /* intentional overflow */
+ if ( ((U32)((dictLimit-1) - repIndex) >= 3) /* intentional overflow : do not test positions overlapping 2 memory segments */
+ & (offset_1 < curr - windowLow) ) /* equivalent to `curr > repIndex >= windowLow` */
if (MEM_read32(ip) == MEM_read32(repMatch)) {
/* repcode detected */
const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
@@ -2102,7 +2105,8 @@ size_t ZSTD_compressBlock_lazy_extDict_generic(
const U32 repIndex = repCurrent - offset_2;
const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
const BYTE* const repMatch = repBase + repIndex;
- if (((U32)((dictLimit-1) - repIndex) >= 3) & (repIndex > windowLow)) /* intentional overflow */
+ if ( ((U32)((dictLimit-1) - repIndex) >= 3) /* intentional overflow : do not test positions overlapping 2 memory segments */
+ & (offset_2 < repCurrent - windowLow) ) /* equivalent to `curr > repIndex >= windowLow` */
if (MEM_read32(ip) == MEM_read32(repMatch)) {
/* repcode detected we should take it */
const BYTE* const repEnd = repIndex < dictLimit ? dictEnd : iend;
3) p7zip-17.04-CVE-2021-3520.patch
diff -upr p7zip-17.04.org/C/lz4/lz4.c p7zip-17.04/C/lz4/lz4.c
--- p7zip-17.04.org/C/lz4/lz4.c 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/C/lz4/lz4.c 2021-09-19 15:43:44.358989464 +0200
@@ -1749,7 +1749,7 @@ LZ4_decompress_generic(
const size_t dictSize /* note : = 0 if noDict */
)
{
- if (src == NULL) { return -1; }
+ if ((src == NULL) || (outputSize < 0)) { return -1; }
{ const BYTE* ip = (const BYTE*) src;
const BYTE* const iend = ip + srcSize;
4) p7zip-norar.patch
diff '--color=auto' -ru p7z-orig/CPP/7zip/Bundles/Format7zFree/makefile.list p7zip-17.04/CPP/7zip/Bundles/Format7zFree/makefile.list
--- p7z-orig/CPP/7zip/Bundles/Format7zFree/makefile.list 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/CPP/7zip/Bundles/Format7zFree/makefile.list 2021-11-26 09:28:06.528954935 +0100
@@ -90,8 +90,6 @@
../../../../CPP/7zip/Archive/PeHandler.cpp \
../../../../CPP/7zip/Archive/PpmdHandler.cpp \
../../../../CPP/7zip/Archive/QcowHandler.cpp \
- ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp \
- ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp \
../../../../CPP/7zip/Archive/RpmHandler.cpp \
../../../../CPP/7zip/Archive/SplitHandler.cpp \
../../../../CPP/7zip/Archive/SquashfsHandler.cpp \
@@ -218,9 +216,6 @@
../../../../CPP/7zip/Crypto/MyAesReg.cpp \
../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp \
../../../../CPP/7zip/Crypto/RandGen.cpp \
- ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp \
- ../../../../CPP/7zip/Crypto/Rar5Aes.cpp \
- ../../../../CPP/7zip/Crypto/RarAes.cpp \
../../../../CPP/7zip/Crypto/WzAes.cpp \
../../../../CPP/7zip/Crypto/ZipCrypto.cpp \
../../../../CPP/7zip/Crypto/ZipStrong.cpp \
@@ -817,10 +812,6 @@
$(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/PpmdHandler.cpp
QcowHandler.o : ../../../../CPP/7zip/Archive/QcowHandler.cpp
$(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/QcowHandler.cpp
-RarHandler.o : ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp
- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/Rar/RarHandler.cpp
-Rar5Handler.o : ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp
- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp
RpmHandler.o : ../../../../CPP/7zip/Archive/RpmHandler.cpp
$(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Archive/RpmHandler.cpp
SplitHandler.o : ../../../../CPP/7zip/Archive/SplitHandler.cpp
@@ -1073,12 +1064,6 @@
$(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp
RandGen.o : ../../../../CPP/7zip/Crypto/RandGen.cpp
$(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/RandGen.cpp
-Rar20Crypto.o : ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp
- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/Rar20Crypto.cpp
-Rar5Aes.o : ../../../../CPP/7zip/Crypto/Rar5Aes.cpp
- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/Rar5Aes.cpp
-RarAes.o : ../../../../CPP/7zip/Crypto/RarAes.cpp
- $(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/RarAes.cpp
WzAes.o : ../../../../CPP/7zip/Crypto/WzAes.cpp
$(CXX) $(CXXFLAGS) ../../../../CPP/7zip/Crypto/WzAes.cpp
ZipCrypto.o : ../../../../CPP/7zip/Crypto/ZipCrypto.cpp
@@ -1364,8 +1349,6 @@
PeHandler.o \
PpmdHandler.o \
QcowHandler.o \
- RarHandler.o \
- Rar5Handler.o \
RpmHandler.o \
SplitHandler.o \
SquashfsHandler.o \
@@ -1492,9 +1475,6 @@
MyAesReg.o \
Pbkdf2HmacSha1.o \
RandGen.o \
- Rar20Crypto.o \
- Rar5Aes.o \
- RarAes.o \
WzAes.o \
ZipCrypto.o \
ZipStrong.o \
diff '--color=auto' -ru p7z-orig/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt p7zip-17.04/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt
--- p7z-orig/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt 2021-11-26 09:28:33.919148657 +0100
@@ -225,8 +225,6 @@
"../../../../CPP/7zip/Archive/PeHandler.cpp"
"../../../../CPP/7zip/Archive/PpmdHandler.cpp"
"../../../../CPP/7zip/Archive/QcowHandler.cpp"
- "../../../../CPP/7zip/Archive/Rar/RarHandler.cpp"
- "../../../../CPP/7zip/Archive/Rar/Rar5Handler.cpp"
"../../../../CPP/7zip/Archive/RpmHandler.cpp"
"../../../../CPP/7zip/Archive/SplitHandler.cpp"
"../../../../CPP/7zip/Archive/SquashfsHandler.cpp"
@@ -353,9 +351,6 @@
"../../../../CPP/7zip/Crypto/MyAesReg.cpp"
"../../../../CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp"
"../../../../CPP/7zip/Crypto/RandGen.cpp"
- "../../../../CPP/7zip/Crypto/Rar20Crypto.cpp"
- "../../../../CPP/7zip/Crypto/Rar5Aes.cpp"
- "../../../../CPP/7zip/Crypto/RarAes.cpp"
"../../../../CPP/7zip/Crypto/WzAes.cpp"
"../../../../CPP/7zip/Crypto/ZipCrypto.cpp"
"../../../../CPP/7zip/Crypto/ZipStrong.cpp"
diff '--color=auto' -ru p7z-orig/CPP/7zip/CMAKE/generate.sh p7zip-17.04/CPP/7zip/CMAKE/generate.sh
--- p7z-orig/CPP/7zip/CMAKE/generate.sh 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/CPP/7zip/CMAKE/generate.sh 2021-11-26 09:29:04.786057324 +0100
@@ -15,15 +15,15 @@
cd $CURDIR
doit "Unix" "Unix Makefiles"
-cd $CURDIR
-doit "codeblocks" "CodeBlocks - Unix Makefiles"
+# cd $CURDIR
+# doit "codeblocks" "CodeBlocks - Unix Makefiles"
#cd $CURDIR
#doit "KDevelop3" "KDevelop3"
-cd $CURDIR
-doit "EclipseCDT4" "Eclipse CDT4 - Unix Makefiles"
+# cd $CURDIR
+# doit "EclipseCDT4" "Eclipse CDT4 - Unix Makefiles"
-cd $CURDIR
-doit "ninja" "Ninja"
+# cd $CURDIR
+# doit "ninja" "Ninja"
diff '--color=auto' -ru p7z-orig/DOC/License.txt p7zip-17.04/DOC/License.txt
--- p7z-orig/DOC/License.txt 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/DOC/License.txt 2021-11-26 09:29:20.982860082 +0100
@@ -1,3 +1,6 @@
+ Fedora package note: non-Free unrar code have been removed from the sources
+ (#190277)
+
7-Zip source code
~~~~~~~~~~~~~~~~~
License for use and distribution
diff '--color=auto' -ru p7z-orig/makefile p7zip-17.04/makefile
--- p7z-orig/makefile 2021-04-04 05:11:06.000000000 +0200
+++ p7zip-17.04/makefile 2021-11-26 09:29:45.853080173 +0100
@@ -31,7 +31,6 @@
$(MAKE) -C CPP/7zip/UI/Client7z depend
$(MAKE) -C CPP/7zip/UI/Console depend
$(MAKE) -C CPP/7zip/Bundles/Format7zFree depend
- $(MAKE) -C CPP/7zip/Compress/Rar depend
$(MAKE) -C CPP/7zip/UI/GUI depend
$(MAKE) -C CPP/7zip/UI/FileManager depend
@@ -42,7 +41,6 @@
common7z:common
$(MKDIR) bin/Codecs
$(MAKE) -C CPP/7zip/Bundles/Format7zFree all
- $(MAKE) -C CPP/7zip/Compress/Rar all
lzham:common
$(MKDIR) bin/Codecs
@@ -67,7 +65,6 @@
$(MAKE) -C CPP/7zip/UI/FileManager clean
$(MAKE) -C CPP/7zip/UI/GUI clean
$(MAKE) -C CPP/7zip/Bundles/Format7zFree clean
- $(MAKE) -C CPP/7zip/Compress/Rar clean
$(MAKE) -C CPP/7zip/Compress/Lzham clean
$(MAKE) -C CPP/7zip/Bundles/LzmaCon clean2
$(MAKE) -C CPP/7zip/Bundles/AloneGCOV clean
5) nvidia-cg-toolkit-gl.pc
prefix=/app
libdir=${prefix}/lib
includedir=${prefix}/include
Name: nvidia-cg-toolkit
Description: NVIDIA's C graphics compiler toolkit
Version: 3.1.0013
URL: https://developer.nvidia.com/cg-toolkit
Libs: -L${libdir} -lCg -lCgGL
Cflags: -I${includedir}
And to have gamepad support it needs to be started with the --filesystem=/run/udev:ro
option
You should update your manifest to the 5.15-22.08
KDE runtime.
Is there anything blocking uploading this to Flathub?
You should update your manifest to the 5.15-22.08 KDE runtime.
Done
Is there anything blocking uploading this to Flathub?
Between today and tomorrow I will release version 0.110 so we can update the manifest to use the official release.
Nice to hear! Don't forget to add your new release to the metainfo file.
btw:
If you want a Qt6 build, use the 6.4
runtime instead of the 5.15-22.08
runtime
Totally forgot to tell you, you should add --filesystem=/run/udev:ro com.github.punesemu
to the finish-args
, then you don't need to run it with the overwrite.
If you ready to publish the new Version on Flathub, here is how
Another thing to do with the Manifest, is adding x-checker-data. With this, Flathub automagically checks for new releases (glu and puNES in your case) and automagically creates a PR. I can do this, when everything is ready.
JakobDev can you help me out with this too?
Sure. I will make a update against the Flathub Repo when I have time
A big thanks for all your efforts and work, Now we have this awesome emulator on flathub, ready for install on any GNU Linux OS. I tested it on my systems and all it´s working without issues. Thanks, really.
It will be so nice to have this awesome emulator on flathub, any possibility to see puNES as a flatpak?