> On 24 Nov, 2017, at 21:02, blubee blubeeme <[email protected]> wrote:
> 
> the x11 was just the first example, there's a total of about 15 different 
> projects
> 
> OPTIONS_DEFINE=       x11 x11_rawfb x11_gl2 x11_gl3   \
>               allegro5 gdi gdip glfw2 glfw3   \
>               sdl_gl2 sdl_gl3 sdl_gles2       \
>               sfml_gl2 sfml_gl3
> 
> there's also a few direct X projects but those do not build on FreeBSD as far 
> as I know. Not only that but the projects are different, for example glfw, 
> sdl and a few others support HiDPI support, that means that I can build GUI 
> that are scaled properly based on the resolution of my screen and not look 
> super tiny. the x11 versions doesn't support those scaling options.

Please, "blubee," stop top-posting. FreeBSD lists are bottom-post only.

This is what OPTIONS helpers are for.

do-install-X11-on:
        ${INSTALL_PROGRAM} ....

do-install-X11_RAWFB-on:
        ${INSTALL_PROGRAM} ....

Also. Options MUST be uppercase. There are no exceptions to this.

# Adam


-- 
Adam Weinberger
[email protected]
https://www.adamw.org


> 
> 
> On Sat, Nov 25, 2017 at 11:57 AM, Adam Weinberger <[email protected]> wrote:
> > On 24 Nov, 2017, at 20:42, blubee blubeeme <[email protected]> wrote:
> >
> > I apologize for not being clear, I can get really long winded and try to 
> > control myself.
> > The project that I want to port is nuklear which is a single header gui 
> > library: https://github.com/vurtun/nuklear
> >
> > If you look at the source code then demo folder: 
> > https://github.com/vurtun/nuklear/tree/master/demo
> > you'll see there are demos for practically every rendering backend from x11 
> > to glfw.
> >
> > I like this because it makes GUI very easy and I can avoid a lot of the 
> > troubles with bigger packages such as QT, Gnome, etc...
> >
> > Let's look at the simplest project which is demo/x11: 
> > https://github.com/vurtun/nuklear/tree/master/demo/x11
> >
> > There's the makefile and main.c and the nuklear_xlib.h header.
> >
> > The makefile is very straight forward: 
> > https://github.com/vurtun/nuklear/blob/master/demo/x11/Makefile
> > but it doesn't fit in with the FreeBSD build system or at least I don't 
> > really get how to make things build smoothly.
> >
> > My current ports makefile looks like this:
> >
> > OPTIONS_DEFINE=       x11
> >
> > x11_DESC=     Nuklear X11 Demo
> >
> > USE_GITHUB=   yes
> > GH_ACCOUNT=   vurtun
> > GH_TAGNAME=   36a396f
> >
> > .include <bsd.port.pre.mk>
> > do-build:
> > .if ${PORT_OPTIONS:Mx11}
> >       @(${DO_MAKE_BUILD} -C ${WRKSRC}/demo/x11/)
> > .endif
> > .include <bsd.port.post.mk>
> >
> > Initially I was using replace cmd and sed to change parts of the files but 
> > that got really tedious so I made a patch file:
> >
> > --- demo/x11/Makefile.orig    2017-11-24 21:08:07 UTC
> > +++ demo/x11/Makefile
> > @@ -1,8 +1,8 @@
> >  # Install
> > -BIN = zahnrad
> > +BIN = x11-zahnrad
> >
> >  # Flags
> > -CFLAGS = -std=c89 -pedantic -O2
> > +CFLAGS = -std=c89 -pedantic -O2 `pkg-config --cflags --libs x11`
> >
> >  SRC = main.c
> >  OBJ = $(SRC:.c=.o)
> >
> > That's obviously wrong, maybe I'll have to change the ${WRKSRC} depending 
> > on the options that's selected
> > or
> > write a cmake file and get that upstreamed to the developer.
> >
> > I'd think cmake might be a better option since it's easier to maintain in 
> > the long run.
> >
> > Hope this clarifies what I'm trying to do and I'd still like some feedback 
> > as to which path the community would recommend; writing a cmake file, make 
> > many patch files and deal with that possibly breaking in the future or some 
> > other options that I didn't think about yet?
> 
> The error that you gave earlier says that there's no Makefile in ${WRKSRC}. 
> The default do-install essentially runs "make -C ${WRKSRC} install", so 
> without a Makefile, it produces an error.
> 
> Writing cmake files seems pretty overkill. Your port appears to build just 
> one file. So just make your own do-install: target and install the files 
> yourself. There are 5,995 examples of this in the ports tree, and the 
> Porter's Handbook has an entire section on installing files.
> 
> # Adam
> 
> 
> --
> Adam Weinberger
> [email protected]
> https://www.adamw.org
> 
> 

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"

Reply via email to