Index: Mk/Uses/cargo.mk =================================================================== --- /dev/null +++ Mk/Uses/cargo.mk @@ -0,0 +1,213 @@ +# $FreeBSD$ +# +# This file contains logic to ease porting of Rust packages or binaries using +# the `cargo` command. +# +# Feature: cargo +# Usage: USES=cargo +# Valid ARGS: none +# +# MAINTAINER: ports@FreeBSD.org + +.if !defined(_INCLUDE_USES_CARGO_MK) +_INCLUDE_USES_CARGO_MK= yes + +.if !empty(cargo_ARGS) +IGNORE+= USES=cargo takes no arguments +.endif + +CARGO_CMD?= ${LOCALBASE}/bin/cargo + +# List of static dependencies. The format is cratename-version. +# CARGO_CRATES will be downloaded from MASTER_SITES_CRATESIO. +CARGO_CRATES?= + +# List of features to build (space separated list). +CARGO_FEATURES?= + +# List of crates to update (no version). +# Used to override a dependency with newer version. +CARGO_CRATES_UPDATE?= + +# Name of the local directory for vendoring crates. +CARGO_VENDOR_DIR?= ${WRKSRC}/cargo-crates + +# Default path for cargo manifest. +CARGO_CARGOTOML?= ${WRKSRC}/Cargo.toml + +# Define MASTER_SITES_CRATESIO for crates.io +MASTER_SITES_CRATESIO= https://crates.io/api/v1/crates + +# Save crates inside ${DISTDIR}/cargo by default. +CARGO_DIST_SUBDIR?= cargo + +# Generate list of DISTFILES. +.for _crate in ${CARGO_CRATES} +MASTER_SITES+= ${MASTER_SITES_CRATESIO}/${_crate:C/-[^-]*$//}/${_crate:C/^.*-//}/download?dummy=/:cargo_${_crate:S/-//g:S/.//g} +DISTFILES+= ${CARGO_DIST_SUBDIR}/${_crate}.tar.gz:cargo_${_crate:S/-//g:S/.//g} +.endfor + +# Build dependencies. + +# devel/cargo-generate-vendor is mandatory for hooks. +PATCH_DEPENDS+= cargo-generate-vendor:devel/cargo-generate-vendor +BUILD_DEPENDS+= cargo-generate-vendor:devel/cargo-generate-vendor + +CARGO_BUILDDEP?= yes +.if ${CARGO_BUILDDEP:tl} == "yes" +BUILD_DEPENDS+= cargo:devel/cargo rustc:lang/rust +.endif + +# Location of cargo binary (default to devel/cargo binary) +CARGO_CARGO_BIN?= ${LOCALBASE}/bin/cargo + +# Location of the cargo output directory. +CARGO_TARGET_DIR?= ${WRKDIR}/target + +# Environment for cargo +# - CARGO_HOME: local cache of the registry index +# - CARGO_BUILD_JOBS: configure number of jobs to run +# - CARGO_TARGET_DIR: location of where to place all generated artifacts +# - RUSTC: path of rustc binary (default to lang/rust) +# - RUSTDOC: path of rustdoc binary (default to lang/rust) +# - RUSTFLAGS: custom flags to pass to all compiler invocations that Cargo performs +# +# XXX LDFLAGS => -C link-arg=$1 (via RUSTFLAGS) +CARGO_ENV+= \ + CARGO_HOME=${WRKDIR}/cargo-home \ + CARGO_BUILD_JOBS=${MAKE_JOBS_NUMBER} \ + CARGO_TARGET_DIR=${CARGO_TARGET_DIR} \ + RUSTC=${LOCALBASE}/bin/rustc \ + RUSTDOC=${LOCALBASE}/bin/rustdoc \ + RUSTFLAGS="${RUSTFLAGS}" + +# Helper to shorten cargo calls. +CARGO_CARGO_RUN= \ + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${CARGO_ENV} \ + ${CARGO_CARGO_BIN} + +# User arguments for cargo targets. +CARGO_BUILD_ARGS?= +CARGO_INSTALL_ARGS?= +CARGO_TEST_ARGS?= + +# Manage crate features. +.if !empty(CARGO_FEATURES) +CARGO_BUILD_ARGS+= --features='${CARGO_FEATURES}' +CARGO_TEST_ARGS+= --features='${CARGO_FEATURES}' +.endif + +# Helper for updating a crate. +CARGO_CARGO_UPDATE= \ + ${CARGO_CARGO_RUN} update \ + --manifest-path ${CARGO_CARGOTOML} \ + --verbose + +# Use module targets ? +CARGO_BUILD?= yes +CARGO_INSTALL?= yes +CARGO_TEST?= yes +CARGO_CONFIGURE?= yes + +_USES_extract+= 600:cargo-extract +cargo-extract: +# post-extract target for preparing crates directory. It will put all +# crates in the local crates directory. + @${ECHO_MSG} "moving crates to ${CARGO_VENDOR_DIR}" + @${MKDIR} ${CARGO_VENDOR_DIR} +.for _crate in ${CARGO_CRATES} + @${MV} ${WRKDIR}/${_crate} ${CARGO_VENDOR_DIR}/${_crate} +.endfor + +_USES_patch+= 600:cargo-patch +cargo-patch: +# post-patch target for generating metadata of crates. +.for _crate in ${CARGO_CRATES} + @${ECHO_MSG} "Generating metadata for ${_crate}" + @${LOCALBASE}/bin/cargo-generate-vendor \ + ${DISTDIR}/${_crate:C/-[^-]*$//}/${_crate:C/^.*-//}/download \ + ${CARGO_VENDOR_DIR}/${_crate} +.endfor + +.if !target(do-configure) && ${CARGO_CONFIGURE:tl} == "yes" + +# Update crates: place all crates on the same command line. +.if !empty(CARGO_CRATES_UPDATE) +_CARGO_configure_CRATES_UPDATE+= ${CARGO_CARGO_UPDATE} +.for _crate in ${CARGO_CRATES_UPDATE} +_CARGO_configure_CRATES_UPDATE+= --package ${_crate} +.endfor +_CARGO_configure_CRATES_UPDATE+= ; +.endif + +# configure hook. Place a config file for overriding crates-io index +# by local source directory. +do-configure: + @${MKDIR} ${WRKDIR}/.cargo + @${ECHO_CMD} "[source.cargo]" > ${WRKDIR}/.cargo/config + @${ECHO_CMD} "directory = '${CARGO_VENDOR_DIR}'" >> ${WRKDIR}/.cargo/config + @${ECHO_CMD} "[source.crates-io]" >> ${WRKDIR}/.cargo/config + @${ECHO_CMD} "replace-with = 'cargo'" >> ${WRKDIR}/.cargo/config + @if ! ${GREP} -qF '[profile.release]' ${CARGO_CARGOTOML}; then \ + ${ECHO_CMD} "" >>${CARGO_CARGOTOML}; \ + ${ECHO_CMD} "[profile.release]" >>${CARGO_CARGOTOML}; \ + ${ECHO_CMD} "opt-level = 2" >>${CARGO_CARGOTOML}; \ + ${ECHO_CMD} "debug = false" >>${CARGO_CARGOTOML}; \ + fi + @${_CARGO_configure_CRATES_UPDATE} +.endif + +.if !target(do-build) && ${CARGO_BUILD:tl} == "yes" +do-build: + @${CARGO_CARGO_RUN} build \ + --manifest-path ${CARGO_CARGOTOML} \ + --release \ + --verbose \ + ${CARGO_BUILD_ARGS} +.endif + +.if !target(do-install) && ${CARGO_INSTALL:tl} == "yes" +do-install: + @${CARGO_CARGO_RUN} install \ + --root="${STAGEDIR}${PREFIX}" \ + --verbose \ + ${CARGO_INSTALL_ARGS} + @${RM} -- "${STAGEDIR}${PREFIX}/.crates.toml" +.endif + +.if !target(do-test) && ${CARGO_TEST:tl} == "yes" +do-test: + @${CARGO_CARGO_RUN} test \ + --manifest-path ${CARGO_CARGOTOML} \ + --release \ + --verbose \ + ${CARGO_TEST_ARGS} +.endif + +# +# Helper targets for port maintainers +# + +# cargo-crates will output the crates list from Cargo.lock file. +cargo-crates: extract + @${ECHO_CMD} -n "CARGO_CRATES=" + @${AWK} 'BEGIN { i = 0 } /"checksum / { \ + if (i == 0) { \ + print " " $$2 "-" $$3 " \\"; \ + i = 1 \ + } else { \ + print " " $$2 "-" $$3 " \\" \ + } \ + }' ${WRKSRC}/Cargo.lock + +# cargo-crates-licenses will try to grab license information from +# downloaded crates. +cargo-crates-licenses: configure + @${FIND} ${WRKSRC}/cargo-crates -name 'Cargo.toml' -maxdepth 2 \ + -exec ${GREP} -H '^license' {} \; \ + | ${SED} \ + -e 's|^${WRKSRC}/cargo-crates/|CARGO_CRATES+= |' \ + -e 's|/Cargo.toml:license.*= *"| # |' \ + -e 's|"$$||g' + +.endif Index: devel/bingrep/Makefile =================================================================== --- /dev/null +++ devel/bingrep/Makefile @@ -0,0 +1,44 @@ +# $FreeBSD$ + +PORTNAME= bingrep +PORTVERSION= g20170612 +CATEGORIES= devel + +MAINTAINER= tobik@FreeBSD.org +COMMENT= bingrep + +USE_GITHUB= yes +GH_ACCOUNT= m4b +GH_TAGNAME= 0705684 + +USES= cargo + +PLIST_FILES= bin/bingrep + +CARGO_CRATES= ansi_term-0.9.0 \ + atty-0.2.2 \ + bitflags-0.8.2 \ + clap-2.24.2 \ + colored-1.5.1 \ + goblin-0.0.10 \ + kernel32-sys-0.2.2 \ + lazy_static-0.2.8 \ + libc-0.2.23 \ + plain-0.0.2 \ + quote-0.3.15 \ + scroll-0.5.0 \ + scroll_derive-0.4.0 \ + strsim-0.6.0 \ + structopt-0.0.3 \ + structopt-derive-0.0.3 \ + syn-0.11.11 \ + synom-0.11.3 \ + term_size-0.3.0 \ + unicode-segmentation-1.2.0 \ + unicode-width-0.1.4 \ + unicode-xid-0.0.4 \ + vec_map-0.8.0 \ + winapi-0.2.8 \ + winapi-build-0.1.1 + +.include Index: devel/bingrep/distinfo =================================================================== --- /dev/null +++ devel/bingrep/distinfo @@ -0,0 +1,53 @@ +TIMESTAMP = 1497440040 +SHA256 (cargo/ansi_term-0.9.0.tar.gz) = 23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6 +SIZE (cargo/ansi_term-0.9.0.tar.gz) = 11718 +SHA256 (cargo/atty-0.2.2.tar.gz) = d912da0db7fa85514874458ca3651fe2cddace8d0b0505571dbdcd41ab490159 +SIZE (cargo/atty-0.2.2.tar.gz) = 5124 +SHA256 (cargo/bitflags-0.8.2.tar.gz) = 1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4 +SIZE (cargo/bitflags-0.8.2.tar.gz) = 11200 +SHA256 (cargo/clap-2.24.2.tar.gz) = 6b8f69e518f967224e628896b54e41ff6acfb4dcfefc5076325c36525dac900f +SIZE (cargo/clap-2.24.2.tar.gz) = 179198 +SHA256 (cargo/colored-1.5.1.tar.gz) = 66e436adfcba3a50905f943d990f5ef7c230ebe2d9476ab5c7dc2427afe357ee +SIZE (cargo/colored-1.5.1.tar.gz) = 33931 +SHA256 (cargo/goblin-0.0.10.tar.gz) = 81af14056c25d33759862c5ae2035452acb1255bfb1b16db57819f183921e259 +SIZE (cargo/goblin-0.0.10.tar.gz) = 94446 +SHA256 (cargo/kernel32-sys-0.2.2.tar.gz) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d +SIZE (cargo/kernel32-sys-0.2.2.tar.gz) = 24537 +SHA256 (cargo/lazy_static-0.2.8.tar.gz) = 3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf +SIZE (cargo/lazy_static-0.2.8.tar.gz) = 9950 +SHA256 (cargo/libc-0.2.23.tar.gz) = e7eb6b826bfc1fdea7935d46556250d1799b7fe2d9f7951071f4291710665e3e +SIZE (cargo/libc-0.2.23.tar.gz) = 153939 +SHA256 (cargo/plain-0.0.2.tar.gz) = 595830506990cbd6a1a08ed73bd9b40beb4692f38334885bf25a5daa654c6fae +SIZE (cargo/plain-0.0.2.tar.gz) = 9019 +SHA256 (cargo/quote-0.3.15.tar.gz) = 7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a +SIZE (cargo/quote-0.3.15.tar.gz) = 12041 +SHA256 (cargo/scroll-0.5.0.tar.gz) = 1d916a75d18d4c559fa7312afe6f522fe5b63176e6591d02ed81017c22f8ea27 +SIZE (cargo/scroll-0.5.0.tar.gz) = 21550 +SHA256 (cargo/scroll_derive-0.4.0.tar.gz) = 686ef1d49b34827d6aed93e0bbe9e53023b26e25f54dead31859974067400f19 +SIZE (cargo/scroll_derive-0.4.0.tar.gz) = 2789 +SHA256 (cargo/strsim-0.6.0.tar.gz) = b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694 +SIZE (cargo/strsim-0.6.0.tar.gz) = 8500 +SHA256 (cargo/structopt-0.0.3.tar.gz) = 2d52740003d84335ccfc6f9223a9cede3943e5f1e75b15b21a9cd40d02f1d6df +SIZE (cargo/structopt-0.0.3.tar.gz) = 3393 +SHA256 (cargo/structopt-derive-0.0.3.tar.gz) = 1e4f5f4da823bbf745599cd6e6c344817e2580cf2ea46d012aa62da714a20725 +SIZE (cargo/structopt-derive-0.0.3.tar.gz) = 3508 +SHA256 (cargo/syn-0.11.11.tar.gz) = d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad +SIZE (cargo/syn-0.11.11.tar.gz) = 63309 +SHA256 (cargo/synom-0.11.3.tar.gz) = a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6 +SIZE (cargo/synom-0.11.3.tar.gz) = 17120 +SHA256 (cargo/term_size-0.3.0.tar.gz) = e2b6b55df3198cc93372e85dd2ed817f0e38ce8cc0f22eb32391bfad9c4bf209 +SIZE (cargo/term_size-0.3.0.tar.gz) = 9932 +SHA256 (cargo/unicode-segmentation-1.2.0.tar.gz) = a8083c594e02b8ae1654ae26f0ade5158b119bd88ad0e8227a5d8fcd72407946 +SIZE (cargo/unicode-segmentation-1.2.0.tar.gz) = 67562 +SHA256 (cargo/unicode-width-0.1.4.tar.gz) = bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f +SIZE (cargo/unicode-width-0.1.4.tar.gz) = 15283 +SHA256 (cargo/unicode-xid-0.0.4.tar.gz) = 8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc +SIZE (cargo/unicode-xid-0.0.4.tar.gz) = 16034 +SHA256 (cargo/vec_map-0.8.0.tar.gz) = 887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c +SIZE (cargo/vec_map-0.8.0.tar.gz) = 13742 +SHA256 (cargo/winapi-0.2.8.tar.gz) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a +SIZE (cargo/winapi-0.2.8.tar.gz) = 455145 +SHA256 (cargo/winapi-build-0.1.1.tar.gz) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc +SIZE (cargo/winapi-build-0.1.1.tar.gz) = 669 +SHA256 (m4b-bingrep-g20170612-0705684_GH0.tar.gz) = 140f01ea897b5be1e89949d68a5591253b41fb345a587c759984d4e945e92f6b +SIZE (m4b-bingrep-g20170612-0705684_GH0.tar.gz) = 343989 Index: devel/cargo-generate-vendor/Makefile =================================================================== --- /dev/null +++ devel/cargo-generate-vendor/Makefile @@ -0,0 +1,26 @@ +# $OpenBSD: Makefile,v 1.1.1.1 2016/12/23 01:58:18 danj Exp $ + +PORTNAME= cargo-generate-vendor +PORTVERSION= 1.0 +CATEGORIES= devel + +COMMENT= Generate metadata for cargo vendoring +MAINTAINER= ports@FreeBSD.org + +LICENSE= ISCL + +USE_GITHUB= yes +GH_ACCOUNT= semarie + +USES= uidfix perl5 shebangfix +USE_PERL5= run +NO_BUILD= yes + +SHEBANG_FILES= cargo-generate-vendor.pl +PLIST_FILES= bin/cargo-generate-vendor + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC}/cargo-generate-vendor.pl \ + ${STAGEDIR}${PREFIX}/bin/cargo-generate-vendor + +.include Index: devel/cargo-generate-vendor/distinfo =================================================================== --- /dev/null +++ devel/cargo-generate-vendor/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1488045421 +SHA256 (semarie-cargo-generate-vendor-1.0_GH0.tar.gz) = 2470103ed75de5021bc9f76ed83095f5d2d3377b135dede1680e7524d3b55027 +SIZE (semarie-cargo-generate-vendor-1.0_GH0.tar.gz) = 1895 Index: devel/cargo-generate-vendor/files/patch-cargo-generate-vendor.pl =================================================================== --- /dev/null +++ devel/cargo-generate-vendor/files/patch-cargo-generate-vendor.pl @@ -0,0 +1,24 @@ +--- cargo-generate-vendor.pl.orig 2017-02-25 18:02:09 UTC ++++ cargo-generate-vendor.pl +@@ -22,10 +22,6 @@ use Digest::SHA qw(sha256_hex); + use File::Find; + use Getopt::Std; + use JSON::PP; +-use OpenBSD::Pledge; +- +-# early pledge +-pledge('rpath wpath cpath') || err(1, "pledge: $!"); + + # print usage and exit + sub usage +@@ -110,10 +106,6 @@ create_empty(".cargo.ok") + open(my $fchecksum, ">", ".cargo-checksum.json") + || err(1, "open: '$directory/.cargo-checksum.json': $!"); + +-# pledge filesystem readonly +-pledge('rpath') +- || err(1, "pledge: $!"); +- + # compute checksums + my %metadata; + $metadata{'package'} = sha256_file_hex($archive); Index: devel/cargo-generate-vendor/pkg-descr =================================================================== --- /dev/null +++ devel/cargo-generate-vendor/pkg-descr @@ -0,0 +1,4 @@ +cargo-generate-vendor is used to help building vendored crate for use with +devel/cargo. + +It will generate the required metadata for this purpose. Index: editors/xi-core/Makefile =================================================================== --- /dev/null +++ editors/xi-core/Makefile @@ -0,0 +1,46 @@ +# $FreeBSD$ + +PORTNAME= xi-core +PORTVERSION= g20170612 +DISTVERSIONPREFIX= v +CATEGORIES= editors + +MAINTAINER= tobik@FreeBSD.org +COMMENT= Modern editor backend written in Rust + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/../LICENSE + +USE_GITHUB= yes +GH_ACCOUNT= google +GH_PROJECT= xi-editor +GH_TAGNAME= 3164cb6 + +USES= cargo pkgconfig +WRKSRC_SUBDIR= rust + +PLIST_FILES= bin/xi-core + +CARGO_CRATES= bytecount-0.1.6 \ + crossbeam-0.2.10 \ + dtoa-0.4.1 \ + itoa-0.3.1 \ + kernel32-sys-0.2.2 \ + libc-0.2.22 \ + memchr-1.0.1 \ + num-traits-0.1.37 \ + quote-0.3.15 \ + redox_syscall-0.1.17 \ + serde-1.0.2 \ + serde_derive-1.0.2 \ + serde_derive_internals-0.15.0 \ + serde_json-1.0.1 \ + syn-0.11.11 \ + synom-0.11.3 \ + time-0.1.37 \ + unicode-xid-0.0.4 \ + winapi-0.2.8 \ + winapi-build-0.1.1 + + +.include Index: editors/xi-core/distinfo =================================================================== --- /dev/null +++ editors/xi-core/distinfo @@ -0,0 +1,43 @@ +TIMESTAMP = 1497439919 +SHA256 (cargo/bytecount-0.1.6.tar.gz) = 1e8f09fbc8c6726a4b616dcfbd4f54491068d6bb1b93ac03c78ac18ff9a5924a +SIZE (cargo/bytecount-0.1.6.tar.gz) = 9435 +SHA256 (cargo/crossbeam-0.2.10.tar.gz) = 0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97 +SIZE (cargo/crossbeam-0.2.10.tar.gz) = 32993 +SHA256 (cargo/dtoa-0.4.1.tar.gz) = 80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90 +SIZE (cargo/dtoa-0.4.1.tar.gz) = 73264 +SHA256 (cargo/itoa-0.3.1.tar.gz) = eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c +SIZE (cargo/itoa-0.3.1.tar.gz) = 73340 +SHA256 (cargo/kernel32-sys-0.2.2.tar.gz) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d +SIZE (cargo/kernel32-sys-0.2.2.tar.gz) = 24537 +SHA256 (cargo/libc-0.2.22.tar.gz) = babb8281da88cba992fa1f4ddec7d63ed96280a1a53ec9b919fd37b53d71e502 +SIZE (cargo/libc-0.2.22.tar.gz) = 133924 +SHA256 (cargo/memchr-1.0.1.tar.gz) = 1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4 +SIZE (cargo/memchr-1.0.1.tar.gz) = 8221 +SHA256 (cargo/num-traits-0.1.37.tar.gz) = e1cbfa3781f3fe73dc05321bed52a06d2d491eaa764c52335cf4399f046ece99 +SIZE (cargo/num-traits-0.1.37.tar.gz) = 20492 +SHA256 (cargo/quote-0.3.15.tar.gz) = 7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a +SIZE (cargo/quote-0.3.15.tar.gz) = 12041 +SHA256 (cargo/redox_syscall-0.1.17.tar.gz) = 29dbdfd4b9df8ab31dec47c6087b7b13cbf4a776f335e4de8efba8288dda075b +SIZE (cargo/redox_syscall-0.1.17.tar.gz) = 11683 +SHA256 (cargo/serde-1.0.2.tar.gz) = 3b46a59dd63931010fdb1d88538513f3279090d88b5c22ef4fe8440cfffcc6e3 +SIZE (cargo/serde-1.0.2.tar.gz) = 58548 +SHA256 (cargo/serde_derive-1.0.2.tar.gz) = 6c06b68790963518008b8ae0152d48be4bbbe77015d2c717f6282eea1824be9a +SIZE (cargo/serde_derive-1.0.2.tar.gz) = 23633 +SHA256 (cargo/serde_derive_internals-0.15.0.tar.gz) = 021c338d22c7e30f957a6ab7e388cb6098499dda9fd4ba1661ee074ca7a180d1 +SIZE (cargo/serde_derive_internals-0.15.0.tar.gz) = 16382 +SHA256 (cargo/serde_json-1.0.1.tar.gz) = 1c62115693d0a9ed8c32d1c760f0fdbe7d4b05cb13c135b9b54137ac0d59fccb +SIZE (cargo/serde_json-1.0.1.tar.gz) = 55365 +SHA256 (cargo/syn-0.11.11.tar.gz) = d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad +SIZE (cargo/syn-0.11.11.tar.gz) = 63309 +SHA256 (cargo/synom-0.11.3.tar.gz) = a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6 +SIZE (cargo/synom-0.11.3.tar.gz) = 17120 +SHA256 (cargo/time-0.1.37.tar.gz) = ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3 +SIZE (cargo/time-0.1.37.tar.gz) = 28346 +SHA256 (cargo/unicode-xid-0.0.4.tar.gz) = 8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc +SIZE (cargo/unicode-xid-0.0.4.tar.gz) = 16034 +SHA256 (cargo/winapi-0.2.8.tar.gz) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a +SIZE (cargo/winapi-0.2.8.tar.gz) = 455145 +SHA256 (cargo/winapi-build-0.1.1.tar.gz) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc +SIZE (cargo/winapi-build-0.1.1.tar.gz) = 669 +SHA256 (google-xi-editor-vg20170612-3164cb6_GH0.tar.gz) = d1a29be0ee2e69191cc250bcd0ba51600887c956b76f58ef94e6eba76fcd6c04 +SIZE (google-xi-editor-vg20170612-3164cb6_GH0.tar.gz) = 811394 Index: editors/xi-core/pkg-descr =================================================================== --- /dev/null +++ editors/xi-core/pkg-descr @@ -0,0 +1,16 @@ +The xi editor project is an attempt to build a high quality text +editor, using modern software engineering techniques. + +Goals include: +- Incredibly high performance. All editing operations should commit + and paint in under 16ms. The editor should never make you wait for + anything. +- Beauty. The editor should fit well on a modern desktop, and not look + like a throwback from the '80s or '90s. Text drawing should be done + with the best technology available (Core Text on Mac, DirectWrite on + Windows, etc.), and support Unicode fully. +- Reliability. Crashing, hanging, or losing work should never happen. +- Developer friendliness. It should be easy to customize xi editor, + whether by adding plug-ins or hacking on the core. + +WWW: https://github.com/google/xi-editor Index: textproc/ripgrep/Makefile =================================================================== --- /dev/null +++ textproc/ripgrep/Makefile @@ -0,0 +1,67 @@ +# Created by: Petteri Valkonen +# $FreeBSD$ + +# vim: ts=8 noet + +PORTNAME= ripgrep +PORTVERSION= 0.5.2 +CATEGORIES= textproc + +MAINTAINER= petteri.valkonen@iki.fi +COMMENT= Command line search tool + +LICENSE= MIT UNLICENSE +LICENSE_FILE= ${WRKSRC}/COPYING +LICENSE_COMB= dual +LICENSE_NAME_UNLICENSE= The Unlicense +LICENSE_FILE_UNLICENSE= ${WRKSRC}/UNLICENSE +LICENSE_PERMS_UNLICENSE=dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +USE_GITHUB= yes +GH_ACCOUNT= BurntSushi + +USES= cargo +PLIST_FILES= bin/rg \ + man/man1/rg.1.gz + +CARGO_CRATES= aho-corasick-0.6.3 \ + ansi_term-0.9.0 \ + atty-0.2.2 \ + bitflags-0.8.2 \ + bytecount-0.1.6 \ + cfg-if-0.1.0 \ + clap-2.24.1 \ + crossbeam-0.2.10 \ + encoding_rs-0.5.1 \ + env_logger-0.4.2 \ + fnv-1.0.5 \ + fs2-0.4.1 \ + kernel32-sys-0.2.2 \ + lazy_static-0.2.8 \ + libc-0.2.22 \ + log-0.3.7 \ + memchr-1.0.1 \ + memmap-0.5.2 \ + num_cpus-1.4.0 \ + regex-0.2.1 \ + regex-syntax-0.4.0 \ + same-file-0.1.3 \ + simd-0.1.1 \ + strsim-0.6.0 \ + term_size-0.3.0 \ + thread-id-3.0.0 \ + thread_local-0.3.3 \ + unicode-segmentation-1.1.0 \ + unicode-width-0.1.4 \ + unreachable-0.1.1 \ + utf8-ranges-1.0.0 \ + vec_map-0.7.0 \ + void-1.0.2 \ + walkdir-1.0.7 \ + winapi-0.2.8 \ + winapi-build-0.1.1 + +post-install: + ${INSTALL_MAN} ${WRKSRC}/doc/rg.1 ${STAGEDIR}${MAN1PREFIX}/man/man1 + +.include Index: textproc/ripgrep/distinfo =================================================================== --- /dev/null +++ textproc/ripgrep/distinfo @@ -0,0 +1,75 @@ +TIMESTAMP = 1497438536 +SHA256 (cargo/aho-corasick-0.6.3.tar.gz) = 500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699 +SIZE (cargo/aho-corasick-0.6.3.tar.gz) = 24963 +SHA256 (cargo/ansi_term-0.9.0.tar.gz) = 23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6 +SIZE (cargo/ansi_term-0.9.0.tar.gz) = 11718 +SHA256 (cargo/atty-0.2.2.tar.gz) = d912da0db7fa85514874458ca3651fe2cddace8d0b0505571dbdcd41ab490159 +SIZE (cargo/atty-0.2.2.tar.gz) = 5124 +SHA256 (cargo/bitflags-0.8.2.tar.gz) = 1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4 +SIZE (cargo/bitflags-0.8.2.tar.gz) = 11200 +SHA256 (cargo/bytecount-0.1.6.tar.gz) = 1e8f09fbc8c6726a4b616dcfbd4f54491068d6bb1b93ac03c78ac18ff9a5924a +SIZE (cargo/bytecount-0.1.6.tar.gz) = 9435 +SHA256 (cargo/cfg-if-0.1.0.tar.gz) = de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c +SIZE (cargo/cfg-if-0.1.0.tar.gz) = 2758 +SHA256 (cargo/clap-2.24.1.tar.gz) = b7541069be0b8aec41030802abe8b5cdef0490070afaa55418adea93b1e431e0 +SIZE (cargo/clap-2.24.1.tar.gz) = 178111 +SHA256 (cargo/crossbeam-0.2.10.tar.gz) = 0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97 +SIZE (cargo/crossbeam-0.2.10.tar.gz) = 32993 +SHA256 (cargo/encoding_rs-0.5.1.tar.gz) = e4bc519d572af08cf72c4d61e0de9b05e9fa66d1fdb5e739fb5c405860b42d43 +SIZE (cargo/encoding_rs-0.5.1.tar.gz) = 1225177 +SHA256 (cargo/env_logger-0.4.2.tar.gz) = e3856f1697098606fc6cb97a93de88ca3f3bc35bb878c725920e6e82ecf05e83 +SIZE (cargo/env_logger-0.4.2.tar.gz) = 10386 +SHA256 (cargo/fnv-1.0.5.tar.gz) = 6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344 +SIZE (cargo/fnv-1.0.5.tar.gz) = 6295 +SHA256 (cargo/fs2-0.4.1.tar.gz) = 34edaee07555859dc13ca387e6ae05686bb4d0364c95d649b6dab959511f4baf +SIZE (cargo/fs2-0.4.1.tar.gz) = 12039 +SHA256 (cargo/kernel32-sys-0.2.2.tar.gz) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d +SIZE (cargo/kernel32-sys-0.2.2.tar.gz) = 24537 +SHA256 (cargo/lazy_static-0.2.8.tar.gz) = 3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf +SIZE (cargo/lazy_static-0.2.8.tar.gz) = 9950 +SHA256 (cargo/libc-0.2.22.tar.gz) = babb8281da88cba992fa1f4ddec7d63ed96280a1a53ec9b919fd37b53d71e502 +SIZE (cargo/libc-0.2.22.tar.gz) = 133924 +SHA256 (cargo/log-0.3.7.tar.gz) = 5141eca02775a762cc6cd564d8d2c50f67c0ea3a372cbf1c51592b3e029e10ad +SIZE (cargo/log-0.3.7.tar.gz) = 16352 +SHA256 (cargo/memchr-1.0.1.tar.gz) = 1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4 +SIZE (cargo/memchr-1.0.1.tar.gz) = 8221 +SHA256 (cargo/memmap-0.5.2.tar.gz) = 46f3c7359028b31999287dae4e5047ddfe90a23b7dca2282ce759b491080c99b +SIZE (cargo/memmap-0.5.2.tar.gz) = 14465 +SHA256 (cargo/num_cpus-1.4.0.tar.gz) = ca313f1862c7ec3e0dfe8ace9fa91b1d9cb5c84ace3d00f5ec4216238e93c167 +SIZE (cargo/num_cpus-1.4.0.tar.gz) = 6782 +SHA256 (cargo/regex-0.2.1.tar.gz) = 4278c17d0f6d62dfef0ab00028feb45bd7d2102843f80763474eeb1be8a10c01 +SIZE (cargo/regex-0.2.1.tar.gz) = 189277 +SHA256 (cargo/regex-syntax-0.4.0.tar.gz) = 2f9191b1f57603095f105d317e375d19b1c9c5c3185ea9633a99a6dcbed04457 +SIZE (cargo/regex-syntax-0.4.0.tar.gz) = 118223 +SHA256 (cargo/same-file-0.1.3.tar.gz) = d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7 +SIZE (cargo/same-file-0.1.3.tar.gz) = 7078 +SHA256 (cargo/simd-0.1.1.tar.gz) = 63b5847c2d766ca7ce7227672850955802fabd779ba616aeabead4c2c3877023 +SIZE (cargo/simd-0.1.1.tar.gz) = 39577 +SHA256 (cargo/strsim-0.6.0.tar.gz) = b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694 +SIZE (cargo/strsim-0.6.0.tar.gz) = 8500 +SHA256 (cargo/term_size-0.3.0.tar.gz) = e2b6b55df3198cc93372e85dd2ed817f0e38ce8cc0f22eb32391bfad9c4bf209 +SIZE (cargo/term_size-0.3.0.tar.gz) = 9932 +SHA256 (cargo/thread-id-3.0.0.tar.gz) = 4437c97558c70d129e40629a5b385b3fb1ffac301e63941335e4d354081ec14a +SIZE (cargo/thread-id-3.0.0.tar.gz) = 6240 +SHA256 (cargo/thread_local-0.3.3.tar.gz) = c85048c6260d17cf486ceae3282d9fb6b90be220bf5b28c400f5485ffc29f0c7 +SIZE (cargo/thread_local-0.3.3.tar.gz) = 10964 +SHA256 (cargo/unicode-segmentation-1.1.0.tar.gz) = 18127285758f0e2c6cf325bb3f3d138a12fee27de4f23e146cd6a179f26c2cf3 +SIZE (cargo/unicode-segmentation-1.1.0.tar.gz) = 65559 +SHA256 (cargo/unicode-width-0.1.4.tar.gz) = bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f +SIZE (cargo/unicode-width-0.1.4.tar.gz) = 15283 +SHA256 (cargo/unreachable-0.1.1.tar.gz) = 1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91 +SIZE (cargo/unreachable-0.1.1.tar.gz) = 1772 +SHA256 (cargo/utf8-ranges-1.0.0.tar.gz) = 662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122 +SIZE (cargo/utf8-ranges-1.0.0.tar.gz) = 8599 +SHA256 (cargo/vec_map-0.7.0.tar.gz) = f8cdc8b93bd0198ed872357fb2e667f7125646b1762f16d60b2c96350d361897 +SIZE (cargo/vec_map-0.7.0.tar.gz) = 13455 +SHA256 (cargo/void-1.0.2.tar.gz) = 6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d +SIZE (cargo/void-1.0.2.tar.gz) = 2356 +SHA256 (cargo/walkdir-1.0.7.tar.gz) = bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff +SIZE (cargo/walkdir-1.0.7.tar.gz) = 17883 +SHA256 (cargo/winapi-0.2.8.tar.gz) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a +SIZE (cargo/winapi-0.2.8.tar.gz) = 455145 +SHA256 (cargo/winapi-build-0.1.1.tar.gz) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc +SIZE (cargo/winapi-build-0.1.1.tar.gz) = 669 +SHA256 (BurntSushi-ripgrep-0.5.2_GH0.tar.gz) = 5d880c590cbb09d907d64ba24557fb2b2f025c8363bcdde29f303e9261625eea +SIZE (BurntSushi-ripgrep-0.5.2_GH0.tar.gz) = 460948 Index: textproc/ripgrep/pkg-descr =================================================================== --- /dev/null +++ textproc/ripgrep/pkg-descr @@ -0,0 +1,5 @@ +ripgrep is a command line search tool that combines the usability of +The Silver Searcher (an ack clone) with the raw speed of GNU grep. +ripgrep is fast, cross platform and written in Rust. + +WWW: http://blog.burntsushi.net/ripgrep/