---------------------------------------- > Date: Fri, 4 Oct 2013 16:52:46 +0100 > From: [email protected] > To: [email protected] > Subject: Re: nouveau driver help > > On 10/04/13 15:02, Roelof Wobben wrote: >> ---------------------------------------- >>> From: [email protected] >>> To: [email protected] >>> CC: [email protected]; [email protected] >>> Subject: Re: nouveau driver help >>> Date: Fri, 4 Oct 2013 15:52:48 +0200 >>> >>> >>> (Redirecting to tech@) >>> >>> Roelof Wobben <[email protected]> writes: >>> >>>> Hello, >>> >>> Hi, >>> >>>> To enjoy Gnome 3.10 fully I need the nouveau driver. >>>> But because this is my first attempt to make a port, >>>> I wonder if someone can and is willing to help me. >>> >>> I don't think that porting nouveau is a ports people concern (but rather >>> a concern for kernel and xenocara folks). >>> >>>> I find out that FreeBSd has a port but that one is full of git >>>> commands. >>> >>> I don't understand what this means. >> >> See this Makefile: >> >> Created by: Anonymous <[email protected]> >> 2 # $FreeBSD$ >> 3 >> 4 PORTNAME= xf86-video-nouveau >> 5 PORTVERSION= 0.0.10.${SNAPDATE} >> 6 DISTVERSIONSUFFIX=.${SNAPREV} >> 7 PORTREVISION= 3 >> 8 CATEGORIES= x11-drivers >> 9 MASTER_SITES= ftp://ftp.lissyara.su/users/Guest/distfiles/ >> 10 >> 11 MAINTAINER= [email protected] >> 12 COMMENT= Free nouveau display driver for nvidia-based cards >> 13 >> 14 XORG_CAT= driver >> 15 USE_XORG= xf86driproto glproto >> 16 MAN4= nouveau.4x >> 17 >> 18 >> 19 # also doesn't work with mesa (libGL) version higher then 7.4.x >> 20 IGNORE= Not supported, missing kernel support. use the nvidia driver. >> 21 >> 22 NO_STAGE= yes >> 23 post-configure: >> 24 ${REINPLACE_CMD} '/NV_DRIVER_DATE/s/".*"/"${SNAPDATE}.${SNAPREV}"/' >> ${WRKSRC}/config.h >> 25 >> 26 post-install: .SILENT >> 27 ${ECHO_MSG} >> 28 ${CAT} ${PKGMESSAGE} >> 29 ${ECHO_MSG} >> 30 >> 31 GIT_WORK= ${WRKDIR}/${PORTNAME}.git-clone >> 32 GIT_DATE= $$(date -ur$$(git log --pretty=format:%ct -1 ) +%Y%m%d) >> 33 GIT_REV= $$(git log --pretty=format:%h -1) >> 34 NEWDISTNAME= >> ${DISTNAME:S/${SNAPDATE}.${SNAPREV}$$//}${GIT_DATE}.${GIT_REV} >> 35 >> 36 maint-gen-distfile: >> 37 git clone git://anongit.freedesktop.org/nouveau/xf86-video-nouveau \ >> 38 ${GIT_WORK} > Clone a copy of the git repository > >> 39 >> 40 ( cd ${GIT_WORK}; \ >> 41 git log --stat>ChangeLog; \ > Create a ChangeLog from git log - redundant... > >> 42 autoreconf -if; \ >> 43 ${TAR} cjf ${DISTDIR}/${DIST_SUBDIR}/${NEWDISTNAME}${EXTRACT_SUFX} \ >> 44 --exclude '.git*' --exclude autogen.sh \ >> 45 --exclude autom4te.cache \ >> 46 -s "|${GIT_WORK}|${NEWDISTNAME}|" \ >> 47 ${GIT_WORK}; \ > Create a tar file of the git clone directory > >> 48 ${ECHO_CMD} "SNAPDATE= ${GIT_DATE}" \ >> 49>${MASTERDIR}/Makefile.rev; \ >> 50 ${ECHO_CMD} "SNAPREV= ${GIT_REV}" \ >> 51>>${MASTERDIR}/Makefile.rev ) > Save VERSION to fetch in Makefile.Rev > >> 52 >> 53 ${RM} -rf ${GIT_WORK} > Remove the git clone directory > >> 54 >> 55 .include "Makefile.rev" >> 56 .include <bsd.port.mk> >> >> . >> > Download this - > > http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/snapshot/xf86-video-nouveau-1.0.9.tar.gz > > an already created tar file for a defined version rather than using tar file > of snapshot by > creating a temporary clone of the git repository > > The main-gen-distfile in the Makefile is only meant to be run by the > maintainer to create a > tar file for others building the port. Possibly they are building regular > snapshots, if that's > the case then it's too unstable to consider at this time. The Makefile.Rev is > created to > contain the SNAPREV/SNAPDATE to tell the Makefile the tar file to be fetched > to build the port. > > From the log since 1.0.9 there have only been 3 changes in git, total 8lines, > those could be > added as patches to the extracted 1.0.9 tar file, looks like the whole git > thing is a waste > of time in the Makefile. > > These are the three patches to apply to the extracted tar file > > diff --git a/src/nouveau_xv.c b/src/nouveau_xv.c > index 5569b7c..e19378d 100644 > --- a/src/nouveau_xv.c > +++ b/src/nouveau_xv.c > @@ -25,7 +25,9 @@ > #include "config.h" > #endif > +#ifdef __SSE2__ > #include <immintrin.h> > +#endif > #include "xf86xv.h" > #include <X11/extensions/Xv.h> > > diff --git a/src/drmmode_display.c b/src/drmmode_display.c > index 570a9e4..3563b2a 100644 > --- a/src/drmmode_display.c > +++ b/src/drmmode_display.c > @@ -1098,6 +1098,10 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr > drmmode, int num) > if (koutput->connector_type>= NUM_OUTPUT_NAMES) > snprintf(name, 32, "Unknown%d-%d", koutput->connector_type, > koutput->connector_type_id); > + else if (pScrn->is_gpu) > + snprintf(name, 32, "%s-%d-%d", > + output_names[koutput->connector_type], pScrn->scrnIndex - GPU_SCREEN_OFFSET > + 1, > + koutput->connector_type_id); > else > snprintf(name, 32, "%s-%d", > output_names[koutput->connector_type], > > diff --git a/src/drmmode_display.c b/src/drmmode_display.c > index 3563b2a..cc141a0 100644 > --- a/src/drmmode_display.c > +++ b/src/drmmode_display.c > @@ -1098,10 +1098,12 @@ drmmode_output_init(ScrnInfoPtr pScrn, drmmode_ptr > drmmode, int num) > if (koutput->connector_type>= NUM_OUTPUT_NAMES) > snprintf(name, 32, "Unknown%d-%d", koutput->connector_type, > koutput->connector_type_id); > +#ifdef NOUVEAU_PIXMAP_SHARING > else if (pScrn->is_gpu) > snprintf(name, 32, "%s-%d-%d", > output_names[koutput->connector_type], pScrn->scrnIndex - GPU_SCREEN_OFFSET + > 1, > koutput->connector_type_id); > +#endif > else > snprintf(name, 32, "%s-%d", > output_names[koutput->connector_type], > genera > >
I looked at the nouveau page and they say that the tar file are dailly snapshots. Are there examples of a good Makefile which is based on git. Roelof
