From owner-svn-ports-head@freebsd.org Sun Jan 10 21:18:17 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31177A6A8E2; Sun, 10 Jan 2016 21:18:17 +0000 (UTC) (envelope-from marino@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B7C01997; Sun, 10 Jan 2016 21:18:16 +0000 (UTC) (envelope-from marino@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0ALIGaV063225; Sun, 10 Jan 2016 21:18:16 GMT (envelope-from marino@FreeBSD.org) Received: (from marino@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0ALIFtm063219; Sun, 10 Jan 2016 21:18:15 GMT (envelope-from marino@FreeBSD.org) Message-Id: <201601102118.u0ALIFtm063219@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: marino set sender to marino@FreeBSD.org using -f From: John Marino Date: Sun, 10 Jan 2016 21:18:15 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r405749 - in head/ports-mgmt: . synth X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jan 2016 21:18:17 -0000 Author: marino Date: Sun Jan 10 21:18:15 2016 New Revision: 405749 URL: https://svnweb.freebsd.org/changeset/ports/405749 Log: Add new port: ports-mgmt/synth Synth is a custom packge repository builder for FreeBSD and DragonFly. It is intended to replace Portmaster, portupgrade, and poudriere for the average user. It is simple to learn (the powerful options are limited in number) and user-friendly, but it is extremely fast due to its parallel building capability. It will "drop-in" on any system as it leverages the stock pkg(8) facilities. All ports are built in a clean environment, so it is finally safe to build ports as needed on a live system. The default profile is the system itself, not a new jail, which can be a valuable feature for some environments. (more text on pkg-desc). It's ready for wider testing now. Added: head/ports-mgmt/synth/ head/ports-mgmt/synth/Makefile (contents, props changed) head/ports-mgmt/synth/distinfo (contents, props changed) head/ports-mgmt/synth/pkg-descr (contents, props changed) head/ports-mgmt/synth/pkg-plist (contents, props changed) Modified: head/ports-mgmt/Makefile Modified: head/ports-mgmt/Makefile ============================================================================== --- head/ports-mgmt/Makefile Sun Jan 10 21:09:57 2016 (r405748) +++ head/ports-mgmt/Makefile Sun Jan 10 21:18:15 2016 (r405749) @@ -64,6 +64,7 @@ SUBDIR += py-pytoport SUBDIR += py-skog SUBDIR += symports + SUBDIR += synth SUBDIR += tinderbox SUBDIR += tinderbox-devel SUBDIR += wanted-ports Added: head/ports-mgmt/synth/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ports-mgmt/synth/Makefile Sun Jan 10 21:18:15 2016 (r405749) @@ -0,0 +1,57 @@ +# Created by: John Marino +# $FreeBSD$ + +PORTNAME= synth +PORTVERSION= 0.98 +DISTVERSIONPREFIX= v +CATEGORIES= ports-mgmt + +MAINTAINER= marino@FreeBSD.org +COMMENT= Custom package repository builder for FreeBSD and DragonFly + +LICENSE= ISCL +LICENSE_FILE= ${WRKSRC}/License.txt + +#BUILD_DEPENDS= ${LOCALBASE}/lib/gnat/util.gpr:${PORTSDIR}/devel/ada-util \ +# ${LOCALBASE}/lib/gnat/${IFM}.gpr:${PORTSDIR}/misc/${IFM} \ +# ${LOCALBASE}/lib/gnat/${AC}.gpr:${PORTSDIR}/devel/${AC} + +USES= ada:6 ncurses:port +USE_GITHUB= yes +GH_ACCOUNT= jrmarino +GH_PROJECT= synth_external:bundle +GH_TAGNAME= v1.3:bundle + +# When framework is moved to Ada6, the ada-util and ini-file-manager +# libraries can be used as prebuilt (switch default.gpr url) +# ncurses:port is required for FreeBSD 11 and DragonFly (base ncurses +# malfunctions in that it won't restore TTY mode correctly) + +COBJFILES= ncurses_compat.o c_varargs_to_ada.o c_threaded_variables.o + +post-extract: + @${MV} ${WRKSRC_bundle}/external ${WRKSRC} + @${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|" \ + ${WRKSRC}/external/lib/gnat/adacurses.gpr \ + ${WRKSRC}/src/definitions.ads + +do-build: + # To avoid requiring gprbuild as a dependency, compile C manually +.for csrc in ${COBJFILES:R} + (cd ${WRKSRC}/external/include/adacurses && ${SETENV} ${MAKE_ENV} \ + gcc -I. -c ${csrc}.c -o ../../build/adacurses/${csrc}.o) +.endfor + (cd ${WRKSRC}/synthexec && ${SETENV} ${MAKE_ENV} \ + gcc synthexec.c -o ../build/synthexec) + (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gnatmake -P default) + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/build/synth \ + ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/build/synthexec \ + ${STAGEDIR}${PREFIX}/libexec + ${INSTALL_MAN} ${WRKSRC}/synth.1 ${STAGEDIR}${MANPREFIX}/man/man1 + ${MKDIR} ${STAGEDIR}/var/log/synth \ + ${STAGEDIR}/var/synth/live_packages + +.include Added: head/ports-mgmt/synth/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ports-mgmt/synth/distinfo Sun Jan 10 21:18:15 2016 (r405749) @@ -0,0 +1,4 @@ +SHA256 (jrmarino-synth-v0.98_GH0.tar.gz) = 4289e70f56c545f318695a2ee965e48181bd7f16659135640c419ea5e213c442 +SIZE (jrmarino-synth-v0.98_GH0.tar.gz) = 73424 +SHA256 (jrmarino-synth_external-v1.3_GH0.tar.gz) = 2afc03e494d2394446eabdb5244967c202a79b449c7cad7ea67a87807cc25f44 +SIZE (jrmarino-synth_external-v1.3_GH0.tar.gz) = 209283 Added: head/ports-mgmt/synth/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ports-mgmt/synth/pkg-descr Sun Jan 10 21:18:15 2016 (r405749) @@ -0,0 +1,23 @@ +Synth is a custom packge repository builder for FreeBSD and DragonFly. + +It is intended to replace Portmaster, portupgrade, and poudriere for +the average user. It is simple to learn (the powerful options are +limited in number) and user-friendly, but it is extremely fast due +to its parallel building capability. It will "drop-in" on any system +as it leverages the stock pkg(8) facilities. All ports are built +in a clean environment, so it is finally safe to build ports as +needed on a live system. The default profile is the system itself, not +a new jail, which can be a valuable feature for some environments. + +To bring a system up-to-date only requires one command after the ports +tree is updated: + + > synth upgrade-system + +During the building process, a curses-based display will show the status +of all the builders and the entire bulk run process. Synth is intended +to be grasped and utilized by novice users within minutes, but offers +most of the same powerful features as Poudriere for the power users. +Synth requires no preparation; it works immediately upon installation. + +WWW: https://github.com/jrmarino/synth Added: head/ports-mgmt/synth/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ports-mgmt/synth/pkg-plist Sun Jan 10 21:18:15 2016 (r405749) @@ -0,0 +1,6 @@ +bin/synth +libexec/synthexec +man/man1/synth.1.gz +@dir /var/log/synth +@dir /var/synth +@dir /var/synth/live_packages