pijul: Import pijul-0.12.0 as wip/pijul

Pijul is a version control system based on patches, that can mimic the
behaviour and workflows of both Git and Darcs, but contrarily to those
systems, Pijul is based on a mathematically sound theory of patches.

Pijul was started out of frustration that no version control system
was at the same time fast and sound:

- Git has non-associative merges, which might lead to security problems.
  Concretely, this means that the commits you merge might not be the same as
  the ones you review and test.

- Handling of conflicts: Pijul has an explicit internal representation of
  conflicts, a rock-solid theory of how they behave, and super-fast data
  structures to handle them.

- Speed! The complexity of Pijul is low in all cases, whereas previous
  attempts to build a mathematically sound distributed version control
  system had huge worst-case complexities. The use of Rust
  additionally yields a blazingly fast implementation.
This commit is contained in:
ng0 2019-07-08 10:18:58 +00:00
parent d76f3ff8ad
commit 1aa6b32c10
6 changed files with 1397 additions and 0 deletions

View File

@ -2960,6 +2960,7 @@ SUBDIR+= pidgin-status-to-twitter
SUBDIR+= pidgin-twitterstatus
SUBDIR+= piedock
SUBDIR+= piglit-git
SUBDIR+= pijul
SUBDIR+= pike
SUBDIR+= pike-Gettext
SUBDIR+= pike-Gz

19
pijul/DESCR Normal file
View File

@ -0,0 +1,19 @@
Pijul is a version control system based on patches, that can mimic the
behaviour and workflows of both Git and Darcs, but contrarily to those
systems, Pijul is based on a mathematically sound theory of patches.
Pijul was started out of frustration that no version control system
was at the same time fast and sound:
- Git has non-associative merges, which might lead to security problems.
Concretely, this means that the commits you merge might not be the same as
the ones you review and test.
- Handling of conflicts: Pijul has an explicit internal representation of
conflicts, a rock-solid theory of how they behave, and super-fast data
structures to handle them.
- Speed! The complexity of Pijul is low in all cases, whereas previous
attempts to build a mathematically sound distributed version control
system had huge worst-case complexities. The use of Rust
additionally yields a blazingly fast implementation.

295
pijul/Makefile Normal file
View File

@ -0,0 +1,295 @@
# $NetBSD$
DISTNAME= pijul-0.12.0
CATEGORIES= devel
MASTER_SITES= https://pijul.org/releases/
MAINTAINER= ng0@n0.is
HOMEPAGE= https://pijul.org
COMMENT= Distributed version control system
LICENSE= gnu-gpl-v2
CARGO_CRATE_DEPENDS+= MacTypes-sys-2.1.0
CARGO_CRATE_DEPENDS+= adler32-1.0.3
CARGO_CRATE_DEPENDS+= advapi32-sys-0.2.0
CARGO_CRATE_DEPENDS+= aho-corasick-0.6.10
CARGO_CRATE_DEPENDS+= ansi_term-0.11.0
CARGO_CRATE_DEPENDS+= argon2rs-0.2.5
CARGO_CRATE_DEPENDS+= arrayvec-0.4.10
CARGO_CRATE_DEPENDS+= ascii-canvas-1.0.0
CARGO_CRATE_DEPENDS+= atty-0.2.11
CARGO_CRATE_DEPENDS+= autocfg-0.1.2
CARGO_CRATE_DEPENDS+= backtrace-0.3.14
CARGO_CRATE_DEPENDS+= backtrace-sys-0.1.28
CARGO_CRATE_DEPENDS+= base64-0.10.1
CARGO_CRATE_DEPENDS+= base64-0.9.3
CARGO_CRATE_DEPENDS+= bincode-1.1.2
CARGO_CRATE_DEPENDS+= bindgen-0.43.2
CARGO_CRATE_DEPENDS+= bit-set-0.5.1
CARGO_CRATE_DEPENDS+= bit-vec-0.4.4
CARGO_CRATE_DEPENDS+= bit-vec-0.5.1
CARGO_CRATE_DEPENDS+= bitflags-1.0.4
CARGO_CRATE_DEPENDS+= blake2-rfc-0.2.18
CARGO_CRATE_DEPENDS+= block-buffer-0.7.0
CARGO_CRATE_DEPENDS+= block-padding-0.1.3
CARGO_CRATE_DEPENDS+= bs58-0.2.2
CARGO_CRATE_DEPENDS+= buffered-reader-0.3.0
CARGO_CRATE_DEPENDS+= build_const-0.2.1
CARGO_CRATE_DEPENDS+= byte-tools-0.3.1
CARGO_CRATE_DEPENDS+= byteorder-1.3.1
CARGO_CRATE_DEPENDS+= bytes-0.4.12
CARGO_CRATE_DEPENDS+= bzip2-0.3.3
CARGO_CRATE_DEPENDS+= bzip2-sys-0.1.7
CARGO_CRATE_DEPENDS+= cc-1.0.31
CARGO_CRATE_DEPENDS+= cexpr-0.3.5
CARGO_CRATE_DEPENDS+= cfg-if-0.1.7
CARGO_CRATE_DEPENDS+= chrono-0.4.6
CARGO_CRATE_DEPENDS+= clang-sys-0.26.4
CARGO_CRATE_DEPENDS+= clap-2.32.0
CARGO_CRATE_DEPENDS+= cloudabi-0.0.3
CARGO_CRATE_DEPENDS+= constant_time_eq-0.1.3
CARGO_CRATE_DEPENDS+= core-foundation-0.5.1
CARGO_CRATE_DEPENDS+= core-foundation-sys-0.5.1
CARGO_CRATE_DEPENDS+= crc-1.8.1
CARGO_CRATE_DEPENDS+= crc32fast-1.2.0
CARGO_CRATE_DEPENDS+= crossbeam-channel-0.3.8
CARGO_CRATE_DEPENDS+= crossbeam-deque-0.7.1
CARGO_CRATE_DEPENDS+= crossbeam-epoch-0.7.1
CARGO_CRATE_DEPENDS+= crossbeam-queue-0.1.2
CARGO_CRATE_DEPENDS+= crossbeam-utils-0.6.5
CARGO_CRATE_DEPENDS+= cryptovec-0.4.6
CARGO_CRATE_DEPENDS+= diff-0.1.11
CARGO_CRATE_DEPENDS+= diffs-0.3.0
CARGO_CRATE_DEPENDS+= digest-0.8.0
CARGO_CRATE_DEPENDS+= dirs-1.0.5
CARGO_CRATE_DEPENDS+= docopt-1.0.2
CARGO_CRATE_DEPENDS+= dtoa-0.4.3
CARGO_CRATE_DEPENDS+= either-1.5.1
CARGO_CRATE_DEPENDS+= ena-0.11.0
CARGO_CRATE_DEPENDS+= encoding_rs-0.8.17
CARGO_CRATE_DEPENDS+= env_logger-0.6.1
CARGO_CRATE_DEPENDS+= failure-0.1.5
CARGO_CRATE_DEPENDS+= failure_derive-0.1.5
CARGO_CRATE_DEPENDS+= fake-simd-0.1.2
CARGO_CRATE_DEPENDS+= filetime-0.2.4
CARGO_CRATE_DEPENDS+= fixedbitset-0.1.9
CARGO_CRATE_DEPENDS+= flate2-1.0.7
CARGO_CRATE_DEPENDS+= fnv-1.0.6
CARGO_CRATE_DEPENDS+= foreign-types-0.3.2
CARGO_CRATE_DEPENDS+= foreign-types-shared-0.1.1
CARGO_CRATE_DEPENDS+= fs2-0.4.3
CARGO_CRATE_DEPENDS+= fuchsia-cprng-0.1.1
CARGO_CRATE_DEPENDS+= fuchsia-zircon-0.3.3
CARGO_CRATE_DEPENDS+= fuchsia-zircon-sys-0.3.3
CARGO_CRATE_DEPENDS+= futures-0.1.25
CARGO_CRATE_DEPENDS+= futures-cpupool-0.1.8
CARGO_CRATE_DEPENDS+= generic-array-0.12.0
CARGO_CRATE_DEPENDS+= getch-0.2.1
CARGO_CRATE_DEPENDS+= glob-0.2.11
CARGO_CRATE_DEPENDS+= globset-0.4.2
CARGO_CRATE_DEPENDS+= h2-0.1.17
CARGO_CRATE_DEPENDS+= hex-0.3.2
CARGO_CRATE_DEPENDS+= http-0.1.16
CARGO_CRATE_DEPENDS+= httparse-1.3.3
CARGO_CRATE_DEPENDS+= humantime-1.2.0
CARGO_CRATE_DEPENDS+= hyper-0.12.25
CARGO_CRATE_DEPENDS+= hyper-tls-0.3.2
CARGO_CRATE_DEPENDS+= idna-0.1.5
CARGO_CRATE_DEPENDS+= ignore-0.4.6
CARGO_CRATE_DEPENDS+= indexmap-1.0.2
CARGO_CRATE_DEPENDS+= iovec-0.1.2
CARGO_CRATE_DEPENDS+= itertools-0.8.0
CARGO_CRATE_DEPENDS+= itoa-0.4.3
CARGO_CRATE_DEPENDS+= kernel32-sys-0.2.2
CARGO_CRATE_DEPENDS+= lalrpop-0.16.3
CARGO_CRATE_DEPENDS+= lalrpop-util-0.16.3
CARGO_CRATE_DEPENDS+= lazy_static-1.3.0
CARGO_CRATE_DEPENDS+= lazycell-1.2.1
CARGO_CRATE_DEPENDS+= libc-0.2.50
CARGO_CRATE_DEPENDS+= libloading-0.5.0
CARGO_CRATE_DEPENDS+= libpijul-0.12.0
CARGO_CRATE_DEPENDS+= line-0.1.15
CARGO_CRATE_DEPENDS+= lock_api-0.1.5
CARGO_CRATE_DEPENDS+= log-0.4.6
CARGO_CRATE_DEPENDS+= mach_o_sys-0.1.1
CARGO_CRATE_DEPENDS+= matches-0.1.8
CARGO_CRATE_DEPENDS+= memchr-2.2.0
CARGO_CRATE_DEPENDS+= memmap-0.7.0
CARGO_CRATE_DEPENDS+= memoffset-0.2.1
CARGO_CRATE_DEPENDS+= memsec-0.5.4
CARGO_CRATE_DEPENDS+= mime-0.3.13
#CARGO_CRATE_DEPENDS+= mime_guess-2.0.0-alpha.6
CARGO_CRATE_DEPENDS+= miniz-sys-0.1.11
CARGO_CRATE_DEPENDS+= miniz_oxide-0.2.1
CARGO_CRATE_DEPENDS+= miniz_oxide_c_api-0.2.1
CARGO_CRATE_DEPENDS+= mio-0.6.16
CARGO_CRATE_DEPENDS+= mio-uds-0.6.7
CARGO_CRATE_DEPENDS+= miow-0.2.1
CARGO_CRATE_DEPENDS+= native-tls-0.2.2
CARGO_CRATE_DEPENDS+= net2-0.2.33
CARGO_CRATE_DEPENDS+= nettle-4.0.0
CARGO_CRATE_DEPENDS+= nettle-sys-1.0.1
CARGO_CRATE_DEPENDS+= new_debug_unreachable-1.0.3
CARGO_CRATE_DEPENDS+= nodrop-0.1.13
CARGO_CRATE_DEPENDS+= nom-4.2.3
CARGO_CRATE_DEPENDS+= num-0.1.42
CARGO_CRATE_DEPENDS+= num-bigint-0.1.44
CARGO_CRATE_DEPENDS+= num-complex-0.1.43
CARGO_CRATE_DEPENDS+= num-integer-0.1.39
CARGO_CRATE_DEPENDS+= num-iter-0.1.37
CARGO_CRATE_DEPENDS+= num-rational-0.1.42
CARGO_CRATE_DEPENDS+= num-traits-0.2.6
CARGO_CRATE_DEPENDS+= num_cpus-1.10.0
CARGO_CRATE_DEPENDS+= opaque-debug-0.2.2
CARGO_CRATE_DEPENDS+= openssl-0.10.20
CARGO_CRATE_DEPENDS+= openssl-probe-0.1.2
CARGO_CRATE_DEPENDS+= openssl-sys-0.9.43
CARGO_CRATE_DEPENDS+= ordermap-0.3.5
CARGO_CRATE_DEPENDS+= owning_ref-0.4.0
CARGO_CRATE_DEPENDS+= parking_lot-0.7.1
CARGO_CRATE_DEPENDS+= parking_lot_core-0.4.0
CARGO_CRATE_DEPENDS+= pathdiff-0.1.0
CARGO_CRATE_DEPENDS+= peeking_take_while-0.1.2
CARGO_CRATE_DEPENDS+= percent-encoding-1.0.1
CARGO_CRATE_DEPENDS+= petgraph-0.4.13
CARGO_CRATE_DEPENDS+= phf-0.7.24
CARGO_CRATE_DEPENDS+= phf_codegen-0.7.24
CARGO_CRATE_DEPENDS+= phf_generator-0.7.24
CARGO_CRATE_DEPENDS+= phf_shared-0.7.24
CARGO_CRATE_DEPENDS+= pkg-config-0.3.14
CARGO_CRATE_DEPENDS+= precomputed-hash-0.1.1
CARGO_CRATE_DEPENDS+= proc-macro2-0.3.5
CARGO_CRATE_DEPENDS+= proc-macro2-0.4.27
CARGO_CRATE_DEPENDS+= progrs-0.1.1
CARGO_CRATE_DEPENDS+= quick-error-1.2.2
CARGO_CRATE_DEPENDS+= quickcheck-0.8.2
CARGO_CRATE_DEPENDS+= quote-0.5.2
CARGO_CRATE_DEPENDS+= quote-0.6.11
CARGO_CRATE_DEPENDS+= rand-0.4.6
CARGO_CRATE_DEPENDS+= rand-0.5.6
CARGO_CRATE_DEPENDS+= rand-0.6.5
CARGO_CRATE_DEPENDS+= rand_chacha-0.1.1
CARGO_CRATE_DEPENDS+= rand_core-0.3.1
CARGO_CRATE_DEPENDS+= rand_core-0.4.0
CARGO_CRATE_DEPENDS+= rand_hc-0.1.0
CARGO_CRATE_DEPENDS+= rand_isaac-0.1.1
CARGO_CRATE_DEPENDS+= rand_jitter-0.1.3
CARGO_CRATE_DEPENDS+= rand_os-0.1.3
CARGO_CRATE_DEPENDS+= rand_pcg-0.1.2
CARGO_CRATE_DEPENDS+= rand_xorshift-0.1.1
CARGO_CRATE_DEPENDS+= rdrand-0.4.0
CARGO_CRATE_DEPENDS+= redox_syscall-0.1.51
CARGO_CRATE_DEPENDS+= redox_termios-0.1.1
CARGO_CRATE_DEPENDS+= redox_users-0.3.0
CARGO_CRATE_DEPENDS+= regex-1.1.2
CARGO_CRATE_DEPENDS+= regex-syntax-0.6.5
CARGO_CRATE_DEPENDS+= remove_dir_all-0.5.1
CARGO_CRATE_DEPENDS+= reqwest-0.9.12
CARGO_CRATE_DEPENDS+= rpassword-2.1.0
CARGO_CRATE_DEPENDS+= rustc-demangle-0.1.13
CARGO_CRATE_DEPENDS+= rustc-serialize-0.3.24
CARGO_CRATE_DEPENDS+= rustc_version-0.2.3
CARGO_CRATE_DEPENDS+= ryu-0.2.7
CARGO_CRATE_DEPENDS+= safemem-0.3.0
CARGO_CRATE_DEPENDS+= same-file-1.0.4
CARGO_CRATE_DEPENDS+= sanakirja-0.10.2
CARGO_CRATE_DEPENDS+= schannel-0.1.15
CARGO_CRATE_DEPENDS+= scoped_threadpool-0.1.9
CARGO_CRATE_DEPENDS+= scopeguard-0.3.3
CARGO_CRATE_DEPENDS+= security-framework-0.2.2
CARGO_CRATE_DEPENDS+= security-framework-sys-0.2.3
CARGO_CRATE_DEPENDS+= semver-0.9.0
CARGO_CRATE_DEPENDS+= semver-parser-0.7.0
CARGO_CRATE_DEPENDS+= sequoia-openpgp-0.4.1
CARGO_CRATE_DEPENDS+= serde-1.0.89
CARGO_CRATE_DEPENDS+= serde_derive-1.0.89
CARGO_CRATE_DEPENDS+= serde_json-1.0.39
CARGO_CRATE_DEPENDS+= serde_urlencoded-0.5.4
CARGO_CRATE_DEPENDS+= sha2-0.8.0
CARGO_CRATE_DEPENDS+= shell-escape-0.1.4
CARGO_CRATE_DEPENDS+= siphasher-0.2.3
CARGO_CRATE_DEPENDS+= slab-0.4.2
CARGO_CRATE_DEPENDS+= smallvec-0.6.9
CARGO_CRATE_DEPENDS+= stable_deref_trait-1.1.1
CARGO_CRATE_DEPENDS+= string-0.1.3
CARGO_CRATE_DEPENDS+= string_cache-0.7.3
CARGO_CRATE_DEPENDS+= string_cache_codegen-0.4.2
CARGO_CRATE_DEPENDS+= string_cache_shared-0.3.0
CARGO_CRATE_DEPENDS+= strsim-0.7.0
CARGO_CRATE_DEPENDS+= syn-0.15.29
CARGO_CRATE_DEPENDS+= synstructure-0.10.1
CARGO_CRATE_DEPENDS+= tar-0.4.22
CARGO_CRATE_DEPENDS+= tempdir-0.3.7
CARGO_CRATE_DEPENDS+= tempfile-3.0.7
CARGO_CRATE_DEPENDS+= term-0.4.6
CARGO_CRATE_DEPENDS+= term-0.5.1
CARGO_CRATE_DEPENDS+= termcolor-1.0.4
CARGO_CRATE_DEPENDS+= termion-1.5.1
CARGO_CRATE_DEPENDS+= termios-0.2.2
CARGO_CRATE_DEPENDS+= textwrap-0.10.0
CARGO_CRATE_DEPENDS+= thread_local-0.3.6
CARGO_CRATE_DEPENDS+= thrussh-0.20.7
CARGO_CRATE_DEPENDS+= thrussh-config-0.1.2
CARGO_CRATE_DEPENDS+= thrussh-keys-0.11.9
CARGO_CRATE_DEPENDS+= thrussh-libsodium-0.1.3
CARGO_CRATE_DEPENDS+= time-0.1.42
CARGO_CRATE_DEPENDS+= tokio-0.1.18
CARGO_CRATE_DEPENDS+= tokio-codec-0.1.1
CARGO_CRATE_DEPENDS+= tokio-current-thread-0.1.6
CARGO_CRATE_DEPENDS+= tokio-executor-0.1.7
CARGO_CRATE_DEPENDS+= tokio-fs-0.1.6
CARGO_CRATE_DEPENDS+= tokio-io-0.1.12
CARGO_CRATE_DEPENDS+= tokio-reactor-0.1.9
CARGO_CRATE_DEPENDS+= tokio-sync-0.1.4
CARGO_CRATE_DEPENDS+= tokio-tcp-0.1.3
CARGO_CRATE_DEPENDS+= tokio-threadpool-0.1.13
CARGO_CRATE_DEPENDS+= tokio-timer-0.2.10
CARGO_CRATE_DEPENDS+= tokio-trace-core-0.1.0
CARGO_CRATE_DEPENDS+= tokio-udp-0.1.3
CARGO_CRATE_DEPENDS+= tokio-uds-0.2.5
CARGO_CRATE_DEPENDS+= toml-0.4.10
CARGO_CRATE_DEPENDS+= try-lock-0.2.2
CARGO_CRATE_DEPENDS+= typenum-1.10.0
CARGO_CRATE_DEPENDS+= ucd-util-0.1.3
CARGO_CRATE_DEPENDS+= unicase-1.4.2
CARGO_CRATE_DEPENDS+= unicase-2.3.0
CARGO_CRATE_DEPENDS+= unicode-bidi-0.3.4
CARGO_CRATE_DEPENDS+= unicode-normalization-0.1.8
CARGO_CRATE_DEPENDS+= unicode-width-0.1.5
CARGO_CRATE_DEPENDS+= unicode-xid-0.1.0
CARGO_CRATE_DEPENDS+= url-1.7.2
CARGO_CRATE_DEPENDS+= username-0.2.0
CARGO_CRATE_DEPENDS+= utf8-ranges-1.0.2
CARGO_CRATE_DEPENDS+= utf8parse-0.1.1
CARGO_CRATE_DEPENDS+= uuid-0.7.3
CARGO_CRATE_DEPENDS+= vcpkg-0.2.6
CARGO_CRATE_DEPENDS+= vec_map-0.8.1
CARGO_CRATE_DEPENDS+= version_check-0.1.5
CARGO_CRATE_DEPENDS+= walkdir-2.2.7
CARGO_CRATE_DEPENDS+= want-0.0.6
CARGO_CRATE_DEPENDS+= which-1.0.5
CARGO_CRATE_DEPENDS+= winapi-0.2.8
CARGO_CRATE_DEPENDS+= winapi-0.3.6
CARGO_CRATE_DEPENDS+= winapi-build-0.1.1
CARGO_CRATE_DEPENDS+= winapi-i686-pc-windows-gnu-0.4.0
CARGO_CRATE_DEPENDS+= winapi-util-0.1.2
CARGO_CRATE_DEPENDS+= winapi-x86_64-pc-windows-gnu-0.4.0
CARGO_CRATE_DEPENDS+= wincolor-1.0.1
CARGO_CRATE_DEPENDS+= ws2_32-sys-0.2.1
CARGO_CRATE_DEPENDS+= xattr-0.2.2
CARGO_CRATE_DEPENDS+= yasna-0.1.3
INSTALLATION_DIRS= bin
MAKE_ENV+= OPENSSL_DIR=${BUILDLINK_PREFIX.openssl:Q}
do-build:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${PREFIX}/bin/cargo build --locked --frozen --release
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/target/release/nary ${DESTDIR}${PREFIX}/bin
.include "../../lang/rust/cargo.mk"
.include "../../lang/rust/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

2
pijul/PLIST Normal file
View File

@ -0,0 +1,2 @@
@comment $NetBSD$
bin/pijul

2
pijul/TODO Normal file
View File

@ -0,0 +1,2 @@
* pkg/54316
fetch: Unable to fetch expected file mime_guess-2.0.0-alpha.6.crate

1078
pijul/distinfo Normal file

File diff suppressed because it is too large Load Diff