NetMauMau

Card

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on git.opendesktop.org

0
Score 50%
Description:

Play the popular card game Mau Mau (similar to UNO®) against the computer or over the network with your friends.

It consists of a highly configurable stand-alone server and a client based on Qt4/5. The client's development is now ceased and in search of a new maintainer, transforming it from a worse and annoying showstopper to a usable and fun to play one.

Features

[li]Play against an unlimited number of tactical playing computer (AI) opponents[/li][li]Play against an unlimited number of human players over the network[/li][li]Play ace/queen/king rounds (optional)[/li][li]Support for player images[/li][li]Spoken feedback[/li][li]Server side scores[/li][li]Away from home, but PC is running? On Linux/BSD you can run the server on demand by using (x)inetd, on Windows install it as service[/li][li]Highly customizeable rules, even tweak them to your needs with Lua[/li][li]Integrated webserver to show the server's status[/li]

Ubuntu users can add my PPA repo ppa:velnias/velnias to get the latest releases.

http://www.playdeb.net/game/NetMauMau offers binaries for Ubuntu too.

The package is available in the AUR (Arch Linux) at https://aur.archlinux.org/packages/nmm-qt-client/

openSUSE[li]Server: http://software.opensuse.org/download.html?project=home%3Aecsos&package=NetMauMau-server[/li][li]Client: http://software.opensuse.org/download.html?project=home%3Aecsos&package=NetMauMau-client-qt[/li]

Visit https://github.com/velnias75/NetMauMau for more information.

Last changelog:

4 years ago

[li]integrated webserver to show the server's status[/li][li]increased performance[/li][li]bugfixes[/li]

mariobl

4 years ago

OK, I've changed the appropriate line to:

%{qmake_qt4} CONFIG+=release src.pro

The %{qmake_qt4} macro expands to:

$ rpm --eval %{qmake_qt4}

/usr/lib64/qt4/bin/qmake \
QMAKE_CFLAGS_DEBUG="${CFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \
QMAKE_CFLAGS_RELEASE="${CFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \
QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:--O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic}" \
QMAKE_LFLAGS_DEBUG="${LDFLAGS:--Wl,-z,relro }" \
QMAKE_LFLAGS_RELEASE="${LDFLAGS:--Wl,-z,relro }" \
QMAKE_STRIP=

Same files in the package:

$ tree
.
└── usr
├── bin
│   └── nmm-qt-client
└── share
├── applications
│   └── nmm_qt_client.desktop
├── icons
│   └── hicolor
│   └── 256x256
│   └── apps
│   └── nmm_qt_client.png
└── licenses
└── nmm-qt-client
└── COPYING

Report

C

HeikoSchfer

4 years ago

Last idea, I guess you didn't took the src.pro 1:1?

Important for the translation are the last 3 lines of the src.pro. Do you have pasted them, too?

Report

C

HeikoSchfer

4 years ago

Hm, you are right. Now it doesn't work for me too :-O

Report

mariobl

4 years ago

Now it works. I create the qm file with

lrelease-qt4 -nounfinished nmm_qt_client_de_DE.ts \
-qm nmm_qt_client_de_DE.qm

and install it:

mkdir -p %{buildroot}%{_datadir}/%{name}
install -p -m 644 nmm_qt_client_de_DE.qm %{buildroot}%{_datadir}/%{name}

After restarting nmm-qt-client, I see the UI in German.

Report

C

HeikoSchfer

4 years ago

Ok, but for the future, it seems I got it to work in the src.pro as well.

But there are new source files listed as well, so you may want to update your spec after 0.13 is finished (should happen tomorrow)

Also if you publish your packages somewhere, can you give me the instructions for both packages to include in my README.md's?

Report

mariobl

4 years ago

OK, I will wait for the next release. Anyway, the package is still far from being releasable officially for review. There are still some unanswered questions (mostly regarding the packaging guidelines for Fedora):

Should I start the server at boot time via systemd? Actually it is not needed, because a local game server can be started using the GUI. Currently the server package is monolithic, maxbe I will split it into the libs needed for the client and the server itself. This way nobody is forced to install the server, if only network games are intended.

Due to a change in the next Fedora release, we need an *.appdata file, see http://people.freedesktop.org/~hughsient/appdata/. I will write one and post it here.

I'm still missing some basic docs for nmm-qt-client, at least a README file and installation instructions.

Once the packages are ready for the users, I will provide them in a Copr repo (similar to Ubuntu's PPAs).

Report

C

HeikoSchfer

4 years ago

Generally would it be possible to move the discussion to Github? There are also all relevant documentation.

Server start is done best via xinetd.

You can see, comment and even make pull requests on here: https://github.com/velnias75/NetMauMau-Qt-Client and https://github.com/velnias75/NetMauMau

Report

C

HeikoSchfer

4 years ago

Also you can see the Debian packaging on how to split the server into suitable subpackages.

Report

C

HeikoSchfer

4 years ago

For your packaging, you may be insterested in following: https://bugs.launchpad.net/getdeb.net/+bug/1419407

Report

mariobl

4 years ago

> Isn't it possible, like on Gentoo & Debian, to
> call lrelease from the spec and to add the *.qm
> manually?

Yes, it is. I will do so.

Report

mariobl

4 years ago

Well, I was able to install and run the game server, but while compiling the nmm-qt-client sources, I cannot use "make install". I can launch the binary from the build directory (in English only, the German translation is not in use this way), but this is not useful at all, because I like to build a RPM package for Fedora.

I use "make install INSTALL_ROOT=%{buildroot}", which expands to "make install INSTALL_ROOT=/home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64". I get the following:

make -f Makefile.Release install
make[1]: Entering directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12'

How can I get this working?

Report

C

HeikoSchfer

4 years ago

The project file hasn't yet any install targets, because they have been simply not needed for Debian and Gentoo.

As temporary workaround in src.pro you can add

unix:target.path = /usr/bin
unix:INSTALLS += target

before

unix:INCLUDEPATH += "/usr/include/netmaumau"

The next release will install all files correct

Report

C

HeikoSchfer

4 years ago

An updated src.pro you can find here:

https://raw.githubusercontent.com/velnias75/NetMauMau-Qt-Client/master/src/src.pro

Report

mariobl

4 years ago

OK, it installs now the following files:
/usr/bin/nmm-qt-client
/usr/share/applications/nmm_qt_client.desktop
/usr/share/icons/hicolor/256x256/apps/nmm_qt_client.png

I'm still missing the *.qm file with the German translation and eventually some other files which are usually installed in /usr/share (internally used icons, *.ui files etc.).

However, the package builds, is installable and the application can be launched. I will test the behavior and give feedback.

Report

C

HeikoSchfer

4 years ago

The updated src.pro from Github should install the translations as well into /usr/share/nmm-qr-client

Do you have lrelesse installed? On some systems it may be called lrelease-qt4. Translations are
produced by a call to lrelease src.pro.

All resources are compiled in with rcc, so they are not installed separately.

Can you paste the complete output of make install?

Report

C

HeikoSchfer

4 years ago

Edit: the translation should go into

/usr/share/nmm-qt-client

Report

mariobl

4 years ago

lrelease is present:

$ rpm -ql qt-devel | grep release
/usr/bin/lrelease-qt4
/usr/lib64/qt4/bin/lrelease
/usr/lib64/qt4/bin/lrelease-qt4
/usr/lib64/qt4/mkspecs/features/debug_and_release.prf
/usr/lib64/qt4/mkspecs/features/release.prf
/usr/lib64/qt4/mkspecs/features/symbian/release.prf

The relevant part of the rpm output:

Ausführung(%install): /bin/sh -e /var/tmp/rpm-tmp.Mu92ys
+ umask 022
+ cd /home/mariobl/rpmbuild/BUILD
+ '[' /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64 '!=' / ']'
+ rm -rf /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64
++ dirname /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64
+ mkdir -p /home/mariobl/rpmbuild/BUILDROOT
+ mkdir /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64
+ cd nmm-qt-client0.12
+ make install INSTALL_ROOT=/home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64
make -f Makefile.Release install
make[1]: Entering directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12'
install -m 644 -p /home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12/nmm_qt_client.desktop /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/share/applications/
install -m 644 -p /home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12/nmm_qt_client.png /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/share/icons/hicolor/256x256/apps/
install -m 755 -p "nmm-qt-client" "/home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/bin/nmm-qt-client"
make[1]: Leaving directory '/home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12'
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /home/mariobl/rpmbuild/BUILD/nmm-qt-client0.12
extracting debug info from /home/mariobl/rpmbuild/BUILDROOT/nmm-qt-client-0.12-1.fc21.x86_64/usr/bin/nmm-qt-client
dwz: Too few files for multifile optimization
/usr/lib/rpm/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match.
4386 blocks

Here is the Makefile generated by qmake:
https://mariobl.fedorapeople.org/attachments/Makefile

Report

C

HeikoSchfer

4 years ago

in your spec, did you call

qmake CONFIG+=release

?

Report

C

HeikoSchfer

4 years ago

It seems qmake is extremely reluctant concerning installations.

Isn't it possible, like on Gentoo & Debian, to call lrelease from the spec and to add the *.qm manually?

Report

4 years ago

[li]integrated webserver to show the server's status[/li][li]increased performance[/li][li]bugfixes[/li]

product-maker 6 6

File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install
Pling
Details
license
version
0.24
updated Aug 22 2015
added Jan 14 2015
downloads today
0
page views today 2
System Tags app software