Home | News | Download | Packages | Forum | Wiki | Github

Cool Apps for New Packagers


#87

The manual says that patches must be in -p0 format. They’re copied to $wrksrc and are applied from there. So you have to adjust the path in your patch. That means change

--- a/src/jobs/meltjob.cpp
+++ b/src/jobs/meltjob.cpp

to

--- src/jobs/meltjob.cpp
+++ src/jobs/meltjob.cpp

and you won’t need patch_args. That’s all. :wink:


#88

thanks…I’ve done it. :slight_smile:


#89

Confidant Mail is self-hosted wxPython that beats secure webmail via GnuPG2 on the client side and can handle very large file transmission.


#90

CHIPSEC (Python)


#91

Pris DSL for presentation slides in Rust with Cairo library.


#92

The etm event and task manager has used different GUI toolkits over time, from what I see. The latest one is Tk.


#93

One Thing Well


#94

that’s done.


#95

it seems as if this program isn’t developed anymore: the latest release is still alpha 0.9.3 and the latest commit is from 2015.


#96

@lancs was it you @linuxcompitech who opened the pull request #8519 for shotcut ?
I made the necessary correction, and it has been merged in #9677.
:champagne: :wink:


#97

@cr6 Yes I did, but at the moment I am in Germany. Thanks for the correction, I will test it…when I come back. It’s very tricky to build shotcut, with all my builds shotcut was crashing at startup.


#98

Not sure that’s the best place to ask, but does anyone know, why ioquake3 is only available for rpi in the repos?
There are Quake 1 and Quake2 clients/engines for x86, but no Quake 3.


#99

Yes, see the template.
The package is called ioquake3-rpi by the way.


#100

My question was more of a “why”?

There doesn’t seem to be anything that stops it from being avaiable for other architectures. Patches are mostly void-specific directory changes and the template fetches the rpi version from github.

I’m mostly asking because am trying to convert it to the x86 package.


#101

I do not know if that is possible…
…but yeah, why not try? :slightly_smiling_face: let us know if you need help.


#102

Thanks, I certainly do!

Here’s the Makefile for ioquake3, when I try to actually make it. I get the following error:

CC code/client/cl_keys.c
CC code/client/cl_main.c
In file included from code/client/cl_main.c:28:0:
code/client/../sys/sys_loadlib.h:39:12: fatal error: SDL.h: No such file or directory
 #  include "SDL.h"
            ^~~~~~~
compilation terminated.
make[2]: *** [Makefile:2617: build/release-linux-x86_64/client/cl_main.o] Error 1
make[2]: Leaving directory '/builddir/ioquake3-20130506/ioquake3'
make[1]: *** [Makefile:1358: targets] Error 2
make[1]: Leaving directory '/builddir/ioquake3-20130506/ioquake3'
make: *** [Makefile:1275: release] Error 2

Even though I have SDL-devel installed and listed as a dependency. I suppose I should change where it looks for the libs? How do I do that properly?

Other than that, I think it might be pretty easy and the following template should work:

# Template file for 'ioquake3-rpi'
pkgname=ioquake3
version=20130506
revision=1
short_desc="ioquake3"
maintainer=""
license="GPL-2"
homepage="http://ioquake3.org/"
distfiles="http://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake3/linux/linuxq3apoint-1.32b-3.x86.run"
skip_extraction="linuxq3apoint-1.32b-3.x86.run"
checksum=c36132c5556b35e01950f1e9c646235033a5130f87ad776ba2bc7becf4f4f186

create_wrksrc=yes
hostmakedepends="pkg-config git"
makedepends="SDL-devel"


do_configure() {
	# Fetch ioquake3 for x86
	git clone git://github.com/ioquake/ioq3.git $pkgname --depth=1

	# Extract Patch Files
	cp $XBPS_SRCDISTDIR/${pkgname}-${version}/linuxq3apoint-1.32b-3.x86.run .
	chmod +x linuxq3apoint-1.32b-3.x86.run

	./linuxq3apoint-1.32b-3.x86.run --tar xf
}

do_build() {
	cd $pkgname
	sed -i "s:/usr/local/games/quake3:/opt/quake3:" Makefile
	make
}

do_install() {
	vmkdir opt/${pkgname}/baseq3
	vmkdir opt/${pkgname}/missionpack
	# Copy the executables
	install -m755 ${pkgname}/build/release-linux-x86_64/*.x86_64 \
		${DESTDIR}/opt/${pkgname}
	install -Dm755 ${pkgname}/build/release-linux-x86_64/baseq3/*.so \
		${DESTDIR}/opt/${pkgname}/baseq3/

	install -Dm755 ${pkgname}/build/release-linux-x86_64/missionpack/*.so \
		${DESTDIR}/opt/${pkgname}/missionpack/

	# modify launcher scripts
	cp ${FILESDIR}/quake3.launcher .
	cp ${FILESDIR}/quake3ded.launcher .

	sed -i "s:IOQ3_BINARY:ioquake3.x86_64:" quake3.launcher
	sed -i "s:IOQ3_BINARY:ioq3ded.x86_64:" quake3ded.launcher
	sed -i "s:IOQ3_PATH:ioquake3:" quake3.launcher
	sed -i "s:IOQ3_PATH:ioquake3:" quake3ded.launcher

	# Install Quake 3 Patch Files
	install -m644 ${pkgname}/baseq3/*.pk3 \
		${DESTDIR}/opt/${pkgname}/baseq3/

	# Install Quake 3 Expansion Pack Patch Files
	install -m644 ${pkgname}/missionpack/*.pk3 \
		${DESTDIR}/opt/${pkgname}/missionpack/

	# Install Launcher (Client)
	vbin quake3.launcher quake3

	# Install Launcher (Server)
	vbin quake3ded.launcher quake3ded

	# Install Desktop File
	vinstall ${FILESDIR}/quake3.desktop 644 usr/share/applications

	# Install Icon File
	vinstall ${pkgname}/misc/quake3.png 644 usr/share/pixmaps

#103

I didn’t look at the Makefile, are you sure it needs SDL ?
On the AUR PKGBUILD I can see SDL2. :neutral_face:


#104

uhhhhhhhh I think it would be better to find another solution…

Try to fetch the tarball generated from the latest commit, for example:

version=20171203
revision=1
_commit=bad8c3ba4e3c4db43144e40503a1afed8050c682

distfiles="https://github.com/ioquake/ioq3/archive/${_commit}.tar.gz"

Then you can remove git from hostmakedepends.


#105

As it uses a Makefile, you should put:

build_style=gnu-makefile

Then you can remove this:

do_build() {
	make
}

(I forgot) And this:

do_build() {
	sed -i "s:/usr/local/games/quake3:/opt/quake3:" Makefile
}

=> If you need to sed something before the build, you should do it in pre_configure() instead.

:sweat_smile: the f**** Manual is always helpful.


#106

Thank you! I’ll try it out in a couple of hours.

Are you sure about build_style=gnu-makefile?

The package in distfiles is just a shell script that is being executed, while the make command is for another file that we fetch during the build phase. Would it work as expected?