Re: Teeworlds update - Teeworlds 0.7.5

2021-08-09 Thread Donovan Watteau
I did some tests on loongson, macppc and amd64.

The server part does run on loongson, so I'd suggest removing the whole
ONLY_FOR_ARCHS line.  I think it should probably work on arm64 and
powerpc64 too, but I don't have the hardware to confirm that.

As for macppc and other big-endian hosts, my original patch
(patch-src_base_detect_h) needs to be kept, otherwise big-endian hosts
are misdetected as being little-endian (since it checks for internal
defines instead of using the proper visible symbols).  With this,
both the client and the server appear to be OK on my PowerBook G4.

New suggested changes (on top of yours) below [1].

However, the game is still unplayable by default on all my
machines here:

- Start from scratch, with no Teeworlds configuration leftovers.
- Start the game, it goes to fullscreen by default.
- Then, I see two mouse cursors: the one from Xorg, and the
  one from the game.  The one from the game has no effect as
  long as I'm in fullscreen, so I can't click on anything.
  Just press Esc and Enter so that you can quit the game with
  a new configuration file written to the disk.
- echo gfx_fullscreen 0 >> ~/.local/share/teeworlds/settings*.json
- Now you can run the game in windowed mode, where the mouse bug
  doesn't happen.  But this is just a work-around.
- If I quit again, the whole Xorg screen sometimes freezes until
  I kill(1) Teeworlds.
- (The stuff in pkg/MESSAGE has no effect and is probably very
  outdated nowadays with SDL2.)

I have no idea about the origin of this.  Happens on an Intel
Haswell GPU and on an old ATI Radeon Mobility.  I'm curious to
know if others experience this problem too, or if I'm just in
bad luck with I have here.

Donovan

[1]:

--- games/teeworlds/Makefile.orig
+++ games/teeworlds/Makefile
@@ -1,7 +1,5 @@
 # $OpenBSD: Makefile,v 1.28 2021/02/23 19:39:23 sthen Exp $
 
-ONLY_FOR_ARCHS=amd64 i386 powerpc
-
 COMMENT=   platform game featuring buggers equipped with weapons
 
 V= 0.7.5
--- /dev/null
+++ games/teeworlds/patches/patch-src_base_detect_h
@@ -0,0 +1,26 @@
+$OpenBSD: patch-src_base_detect_h,v 1.1 2015/12/27 17:56:22 jasper Exp $
+
+Fix endianness detection.
+
+Index: src/base/detect.h
+--- src/base/detect.h.orig
 src/base/detect.h
+@@ -85,15 +85,15 @@
+ 
+ /* use gcc endianness definitions when available */
+ #if defined(__GNUC__) && !defined(__APPLE__) && !defined(__MINGW32__) && 
!defined(__sun)
+-  #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++  #if defined(__FreeBSD__) || defined(__NetBSD__)
+   #include 
+   #else
+   #include 
+   #endif
+ 
+-  #if __BYTE_ORDER == __LITTLE_ENDIAN
++  #if BYTE_ORDER == LITTLE_ENDIAN
+   #define CONF_ARCH_ENDIAN_LITTLE 1
+-  #elif __BYTE_ORDER == __BIG_ENDIAN
++  #elif BYTE_ORDER == BIG_ENDIAN
+   #define CONF_ARCH_ENDIAN_BIG 1
+   #endif
+ #endif



Re: Teeworlds update - Teeworlds 0.7.5

2021-08-09 Thread Donovan Watteau
Stefan Hagen wrote:
> Stuart Henderson wrote:
> > On 2019/07/17 17:05, Neon King wrote:
> >> Hello dear ports@readers,
> >>
> >> The following diff upgrades Teeworlds game to the latest version. Changelog
> >> is available on their homepage https://teeworlds.com/
> 
> I've fixed up this port and updated teeworlds to version 0.7.5.
> Note that version 0.7.x is incompatible with servers from 0.6.x.
> 
> [... nice stuff ...]
> 
> I won't mind taking MAINTAINER for this port, but as Neon King and
> Donovan (CC) offered port updates earlier, I won't mind if they pick
> this up.

Hi,

I was its previous maintainer (I lost my interest in contributing
through mailing-lists) and your diff looks really good to me,
I think you'd maintain it really well.

- Nice to see that bam and its too-many patches are gone now.
- For the strict-alignment part, yes it looks like that part is
  fixed now. I'll give it a shot on loongson and macppc (it used
  to work in the last version I maintained here) but I've never
  made that a "blocker" (I think I was its only user there :).
- I confirm that using the a copy of DejavuSans.ttf broke at
  some point (my last upgrade proposal dropped it). I agree that
  it's probably not worth it to try patching this anymore: small
  gain, and the less we patch the easier it is to maintain.
- Nice that it can still use system zlib and wavpack.
- No idea about the maps. You used to need them if you hosted a
  server with the default maps, so what you're doing here looks
  good.

I used to have some GLU crashes on amd64 after upgrading it to
0.7.2 back then, but that was circa OpenBSD 6.4 so it's probably
OK nowadays.

I'll build and test this on various machines here, but your
upgrade proposal looks really good to me. Nice work.

Donovan



[PATCH] Unbreak audio/flite on mips64*

2020-10-25 Thread Donovan Watteau
Hi,

The attached diff unbreaks audio/flite on mips64*.

Just using base-clang or port-gcc there is enough for it to build.

No REVISION bump, since it only changes something for the BROKEN*
archs.

Donovan


audio_flite_mips64.diff
Description: Binary data


Re: [PATCH] Try unbreaking devel/libexecinfo on mips64*

2020-10-25 Thread Donovan Watteau
On 10/25/2020, Brad Smith wrote:
> From ports-gcc Makefile...
> 
> BUILD_DEPENDS +=devel/bison \
> devel/libexecinfo
> 

Ah, I gave a quick look at LIB_DEPENDS, but not at BUILD_DEPENDS,
my bad.

Then, if the __BUILTIN_HACK part is only possible with GCC at the
moment, and if we can't use ports-gcc, then I see that adding
-fno-omit-frame-pointer makes the test pass with gcc-4.2.1, too.

octeon still has base-gcc I believe, so with that ports-gcc
constraint, that's the only thing I see to let that "hack" build.

Updated diff, tested on loongson again.

(Of couse, if it's still wrong, no problem.  I'm just trying
to help unbreaking that part of the mips64* ports tree.)


libexecinfo_base_gcc_no_omit_frame_pointer.diff
Description: Binary data


[PATCH] Try unbreaking devel/libexecinfo on mips64*

2020-10-25 Thread Donovan Watteau
Hi,

On mips64el, 'make test' currently fails in devel/libexecinfo with the
following error:

===>  Regression tests for libexecinfo-0.3p2v0   
/usr/bin/env -i \
  
LD_LIBRARY_PATH=/usr/ports/pobj/libexecinfo-0.3/backtrace-BACKTRACE_0_3/libbacktrace
 \
  
/usr/ports/pobj/libexecinfo-0.3/backtrace-BACKTRACE_0_3/examples/backtrace_test 

  
backtrace_test: backtrace_symbols

mips64el still uses gcc-4.2.1 by default, at the moment.

The test works again with ports-gcc, but you need -Wno-frame-address so
that the __BUILTIN_HACK part builds with -Werror.

I also see that clang (with is used by default on mips64) is having
issues compiling this:

http://build-failures.rhaalovely.net/mips64/2020-10-14/devel/libexecinfo.log

So hopefully, the attached diff fixes both issues.

Only tested on OpenBSD/loongson 6.8, though.  No idea for hppa, sh,
or if this ports-gcc dependency could cause bootstrapping problems.

Donovan


libexecinfo_mips64_patch.diff
Description: Binary data


[PATCH] emulators/snes9x: remove BROKEN-powerpc marker

2020-03-11 Thread Donovan Watteau
Hi,

The following diff removes the BROKEN-powerpc marker from emulators/snes9x.

It builds without ICE, and runs here.

(No bump since it only changes something on an arch where it wasn't
built.)

Donovan

Index: Makefile
===
RCS file: /cvs/ports/emulators/snes9x/Makefile,v
retrieving revision 1.50
diff -u -p -r1.50 Makefile
--- Makefile14 Jul 2019 00:39:36 -  1.50
+++ Makefile16 Dec 2019 18:33:01 -
@@ -3,7 +3,6 @@
 COMMENT =  emulates the Super Nintendo Entertainment System
 BROKEN-alpha = ICE/failure on filter/hq2x.cpp
 BROKEN-hppa =  ICE/failure on filter/hq2x.cpp
-BROKEN-powerpc =ICE/failure on filter/hq2x.cpp
 
 GH_ACCOUNT =   snes9xgit
 GH_PROJECT =   snes9x



[MAINTAINER] Drop maintainership on personal ports

2019-04-16 Thread Donovan Watteau
Hi,

I'd like to stop being the MAINTAINER of the following ports:

archivers/innoextract
audio/cmus
audio/flac123
audio/libdiscid
editors/elvis
games/golly
games/teeworlds
misc/reprepro (this one can probably be just removed)
sysutils/dosfstools

(I just don't have the desire to contribute through mailing-lists,
bumping/pinging stuff and so on, nowadays.)

People wishing to maintain them can find some update proposals on
ports@. Feel free to email me if you have any question about the way I
was maintaining them.

Thanks to everyone who gave me their time here, over the years!

Cheers,
Donovan



[PATCH] audio/cmus ffmpeg deprecation fixes (MAINTAINER)

2019-03-10 Thread Donovan Watteau
Hi,

The following diff uses a patch from upstream to avoid some deprecation
warnings when building audio/cmus with our current version of FFmpeg.

Update my email address, while here.

(I'm not upgrading to the latest 2.8.0 for the moment.  It's been
released just after the project has been declared not maintained, and
there are some regressions.)

Also available here if the diff gets mangled:
https://www.dwatteau.fr/tmp/cmus_ffmpeg_fixes-20190310.diff

Thanks.

Index: Makefile
===
RCS file: /cvs/ports/audio/cmus/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile5 Dec 2018 20:19:00 -   1.19
+++ Makefile10 Mar 2019 12:53:48 -
@@ -7,7 +7,7 @@ V=  2.7.1
 DISTNAME=  cmus-${V}
 PKGNAME-main=  ${PKGNAME}
 PKGNAME-ffmpeg=cmus-ffmpeg-${V}
-REVISION=  5
+REVISION=  6
 
 GH_ACCOUNT=cmus
 GH_PROJECT=cmus
@@ -16,7 +16,7 @@ GH_TAGNAME=   v${V}
 CATEGORIES=audio
 HOMEPAGE=  https://cmus.github.io/
 
-MAINTAINER=Donovan Watteau 
+MAINTAINER=Donovan Watteau 
 
 # GPLv2+
 PERMIT_PACKAGE_CDROM=  Yes
Index: patches/patch-ffmpeg_c
===
RCS file: /cvs/ports/audio/cmus/patches/patch-ffmpeg_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-ffmpeg_c
--- patches/patch-ffmpeg_c  6 Jun 2018 12:14:44 -   1.1
+++ patches/patch-ffmpeg_c  10 Mar 2019 12:53:48 -
@@ -8,6 +8,7 @@ among other things:
 98ab2a6: Replace deprecated FFmpeg API
 ef65f69: remove dead code for ancient ffmpeg versions
 b595b8c: Fix ffmpeg plugin build
+9877eb0: Fixes ffmpeg deprecations
 
 Index: ffmpeg.c
 --- ffmpeg.c.orig
@@ -91,7 +92,7 @@ Index: ffmpeg.c
free(input);
  }
  
-@@ -157,30 +128,9 @@ static void ffmpeg_init(void)
+@@ -157,26 +128,7 @@ static void ffmpeg_init(void)
  
av_log_set_level(AV_LOG_QUIET);
  
@@ -115,14 +116,18 @@ Index: ffmpeg.c
 -
 -  register_protocol(_protocol);
 -#else
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 18, 100)
/* We could register decoders explicitly to save memory, but we have to
 * be careful about compatibility. */
av_register_all();
--#endif
- }
- 
- static int ffmpeg_open(struct input_plugin_data *ip_data)
-@@ -197,22 +147,14 @@ static int ffmpeg_open(struct input_plugin_data *ip_da
+@@ -193,26 +145,21 @@ static int ffmpeg_open(struct input_plugin_data *ip_da
+   AVCodec *codec;
+   AVCodecContext *cc = NULL;
+   AVFormatContext *ic = NULL;
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++  AVCodecParameters *cp = NULL;
++#endif
+   SwrContext *swr = NULL;
  
ffmpeg_init();
  
@@ -145,9 +150,39 @@ Index: ffmpeg.c
if (err < 0) {
d_print("unable to find stream info: %d\n", err);
err = -IP_ERROR_FILE_FORMAT;
-@@ -235,20 +177,16 @@ static int ffmpeg_open(struct input_plugin_data *ip_da
+@@ -220,11 +167,21 @@ static int ffmpeg_open(struct input_plugin_data *ip_da
+   }
+ 
+   for (i = 0; i < ic->nb_streams; i++) {
++
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++  cp = ic->streams[i]->codecpar;
++  if (cp->codec_type == AVMEDIA_TYPE_AUDIO) {
++  stream_index = i;
++  break;
++  }
++#else
++
+   cc = ic->streams[i]->codec;
+   if (cc->codec_type == AVMEDIA_TYPE_AUDIO) {
+   stream_index = i;
+   break;
+   }
++#endif
+   }
  
+   if (stream_index == -1) {
+@@ -233,22 +190,24 @@ static int ffmpeg_open(struct input_plugin_data *ip_da
+   break;
+   }
+ 
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
++  codec = avcodec_find_decoder(cp->codec_id);
++  cc = avcodec_alloc_context3(codec);
++  avcodec_parameters_to_context(cc, cp);
++#else
codec = avcodec_find_decoder(cc->codec_id);
++#endif
if (!codec) {
 -  d_print("codec not found: %d, %s\n", cc->codec_id, 
cc->codec_name);
 +  d_print("codec not found: %d, %s\n", cc->codec_id, 
avcodec_get_name(cc->codec_id));
@@ -170,19 +205,22 @@ Index: ffmpeg.c
err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
break;
}
-@@ -258,11 +196,7 @@ static int ffmpeg_open(struct input_plugin_data *ip_da
+@@ -258,11 +217,10 @@ static int ffmpeg_open(struct input_plugin_data *ip_da
  
if (err < 0)

[UPDATE] games/teeworlds 0.6.4 -> 0.7.2

2019-03-10 Thread Donovan Watteau
Hi,

The following diff updates games/teeworlds from 0.6.4 to 0.7.2.

This requires my new devel/bam port, sent here:
https://marc.info/?l=openbsd-ports=155008600618612=2

Some changes:

*  this now uses SDL2
*  move bam to an independent port, to ease maintenance
*  this can now run on strict-alignment archs (at least teeworlds_srv)
*  don't bother removing the extra DejaVuSans.ttf font from
   upstream, because they made this harder
*  don't bother patching some scripts which aren't used during
   the build
*  make the gfx_texture_quality setting a noop at the moment,
   to work around some libGLU crashes.

(I'm also updating my email address in MAINTAINER, while here)

The way to deal with gcc/clang in bam is really perfectible, but
teeworlds is its sole consumer and I've verified that it builds
on amd64, macppc and loongson.

As for the libGLU crashes, they're random and I have no idea if
the bug is in this port, X or SDL2 (I find SDL2 a bit less
reliable than SDL1, especially on macppc). gdb output here, if
someone understands which part is to blame:

https://www.dwatteau.fr/tmp/gdb_teeworlds_072_crash.txt

If you don't have an XDG desktop, you might need to
mkdir ~/.local/share to avoid a crash on startup.  This will
be fixed in the next release.

The following diff is also available here, in case it gets
corrupted:

https://www.dwatteau.fr/tmp/teeworlds_072_update.diff

Thanks.

Index: Makefile
===
RCS file: /cvs/ports/games/teeworlds/Makefile,v
retrieving revision 1.24
diff -u -p -r1.24 Makefile
--- Makefile24 Oct 2018 14:28:04 -  1.24
+++ Makefile10 Mar 2019 09:54:36 -
@@ -1,77 +1,55 @@
 # $OpenBSD: Makefile,v 1.24 2018/10/24 14:28:04 sthen Exp $
 
-# Crashes on strict-alignment archs, see: src/base/system.c:164
-ONLY_FOR_ARCHS=amd64 i386 powerpc
-
 COMMENT=   platform game featuring buggers equipped with weapons
 
-V= 0.6.4
+V= 0.7.2
 DISTNAME=  teeworlds-${V}-src
 PKGNAME=   teeworlds-${V}
+EXTRACT_SUFX=  .tar.xz
 CATEGORIES=games
-REVISION=  1
-
-HOMEPAGE=  http://www.teeworlds.com/
 
-MAINTAINER=Donovan Watteau 
+HOMEPAGE=  https://www.teeworlds.com/
 
-BAM_VERSION=   0.4.0
-BAM_WRKSRC=${WRKSRC}/bam-${BAM_VERSION}
+MAINTAINER=Donovan Watteau 
 
-MASTER_SITES=  https://downloads.teeworlds.com/
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} bam-${BAM_VERSION}${EXTRACT_SUFX}
+MASTER_SITES=  https://github.com/teeworlds/teeworlds/releases/download/${V}/
 
 # BSD-like
 PERMIT_PACKAGE_CDROM=  Yes
 
-WANTLIB=   GL GLU SDL X11 c freetype m pthread ${COMPILER_LIBCXX} wavpack z
+WANTLIB=   GL GLU SDL2 X11 c freetype m pthread ${COMPILER_LIBCXX} wavpack 
z
+
+COMPILER=  base-clang ports-gcc base-gcc
 
-COMPILER = base-clang ports-gcc base-gcc
+BUILD_DEPENDS= devel/bam
 
 LIB_DEPENDS=   audio/wavpack \
-   devel/sdl
+   devel/sdl2
 
 MODULES=   lang/python
 MODPY_RUNDEP=  No
 
-SUBST_VARS=CC CXX CFLAGS CXXFLAGS X11BASE
+SUBST_VARS=CC
 
 NO_TEST=   Yes
 
 # Give it a chance on ppc
 CXXFLAGS+= -fsigned-char
 
-post-extract:
-   @mv ${WRKDIR}/bam-${BAM_VERSION} ${BAM_WRKSRC}
-
 pre-configure:
-   @${SUBST_CMD} ${WRKSRC}/src/engine/shared/storage.cpp \
+   ${SUBST_CMD} ${WRKSRC}/src/engine/shared/storage.cpp \
${WRKSRC}/src/game/client/gameclient.cpp \
-   ${WRKSRC}/scripts/build.py \
-   ${WRKSRC}/scripts/compiler.py \
-   ${WRKSRC}/scripts/font_installer.sh \
-   ${WRKSRC}/scripts/make_src.py \
-   ${WRKSRC}/bam.lua \
-   ${WRKSRC}/configure.lua \
-   ${BAM_WRKSRC}/make_unix.sh \
-   ${BAM_WRKSRC}/src/driver_gcc.lua \
-   ${BAM_WRKSRC}/src/base.lua
+   ${WRKSRC}/{bam,configure}.lua
# Make sure internal wavpack and zlib can't be picked up
rm -rf ${WRKSRC}/src/engine/external/{wavpack,zlib}
-   # Don't provide an extra copy of DejaVu
-   rm -rf ${WRKSRC}/data/fonts
-
-# build bam executable - teeworlds own build system
-pre-build:
-   cd ${BAM_WRKSRC} && /bin/sh -v make_unix.sh
 
 do-build:
-   cd ${WRKSRC} && CC=${CC} ${BAM_WRKSRC}/bam -a -v release 
wavpack=${LOCALBASE}
+   cd ${WRKSRC} && env CXXFLAGS="${CXXFLAGS}" bam -a -v -j ${MAKE_JOBS} \
+   conf=release builddir=build wavpack=${LOCALBASE}
 
 do-install:
-   ${INSTALL_PROGRAM} ${WRKSRC}/teeworlds ${PREFIX}/bin
-   ${INSTALL_PROGRAM} ${WRKSRC}/teeworlds_srv ${PREFIX}/bin
+   ${INSTALL_PROGRAM} ${WRKSRC}/build/teeworlds{,_srv} ${PREFIX}/bin
${INSTALL_DATA_DIR} ${PREFIX}/share/teeworlds
-   cd ${WRKSRC}; tar cf - data | tar xf - -C ${PREFIX}/share/teeworlds
+   cd ${WRKSRC}/build && tar cf - data | tar xf - -C 
${PREFIX}/sh

[NEW] devel/bam, required for games/teeworlds update

2019-02-13 Thread Donovan Watteau
Hello,

The attached port adds devel/bam, which will be required for my upcoming
games/teeworlds update. I'm detaching it from the main teeworlds port,
in order to make it easier to maintain.

The way clang/gcc are handled is probably not optimal, but teeworlds is
going to be its only consumer anyway.

Tested on amd64 and macppc.


devel-bam.tgz
Description: GNU Zip compressed data


[UPDATE] archivers/innoextract 1.7 (MAINTAINER)

2018-06-23 Thread Donovan Watteau
Hi,

The following diff updates archivers/innoextract to 1.7:
http://www.dwatteau.fr/tmp/innoextract17_update.diff

Tested on amd64, loongson and macppc.

(There's a warning suggesting to remove pthreads from WANTLIB on
amd64, but ignore that because this dependency is used on macppc and
loongson)



Re: Update: audio/cmus ffmpeg fixes (MAINTAINER)

2018-05-30 Thread Donovan Watteau
Klemens Nanni wrote:

> On Sat, May 26, 2018 at 01:11:08PM +0200, Donovan Watteau wrote:
> > The following diff updates the ffmpeg plugin used by audio/cmus:
> > http://www.dwatteau.fr/tmp/cmus_ffmpeg_update.diff
> Looks good.

> > The current code is giving an increasing number of deprecated warnings,
and
> > it can also crash in some cases.  So I've backported the most important
> > changes from upstream HEAD.
> Thanks. Can you show us how to reproduce a crash?

Sure, I can reproduce it with the file given in this issue:
https://github.com/cmus/cmus/issues/204

And I can confirm that the crash disappears with the above diff.

Thanks.

> > Tested on amd64, macppc, loongson with various formats (played or not
> > played by the ffmpeg plugin).
> No problems running it as usual on my X250.



Update: audio/cmus ffmpeg fixes (MAINTAINER)

2018-05-26 Thread Donovan Watteau
Hi,

The following diff updates the ffmpeg plugin used by audio/cmus:
http://www.dwatteau.fr/tmp/cmus_ffmpeg_update.diff

The current code is giving an increasing number of deprecated warnings, and
it can also crash in some cases.  So I've backported the most important
changes from upstream HEAD.

Tested on amd64, macppc, loongson with various formats (played or not
played by the ffmpeg plugin).

Thanks.



Re: [NEW] sysutils/dosfstools

2017-08-20 Thread Donovan Watteau
On Tue, 8 Aug 2017, Jeremie Courreges-Anglas wrote:
> On Tue, Aug 01 2017, Donovan Watteau <tso...@gmail.com> wrote:
> > Hi,
> >
> > $ cat pkg/DESCR
> > dosfstools consists of the programs mkfs.fat, fsck.fat and fatlabel
> > to create, check and label file systems of the FAT family.
> >
> > I've been using this for a few months on loongson and macppc (especially
> > fsck.fat, which a bit more useful than base fsck_mdos(8)), without any
> > particular problem.
> >
> > "make test" is OK as well.
> 
> Looks good
> 
> Here's an updated tarball with the following tweaks:
> - detect xxd at "make test" time instead of configure time,

Ah yeah, good idea, and simple patch, nice!

> and move editors/vim,-main to TEST_DEPENDS

I think you forgot to actually move it to TEST_DEPENDS (it's now
missing), so I've added it back, in my updated tarball.

> - don't use -Wl,--as-needed in LDFLAGS (is there a good reason?).

mkfs.fat was linked against iconv without using it, so it was a quick
workaround, but on second thought it's not really fixing something for
us.  More of a small detail I should report to upstream, instead.

>   Instead, append our current LDFLAGS instead of clobbering them

I don't mind this, but I see lots and *lots* of ports just doing
LDFLAGS="-L${LOCALBASE}/lib".  So I'm not sure whether it's really
an issue?

> I'd probably move V above DISTNAME,

Looks like most ports do this indeed (including an earlier port of mine),
so ok.

> and EXTRACT_SUFX below MASTER_SITES, but enough nitpicking for today. :)

I see both idioms in the ports tree, and I think I prefer EXTRACT_SUFX
near DISTNAME (because I see the suffix more as a property of the
distfile, rather than a property of the mirror), but I don't mind,
really :)

So here's an updated tarball, mostly adding editors/vim,-main back as
a dependency.

Thank you!

dosfstools-try3.tgz
Description: Binary data


Re: NEW: emulators/gnuboy

2017-08-02 Thread Donovan Watteau
On Tue, 1 Aug 2017, Anthony J. Bentley wrote:
> Donovan Watteau writes:
> > As for Gnuboy: is it dead, or is it done?  There are other "old
> > alternatives" in the ports tree (for example in editors), and we're
> > keeping them, as long as there's someone taking care of them (unless
> > the code is too broken or too dangerous).  Gambatte is more modern,
> > but it looks mostly unmaintained for the past 3 years, so I don't
> > know if the difference with Gnuboy is that big.
> 
> Gnuboy has been completely unmaintained for over 15 years. That's a
> significant difference.
> 
> > "avoid adding old stuff to the ports
> > tree if there's a good alternative that's maintained"
> 
> I agree with that sentiment. The trouble with providing packages is
> that if they exist, people use them. Auditing the entire ports tree is
> obviously impossible, but we should put at least occasional effort into
> pruning very old ports and refrain from adding old software that is
> likely to be a problem.
> 
> Emulators in particular are prone to security issues. They frequently
> allocate buffers, *constantly* deal with untrusted input, and execute
> code by nature. Holes are common:
> 
> https://mgba.io/2016/09/13/fuzzing-emulators/
> https://scarybeastsecurity.blogspot.com/2016/11/0day-exploit-compromising-linux-desktop.html
> https://www.youtube.com/watch?v=Q3SOYneC7mU
> 
> Thanks for porting, but this particular port I would rather not have
> in tree.

You've made a really good point.  It's all OK for me, don't add it.

Thanks.



Re: NEW: games/corsixth

2017-08-01 Thread Donovan Watteau
On Tue, 1 Aug 2017, Brian Callahan wrote:
> Hi Donovan --
> 
> On 8/1/2017 9:28 AM, Donovan Watteau wrote:
> > Brian Callahan wrote:
> >> Since CorsixTH doesn't care which version of Lua it uses, and all the
> >> RDEPS have a lua53 FLAVOR, let's just have CorsixTH use the first Lua
> >> that cmake finds, which is 5.3
> >>
> >> New tarball attached with that change.
> >>
> >> OK?
> >>
> >> ~Brian
> > Hi Brian,
> >
> > Ha!  I've been working on a CorsixTH port for over two years, but I
> > always had some bug here or there preventing me for submitting it
> > (old bugs between SDL2 and ld.so, trying to deal with Lua flavors,
> > weird crashes...).  I was just working on it again, he he.
> >
> > (That's why I had submitted an archivers/innoextract port in the
> > first place, because this way you can buy and play this game without
> > requiring Windows at all.)
> >
> > Your port, like mine, still crashes for me on macppc, though.
> > It segfaults in THChunkRenderer::decodeChunks(), and I didn't find a
> > way to fix this.  It "runs" on loongson, though, so I guess it's more
> > of an endianness issue.
> 
> Hmm... ok. I don't have macppc hardware anymore. If you find a solution,
> I'd be happy to commit it (as long as it also gets sent upstream).
> 
> > Also, first time you start it, if you don't have any ~/.config/CorsixTH
> > stuff, you'll get a strange Lua strack trace, and you need to restart.
> > Once ~/.config/CorsixTH appears, this doesn't show up anymore.  My port
> > also has this bug, and I don't know how to fix this either (I'm patching
> > main.cpp instead of using a wrapper, but this doesn't fix anything...
> > using Lua 5.1 instead of Lua 5.3 didn't fix anything either).
> 
> OK, that explains it. We weren't sure what was causing it. I'll try to
> make a fix.
> 
> > In case you're interested, the attached file incorporates some small
> > fixes from my own port (explicit dep on sdl2, make sure Doxygen can't
> > be picked up if installed, disable checkForUpdates() because bad and
> > useless code, don't add a hard dep to timidity because it's not built
> > by default, instead just suggest people to install it if they really
> > want it like some other ports already do).
> 
> I don't think this needs an explicit dep on sdl2. I understand why you
> did it, but I'm taking the approach that this package should match the
> functionality of the original game, which means audio. While the
> CorsixTH people seem to think that game audio is optional, I think
> that's silly.
> 
> Setting Doxygen to false is probably ok.
> 
> Update checks are already disabled because we're not using a release
> tarball, but I intend to switch to the tarballs once the next release is
> made, so I think that's good to have a patch to disable updates now.

OK, thanks!

> If I am reading their wiki correctly, timidity, while "optional," is
> required to play the background music. I think that matching the
> functionality of the original game is important, which means playing
> background music by default.

My only problem is that timidity has very restricted PERMIT_* stuff,
so this makes the effort to install CorsixTH much bigger (people have
to get a ports tree, build stuff, maintain the package up-to-date,
setup timidity...).

Plus, you might get some "I tried to install CorsixTH, but pkg_add
couldn't find timidity on the mirrors!" reports.

Maybe in pkg/MESSAGE?  So that people see that they may be missing
something, but then they'll realise it requires a bit of work :)

(Just a thought, it's not a problem for me.)



[NEW] sysutils/dosfstools

2017-08-01 Thread Donovan Watteau
Hi,

$ cat pkg/DESCR
dosfstools consists of the programs mkfs.fat, fsck.fat and fatlabel
to create, check and label file systems of the FAT family.

I've been using this for a few months on loongson and macppc (especially
fsck.fat, which a bit more useful than base fsck_mdos(8)), without any
particular problem.

"make test" is OK as well.


dosfstools.tgz
Description: Binary data


[PATCH] misc/reprepro clang workaround (MAINTAINER)

2017-08-01 Thread Donovan Watteau
Hi,

misc/reprepro uses some GCC nested functions, and it looks like there's
no way for clang to accept them.

The following diff works around this, so that it can be built with clang.

It's a crude way of working around it, but otherwise much more code logic
would need to be changed, and then the diff would be a lot bigger and 
even more complex.

Tested on loongson, both with gcc 4.2.1 and clang (I don't have any
clang-by-default arch here, sorry).

Index: Makefile
===
RCS file: /cvs/ports/misc/reprepro/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Makefile
--- Makefile13 Jan 2017 17:26:41 -  1.1.1.1
+++ Makefile1 Aug 2017 17:05:17 -
@@ -1,11 +1,9 @@
 # $OpenBSD: Makefile,v 1.1.1.1 2017/01/13 17:26:41 landry Exp $
 
-# Uses GCC nested functions
-#NOT_FOR_ARCHS=${CLANG_ARCHS}
-
 COMMENT=   Debian package repository producer
 
 V= 5.1.1
+REVISION=  0
 PKGNAME=   reprepro-${V}
 DISTNAME=  reprepro_${V}.orig
 WRKDIST=   ${WRKDIR}/reprepro-${V}
Index: patches/patch-sourceextraction_c
===
RCS file: patches/patch-sourceextraction_c
diff -N patches/patch-sourceextraction_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-sourceextraction_c1 Aug 2017 17:05:17 -
@@ -0,0 +1,175 @@
+$OpenBSD$
+
+XXX: Hack around some GCC nested functions not accepted by clang. 
+
+Index: sourceextraction.c
+--- sourceextraction.c.orig
 sourceextraction.c
+@@ -60,6 +60,81 @@ void sourceextraction_abort(struct sourceextraction *e
+   free(e);
+ }
+ 
++#define BUFSIZE 4096
++
++static inline bool u_getline(char *buffer, int *bytes_read, int *used, int 
*filled, struct compressedfile *f, const char *p) {
++  do {
++  if (*filled - *used > 0) {
++  char *n;
++
++  p = buffer + *used;
++  n = memchr(p, '\n', *filled - *used);
++  if (n != NULL) {
++  *used += 1 + (n - p);
++  *n = '\0';
++  while (--n >= p && *n == '\r')
++  *n = '\0';
++  return true;
++  }
++  } else { assert (*filled == *used);
++  *filled = 0;
++  *used = 0;
++  }
++  if (*filled == BUFSIZE) {
++  if (*used == 0)
++  /* overlong line */
++  return false;
++  memmove(buffer, buffer + *used, *filled - *used);
++  *filled -= *used;
++  *used = 0;
++  }
++  *bytes_read = uncompress_read(f, buffer + *filled,
++  BUFSIZE - *filled);
++  if (*bytes_read <= 0)
++  return false;
++  *filled += *bytes_read;
++  } while (true);
++}
++
++static inline char u_overlinegetchar(char *buffer, int *bytes_read, int 
*used, int *filled, struct compressedfile *f) {
++  const char *n;
++  char ch;
++
++  if (*filled - *used > 0) {
++  ch = buffer[*used];
++  } else { assert (*filled == *used);
++  *used = 0;
++  *bytes_read = uncompress_read(f, buffer, BUFSIZE);
++  if (*bytes_read <= 0) {
++  *filled = 0;
++  return '\0';
++  }
++  *filled = *bytes_read;
++  ch = buffer[0];
++  }
++  if (ch == '\n')
++  return '\0';
++
++  /* over rest of the line */
++  n = memchr(buffer + *used, '\n', *filled - *used);
++  if (n != NULL) {
++  *used = 1 + (n - buffer);
++  return ch;
++  }
++  *used = 0;
++  *filled = 0;
++  /* need to read more to get to the end of the line */
++  do { /* these lines can be long */
++  *bytes_read = uncompress_read(f, buffer, BUFSIZE);
++  if (*bytes_read <= 0)
++  return false;
++  n = memchr(buffer, '\n', *bytes_read);
++  } while (n == NULL);
++  *used = 1 + (n - buffer);
++  *filled = *bytes_read;
++  return ch;
++}
++
+ /* with must be a string constant, no pointer! */
+ #define endswith(name, len, with) (len >= sizeof(with) && 
memcmp(name+(len+1-sizeof(with)), with, sizeof(with)-1) == 0)
+ 
+@@ -128,83 +203,11 @@ bool sourceextraction_needs(struct sourceextraction *e
+ static retvalue parsediff(struct compressedfile *f, /*@null@*/char 
**section_p, /*@null@*/char **priority_p, bool *found_p) {
+   size_t destlength, lines_in, lines_out;
+   const char *p, *s; char *garbage;
+-#define BUFSIZE 4096
+   char buffer[BUFSIZE];
+   int bytes_read, used = 0, filled = 0;
+ 
+-  auto inline bool u_getline(void);
+-  inline bool u_getline(void) {
+-  do {
+-  if (filled - used > 0) {
+-  char *n;
+-
+-  p = buffer + used;
+- 

Re: NEW: emulators/gnuboy

2017-08-01 Thread Donovan Watteau
On Tue, 1 Aug 2017, Anthony J. Bentley wrote:
> Donovan Watteau writes:
> > Attached is a port of Gnuboy, an old-school Game Boy Color emulator.
> >
> > I've been using this one for years, because it only requires SDL,
> > and not one billion other dependencies.
> 
> Hmm. I really don't like the thought of adding another old dead
> Game Boy emulator to ports. I'm unhappy enough that people still use
> mednafen and vbam. Gnuboy is a real relic. These days the only Game Boy
> emulator people should be using is mgba or gambatte.
> 
> mgba is a bit heavy on dependencies, yes (ffmpeg/ImageMagick).
> gambatte is not though, it just needs SDL. It's unfortunate that
> building the qt subpackage alongside it makes the entire build fail on
> archs like powerpc where qt doesn't build. But I would prefer if an
> effort were made to either turn gambatte and gambatte-qt into independent
> packages (although that might be a hack?) or just to fix qt on powerpc.
> 

Didn't know that gambatte had a standalone SDL backend, thanks.

There *is* a package on powerpc at the moment, actually (same thing on
loongson).

As for Gnuboy: is it dead, or is it done?  There are other "old
alternatives" in the ports tree (for example in editors), and we're
keeping them, as long as there's someone taking care of them (unless
the code is too broken or too dangerous).  Gambatte is more modern,
but it looks mostly unmaintained for the past 3 years, so I don't
know if the difference with Gnuboy is that big.

However, if the idea is more "avoid adding old stuff to the ports
tree if there's a good alternative that's maintained", then I
understand it perfectly.  No problem, do as you wish.



Re: NEW: games/corsixth

2017-08-01 Thread Donovan Watteau
Brian Callahan wrote:
> Since CorsixTH doesn't care which version of Lua it uses, and all the
> RDEPS have a lua53 FLAVOR, let's just have CorsixTH use the first Lua
> that cmake finds, which is 5.3
>
> New tarball attached with that change.
>
> OK?
>
> ~Brian

Hi Brian,

Ha!  I've been working on a CorsixTH port for over two years, but I
always had some bug here or there preventing me for submitting it
(old bugs between SDL2 and ld.so, trying to deal with Lua flavors,
weird crashes...).  I was just working on it again, he he.

(That's why I had submitted an archivers/innoextract port in the
first place, because this way you can buy and play this game without
requiring Windows at all.)

Your port, like mine, still crashes for me on macppc, though.
It segfaults in THChunkRenderer::decodeChunks(), and I didn't find a
way to fix this.  It "runs" on loongson, though, so I guess it's more
of an endianness issue.

Also, first time you start it, if you don't have any ~/.config/CorsixTH
stuff, you'll get a strange Lua strack trace, and you need to restart.
Once ~/.config/CorsixTH appears, this doesn't show up anymore.  My port
also has this bug, and I don't know how to fix this either (I'm patching
main.cpp instead of using a wrapper, but this doesn't fix anything...
using Lua 5.1 instead of Lua 5.3 didn't fix anything either).

In case you're interested, the attached file incorporates some small
fixes from my own port (explicit dep on sdl2, make sure Doxygen can't
be picked up if installed, disable checkForUpdates() because bad and
useless code, don't add a hard dep to timidity because it's not built
by default, instead just suggest people to install it if they really
want it like some other ports already do).

corsixth-suggestions-v1.tgz
Description: Binary data


NEW: emulators/gnuboy

2017-08-01 Thread Donovan Watteau
Hi,

Attached is a port of Gnuboy, an old-school Game Boy Color emulator.

I've been using this one for years, because it only requires SDL,
and not one billion other dependencies.

The code is quite old, so I had to chose between several sources.
Some forks added new features and new bugs, so the best source I could
find was a raw dump of the latest official release, with just enough
fixes to build.  Then, I took the most important patches from some
other forks, and fixed some other bugs.

The asm code is really old so I'm not enabling it.  Same thing for the
other backends, they're mostly broken, so I'm only enabling the SDL one.

patch-lcd_c fix some endianness issues in a way that's not very elegant.
If someone knows how to make it better, I'll take it.

Tested on loongson and macppc (and with clang as well on loongson).

gnuboy.tar.gz
Description: Binary data


[PATCH] fix devel/sdl2 SIGBUS on mips64el

2017-07-05 Thread Donovan Watteau
Hi,

Apps linked against SDL2 on loongson would give me SIGBUS errors at
startup, while SDL1 apps run fine.

This was reported to upstream:

https://bugzilla.libsdl.org/show_bug.cgi?id=3692

and a very simple patch was found to fix the issue.

Basically, SDL2 was calling XChangeProperty() with an int argument,
while X11 expects a long argument there.

The following diff was tested on loongson and fixes the issue for me.

Index: Makefile
===
RCS file: /cvs/ports/devel/sdl2/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- Makefile14 May 2017 06:40:35 -  1.16
+++ Makefile5 Jul 2017 11:04:20 -
@@ -4,7 +4,7 @@ COMMENT=cross-platform multimedia libra
 BROKEN-hppa=   src/atomic/SDL_spinlock.c:101:2: error: \#error Please 
implement for your platform.
 
 V= 2.0.5
-REVISION=  0
+REVISION=  1
 DISTNAME=  SDL2-${V}
 PKGNAME=   sdl2-${V}
 CATEGORIES=devel
Index: patches/patch-src_video_x11_SDL_x11window_c
===
RCS file: patches/patch-src_video_x11_SDL_x11window_c
diff -N patches/patch-src_video_x11_SDL_x11window_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-src_video_x11_SDL_x11window_c 5 Jul 2017 11:04:20 -
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+The Xlib documentation demands that 32-bit values here be passed in a long,
+even when long itself isn't a 32-bit value. Otherwise libx11 might read
+memory incorrectly (Bugzilla #3692).
+
+97c66d81b2c9 upstream.
+
+Index: src/video/x11/SDL_x11window.c
+--- src/video/x11/SDL_x11window.c.orig
 src/video/x11/SDL_x11window.c
+@@ -376,7 +376,7 @@ X11_CreateWindow(_THIS, SDL_Window * window)
+ Atom _NET_WM_WINDOW_TYPE;
+ Atom wintype;
+ const char *wintype_name = NULL;
+-int compositor = 1;
++long compositor = 1;
+ Atom _NET_WM_PID;
+ Atom XdndAware, xdnd_version = 5;
+ long fevent = 0;



[PATCH] sysutils/smartmontools: add more architectures?

2017-07-04 Thread Donovan Watteau
Hi,

At the moment, smartmontools only gets built on amd64, i386 and powerpc.

I can understand that it didn't make much sense on vax for example,
but we're probably missing some compatible archs...

It does build, run and work on loongson, at least.  I'm sure it probably
works elsewhere too, but I don't have all the hardware to test.

Here's what I could add and test:

Index: Makefile
===
RCS file: /cvs/ports/sysutils/smartmontools/Makefile,v
retrieving revision 1.30
diff -u -p -r1.30 Makefile
--- Makefile21 Apr 2017 17:08:01 -  1.30
+++ Makefile2 Jul 2017 13:23:30 -
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile,v 1.30 2017/04/21 17:08:01 giovanni Exp $
 
-ONLY_FOR_ARCHS=amd64 i386 powerpc
+ONLY_FOR_ARCHS=amd64 i386 loongson powerpc
 
 COMMENT=   control and monitor storage systems using SMART
 
But I wonder whether we shouldn't switch ONLY_FOR_ARCHS for a few
NOT_FOR_ARCHS instead, or something like that...



Re: [BUG/PATCH] devel/libmtp linking error on mips64el

2017-07-03 Thread Donovan Watteau
On Mon, 3 Jul 2017, Stuart Henderson wrote:
> Committed. Donovan: if you could check that it still builds as expected
> that would be appreciated, thanks.

Yes, the updated port does build as expected on loongson.

Thanks!



[BUG/PATCH] devel/libmtp linking error on mips64el

2017-07-03 Thread Donovan Watteau
Hi,

This one is a bit weird.

There's a really strange linking error while trying to build devel/libmtp,
and it looks like it's only happening on mips64el.

===>  Building for libmtp-1.1.13
make  all-recursive
Making all in src
Making all in examples
cc -DHAVE_CONFIG_H -I. -I..  -I../src  -I/usr/local/include  -O2 -pipe -Wall 
-Wmissing-prototypes -MT detect.o -MD -MP -MF .deps/detect.Tpo -c -o detect.o 
detect.c
mv -f .deps/detect.Tpo .deps/detect.Po
/usr/bin/libtool  --tag=CC--mode=link cc  -O2 -pipe -Wall 
-Wmissing-prototypes   -L/usr/local/lib -o mtp-detect detect.o util.o 
../src/libmtp.la -lgcrypt 
libtool: link: cc -o .libs/mtp-detect -pthread -O2 -pipe -Wall 
-Wmissing-prototypes detect.o util.o -L.libs -lmtp -liconv -lusb-1.0 -lgcrypt 
-lgpg-error -lintl -Wl,-rpath-link,/usr/local/lib
.libs/libgcrypt.so.19.3: warning: warning: stpcpy() is dangerous; do not use it
.libs/libmtp.so.7.0: warning: warning: rand() may return deterministic values, 
is that what you want?
.libs/libmtp.so.7.0: warning: warning: strcat() is almost always misused, 
please use strlcat()
.libs/libmtp.so.7.0: warning: warning: sprintf() is often misused, please use 
snprintf()
.libs/libmtp.so.7.0: warning: warning: strcpy() is almost always misused, 
please use strlcpy()
.libs/libmtp.so.7.0: undefined reference to `.L2085'
collect2: ld returned 1 exit status
Error while executing cc -o .libs/mtp-detect -pthread -O2 -pipe -Wall 
-Wmissing-prototypes detect.o util.o -L.libs -lmtp -liconv -lusb-1.0 -lgcrypt 
-lgpg-error -lintl -Wl,-rpath-link,/usr/local/lib
*** Error 25 in examples (Makefile:511 'mtp-detect')
*** Error 1 in . (Makefile:551 'all-recursive')
*** Error 1 in /usr/ports/pobj/libmtp-1.1.13/libmtp-1.1.13 (Makefile:389 'all')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2695 
'/usr/ports/pobj/libmtp-1.1.13/.build_done')
*** Error 1 in /usr/ports/devel/libmtp 
(/usr/ports/infrastructure/mk/bsd.port.mk:2398 'all')

Using MODGCC4 works around this.  I suspect a small bug in base toolchain,
but strangely, mips64 doesn't look affected as I see a package for it, so
mips64el might be the only arch having this issue... (and this build error
has existed for some months).

I have no idea how to investigate this, and it doesn't look like a common
problem on mips64el, so using MODGCC4 feels like an acceptable workaround,
IMO.

Index: Makefile
===
RCS file: /cvs/ports/devel/libmtp/Makefile,v
retrieving revision 1.35
diff -u -p -r1.35 Makefile
--- Makefile30 May 2017 20:48:04 -  1.35
+++ Makefile3 Jul 2017 10:26:57 -
@@ -16,6 +16,9 @@ WANTLIB += c gcrypt gpg-error iconv intl
 
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=libmtp/}
 
+MODULES+=  gcc4
+MODGCC4_ARCHS= mips64el
+
 LIB_DEPENDS=   devel/libusb1 \
security/libgcrypt
 



[PATCH] Fix archivers/p7zip endianness detection

2017-07-02 Thread Donovan Watteau
Hi,

archivers/p7zip currently fails to build on loongson, because of a
mistake in patch-C_CpuArch_h: we were implying that __mips64__ always
means that we're running big-endian, but that's wrong for loongson
(which is mips64el).

__MIPSEL__ and __mips64__ are both detected by CpuArch.h, so p7zip
tries to build thinking that it's both big- and little-endian, and
the build fails right at the start.

The following diff just patches CpuArch.h to use  instead,
which makes things simpler and correct.

I don't think REVISION needs to be bumped, because it shouldn't change
anything for the architectures where it didn't build (except if there
was an arch where we were successfully building, but with the wrong
endianness).

Index: patches/patch-C_CpuArch_h
===
RCS file: /cvs/ports/archivers/p7zip/patches/patch-C_CpuArch_h,v
retrieving revision 1.2
diff -u -p -r1.2 patch-C_CpuArch_h
--- patches/patch-C_CpuArch_h   10 Apr 2016 19:53:09 -  1.2
+++ patches/patch-C_CpuArch_h   2 Jul 2017 09:14:29 -
@@ -1,25 +1,52 @@
 $OpenBSD: patch-C_CpuArch_h,v 1.2 2016/04/10 19:53:09 naddy Exp $
 
-Add support for more OpenBSD architectures.
+Use  to determine endianness, instead of a complex and 
+incorrect list of architectures.
 
 C/CpuArch.h.orig   Wed Feb 17 01:27:16 2016
-+++ C/CpuArch.hSun Apr  3 19:05:55 2016
-@@ -66,6 +66,8 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and 
- || defined(__MIPSEL__) \
- || defined(__MIPSEL) \
- || defined(_MIPSEL) \
-+|| defined(__alpha__) \
-+|| defined(__sh__) \
- || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == 
__ORDER_LITTLE_ENDIAN__))
-   #define MY_CPU_LE
+Index: C/CpuArch.h
+--- C/CpuArch.h.orig
 C/CpuArch.h
+@@ -5,6 +5,7 @@
+ #define __CPU_ARCH_H
+ 
+ #include "7zTypes.h"
++#include 
+ 
+ EXTERN_C_BEGIN
+ 
+@@ -56,33 +57,9 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and 
+ #define MY_CPU_IA64_LE
  #endif
-@@ -82,6 +84,9 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and 
- || defined(__s390x__) \
- || defined(__zarch__) \
- || defined(__sparc) \
-+|| defined(__sparc__) \
-+|| defined(__hppa__) \
-+|| defined(__mips64__) \
- || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
+ 
+-#if defined(MY_CPU_X86_OR_AMD64) \
+-|| defined(MY_CPU_ARM_LE) \
+-|| defined(MY_CPU_IA64_LE) \
+-|| defined(__LITTLE_ENDIAN__) \
+-|| defined(__ARMEL__) \
+-|| defined(__THUMBEL__) \
+-|| defined(__AARCH64EL__) \
+-|| defined(__MIPSEL__) \
+-|| defined(__MIPSEL) \
+-|| defined(_MIPSEL) \
+-|| (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == 
__ORDER_LITTLE_ENDIAN__))
++#if BYTE_ORDER == LITTLE_ENDIAN
+   #define MY_CPU_LE
+-#endif
+-
+-#if defined(__BIG_ENDIAN__) \
+-|| defined(__ARMEB__) \
+-|| defined(__THUMBEB__) \
+-|| defined(__AARCH64EB__) \
+-|| defined(__MIPSEB__) \
+-|| defined(__MIPSEB) \
+-|| defined(_MIPSEB) \
+-|| defined(__m68k__) \
+-|| defined(__s390__) \
+-|| defined(__s390x__) \
+-|| defined(__zarch__) \
+-|| defined(__sparc) \
+-|| (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
++#elif BYTE_ORDER == BIG_ENDIAN
#define MY_CPU_BE
  #endif
+ 



Re: [PATCH] scummvm and residualvm GCC 4.2.1 miscompilation

2017-05-26 Thread Donovan Watteau
On Tue, 9 May 2017, Donovan Watteau wrote:
> Thanks everyone for your valuable suggestions!
> 
> A new diff follows...
> 

This new diff uses the new USE_CXX mechanism.  Fine for me on macppc,
but I don't have any aarch64 device to test the clang-by-default case.

I've also added an upstream patch for ScummVM that fixes a crash with
Rex Nebular.


games/scummvm:

Index: Makefile
===
RCS file: /cvs/ports/games/scummvm/Makefile,v
retrieving revision 1.68
diff -u -p -r1.68 Makefile
--- Makefile10 Apr 2017 11:46:19 -  1.68
+++ Makefile26 May 2017 13:20:44 -
@@ -2,6 +2,7 @@
 
 COMMENT=   graphical adventure game interpreter
 V= 1.9.0
+REVISION=  0
 DISTNAME=  scummvm-${V}
 CATEGORIES=games x11 emulators
 MASTER_SITES=  http://www.scummvm.org/frs/scummvm/${V}/
@@ -13,12 +14,17 @@ MAINTAINER= Jonathan Gray <jsg@openbsd.o
 # GPLv2+
 PERMIT_PACKAGE_CDROM=  Yes
 
-WANTLIB += FLAC SDL2 c faad freetype jpeg m mad png pthread sndio ${LIBCXX}
+WANTLIB += FLAC SDL2 c faad freetype jpeg m mad png sndio ${LIBECXX}
 WANTLIB += theoradec z
 
 .if ${MACHINE_ARCH} == "i386"
 BUILD_DEPENDS= devel/nasm
 .endif
+
+# GCC 4.2.1 miscompiles this on at least ppc, so play safe and
+# just use a newer compiler everywhere.
+WANT_CXX=  base gcc
+MODGCC4_LANGS= c++
 
 RUN_DEPENDS=   devel/desktop-file-utils
 LIB_DEPENDS=   audio/libmad \
Index: patches/patch-engines_mads_palette_cpp
===
RCS file: patches/patch-engines_mads_palette_cpp
diff -N patches/patch-engines_mads_palette_cpp
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-engines_mads_palette_cpp  26 May 2017 13:20:44 -
@@ -0,0 +1,28 @@
+$OpenBSD$
+
+MADS: Fix two off-by-ones in Fader::insertionSort
+
+Commit 407187161038403f4d5e1ea35841379edfcef47a upstream.
+
+Index: engines/mads/palette.cpp
+--- engines/mads/palette.cpp.orig
 engines/mads/palette.cpp
+@@ -665,15 +665,15 @@ void Fader::insertionSort(int size, byte *id, byte *va
+ 
+   int moveCount = size - arrIndex - 1;
+   if (moveCount > 0) {
+-  Common::copy(idP + 1, idP + moveCount + 
2, idP);
+-  Common::copy(valueP + 1, valueP + 
moveCount + 2, valueP);
++  Common::copy(idP + 1, idP + moveCount + 
1, idP);
++  Common::copy(valueP + 1, valueP + 
moveCount + 1, valueP);
+   }
+ 
+   // Scan for insert spot
+   int idx = 0;
+   if (endIndex > 0) {
+   bool breakFlag = false;
+-  for (; idx <= endIndex && !breakFlag; 
++idx) {
++  for (; idx <= endIndex - 1 && 
!breakFlag; ++idx) {
+   breakFlag = savedId < id[idx];
+   }
+   }



games/residualvm:

Index: Makefile
===
RCS file: /cvs/ports/games/residualvm/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- Makefile10 Apr 2017 11:46:19 -  1.7
+++ Makefile26 May 2017 13:20:49 -
@@ -3,9 +3,9 @@
 COMMENT =  interpreter for some LucasArts 3D games
 
 V =0.2.1
+REVISION = 2
 DISTNAME = residualvm-${V}-sources
 PKGNAME =  residualvm-${V}
-REVISION = 1
 
 CATEGORIES =   games
 
@@ -14,7 +14,7 @@ HOMEPAGE =http://residualvm.org/
 # GPLv2+
 PERMIT_PACKAGE_CDROM = Yes
 
-WANTLIB += GL SDL c freetype iconv jpeg m mad mpeg2 ogg png pthread ${LIBCXX}
+WANTLIB += GL SDL c freetype iconv jpeg m mad mpeg2 ogg png pthread ${LIBECXX}
 WANTLIB += theoradec vorbis vorbisfile z
 
 MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=residualvm/}
@@ -29,6 +29,11 @@ LIB_DEPENDS =audio/libmad \
multimedia/libtheora
 RUN_DEPENDS =  devel/desktop-file-utils \
x11/gtk+3,-guic
+
+# GCC 4.2.1 miscompiles this on at least ppc, so play safe and
+# just use a newer compiler everywhere.
+WANT_CXX = base gcc
+MODGCC4_LANGS =c++
 
 SEPARATE_BUILD =   Yes
 USE_GMAKE =Yes



Re: [PATCH] scummvm and residualvm GCC 4.2.1 miscompilation

2017-05-09 Thread Donovan Watteau
Thanks everyone for your valuable suggestions!

A new diff follows...

On Tue, 9 May 2017, Stuart Henderson wrote:
> On 2017/05/09 12:25, Juan Francisco Cantero Hurtado wrote:
> > On Tue, May 09, 2017 at 11:24:27AM +1000, Jonathan Gray wrote:
> > > On Mon, May 08, 2017 at 10:47:56PM +0200, Donovan Watteau wrote:
> > > > Hi,
> > > > 
> > > > ScummVM and ResidualVM share some code, and it looks like they 
> > > > trigger an old bug with GCC 4.2.1 on ppc.
> > > > 
> > > > All the games having voices crash at startup on macppc, with what
> > > > looks like some miscompiled code in audio/decoders/voc.cpp for
> > > > ScummVM, and common/stream.cpp for ResidualVM.
> > > > 
> > > > After some trial and error, it looks like this is a bug with
> > > > -funit-at-a-time on GCC 4.2.1.  I see this problem on macppc,
> > > > but it could also happen on arm, judging by the following
> > > > similar reports:
> > > > http://www.smartmontools.org/ticket/219
> > > > https://gcc.gnu.org/ml/gcc-help/2010-11/msg00038.html
> > > 
> > > I think you should only do this for powerpc for now, as
> > > otherwise aarch64 has no chance of building.
> > > 
> > 
> > With MODGCC4_ARCHS=${GCC3_ARCHS} ${GCC4_ARCHS}, the port will use clang
> > on aarch64.
> 
> But if you just change that, WANTLIB will be missing the c++ libs.

IMHO, it should be MODGCC4's job to "fix" your current ${LIBCXX} for
archs where the module is enabled...

Other MODGCC4 C++ ports don't have any ${LIBCXX} (and probably miss
aarch64), and other ports have both stdc++ and estdc++.  I think the
latter is the "best" trade-off at the moment.

games/scummvm:

Index: Makefile
===
RCS file: /cvs/ports/games/scummvm/Makefile,v
retrieving revision 1.68
diff -u -p -r1.68 Makefile
--- Makefile10 Apr 2017 11:46:19 -  1.68
+++ Makefile9 May 2017 18:20:50 -
@@ -2,6 +2,7 @@
 
 COMMENT=   graphical adventure game interpreter
 V= 1.9.0
+REVISION=  0
 DISTNAME=  scummvm-${V}
 CATEGORIES=games x11 emulators
 MASTER_SITES=  http://www.scummvm.org/frs/scummvm/${V}/
@@ -19,6 +20,12 @@ WANTLIB += theoradec z
 .if ${MACHINE_ARCH} == "i386"
 BUILD_DEPENDS= devel/nasm
 .endif
+
+# GCC 4.2.1 miscompiles this on at least ppc, so play safe and
+# just use a newer compiler everywhere.
+MODULES=   gcc4
+MODGCC4_ARCHS= ${GCC3_ARCHS} ${GCC4_ARCHS}
+MODGCC4_LANGS= c++
 
 RUN_DEPENDS=   devel/desktop-file-utils
 LIB_DEPENDS=   audio/libmad \

games/residualvm:

Index: Makefile
===
RCS file: /cvs/ports/games/residualvm/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- Makefile10 Apr 2017 11:46:19 -  1.7
+++ Makefile9 May 2017 18:22:45 -
@@ -3,9 +3,9 @@
 COMMENT =  interpreter for some LucasArts 3D games
 
 V =0.2.1
+REVISION = 2
 DISTNAME = residualvm-${V}-sources
 PKGNAME =  residualvm-${V}
-REVISION = 1
 
 CATEGORIES =   games
 
@@ -29,6 +29,12 @@ LIB_DEPENDS =audio/libmad \
multimedia/libtheora
 RUN_DEPENDS =  devel/desktop-file-utils \
x11/gtk+3,-guic
+
+# GCC 4.2.1 miscompiles this on at least ppc, so play safe and
+# just use a newer compiler everywhere.
+MODULES =  gcc4
+MODGCC4_ARCHS =${GCC3_ARCHS} ${GCC4_ARCHS}
+MODGCC4_LANGS =c++
 
 SEPARATE_BUILD =   Yes
 USE_GMAKE =Yes



[PATCH] scummvm and residualvm GCC 4.2.1 miscompilation

2017-05-08 Thread Donovan Watteau
Hi,

ScummVM and ResidualVM share some code, and it looks like they 
trigger an old bug with GCC 4.2.1 on ppc.

All the games having voices crash at startup on macppc, with what
looks like some miscompiled code in audio/decoders/voc.cpp for
ScummVM, and common/stream.cpp for ResidualVM.

After some trial and error, it looks like this is a bug with
-funit-at-a-time on GCC 4.2.1.  I see this problem on macppc,
but it could also happen on arm, judging by the following
similar reports:
http://www.smartmontools.org/ticket/219
https://gcc.gnu.org/ml/gcc-help/2010-11/msg00038.html

So, using -fno-unit-at-a-time could be an option and works, but
it looks like a complex and random bug in GCC 4.2, so I think it's
probably safer to compile ScummVM and ResidualVM with a newer
compiler that doesn't miscompile this in the first place.

The crashes disappear on macppc when compiling with GCC 4.9.

Switch to .tar.xz distfiles while there, as this was debugged
on an extremely poor link where saving a bit of bandwidth helped.

games/scummvm:

Index: Makefile
===
RCS file: /cvs/ports/games/scummvm/Makefile,v
retrieving revision 1.68
diff -u -p -r1.68 Makefile
--- Makefile10 Apr 2017 11:46:19 -  1.68
+++ Makefile8 May 2017 20:24:55 -
@@ -5,6 +5,8 @@ V=  1.9.0
 DISTNAME=  scummvm-${V}
 CATEGORIES=games x11 emulators
 MASTER_SITES=  http://www.scummvm.org/frs/scummvm/${V}/
+EXTRACT_SUFX=  .tar.xz
+REVISION=  0
 
 HOMEPAGE=  http://www.scummvm.org/
 
@@ -13,12 +15,18 @@ MAINTAINER= Jonathan Gray 

[PATCH] Fix devel/sdl2 endianness detection

2017-05-08 Thread Donovan Watteau
Hi,

SDL2 apps on macppc give you harsh whitenoise instead of sound at the
moment.  That's because of a poor endianness check in SDL2, so your
audio samples are played in little-endian, while we use PowerPC as a
big-endian arch.  Some other bugs might also happen because of this.

Instead of looking for arch defines and miss some of them, let's just
use , which is way simpler, and accurate.  This could also
be backported to sdl1, which just happens to be luckier, it seems. 

I think a minor SHARED_LIBS bump is enough (dependent ports need
to be recompiled for the change to take effect on macppc), but please
check.

Tested with scummvm and starfighter.

Index: Makefile
===
RCS file: /cvs/ports/devel/sdl2/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- Makefile10 Nov 2016 10:08:04 -  1.15
+++ Makefile8 May 2017 20:03:00 -
@@ -1,15 +1,16 @@
 # $OpenBSD: Makefile,v 1.15 2016/11/10 10:08:04 jca Exp $
 
 COMMENT=   cross-platform multimedia library
-BROKEN-hppa=   src/atomic/SDL_spinlock.c:101:2: error: #error Please implement 
for your platform.
+BROKEN-hppa=   src/atomic/SDL_spinlock.c:101:2: error: \#error Please 
implement for your platform.
 
 V= 2.0.5
+REVISION=  0
 DISTNAME=  SDL2-${V}
 PKGNAME=   sdl2-${V}
 CATEGORIES=devel
 MASTER_SITES=  http://www.libsdl.org/release/
 
-SHARED_LIBS=   SDL20.3
+SHARED_LIBS=   SDL20.4
 
 HOMEPAGE=  http://www.libsdl.org/
 
Index: patches/patch-include_SDL_endian_h
===
RCS file: patches/patch-include_SDL_endian_h
diff -N patches/patch-include_SDL_endian_h
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-include_SDL_endian_h  8 May 2017 20:03:00 -
@@ -0,0 +1,19 @@
+$OpenBSD$
+
+ is simpler and more reliable.
+
+Index: include/SDL_endian.h
+--- include/SDL_endian.h.orig
 include/SDL_endian.h
+@@ -42,7 +42,10 @@
+ #ifdef __linux__
+ #include 
+ #define SDL_BYTEORDER  __BYTE_ORDER
+-#else /* __linux__ */
++#elif defined(__OpenBSD__)
++#include 
++#define SDL_BYTEORDER  BYTE_ORDER
++#else
+ #if defined(__hppa__) || \
+ defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \
+ (defined(__MIPS__) && defined(__MISPEB__)) || \



Re: [PATCH] editors/elvis: clang and other fixes

2017-04-20 Thread Donovan Watteau
On Mon, 17 Apr 2017, Stuart Henderson wrote:
> > * Various fixes from a forked Github version (there was no official
> >   elvis release since 2004), clang warns about most of them.
> 
> Not an elvis user or familiar with development, but would it make
> any sense to switch to the fork rather than just take some patches?

Yes, I agree.  However, we'd probably be the first to use this fork,
so I want to make sure that the first patches are OK, and I'll probably
switch to the forked version in a second step.

On Mon, 17 Apr 2017, Stuart Henderson wrote:
> On 2017/04/17 15:55, Donovan Watteau wrote:
> > * Fix a build failure with clang; some  symbols were
> >   redefined (patch-guitcap_c).
> 
> This class of failures is being looked at (and doesn't affect arm64
> which is the only arch where this will actually be built with clang
> in bulks for now) so I think it makes sense to skip this one for now.
> 
> Others committed.

OK, thank you!



[PATCH] games/teeworlds: fix hardcoded gcc/g++ (MAINTAINER)

2017-02-28 Thread Donovan Watteau
Hi,

The following diff works around some hardcoded gcc/g++ stuff.

This port has its own funky build system, so I just tried to make
a diff that's simple enough.

Tested while moving /usr/bin/gcc and /usr/bin/g++ out of the way.

Index: Makefile
===
RCS file: /cvs/ports/games/teeworlds/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile30 Nov 2016 18:17:03 -  1.19
+++ Makefile28 Feb 2017 19:05:55 -
@@ -49,6 +49,7 @@ pre-configure:
${WRKSRC}/scripts/font_installer.sh \
${WRKSRC}/scripts/make_src.py \
${WRKSRC}/bam.lua \
+   ${WRKSRC}/configure.lua \
${BAM_WRKSRC}/make_unix.sh \
${BAM_WRKSRC}/src/driver_gcc.lua \
${BAM_WRKSRC}/src/base.lua
Index: patches/patch-configure_lua
===
RCS file: patches/patch-configure_lua
diff -N patches/patch-configure_lua
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-configure_lua 28 Feb 2017 19:05:55 -
@@ -0,0 +1,36 @@
+$OpenBSD$
+
+Accept more compilers than a hardcoded gcc.
+
+(SetDriversClang() is also a no-op) 
+
+--- configure.lua.orig Sun Nov 13 16:41:35 2016
 configure.lua  Tue Feb 28 19:34:03 2017
+@@ -362,10 +362,9 @@ function OptCCompiler(name, default_driver, default_c,
+   else
+   if ExecuteSilent("cl") == 0 then
+   option.driver = "cl"
+-  elseif ExecuteSilent("g++ -v") == 0 then
+-  option.driver = "gcc"
+   else
+-  error("no c/c++ compiler found")
++  -- Assume GCC compatible
++  option.driver = "${CC}"
+   end
+   end
+   --setup_compiler(option.value)
+@@ -374,12 +373,9 @@ function OptCCompiler(name, default_driver, default_c,
+   local apply = function(option, settings)
+   if option.driver == "cl" then
+   SetDriversCL(settings)
+-  elseif option.driver == "gcc" then
+-  SetDriversGCC(settings)
+-  elseif option.driver == "clang" then
+-  SetDriversClang(settings)
+   else
+-  error(option.driver.." is not a known c/c++ compile 
driver")
++  -- Assume GCC compatible
++  SetDriversGCC(settings)
+   end
+ 
+   if option.c_compiler then settings.cc.c_compiler = 
option.c_compiler end



Re: [PATCH] Small audio/cmus fixes (MAINTAINER)

2017-02-18 Thread Donovan Watteau
On Sat, 18 Feb 2017, Jeremie Courreges-Anglas wrote:
> Donovan Watteau <tso...@gmail.com> writes:
> 
> > Hi,
> >
> > The following diff fixes a missing avcodec dependency for cmus;
> > it also fixes some possible 24-bit problems, as reported here:
> > https://github.com/cmus/cmus/pull/613
> >
> > Tested on loongson.
> 
> Committed, thanks.

Thank you!

> port-lib-depends-check says:
> 
> cmus-2.7.1p1(audio/cmus,-main):
> Extra:  ogg.6 vorbis.9
> 
> here (-current amd64).

Ah, I thought it was just a wrong warning, since the vorbis.so plugin
does have a dependency on libogg and libvorbis.

But actually, I think port-lib-depends-check is just telling me that
vorbisfile is enough, since this one already implies libogg and
libvorbis (vorbisfile, or vorbisidec for arm).

I'll fix this for the next cmus release, thanks.



[PATCH] Fix multimedia/libvpx with gcc 4.2.1

2017-02-17 Thread Donovan Watteau
Hi,

The following diff fixes multimedia/libvpx when trying to build it
with gcc 4.2.1.

It's calling some GCC flags which don't exist in this version.
amd64 and i386 are not affected, because they use clang.

I'm just disabling the offending flags; that's the simplest thing to
do and I can't see any drawback to it (building with clang might just
be a bit more verbose).

No bump, since it just fixes things on archs where it didn't build,
and amd64/i386 output shouldn't change (only warning flags were changed).

Tested on loongson.

Index: patches/patch-libs_mk
===
RCS file: /cvs/ports/multimedia/libvpx/patches/patch-libs_mk,v
retrieving revision 1.12
diff -u -p -r1.12 patch-libs_mk
--- patches/patch-libs_mk   15 Jan 2017 09:59:11 -  1.12
+++ patches/patch-libs_mk   17 Feb 2017 19:26:37 -
@@ -1,7 +1,18 @@
 $OpenBSD: patch-libs_mk,v 1.12 2017/01/15 09:59:11 ajacoutot Exp $
 libs.mk.orig   Thu Jan 12 15:27:27 2017
-+++ libs.mkSat Jan 14 18:47:23 2017
-@@ -255,22 +255,17 @@ EXPORT_FILE := libvpx.def
+--- libs.mk.orig   Thu Jan 12 21:27:27 2017
 libs.mkFri Feb 17 20:11:49 2017
+@@ -115,10 +115,6 @@ endif
+ 
+ # Suppress -Wextra warnings in third party code.
+ $(BUILD_PFX)third_party/googletest/%.cc.o: CXXFLAGS += 
-Wno-missing-field-initializers
+-# Suppress -Wextra warnings in first party code pending investigation.
+-# https://bugs.chromium.org/p/webm/issues/detail?id=1069
+-$(BUILD_PFX)vp8/encoder/onyx_if.c.o: CFLAGS += -Wno-unknown-warning-option 
-Wno-clobbered
+-$(BUILD_PFX)vp8/decoder/onyxd_if.c.o: CFLAGS += -Wno-unknown-warning-option 
-Wno-clobbered
+ 
+ ifeq ($(CONFIG_MSVS),yes)
+ CODEC_LIB=$(if $(CONFIG_STATIC_MSVCRT),vpxmt,vpxmd)
+@@ -255,22 +251,17 @@ EXPORT_FILE := libvpx.def
  LIBVPX_SO_SYMLINKS  :=
  LIBVPX_SO_IMPLIB:= libvpx_dll.a
  else
@@ -25,7 +36,7 @@ $OpenBSD: patch-libs_mk,v 1.12 2017/01/1
  $(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE)
  
  libvpx.ver: $(call enabled,CODEC_EXPORTS)
-@@ -305,15 +300,7 @@ $(1): $(2)
+@@ -305,15 +296,7 @@ $(1): $(2)
$(qexec)ln -sf $(2) $$@
  endef
  



[PATCH] Small audio/cmus fixes (MAINTAINER)

2017-02-10 Thread Donovan Watteau
Hi,

The following diff fixes a missing avcodec dependency for cmus;
it also fixes some possible 24-bit problems, as reported here:
https://github.com/cmus/cmus/pull/613

Tested on loongson.

Index: Makefile
===
RCS file: /cvs/ports/audio/cmus/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- Makefile23 Sep 2016 23:08:36 -  1.13
+++ Makefile9 Feb 2017 11:31:06 -
@@ -7,14 +7,14 @@ V=2.7.1
 DISTNAME=  cmus-${V}
 PKGNAME-main=  ${PKGNAME}
 PKGNAME-ffmpeg=cmus-ffmpeg-${V}
-REVISION=  0
+REVISION=  1
 
 GH_ACCOUNT=cmus
 GH_PROJECT=cmus
 GH_TAGNAME=v${V}
 
 CATEGORIES=audio
-HOMEPAGE=  http://cmus.sourceforge.net/
+HOMEPAGE=  https://cmus.github.io/
 
 MAINTAINER=Donovan Watteau <tso...@gmail.com>
 
@@ -36,7 +36,7 @@ LIB_DEPENDS-main= audio/flac \
audio/wavpack \
converters/libiconv
 
-WANTLIB-ffmpeg=avformat swresample
+WANTLIB-ffmpeg=avcodec avformat swresample
 LIB_DEPENDS-ffmpeg=graphics/ffmpeg
 RUN_DEPENDS-ffmpeg=audio/cmus
 
Index: patches/patch-configure
===
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-configure 9 Feb 2017 11:31:06 -
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+The ffmpeg plugin uses functions from libavcodec, so ensure that it is linked
+against libavcodec.
+
+Commit 9bde48f1b59d upstream.
+
+--- configure.orig Mon Jul 13 12:00:56 2015
 configure  Thu Feb  9 12:11:12 2017
+@@ -378,7 +378,7 @@ check_aac()
+ check_ffmpeg()
+ {
+   HAVE_FFMPEG_AVCODEC_H=y
+-  pkg_config FFMPEG "libavformat" || return $?
++  pkg_config FFMPEG "libavformat libavcodec" || return $?
+   if check_header "libavcodec/avcodec.h" $FFMPEG_CFLAGS
+   then
+   HAVE_FFMPEG_AVCODEC_H=n
Index: patches/patch-sndio_c
===
RCS file: /cvs/ports/audio/cmus/patches/patch-sndio_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-sndio_c
--- patches/patch-sndio_c   23 Sep 2016 23:08:36 -  1.1
+++ patches/patch-sndio_c   9 Feb 2017 11:31:06 -
@@ -1,11 +1,11 @@
 $OpenBSD: patch-sndio_c,v 1.1 2016/09/23 23:08:36 juanfra Exp $
 
-Support 32-bit/24-bit encoding
+Support 32-bit/24-bit encoding.
 
-84f33584be91 upstream
+Commits 84f33584be91 and bf87f0d76f87 upstream.
 
 --- sndio.c.orig   Mon Jul 13 12:00:56 2015
-+++ sndio.cThu Sep 22 18:54:45 2016
 sndio.cThu Feb  9 12:11:30 2017
 @@ -20,7 +20,6 @@
  
  #include 
@@ -14,7 +14,7 @@ Support 32-bit/24-bit encoding
  #include 
  #include 
  #include 
-@@ -82,6 +81,12 @@ static int sndio_set_sf(sample_format_t sf)
+@@ -82,6 +81,13 @@ static int sndio_set_sf(sample_format_t sf)
par.le = 1;
  
switch (sf_get_bits(sndio_sf)) {
@@ -23,6 +23,7 @@ Support 32-bit/24-bit encoding
 +  break;
 +  case 24:
 +  par.bits = 24;
++  par.bps = 3;
 +  break;
case 16:
par.bits = 16;



Re: support in lang/gcc

2017-02-09 Thread Donovan Watteau
On 2017/01/23 18:50 GMT+01:00, Stuart Henderson wrote:
> On 2017/01/23 17:14, Donovan Watteau wrote:
>> 2016-11-20 21:45 GMT+01:00 Donovan Watteau <tso...@gmail.com>:
>> > Hi,
>> >
>> > The next version of audio/cmus (2.8.0-rc0 at the moment) will require
>> > .
>> >
>> > This doesn't exist in base, and the only place where I can find this
>> > is in clang, so my next cmus update would lose a bit of platform
>> > support.
>> >
>> > Newer versions of GCC in ports have C11 support, and better platform
>> > support than clang at the moment, but it looks like our packages don't
>> > provide stdatomic.h (although they do have libatomic).
>> >
>> > Is there any reason for this?
>> >
>> > Thanks.
>>
>> Bumping this, in case it might just be a missing line in a PLIST or
>> something like this.
>>
>> Thanks.
>
> I don't know the answer about gcc. But you're likely to lose platform
> support by requiring 64-bit atomics anyway, so restricting to clang
> arches might not make so much difference..

Hm I think it does make a difference, at the moment, unfortunately.

For example, I'm going to lose powerpc and arm support, which don't
have llvm packages yet (mips64el is fine though, there's now a working
llvm port). There's no LLVM there, but I think GCC 4.9 would work on
these archs, though... (at least that's the case for powerpc, but it
looks like you have to add -latomic yourself).

But I'm still missing this  header in lang/gcc.

CC'ing pascal@, because it looks like he's the one doing all this
crazy GCC work, now (thanks!).



Re: support in lang/gcc

2017-01-23 Thread Donovan Watteau
2016-11-20 21:45 GMT+01:00 Donovan Watteau <tso...@gmail.com>:
> Hi,
>
> The next version of audio/cmus (2.8.0-rc0 at the moment) will require
> .
>
> This doesn't exist in base, and the only place where I can find this
> is in clang, so my next cmus update would lose a bit of platform
> support.
>
> Newer versions of GCC in ports have C11 support, and better platform
> support than clang at the moment, but it looks like our packages don't
> provide stdatomic.h (although they do have libatomic).
>
> Is there any reason for this?
>
> Thanks.

Bumping this, in case it might just be a missing line in a PLIST or
something like this.

Thanks.



Re: [NEW] misc/reprepro

2017-01-13 Thread Donovan Watteau
2016-11-30 20:13 GMT+01:00 Jeremie Courreges-Anglas <j...@wxcvbn.org>:
>
> Donovan Watteau <tso...@gmail.com> writes:
>
> > Hi,
> >
> > Attached is a port for reprepro, which is a tool to manage your
> > local Debian repositories (yes, I'm doing that on OpenBSD, just
> > with this tool and httpd(8)).
>
> That's a bit unusual, I'd say, but fine. :)
>
> > Some www.tmac macros in the manpage were disabled, so that it
> > doesn't require groff just for an email address and a URL.
>
> The manpage patch is a bit lossy, please find an updated patch in the
> attached tarball.
>
> Looks fine ports-wise, ok jca@ if someone wants to import it.

Thank you.

I'm pinging this again, this time updated to the latest 5.1.1 release
(+ your manpage fix).

I've also added a comment indicating that it can't be built with clang
(a future CLANG_ARCHS, similar to GCC3_ARCHS/GCC4_ARCHS could help for
this?).


reprepro.tgz
Description: GNU Zip compressed data


[PATCH] graphics/jpeg: auto-detect Altivec on ppc

2016-12-02 Thread Donovan Watteau
Hi,

The following diff enables Altivec acceleration in libjpeg-turbo,
for the PPC CPUs which support it.

That is: currently, Altivec code is always compiled, but never executed
(unless you pass the JSIMD_FORCEALTIVEC=1 environment variable).
This patch enables Altivec support at runtime, only if your ppc CPU
supports it.

Upstream just added a similar patch for AmigaOS, so I plan to submit
this diff if it's approved here.

Tested on a G3 (machdep.altivec=0) and a G5 (machdep.altivec=1).

Index: Makefile
===
RCS file: /cvs/ports/graphics/jpeg/Makefile,v
retrieving revision 1.56
diff -u -p -r1.56 Makefile
--- Makefile18 Oct 2016 14:28:14 -  1.56
+++ Makefile2 Dec 2016 18:28:12 -
@@ -5,6 +5,7 @@ COMMENT=SIMD-accelerated JPEG codec rep
 V= 1.5.1
 DISTNAME=  jpeg-turbo-${V}
 PKGNAME=   jpeg-${V}
+REVISION=  0
 EPOCH= 0
 
 SHARED_LIBS+=  jpeg68.1# 64.0
Index: patches/patch-simd_jsimd_powerpc_c
===
RCS file: patches/patch-simd_jsimd_powerpc_c
diff -N patches/patch-simd_jsimd_powerpc_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-simd_jsimd_powerpc_c  2 Dec 2016 18:28:12 -
@@ -0,0 +1,32 @@
+$OpenBSD$
+
+Detect Altivec support on ppc.
+
+--- simd/jsimd_powerpc.c.orig  Wed Sep 21 01:36:59 2016
 simd/jsimd_powerpc.c   Fri Dec  2 19:23:14 2016
+@@ -26,6 +26,12 @@
+ #include 
+ #include 
+ 
++#if defined(__OpenBSD__)
++#include 
++#include 
++#include 
++#endif
++
+ static unsigned int simd_support = ~0;
+ 
+ #if defined(__linux__) || defined(ANDROID) || defined(__ANDROID__)
+@@ -116,6 +122,12 @@ init_simd (void)
+ if (bufsize > SOMEWHAT_SANE_PROC_CPUINFO_SIZE_LIMIT)
+   break;
+   }
++#elif defined(__OpenBSD__)
++  int mib[2] = { CTL_MACHDEP, CPU_ALTIVEC };
++  int altivec;
++  size_t len = sizeof(altivec);
++  if (sysctl(mib, 2, , , NULL, 0) == 0 && altivec != 0)
++simd_support |= JSIMD_ALTIVEC;
+ #endif
+ 
+   /* Force different settings through environment variables */



[NEW] misc/reprepro

2016-11-29 Thread Donovan Watteau
Hi,

Attached is a port for reprepro, which is a tool to manage your
local Debian repositories (yes, I'm doing that on OpenBSD, just
with this tool and httpd(8)).

Some www.tmac macros in the manpage were disabled, so that it
doesn't require groff just for an email address and a URL.

reprepro.tgz
Description: Binary data


[PATCH] games/teeworlds: MAINTAINER update

2016-11-29 Thread Donovan Watteau
Hi,

The following diff updates games/teeworlds to the 0.6.4 version,
which fixes a possible remote code execution on the client, among
other things (well, if you look at the code, that's not really
surprising).

While here, Python isn't needed at runtime, and -fsigned-char might
help ppc.

The client has been tested on amd64, and the server looks OK on ppc.
(If you have a macppc with acceleration, knowing that the client still
works there would be good news!)

Thanks.

Index: Makefile
===
RCS file: /cvs/ports/games/teeworlds/Makefile,v
retrieving revision 1.18
diff -u -p -r1.18 Makefile
--- Makefile27 Dec 2015 17:56:22 -  1.18
+++ Makefile19 Nov 2016 14:27:39 -
@@ -5,7 +5,7 @@ ONLY_FOR_ARCHS= amd64 i386 powerpc
 
 COMMENT=   platform game featuring buggers equipped with weapons
 
-V= 0.6.3
+V= 0.6.4
 DISTNAME=  teeworlds-${V}-src
 PKGNAME=   teeworlds-${V}
 CATEGORIES=games
@@ -29,10 +29,14 @@ LIB_DEPENDS=audio/wavpack \
devel/sdl
 
 MODULES=   lang/python
+MODPY_RUNDEP=  No
 
 SUBST_VARS=CC CXX CFLAGS CXXFLAGS X11BASE
 
 NO_TEST=   Yes
+
+# Give it a chance on ppc
+CXXFLAGS+= -fsigned-char
 
 post-extract:
@mv ${WRKDIR}/bam-${BAM_VERSION} ${BAM_WRKSRC}
Index: distinfo
===
RCS file: /cvs/ports/games/teeworlds/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- distinfo27 Dec 2015 17:56:22 -  1.5
+++ distinfo19 Nov 2016 14:27:39 -
@@ -1,4 +1,4 @@
 SHA256 (bam-0.4.0.tar.gz) = Xk5JILTSZdpYL2Z3TpseyN37513cAo+6hsEvaG6hjbM=
-SHA256 (teeworlds-0.6.3-src.tar.gz) = 
SQ7nw3KJh2HGCa+Newxr1VlCxsb81/Nh7voAq/xwB3s=
+SHA256 (teeworlds-0.6.4-src.tar.gz) = 
wmHRnrsAtUUfqizrSnypRcrSrdSLBgRutDtAzMn9mOI=
 SIZE (bam-0.4.0.tar.gz) = 206780
-SIZE (teeworlds-0.6.3-src.tar.gz) = 13101446
+SIZE (teeworlds-0.6.4-src.tar.gz) = 8771622
Index: pkg/PLIST
===
RCS file: /cvs/ports/games/teeworlds/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -r1.2 PLIST
--- pkg/PLIST   27 Dec 2015 17:56:22 -  1.2
+++ pkg/PLIST   19 Nov 2016 14:27:39 -
@@ -410,6 +410,7 @@ share/teeworlds/data/languages/belarusia
 share/teeworlds/data/languages/bosnian.txt
 share/teeworlds/data/languages/brazilian_portuguese.txt
 share/teeworlds/data/languages/bulgarian.txt
+share/teeworlds/data/languages/chuvash.txt
 share/teeworlds/data/languages/czech.txt
 share/teeworlds/data/languages/danish.txt
 share/teeworlds/data/languages/dutch.txt
@@ -425,6 +426,7 @@ share/teeworlds/data/languages/polish.tx
 share/teeworlds/data/languages/portuguese.txt
 share/teeworlds/data/languages/romanian.txt
 share/teeworlds/data/languages/russian.txt
+share/teeworlds/data/languages/sakha.txt
 share/teeworlds/data/languages/serbian.txt
 share/teeworlds/data/languages/slovak.txt
 share/teeworlds/data/languages/spanish.txt



support in lang/gcc

2016-11-20 Thread Donovan Watteau
Hi,

The next version of audio/cmus (2.8.0-rc0 at the moment) will require
.

This doesn't exist in base, and the only place where I can find this
is in clang, so my next cmus update would lose a bit of platform
support.

Newer versions of GCC in ports have C11 support, and better platform
support than clang at the moment, but it looks like our packages don't
provide stdatomic.h (although they do have libatomic).

Is there any reason for this?

Thanks.



Re: UPDATE: devel/doxygen

2016-10-22 Thread Donovan Watteau
Hi,

Rafael Sadowski wrote:
> On Tue Sep 20, 2016 at 01:33:34AM +0100, Stuart Henderson wrote:
>> These plist changes for every update are getting silly, I think I'd
>> rather disable doxygen in those ports..
>>
>
> Other opinions or agreements?

Doxygen breaks very often on mips64, and AFAICT there's a good number
of ports that don't get built there because of that since 5.8.

I think Doxygen is mostly bloat, most people will look for their HTML
documentation online these days anyway,

I don't feel good having a dependency on a port which does this:

NOT_FOR_ARCHS= m88k sh
BROKEN-alpha= .got subsegment exceeds 64K

.if ${MACHINE_ARCH} == "mips64" ...
# ld(1) fails
CONFIGURE_ARGS+=-Denglish_only:Bool=ON
.endif



[PATCH] audio/cmus: fix 24-bit/32-bit output

2016-09-22 Thread Donovan Watteau
Hi,

The following diff from upstream fixes 24-bit/32-bit output
support for cmus (I'm the maintainer).

Thanks to Tobias Kortkamp for the patch!

(I've also changed a pre-configure to pre-build, otherwise the first
sed(1) could be applied twice if "make configure" is interrupted.
Dunno if it's a really good idea.)

Tested on loongson.

Index: Makefile
===
RCS file: /cvs/ports/audio/cmus/Makefile,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile
--- Makefile12 Sep 2016 11:45:57 -  1.12
+++ Makefile22 Sep 2016 17:08:18 -
@@ -7,6 +7,7 @@ V=  2.7.1
 DISTNAME=  cmus-${V}
 PKGNAME-main=  ${PKGNAME}
 PKGNAME-ffmpeg=cmus-ffmpeg-${V}
+REVISION=  0
 
 GH_ACCOUNT=cmus
 GH_PROJECT=cmus
@@ -78,7 +79,7 @@ WANTLIB-main+=vorbis>=0 vorbisfile>=1
 
 NO_TEST=   Yes
 
-pre-configure:
+pre-build:
sed -i s,/usr,${LOCALBASE}, ${WRKSRC}/Doc/cmus.txt
sed -i s,doc/cmus/examples,examples/cmus, ${WRKSRC}/Doc/cmus.txt
 
Index: patches/patch-sndio_c
===
RCS file: patches/patch-sndio_c
diff -N patches/patch-sndio_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-sndio_c   22 Sep 2016 17:08:18 -
@@ -0,0 +1,29 @@
+$OpenBSD$
+
+Support 32-bit/24-bit encoding
+
+84f33584be91 upstream
+
+--- sndio.c.orig   Mon Jul 13 12:00:56 2015
 sndio.cThu Sep 22 18:54:45 2016
+@@ -20,7 +20,6 @@
+ 
+ #include 
+ #include 
+-#include 
+ #include 
+ #include 
+ #include 
+@@ -82,6 +81,12 @@ static int sndio_set_sf(sample_format_t sf)
+   par.le = 1;
+ 
+   switch (sf_get_bits(sndio_sf)) {
++  case 32:
++  par.bits = 32;
++  break;
++  case 24:
++  par.bits = 24;
++  break;
+   case 16:
+   par.bits = 16;
+   break;



Re: [UPDATE] audio/cmus => 2.7.1

2015-10-24 Thread Donovan Watteau
Thanks Micah and Florian for the feedback.

ping anyone?  Thanks.

On Sat, 10 Oct 2015, Donovan Watteau wrote:
> Hi,
> 
> This diff updates audio/cmus to 2.7.1.
> 
> Quoting my earlier attempt at getting this port updated [1]:
> 
> This merges -flac and -wavpack back into -main, which is what
> I should have done in the first place.  @conflict and @pkgpath
> markers were added, and devel/quirks stuff too.
> 
> I added -ffmpeg for those who need to play more exotic formats
> (while trying to keep "sane" defaults formats in -main, so that
> you won't usually need ffmpeg and its dependencies).  For AAC,
> I've switched from audio/faad to graphics/ffmpeg, because the
> former didn't support proper seeking and such.
> 
> sndio output plugin has been merged by upstream.
> 
> Some changes were suggested by Florian Stinglmayr, thanks.
> 
> Tested on amd64, macppc, and loongson.
> 
> [1] https://marc.info/?l=openbsd-ports=142799977131494=2
> 
> 
> audio/cmus update:
> 
> 
> Index: Makefile
> ===
> RCS file: /cvs/ports/audio/cmus/Makefile,v
> retrieving revision 1.9
> diff -u -p -r1.9 Makefile
> --- Makefile  18 Jul 2015 14:33:49 -  1.9
> +++ Makefile  10 Oct 2015 12:57:49 -
> @@ -1,80 +1,87 @@
>  # $OpenBSD: Makefile,v 1.9 2015/07/18 14:33:49 jasper Exp $
>  
> +SHARED_ONLY= Yes
> +
>  COMMENT-main=ncurses-based music player
> -COMMENT-flac=FLAC input plugin for cmus
> -COMMENT-wavpack= Wavpack input plugin for cmus
> +COMMENT-ffmpeg=  ffmpeg input plugin for cmus (.aac, .mp4...)
>  
> -V=   2.5.0
> -DISTNAME=cmus-v$(V)
> -PKGNAME-main=cmus-$(V)
> -PKGNAME-flac=cmus-flac-$(V)
> -PKGNAME-wavpack= cmus-wavpack-$(V)
> +V=   2.7.1
> +DISTNAME=cmus-${V}
> +PKGNAME-main=${PKGNAME}
> +PKGNAME-ffmpeg=  cmus-ffmpeg-${V}
> +
> +GH_ACCOUNT=  cmus
> +GH_PROJECT=  cmus
> +GH_TAGNAME=  v${V}
>  
>  CATEGORIES=  audio
> -
>  HOMEPAGE=http://cmus.sourceforge.net/
> +
>  MAINTAINER=  Donovan Watteau <tso...@gmail.com>
>  
>  # GPLv2+
>  PERMIT_PACKAGE_CDROM=Yes
>  
> -EXTRACT_SUFX=.tar.bz2
> -MASTER_SITES=${MASTER_SITE_SOURCEFORGE:=cmus/}
> -
> -SHARED_ONLY= Yes
> -MULTI_PACKAGES=  -main -flac -wavpack
> +MULTI_PACKAGES=  -main -ffmpeg
>  
>  MODULES= converters/libiconv
>  
> -WANTLIB-main=c cdio cdio_cdda cue m mad>=2 ncursesw pthread 
> sndio
> -WANTLIB-main+=   ${MODLIBICONV_WANTLIB}
> +WANTLIB-main+=   c cdio cdio_cdda cue discid FLAC>=5 m mad>=2 
> ncursesw
> +WANTLIB-main+=   ogg opusfile pthread sndio wavpack 
> ${MODLIBICONV_WANTLIB}
>  
> -LIB_DEPENDS= audio/libcdio audio/libcue audio/libmad
> -
> -LIB_DEPENDS-flac=audio/flac audio/libogg
> -RUN_DEPENDS-flac=audio/cmus
> -WANTLIB-flac=FLAC>=5 ogg m
> -LIB_DEPENDS-wavpack= audio/wavpack ${MODLIBICONV_LIB_DEPENDS}
> -RUN_DEPENDS-wavpack= audio/cmus
> -WANTLIB-wavpack= wavpack m ${MODLIBICONV_WANTLIB}
> +LIB_DEPENDS-main=audio/flac \
> + audio/libcdio \
> + audio/libcue \
> + audio/libdiscid \
> + audio/libmad \
> + audio/libogg \
> + audio/opusfile \
> + audio/wavpack
> +
> +WANTLIB-ffmpeg=  avformat swresample
> +LIB_DEPENDS-ffmpeg=  graphics/ffmpeg
> +RUN_DEPENDS-ffmpeg=  audio/cmus
>  
>  USE_GMAKE=   Yes
>  
>  CONFIGURE_STYLE= simple
>  CONFIGURE_ENV=   HOSTCC="${CC}" HOSTLD="${CC}" 
> HOST_CFLAGS="${CFLAGS}"
> +CFLAGS+= -Wno-system-headers
>  # Note: We're explicitly disabling CONFIG_CDDB as it gets undef'd in cdio.c
>  CONFIGURE_ARGS=  prefix=${PREFIX} \
>   exampledir=${PREFIX}/share/examples/cmus \
>   mandir=${PREFIX}/man \
>   CONFIG_AAC=n \
> - CONFIG_FFMPEG=n \
> + CONFIG_ALSA=n \
> + CONFIG_AO=n \
> + CONFIG_ARTS=n \
> + CONFIG_CDDB=n \
> + CONFIG_DISCID=y \
> + CONFIG_FFMPEG=y \
> + CONFIG_JACK=n \
>   CONFIG_MODPLUG=n \
>

Re: [UPDATE] archivers/innoextract => 1.5

2015-10-24 Thread Donovan Watteau
ping

On Sun, 11 Oct 2015, Donovan Watteau wrote:
> Hi,
> 
> The following diff updates archivers/innoextract to 1.5.
> 
> Here are the changes, among other things:
> 
>  - Added support for Inno Setup 5.5.6 installers
>  - Added support for a modified Inno Setup 5.5.0 variant
>  - Added a simple --include (-I) option to filter files
>  - Added a --exclude-temp (-m) option to not extract temporary files
>  - Added a --collisions option to abort or rename files on collision
>  - Added a --gog (-g) option to extract additional .bin files using
>unrar or unar
>  - Colors are now only enabled automatically if $TERM is set to
>something other than "dumb"
> 
> Tested on loongson and macppc.
> 
> Index: Makefile
> ===
> RCS file: /cvs/ports/archivers/innoextract/Makefile,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Makefile
> --- Makefile  21 Nov 2014 19:04:14 -  1.1.1.1
> +++ Makefile  11 Oct 2015 13:16:23 -
> @@ -2,12 +2,12 @@
>  
>  COMMENT= unpack Inno Setup installers
>  
> -DISTNAME=innoextract-1.4
> +DISTNAME=innoextract-1.5
>  
>  CATEGORIES=  archivers
> -MASTER_SITES=${MASTER_SITE_SOURCEFORGE:=innoextract/}
> +HOMEPAGE=https://constexpr.org/innoextract/
>  
> -HOMEPAGE=http://constexpr.org/innoextract/
> +MASTER_SITES=${HOMEPAGE}files/
>  
>  MAINTAINER=  Donovan Watteau <tso...@gmail.com>
>  
> @@ -19,6 +19,8 @@ WANTLIB+=   boost_system-mt c lzma m pthre
>  
>  LIB_DEPENDS= archivers/xz \
>   devel/boost>=1.53.0p6
> +
> +RUN_DEPENDS= archivers/unrar
>  
>  MODULES= converters/libiconv devel/cmake
>  
> Index: distinfo
> ===
> RCS file: /cvs/ports/archivers/innoextract/distinfo,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 distinfo
> --- distinfo  21 Nov 2014 19:04:14 -  1.1.1.1
> +++ distinfo  11 Oct 2015 13:16:23 -
> @@ -1,2 +1,2 @@
> -SHA256 (innoextract-1.4.tar.gz) = 
> WklLWuHkEENXQJZ2HTFpXtix053+ZIlTBtDZJiOQHMk=
> -SIZE (innoextract-1.4.tar.gz) = 151230
> +SHA256 (innoextract-1.5.tar.gz) = 
> 8llOmSzPKFlFVHV5SAOymmc5P622nU3x7sNMRR/6SM8=
> +SIZE (innoextract-1.5.tar.gz) = 179582
> 



[UPDATE] audio/cmus => 2.7.1

2015-10-11 Thread Donovan Watteau
Hi,

This diff updates audio/cmus to 2.7.1.

Quoting my earlier attempt at getting this port updated [1]:

This merges -flac and -wavpack back into -main, which is what
I should have done in the first place.  @conflict and @pkgpath
markers were added, and devel/quirks stuff too.

I added -ffmpeg for those who need to play more exotic formats
(while trying to keep "sane" defaults formats in -main, so that
you won't usually need ffmpeg and its dependencies).  For AAC,
I've switched from audio/faad to graphics/ffmpeg, because the
former didn't support proper seeking and such.

sndio output plugin has been merged by upstream.

Some changes were suggested by Florian Stinglmayr, thanks.

Tested on amd64, macppc, and loongson.

[1] https://marc.info/?l=openbsd-ports=142799977131494=2


audio/cmus update:


Index: Makefile
===
RCS file: /cvs/ports/audio/cmus/Makefile,v
retrieving revision 1.9
diff -u -p -r1.9 Makefile
--- Makefile18 Jul 2015 14:33:49 -  1.9
+++ Makefile10 Oct 2015 12:57:49 -
@@ -1,80 +1,87 @@
 # $OpenBSD: Makefile,v 1.9 2015/07/18 14:33:49 jasper Exp $
 
+SHARED_ONLY=   Yes
+
 COMMENT-main=  ncurses-based music player
-COMMENT-flac=  FLAC input plugin for cmus
-COMMENT-wavpack=   Wavpack input plugin for cmus
+COMMENT-ffmpeg=ffmpeg input plugin for cmus (.aac, .mp4...)
 
-V= 2.5.0
-DISTNAME=  cmus-v$(V)
-PKGNAME-main=  cmus-$(V)
-PKGNAME-flac=  cmus-flac-$(V)
-PKGNAME-wavpack=   cmus-wavpack-$(V)
+V= 2.7.1
+DISTNAME=  cmus-${V}
+PKGNAME-main=  ${PKGNAME}
+PKGNAME-ffmpeg=cmus-ffmpeg-${V}
+
+GH_ACCOUNT=cmus
+GH_PROJECT=cmus
+GH_TAGNAME=v${V}
 
 CATEGORIES=audio
-
 HOMEPAGE=  http://cmus.sourceforge.net/
+
 MAINTAINER=        Donovan Watteau <tso...@gmail.com>
 
 # GPLv2+
 PERMIT_PACKAGE_CDROM=  Yes
 
-EXTRACT_SUFX=  .tar.bz2
-MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=cmus/}
-
-SHARED_ONLY=   Yes
-MULTI_PACKAGES=-main -flac -wavpack
+MULTI_PACKAGES=-main -ffmpeg
 
 MODULES=   converters/libiconv
 
-WANTLIB-main=  c cdio cdio_cdda cue m mad>=2 ncursesw pthread sndio
-WANTLIB-main+= ${MODLIBICONV_WANTLIB}
+WANTLIB-main+= c cdio cdio_cdda cue discid FLAC>=5 m mad>=2 ncursesw
+WANTLIB-main+= ogg opusfile pthread sndio wavpack 
${MODLIBICONV_WANTLIB}
 
-LIB_DEPENDS=   audio/libcdio audio/libcue audio/libmad
-
-LIB_DEPENDS-flac=  audio/flac audio/libogg
-RUN_DEPENDS-flac=  audio/cmus
-WANTLIB-flac=  FLAC>=5 ogg m
-LIB_DEPENDS-wavpack=   audio/wavpack ${MODLIBICONV_LIB_DEPENDS}
-RUN_DEPENDS-wavpack=   audio/cmus
-WANTLIB-wavpack=   wavpack m ${MODLIBICONV_WANTLIB}
+LIB_DEPENDS-main=  audio/flac \
+   audio/libcdio \
+   audio/libcue \
+   audio/libdiscid \
+   audio/libmad \
+   audio/libogg \
+   audio/opusfile \
+   audio/wavpack
+
+WANTLIB-ffmpeg=avformat swresample
+LIB_DEPENDS-ffmpeg=graphics/ffmpeg
+RUN_DEPENDS-ffmpeg=audio/cmus
 
 USE_GMAKE= Yes
 
 CONFIGURE_STYLE=   simple
 CONFIGURE_ENV= HOSTCC="${CC}" HOSTLD="${CC}" HOST_CFLAGS="${CFLAGS}"
+CFLAGS+=   -Wno-system-headers
 # Note: We're explicitly disabling CONFIG_CDDB as it gets undef'd in cdio.c
 CONFIGURE_ARGS=prefix=${PREFIX} \
exampledir=${PREFIX}/share/examples/cmus \
mandir=${PREFIX}/man \
CONFIG_AAC=n \
-   CONFIG_FFMPEG=n \
+   CONFIG_ALSA=n \
+   CONFIG_AO=n \
+   CONFIG_ARTS=n \
+   CONFIG_CDDB=n \
+   CONFIG_DISCID=y \
+   CONFIG_FFMPEG=y \
+   CONFIG_JACK=n \
CONFIG_MODPLUG=n \
CONFIG_MP4=n \
CONFIG_MPC=n \
CONFIG_OSS=n \
-   CONFIG_SUN=n \
-   CONFIG_AO=n \
-   CONFIG_ARTS=n \
CONFIG_PULSE=n \
-   CONFIG_ALSA=n \
CONFIG_ROAR=n \
+   CONFIG_SAMPLERATE=n \
CONFIG_SNDIO=y \
-   CONFIG_DISCID=n \
-   CONFIG_CDDB=n
+   CONFIG_SUN=n \
+   CONFIG_VTX=n
 
 .if ${MACHINE_ARCH} == "arm"
 CONFIGURE_ARGS+=   CONFIG_TREMOR=y
-LIB_DEPENDS+=  audio/tremor
+LIB_D

[UPDATE] archivers/innoextract => 1.5

2015-10-11 Thread Donovan Watteau
Hi,

The following diff updates archivers/innoextract to 1.5.

Here are the changes, among other things:

 - Added support for Inno Setup 5.5.6 installers
 - Added support for a modified Inno Setup 5.5.0 variant
 - Added a simple --include (-I) option to filter files
 - Added a --exclude-temp (-m) option to not extract temporary files
 - Added a --collisions option to abort or rename files on collision
 - Added a --gog (-g) option to extract additional .bin files using
   unrar or unar
 - Colors are now only enabled automatically if $TERM is set to
   something other than "dumb"

Tested on loongson and macppc.

Index: Makefile
===
RCS file: /cvs/ports/archivers/innoextract/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Makefile
--- Makefile21 Nov 2014 19:04:14 -  1.1.1.1
+++ Makefile11 Oct 2015 13:16:23 -
@@ -2,12 +2,12 @@
 
 COMMENT=   unpack Inno Setup installers
 
-DISTNAME=  innoextract-1.4
+DISTNAME=  innoextract-1.5
 
 CATEGORIES=archivers
-MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=innoextract/}
+HOMEPAGE=  https://constexpr.org/innoextract/
 
-HOMEPAGE=  http://constexpr.org/innoextract/
+MASTER_SITES=  ${HOMEPAGE}files/
 
 MAINTAINER=    Donovan Watteau <tso...@gmail.com>
 
@@ -19,6 +19,8 @@ WANTLIB+= boost_system-mt c lzma m pthre
 
 LIB_DEPENDS=   archivers/xz \
devel/boost>=1.53.0p6
+
+RUN_DEPENDS=   archivers/unrar
 
 MODULES=   converters/libiconv devel/cmake
 
Index: distinfo
===
RCS file: /cvs/ports/archivers/innoextract/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo21 Nov 2014 19:04:14 -  1.1.1.1
+++ distinfo11 Oct 2015 13:16:23 -
@@ -1,2 +1,2 @@
-SHA256 (innoextract-1.4.tar.gz) = WklLWuHkEENXQJZ2HTFpXtix053+ZIlTBtDZJiOQHMk=
-SIZE (innoextract-1.4.tar.gz) = 151230
+SHA256 (innoextract-1.5.tar.gz) = 8llOmSzPKFlFVHV5SAOymmc5P622nU3x7sNMRR/6SM8=
+SIZE (innoextract-1.5.tar.gz) = 179582



Re: [NEW] audio/libdiscid

2015-09-21 Thread Donovan Watteau
On Sat, 19 Sep 2015, Donovan Watteau wrote:
> On Mon, 31 Aug 2015, Jérémie Courrèges-Anglas wrote:
> > Donovan Watteau <tso...@gmail.com> writes:
> > 
> > > On Sat, 29 Aug 2015, Stuart Henderson wrote:
> > >> On 2015/08/29 11:16, Donovan Watteau wrote:
> > >> > Hi,
> > >> > 
> > >> > Here's a new port for libdiscid, which my next audio/cmus update
> > >> > will use.
> > >> > 
> > >> > I tried cleaning some strcpy(), strcat() and sprintf().  "make test"
> > >> > is still fine.  If patch-src_disc_c looks good to you, I'll submit it
> > >> > to upstream.
> > >> > 
> > >> > Tested on macppc.
> > >> 
> > >> Upstream will need some glue to make that work on OS with deficient
> > >> versions of libc. In most cases we don't add this type of patch in ports
> > >> as it often gets in the way of updates, but feeding upstream (if they'll
> > >> take it) is good.
> > >
> > > Yes, I was working on submitting it to upstream with all the necessary
> > > libc glue, but OK.
> > >
> > > So here's the port again, without the patch.
> > 
> > Looks fine to me, two nits:
> > 
> > 1.
> > CONFIGURE_ENV=  CPPFLAGS="-I${LOCALBASE}/include" \
> > LDFLAGS="-L${LOCALBASE}/lib" \
> > ac_cv_header_musicbrainz5_mb5_c_h=no
> > 
> > If there is no dep on other packages then there is no need to tweak
> > CPP/LDFLAGS.  And if usr/local isn't in those flags,
> > ac_cv_header_musicbrainz5_mb5_c_h=no is not needed (but you may want to
> > keep it for documentation).
> 
> OK, I'll simplify this.  ac_cv_header_musicbrainz5_mb5_c_h=no is enough.
> 
> > 2. Any idea why two tests out of four are skipped?
> > 
> > ...
> 
> Looks like it happens when you don't have a CD-ROM drive...
> 
> On loongson, I see this:
> 
> ===
>libdiscid 0.6.1: ./test-suite.log
> ===
> 
> # TOTAL: 4
> # PASS:  2
> # SKIP:  2
> # XFAIL: 0
> # FAIL:  0
> # XPASS: 0
> # ERROR: 0
> 
> .. contents:: :depth: 2
> 
> SKIP: test_read
> ===
> 
> Testing discid_has_feature ... OK
> Testing discid_read_sparse ... SKIP
> Testing discid_get_error_msg ... OK
>   cannot open device `/dev/rcd0c'
> 
> 
> SKIP: test_read_full
> 
> 
> Testing discid_has_feature ... OK
> Testing discid_read ... SKIP
> Testing discid_get_error_msg ... OK
>   cannot open device `/dev/rcd0c'
> 
> 
> Don't know what is the best way to deal with this.  Adding a comment?
> TEST_IS_INTERACTIVE=Yes ?
> 

So, it looks like you even need an audio CD in your drive to pass all
the tests.  So TEST_IS_INTERACTIVE=Yes looks good to me.

So here's my port again.  Thanks.

libdiscid_v3.tgz
Description: Binary data


Re: [UPDATE] games/teeworlds to 0.6.3

2015-09-19 Thread Donovan Watteau
ping

On Sun, 30 Aug 2015, Donovan Watteau wrote:
> Hi,
> 
> Here's another attempt at getting this port updated [1].
> 
> Here are the changes:
> 
> - update from 0.5.2 to 0.6.3, which fixes a lot of security issues and 
>   which makes the game playable online again.
> - don't bother building on strict-alignment archs.  On loongson, both
>   the client and the server SIGBUS during startup, and looking at the
>   code it seems that it will crash on anything not x86 or ppc.
> - don't include an extra copy of DejaVuSans.ttf.
> - use audio/wavpack, not an internal copy.
> - make sure an internal zlib is never used.
> - invoke "bam" with -a, to make sure that it will abort on error.
> - don't enforce stack protector, base gcc(1) enables it wherever
>   it's possible.
> - fix endianness detection (confirmed to work on macppc).
> - drop patch-src_engine_client_ec_snd_c.  At first, I ported it to
>   teeworlds-0.6.2, but actually this patch makes audio much worse
>   for me, and I can't observe anymore the crash it was supposed
>   to fix.
> 
> There are some CRLFs in patch-bam-0_2_0*, and an inline diff might
> corrupt this part of the patch, but these files get removed anyway
> so it shouldn't matter.
> 
> [1] https://marc.info/?l=openbsd-ports=139956748407652=2
> 
> Index: Makefile
> ===
> RCS file: /cvs/ports/games/teeworlds/Makefile,v
> retrieving revision 1.17
> diff -u -p -r1.17 Makefile
> --- Makefile  9 Aug 2013 19:04:49 -   1.17
> +++ Makefile  30 Aug 2015 12:40:14 -
> @@ -1,60 +1,69 @@
>  # $OpenBSD: Makefile,v 1.17 2013/08/09 19:04:49 ajacoutot Exp $
>  
> -COMMENT =platform game featuring buggers equipped with weapons
> +# Crashes on strict-alignment archs, see: src/base/system.c:164
> +ONLY_FOR_ARCHS=  amd64 i386 powerpc
>  
> -V =  0.5.2
> -DISTNAME =   teeworlds-${V}-src
> -PKGNAME =teeworlds-${V}
> -REVISION =   4
> -CATEGORIES = games
> +COMMENT= platform game featuring buggers equipped with weapons
>  
> -MAINTAINER = Jonathan Armani <arm...@openbsd.org>
> -HOMEPAGE =   http://www.teeworlds.com/
> +V=   0.6.3
> +DISTNAME=teeworlds-${V}-src
> +PKGNAME= teeworlds-${V}
> +CATEGORIES=  games
>  
> -BAM_VERSION =0.2.0
> -BAM_WRKSRC = ${WRKSRC}/bam-${BAM_VERSION}
> -BAM_TARGET = release
> +HOMEPAGE=http://www.teeworlds.com/
>  
> -MASTER_SITES =   http://www.teeworlds.com/files/
> -DISTFILES =  ${DISTNAME}${EXTRACT_SUFX} bam-${BAM_VERSION}${EXTRACT_SUFX}
> +MAINTAINER=  Donovan Watteau <tso...@gmail.com>
>  
> -# GPLv2
> -PERMIT_PACKAGE_CDROM =   Yes
> +BAM_VERSION= 0.4.0
> +BAM_WRKSRC=  ${WRKSRC}/bam-${BAM_VERSION}
>  
> -WANTLIB =GL GLU SDL X11 c m pthread stdc++ z
> -LIB_DEPENDS =devel/sdl
> +MASTER_SITES=https://downloads.teeworlds.com/
> +DISTFILES=   ${DISTNAME}${EXTRACT_SUFX} bam-${BAM_VERSION}${EXTRACT_SUFX}
>  
> -MODULES =lang/python
> +# BSD-like
> +PERMIT_PACKAGE_CDROM=Yes
>  
> -NO_TEST =Yes
> +WANTLIB= GL GLU SDL X11 c freetype m pthread stdc++ wavpack z
>  
> -GAMEDIR =${PREFIX}/share/teeworlds
> +LIB_DEPENDS= audio/wavpack \
> + devel/sdl
>  
> -SUBST_VARS = CC CXX CFLAGS
> +MODULES= lang/python
> +
> +SUBST_VARS=  CC CXX CFLAGS CXXFLAGS X11BASE
> +
> +NO_TEST= Yes
>  
>  post-extract:
>   @mv ${WRKDIR}/bam-${BAM_VERSION} ${BAM_WRKSRC}
>  
>  pre-configure:
> - ${SUBST_CMD} ${WRKSRC}/src/engine/e_engine.c \
> - ${WRKSRC}/scripts/make_src.py \
> + @${SUBST_CMD} ${WRKSRC}/src/engine/shared/storage.cpp \
> + ${WRKSRC}/src/game/client/gameclient.cpp \
> + ${WRKSRC}/scripts/build.py \
> + ${WRKSRC}/scripts/compiler.py \
>   ${WRKSRC}/scripts/font_installer.sh \
> - ${WRKSRC}/default.bam \
> + ${WRKSRC}/scripts/make_src.py \
> + ${WRKSRC}/bam.lua \
>   ${BAM_WRKSRC}/make_unix.sh \
> - ${BAM_WRKSRC}/src/driver_gcc.bam \
> - ${BAM_WRKSRC}/src/base.bam
> + ${BAM_WRKSRC}/src/driver_gcc.lua \
> + ${BAM_WRKSRC}/src/base.lua
> + # Make sure internal wavpack and zlib can't be picked up
> + rm -rf ${WRKSRC}/src/engine/external/{wavpack,zlib}
> + # Don't provide an extra copy of DejaVu
> + rm -rf ${WRKSRC}/data/fonts
>  
>  # build bam executable - teeworlds own build system
>  pre-build:
>   cd ${BAM_WRKSRC} && /bin/sh -v make_unix.sh
>  
>  do-build:
> - cd ${WRKSRC} && CC=${CC} ${BAM_WRKSRC}/src/bam -v ${

Re: [NEW] audio/libdiscid

2015-09-19 Thread Donovan Watteau
On Mon, 31 Aug 2015, Jérémie Courrèges-Anglas wrote:
> Donovan Watteau <tso...@gmail.com> writes:
> 
> > On Sat, 29 Aug 2015, Stuart Henderson wrote:
> >> On 2015/08/29 11:16, Donovan Watteau wrote:
> >> > Hi,
> >> > 
> >> > Here's a new port for libdiscid, which my next audio/cmus update
> >> > will use.
> >> > 
> >> > I tried cleaning some strcpy(), strcat() and sprintf().  "make test"
> >> > is still fine.  If patch-src_disc_c looks good to you, I'll submit it
> >> > to upstream.
> >> > 
> >> > Tested on macppc.
> >> 
> >> Upstream will need some glue to make that work on OS with deficient
> >> versions of libc. In most cases we don't add this type of patch in ports
> >> as it often gets in the way of updates, but feeding upstream (if they'll
> >> take it) is good.
> >
> > Yes, I was working on submitting it to upstream with all the necessary
> > libc glue, but OK.
> >
> > So here's the port again, without the patch.
> 
> Looks fine to me, two nits:
> 
> 1.
> CONFIGURE_ENV=CPPFLAGS="-I${LOCALBASE}/include" \
>   LDFLAGS="-L${LOCALBASE}/lib" \
>   ac_cv_header_musicbrainz5_mb5_c_h=no
> 
> If there is no dep on other packages then there is no need to tweak
> CPP/LDFLAGS.  And if usr/local isn't in those flags,
> ac_cv_header_musicbrainz5_mb5_c_h=no is not needed (but you may want to
> keep it for documentation).

OK, I'll simplify this.  ac_cv_header_musicbrainz5_mb5_c_h=no is enough.

> 2. Any idea why two tests out of four are skipped?
> 
> ...

Looks like it happens when you don't have a CD-ROM drive...

On loongson, I see this:

===
   libdiscid 0.6.1: ./test-suite.log
===

# TOTAL: 4
# PASS:  2
# SKIP:  2
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

SKIP: test_read
===

Testing discid_has_feature ... OK
Testing discid_read_sparse ... SKIP
Testing discid_get_error_msg ... OK
cannot open device `/dev/rcd0c'


SKIP: test_read_full


Testing discid_has_feature ... OK
Testing discid_read ... SKIP
Testing discid_get_error_msg ... OK
cannot open device `/dev/rcd0c'


Don't know what is the best way to deal with this.  Adding a comment?
TEST_IS_INTERACTIVE=Yes ?



[NEW] audio/libdiscid

2015-08-29 Thread Donovan Watteau
Hi,

Here's a new port for libdiscid, which my next audio/cmus update
will use.

I tried cleaning some strcpy(), strcat() and sprintf().  make test
is still fine.  If patch-src_disc_c looks good to you, I'll submit it
to upstream.

Tested on macppc.

libdiscid.tgz
Description: Binary data


[UPDATE] games/golly (MAINTAINER)

2015-08-29 Thread Donovan Watteau
Hi,

Here's a straightforward update to golly-2.7.

Tested on macppc.

Index: Makefile
===
RCS file: /cvs/ports/games/golly/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- Makefile24 Dec 2013 17:21:40 -  1.3
+++ Makefile29 Aug 2015 08:41:53 -
@@ -4,7 +4,7 @@ SHARED_ONLY =   Yes
 
 COMMENT =  game of life simulator
 
-PKGNAME =  golly-2.6
+PKGNAME =  golly-2.7
 DISTNAME = ${PKGNAME}-src
 WRKSRC =   ${WRKDIST}/gui-wx/configure
 CATEGORIES =   games math
@@ -24,7 +24,7 @@ RUN_DEPENDS = devel/desktop-file-utils
 # Note: perl and python are loaded with wxDynamicLibrary.Load(), and
 # python needs libutil to prevent undefined openpty and forkpty symbols.
 WANTLIB += c m perl pthread stdc++ util wx_base wx_base_net wx_gtk2_adv
-WANTLIB += wx_gtk2_core wx_gtk2_html z ${MODPY_WANTLIB}
+WANTLIB += wx_gtk2_core wx_gtk2_html wx_gtk2_richtext z ${MODPY_WANTLIB}
 
 CONFIGURE_STYLE =  gnu
 CONFIGURE_ARGS =   --enable-unicode
Index: distinfo
===
RCS file: /cvs/ports/games/golly/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- distinfo24 Dec 2013 17:21:40 -  1.3
+++ distinfo29 Aug 2015 08:41:53 -
@@ -1,2 +1,2 @@
-SHA256 (golly-2.6-src.tar.gz) = H+L5gxRLyJXqoSQvlcW7STRMwBObXDMJ5rT6IZwfM9g=
-SIZE (golly-2.6-src.tar.gz) = 3545388
+SHA256 (golly-2.7-src.tar.gz) = TuhuQuFsCeQaqEkvZuWkoep6EwxavEPZYuLx1WBL2XE=
+SIZE (golly-2.7-src.tar.gz) = 3805524



[PATCH] fix graphics/ffmpeg build on mips

2015-07-29 Thread Donovan Watteau
Hi,

The following diff works around a preprocessor issue in ffmpeg
that only happens on mips.

Without this, latest ffmpeg versions would fail with the following error:

In file included from libavcodec/mips/hevcdsp_init_mips.c:21:
./libavcodec/mips/hevcdsp_mips.h:35:1: error: pasting 
ff_hevc_put_hevc_pel_pixels and ## does not give a valid preprocessing 
token

It also adds --disable-mipsfpu, otherwise you get illegal instructions
whenever using ffmpeg or its libraries.

Tested on loongson.

Index: Makefile
===
RCS file: /cvs/ports/graphics/ffmpeg/Makefile,v
retrieving revision 1.121
diff -u -p -r1.121 Makefile
--- Makefile26 Jul 2015 07:22:15 -  1.121
+++ Makefile29 Jul 2015 16:07:50 -
@@ -5,6 +5,7 @@ COMMENT=audio/video converter and strea
 V= 20150723
 DISTNAME=  ffmpeg-git-${V}
 PKGNAME=   ffmpeg-${V}
+REVISION=  0
 CATEGORIES=graphics multimedia
 MASTER_SITES=  http://comstyle.com/source/
 EXTRACT_SUFX=  .tar.xz
@@ -104,6 +105,7 @@ CONFIGURE_ARGS+= ${CONFIGURE_SHARED} \
--disable-mips64r6 \
--disable-mipsdspr1 \
--disable-mipsdspr2 \
+   --disable-mipsfpu \
--disable-msa \
--disable-neon \
--disable-outdev=oss \
Index: patches/patch-libavcodec_mips_hevcdsp_mips_h
===
RCS file: patches/patch-libavcodec_mips_hevcdsp_mips_h
diff -N patches/patch-libavcodec_mips_hevcdsp_mips_h
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-libavcodec_mips_hevcdsp_mips_h29 Jul 2015 16:07:50 
-
@@ -0,0 +1,54 @@
+$OpenBSD$
+
+Work around
+error: pasting ff_hevc_put_hevc_pel_pixels and ## does not give a valid 
preprocessing token
+
+--- libavcodec/mips/hevcdsp_mips.h.origWed Jul 29 14:59:46 2015
 libavcodec/mips/hevcdsp_mips.h Wed Jul 29 15:01:47 2015
+@@ -23,8 +23,9 @@
+ 
+ #include libavcodec/hevcdsp.h
+ 
++#define EMPTY
+ #define MC(PEL, DIR, WIDTH) \
+-void ff_hevc_put_hevc_##PEL##_##DIRWIDTH##_8_msa(int16_t *dst,  \
++void ff_hevc_put_hevc_##PEL##_##DIR##EMPTY##WIDTH##_8_msa(int16_t *dst, \
+  uint8_t *src,  \
+  ptrdiff_t src_stride,  \
+  int height,\
+@@ -102,7 +103,7 @@ MC(epel, hv, 64);
+ #undef MC
+ 
+ #define UNI_MC(PEL, DIR, WIDTH)   
 \
+-void ff_hevc_put_hevc_uni_##PEL##_##DIRWIDTH##_8_msa(uint8_t *dst,
 \
++void ff_hevc_put_hevc_uni_##PEL##_##DIR##EMPTY##WIDTH##_8_msa(uint8_t *dst,   
 \
+  ptrdiff_t 
dst_stride, \
+  uint8_t *src,
 \
+  ptrdiff_t 
src_stride, \
+@@ -181,7 +182,7 @@ UNI_MC(epel, hv, 64);
+ #undef UNI_MC
+ 
+ #define UNI_W_MC(PEL, DIR, WIDTH) \
+-void ff_hevc_put_hevc_uni_w_##PEL##_##DIRWIDTH##_8_msa(uint8_t *dst,  \
++void ff_hevc_put_hevc_uni_w_##PEL##_##DIR##EMPTY##WIDTH##_8_msa(uint8_t *dst, 
 \
+ptrdiff_t  \
+dst_stride,\
+uint8_t *src,  \
+@@ -265,7 +266,7 @@ UNI_W_MC(epel, hv, 64);
+ #undef UNI_W_MC
+ 
+ #define BI_MC(PEL, DIR, WIDTH)
 \
+-void ff_hevc_put_hevc_bi_##PEL##_##DIRWIDTH##_8_msa(uint8_t *dst, 
 \
++void ff_hevc_put_hevc_bi_##PEL##_##DIR##EMPTY##WIDTH##_8_msa(uint8_t *dst,
 \
+ ptrdiff_t dst_stride, 
 \
+ uint8_t *src, 
 \
+ ptrdiff_t src_stride, 
 \
+@@ -345,7 +346,7 @@ BI_MC(epel, hv, 64);
+ #undef BI_MC
+ 
+ #define BI_W_MC(PEL, DIR, WIDTH)  
 \
+-void ff_hevc_put_hevc_bi_w_##PEL##_##DIRWIDTH##_8_msa(uint8_t *dst,   
 \
++void ff_hevc_put_hevc_bi_w_##PEL##_##DIR##EMPTY##WIDTH##_8_msa(uint8_t *dst,  
 \
+   ptrdiff_t   
 \
+   dst_stride, 
 \
+   uint8_t *src,   
 \



Re: UPDATE: cmus to 2.7.0

2015-07-03 Thread Donovan Watteau
On Fri, 3 Jul 2015, Florian Stinglmayr wrote:
 Hi list and Donovan,
 
 here's an update to cmus that bumps it to v2.7.0 from 2.5.0.
 
 New features:
 
  * Development moved to github.
  * New filter methods.
  * Improved UI.
  * Better ffmpeg support which is now enabled by default.
  * sndio plugin is part of cmus now
  * Partial mouse support :set mouse=true to enable.
  * Solarized themes.
  * Better ReplayGain support.
   and much more!
 
 Please comment on test rigorously.
 
 ...

Hi,

Thank you.  I had an earlier update with some improvements,
especially regarding MULTI_PACKAGES, which may be worth
integrating, IMO:

https://marc.info/?l=openbsd-portsm=142799977131494w=2

but lately I've been a bit bored with sending patches on
mailing-lists, playing with CVS, bumping emails and such.
(I have some patches and ports over here, but I feel like
I need as much time sending/bumping/syncing patches as
writing them. openbsd-wip might be what I'm looking for.)

Anyway, if you have more time contributing cmus updates
than I do, please do so, but I think you might want to
pick some changes from my previous 2.6.0 update proposal.

Cheers.



[PATCH] misc/memcached: fix CFLAGS/CPPFLAGS usage

2015-02-19 Thread Donovan Watteau
Hi,

(I'm sending this to ports@ in case ports lock is near)

On -current, misc/memcached defines CFLAGS instead of CPPFLAGS, so
default CFLAGS are lost and memcached is built without -O2 -pipe.

The following diff fixes this (it also removes an older comment now
that patch-items_c is only used to fix time_t usage).

Index: Makefile
===
RCS file: /cvs/ports/misc/memcached/Makefile,v
retrieving revision 1.27
diff -u -p -r1.27 Makefile
--- Makefile4 Nov 2014 21:16:45 -   1.27
+++ Makefile18 Feb 2015 14:42:53 -
@@ -3,7 +3,7 @@
 COMMENT=   distributed memory object caching system
 
 DISTNAME=  memcached-1.4.21
-REVISION=  0
+REVISION=  1
 CATEGORIES=misc
 
 HOMEPAGE=  http://www.memcached.org/
@@ -21,7 +21,7 @@ FLAVORS=  sasl
 MASTER_SITES=  http://memcached.org/files/
 
 CONFIGURE_STYLE=   gnu
-CONFIGURE_ENV= CFLAGS=-I${LOCALBASE}/include \
+CONFIGURE_ENV= CPPFLAGS=-I${LOCALBASE}/include \
LDFLAGS=-L${LOCALBASE}/lib
 CONFIGURE_ARGS=--with-libevent=/usr \
--disable-coverage \
Index: patches/patch-items_c
===
RCS file: /cvs/ports/misc/memcached/patches/patch-items_c,v
retrieving revision 1.8
diff -u -p -r1.8 patch-items_c
--- patches/patch-items_c   4 Nov 2014 15:11:05 -   1.8
+++ patches/patch-items_c   18 Feb 2015 14:42:53 -
@@ -2,9 +2,6 @@ $OpenBSD: patch-items_c,v 1.8 2014/11/04
 
 printf format string fix for long long time_t
 
-and fix buffer-overrun when logging keys (CVE-2013-0179)
-https://github.com/memcached/memcached/commit/fbe823d9a61b5149cd6e3b5e17bd28dd3b8dd760
-
 --- items.c.orig   Mon Oct 13 05:33:10 2014
 +++ items.cFri Oct 31 14:56:50 2014
 @@ -440,9 +440,9 @@ char *do_item_cachedump(const unsigned int slabs_clsid



[PATCH] Unbreak textproc/icu4c on mips64

2014-12-19 Thread Donovan Watteau
Hello,

It looks like textproc/icu4c doesn't build anymore on mips64 (doesn't
appear in latest snapshot official packages).  This may be the reason
why several dozen packages (pango, gtk+2...) disappeared from mips64el
lately.

===  Building for icu4c-54.1p2
Note: rebuild with gmake VERBOSE=1 all to show all compiler parameters.
gmake[0]: Making `all' in `stubdata'
gmake[1]: Entering directory 
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/stubdata'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory 
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/stubdata'
gmake[0]: Making `all' in `common'
gmake[1]: Entering directory 
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/common'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory 
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/common'
gmake[0]: Making `all' in `i18n'
gmake[1]: Entering directory 
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/i18n'
c++ -O2 -pipe -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long 
 -shared -Wl,-Bsymbolic  -o ../lib/libicui18n.so.8.0 ucln_in.o fmtable.o 
format.o msgfmt.o umsg.o numfmt.o unum.o decimfmt.o decimalformatpattern.o 
dcfmtsym.o ucurr.o digitlst.o fmtable_cnv.o choicfmt.o datefmt.o smpdtfmt.o 
reldtfmt.o dtfmtsym.o udat.o dtptngen.o udatpg.o nfrs.o nfrule.o nfsubs.o 
rbnf.o numsys.o unumsys.o ucsdet.o ucal.o calendar.o gregocal.o timezone.o 
simpletz.o olsontz.o astro.o taiwncal.o buddhcal.o persncal.o islamcal.o 
japancal.o gregoimp.o hebrwcal.o indiancal.o chnsecal.o cecal.o coptccal.o 
dangical.o ethpccal.o coleitr.o coll.o sortkey.o bocsu.o ucoleitr.o ucol.o 
ucol_res.o ucol_sit.o collation.o collationsettings.o collationdata.o 
collationtailoring.o collationdatareader.o collationdatawriter.o collationfcd.o 
collationiterator.o utf16collationiterator.o utf8collationiterator.o 
uitercollationiterator.o collationsets.o collationcompare.o 
collationfastlatin.o collation!
 keys.o rulebasedcollator.o collationroot.o collationrootelements.o 
collationdatabuilder.o collationbasedatabuilder.o collationweights.o 
collationruleparser.o collationbuilder.o collationfastlatinbuilder.o strmatch.o 
usearch.o search.o stsearch.o translit.o utrans.o esctrn.o unesctrn.o 
funcrepl.o strrepl.o tridpars.o cpdtrans.o rbt.o rbt_data.o rbt_pars.o 
rbt_rule.o rbt_set.o nultrans.o remtrans.o casetrn.o titletrn.o tolowtrn.o 
toupptrn.o anytrans.o name2uni.o uni2name.o nortrans.o quant.o transreg.o 
brktrans.o regexcmp.o rematch.o repattrn.o regexst.o regextxt.o regeximp.o 
uregex.o uregexc.o ulocdata.o measfmt.o currfmt.o curramt.o currunit.o 
measure.o utmscale.o csdetect.o csmatch.o csr2022.o csrecog.o csrmbcs.o 
csrsbcs.o csrucode.o csrutf8.o inputext.o wintzimpl.o windtfmt.o winnmfmt.o 
basictz.o dtrule.o rbtz.o tzrule.o tztrans.o vtzone.o zonemeta.o upluralrules.o 
plurrule.o plurfmt.o selfmt.o dtitvfmt.o dtitvinf.o udateintervalformat.o 
tmunit.o tmutamt.o tmutfmt.o currp!
 inf.o uspoof.o uspoof_impl.o uspoof_build.o uspoof_conf.o uspoof_wsconf..o 
decfmtst.o smpdtfst.o ztrans.o zrule.o vzone.o fphdlimp.o fpositer.o locdspnm.o 
decNumber.o decContext.o alphaindex.o tznames.o tznames_impl.o tzgnames.o 
tzfmt.o compactdecimalformat.o gender.o region.o scriptset.o identifier_info.o 
uregion.o reldatefmt.o quantityformatter.o measunit.o filteredbrk.o 
scientificformathelper.o sharedbreakiterator.o -L../lib -licuuc -L../stubdata 
-licudata -lpthread -lm 
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
Makefile:184: recipe for target '../lib/libicui18n.so.8.0' failed
gmake[1]: *** [../lib/libicui18n.so.8.0] Error 1
gmake[1]: Leaving directory 
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/i18n'
Makefile:143: recipe for target 'all-recursive' failed
gmake: *** [all-recursive] Error 2
*** Error 2 in . (/home/tsomi/ports/infrastructure/mk/bsd.port.mk:2748 
'/home/tsomi/ports/pobj/icu4c-54.1/build-mips64el/.build_done')
*** Error 1 in /home/tsomi/ports/textproc/icu4c 
(/home/tsomi/ports/infrastructure/mk/bsd.port.mk:2473 'all')

This reminded me of an earlier issue I had reported with graphics/ffmpeg
and -Wl,-Bsymbolic on mips64.  The call to this parameter was just
removed on all archs as a workaround (see ffmpeg patch-configure
rev 1.34).

So here's a diff removing -Wl,-Bsymbolic from icu4c.  Builds fine on
loongson.  Not sure whether SO_VERSION needed a major or a minor bump
in this particular case...

Index: Makefile
===
RCS file: /cvs/ports/textproc/icu4c/Makefile,v
retrieving revision 1.43
diff -u -p -r1.43 Makefile
--- Makefile3 Nov 2014 12:29:31 -   1.43
+++ Makefile19 Dec 2014 19:07:00 -
@@ -10,10 +10,10 @@ COMMENT=International Components for U
 VERSION=   54.1
 DISTNAME=  icu4c-${VERSION:S/./_/g}-src
 PKGNAME=   icu4c-${VERSION}
-REVISION=  2
+REVISION=  3
 
 MAJ_V=

Re: NEW: archivers/innoextract

2014-11-20 Thread Donovan Watteau
Here's a new version, with an explicit requirement on boost's latest
revision, as suggested by Landry.

As for Doxygen: I don't see the point of requiring doxygen and
graphviz just for documenting API internals; it's just a tool, not
a library.

innoextract.tgz
Description: Binary data


NEW: archivers/innoextract

2014-11-19 Thread Donovan Watteau
Hi,

Now that bzip2 support has been enabled in devel/boost, let me
present you archivers/innoextract.

Inno Setup is a tool to create installers for Microsoft Windows
applications.  innoextract allows to extract such installers under
non-windows systems without running the actual installer using Wine.

innoextract is able to unpack GOG.com installers, Wadjet Eye Games
installers (to play with AGS), Arx Fatalis patches (for use with
Arx Libertatis) as well as various other Inno Setup executables.

With this, I'm able to buy some old games from GOG.com, extract them
with innoextract, and then play them with DOSBox, ScummVM... (and a
new port I'm working on), all of this on OpenBSD.

innoextract.tgz
Description: Binary data


Re: [UPDATE] teeworlds-0.6.2

2014-11-14 Thread Donovan Watteau
Hi,

Anyone else's ok for this update?  Thanks.

On Fri, 11 Jul 2014, Jonathan Armani wrote:
 Hi,
 Tested ok on amd64 and diff looks good. 
 I'm not sure the tweaks in MESSAGE are still revelant, but it can be
 adjusted later.
 
 Does someone have an idea for SDL_VIDEO_X11_DGAMOUSE ? A problem without
 gfx_noclip 0 ?
 
 ok armani@
 
 
 2014-05-08 18:42 GMT+02:00 Donovan Watteau tso...@gmail.com:
   Hi,
 
   The following diff updates Teeworlds to 0.6.2.
 
   In early 2012, I sent an update from teeworlds-0.5.2 to 0.6.1 to
   armani@.  But today, 0.5.2 is still the tree, so I'd like to
   take
   its maintainership.
 
   Here are the changes:
   - don't bother building on strict-alignment archs.  On loongson,
   both
     the client and the server SIGBUS during startup, and looking
   at the
     code it seems that it will crash on anything not x86 or ppc.
   - don't include an extra copy of DejaVuSans.ttf.
   - use audio/wavpack, not an internal copy.
   - make sure an internal zlib is never used.
   - invoke bam with -a, to make sure that it will abort on
   error.
   - don't enforce the stack protector, base gcc(1) enables it
   wherever
     it's possible.
   - fix endianness detection (my macppc is no longer supported,
   but
     two years ago this patch was required).
   - drop patch-src_engine_client_ec_snd_c.  At first, I ported it
   to
     teeworlds-0.6.2, but actually this patch makes audio much
   worse
     for me, and I can't observe anymore the crash it was supposed
     to fix.
 
   snip



Re: [UPDATE] teeworlds-0.6.2

2014-11-14 Thread Donovan Watteau
On Fri, 14 Nov 2014, Brian Callahan wrote:
 Could you resend the diff? (and make sure it's still working on -current) July
 was a long time ago...

Yes, it still works on -current.

Here you go (there are some CRLF in patch-bam_0_2_0_src_base_bam
though):

Index: Makefile
===
RCS file: /cvs/ports/games/teeworlds/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile9 Aug 2013 19:04:49 -   1.17
+++ Makefile14 Nov 2014 20:45:41 -
@@ -1,60 +1,69 @@
 # $OpenBSD: Makefile,v 1.17 2013/08/09 19:04:49 ajacoutot Exp $
 
-COMMENT =  platform game featuring buggers equipped with weapons
+# Crashes on strict-alignment archs, see: src/base/system.c:164
+ONLY_FOR_ARCHS=amd64 i386 powerpc
 
-V =0.5.2
-DISTNAME = teeworlds-${V}-src
-PKGNAME =  teeworlds-${V}
-REVISION = 4
-CATEGORIES =   games
+COMMENT=   platform game featuring buggers equipped with weapons
 
-MAINTAINER =   Jonathan Armani arm...@openbsd.org
-HOMEPAGE = http://www.teeworlds.com/
+V= 0.6.2
+DISTNAME=  teeworlds-${V}-source
+PKGNAME=   teeworlds-${V}
+CATEGORIES=games
 
-BAM_VERSION =  0.2.0
-BAM_WRKSRC =   ${WRKSRC}/bam-${BAM_VERSION}
-BAM_TARGET =   release
+HOMEPAGE=  http://www.teeworlds.com/
 
-MASTER_SITES = http://www.teeworlds.com/files/
-DISTFILES =${DISTNAME}${EXTRACT_SUFX} bam-${BAM_VERSION}${EXTRACT_SUFX}
+MAINTAINER=Donovan Watteau tso...@gmail.com
 
-# GPLv2
-PERMIT_PACKAGE_CDROM = Yes
+BAM_VERSION=   0.4.0
+BAM_WRKSRC=${WRKSRC}/bam-${BAM_VERSION}
 
-WANTLIB =  GL GLU SDL X11 c m pthread stdc++ z
-LIB_DEPENDS =  devel/sdl
+MASTER_SITES=  http://www.teeworlds.com/files/
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} bam-${BAM_VERSION}${EXTRACT_SUFX}
 
-MODULES =  lang/python
+# BSD-like
+PERMIT_PACKAGE_CDROM=  Yes
 
-NO_TEST =  Yes
+WANTLIB=   GL GLU SDL X11 c freetype m pthread stdc++ wavpack z
 
-GAMEDIR =  ${PREFIX}/share/teeworlds
+LIB_DEPENDS=   audio/wavpack \
+   devel/sdl
 
-SUBST_VARS =   CC CXX CFLAGS
+MODULES=   lang/python
+
+SUBST_VARS=CC CXX CFLAGS CXXFLAGS X11BASE
+
+NO_TEST=   Yes
 
 post-extract:
@mv ${WRKDIR}/bam-${BAM_VERSION} ${BAM_WRKSRC}
 
 pre-configure:
-   ${SUBST_CMD} ${WRKSRC}/src/engine/e_engine.c \
-   ${WRKSRC}/scripts/make_src.py \
+   @${SUBST_CMD} ${WRKSRC}/src/engine/shared/storage.cpp \
+   ${WRKSRC}/src/game/client/gameclient.cpp \
+   ${WRKSRC}/scripts/build.py \
+   ${WRKSRC}/scripts/compiler.py \
${WRKSRC}/scripts/font_installer.sh \
-   ${WRKSRC}/default.bam \
+   ${WRKSRC}/scripts/make_src.py \
+   ${WRKSRC}/bam.lua \
${BAM_WRKSRC}/make_unix.sh \
-   ${BAM_WRKSRC}/src/driver_gcc.bam \
-   ${BAM_WRKSRC}/src/base.bam
+   ${BAM_WRKSRC}/src/driver_gcc.lua \
+   ${BAM_WRKSRC}/src/base.lua
+   # Make sure internal wavpack and zlib can't be picked up
+   rm -rf ${WRKSRC}/src/engine/external/{wavpack,zlib}
+   # Don't provide an extra copy of DejaVu
+   rm -rf ${WRKSRC}/data/fonts
 
 # build bam executable - teeworlds own build system
 pre-build:
cd ${BAM_WRKSRC}  /bin/sh -v make_unix.sh
 
 do-build:
-   cd ${WRKSRC}  CC=${CC} ${BAM_WRKSRC}/src/bam -v ${BAM_TARGET}
+   cd ${WRKSRC}  CC=${CC} ${BAM_WRKSRC}/bam -a -v release 
wavpack=${LOCALBASE}
 
 do-install:
${INSTALL_PROGRAM} ${WRKSRC}/teeworlds ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/teeworlds_srv ${PREFIX}/bin
-   ${INSTALL_DATA_DIR} ${GAMEDIR}
-   cd ${WRKSRC}; tar cf - data | tar xf - -C ${GAMEDIR}
+   ${INSTALL_DATA_DIR} ${PREFIX}/share/teeworlds
+   cd ${WRKSRC}; tar cf - data | tar xf - -C ${PREFIX}/share/teeworlds
 
 .include bsd.port.mk
Index: distinfo
===
RCS file: /cvs/ports/games/teeworlds/distinfo,v
retrieving revision 1.4
diff -u -p -r1.4 distinfo
--- distinfo9 Aug 2013 19:04:49 -   1.4
+++ distinfo14 Nov 2014 20:45:41 -
@@ -1,4 +1,4 @@
-SHA256 (bam-0.2.0.tar.gz) = 72zdwd9HsNgQYmUDPvTlXmHeyr8ieaKs1/3wFmM8B1g=
-SHA256 (teeworlds-0.5.2-src.tar.gz) = 
GBGnG/mhRwx6aTCANXREkvPoUK790S8bwiP7hdmM9MA=
-SIZE (bam-0.2.0.tar.gz) = 162342
-SIZE (teeworlds-0.5.2-src.tar.gz) = 6393472
+SHA256 (bam-0.4.0.tar.gz) = Xk5JILTSZdpYL2Z3TpseyN37513cAo+6hsEvaG6hjbM=
+SHA256 (teeworlds-0.6.2-source.tar.gz) = 
AAYbMDd1l6YYEO2j3F3gyq1DnKhRy47rvkFS5Phh4q8=
+SIZE (bam-0.4.0.tar.gz) = 206780
+SIZE (teeworlds-0.6.2-source.tar.gz) = 9179568
Index: patches/patch-bam-0_2_0_make_unix_sh
===
RCS file: patches/patch-bam-0_2_0_make_unix_sh
diff -N patches/patch-bam-0_2_0_make_unix_sh
--- patches/patch-bam-0_2_0_make_unix_sh9 Aug 2013 19:04:49 -   
1.3

[UPDATE] teeworlds-0.6.2

2014-05-08 Thread Donovan Watteau
Hi,

The following diff updates Teeworlds to 0.6.2.

In early 2012, I sent an update from teeworlds-0.5.2 to 0.6.1 to
armani@.  But today, 0.5.2 is still the tree, so I'd like to take
its maintainership.

Here are the changes:
- don't bother building on strict-alignment archs.  On loongson, both
  the client and the server SIGBUS during startup, and looking at the
  code it seems that it will crash on anything not x86 or ppc.
- don't include an extra copy of DejaVuSans.ttf.
- use audio/wavpack, not an internal copy.
- make sure an internal zlib is never used.
- invoke bam with -a, to make sure that it will abort on error.
- don't enforce the stack protector, base gcc(1) enables it wherever
  it's possible.
- fix endianness detection (my macppc is no longer supported, but
  two years ago this patch was required).
- drop patch-src_engine_client_ec_snd_c.  At first, I ported it to
  teeworlds-0.6.2, but actually this patch makes audio much worse
  for me, and I can't observe anymore the crash it was supposed
  to fix.

Index: Makefile
===
RCS file: /cvs/ports/games/teeworlds/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- Makefile9 Aug 2013 19:04:49 -   1.17
+++ Makefile8 May 2014 16:16:48 -
@@ -1,60 +1,69 @@
 # $OpenBSD: Makefile,v 1.17 2013/08/09 19:04:49 ajacoutot Exp $
 
-COMMENT =  platform game featuring buggers equipped with weapons
+# Crashes on strict-alignment archs, see: src/base/system.c:164
+ONLY_FOR_ARCHS=amd64 i386 powerpc
 
-V =0.5.2
-DISTNAME = teeworlds-${V}-src
-PKGNAME =  teeworlds-${V}
-REVISION = 4
-CATEGORIES =   games
+COMMENT=   platform game featuring buggers equipped with weapons
 
-MAINTAINER =   Jonathan Armani arm...@openbsd.org
-HOMEPAGE = http://www.teeworlds.com/
+V= 0.6.2
+DISTNAME=  teeworlds-${V}-source
+PKGNAME=   teeworlds-${V}
+CATEGORIES=games
 
-BAM_VERSION =  0.2.0
-BAM_WRKSRC =   ${WRKSRC}/bam-${BAM_VERSION}
-BAM_TARGET =   release
+HOMEPAGE=  http://www.teeworlds.com/
 
-MASTER_SITES = http://www.teeworlds.com/files/
-DISTFILES =${DISTNAME}${EXTRACT_SUFX} bam-${BAM_VERSION}${EXTRACT_SUFX}
+MAINTAINER=Donovan Watteau tso...@gmail.com
 
-# GPLv2
-PERMIT_PACKAGE_CDROM = Yes
+BAM_VERSION=   0.4.0
+BAM_WRKSRC=${WRKSRC}/bam-${BAM_VERSION}
 
-WANTLIB =  GL GLU SDL X11 c m pthread stdc++ z
-LIB_DEPENDS =  devel/sdl
+MASTER_SITES=  http://www.teeworlds.com/files/
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} bam-${BAM_VERSION}${EXTRACT_SUFX}
 
-MODULES =  lang/python
+# BSD-like
+PERMIT_PACKAGE_CDROM=  Yes
 
-NO_TEST =  Yes
+WANTLIB=   GL GLU SDL X11 c freetype m pthread stdc++ wavpack z
 
-GAMEDIR =  ${PREFIX}/share/teeworlds
+LIB_DEPENDS=   audio/wavpack \
+   devel/sdl
 
-SUBST_VARS =   CC CXX CFLAGS
+MODULES=   lang/python
+
+SUBST_VARS=CC CXX CFLAGS CXXFLAGS X11BASE
+
+NO_TEST=   Yes
 
 post-extract:
@mv ${WRKDIR}/bam-${BAM_VERSION} ${BAM_WRKSRC}
 
 pre-configure:
-   ${SUBST_CMD} ${WRKSRC}/src/engine/e_engine.c \
-   ${WRKSRC}/scripts/make_src.py \
+   @${SUBST_CMD} ${WRKSRC}/src/engine/shared/storage.cpp \
+   ${WRKSRC}/src/game/client/gameclient.cpp \
+   ${WRKSRC}/scripts/build.py \
+   ${WRKSRC}/scripts/compiler.py \
${WRKSRC}/scripts/font_installer.sh \
-   ${WRKSRC}/default.bam \
+   ${WRKSRC}/scripts/make_src.py \
+   ${WRKSRC}/bam.lua \
${BAM_WRKSRC}/make_unix.sh \
-   ${BAM_WRKSRC}/src/driver_gcc.bam \
-   ${BAM_WRKSRC}/src/base.bam
+   ${BAM_WRKSRC}/src/driver_gcc.lua \
+   ${BAM_WRKSRC}/src/base.lua
+   # Make sure internal wavpack and zlib can't be picked up
+   rm -rf ${WRKSRC}/src/engine/external/{wavpack,zlib}
+   # Don't provide an extra copy of DejaVu
+   rm -rf ${WRKSRC}/data/fonts
 
 # build bam executable - teeworlds own build system
 pre-build:
cd ${BAM_WRKSRC}  /bin/sh -v make_unix.sh
 
 do-build:
-   cd ${WRKSRC}  CC=${CC} ${BAM_WRKSRC}/src/bam -v ${BAM_TARGET}
+   cd ${WRKSRC}  CC=${CC} ${BAM_WRKSRC}/bam -a -v release 
wavpack=${LOCALBASE}
 
 do-install:
${INSTALL_PROGRAM} ${WRKSRC}/teeworlds ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/teeworlds_srv ${PREFIX}/bin
-   ${INSTALL_DATA_DIR} ${GAMEDIR}
-   cd ${WRKSRC}; tar cf - data | tar xf - -C ${GAMEDIR}
+   ${INSTALL_DATA_DIR} ${PREFIX}/share/teeworlds
+   cd ${WRKSRC}; tar cf - data | tar xf - -C ${PREFIX}/share/teeworlds
 
 .include bsd.port.mk
Index: distinfo
===
RCS file: /cvs/ports/games/teeworlds/distinfo,v
retrieving revision 1.4
diff -u -p -r1.4 distinfo
--- distinfo9 Aug 2013 19:04:49 -   1.4
+++ distinfo8 May 2014 16:16:48 -
@@ -1,4 +1,4

[PATCH] devel/boost: enable bzip2?

2014-04-30 Thread Donovan Watteau
Hi,

Is there any reason why bzip2 support is explicitly disabled
in devel/boost?

I'm working on a port (innoextract) which needs it.

Index: Makefile
===
RCS file: /cvs/ports/devel/boost/Makefile,v
retrieving revision 1.52
diff -u -p -r1.52 Makefile
--- Makefile25 Dec 2013 08:49:47 -  1.52
+++ Makefile30 Apr 2014 21:06:51 -
@@ -7,7 +7,7 @@ COMMENT=free peer-reviewed portable C++
 VERSION=   1.53.0
 DISTNAME=  boost_${VERSION:S/./_/g}
 PKGNAME=   boost-${VERSION}
-REVISION=  5
+REVISION=  6
 CATEGORIES=devel
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=boost/}
 EXTRACT_SUFX=  .tar.bz2
@@ -59,11 +59,13 @@ MODULES=converters/libiconv \
 MODPY_RUNDEP=  No
 
 BUILD_DEPENDS+=lang/python/${MODPY_DEFAULT_VERSION_3}
+RUN_DEPENDS+=  archivers/bzip2
 
 MAKE_ENV=  GCC=${CC} GXX=${CXX}
 
 BJAM_CONFIG=   -sICONV_PATH=${LOCALBASE} \
-   -sNO_BZIP2=1 \
+   -sBZIP2_INCLUDE=${LOCALBASE}/include \
+   -sBZIP2_LIBPATH=${LOCALBASE}/lib \
-d+2 -q \
-j ${MAKE_JOBS} \
cflags='${CFLAGS}' cxxflags='${CXXFLAGS}' \



[Patch] MASTER_SITE_MYSQL : drop ftp.easynet.be

2014-04-10 Thread Donovan Watteau
Hi,

The following diff removes ftp.easynet.be from MASTER_SITE_MYSQL,
since Easynet has chosen to no longer serve as repository for any
online software package.

Index: ports/infrastructure/templates/network.conf.template
===
RCS file: /cvs/ports/infrastructure/templates/network.conf.template,v
retrieving revision 1.188
diff -u -p -r1.188 network.conf.template
--- ports/infrastructure/templates/network.conf.template20 Oct 2013 
19:32:05 -  1.188
+++ ports/infrastructure/templates/network.conf.template10 Apr 2014 
08:34:55 -
@@ -214,7 +214,6 @@ MASTER_SITE_BERLIOS+=   \
 MASTER_SITE_MYSQL+= \
http://mirror.switch.ch/mirror/mysql/ \
http://mirrors.ukfast.co.uk/sites/ftp.mysql.com/ \
-   http://ftp.easynet.be/mysql/ \
http://ftp.gwdg.de/pub/misc/mysql/ \
http://ftp.fh-wolfenbuettel.de/pub/database/mysql/ \
http://ftp.fi.muni.cz/pub/mysql/ \



Re: NEW: audio/flac123

2014-03-27 Thread Donovan Watteau
On Tue, 25 Mar 2014, Christian Weisgerber wrote:
 On 2014-03-24, Donovan Watteau tso...@gmail.com wrote:
 
  Attached is a port for flac123.  Tested on loongson.
 
 I have some minor nits for the Makefile, but I think the man page
 poses a problem.  That file doesn't have a license, we can't just
 include it.


Here's a new port with your improvements (thanks!) and with an explicit
license for flac123.1 from its author.

flac123.tgz
Description: Binary data


NEW: audio/flac123

2014-03-24 Thread Donovan Watteau
Hi,

Attached is a port for flac123.  Tested on loongson.

DESCR:
flac123 is a command line tool for playing audio files stored in
the lossless FLAC format. It fills a gap in the existing FLAC tools
which provide a standalone tool to encode and decode files, a tool
to manipulate metadata but no command line tool for playback.

flac123.tgz
Description: Binary data


Re: NEW: audio/flac123

2014-03-24 Thread Donovan Watteau
On Mon, 24 Mar 2014, Christopher Zimmermann wrote:
 Hi,
 
 maybe you overlooked sox with its play and rec siblings. Won't they do
 the job just fine?

Yes, indeed, but what's the problem with providing flac123 for those
who prefer it?  Ports are about choice, IMO.



Re: gnome/gvfs SIGBUS with Thunar on loongson

2014-03-18 Thread Donovan Watteau
On Mon, 17 Mar 2014, Donovan Watteau wrote:
 Hi,
 
 rev 1.76 of gnome.port.mk made it possible to build a full Xfce desktop
 on loongson (yay!).  Unfortunately, Thunar crashes at startup with a
 SIGBUS.
 
 I do have the latest glib2-2.38.2p6 update.  thunar-1.6.3 and
 gvfs-1.18.3p5 were rebuilt with DEBUG=-g.
 
 Please let me know if I should report this to upstream instead.
 
 [snip]

Some progress...

Here's a hack found in upstream's bugzilla.  Works for me.  But it's
a hack.

Only tested on loongson, don't have access to any other arch ATM.

Index: Makefile
===
RCS file: /cvs/ports/x11/gnome/gvfs/Makefile,v
retrieving revision 1.112
diff -u -p -r1.112 Makefile
--- Makefile9 Mar 2014 19:46:35 -   1.112
+++ Makefile18 Mar 2014 19:29:59 -
@@ -11,7 +11,7 @@ PKGNAME-main= ${DISTNAME}
 PKGNAME-smb=   ${GNOME_PROJECT}-smb-${GNOME_VERSION}
 PKGNAME-goa=   ${GNOME_PROJECT}-goa-${GNOME_VERSION}
 
-REVISION-main= 5
+REVISION-main= 6
 
 SHARED_LIBS +=  gvfscommon   4.0  # unknown
 
Index: patches/patch-metadata_metatree_c
===
RCS file: patches/patch-metadata_metatree_c
diff -N patches/patch-metadata_metatree_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-metadata_metatree_c   18 Mar 2014 19:29:59 -
@@ -0,0 +1,54 @@
+$OpenBSD$
+
+XXX Hack for unaligned access 
+
+https://bugzilla.gnome.org/show_bug.cgi?id=726456
+
+--- metadata/metatree.c.orig   Thu Nov  7 14:40:18 2013
 metadata/metatree.cTue Mar 18 19:43:37 2014
+@@ -132,6 +132,27 @@ struct _MetaTree {
+   MetaJournal *journal;
+ };
+ 
++/* Unfortunately the journal entries are only aligned to 32 bit boundaries
++   but on some 64-bit RISC architectures (e.g. Alpha) this is insufficient
++   to guarantee correct alignment of 64-bit accesses. This is not a show
++   stopper but does cause inefficient traps to the kernel and pollution of
++   kernel logs.  Rather than fix the alignment we provide a helper function,
++   dependent on features specific to gcc, to correctly access a 64-bit datum
++   that may be misaligned.  This causes no loss of inefficiency on
++   architectures where alignment is not an issue provided we are compiled
++   with compiler optimisation turned on. */
++#ifdef __GNUC__
++struct una_u64 { guint64 x __attribute__((packed)); };
++static inline guint64 ldq_u(guint64 *p)
++{
++const struct una_u64 *ptr = (const struct una_u64 *) p;
++return ptr-x;
++}
++#else
++#define ldq_u(x) (*(x))
++#endif
++
++
+ static void meta_tree_refresh_locked   (MetaTree*tree,
+   gboolean force_reread);
+ static MetaJournal *meta_journal_open  (MetaTree*tree,
+@@ -1230,7 +1251,7 @@ meta_journal_iterate (MetaJournal *journal,
+   break;
+ }
+ 
+-  mtime = GUINT64_FROM_BE (entry-mtime);
++  mtime = GUINT64_FROM_BE( ldq_u((entry-mtime)) );
+   journal_path = entry-path[0];
+ 
+   if (journal_entry_is_key_type (entry) 
+@@ -2214,7 +2235,7 @@ apply_journal_to_builder (MetaTree *tree,
+   entry = journal-first_entry;
+   while (entry  journal-last_entry)
+ {
+-  mtime = GUINT64_FROM_BE (entry-mtime);
++  mtime = GUINT64_FROM_BE( ldq_u((entry-mtime)) );
+   journal_path = entry-path[0];
+ 
+   switch (entry-entry_type)



gnome/gvfs SIGBUS with Thunar on loongson

2014-03-17 Thread Donovan Watteau
Hi,

rev 1.76 of gnome.port.mk made it possible to build a full Xfce desktop
on loongson (yay!).  Unfortunately, Thunar crashes at startup with a
SIGBUS.

I do have the latest glib2-2.38.2p6 update.  thunar-1.6.3 and
gvfs-1.18.3p5 were rebuilt with DEBUG=-g.

Please let me know if I should report this to upstream instead.

(gdb) run
Starting program: /usr/local/bin/thunar 

Program received signal SIGBUS, Bus error.
meta_journal_iterate (journal=0x4d80b100, path=Variable path is not available.
) at metatree.c:1233
1233  mtime = GUINT64_FROM_BE (entry-mtime);
(gdb) bt
#0  meta_journal_iterate (journal=0x4d80b100, path=Variable path is not 
available.
) at metatree.c:1233
#1  0x479177bc in meta_tree_enumerate_keys (tree=0x4134c480, 
path=0x494d20c0 /, callback=0x478f95e8 enumerate_keys_callback, 
user_data=0x4df8dd20) at metatree.c:2058
#2  0x478f9560 in g_daemon_vfs_local_file_add_info (vfs=Variable vfs 
is not available.
)
at gdaemonvfs.c:1140
#3  0x4be351c0 in _g_local_file_info_get ()
   from /usr/local/lib/libgio-2.0.so.3800.0
#4  0x4be313fc in g_local_file_query_info ()
   from /usr/local/lib/libgio-2.0.so.3800.0
#5  0x4bd4c3d4 in g_file_query_info ()
   from /usr/local/lib/libgio-2.0.so.3800.0
#6  0x0072268c in thunar_file_load (file=0x503fdc80, cancellable=0x0, 
error=0x7ffc25c8) at thunar-file.c:1054
#7  0x00725868 in thunar_file_get (gfile=0x4df8d8e0, error=0x7ffc25c8)
at thunar-file.c:1119
#8  0x00725a28 in thunar_file_get_for_uri (uri=Variable uri is not 
available.
) at thunar-file.c:1240
#9  0x00706950 in thunar_application_process_filenames (
application=0x48bb5800, working_directory=0x47846a20 /home/tsomi, 
filenames=0x47845480, screen=0x0, startup_id=0x0, error=0x7ffc2648)
at thunar-application.c:1221
#10 0x0070378c in main (argc=1, argv=0x7ffc26d0) at main.c:270



[PATCH] print/lyx: Add a .desktop file

2014-01-27 Thread Donovan Watteau
Hi,

The following diff adds a .desktop file for LyX (taken from Debian).
There's also a small line length fix for DESCR.

Index: Makefile
===
RCS file: /cvs/ports/print/lyx/Makefile,v
retrieving revision 1.67
diff -u -p -r1.67 Makefile
--- Makefile6 Apr 2013 12:29:45 -   1.67
+++ Makefile27 Jan 2014 19:45:07 -
@@ -3,7 +3,7 @@
 COMMENT=   graphical frontend for LaTeX (nearly WYSIWYG)
 
 DISTNAME=  lyx-2.0.4
-REVISION=  0
+REVISION=  1
 CATEGORIES=print editors
 
 HOMEPAGE=  http://www.lyx.org/
@@ -17,7 +17,8 @@ PERMIT_PACKAGE_CDROM= Yes
 MODULES=   devel/gettext lang/python x11/qt4
 
 RUN_DEPENDS=   print/texlive/base \
-   graphics/ImageMagick
+   graphics/ImageMagick \
+   devel/desktop-file-utils
 
 LIB_DEPENDS=   ${MODQT4_LIB_DEPENDS}=4.5.3 \
devel/boost \
@@ -52,5 +53,11 @@ pre-configure:
${WRKSRC}/src/graphics/GraphicsConverter.cpp
find ${WRKSRC} -name *.py -print0 | xargs -0 \
perl -pi -e s,#! ?/usr/bin/(env )?python,#!${MODPY_BIN},
+
+post-install:
+   ${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps
+   ${INSTALL_DATA} ${WRKSRC}/lib/images/lyx.png ${PREFIX}/share/pixmaps
+   ${INSTALL_DATA_DIR} ${PREFIX}/share/applications
+   ${INSTALL_DATA} ${FILESDIR}/lyx.desktop ${PREFIX}/share/applications
 
 .include bsd.port.mk
Index: files/lyx.desktop
===
RCS file: files/lyx.desktop
diff -N files/lyx.desktop
--- /dev/null   1 Jan 1970 00:00:00 -
+++ files/lyx.desktop   27 Jan 2014 19:45:07 -
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=LyX
+GenericName=Document Processor
+Comment=High level LaTeX frontend
+Exec=lyx %F
+TryExec=lyx
+Icon=lyx
+StartupNotify=false
+StartupWMClass=Lyx
+Terminal=false
+Categories=Office;WordProcessor;Qt;
+MimeType=text/x-lyx;application/x-lyx;
Index: pkg/DESCR
===
RCS file: /cvs/ports/print/lyx/pkg/DESCR,v
retrieving revision 1.8
diff -u -p -r1.8 DESCR
--- pkg/DESCR   4 Jun 2010 22:43:33 -   1.8
+++ pkg/DESCR   27 Jan 2014 19:45:07 -
@@ -1,5 +1,5 @@
-LyX is a document processor that encourages an approach to writing
-based on the structure of your documents and not simply their appearance.
+LyX is a document processor that encourages an approach to writing based
+on the structure of your documents and not simply their appearance.
 Combining the power and flexibility of TeX/LaTeX with the ease of use
 of a graphical interface results in world-class support for creation of
 mathematical content (via a fully integrated equation editor) and
Index: pkg/PLIST
===
RCS file: /cvs/ports/print/lyx/pkg/PLIST,v
retrieving revision 1.19
diff -u -p -r1.19 PLIST
--- pkg/PLIST   2 Jan 2013 20:29:49 -   1.19
+++ pkg/PLIST   27 Jan 2014 19:45:08 -
@@ -7,6 +7,7 @@
 @man man/man1/lyx.1
 @man man/man1/lyxclient.1
 @man man/man1/tex2lyx.1
+share/applications/lyx.desktop
 share/locale/ar/LC_MESSAGES/lyx.mo
 share/locale/ca/LC_MESSAGES/lyx.mo
 share/locale/cs/LC_MESSAGES/lyx.mo
@@ -1829,3 +1830,7 @@ share/lyx/ui/stdcontext.inc
 share/lyx/ui/stdmenus.inc
 share/lyx/ui/stdtoolbars.inc
 share/lyx/unicodesymbols
+share/pixmaps/
+share/pixmaps/lyx.png
+@exec %D/bin/update-desktop-database
+@unexec-delete %D/bin/update-desktop-database



[SECURITY UPDATE] misc/memcached (STABLE)

2014-01-02 Thread Donovan Watteau
Hi,

The following diff fixes CVE-2011-4971 and CVE-2013-0179 for 5.4-STABLE.
They are respectively fixed in Memcached 1.4.16 and 1.4.17 upstream, but
I'm avoiding the update here because I'm targeting -STABLE, and 1.4.15
made things more experimental so 1.4.17 might not be ready yet.

These fixes come from Debian Wheezy, which applied them for
Memcached 1.4.13.  Debian also has a patch for CVE-2013-7239, but this
is for SASL which isn't enabled here.

Some links from upstream:
https://code.google.com/p/memcached/issues/detail?id=192
https://code.google.com/p/memcached/issues/detail?id=306

The diff probably applies cleanly for -current as well (MASTER_SITES was
the only change AFAICS).

Index: Makefile
===
RCS file: /cvs/ports/misc/memcached/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- Makefile25 Apr 2013 21:33:21 -  1.22
+++ Makefile2 Jan 2014 16:14:48 -
@@ -2,8 +2,8 @@
 
 COMMENT=   distributed memory object caching system
 
-DISTNAME = memcached-1.4.14
-REVISION = 0
+DISTNAME=  memcached-1.4.14
+REVISION=  1
 CATEGORIES=misc
 
 HOMEPAGE=  http://www.memcached.org/
Index: patches/patch-items_c
===
RCS file: /cvs/ports/misc/memcached/patches/patch-items_c,v
retrieving revision 1.5
diff -u -p -r1.5 patch-items_c
--- patches/patch-items_c   25 Apr 2013 21:33:21 -  1.5
+++ patches/patch-items_c   2 Jan 2014 16:14:48 -
@@ -1,6 +1,11 @@
 $OpenBSD: patch-items_c,v 1.5 2013/04/25 21:33:21 sthen Exp $
 items.c.orig   Thu Apr 25 22:31:03 2013
-+++ items.cThu Apr 25 22:31:47 2013
+
+printf format string fix for long long time_t
+
+and fix buffer-overrun when logging keys (CVE-2013-0179)
+
+--- items.c.orig   Mon Jul 30 22:23:37 2012
 items.cThu Jan  2 17:02:16 2014
 @@ -389,9 +389,9 @@ char *do_item_cachedump(const unsigned int slabs_clsid
  /* Copy the key since it may not be null-terminated in the struct */
  strncpy(key_temp, ITEM_key(it), it-nkey);
@@ -13,3 +18,23 @@ $OpenBSD: patch-items_c,v 1.5 2013/04/25
  if (bufcurr + len + 6  memlimit)  /* 6 is END\r\n\0 */
  break;
  memcpy(buffer + bufcurr, temp, len);
+@@ -510,9 +510,17 @@ item *do_item_get(const char *key, const size_t nkey, 
+ 
+ if (settings.verbose  2) {
+ if (it == NULL) {
+-fprintf(stderr,  NOT FOUND %s, key);
++int ii;
++fprintf(stderr,  NOT FOUND );
++for (ii = 0; ii  nkey; ++ii) {
++fprintf(stderr, %c, key[ii]);
++}
+ } else {
+-fprintf(stderr,  FOUND KEY %s, ITEM_key(it));
++int ii;
++fprintf(stderr,  FOUND KEY );
++for (ii = 0; ii  it-nkey; ++ii) {
++fprintf(stderr, %c, ITEM_key(it)[ii]);
++}
+ was_found++;
+ }
+ }
Index: patches/patch-memcached_c
===
RCS file: patches/patch-memcached_c
diff -N patches/patch-memcached_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-memcached_c   2 Jan 2014 16:14:48 -
@@ -0,0 +1,39 @@
+$OpenBSD$
+
+buffer-overrun when logging keys (CVE-2013-0179)
+
+and fix segfault on specially crafted packet (CVE-2011-4971)
+
+--- memcached.c.orig   Mon Jul 30 22:26:47 2012
 memcached.cThu Jan  2 16:59:32 2014
+@@ -2149,7 +2149,12 @@ static void process_bin_delete(conn *c) {
+ assert(c != NULL);
+ 
+ if (settings.verbose  1) {
+-fprintf(stderr, Deleting %s\n, key);
++int ii;
++fprintf(stderr, Deleting );
++for (ii = 0; ii  nkey; ++ii) {
++fprintf(stderr, %c, key[ii]);
++}
++fprintf(stderr, \n);
+ }
+ 
+ if (settings.detail_enabled) {
+@@ -3863,6 +3868,16 @@ static void drive_machine(conn *c) {
+ complete_nread(c);
+ break;
+ }
++
++/* Check if rbytes  0, to prevent crash */
++if (c-rlbytes  0) {
++if (settings.verbose) {
++fprintf(stderr, Invalid rlbytes to read: len %d\n, 
c-rlbytes);
++}
++conn_set_state(c, conn_closing);
++break;
++}
++
+ /* first check if we have leftovers in the conn_read buffer */
+ if (c-rbytes  0) {
+ int tocopy = c-rbytes  c-rlbytes ? c-rlbytes : c-rbytes;
Index: patches/patch-t_issue_192_t
===
RCS file: patches/patch-t_issue_192_t
diff -N patches/patch-t_issue_192_t
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-t_issue_192_t 2 Jan 2014 16:14:48 -
@@ -0,0 +1,27 @@
+$OpenBSD$
+
+Test case for CVE-2011-4971
+
+--- t/issue_192.t.orig Thu Jan  2 16:48:36 2014
 

Re: sysutils/ntfs-3g: 'PAGE_SHIFT' undeclared on loongson

2013-12-26 Thread Donovan Watteau
On Wed, 25 Dec 2013, Jérémie Courrèges-Anglas wrote:
 Theo de Raadt dera...@cvs.openbsd.org writes:
 
  The hiding of PAGE_SIZE is intentional.
 
  The code should be using getpagesize() or some API which asks the
  kernel.
 
  The reason is that PAGE_SIZE is not a standardized symbol, and on some
  of our architectures it changes between different processor models.
 
 [...]
 
 Here's a compile-tested diff.  Donovan, does this fix your problem?

D'oh, I had started a similar diff thanks to Theo's explanations and the
already existing function in ntfsprogs/, but Christmas made me slack.

Anyway, it builds and works fine with an NTFS formated USB flash drive,
thanks!



UPDATE: games/golly (MAINTAINER)

2013-12-24 Thread Donovan Watteau
Hi,

Here's an update for golly-2.6.  Tested on loongson and amd64.

Merry Christmas!

Index: Makefile
===
RCS file: /cvs/ports/games/golly/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- Makefile9 Sep 2013 15:43:25 -   1.2
+++ Makefile24 Dec 2013 16:27:30 -
@@ -4,7 +4,7 @@ SHARED_ONLY =   Yes
 
 COMMENT =  game of life simulator
 
-PKGNAME =  golly-2.5
+PKGNAME =  golly-2.6
 DISTNAME = ${PKGNAME}-src
 WRKSRC =   ${WRKDIST}/gui-wx/configure
 CATEGORIES =   games math
Index: distinfo
===
RCS file: /cvs/ports/games/golly/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- distinfo9 Sep 2013 15:43:25 -   1.2
+++ distinfo24 Dec 2013 16:27:30 -
@@ -1,2 +1,2 @@
-SHA256 (golly-2.5-src.tar.gz) = t0HAsz/M3HLNYC+1/KsJnEYR0akta92Jsk10EMKLvqw=
-SIZE (golly-2.5-src.tar.gz) = 3381010
+SHA256 (golly-2.6-src.tar.gz) = H+L5gxRLyJXqoSQvlcW7STRMwBObXDMJ5rT6IZwfM9g=
+SIZE (golly-2.6-src.tar.gz) = 3545388
Index: patches/patch-gui-wx_configure_configure
===
RCS file: /cvs/ports/games/golly/patches/patch-gui-wx_configure_configure,v
retrieving revision 1.1
diff -u -p -r1.1 patch-gui-wx_configure_configure
--- patches/patch-gui-wx_configure_configure9 Sep 2013 15:43:25 -   
1.1
+++ patches/patch-gui-wx_configure_configure24 Dec 2013 16:27:30 -
@@ -2,9 +2,9 @@ $OpenBSD: patch-gui-wx_configure_configu
 
 Don't force -O2.
 
 gui-wx/configure/configure.origWed Jun 12 21:27:20 2013
-+++ gui-wx/configure/configure Sun Aug 25 11:21:14 2013
-@@ -3820,17 +3820,9 @@ $as_echo $ac_cv_prog_cc_g 6; }
+--- gui-wx/configure/configure.origSun Dec  8 21:36:26 2013
 gui-wx/configure/configure Tue Dec 24 16:44:52 2013
+@@ -3769,17 +3769,9 @@ $as_echo $ac_cv_prog_cc_g 6; }
  if test $ac_test_CFLAGS = set; then
CFLAGS=$ac_save_CFLAGS
  elif test $ac_cv_prog_cc_g = yes; then
@@ -24,7 +24,7 @@ Don't force -O2.
  fi
  { $as_echo $as_me:${as_lineno-$LINENO}: checking for $CC option to accept 
ISO C89 5
  $as_echo_n checking for $CC option to accept ISO C89...  6; }
-@@ -4747,17 +4739,9 @@ $as_echo $ac_cv_prog_cxx_g 6; }
+@@ -4696,17 +4688,9 @@ $as_echo $ac_cv_prog_cxx_g 6; }
  if test $ac_test_CXXFLAGS = set; then
CXXFLAGS=$ac_save_CXXFLAGS
  elif test $ac_cv_prog_cxx_g = yes; then
@@ -44,7 +44,7 @@ Don't force -O2.
  fi
  ac_ext=c
  ac_cpp='$CPP $CPPFLAGS'
-@@ -6430,9 +6414,6 @@ $as_echo $WX_PORT 6; }
+@@ -6379,9 +6363,6 @@ $as_echo $WX_PORT 6; }
  if test $DEBUG = 1; then
  CXXFLAGS=$CXXFLAGS -g -O0
  CFLAGS=$CFLAGS -g -O0
Index: pkg/PLIST
===
RCS file: /cvs/ports/games/golly/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -r1.2 PLIST
--- pkg/PLIST   9 Sep 2013 15:43:25 -   1.2
+++ pkg/PLIST   24 Dec 2013 16:27:30 -
@@ -112,6 +112,7 @@ share/golly/Patterns/Generations/Steeple
 share/golly/Patterns/Generations/Transers.mcl
 share/golly/Patterns/Generations/What-a-mess.mcl
 share/golly/Patterns/HashLife/
+share/golly/Patterns/HashLife/Replicator-p237228340.mc.gz
 share/golly/Patterns/HashLife/broken-lines.mc
 share/golly/Patterns/HashLife/catacryst.mc
 share/golly/Patterns/HashLife/gotts-dots.mc
@@ -120,6 +121,7 @@ share/golly/Patterns/HashLife/hashlife-o
 share/golly/Patterns/HashLife/hexadecimal.mc.gz
 share/golly/Patterns/HashLife/jagged.mc
 share/golly/Patterns/HashLife/jagged2.mc
+share/golly/Patterns/HashLife/loafer-gun-p8388608-linear.mc.gz
 share/golly/Patterns/HashLife/logarithmic-width.mc
 share/golly/Patterns/HashLife/metacatacryst.mc
 share/golly/Patterns/HashLife/metapixel-galaxy.mc.gz
@@ -197,6 +199,8 @@ share/golly/Patterns/Life/Guns/7-in-a-ro
 share/golly/Patterns/Life/Guns/Cordership-gun-p784.rle
 share/golly/Patterns/Life/Guns/golly-ticker.rle
 share/golly/Patterns/Life/Guns/gun-p165mwss.rle
+share/golly/Patterns/Life/Guns/loafer-gun-p210.rle
+share/golly/Patterns/Life/Guns/p59-gun-with-Snark-reflectors.rle
 share/golly/Patterns/Life/Guns/p690-PT-Cordership-gun.rle
 share/golly/Patterns/Life/Guns/pseudo-p34-gun.rle
 share/golly/Patterns/Life/Guns/vacuum-cleaner.rle



sysutils/ntfs-3g: 'PAGE_SHIFT' undeclared on loongson

2013-12-24 Thread Donovan Watteau
Hi,

sysutils/ntfs-3g fails to build on loongson.

$ sysctl kern.version
kern.version=OpenBSD 5.4-current (GENERIC) #78: Sat Dec 21 18:03:03 MST 2013
dera...@loongson.openbsd.org:/usr/src/sys/arch/loongson/compile/GENERIC

===  Building for ntfs_3g-2013.1.13p1
make  all-recursive
Making all in include
Making all in ntfs-3g
Making all in fuse-lite
Making all in libfuse-lite
Making all in libntfs-3g
/usr/bin/libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I..   
-I/usr/local/include  -I../include/ntfs-3g -O2 -pipe -Wall -MT 
libntfs_3g_la-mft.lo -MD -MP -MF .deps/libntfs_3g_la-mft.Tpo -c -o 
libntfs_3g_la-mft.lo `test -f 'mft.c' || echo './'`mft.c
cc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -I../include/ntfs-3g -O2 -pipe 
-Wall -MT libntfs_3g_la-mft.lo -MD -MP -MF .deps/libntfs_3g_la-mft.Tpo -c mft.c 
-fPIC -DPIC -o .libs/libntfs_3g_la-mft.o
mft.c: In function 'ntfs_mft_bitmap_find_free_rec':
mft.c:495: error: 'PAGE_SHIFT' undeclared (first use in this function)
mft.c:495: error: (Each undeclared identifier is reported only once
mft.c:495: error: for each function it appears in.)
Error while executing cc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include 
-I../include/ntfs-3g -O2 -pipe -Wall -MT libntfs_3g_la-mft.lo -MD -MP -MF 
.deps/libntfs_3g_la-mft.Tpo -c mft.c -fPIC -DPIC -o .libs/libntfs_3g_la-mft.o
*** Error 1 in libntfs-3g (Makefile:550 'libntfs_3g_la-mft.lo')
*** Error 1 in . (Makefile:357 'all-recursive')
*** Error 1 in 
/home/tsomi/ports/pobj/ntfs_3g-2013.1.13/ntfs-3g_ntfsprogs-2013.1.13 
(Makefile:248 'all')
*** Error 1 in . (/home/tsomi/ports/infrastructure/mk/bsd.port.mk:2661 
'/home/tsomi/ports/pobj/ntfs_3g-2013.1.13/.build_done')
*** Error 1 in /home/tsomi/ports/sysutils/ntfs-3g 
(/home/tsomi/ports/infrastructure/mk/bsd.port.mk:2394 'all')

libntfs-3g/mft.c uses PAGE_SIZE, which is (1  PAGE_SHIFT), but
PAGE_SHIFT is in an #ifdef _KERNEL in loongson/param.h (don't know if
it's intentional, maybe that's what the comment above PAGE_SHIFT
explains).

libntfs-3g/mft.c also has this:

#ifndef PAGE_SIZE
#define PAGE_SIZE 4096
#endif

So I don't know if it's a problem in the system headers on loongson, or
if mft.c should be patched to use a 4096 PAGE_SIZE instead.



Re: WIP: LLVM 3.4

2013-12-13 Thread Donovan Watteau
 On 06/12/13 3:26 PM, Brad Smith wrote:
 On 05/12/13 3:35 AM, Brad Smith wrote:
 Here is a work in progress update to LLVM 3.4. This has only been lightly
 tested on amd64. I need this build tested on i386, powerpc, sparc64 and
 mips64 to start off. If you have such an arch please try building it as
 soon as possible as I'd like to report any issues upstream if there are
 any. Any runtime testing feedback would also be appreciated.

 Still looking for build tests for sparc64 and mips64.
 
 and mips64?

I built it as well on my loongson (it took about 18 hours).

A simple C hello world compiles, links and runs fine.  However, trying
to compile base vi(1) with clang gives this:

=== build
clang -O2 -pipe  -I/usr/src/usr.bin/vi/build 
-I/usr/src/usr.bin/vi/build/../include   -c 
/usr/src/usr.bin/vi/build/../cl/cl_bsd.c
clang -O2 -pipe  -I/usr/src/usr.bin/vi/build 
-I/usr/src/usr.bin/vi/build/../include   -c 
/usr/src/usr.bin/vi/build/../cl/cl_funcs.c
/tmp/cl_funcs-556884.s: Assembler messages:
/tmp/cl_funcs-556884.s:43: Error: opcode not supported on this processor: mips3 
(mips3) `movn $1,$7,$8'
/tmp/cl_funcs-556884.s:620: Error: opcode not supported on this processor: 
mips3 (mips3) `movn $3,$5,$1'
clang-3.4: error: assembler command failed with exit code 1 (use -v to see 
invocation)
*** Error 1 in build (sys.mk:87 'cl_funcs.o')
*** Error 1 in /usr/src/usr.bin/vi (bsd.subdir.mk:48 'all')

Still, it looks like things are improving for mips64.

make test needs a few more hours...



Re: [PATCH] x11/py-gtk2: -mxgot workaround for mips64*

2013-11-07 Thread Donovan Watteau
Bump

2013/10/30 Donovan Watteau tso...@gmail.com:
 Hi,

 x11/py-gtk2 is marked as BROKEN on alpha and mips64 (actually, it
 should be marked as BROKEN on mips64el too) because .got subsegment
 exceeds 64K.

 However, building the offending library with -mxgot lets it build
 on mips64el.  It looks like -mxgot makes it slower but, IHMO,
 a) it's better to have a slower py-gtk2 than no py-gtk2, especially
 as it's a common dependency, and b) these platforms are already
 slow for most serious desktop usage anyway.

 With this, Gimp builds and works on my loongson.

 Index: Makefile
 ===
 RCS file: /cvs/ports/x11/py-gtk2/Makefile,v
 retrieving revision 1.57
 diff -u -p -r1.57 Makefile
 --- Makefile16 Oct 2013 16:35:15 -  1.57
 +++ Makefile27 Oct 2013 21:00:42 -
 @@ -2,7 +2,6 @@

  SHARED_ONLY=   Yes
  BROKEN-alpha=  .got subsegment exceeds 64K
 -BROKEN-mips64= .got subsegment exceeds 64K

  COMMENT=   GTK+2 Python bindings

 @@ -39,6 +38,10 @@ RUN_DEPENDS= graphics/py-cairo=1.2 \
 math/py-numpy

  USE_GMAKE= No
 +
 +.if ${MACHINE_ARCH} == mips64 || ${MACHINE_ARCH} == mips64el
 +PATCH_LIST=patch-* sup-mips64-*
 +.endif

  LIBTOOL_FLAGS+=--tag=disable-static
  CONFIGURE_STYLE=gnu
 Index: patches/sup-mips64-gtk_Makefile_in
 ===
 RCS file: patches/sup-mips64-gtk_Makefile_in
 diff -N patches/sup-mips64-gtk_Makefile_in
 --- /dev/null   1 Jan 1970 00:00:00 -
 +++ patches/sup-mips64-gtk_Makefile_in  27 Oct 2013 21:00:42 -
 @@ -0,0 +1,15 @@
 +$OpenBSD$
 +
 +Work around relocation truncated to fit: R_MIPS_CALL16 on mips64.
 +
 +--- gtk/Makefile.in.orig   Fri Apr  1 12:41:04 2011
  gtk/Makefile.inSun Oct 27 21:50:49 2013
 +@@ -442,7 +442,7 @@ GTK_OVERRIDES = \
 +   gtkwidget.override  \
 +   gtkwindow.override
 +
 +-_gtk_la_CFLAGS = $(PYCAIRO_CFLAGS) $(GTK_CFLAGS) $(am__append_33)
 ++_gtk_la_CFLAGS = $(PYCAIRO_CFLAGS) $(GTK_CFLAGS) -mxgot $(am__append_33)
 + _gtk_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gtk
 + _gtk_la_LIBADD = $(GTK_LIBS)
 + _gtk_la_SOURCES = \



[PATCH] x11/py-gtk2: -mxgot workaround for mips64*

2013-10-30 Thread Donovan Watteau
Hi,

x11/py-gtk2 is marked as BROKEN on alpha and mips64 (actually, it
should be marked as BROKEN on mips64el too) because .got subsegment
exceeds 64K.

However, building the offending library with -mxgot lets it build
on mips64el.  It looks like -mxgot makes it slower but, IHMO,
a) it's better to have a slower py-gtk2 than no py-gtk2, especially
as it's a common dependency, and b) these platforms are already
slow for most serious desktop usage anyway.

With this, Gimp builds and works on my loongson.

Index: Makefile
===
RCS file: /cvs/ports/x11/py-gtk2/Makefile,v
retrieving revision 1.57
diff -u -p -r1.57 Makefile
--- Makefile16 Oct 2013 16:35:15 -  1.57
+++ Makefile27 Oct 2013 21:00:42 -
@@ -2,7 +2,6 @@
 
 SHARED_ONLY=   Yes
 BROKEN-alpha=  .got subsegment exceeds 64K
-BROKEN-mips64= .got subsegment exceeds 64K
 
 COMMENT=   GTK+2 Python bindings
 
@@ -39,6 +38,10 @@ RUN_DEPENDS= graphics/py-cairo=1.2 \
math/py-numpy
 
 USE_GMAKE= No
+
+.if ${MACHINE_ARCH} == mips64 || ${MACHINE_ARCH} == mips64el
+PATCH_LIST=patch-* sup-mips64-*
+.endif
 
 LIBTOOL_FLAGS+=--tag=disable-static
 CONFIGURE_STYLE=gnu
Index: patches/sup-mips64-gtk_Makefile_in
===
RCS file: patches/sup-mips64-gtk_Makefile_in
diff -N patches/sup-mips64-gtk_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/sup-mips64-gtk_Makefile_in  27 Oct 2013 21:00:42 -
@@ -0,0 +1,15 @@
+$OpenBSD$
+
+Work around relocation truncated to fit: R_MIPS_CALL16 on mips64.
+
+--- gtk/Makefile.in.orig   Fri Apr  1 12:41:04 2011
 gtk/Makefile.inSun Oct 27 21:50:49 2013
+@@ -442,7 +442,7 @@ GTK_OVERRIDES = \
+   gtkwidget.override  \
+   gtkwindow.override
+ 
+-_gtk_la_CFLAGS = $(PYCAIRO_CFLAGS) $(GTK_CFLAGS) $(am__append_33)
++_gtk_la_CFLAGS = $(PYCAIRO_CFLAGS) $(GTK_CFLAGS) -mxgot $(am__append_33)
+ _gtk_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gtk
+ _gtk_la_LIBADD = $(GTK_LIBS)
+ _gtk_la_SOURCES = \



Re: mupdf update

2013-10-29 Thread Donovan Watteau
On Oct 28, 2013, Stuart Henderson wrote:
 Here's an update to MuPDF 1.3, and a new graphics/openjp2 port,
 containing the 2.x version of OpenJPEG. (The OpenJPEG API has changed
 and the other programs depending on this don't appear to have switched
 yet - other OS have mostly just stuck with OpenJPEG 1.5.x, so I think
 this is the most sensible approach for now - when more programs convert
 we can later retire graphics/openjpeg).
 
 I've tested with a collection of files on amd64 and macppc so far.
 
 Any comments / test reports (especially on other arch) / OKs to import 
 openjp2?

Hi,

Looks fine for me on loongson.

It looks like DESCR needs an update, though. mubusy doesn't exist
anymore.

Also, I find this mupdf-x11 a bit annoying; instead of a symlink
I would rename mupdf-x11 to mupdf, but I can understand why you're
doing this.  When will they stop renaming their tools at every
release...



[PATCH] Add missing files for games/scummvm

2013-09-22 Thread Donovan Watteau
Hi,

The following diff adds some files which are needed by some ScummVM
engines, and which are normally installed by make install.

However, with this diff do-install is getting rather big; patching 
ScummVM so that it follows our install(1) use might be a better approach.

Tested with my Kyrandia games.

Index: Makefile
===
RCS file: /cvs/ports/games/scummvm/Makefile,v
retrieving revision 1.58
diff -u -p -r1.58 Makefile
--- Makefile7 Jul 2013 02:46:26 -   1.58
+++ Makefile22 Sep 2013 11:07:31 -
@@ -2,6 +2,7 @@
 
 COMMENT=   graphical adventure game interpreter
 DISTNAME=  scummvm-1.6.0
+REVISION=  0
 CATEGORIES=games x11 emulators
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=scummvm/}
 
@@ -59,6 +60,10 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/icons/scummvm.{svg,xpm} ${PREFIX}/share/icons
${INSTALL_MAN} ${WRKSRC}/dists/scummvm.6 ${PREFIX}/man/man6
${INSTALL_DATA} ${WRKSRC}/gui/themes/{scummmodern,scummclassic}.zip \
+   ${PREFIX}/share/scummvm
+   ${INSTALL_DATA} 
${WRKSRC}/dists/engine-data/{drascula,hugo,kyra,lure,teenagent,toon}.dat \
+   ${PREFIX}/share/scummvm
+   ${INSTALL_DATA} 
${WRKSRC}/dists/{engine-data/{queen.tbl,sky.cpt},pred.dic} \
${PREFIX}/share/scummvm
${INSTALL_DATA} ${WRKSRC}/gui/themes/translations.dat \
${PREFIX}/share/scummvm
Index: pkg/PLIST
===
RCS file: /cvs/ports/games/scummvm/pkg/PLIST,v
retrieving revision 1.10
diff -u -p -r1.10 PLIST
--- pkg/PLIST   25 Mar 2013 00:12:57 -  1.10
+++ pkg/PLIST   22 Sep 2013 11:07:31 -
@@ -10,8 +10,17 @@ share/icons/
 share/icons/scummvm.svg
 share/icons/scummvm.xpm
 share/scummvm/
+share/scummvm/drascula.dat
+share/scummvm/hugo.dat
+share/scummvm/kyra.dat
+share/scummvm/lure.dat
+share/scummvm/pred.dic
+share/scummvm/queen.tbl
 share/scummvm/scummclassic.zip
 share/scummvm/scummmodern.zip
+share/scummvm/sky.cpt
+share/scummvm/teenagent.dat
+share/scummvm/toon.dat
 share/scummvm/translations.dat
 @exec %D/bin/update-desktop-database
 @unexec-delete %D/bin/update-desktop-database



Re: Incoherent default rcscript and user for pure-ftpd?

2013-08-30 Thread Donovan Watteau
On Fri, 30 Aug 2013, Stuart Henderson wrote:
 On 2013/08/30 14:22, Brad Smith wrote:
  On 26/08/13 10:17 AM, Donovan Watteau wrote:
  Hello,
  
  net/pure-ftpd creates the following user and group:
  @newgroup _pure-ftpd:642
  @newuser _pure-ftpd:642:_pure-ftpd:daemon:pure-ftpd 
  user:/nonexistent:/sbin/nologin
  
  but then, /etc/rc.d/pure_ftpd has:
  daemon_flags=-A -B -H -u1000
  
  so, with this default configuration, users below 1000 can't log in.
  
  Hence, if I create a user this way:
  # pure-pw useradd myuser -u _pure-ftpd -d /whatever
  # pure-pw mkdb
  
  I can't log in with it (account disabled), unless I use something
  like -u600.
  
  Am I missing something about the purpose of the _pure-ftpd user here,
  or should the -u parameter in daemon_flags be lowered by default in the
  provided package?
  
  I'm looking back at this and to be honest I don't even know why the
  port creates the user/group. I understand why the rc script is the
  way it is.
  
  Stuart, do you remember why the user / group was added?
 
 This user/group is used for privilege separation, see the section from the
 README I've pasted below.
 
 $ ps wwaxu|grep pure
 root 13008  0.0  0.0   608  1340 ??  Ss 8:01PM0:00.01 pure-ftpd: 
 -pure-ftpd (SERVER) (pure-ftpd)
 _pure-ftpd 20890  0.0  0.0   624  1204 ??  S  8:02PM0:00.00 
 pure-ftpd: -pure-ftpd (PRIV) (pure-ftpd)
 ftp  24033  0.0  0.0   620  1432 ??  S  8:02PM0:00.07 pure-ftpd: 
 -pure-ftpd (IDLE) (pure-ftpd)
 
 I use a separate account with uid =1000 as a file owner for anonymous
 ftp or as account owner for virtual users.
 
 
 
 ...snip...
 
  PRIVILEGE SEPARATION 
 
 
 When privilege separation is enabled, each session will spawn two processes :
 a privileged process running as root, but that can only do very basic
 and trusted actions (binding a port and remove the ftpwho scoreboard) and
 the client process. The client process definitely revokes all privileges
 after authentication and chroot() and punctually communicates with the
 parent over a private channel.
 
 Privilege separation decreases performance of loaded servers, but it
 increases security and reliability. Enabling it is recommended.
 

Ah, I had thought about privsep, but I wasn't seeing any process using the
_pure-ftpd user, and nothing in the port configuring _pure-ftpd as the
privsep user.  So I thought it was meant to be used for another purpose.

But actually, there *is* a process using _pure-ftpd, which only appears
when there's a connection open (when I ran ps there was no connection).  
And pure-ftpd uses the _pure-ftpd user name by default, in its source
code, that's why PLIST is the only place where it appears...

Next time I'll grep through the port source first...  Sorry.

Thanks.



lang/gforth: HOMEPAGE update

2013-08-27 Thread Donovan Watteau
The HOMEPAGE for lang/gforth isn't available anymore, so here's an updated
link (and distinfo).

BTW, is there any sgi/octeon user to test it?  A few months ago, I had
submitted a small patch so that the MIPS backend would compile on
loongson, but it should work on mips64 as well -- I just don't have the
hardware to test it.

If it does work, then ONLY_FOR_ARCHS could be updated.

Thanks.

Index: Makefile
===
RCS file: /cvs/ports/lang/gforth/Makefile,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile
--- Makefile11 Mar 2013 11:20:27 -  1.11
+++ Makefile27 Aug 2013 21:12:24 -
@@ -5,10 +5,10 @@ ONLY_FOR_ARCHS =  amd64 i386 mips64el pow
 COMMENT =  ANS Standard Forth interpreter and compiler
 
 DISTNAME = gforth-0.6.2
-REVISION = 3
+REVISION = 4
 CATEGORIES =   lang
 
-HOMEPAGE = http://www.jwdt.com/~paysan/gforth.html
+HOMEPAGE = http://bernd-paysan.de/gforth.html
 
 # GPLv2+
 PERMIT_PACKAGE_CDROM = Yes
Index: distinfo
===
RCS file: /cvs/ports/lang/gforth/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo25 Oct 2008 10:40:37 -  1.1.1.1
+++ distinfo27 Aug 2013 21:12:24 -
@@ -1,5 +1,2 @@
-MD5 (gforth-0.6.2.tar.gz) = hpESvXYrB/xNIDii2ZZRSA==
-RMD160 (gforth-0.6.2.tar.gz) = aSqkEuWZVPh6e0QCeQEkj4k56e4=
-SHA1 (gforth-0.6.2.tar.gz) = km+urHzMAOhqdJVNx8aTsZ8T5hY=
 SHA256 (gforth-0.6.2.tar.gz) = KKIBrniwc+81DXrEqCgyMwKcav5gcmIKxt1tsdGS1GI=
 SIZE (gforth-0.6.2.tar.gz) = 1925536



Re: lang/gforth: HOMEPAGE update

2013-08-27 Thread Donovan Watteau
On Tue, 27 Aug 2013, Brian Callahan wrote:
 On 8/27/2013 3:36 PM, Donovan Watteau wrote:
  The HOMEPAGE for lang/gforth isn't available anymore, so here's an updated
  link (and distinfo).
  
  BTW, is there any sgi/octeon user to test it?  A few months ago, I had
  submitted a small patch so that the MIPS backend would compile on
  loongson, but it should work on mips64 as well -- I just don't have the
  hardware to test it.
  
  If it does work, then ONLY_FOR_ARCHS could be updated.
  
 
 Build/install/'make test' is successful on my sgi, so I'd be ok with adding
 mips64 to the arch list.

All right, thanks!  So here's an updated diff.

Index: Makefile
===
RCS file: /cvs/ports/lang/gforth/Makefile,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile
--- Makefile11 Mar 2013 11:20:27 -  1.11
+++ Makefile27 Aug 2013 22:16:43 -
@@ -1,14 +1,14 @@
 # $OpenBSD: Makefile,v 1.11 2013/03/11 11:20:27 espie Exp $
 
-ONLY_FOR_ARCHS =   amd64 i386 mips64el powerpc sparc sparc64
+ONLY_FOR_ARCHS =   amd64 i386 mips64 mips64el powerpc sparc sparc64
 
 COMMENT =  ANS Standard Forth interpreter and compiler
 
 DISTNAME = gforth-0.6.2
-REVISION = 3
+REVISION = 4
 CATEGORIES =   lang
 
-HOMEPAGE = http://www.jwdt.com/~paysan/gforth.html
+HOMEPAGE = http://bernd-paysan.de/gforth.html
 
 # GPLv2+
 PERMIT_PACKAGE_CDROM = Yes
Index: distinfo
===
RCS file: /cvs/ports/lang/gforth/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo25 Oct 2008 10:40:37 -  1.1.1.1
+++ distinfo27 Aug 2013 22:16:43 -
@@ -1,5 +1,2 @@
-MD5 (gforth-0.6.2.tar.gz) = hpESvXYrB/xNIDii2ZZRSA==
-RMD160 (gforth-0.6.2.tar.gz) = aSqkEuWZVPh6e0QCeQEkj4k56e4=
-SHA1 (gforth-0.6.2.tar.gz) = km+urHzMAOhqdJVNx8aTsZ8T5hY=
 SHA256 (gforth-0.6.2.tar.gz) = KKIBrniwc+81DXrEqCgyMwKcav5gcmIKxt1tsdGS1GI=
 SIZE (gforth-0.6.2.tar.gz) = 1925536

 The new website suggests there have been some updates to gforth, if you'd like
 to go ahead and tackle that too :)

Yes, why not.  But I just have a very very limited use of gforth, so it'd
need some feedback as I'd rather not break it...



Incoherent default rcscript and user for pure-ftpd?

2013-08-26 Thread Donovan Watteau
Hello,

net/pure-ftpd creates the following user and group:
@newgroup _pure-ftpd:642
@newuser _pure-ftpd:642:_pure-ftpd:daemon:pure-ftpd 
user:/nonexistent:/sbin/nologin

but then, /etc/rc.d/pure_ftpd has:
daemon_flags=-A -B -H -u1000

so, with this default configuration, users below 1000 can't log in.

Hence, if I create a user this way:
# pure-pw useradd myuser -u _pure-ftpd -d /whatever
# pure-pw mkdb

I can't log in with it (account disabled), unless I use something
like -u600.

Am I missing something about the purpose of the _pure-ftpd user here,
or should the -u parameter in daemon_flags be lowered by default in the
provided package?

Thanks.



Re: NEW: archivers/zopfli

2013-06-22 Thread Donovan Watteau
On Thu, Jun 06 2013, Anthony J. Bentley wrote:
 Hi,
 
 Zopfli is a compression algorithm programmed in C to perform very good,
 but slow, deflate or zlib compression.
 
 This program can only compress, not decompress. Existing zlib or deflate
 libraries can decompress the data.
 
 
 Simple program, seems to work with no issues (amd64).
 
 ok?

Hi,

A bit late, but... it's not really happy on mips64el.

hello.c:
#include stdio.h

int main(void)
{
printf(hello, world\n);

return 0;
}

$ zopfli hello.c
Starting program: /usr/local/bin/zopfli hello.c

Program received signal SIGBUS, Bus error.
0x06987cb8 in ZopfliFindLongestMatch (s=0x7ffdca40, h=0x7ffdc988, 
array=0x5336c200 #include stdio.h\n\nint 
main(void)\n{\n\tprintf(\hello, world\\n\);\n\n\treturn 0;\n}\n, pos=40, 
size=78, limit=38, 
sublen=0x7ffdc780, distance=0x7ffdc9d4, length=0x7ffdc9d6)
at src/zopfli/lz77.c:126
126 while (scan  safe_end  *((size_t*)scan) == *((size_t*)match)) {
#0  0x06987cb8 in ZopfliFindLongestMatch (s=0x7ffdca40, h=0x7ffdc988, 
array=0x5336c200 #include stdio.h\n\nint 
main(void)\n{\n\tprintf(\hello, world\\n\);\n\n\treturn 0;\n}\n, pos=40, 
size=78, limit=38, 
sublen=0x7ffdc780, distance=0x7ffdc9d4, length=0x7ffdc9d6)
at src/zopfli/lz77.c:126
same0 = Variable same0 is not available.
#0  0x06987cb8 in ZopfliFindLongestMatch (s=0x7ffdca40, h=0x7ffdc988, 
array=0x5336c200 #include stdio.h\n\nint 
main(void)\n{\n\tprintf(\hello, world\\n\);\n\n\treturn 0;\n}\n, pos=40, 
size=78, limit=38, 
sublen=0x7ffdc780, distance=0x7ffdc9d4, length=0x7ffdc9d6)
at src/zopfli/lz77.c:126
#1  0x06988490 in ZopfliLZ77Greedy (s=0x7ffdca40, 
in=0x5336c200 #include stdio.h\n\nint main(void)\n{\n\tprintf(\hello, 
world\\n\);\n\n\treturn 0;\n}\n, instart=1, inend=78, store=0x7ffdca60)
at src/zopfli/lz77.c:399
#2  0x06982d78 in ZopfliBlockSplit (options=0x7ffdcd90, 
in=0x5336c200 #include stdio.h\n\nint main(void)\n{\n\tprintf(\hello, 
world\\n\);\n\n\treturn 0;\n}\n, instart=0, inend=78, maxblocks=15, 
splitpoints=0x7ffdcb00, npoints=0x7ffdcaf8)
at src/zopfli/blocksplitter.c:310
#3  0x069855f4 in DeflateSplittingFirst (options=0x7ffdcd90, btype=2, 
final=1, 
in=0x5336c200 #include stdio.h\n\nint main(void)\n{\n\tprintf(\hello, 
world\\n\);\n\n\treturn 0;\n}\n, instart=0, inend=78, bp=0x7ffdccd7 , 
out=0x7ffdcdb0, outsize=0x7ffdcda8) at src/zopfli/deflate.c:569
#4  0x06985904 in ZopfliDeflatePart (options=0x7ffdcd90, btype=2, 
final=1, 
in=0x5336c200 #include stdio.h\n\nint main(void)\n{\n\tprintf(\hello, 
world\\n\);\n\n\treturn 0;\n}\n, instart=0, inend=78, bp=0x7ffdccd7 , 
out=0x7ffdcdb0, outsize=0x7ffdcda8) at src/zopfli/deflate.c:668
#5  0x06985adc in ZopfliDeflate (options=0x7ffdcd90, btype=2, final=1, 
in=0x5336c200 #include stdio.h\n\nint main(void)\n{\n\tprintf(\hello, 
world\\n\);\n\n\treturn 0;\n}\n, insize=78, bp=0x7ffdccd7 , out=0x7ffdcdb0, 
outsize=0x7ffdcda8) at src/zopfli/deflate.c:687
#6  0x06985ef8 in ZopfliGzipCompress (options=0x7ffdcd90, 
in=0x5336c200 #include stdio.h\n\nint main(void)\n{\n\tprintf(\hello, 
world\\n\);\n\n\treturn 0;\n}\n, insize=78, out=0x7ffdcdb0, 
outsize=0x7ffdcda8)
at src/zopfli/gzip_container.c:96
#7  0x0698b52c in ZopfliCompress (options=Variable options is not 
available.
) at src/zopfli/zopfli_lib.c:33
#8  0x0698b174 in main (argc=2, argv=0x7ffdce60)
at src/zopfli/zopfli_bin.c:96

I'll report this to upstream.



Re: UPDATE: FFmpeg 20130612

2013-06-16 Thread Donovan Watteau
Brad Smith wrote:
 Here is a newer snapshot of FFmpeg along the 1.2 branch; bringing in
 a bunch of bug fixes.
 
 [...]

Everything's OK for me on loongson, as usual.



Re: Update: net/curl 7.30.0

2013-06-06 Thread Donovan Watteau
On Tue, Jun 04, 2013 at 10:54:54PM +0200, Christian Weisgerber wrote:
 Can people please run the regression tests on a variety of machines
 and report back to me the results?

Here's what I get on loongson:

OK (812 out of 812, remaining: 00:00)
TESTDONE: 648 tests out of 656 reported OK: 98%
TESTFAIL: These test cases failed: 215 216 541 574 575 576 1113 1114 
TESTDONE: 815 tests were considered during 4088 seconds.

However, please note that I'm running an early April -current, as newer
mips64el packages haven't be built for a while.



Re: UPDATE: FFmpeg 20130319 snapshot (1.2)

2013-03-31 Thread Donovan Watteau

Brad Smith wrote:

Here is an update to an FFmpeg snapshot from 0319 which is from the
new FFmpeg 1.2 release/branch.

Looking for any testing.


Tried some ffmpeg conversions and some mplayer playing on loongson;
all good for me.  The new libavcodec/mips stuff built fine.



Re: NEW: games/golly

2013-03-16 Thread Donovan Watteau
On Sat, 16 Mar 2013, Brian Callahan wrote:
 On 3/10/2013 2:02 PM, Donovan Watteau wrote:
  On Wed, 6 Mar 2013, Brian Callahan wrote:
   On 3/2/2013 9:15 AM, Donovan Watteau wrote:
Hello,

Attached is a port for golly, a Conway's game of life simulator.

I needed to patch it so that libutil is loaded along with libpython,
otherwise I would get undefined symbols forkpty/openpty.  My patch
is similar to the one applied to py-gstreamer.

Tested on amd64.
   
   Seemed fun (though I'm pretty sure I didn't understand a thing I was
   doing,
   but it was fun to watch).
   Can import after unlock if someone wants to give me an OK.
  
  Glad you like it, thanks for your feedback.
  
  Here are some further changes.  I think math/ makes more sense as the
  primary category, and I've also simplied that PERMIT_* thing.  It's been
  tested on loongson too, since then.
  
 
 Hi --
 
 Sorry I'm not moving as fast on this as I should be. One comment - NO_REGRESS
 has been changed to NO_TEST.
 
 Should be all good after that. (Can I get an OK for import from somebody?)
 

Indeed.  Here you go!

golly.tgz
Description: Binary data


Re: NEW: games/golly

2013-03-10 Thread Donovan Watteau
On Wed, 6 Mar 2013, Brian Callahan wrote:
 On 3/2/2013 9:15 AM, Donovan Watteau wrote:
  Hello,
  
  Attached is a port for golly, a Conway's game of life simulator.
  
  I needed to patch it so that libutil is loaded along with libpython,
  otherwise I would get undefined symbols forkpty/openpty.  My patch
  is similar to the one applied to py-gstreamer.
  
  Tested on amd64.
 
 Seemed fun (though I'm pretty sure I didn't understand a thing I was doing,
 but it was fun to watch).
 Can import after unlock if someone wants to give me an OK.

Glad you like it, thanks for your feedback.

Here are some further changes.  I think math/ makes more sense as the
primary category, and I've also simplied that PERMIT_* thing.  It's been
tested on loongson too, since then.

golly.tgz
Description: Binary data


Re: UPDATE: FFmpeg / MPlayer 20130214

2013-03-02 Thread Donovan Watteau

Brad Smith wrote:

On Fri, Mar 01, 2013 at 07:27:05PM -0500, Brad Smith wrote:
 Here is an update to an FFmpeg 1.1 snapshot and the latest
 MPlayer.

A proper diff for MPlayer. --disable-mp3lib wasn't supposed
to be in the Makefile and mp3lib has been removed.


All good for me on loongson.



NEW: games/golly

2013-03-02 Thread Donovan Watteau

Hello,

Attached is a port for golly, a Conway's game of life simulator.

I needed to patch it so that libutil is loaded along with libpython,
otherwise I would get undefined symbols forkpty/openpty.  My patch
is similar to the one applied to py-gstreamer.

Tested on amd64.

golly.tgz
Description: Binary data


graphics/ffmpeg unredistributable for release?

2013-02-26 Thread Donovan Watteau
Hi,

This is something I've reported a while back [1], and for which I sent
another email to Brad the day before the ports tree got fully locked
out of the blue, but unfortunately I didn't get any reply in time for
the big lock.  (I would have directly reported it here again if I knew
the full ports lock was so close, sorry.)

ffmpeg-20121026p2 (tested on amd64) looks unredistributable.

$ ffmpeg -L
[...]
This version of ffmpeg has nonfree parts compiled in.
Therefore it is not legally redistributable.

[1] http://marc.info/?l=openbsd-portsm=135888709219446w=2



Re: Another FFmpeg update work in progress

2013-01-22 Thread Donovan Watteau
 Now that we've gone through the update to an FFmpeg 0.10 release
 and the associated API changes I am looking at updating to the
 latest release 1.1. I have an update here along with the latest
 and greatest for MPlayer if anyone wants to play around with it.
 There are still some ports in the tree that need patching for
 API changes though.
 
 http://comstyle.com/ports/ffmpeg/

I had to make some changes to your ffmpeg patch to make it work on
loongson:

- add --disable-mips32r2, --disable-mipsdspr1 and --disable-mipsdspr2 to
  ./configure, otherwise ffmpeg tries to use some MIPS32 instructions and
  compiler settings.  AFAICS, that's because ./configure thinks mips64 = 
  mips = mips32.
- disable the -Wl,-Bsymbolic flag on mips targets, otherwise I would
  still get the /usr/bin/ld: Bad value error I mentionned on ports@ a
  while ago.

BTW, when ./configure was done, it gave the following output:
License: nonfree and unredistributable

With these changes applied, ffmpeg and mplayer work fine for me.

Index: Makefile
===
RCS file: /home/cvs/ports/graphics/ffmpeg/Makefile,v
retrieving revision 1.94
diff -u -p -r1.94 Makefile
--- Makefile20 Jan 2013 07:46:16 -  1.94
+++ Makefile22 Jan 2013 19:59:55 -
@@ -2,21 +2,20 @@
 
 COMMENT=   audio/video converter and streamer
 
-V= 20121026
+V= 20130115
 DISTNAME=  ffmpeg-git-${V}
 PKGNAME=   ffmpeg-${V}
-REVISION=  1
 CATEGORIES=graphics multimedia
 MASTER_SITES=  http://comstyle.com/source/
 EXTRACT_SUFX=  .tar.xz
 
-SHARED_LIBS=   avcodec 18.0 \
-   avdevice6.0 \
-   avfilter4.0 \
-   avformat16.0 \
-   avutil  10.0 \
-   postproc15.0 \
-   swresample  0.0 \
+SHARED_LIBS=   avcodec 19.0 \
+   avdevice7.0 \
+   avfilter5.0 \
+   avformat17.0 \
+   avutil  11.0 \
+   postproc15.1 \
+   swresample  0.1 \
swscale 5.0
 
 HOMEPAGE=  http://ffmpeg.org/
@@ -29,9 +28,9 @@ PERMIT_PACKAGE_FTP=   Yes
 PERMIT_DISTFILES_CDROM=Yes
 PERMIT_DISTFILES_FTP=  Yes
 
-WANTLIB=   SDL X11 Xext Xfixes bz2 c crypto gsm m mp3lame pthread \
-   schroedinger-1.0=2 sndio speex ssl theoradec theoraenc \
-   vorbis vorbisenc vpx x264=8 xvidcore z
+WANTLIB=   SDL X11 Xext Xfixes bz2 c crypto gsm m mp3lame opus \
+   pthread schroedinger-1.0=2 sndio speex ssl theoradec \
+   theoraenc vorbis vorbisenc vpx x264=8 xvidcore z
 
 BUILD_DEPENDS= textproc/texi2html
 .if ${MACHINE_ARCH} == amd64 || ${MACHINE_ARCH} == i386
@@ -40,6 +39,7 @@ BUILD_DEPENDS+=   devel/yasm
 LIB_DEPENDS=   archivers/bzip2 \
audio/lame \
audio/libvorbis \
+   audio/opus \
audio/speex \
audio/gsm \
devel/sdl \
@@ -50,7 +50,7 @@ LIB_DEPENDS=  archivers/bzip2 \
multimedia/xvidcore
 
 # inter-library dependencies for the current configuration
-LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -lgsm -lmp3lame -lschroedinger-1.0 
-lspeex -ltheoradec -ltheoraenc -lvorbis -lvorbisenc -lvpx -lx264 -lxvidcore 
-lz -pthread
+LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -lgsm -lmp3lame -lopus 
-lschroedinger-1.0 -lspeex -ltheoradec -ltheoraenc -lvorbis -lvorbisenc -lvpx 
-lx264 -lxvidcore -lz -pthread
 LIBavdevice_EXTRALIBS=-L${X11BASE}/lib -lX11 -lXext -lXfixes -lsndio
 LIBavfilter_EXTRALIBS=
 LIBavformat_EXTRALIBS=-L${LOCALBASE}/lib -lbz2 -lssl -lcrypto -pthread
@@ -83,18 +83,20 @@ CONFIGURE_ARGS+= ${CONFIGURE_SHARED} \
--disable-armv5te \
--disable-armv6 \
--disable-armv6t2 \
-   --disable-armvfp \
-   --disable-avx \
+   --disable-mips32r2 \
+   --disable-mipsdspr1 \
+   --disable-mipsdspr2 \
--disable-debug \
--disable-indev=jack \
--disable-indev=oss \
-   --disable-iwmmxt \
--disable-neon \
--disable-outdev=oss \
--disable-outdev=sdl \
+   --disable-vfp \
--enable-gpl \
--enable-libgsm \
--enable-libmp3lame \
+   --enable-libopus \
--enable-libschroedinger \
--enable-libspeex \
--enable-libtheora \
@@ -104,7 +106,6 @@ CONFIGURE_ARGS+= ${CONFIGURE_SHARED} \
--enable-libxvid \
--enable-nonfree \
--enable-openssl \
-   --enable-runtime-cpudetect \
--enable-x11grab \
--extra-cflags=-I${LOCALBASE}/include -I${X11BASE}/include \

[UPDATE] audio/cmus - 2.5.0 (MAINTAINER)

2012-11-07 Thread Donovan Watteau
Hello,

Here's an update to cmus-2.5.0, which adds CUE sheets support and
cdio input plugin, among other things.

I'm disabling CONFIG_DISCID, since it requires libdiscid which we
don't have yet in the ports tree.  I'm disabling CONFIG_CDDB, too,
as it is an unnecessary dependency which is disabled in cdio.c for
the moment.

I will eventually get the sndio backend merged upstream, don't
worry.

Tested on amd64 and loongson.

Index: Makefile
===
RCS file: /cvs/ports/audio/cmus/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- Makefile20 Dec 2011 16:00:26 -  1.6
+++ Makefile7 Nov 2012 20:44:29 -
@@ -4,7 +4,7 @@ COMMENT-main=   ncurses-based music playe
 COMMENT-flac=  FLAC input plugin for cmus
 COMMENT-wavpack=   Wavpack input plugin for cmus
 
-V= 2.4.3
+V= 2.5.0
 DISTNAME=  cmus-v$(V)
 PKGNAME-main=  cmus-$(V)
 PKGNAME-flac=  cmus-flac-$(V)
@@ -29,9 +29,10 @@ MULTI_PACKAGES=  -main -flac -wavpack
 
 MODULES=   converters/libiconv
 
-WANTLIB-main=  c m pthread sndio ncursesw mad=2 ${MODLIBICONV_WANTLIB}
+WANTLIB-main=  c cdio cdio_cdda cue m mad=2 ncursesw pthread sndio
+WANTLIB-main+= ${MODLIBICONV_WANTLIB}
 
-LIB_DEPENDS=   audio/libmad
+LIB_DEPENDS=   audio/libcdio audio/libcue audio/libmad
 
 LIB_DEPENDS-flac=  audio/flac audio/libogg
 RUN_DEPENDS-flac=  audio/cmus
@@ -44,6 +45,7 @@ USE_GMAKE=Yes
 
 CONFIGURE_STYLE=   simple
 CONFIGURE_ENV= HOSTCC=${CC} HOSTLD=${CC} HOST_CFLAGS=${CFLAGS}
+# Note: We're explicitly disabling CONFIG_CDDB as it gets undef'd in cdio.c
 CONFIGURE_ARGS=prefix=${PREFIX} \
exampledir=${PREFIX}/share/examples/cmus \
mandir=${PREFIX}/man \
@@ -57,9 +59,10 @@ CONFIGURE_ARGS=  prefix=${PREFIX} \
CONFIG_AO=n \
CONFIG_ARTS=n \
CONFIG_PULSE=n \
-   CONFIG_ALSA=n \
CONFIG_ROAR=n \
-   CONFIG_SNDIO=y
+   CONFIG_SNDIO=y \
+   CONFIG_DISCID=n \
+   CONFIG_CDDB=n
 
 .if ${MACHINE_ARCH} == arm
 CONFIGURE_ARGS+=   CONFIG_TREMOR=y
Index: distinfo
===
RCS file: /cvs/ports/audio/cmus/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- distinfo20 Dec 2011 16:00:26 -  1.2
+++ distinfo7 Nov 2012 20:44:29 -
@@ -1,5 +1,2 @@
-MD5 (cmus-v2.4.3.tar.bz2) = dUUs8AdjchTEq1RE4HYRSw==
-RMD160 (cmus-v2.4.3.tar.bz2) = 5Brb2ijbUpskVEf3vfIs+N4RimI=
-SHA1 (cmus-v2.4.3.tar.bz2) = umOkF7DfQvqaSFDdi5IqlaQm9/U=
-SHA256 (cmus-v2.4.3.tar.bz2) = yLhT1sxN5sxij+HPSPWoQasjDYGL2/ORMbadiIRLz/4=
-SIZE (cmus-v2.4.3.tar.bz2) = 204508
+SHA256 (cmus-v2.5.0.tar.bz2) = ICH6tkCIiY1i0UOVJew0XiGfWNkanpM9yF6E7aIcjd8=
+SIZE (cmus-v2.5.0.tar.bz2) = 224675
Index: files/sndio.c
===
RCS file: /cvs/ports/audio/cmus/files/sndio.c,v
retrieving revision 1.2
diff -u -p -u -r1.2 sndio.c
--- files/sndio.c   2 Oct 2011 14:11:55 -   1.2
+++ files/sndio.c   7 Nov 2012 20:44:29 -
@@ -131,7 +131,7 @@ static int sndio_close(void)
return 0;
 }
 
-static int sndio_open(sample_format_t sf)
+static int sndio_open(sample_format_t sf, const channel_position_t 
*channel_map)
 {
hdl = sio_open(NULL, SIO_PLAY, 0);
if (hdl == NULL)
Index: patches/patch-configure
===
RCS file: /cvs/ports/audio/cmus/patches/patch-configure,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-configure
--- patches/patch-configure 6 Sep 2011 07:10:56 -   1.1.1.1
+++ patches/patch-configure 7 Nov 2012 20:44:29 -
@@ -2,8 +2,8 @@ $OpenBSD: patch-configure,v 1.1.1.1 2011
 Remove -Wredundant-decls which makes a lot of useless noise on
 OpenBSD because of some problems in system headers.
 (+ sndio support)
 configure.orig Sun Jul 24 11:42:22 2011
-+++ configure  Tue Aug 30 12:28:26 2011
+--- configure.orig Wed Nov  7 09:46:17 2012
 configure  Wed Nov  7 19:18:57 2012
 @@ -5,7 +5,7 @@
  check_cflags()
  {
@@ -13,14 +13,14 @@ OpenBSD because of some problems in syst
-Wextra -Wno-sign-compare -Wformat-security
  
for i in -Wdeclaration-after-statement \
-@@ -276,6 +276,16 @@ check_sun()
+@@ -307,6 +307,16 @@ check_sun()
fi
  }
  
 +check_sndio()
 +{
 +  case `uname -s` in
-+  *BSD)
++  OpenBSD|Bitrig)
 +  check_library SNDIO  -lsndio
 +  return $?
 +  esac
@@ -30,15 +30,15 @@ OpenBSD because of some problems in syst
  check_waveout()
  {
case `uname -s` in
-@@ 

Re: [PATCH] Make graphics/ffmpeg compile on loongson

2012-10-19 Thread Donovan Watteau
On Sat, Sep 29, 2012 at 01:45:43PM +0200, Donovan Watteau wrote:
 Hello,

 The following diff makes it possible for ffmpeg to be linked
 on loongson (it used to give ld: final link failed: Bad value,
 see [1]), and probably sgi too (though I couldn't test this one).

 This is done by removing the call to -Wl,-Bsymbolic on mips
 targets.  I'm not really sure to understand the effects of
 removing -Bsymbolic, but the resulting binary works fine for me
 on loongson.

 No REVISION bump since it only affects the archs on which it
 didn't build.
 [...]

Could this go in, please?

Having ffmpeg on loongson is quite useful, IMHO, and it does unbreak
mplayer, too (and possibly some other ports).

As for the proposed patch for GCC, it didn't work for me, see my
previous message in this thread for more details.

Thanks.



[PATCH] Let lang/gforth build on mips64el

2012-10-13 Thread Donovan Watteau
Hello,

The following diff lets lang/gforth build on mips64el.  It
runs fine for me, and make regress is happy too.

Index: Makefile
===
RCS file: /cvs/ports/lang/gforth/Makefile,v
retrieving revision 1.9
diff -u -p -r1.9 Makefile
--- Makefile4 Jun 2012 21:02:15 -   1.9
+++ Makefile3 Oct 2012 18:34:50 -
@@ -1,6 +1,6 @@
 # $OpenBSD: Makefile,v 1.9 2012/06/04 21:02:15 pascal Exp $
 
-ONLY_FOR_ARCHS =   amd64 i386 powerpc sparc sparc64
+ONLY_FOR_ARCHS =   amd64 i386 mips64el powerpc sparc sparc64
 
 COMMENT =  ANS Standard Forth interpreter and compiler
 
Index: patches/patch-arch_mips_machine_h
===
RCS file: patches/patch-arch_mips_machine_h
diff -N patches/patch-arch_mips_machine_h
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-arch_mips_machine_h   3 Oct 2012 18:34:50 -
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+Let the MIPS backend build on OpenBSD.
+
+--- arch/mips/machine.h.orig   Sun Mar  9 16:06:31 2003
 arch/mips/machine.hWed Oct  3 20:28:31 2012
+@@ -31,8 +31,10 @@
+ #endif
+ 
+ /* cache flush stuff */
+-#ifdef ultrix
++#if defined(ultrix)
+ #include mips/cachectl.h
++#elif defined(__OpenBSD__)
++#include mips64/sysarch.h
+ #else
+ /* works on Irix */
+ #include sys/cachectl.h



Re: [PATCH] Make graphics/ffmpeg compile on loongson

2012-09-30 Thread Donovan Watteau
On Sat, 29 Sep 2012, Brad Smith wrote:
 This is a bug in the compiler. Looking around I believe the fix
 in this PR would resolve the issue. Try working with miod@ to
 have a bug fix applied for the compiler.
 
 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33755

I recompiled GCC with the patch for GCC 4.2, and then I compiled
ffmpeg again (without my patch for -Bsymbolic) but I still have
the /usr/bin/ld: final link failed: Bad value error.  I wonder
whether I need to recompile ffmpeg's dependencies, though.

I had tried a binutils-2.15 mipsel patch from Debian, some time
ago while searching for this particular error, to no avail.
But again, I was only recompiling ffmpeg after that.



[PATCH] Make graphics/ffmpeg compile on loongson

2012-09-29 Thread Donovan Watteau
Hello,

The following diff makes it possible for ffmpeg to be linked
on loongson (it used to give ld: final link failed: Bad value,
see [1]), and probably sgi too (though I couldn't test this one).

This is done by removing the call to -Wl,-Bsymbolic on mips
targets.  I'm not really sure to understand the effects of
removing -Bsymbolic, but the resulting binary works fine for me
on loongson.

No REVISION bump since it only affects the archs on which it
didn't build.

[1] http://marc.info/?l=openbsd-portsm=132691957332463w=2

Index: patches/patch-configure
===
RCS file: /cvs/ports/graphics/ffmpeg/patches/patch-configure,v
retrieving revision 1.31
diff -u -p -r1.31 patch-configure
--- patches/patch-configure 12 Sep 2012 08:15:57 -  1.31
+++ patches/patch-configure 29 Sep 2012 10:27:32 -
@@ -1,6 +1,6 @@
 $OpenBSD: patch-configure,v 1.31 2012/09/12 08:15:57 ajacoutot Exp $
 configure.orig Sun Jun 10 00:59:57 2012
-+++ configure  Tue Sep 11 22:47:01 2012
+--- configure.orig Sun Jun 10 06:59:57 2012
 configure  Sat Sep 29 12:25:43 2012
 @@ -1092,7 +1092,6 @@ HAVE_LIST=
  lzo1x_999_compress
  machine_ioctl_bt848_h
@@ -35,7 +35,17 @@ $OpenBSD: patch-configure,v 1.31 2012/09
  enabled libmp3lame  require  libmp3lame = 3.98.3 lame/lame.h 
lame_set_VBR_quality -lmp3lame
  enabled libnut  require  libnut libnut.h nut_demuxer_init -lnut
  enabled libopencore_amrnb   require libopencore_amrnb 
opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb
-@@ -3075,10 +3075,6 @@ fi
+@@ -3058,7 +3058,8 @@ enabled extra_warnings  check_cflags -Winline
+ # add some linker flags
+ check_ldflags -Wl,--warn-common
+ check_ldflags -Wl,-rpath-link,libpostproc -Wl,-rpath-link,libswscale 
-Wl,-rpath-link,libavfilter -Wl,-rpath-link,libavdevice 
-Wl,-rpath-link,libavformat -Wl,-rpath-link,libavcodec -Wl,-rpath-link,libavutil
+-test_ldflags -Wl,-Bsymbolic  append SHFLAGS -Wl,-Bsymbolic
++# Avoid /usr/bin/ld: final link failed: Bad value with old binutils on mips
++! enabled mips  test_ldflags -Wl,-Bsymbolic  append SHFLAGS -Wl,-Bsymbolic
+ 
+ echo X{};  $TMPV
+ if test_ldflags -Wl,--version-script,$TMPV; then
+@@ -3075,10 +3076,6 @@ fi
  
  if enabled small; then
  add_cflags $size_cflags
@@ -46,7 +56,7 @@ $OpenBSD: patch-configure,v 1.31 2012/09
  fi
  check_cflags -fno-math-errno
  check_cflags -fno-signed-zeros
-@@ -3506,6 +3502,7 @@ comment=$2
+@@ -3506,6 +3503,7 @@ comment=$2
  version=$3
  libs=$4
  requires=$5
@@ -54,7 +64,7 @@ $OpenBSD: patch-configure,v 1.31 2012/09
  enabled ${name#lib} || return 0
  cat EOF  $name/$name.pc
  prefix=$prefix
-@@ -3519,7 +3516,7 @@ Version: $version
+@@ -3519,7 +3517,7 @@ Version: $version
  Requires: $(enabled shared || echo $requires)
  Requires.private: $(enabled shared  echo $requires)
  Conflicts:
@@ -63,7 +73,7 @@ $OpenBSD: patch-configure,v 1.31 2012/09
  Libs.private: $(enabled shared  echo $libs)
  Cflags: -I\${includedir}
  EOF
-@@ -3539,10 +3536,10 @@ Cflags: -I\${includedir}
+@@ -3539,10 +3537,10 @@ Cflags: -I\${includedir}
  EOF
  }
  



NEW: graphics/optipng

2012-06-03 Thread Donovan Watteau
Hello,

optipng is a PNG optimizer, similar to pngcrush, but designed to
be more flexible and to run faster.

Plus: it actually links to libpng/zlib, it has a manpage and I
find it much more intuitive.

Tested OK on loongson.

optipng.tar.gz
Description: Binary data


PATCH: editors/elvis

2012-05-05 Thread Donovan Watteau
Hello,

Here's a diff for editors/elvis:
- add --docdir so that :help works (without that, :help
  was looking for its files in /usr/share/elvis/doc, which
  is the default value of docdir)
- add --verbose (knowing more about what configure is
  doing is probably not a bad idea)
- fix a bug in the ) command that could cause a segfault
- fix a bug when lauching elvis in a directory containing
  a tags directory
- make file/syntax detection work for scripts using env
- add return to the list of shell script keywords
- fix a few things in the man pages (\-, typo, whitespace)
  since we were already patching them.

Most of these fixes come from Debian.

Tested OK on loongson.

Index: Makefile
===
RCS file: /cvs/ports/editors/elvis/Makefile,v
retrieving revision 1.20
diff -u -p -u -p -r1.20 Makefile
--- Makefile17 Mar 2012 12:40:01 -  1.20
+++ Makefile5 May 2012 12:39:25 -
@@ -4,7 +4,7 @@ COMMENT=clone of the ex/vi text editor
 
 DISTNAME=  elvis-2.2_0
 PKGNAME=   ${DISTNAME:S/_/./}
-REVISION=  1
+REVISION=  2
 CATEGORIES=editors
 HOMEPAGE=  http://elvis.the-little-red-haired-girl.org/
 
@@ -24,7 +24,9 @@ FLAVOR?=
 
 CONFIGURE_STYLE= simple
 CONFIGURE_ARGS=--bindir=${PREFIX}/bin \
-   --datadir=${PREFIX}/share/elvis
+   --datadir=${PREFIX}/share/elvis \
+   --docdir=${PREFIX}/share/doc/elvis \
+   --verbose
 
 .if ${FLAVOR:Mno_x11}
 CONFIGURE_ARGS+= --with-x=no
@@ -39,7 +41,7 @@ WANTLIB+= X11 Xft Xpm pthread-stubs xcb
 NO_REGRESS=Yes
 
 do-install:
-   @rm -f ${WRKSRC}/doc/ctags.man.orig
+   @rm -f ${WRKSRC}/{doc,data}/*.orig
${INSTALL_DATA_DIR} ${PREFIX}/share/elvis
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/elvis
 .for prog in elvfmt elvis ref
Index: patches/patch-data_elvis_arf
===
RCS file: patches/patch-data_elvis_arf
diff -N patches/patch-data_elvis_arf
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-data_elvis_arf5 May 2012 12:39:25 -
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Make file/syntax detection work for scripts that use env
+in their shebang line. From Debian.
+
+--- data/elvis.arf.origTue Oct 21 04:32:25 2003
 data/elvis.arf Sat May  5 13:40:29 2012
+@@ -10,6 +10,8 @@ then {
+  if os==unix  buflines = 1
+  then {
+   try 1s/\V^#! *[^ ]*\/\([^ ]\+\).*/set! bufdisplay=syntax \1/x
++  if bufdisplay==syntax env
++  then try 1s/\V^#! *[^ ]*\/[^ ]\+ \([^ ]\+\).*/set! bufdisplay=syntax \1/x
+   if bufdisplay11==syntax perl
+   then set! bufdisplay=syntax perl
+   if bufdisplay12==syntax tclsh
Index: patches/patch-data_elvis_syn
===
RCS file: patches/patch-data_elvis_syn
diff -N patches/patch-data_elvis_syn
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-data_elvis_syn5 May 2012 12:39:25 -
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Add return to the list of keywords for shell scripts.
+
+--- data/elvis.syn.origTue Oct 21 04:32:25 2003
 data/elvis.syn Sat May  5 13:33:21 2012
+@@ -209,8 +209,8 @@ keyword $* $@ $# $? $- $$ $!  | ; [ ]   ( )
+ keyword alias autoload bg break case cd continue do done echo elif else esac
+ keyword eval exec exit export false fc fg fi for getopts hash history
+ keyword if in integer jobs kill let newgrp nohup print pwd r read readonly
+-keyword select set shift source stop suspend test then time times trap type
+-keyword typeset ulimit umask unalias unset until wait whence while
++keyword return select set shift source stop suspend test then time times trap
++keyword type typeset ulimit umask unalias unset until wait whence while
+ function (
+ comment #
+ startword /?-*!.
Index: patches/patch-doc_ctags_man
===
RCS file: /cvs/ports/editors/elvis/patches/patch-doc_ctags_man,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-doc_ctags_man
--- patches/patch-doc_ctags_man 11 Dec 2008 13:58:14 -  1.1
+++ patches/patch-doc_ctags_man 5 May 2012 12:39:25 -
@@ -1,6 +1,6 @@
 $OpenBSD: patch-doc_ctags_man,v 1.1 2008/12/11 13:58:14 jasper Exp $
 doc/ctags.man.orig Tue Dec  9 12:05:48 2008
-+++ doc/ctags.man  Tue Dec  9 12:06:12 2008
+--- doc/ctags.man.orig Tue Oct 21 04:32:26 2003
 doc/ctags.man  Sat May  5 13:48:52 2012
 @@ -1,8 +1,8 @@
 -.TH CTAGS 1
 +.TH ELVCTAGS 1
@@ -13,3 +13,30 @@ $OpenBSD: patch-doc_ctags_man,v 1.1 2008
  .RB [ -D
  .IR word ]
  .RB [ -FBNgitvshlpdxra ]
+@@ -18,7 +18,7 @@ See
+ .B ctags
+ generates the
+ .I tags
+-and 
++and
+ .I refs
+ files from a group of C source files.
+ The
+@@ -84,7 +84,7 @@ and regular expressions for anything else.
+ .IP \fB-g\fR
+ For static tags, generate entries that look like global tags.
+ (I.e., never generate an extra file: attribute.)
+-This implies -s and 

  1   2   >