From: MIvanchev <MIvanchev@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] New package: psxmemcardmgr-0.9.1
Date: Sun, 14 Jul 2024 12:14:41 +0200 [thread overview]
Message-ID: <20240714101441.DEBF62A46D@inbox.vuxu.org> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-51251@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 683 bytes --]
There is an updated pull request by MIvanchev against master on the void-packages repository
https://github.com/MIvanchev/void-packages psxmemcardmgr
https://github.com/void-linux/void-packages/pull/51251
New package: psxmemcardmgr-0.9.1
#### Testing the changes
- I tested the changes in this PR: **YES**
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**
#### Local build testing
- I built this PR locally for my native architecture, (X86_64-GLIBC)
A patch file from https://github.com/void-linux/void-packages/pull/51251.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-psxmemcardmgr-51251.patch --]
[-- Type: text/x-diff, Size: 18716 bytes --]
From e53fd6be773d95c57a2e12929e09d3c368712a70 Mon Sep 17 00:00:00 2001
From: Mihail Ivanchev <contact@ivanchev.net>
Date: Sun, 14 Jul 2024 12:05:59 +0300
Subject: [PATCH] New package: psxmemcardmgr-0.9.1
---
...allel-port-for-unsupported-platforms.patch | 539 ++++++++++++++++++
srcpkgs/psxmemcardmgr/template | 17 +
2 files changed, 556 insertions(+)
create mode 100644 srcpkgs/psxmemcardmgr/patches/qt5-and-disable-parallel-port-for-unsupported-platforms.patch
create mode 100644 srcpkgs/psxmemcardmgr/template
diff --git a/srcpkgs/psxmemcardmgr/patches/qt5-and-disable-parallel-port-for-unsupported-platforms.patch b/srcpkgs/psxmemcardmgr/patches/qt5-and-disable-parallel-port-for-unsupported-platforms.patch
new file mode 100644
index 00000000000000..f2c7ba504ed9a1
--- /dev/null
+++ b/srcpkgs/psxmemcardmgr/patches/qt5-and-disable-parallel-port-for-unsupported-platforms.patch
@@ -0,0 +1,539 @@
+diff --git a/CardSlots.cpp b/CardSlots.cpp
+index 2de9e49..0c8feab 100644
+--- a/CardSlots.cpp
++++ b/CardSlots.cpp
+@@ -3,42 +3,40 @@ memoire, soit les icones, les descriptions et le pays d'origine. */
+ #include <qpixmap.h>
+ #include <qlayout.h>
+ #include <qframe.h>
+-#include <q3listview.h>
++#include <QTreeWidget>
+ #include "CardSlots.h"
+
+-CardSlots::CardSlots( QWidget *parent, const char *name ) : QFrame(parent,name)
++CardSlots::CardSlots( QWidget *parent, const char *name ) : QFrame(parent), pmEmptyIcon(16,16)
+ {
+ // create a 3 X 15 grid
+ // Parent, row, cols, border, space, name
+ //QGridLayout *grid = new QGridLayout( this, 5, 15, 1,0,"name" );
+- QVBoxLayout *box = new QVBoxLayout(this, 0,0,"layout");
++ setObjectName(name);
++ QVBoxLayout *box = new QVBoxLayout(this);
++ box->setMargin(0);
++ box->setSpacing(0);
+ this->setFrameStyle(QFrame::Panel | QFrame::Sunken);
+
+- listview = new Q3ListView(this,"listview");
+- listview->addColumn("Blk");
+- listview->addColumn("Ico");
+- listview->addColumn("Title",-1);
+- listview->addColumn("Game ID");
+- listview->addColumn("Product Code");
++ listview = new QTreeWidget(this);
++ listview->setColumnCount(5);
++ listview->setHeaderLabels({"Block", "Icon", "Title", "Game ID", "Product Code"});
+
+ //listview->setColumnWidthMode(2,Maximum);
+ listview->setAllColumnsShowFocus(true);
+- listview->setSorting(-1,true);
+
+- for (int i=14; i>=0; i--)
++ for (int i=0; i<15; ++i)
+ {
+- card_slots[i] = new Q3ListViewItem( listview, QString::number(i+1,10),"", "","","");
++ card_slots[i] = new QTreeWidgetItem( listview, {QString::number(i+1,10),"", "","",""});
+ }
+- pmEmptyIcon.resize(16,16);
+
+ box->addWidget(listview);
+-
++ setLayout(box);
+ }
+
+ void CardSlots::changeIcon(int num, QPixmap pixmap)
+ {
+ card_slots[num]->setText(1,"");
+- card_slots[num]->setPixmap(1,pixmap);
++ card_slots[num]->setIcon(1,QIcon(pixmap));
+ }
+
+ void CardSlots::changeText(int num, QString string)
+diff --git a/CardSlots.h b/CardSlots.h
+index 90acccd..a51998f 100644
+--- a/CardSlots.h
++++ b/CardSlots.h
+@@ -3,7 +3,7 @@
+ #include <qradiobutton.h>
+ #include <qpixmap.h>
+ #include <qframe.h>
+-#include <q3listview.h>
++#include <QTreeWidget>
+
+ #ifndef CARDSLOTS_H
+ #define CARDSLOTS_H
+@@ -25,7 +25,7 @@ public slots:
+ void clear(int num);
+
+ private:
+- Q3ListViewItem *card_slots[15];
++ QTreeWidgetItem *card_slots[15];
+
+ QLabel *lblIcons[15];
+ QRadioButton *radioBtn[15];
+@@ -33,7 +33,7 @@ private:
+ QLabel *lblPcode[15];
+ QLabel *lblGameID[15];
+ QPixmap pmEmptyIcon;
+- Q3ListView *listview;
++ QTreeWidget *listview;
+ };
+
+ #endif // CARDSLOTS_H
+diff --git a/MainWindow.cpp b/MainWindow.cpp
+index 1e8557a..12f8ae3 100644
+--- a/MainWindow.cpp
++++ b/MainWindow.cpp
+@@ -13,68 +13,71 @@
+ #include <qmessagebox.h>
+ #include <qstatusbar.h>
+ #include <qmenubar.h>
+-#include <q3popupmenu.h>
++#include <QMenuBar>
+ #include <qtoolbar.h>
+ #include <qfiledialog.h>
+ #include <qinputdialog.h>
+-#include <q3progressdialog.h>
++#include <QProgressDialog>
+
+ #include "CardSlots.h"
+ #include "MainWindow.h"
+
+ MainWindow::MainWindow( QWidget *parent, const char *name )
+- : QMainWindow( 0, "PSX")
++ : QMainWindow(nullptr)
+ {
+-
++ setObjectName("PSX");
+ cardslots = new CardSlots( this, "carte"); // Create the card widget
+ psx_card = new PSX_memory_card(); // Create a memory card
+
+ /****************** Set up the menu bar ********************/
+- Q3PopupMenu *mnuFile = new Q3PopupMenu(this);
+- Q3PopupMenu *mnuEdit = new Q3PopupMenu(this);
+- Q3PopupMenu *mnuMemCard = new Q3PopupMenu(this);
+- Q3PopupMenu *mnuModify = new Q3PopupMenu(this);
+-
+- Q3PopupMenu *mnuHelp = new Q3PopupMenu(this);
+-
+-
+- menuBar()->insertItem("&File", mnuFile);
+- mnuFile->insertItem( "&New Memory Card Image", this, SLOT( new_mc_image() ),Qt::CTRL+Qt::Key_N);
+- mnuFile->insertSeparator();
+- mnuFile->insertItem( "&Load Image", this, SLOT( load_mc_image() ),Qt::CTRL+Qt::Key_O);
+- mnuFile->insertItem( "&Save Image", this, SLOT( save_mc_image() ),Qt::CTRL+Qt::Key_S);
+- mnuFile->insertSeparator();
+- mnuFile->insertItem( "Load Single Game Save", this, SLOT( load_single_game() ));
+- mnuFile->insertItem( "Save Single Game Save", this, SLOT( save_single_game() ));
+- mnuFile->insertSeparator();
+- mnuFile->insertItem( "&Quit", qApp, SLOT( quit() ) );
+-
+- menuBar()->insertItem("&Edit", mnuEdit);
+- mnuEdit->insertItem("Cut", this, SLOT( dummy() ) );
+- mnuEdit->insertItem("Copy", this, SLOT( dummy() ) );
+- mnuEdit->insertItem("Paste", this, SLOT( dummy() ) );
+- mnuEdit->insertSeparator();
+- mnuEdit->insertItem("Delete block", this, SLOT( del() ) );
+- mnuEdit->insertItem("UnDelete block", this, SLOT( undel() ) );
+-
+- menuBar()->insertItem("&Modify", mnuModify);
+- mnuModify->insertItem("Edit Product code...", this, SLOT( set_gamePcode() ) );
+- mnuModify->insertItem("Edit Game ID...", this, SLOT( set_gameID() ) );
+- mnuModify->insertItem("Edit Title...", this, SLOT( dummy() ) );
+-
+- menuBar()->insertItem("&MemCard", mnuMemCard);
+- mnuMemCard->insertItem( "Write to memory card", this, SLOT( upload() ) );
+- mnuMemCard->insertItem( "Read from memory card", this, SLOT( download() ) );
+-
+-
+- menuBar()->insertItem("&Help", mnuHelp);
+- mnuHelp->insertItem("&About...", this, SLOT( showabout() ));
+- mnuHelp->insertItem("&About Qt...", this, SLOT( showaboutQt() ));
++ QMenu *mnuFile = new QMenu("&File", this);
++ QMenu *mnuEdit = new QMenu("&Edit", this);
++ QMenu *mnuMemCard = new QMenu("Mem&Card", this);
++#if !defined(__x86_64__) && !defined(__i386__)
++ mnuMemCard->setEnabled(false);
++#endif
++ QMenu *mnuModify = new QMenu("&Modify", this);
++
++ QMenu *mnuHelp = new QMenu("&Help", this);
++
++
++ menuBar()->addMenu(mnuFile);
++ mnuFile->addAction( "&New Memory Card Image", this, SLOT( new_mc_image() ),Qt::CTRL+Qt::Key_N);
++ mnuFile->addSeparator();
++ mnuFile->addAction( "&Open Image", this, SLOT( load_mc_image() ),Qt::CTRL+Qt::Key_O);
++ mnuFile->addAction( "&Save Image", this, SLOT( save_mc_image() ),Qt::CTRL+Qt::Key_S);
++ mnuFile->addSeparator();
++ mnuFile->addAction( "Load Single Game Save", this, SLOT( load_single_game() ));
++ mnuFile->addAction( "Save Single Game Save", this, SLOT( save_single_game() ));
++ mnuFile->addSeparator();
++ mnuFile->addAction( "&Quit", qApp, SLOT( quit() ), Qt::CTRL+Qt::Key_Q);
++
++ menuBar()->addMenu(mnuEdit);
++ mnuEdit->addAction("Cut", this, SLOT( dummy() ) );
++ mnuEdit->addAction("Copy", this, SLOT( dummy() ) );
++ mnuEdit->addAction("Paste", this, SLOT( dummy() ) );
++ mnuEdit->addSeparator();
++ mnuEdit->addAction("Delete block", this, SLOT( del() ) );
++ mnuEdit->addAction("UnDelete block", this, SLOT( undel() ) );
++
++ menuBar()->addMenu(mnuModify);
++ mnuModify->addAction("Edit Product code...", this, SLOT( set_gamePcode() ) );
++ mnuModify->addAction("Edit Game ID...", this, SLOT( set_gameID() ) );
++ mnuModify->addAction("Edit Title...", this, SLOT( dummy() ) );
++
++ menuBar()->addMenu(mnuMemCard);
++ mnuMemCard->addAction( "Write to memory card", this, SLOT( upload() ) );
++ mnuMemCard->addAction( "Read from memory card", this, SLOT( download() ) );
++
++
++ menuBar()->addMenu(mnuHelp);
++ mnuHelp->addAction("&About...", this, SLOT( showabout() ));
++ mnuHelp->addAction("About &Qt...", this, SLOT( showaboutQt() ));
+
+
+ setCentralWidget(cardslots);
+- statusBar()->message( "Ready", 2000 );
+- resize( 400, 340 );
++ statusBar()->showMessage( "Ready", 2000 );
++ resize( 550, 400 );
+
+ clear(); // just in case
+ }
+@@ -86,22 +89,21 @@ void MainWindow::new_mc_image()
+
+ void MainWindow::load_mc_image()
+ {
+- QString fn = QFileDialog::getOpenFileName( QString::null, "Memory Card images(*.mc *.mcr *.gme)",
+- this);
++ QString fn = QFileDialog::getOpenFileName( this, QString::null, QString::null, "Memory Card images(*.mc *.mcr *.gme)");
+ if ( !fn.isEmpty() )
+ load( fn );
+ else
+- statusBar()->message( "Loading aborted", 2000 );
++ statusBar()->showMessage( "Loading aborted", 2000 );
+ }
+
+
+ void MainWindow::save_mc_image()
+ {
+- QString fn = QFileDialog::getSaveFileName( QString::null, "*.mc", this);
++ QString fn = QFileDialog::getSaveFileName( this, QString::null, QString::null, "*.mc");
+ if ( !fn.isEmpty() )
+ save( fn );
+ else
+- statusBar()->message( "Saving aborted", 2000 );
++ statusBar()->showMessage( "Saving aborted", 2000 );
+ }
+
+ void MainWindow::save_single_game()
+@@ -120,11 +122,11 @@ void MainWindow::save_single_game()
+ }
+
+
+- QString fn = QFileDialog::getSaveFileName( QString::null, "*.mcs", this);
++ QString fn = QFileDialog::getSaveFileName( this, QString::null, QString::null, "*.mcs");
+ if ( !fn.isEmpty() )
+ psx_card->save_single_game(fn, selected_slot);
+ else
+- statusBar()->message( "Saving aborted", 2000 );
++ statusBar()->showMessage( "Saving aborted", 2000 );
+
+
+ }
+@@ -147,20 +149,20 @@ void MainWindow::load_single_game()
+
+ }
+
+- QString fn = QFileDialog::getOpenFileName( QString::null, "*.mcs", this);
++ QString fn = QFileDialog::getOpenFileName(this, QString::null, QString::null, "*.mcs");
+ if ( !fn.isEmpty() )
+ {
+ psx_card->load_single_game(fn, selected_slot);
+ updateSlots();
+ }
+ else
+- statusBar()->message( "Loading aborted", 2000 );
++ statusBar()->showMessage( "Loading aborted", 2000 );
+
+ }
+
+ void MainWindow::set_gameID()
+ {
+- bool ok = FALSE;
++ bool ok = false;
+ int selected_slot = cardslots->get_selected_slot();
+ if (selected_slot==-1)
+ {
+@@ -176,13 +178,13 @@ void MainWindow::set_gameID()
+ updateSlots();
+ }
+ else
+- statusBar()->message("Change game ID aborted", 2000);
++ statusBar()->showMessage("Change game ID aborted", 2000);
+
+ }
+
+ void MainWindow::set_gamePcode()
+ {
+- bool ok = FALSE;
++ bool ok = false;
+ int selected_slot = cardslots->get_selected_slot();
+ if (selected_slot==-1)
+ {
+@@ -198,7 +200,7 @@ void MainWindow::set_gamePcode()
+ updateSlots();
+ }
+ else
+- statusBar()->message("Change game ID aborted", 2000);
++ statusBar()->showMessage("Change game ID aborted", 2000);
+
+ }
+
+@@ -254,16 +256,17 @@ void MainWindow::upload()
+ return;
+ }
+
+- Q3ProgressDialog qp("label 1","Stop",1024,this,"qp",true);
++ QProgressDialog qp("label 1","Stop",0,1024,this);
+
+- qp.setProgress(0);
+- qp.setAutoClose(true);
++ qp.setModal(true);
++ qp.setValue(0);
++ qp.setAutoClose(true);
+ qp.setMinimumDuration(0);
+- qp.setCaption("Writing to memory card...");
++ qp.setWindowTitle("Writing to memory card...");
+ qp.show();
+ for (int i=0; i<1024; i++)
+ {
+- qp.setProgress( i );
++ qp.setValue( i );
+ qApp->processEvents();
+
+ //qp.setLabelText("Writing Block "+QString::number((i/64)+1,10)+"/16");
+@@ -279,7 +282,7 @@ void MainWindow::upload()
+ qp.setLabelText("Still trying...(is there a memory card?)");
+ }
+ }
+- if (qp.wasCancelled())
++ if (qp.wasCanceled())
+ {
+ QMessageBox::warning(this,"Error","Data on memory card may be corrupted.");
+ return;
+@@ -314,16 +317,16 @@ void MainWindow::download()
+ return;
+ }
+
+- Q3ProgressDialog qp("label 1","Stop",1024,this,"qp",true);
++ QProgressDialog qp("label 1","Stop",0,1024,this);
+
+- //qp.setProgress(0);
+- qp.setAutoClose(true);
++ qp.setModal(true);
++ qp.setAutoClose(true);
+ qp.setMinimumDuration(0);
+- qp.setCaption("Reading from memory card...");
++ qp.setWindowTitle("Reading from memory card...");
+ qp.show();
+ for (int i=0; i<1024; i++)
+ {
+- qp.setProgress( i );
++ qp.setValue( i );
+ qApp->processEvents();
+
+ if (retry==0) { qp.setLabelText("Reading Block "+QString::number((i/64)+1,10)+"/16"); }
+@@ -339,7 +342,7 @@ void MainWindow::download()
+ }
+ }
+
+- if (qp.wasCancelled()) { return; }
++ if (qp.wasCanceled()) { return; }
+
+ if (psx_card->load_card_frame(i))
+ {
+diff --git a/PSX_memory_card.cpp b/PSX_memory_card.cpp
+index 01213b2..d02324e 100644
+--- a/PSX_memory_card.cpp
++++ b/PSX_memory_card.cpp
+@@ -25,8 +25,8 @@ PSX_memory_card::PSX_memory_card()
+ // Create image buffer for icons
+ for (int i=0; i<15; i++)
+ {
+- slot_icons[i] = new QImage(16, 16, 32, 16, QImage::IgnoreEndian);
+- slot_icons[i]->setAlphaBuffer(true);
++ slot_icons[i] = new QImage(16, 16, QImage::Format_ARGB32);
++ slot_icons[i]->setColorCount(16);
+ slot_icons[i]->fill(0);
+ }
+
+@@ -47,19 +47,19 @@ PSX_memory_card::~PSX_memory_card()
+ int PSX_memory_card::load_file(QString filename)
+ {
+ QFile f(filename);
+- f.open( IO_ReadOnly ); // index set to 0
++ f.open( QIODevice::ReadOnly ); // index set to 0
+ if (f.size()<131072) { return 0; } // the file is too small...
+ if (f.size()==134976)
+ {
+ // This must be a DexDrive file.
+- f.at(3904); // skip dexdrive header, and go to the memory card header it's self.
++ f.seek(3904); // skip dexdrive header, and go to the memory card header it's self.
+ qDebug("Assuming dexDrive format");
+ }
+ else
+ {
+ qDebug("Reading raw memory card image");
+ }
+- f.readBlock(memoryCard,131072);
++ f.read(memoryCard,131072);
+ f.close();
+ // Now, lets fill up data
+ update();
+@@ -69,8 +69,8 @@ int PSX_memory_card::load_file(QString filename)
+ int PSX_memory_card::save_file(QString filename)
+ {
+ QFile f(filename);
+- f.open( IO_WriteOnly );
+- f.writeBlock(memoryCard,131072);
++ f.open( QIODevice::WriteOnly );
++ f.write(memoryCard,131072);
+ f.close();
+ return 0;
+ }
+@@ -175,9 +175,9 @@ int PSX_memory_card::save_single_game(QString filename, int src_slot)
+
+ // Open the file and write the data
+ QFile f(filename);
+- f.open( IO_WriteOnly);
+- f.writeBlock(directory_entry, 128);
+- f.writeBlock(save_data, 8192);
++ f.open( QIODevice::WriteOnly);
++ f.write(directory_entry, 128);
++ f.write(save_data, 8192);
+ f.close();
+
+ return 0;
+@@ -192,9 +192,9 @@ int PSX_memory_card::load_single_game(QString filename, int dest_slot)
+
+ // Open the file and read the data
+ QFile f(filename);
+- f.open(IO_ReadOnly);
+- f.readBlock(directory_entry, 128);
+- f.readBlock(save_data, 8192);
++ f.open(QIODevice::ReadOnly);
++ f.read(directory_entry, 128);
++ f.read(save_data, 8192);
+ f.close();
+
+ // Read the directory entry in the directory block
+@@ -582,7 +582,7 @@ void PSX_memory_card::set_slot_gameID(int slot, QString newID)
+ int position;
+ int i=0;
+ int max_title_length=102; // not counting 0
+- const char *id_string = newID.latin1();
++ const char *id_string = newID.toLatin1().constData();
+
+
+ position=0x80+(slot*0x80); // get to the start of the frame
+@@ -622,7 +622,7 @@ void PSX_memory_card::set_slot_Pcode(int slot, QString newPcode)
+ int position;
+ int i=0;
+ int max_title_length=10; // not counting 0
+- const char *id_string = newPcode.latin1();
++ const char *id_string = newPcode.toLatin1().constData();
+
+
+ position=0x80+(slot*0x80); // get to the start of the frame
+diff --git a/card_link.c b/card_link.c
+index 2ac0e08..0275be0 100644
+--- a/card_link.c
++++ b/card_link.c
+@@ -1,3 +1,4 @@
++#if defined(__x86_64__) || defined(__i386__)
+ #include "psxpblib.h"
+
+ #define BASE_ADDR 0x378
+@@ -33,3 +34,29 @@ int get_perm()
+ {
+ return psx_obtain_io_permission(BASE_ADDR);
+ }
++#else
++char *read_block(int block_num)
++{
++ return NULL;
++}
++
++int write_block(int block_num, char *data)
++{
++ return NULL;
++}
++
++char *read_frame(int frame)
++{
++ return NULL;
++}
++
++int write_frame(int frame, char *data)
++{
++ return 0;
++}
++
++int get_perm()
++{
++ return 0;
++}
++#endif
+diff --git a/main.cpp b/main.cpp
+index 6c3b223..2962bfb 100644
+--- a/main.cpp
++++ b/main.cpp
+@@ -9,8 +9,7 @@ int main( int argc, char **argv )
+ QApplication a( argc, argv );
+
+ MainWindow w;
+- a.setMainWidget( &w );
+- w.setCaption( "PSX Memory Card manager v" xstr(VERSION) );
++ w.setWindowTitle( "PSX Memory Card manager v" xstr(VERSION) );
+ w.show();
+
+ return a.exec();
+diff --git a/psxcardmgr.pro b/psxcardmgr.pro
+index 6e374e3..3207902 100644
+--- a/psxcardmgr.pro
++++ b/psxcardmgr.pro
+@@ -4,7 +4,7 @@ TARGET = psxcardmgr
+ DEPENDPATH += .
+ INCLUDEPATH += .
+
+-QT += qt3support
++QT += widgets
+
+ DEFINES += VERSION=0.9.1
+
+@@ -17,6 +17,11 @@ win32 {
+ QMAKE_CXXFLAGS += -Wno-unused-parameter
+ QMAKE_CFLAGS += -Wno-unused-parameter
+
+-HEADERS += card_link.h CardSlots.h MainWindow.h PSX_memory_card.h psxpblib.h
+-SOURCES += card_link.c main.cpp PSX_memory_card.cpp CardSlots.cpp MainWindow.cpp psxpblib.c
++HEADERS += card_link.h CardSlots.h MainWindow.h PSX_memory_card.h
++SOURCES += card_link.c main.cpp PSX_memory_card.cpp CardSlots.cpp MainWindow.cpp
++
++contains(QMAKE_HOST.arch, x86.*) {
++ HEADERS += psxpblib.h
++ SOURCES += psxpblib.c
++}
+
diff --git a/srcpkgs/psxmemcardmgr/template b/srcpkgs/psxmemcardmgr/template
new file mode 100644
index 00000000000000..0f8beaf92b1318
--- /dev/null
+++ b/srcpkgs/psxmemcardmgr/template
@@ -0,0 +1,17 @@
+# Template file for 'psxmemcardmgr'
+pkgname=psxmemcardmgr
+version=0.9.1
+revision=1
+build_style=qmake
+hostmakedepends="qt5-qmake qt5-host-tools"
+makedepends="qt5-devel"
+short_desc="PSX Memory Card Manager"
+maintainer="Mihail Ivanchev <contact@ivanchev.net>"
+license="GPL-3.0-or-later"
+homepage="https://github.com/raphnet/psxmemcardmgr"
+distfiles="https://github.com/raphnet/psxmemcardmgr/archive/refs/tags/v${version}.tar.gz"
+checksum=f12d9d30792dfbb7890fc3408796af3a1d2ba4dc449b6ec0eeb9b650dd721a9d
+
+do_install() {
+ vbin psxcardmgr
+}
next prev parent reply other threads:[~2024-07-14 10:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-14 9:09 [PR PATCH] " MIvanchev
2024-07-14 10:06 ` [PR PATCH] [Updated] " MIvanchev
2024-07-14 10:14 ` MIvanchev [this message]
2024-07-14 10:18 ` MIvanchev
2024-07-14 10:19 ` MIvanchev
2024-07-14 10:33 ` MIvanchev
2024-07-14 11:02 ` MIvanchev
2024-07-14 11:06 ` MIvanchev
2024-10-13 2:03 ` github-actions
2024-10-14 10:38 ` MIvanchev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240714101441.DEBF62A46D@inbox.vuxu.org \
--to=mivanchev@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).