diff options
-rw-r--r-- | ports-mgmt/Makefile | 1 | ||||
-rw-r--r-- | ports-mgmt/synth/Makefile | 57 | ||||
-rw-r--r-- | ports-mgmt/synth/distinfo | 4 | ||||
-rw-r--r-- | ports-mgmt/synth/pkg-descr | 23 | ||||
-rw-r--r-- | ports-mgmt/synth/pkg-plist | 6 |
5 files changed, 91 insertions, 0 deletions
diff --git a/ports-mgmt/Makefile b/ports-mgmt/Makefile index 3fac558ccdc2..fb288afeca32 100644 --- a/ports-mgmt/Makefile +++ b/ports-mgmt/Makefile @@ -64,6 +64,7 @@ SUBDIR += py-pytoport SUBDIR += py-skog SUBDIR += symports + SUBDIR += synth SUBDIR += tinderbox SUBDIR += tinderbox-devel SUBDIR += wanted-ports diff --git a/ports-mgmt/synth/Makefile b/ports-mgmt/synth/Makefile new file mode 100644 index 000000000000..8f7d27d5a39a --- /dev/null +++ b/ports-mgmt/synth/Makefile @@ -0,0 +1,57 @@ +# Created by: John Marino <marino@FreeBSD.org> +# $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 <bsd.port.mk> diff --git a/ports-mgmt/synth/distinfo b/ports-mgmt/synth/distinfo new file mode 100644 index 000000000000..052d9c9f308b --- /dev/null +++ b/ports-mgmt/synth/distinfo @@ -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 diff --git a/ports-mgmt/synth/pkg-descr b/ports-mgmt/synth/pkg-descr new file mode 100644 index 000000000000..9c43e0dd4a93 --- /dev/null +++ b/ports-mgmt/synth/pkg-descr @@ -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 diff --git a/ports-mgmt/synth/pkg-plist b/ports-mgmt/synth/pkg-plist new file mode 100644 index 000000000000..06cd9512e0df --- /dev/null +++ b/ports-mgmt/synth/pkg-plist @@ -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 |