Date: Mon, 26 May 2014 19:20:41 +0000 (UTC) From: Thierry Thomas <thierry@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r355433 - in head/french/aster: . files Message-ID: <201405261920.s4QJKfGj020462@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: thierry Date: Mon May 26 19:20:41 2014 New Revision: 355433 URL: http://svnweb.freebsd.org/changeset/ports/355433 QAT: https://qat.redports.org/buildarchive/r355433/ Log: Unbreak and make packageable. Added: head/french/aster/files/bibc_utilitai_mempid.c.diff (contents, props changed) Modified: head/french/aster/Makefile head/french/aster/files/patch-as_setup.py head/french/aster/pkg-plist Modified: head/french/aster/Makefile ============================================================================== --- head/french/aster/Makefile Mon May 26 19:20:37 2014 (r355432) +++ head/french/aster/Makefile Mon May 26 19:20:41 2014 (r355433) @@ -3,7 +3,7 @@ PORTNAME= aster DISTVERSION= ${ASTER_DISTVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= french cad MAINTAINER= thierry@FreeBSD.org @@ -43,7 +43,6 @@ RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/Gnupl ${SHELL_INSTALL_ASTER}:${PORTSDIR}/shells/${SHIADEP} \ ${LOCALBASE}/aster/ASTK/ASTK_SERV:${PORTSDIR}/cad/astk-serveur -BROKEN= WIP - it builds and runs, but yet some rough edges USES= bison fortran tk USE_PYTHON= 2 # >2.5 and <3.0 HAS_CONFIGURE= yes @@ -67,10 +66,6 @@ INTERACTIVE_SCRIPTS= check_compilers.py .include "${.CURDIR}/../../french/aster/bsd.aster.mk" .include <bsd.port.pre.mk> -.if !exists(/compat/linux/proc/) -IGNORE= /compat/linux/proc/ must be mounted to build elements # Fixme -.endif - .if ${ARCH} == "i386" FLAGARCH= -DP_LINUX -DLINUX .else @@ -223,6 +218,7 @@ pre-configure: ${WRKSRC}/products.py ${REINPLACE_CMD} -e "s|'gfortran'|'${FC}'|g;s|'gcc'|'${CC}'|g" \ -e "s|'g++'|'${CXX}'|g" ${WRKSRC}/check_compilers.py + ${REINPLACE_CMD} -e 's|%%FILESDIR%%|${FILESDIR}|' ${WRKSRC}/as_setup.py .for sh in ${BASH2RC} ${REINPLACE_CMD} -e 's|/bin/bash|${SHELL_INSTALL_ASTER}|' ${WRKSRC}/${sh} .endfor @@ -256,7 +252,7 @@ pre-configure: ${ECHO_CMD} "OPT_ENV = 'verbose=True'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_SCOTCH = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_METIS = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg - ${ECHO_CMD} "INCLUDEDIR = ['${LOCALBASE}/include/metis', ]" \ + ${ECHO_CMD} "INCLUDEDIR = ['${LOCALBASE}/include', '${LOCALBASE}/include/metis', ]"\ >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "HOME_MUMPS = '${LOCALBASE}'" >> ${WRKSRC}/setup.cfg .if ${MUMPS_PORT} == "mumps-mpich" @@ -267,7 +263,8 @@ pre-configure: ${ECHO_CMD} "CXX='${CXX}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "LD='${FC}'" >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "F90='${FC}'" >> ${WRKSRC}/setup.cfg - ${ECHO_CMD} "MATHLIB='${lib_math} ${LDFLAGS} -lgfortran -lm'" >> ${WRKSRC}/setup.cfg + ${ECHO_CMD} "MATHLIB='${lib_math} ${LDFLAGS} -lgfortran -lm -lkvm'" \ + >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "OTHERLIB='-Xlinker -export-dynamic -lutil ${PTHREAD_LIBS} -lz'" \ >> ${WRKSRC}/setup.cfg ${ECHO_CMD} "SYSLIB='${PTHREAD_LIBS} -lz'" >> ${WRKSRC}/setup.cfg @@ -369,6 +366,8 @@ post-install: -d ${PREFIX} -f ${inst_dir:S|${PREFIX}/||}) (cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \ -d ${PREFIX} -f ${inst_dir:S|${PREFIX}/||}) + ${CP} -p ${STAGEDIR}${inst_dir}/${VE}/bin/aster \ + ${STAGEDIR}${inst_dir}/${VE}/bin/asterd ${STRIP_CMD} ${STAGEDIR}${inst_dir}/${VE}/bin/aster ${SED} -e 's|%%VER%%|${VE}|' < ${FILESDIR}/astout.export \ > ${STAGEDIR}${inst_dir}/${VE}/astout.export @@ -378,6 +377,9 @@ post-install: ${LN} -fs ${LOCALBASE}/bin/${outil} ${STAGEDIR}${tools_dir}/${outil} .endfor .if !defined(WITHOUT_ASTK_CLI) + ${MKDIR} ${STAGEDIR}${PREFIX}/aster/ASTK/ASTK_SERV/etc/codeaster/astkrc + ${LN} -fs ${ASTKDIR}/etc/astkrc/* \ + ${STAGEDIR}${PREFIX}/aster/ASTK/ASTK_SERV/etc/codeaster/astkrc . for outil in astk bsf ${LN} -fs ${ASTKDIR}/bin/${outil} ${STAGEDIR}${tools_dir}/${outil} . endfor Added: head/french/aster/files/bibc_utilitai_mempid.c.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/french/aster/files/bibc_utilitai_mempid.c.diff Mon May 26 19:20:41 2014 (r355433) @@ -0,0 +1,79 @@ +--- bibc/utilitai/mempid.c.orig 2013-12-16 09:25:29.000000000 +0100 ++++ bibc/utilitai/mempid.c 2014-05-20 22:28:25.000000000 +0200 +@@ -19,7 +19,14 @@ + #include "aster.h" + + #ifdef _POSIX +-#include <fcntl.h> ++# ifdef __FreeBSD__ ++# include <kvm.h> ++# include <sys/param.h> ++# include <sys/sysctl.h> ++# include <sys/user.h> ++# include <err.h> ++# endif ++# include <fcntl.h> + #endif + + /* +@@ -40,9 +47,48 @@ + pid_t numpro; + #ifdef _POSIX + pid_t getpid(void); +- ++ + numpro = getpid(); + ++# ifdef __FreeBSD__ ++/* ++** FreeBSD and some others without /proc ? ++*/ ++ ++ ++#define B2K(x) ((x) >> 10) /* bytes to kbytes */ ++#define P2K(x) ((x) << (PAGE_SHIFT - 10)) /* pages to kbytes */ ++ ++ char errbuf[_POSIX2_LINE_MAX]; ++ struct kinfo_proc *kp; ++ kvm_t *kd; ++ int count; ++ kd = kvm_openfiles(NULL, "/dev/null", NULL, O_RDONLY, errbuf); ++ if (kd == NULL) ++ errx(1, "kvm_openfiles: %s", errbuf); ++ ++ kp = kvm_getprocs(kd, KERN_PROC_PID, numpro, &count); ++ if (kp == NULL) { ++ (void)fprintf(stderr, "kvm_getprocs: %s", kvm_geterr(kd)); ++ kvm_close(kd); ++ return -1; ++ } ++ ++ kvm_close(kd); ++ ++ /* VmData */ ++ val[0] = P2K((uintmax_t)kp->ki_dsize); ++ /* VmSize */ ++ val[1] = B2K((uintmax_t)kp->ki_size); ++ /* VmPeak - not defined in /compat/linux/proc/pid/status */ ++ val[2] = -1; ++ /* VmRSS */ ++ val[3] = P2K((uintmax_t)kp->ki_rssize); ++ /* VmStk */ ++ lmem = P2K((uintmax_t)kp->ki_ssize); ++ ++# else /* Linux */ ++ + sprintf(filename, "/proc/%ld/status", (long)numpro); + fd = open(filename, O_RDONLY, 0); + if (fd==-1) return -1; +@@ -68,7 +114,10 @@ + + S=strstr(sbuf,"VmStk:")+7; + lmem = atoi(S); ++# endif ++ + return lmem ; ++ + #else + /* + ** Pour retourner des valeurs sous Windows Modified: head/french/aster/files/patch-as_setup.py ============================================================================== --- head/french/aster/files/patch-as_setup.py Mon May 26 19:20:37 2014 (r355432) +++ head/french/aster/files/patch-as_setup.py Mon May 26 19:20:41 2014 (r355433) @@ -1,5 +1,5 @@ --- as_setup.py.orig 2014-03-05 09:41:19.000000000 +0100 -+++ as_setup.py 2014-05-12 19:32:12.000000000 +0200 ++++ as_setup.py 2014-05-24 15:16:48.000000000 +0200 @@ -45,6 +45,8 @@ import compileall import imp @@ -9,7 +9,15 @@ import distutils.sysconfig as SC from subprocess import Popen, PIPE -@@ -516,6 +518,46 @@ +@@ -408,6 +410,7 @@ + archive filename !), + extract_as : rename content. + """ ++ from as_setup import (SYSTEM) + self._print(self._fmt_title % _('Extraction')) + if kargs.get('external')<>None: + self._call_external(**kargs) +@@ -516,6 +519,47 @@ if iextr_as: self.Clean(to_delete=path) @@ -22,6 +30,18 @@ + if nl > 0: + ligne =ligne.replace("self.check_cc", "# self.check_cc") + sys.stdout.write(ligne) ++ file2patch = os.path.join(self.workdir, self.content, 'waftools/scotch.py') ++ self._print('FreeBSD patch: int64_t missing => modify ' + file2patch) ++ for ligne in fileinput.input(file2patch, inplace=1): ++ nl = 0 ++ nl = string.find(ligne, 'include "scotch.h"') ++ if nl > 0: ++ sys.stdout.write("#include <sys/types.h>\n") ++ nl = 0 ++ nl = string.find(ligne, "stdio.h stdlib.h scotch.h") ++ if nl > 0: ++ ligne =ligne.replace("stdlib.h", "stdlib.h sys/types.h") ++ sys.stdout.write(ligne) + file2patch = os.path.join(self.workdir, self.content, 'bibc/utilitai/hpalloc.c') + self._print('FreeBSD patch: stdlib + no mallopt => modify ' + file2patch) + for ligne in fileinput.input(file2patch, inplace=1): @@ -35,22 +55,11 @@ + if nl > 0: + ligne =ligne.replace("malloc.h", "stdlib.h") + sys.stdout.write(ligne) -+ file2patch = os.path.join(self.workdir, self.content, 'bibfor/wscript') -+ self._print('FreeBSD patch: -O2 (GCC Bug 51267) => modify ' + file2patch) -+ for ligne in fileinput.input(file2patch, inplace=1): -+ nl = 0 -+ nl = string.find(ligne, "-O2") -+ if nl > 0: -+ ligne =ligne.replace("-O2", "-O0") -+ sys.stdout.write(ligne) + file2patch = os.path.join(self.workdir, self.content, 'bibc/utilitai/mempid.c') + self._print('FreeBSD patch: VmData VmSize and VmPeak in /proc/%pid%/status ' + file2patch) -+ for ligne in fileinput.input(file2patch, inplace=1): -+ nl = 0 -+ nl = string.find(ligne, "/proc") -+ if nl > 0: -+ ligne =ligne.replace("/proc", "/compat/linux/proc") -+ sys.stdout.write(ligne) ++ system=SYSTEM({ 'verbose' : True, 'debug' : False }, ++ **{'maxcmdlen' : 2**31, 'log' : self}) ++ iret, out = system.local_shell('cd ' + os.path.join(self.workdir, self.content) + '&& /usr/bin/patch -p0 < ' + '%%FILESDIR%%' + '/bibc_utilitai_mempid.c.diff') + # End of FreeBSD patches + #------------------------------------------------------------------------------- Modified: head/french/aster/pkg-plist ============================================================================== --- head/french/aster/pkg-plist Mon May 26 19:20:37 2014 (r355432) +++ head/french/aster/pkg-plist Mon May 26 19:20:41 2014 (r355433) @@ -1,4 +1,5 @@ aster/%%VE%%/bin/aster +aster/%%VE%%/bin/asterd aster/%%VE%%/include/aster/aster.h aster/%%VE%%/include/aster/aster_core.h aster/%%VE%%/include/aster/aster_depend.h @@ -11648,6 +11649,10 @@ aster/asrun/utils.pyo aster/bin/as_run aster/bin/auto_update.cron aster/bin/parallel_cp +%%ASTK_CLIENT%%aster/ASTK/ASTK_SERV/etc/codeaster/astkrc/ASTKRC_INFO.txt +%%ASTK_CLIENT%%aster/ASTK/ASTK_SERV/etc/codeaster/astkrc/config_serveurs +%%ASTK_CLIENT%%aster/ASTK/ASTK_SERV/etc/codeaster/astkrc/outils +%%ASTK_CLIENT%%aster/ASTK/ASTK_SERV/etc/codeaster/astkrc/prefs %%ASTK_CLIENT%%aster/outils/astk %%ASTK_CLIENT%%aster/outils/bsf %%EFICAS%%aster/outils/eficas
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405261920.s4QJKfGj020462>