![gal@spitfire.co.il](/assets/img/avatar_default.png)
![GitHub](/assets/img/avatar_default.png)
393 changed files with 7157 additions and 18639 deletions
@ -1,11 +0,0 @@
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
GIT_ROOT=$(git rev-parse --show-toplevel) |
||||
|
||||
if [ "$GIT_ROOT" == "" ]; then |
||||
echo "Git root cannot be empty" |
||||
exit 1 |
||||
fi |
||||
|
||||
rm -f $GIT_ROOT/.git/hooks/pre-commit &> /dev/null |
||||
ln -s $GIT_ROOT/.ci/pre-commit-hook $GIT_ROOT/.git/hooks/pre-commit |
@ -1,10 +0,0 @@
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
echo "Building binary in docker" |
||||
|
||||
docker build . -t schlez/fnm-static-binary |
||||
|
||||
echo "Copying to ./fnm" |
||||
|
||||
docker run --rm -v $(pwd):$(pwd) --workdir $(pwd) schlez/fnm-static-binary cp /app/_esy/default/build/default/executable/FnmApp.exe ./fnm |
||||
strip ./fnm |
@ -1,26 +0,0 @@
@@ -1,26 +0,0 @@
|
||||
# Cross-platform set of build steps for building esy projects |
||||
|
||||
steps: |
||||
- task: NodeTool@0 |
||||
inputs: |
||||
versionSpec: '8.9' |
||||
- script: npm install -g esy@latest |
||||
displayName: 'npm install -g esy@latest' |
||||
- script: esy |
||||
displayName: 'esy install' |
||||
- script: esy verify-fnm-package |
||||
displayName: 'Verify Fnm__Package.re file' |
||||
- script: esy pesy |
||||
displayName: 'esy pesy' |
||||
- script: esy build |
||||
displayName: 'esy build' |
||||
- script: esy test |
||||
displayName: 'esy test' |
||||
- script: esy x fnm.exe |
||||
displayName: 'Run the main binary' |
||||
- script: esy ls-libs |
||||
continueOnError: true |
||||
displayName: 'Show all libraries including this package lib' |
||||
- script: esy release |
||||
displayName: 'Test Creation of Prebuilt Binary Releases' |
||||
continueOnError: true |
@ -1,5 +0,0 @@
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
set -e |
||||
|
||||
npx lint-staged |
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const fs = require("fs"); |
||||
const path = require("path"); |
||||
const cp = require("child_process"); |
||||
const jestDiff = require("jest-diff"); |
||||
|
||||
const version = require("../package.json").version; |
||||
const filepath = path.resolve(__dirname, "..", "library", "Fnm__Package.re"); |
||||
|
||||
main({ failOnDifference: process.argv[2] === "--fail-on-difference" }); |
||||
|
||||
function generateModule() { |
||||
const moduleText = ` |
||||
let version = "${version}"; |
||||
`;
|
||||
return cp.execSync(`esy refmt`, { input: moduleText }).toString(); |
||||
} |
||||
|
||||
function readFile() { |
||||
try { |
||||
return fs.readFileSync(filepath, "utf8"); |
||||
} catch (e) { |
||||
return ""; |
||||
} |
||||
} |
||||
|
||||
function main({ failOnDifference }) { |
||||
const result = generateModule(); |
||||
|
||||
if (failOnDifference) { |
||||
const currentContents = readFile(); |
||||
if (currentContents !== result) { |
||||
console.log(jestDiff(result, currentContents)); |
||||
console.log( |
||||
"Fnm__Package.re is outdated! Please update it with `esy update-fnm-package`." |
||||
); |
||||
process.exit(1); |
||||
} |
||||
} |
||||
|
||||
fs.writeFileSync(filepath, result); |
||||
} |
@ -1,62 +0,0 @@
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const fs = require("fs"); |
||||
const cp = require("child_process"); |
||||
const ARGUMENTS = process.argv.slice(2); |
||||
|
||||
const versions = { |
||||
patch: "patch", |
||||
minor: "minor", |
||||
major: "major" |
||||
}; |
||||
|
||||
if (!ARGUMENTS[0]) { |
||||
console.log( |
||||
[ |
||||
"esy version:prepare, prepare a new fnm version", |
||||
"", |
||||
"Usage:", |
||||
"------", |
||||
"", |
||||
" esy version:prepare patch - to prepare a patch version (X.X.X+1)", |
||||
" esy version:prepare minor - to prepare a minor version (X.X+1.0)", |
||||
" esy version:prepare major - to prepare a major version (X+1.0.0)" |
||||
].join("\n") |
||||
); |
||||
process.exit(1); |
||||
} |
||||
const versionType = versions[ARGUMENTS[0].toLowerCase()]; |
||||
if (!versionType) { |
||||
throw new Error("Version (argument 0) must be one of major/minor/patch."); |
||||
} |
||||
|
||||
const pkgJson = JSON.parse(fs.readFileSync("./package.json", "utf8")); |
||||
pkgJson.version = changeVersion(versionType, pkgJson.version); |
||||
fs.writeFileSync("./package.json", JSON.stringify(pkgJson, null, 2)); |
||||
|
||||
exec("git fetch origin"); |
||||
exec("esy update-fnm-package"); |
||||
exec("esy verify-fnm-package"); |
||||
exec("esy build"); |
||||
exec("./docs/record_screen.sh"); |
||||
exec(`esy changelog`, { NEXT_VERSION: `v${pkgJson.version}` }); |
||||
|
||||
function exec(command, env) { |
||||
console.log(`$ ${command}`); |
||||
return cp.execSync(command, { |
||||
stdio: "inherit", |
||||
env: { ...process.env, ...env } |
||||
}); |
||||
} |
||||
|
||||
function changeVersion(type, version) { |
||||
const [major, minor, patch] = version.split(".").map(x => parseFloat(x, 10)); |
||||
switch (type) { |
||||
case "patch": |
||||
return [major, minor, patch + 1].join("."); |
||||
case "minor": |
||||
return [major, minor + 1, 0].join("."); |
||||
case "major": |
||||
return [major + 1, 0, 0].join("."); |
||||
} |
||||
} |
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const { execSync } = require("child_process"); |
||||
|
||||
const groupByMap = (xs, fn, mapFn) => { |
||||
const grouped = {}; |
||||
|
||||
for (const x of xs) { |
||||
const key = fn(x); |
||||
grouped[key] = grouped[key] || []; |
||||
grouped[key].push(mapFn(x)); |
||||
} |
||||
|
||||
return grouped; |
||||
}; |
||||
|
||||
const licenses = execSync('grep -r "license:" esy.lock') |
||||
.toString() |
||||
.split("\n") |
||||
.map(x => x.trim()) |
||||
.filter(Boolean) |
||||
.map(line => { |
||||
const [path, , license] = line.split(":"); |
||||
const dependency = path |
||||
.split("/") |
||||
.slice(1) |
||||
.join("/") |
||||
.match(/^(.+)\/[^/]+$/)[1]; |
||||
return { dependency, license: JSON.parse(license.trim()) }; |
||||
}); |
||||
|
||||
const byLicense = groupByMap( |
||||
licenses, |
||||
({ license }) => license, |
||||
({ dependency }) => dependency |
||||
); |
||||
|
||||
for (const [license, packages] of Object.entries(byLicense)) { |
||||
console.log(`${license}:`); |
||||
for (const package of packages) { |
||||
console.log(` - ${package}`); |
||||
} |
||||
} |
@ -1,11 +0,0 @@
@@ -1,11 +0,0 @@
|
||||
# Steps for publishing project cache |
||||
|
||||
steps: |
||||
- task: PublishBuildArtifacts@1 |
||||
displayName: 'Cache: Upload install folder' |
||||
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) |
||||
inputs: |
||||
pathToPublish: '$(ESY__CACHE_INSTALL_PATH)' |
||||
artifactName: 'cache-$(Agent.OS)-install' |
||||
parallel: true |
||||
parallelCount: 8 |
@ -1,23 +0,0 @@
@@ -1,23 +0,0 @@
|
||||
# Steps for restoring project cache |
||||
|
||||
steps: |
||||
- task: DownloadBuildArtifacts@0 |
||||
condition: and(succeeded(), ne(variables['Build.SourceBranch'], 'refs/heads/master')) |
||||
displayName: 'Cache: Restore install' |
||||
inputs: |
||||
buildType: 'specific' |
||||
project: '$(System.TeamProject)' |
||||
pipeline: '$(Build.DefinitionName)' |
||||
branchName: 'refs/heads/master' |
||||
buildVersionToDownload: 'latestFromBranch' |
||||
downloadType: 'single' |
||||
artifactName: 'cache-$(Agent.OS)-install' |
||||
downloadPath: '$(System.ArtifactsDirectory)' |
||||
continueOnError: true |
||||
|
||||
- task: CopyFiles@2 |
||||
condition: and(succeeded(), ne(variables['Build.SourceBranch'], 'refs/heads/master')) |
||||
inputs: |
||||
sourceFolder: '$(System.ArtifactsDirectory)\cache-$(Agent.OS)-install' |
||||
targetFolder: '$(ESY__CACHE_INSTALL_PATH)' |
||||
continueOnError: true |
@ -1,4 +0,0 @@
@@ -1,4 +0,0 @@
|
||||
_build |
||||
_esy |
||||
node_modules |
||||
Dockerfile |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
*__Fish.snap linguist-language=fish |
||||
*__Zsh.snap linguist-language=Shell |
||||
*__Bash.snap linguist-language=Shell |
||||
*__PowerShell.snap linguist-language=PowerShell |
||||
*__WinCmd.snap linguist-language=Batchfile |
@ -1,67 +0,0 @@
@@ -1,67 +0,0 @@
|
||||
name: Check formatting |
||||
on: |
||||
pull_request: |
||||
push: |
||||
branches: |
||||
- master |
||||
|
||||
# consider using docker: ocaml/opam2:4.06 |
||||
# - sudo apt-get update && apt-get install -y m4 |
||||
# - opam update && opam install reason |
||||
# - refmt # is new |
||||
|
||||
jobs: |
||||
# build: |
||||
# name: build project |
||||
# runs-on: ubuntu-latest |
||||
# steps: |
||||
# - uses: actions/checkout@master |
||||
# with: |
||||
# fetch-depth: 1 |
||||
# - uses: actions/setup-node@v1 |
||||
# with: |
||||
# node-version: '10.x' |
||||
# - run: npm install -g esy@latest |
||||
# - run: esy i |
||||
# - run: esy b |
||||
# - run: esy export-dependencies |
||||
# - run: tar -czf build.tar.gz _export |
||||
# - uses: actions/upload-artifact@master |
||||
# with: |
||||
# name: cache-linux-build-dependencies |
||||
# path: build.tar.gz |
||||
|
||||
test_refmt: |
||||
name: run refmt |
||||
runs-on: ubuntu-latest |
||||
# needs: [build] |
||||
steps: |
||||
- uses: actions/checkout@master |
||||
with: |
||||
fetch-depth: 1 |
||||
- uses: actions/setup-node@v1 |
||||
with: |
||||
node-version: '10.x' |
||||
# - run: npm install -g esy@latest |
||||
# - uses: actions/download-artifact@master |
||||
# with: |
||||
# name: cache-linux-build-dependencies |
||||
# - run: tar -xzf cache-linux-build-dependencies/build.tar.gz |
||||
# - run: esy import-build _export/* |
||||
# - run: esy i |
||||
# - run: esy fmt |
||||
- run: npm i -g esy@latest |
||||
- run: esy @fmt i |
||||
- run: esy @fmt refmt --in-place */*.re |
||||
# - run: ./scripts/fmt_all.sh |
||||
# name: refmt all the files |
||||
- run: | |
||||
if [ -n "$(git status --porcelain)" ]; then |
||||
echo "There are differences:" |
||||
git status --porcelain |
||||
echo "----" |
||||
echo "" |
||||
echo 'Please run `esy fmt` locally to fix the issues.' |
||||
exit 1 |
||||
fi |
||||
name: "Throw if something changed" |
@ -0,0 +1,175 @@
@@ -0,0 +1,175 @@
|
||||
name: Rust |
||||
|
||||
on: [push] |
||||
|
||||
jobs: |
||||
fmt: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: hecrj/setup-rust-action@v1 |
||||
with: |
||||
rust-version: stable |
||||
- uses: actions/checkout@v1 |
||||
- name: cargo fmt |
||||
run: cargo fmt -- --check |
||||
|
||||
unit_tests: |
||||
runs-on: ${{ matrix.os }} |
||||
strategy: |
||||
matrix: |
||||
os: [ubuntu-latest, macOS-latest, windows-latest] |
||||
steps: |
||||
- uses: hecrj/setup-rust-action@v1 |
||||
with: |
||||
rust-version: stable |
||||
- uses: actions/checkout@v1 |
||||
- name: Run tests |
||||
run: cargo test -- --skip=feature_tests |
||||
|
||||
e2e_tests: |
||||
runs-on: ${{ matrix.os }} |
||||
strategy: |
||||
matrix: |
||||
os: [ubuntu-latest, macOS-latest, windows-latest] |
||||
steps: |
||||
- name: Install Fish and Zsh using brew |
||||
if: "startsWith(matrix.os, 'macOS')" |
||||
run: brew install fish zsh |
||||
- name: Install Fish and Zsh using apt |
||||
if: "startsWith(matrix.os, 'ubuntu')" |
||||
run: sudo apt-get install -y fish zsh |
||||
- uses: hecrj/setup-rust-action@v1 |
||||
with: |
||||
rust-version: stable |
||||
- uses: actions/checkout@v1 |
||||
- name: Run tests |
||||
run: cargo test -- feature_tests |
||||
|
||||
build_release: |
||||
runs-on: windows-latest |
||||
name: "Release build for Windows" |
||||
steps: |
||||
- uses: hecrj/setup-rust-action@v1 |
||||
with: |
||||
rust-version: stable |
||||
- uses: actions/checkout@v1 |
||||
- name: Build release binary |
||||
run: cargo build --release |
||||
env: |
||||
RUSTFLAGS: "-C target-feature=+crt-static" |
||||
- name: Compress binary using UPX |
||||
run: | |
||||
choco install upx |
||||
upx target/release/fnm.exe |
||||
- uses: actions/upload-artifact@v2 |
||||
with: |
||||
name: fnm-windows |
||||
path: target/release/fnm.exe |
||||
|
||||
build_macos_release: |
||||
runs-on: macOS-latest |
||||
name: "Release build for MacOS" |
||||
steps: |
||||
- uses: hecrj/setup-rust-action@v1 |
||||
with: |
||||
rust-version: stable |
||||
- uses: actions/checkout@v1 |
||||
- name: Build release binary |
||||
run: cargo build --release |
||||
env: |
||||
LZMA_API_STATIC: "true" |
||||
- name: Strip binary from debug symbols |
||||
run: strip target/release/fnm |
||||
- name: List dynamically linked libraries |
||||
run: otool -L target/release/fnm |
||||
- name: Compress binary using UPX |
||||
run: | |
||||
brew install upx |
||||
upx target/release/fnm |
||||
- uses: actions/upload-artifact@v2 |
||||
with: |
||||
name: fnm-macos |
||||
path: target/release/fnm |
||||
|
||||
build_static_linux_binary: |
||||
name: "Build static Linux binary" |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v2 |
||||
- name: Build static binary |
||||
run: | |
||||
sudo chown -R 1000:1000 . |
||||
docker run --rm -v "$(pwd)":/home/rust/src ekidd/rust-musl-builder:stable \ |
||||
cargo build --release |
||||
sudo chown -R $(whoami):$(whoami) . |
||||
- name: Compress binary using UPX |
||||
run: | |
||||
sudo apt-get install -y upx |
||||
upx target/x86_64-unknown-linux-musl/release/fnm |
||||
- uses: actions/upload-artifact@v2 |
||||
with: |
||||
name: fnm-linux |
||||
path: target/x86_64-unknown-linux-musl/release/fnm |
||||
|
||||
# benchmark_on_linux: |
||||
# name: Performance Benchmarks (Linux) |
||||
# needs: [build_static_linux_binary] |
||||
# runs-on: ubuntu-latest |
||||
# steps: |
||||
# - uses: octokit/request-action@v2.x |
||||
# id: get_master_workflows |
||||
# with: |
||||
# route: GET /repos/:repository/actions/runs |
||||
# repository: ${{ github.repository }} |
||||
# branch: master |
||||
# status: completed |
||||
# env: |
||||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
# - uses: octokit/request-action@v2.x |
||||
# id: get_latest_artifacts |
||||
# with: |
||||
# route: GET /repos/:repository/actions/runs/:workflow_id/artifacts |
||||
# repository: ${{ github.repository }} |
||||
# workflow_id: ${{ fromJson(steps.get_master_workflows.outputs.data).workflow_runs[0].id }} |
||||
# env: |
||||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
# - name: "Take the output" |
||||
# run: | |
||||
# URL=$(echo '${{ steps.get_latest_artifacts.outputs.data }}' | jq -r '.artifacts | map(select(.name == "fnm-linux")) | .[0].archive_download_url') |
||||
# curl -L $URL -H 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' > /tmp/fnm-latest.zip |
||||
# mkdir ~/.fnm-latest |
||||
# unzip -d ~/.fnm-latest /tmp/fnm-latest.zip |
||||
# ls -lah ~/.fnm-latest |
||||
# - uses: actions/checkout@v2 |
||||
# - name: Install Hyperfine |
||||
# run: | |
||||
# wget https://github.com/sharkdp/hyperfine/releases/download/v1.10.0/hyperfine_1.10.0_amd64.deb |
||||
# sudo dpkg -i hyperfine_1.10.0_amd64.deb |
||||
# - name: Install fnm-reason for Linux |
||||
# run: curl -fsSL https://github.com/Schniz/fnm/raw/master/.ci/install.sh | bash -s -- --skip-shell |
||||
# - name: Install nvm |
||||
# run: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash |
||||
# - uses: actions/download-artifact@v2 |
||||
# with: |
||||
# name: fnm-linux |
||||
# path: target/release/ |
||||
# - name: "Run benchmarks" |
||||
# run: bash benchmarks/run |
||||
|
||||
# - name: Read basic.md for the generated report |
||||
# id: basic_result |
||||
# uses: juliangruber/read-file-action@v1 |
||||
# with: |
||||
# path: benchmarks/results/basic.md |
||||
|
||||
# - uses: octokit/request-action@v2.x |
||||
# id: get_latest_release |
||||
# with: |
||||
# route: POST /repos/:repository/commits/:commit_sha/comments |
||||
# repository: ${{ github.repository }} |
||||
# commit_sha: ${{ github.sha }} |
||||
# body: | |
||||
# | |
||||
# ${{ steps.basic_result.outputs.content }} |
||||
# env: |
||||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
@ -1,15 +1,6 @@
@@ -1,15 +1,6 @@
|
||||
npm-debug.log |
||||
.merlin |
||||
yarn-error.log |
||||
node_modules |
||||
node_modules/ |
||||
_build |
||||
_release |
||||
_esy/ |
||||
fnm.install |
||||
.DS_Store |
||||
*.install |
||||
.tmp |
||||
docs/screen_recording |
||||
.idea |
||||
.fnmTmp |
||||
/benchmarks/results |
||||
/target |
||||
**/*.rs.bk |
||||
feature_tests/.tmp |
||||
*.log |
||||
|
@ -0,0 +1,41 @@
@@ -0,0 +1,41 @@
|
||||
[package] |
||||
name = "fnm" |
||||
version = "0.1.0" |
||||
authors = ["Gal Schlezinger <gal@spitfire.co.il>"] |
||||
edition = "2018" |
||||
build = "build.rs" |
||||
|
||||
[dependencies] |
||||
serde = { version = "1.0.115", features = ["derive"] } |
||||
clap = "2.33.3" |
||||
structopt = "0.3.16" |
||||
reqwest = { version = "0.10.7", features = ["blocking", "json"] } |
||||
serde_json = "1.0.57" |
||||
chrono = { version = "0.4.15", features = ["serde"] } |
||||
tar = "0.4.29" |
||||
xz2 = "0.1.6" |
||||
semver = "0.10.0" |
||||
dirs = "3.0.1" |
||||
colored = "2.0.0" |
||||
zip = "0.5.6" |
||||
tempfile = "3.1.0" |
||||
indoc = "1.0.2" |
||||
snafu = { version = "0.6.8", features = ["backtrace"] } |
||||
log = "0.4.11" |
||||
env_logger = "0.7.1" |
||||
atty = "0.2.14" |
||||
encoding_rs_io = "0.1.7" |
||||
|
||||
[dev-dependencies] |
||||
pretty_assertions = "0.6.1" |
||||
duct = "0.13.4" |
||||
test-env-log = "0.2.2" |
||||
shell-escape = "0.1.5" |
||||
insta = { version = "0.16.1", features = ["backtrace"] } |
||||
serial_test = "0.4.0" |
||||
|
||||
[build-dependencies] |
||||
embed-resource = "1.3.3" |
||||
|
||||
[target.'cfg(windows)'.dependencies] |
||||
csv = "1.1.3" |
@ -1,18 +0,0 @@
@@ -1,18 +0,0 @@
|
||||
FROM frolvlad/alpine-glibc |
||||
|
||||
RUN apk add --no-cache nodejs bash npm curl g++ make m4 patch gmp-dev perl git jq perl-utils libressl-dev coreutils |
||||
|
||||
USER root |
||||
|
||||
RUN npm -g config set user root |
||||
RUN npm i -g esy@latest |
||||
|
||||
WORKDIR /app |
||||
ADD . /app |
||||
|
||||
RUN jq '. | .buildDirs.executable.flags |= . + ["-ccopt", "-static"]' package.json > package.json.new && mv package.json.new package.json |
||||
RUN npx esy i |
||||
RUN npx esy verify-fnm-package |
||||
RUN npx esy pesy |
||||
RUN npx esy b |
||||
RUN npx esy test |
@ -1,74 +0,0 @@
@@ -1,74 +0,0 @@
|
||||
# Starter pipeline |
||||
# Start with a minimal pipeline that you can customize to build and deploy your code. |
||||
# Add steps that build, run tests, deploy, and more: |
||||
# https://aka.ms/yaml |
||||
|
||||
name: $(Build.SourceVersion) |
||||
jobs: |
||||
- job: Linux |
||||
timeoutInMinutes: 0 |
||||
pool: |
||||
vmImage: 'Ubuntu 16.04' |
||||
|
||||
variables: |
||||
ESY__CACHE_INSTALL_PATH: /home/vsts/.esy/3_____________________________________________________________________/i/ |
||||
ESY__CACHE_SOURCE_TARBALL_PATH: /home/vsts/.esy/source/i |
||||
|
||||
steps: |
||||
# TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Linux. |
||||
# - template: .ci/restore-build-cache.yml |
||||
- script: sudo apt-get install -y fish |
||||
- script: .ci/create-static-binary.sh |
||||
- script: ./feature_tests/run.sh $(pwd)/fnm |
||||
# - script: bash .ci/prepare-static-build.sh |
||||
# - template: .ci/esy-build-steps.yml |
||||
# - template: .ci/publish-build-cache.yml |
||||
- task: PublishBuildArtifacts@1 |
||||
displayName: 'Save artifact' |
||||
inputs: |
||||
PathtoPublish: fnm |
||||
ArtifactName: fnm-linux |
||||
|
||||
- job: MacOS |
||||
timeoutInMinutes: 0 |
||||
pool: |
||||
vmImage: 'macOS 10.14' |
||||
|
||||
variables: |
||||
ESY__CACHE_INSTALL_PATH: /Users/vsts/.esy/3____________________________________________________________________/i/ |
||||
ESY__CACHE_SOURCE_TARBALL_PATH: /Users/vsts/.esy/source/i |
||||
|
||||
steps: |
||||
# TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Mac. |
||||
# - template: .ci/restore-build-cache.yml |
||||
- script: brew install fish gmp |
||||
- script: sudo rm $(brew --prefix gmp)/lib/*.dylib |
||||
# remove /usr/local/lib/libgmp.dylib |
||||
- template: .ci/esy-build-steps.yml |
||||
- script: cp _esy/default/build/default/executable/FnmApp.exe _esy/default/build/fnm |
||||
- script: otool -L _esy/default/build/fnm |
||||
displayName: 'list dynamic libraries' |
||||
- script: strip _esy/default/build/fnm |
||||
- script: ./feature_tests/run.sh $(pwd)/_esy/default/build/fnm |
||||
# - template: .ci/publish-build-cache.yml |
||||
- task: PublishBuildArtifacts@1 |
||||
displayName: 'Save artifact' |
||||
inputs: |
||||
PathtoPublish: '_esy/default/build/fnm' |
||||
ArtifactName: fnm-macos |
||||
|
||||
- job: Release |
||||
timeoutInMinutes: 0 |
||||
displayName: Release |
||||
dependsOn: |
||||
- Linux |
||||
- MacOS |
||||
condition: succeeded() |
||||
pool: |
||||
vmImage: ubuntu-16.04 |
||||
steps: |
||||
- task: PublishBuildArtifacts@1 |
||||
displayName: 'Release Package' |
||||
inputs: |
||||
PathtoPublish: '.' |
||||
ArtifactName: npm-package |
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
fn main() { |
||||
embed_resource::compile("fnm-manifest.rc"); |
||||
} |
@ -1,3 +0,0 @@
@@ -1,3 +0,0 @@
|
||||
|
||||
# Set eol to LF so files aren't converted to CRLF-eol on Windows. |
||||
* text eol=lf linguist-generated |
@ -1,3 +0,0 @@
@@ -1,3 +0,0 @@
|
||||
|
||||
# Reset any possible .gitignore, we want all esy.lock to be un-ignored. |
||||
!* |
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
opam-version: "2.0" |
||||
authors: "David Kaloper Meršinjak" |
||||
maintainer: "David Kaloper Meršinjak <dk505@cam.ac.uk>" |
||||
homepage: "https://github.com/mirleft/ocaml-asn1-combinators" |
||||
doc: "https://mirleft.github.io/ocaml-asn1-combinators/doc" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirleft/ocaml-asn1-combinators.git" |
||||
bug-reports: "https://github.com/mirleft/ocaml-asn1-combinators/issues" |
||||
synopsis: "Embed typed ASN.1 grammars in OCaml" |
||||
build: [ ["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs ] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} ] |
||||
depends: [ |
||||
"ocaml" {>="4.05.0"} |
||||
"dune" {>= "1.2.0"} |
||||
"cstruct" {>= "1.6.0"} |
||||
"zarith" |
||||
"bigarray-compat" |
||||
"stdlib-shims" |
||||
"ptime" |
||||
"alcotest" {with-test} |
||||
] |
||||
description: """ |
||||
asn1-combinators is a library for expressing ASN.1 in OCaml. Skip the notation |
||||
part of ASN.1, and embed the abstract syntax directly in the language. These |
||||
abstract syntax representations can be used for parsing, serialization, or |
||||
random testing. |
||||
|
||||
The only ASN.1 encodings currently supported are BER and DER. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v0.2.2/asn1-combinators-v0.2.2.tbz" |
||||
checksum: [ |
||||
"sha256=c9ebd5f9def090003918081cac680224eaefbf3def8aed8fe532b711a71d3631" |
||||
"sha512=199dda83814d7782183d67f9cdd6f5e8f036cbc1bcddec7ffd4adfd415ae024d1f7c720835eb173ab5e7455ed89acb99f88d0a30402c3edbfe6ca8a7182b217b" |
||||
] |
||||
} |
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"] |
||||
homepage: "http://erratique.ch/software/astring" |
||||
doc: "http://erratique.ch/software/astring/doc" |
||||
dev-repo: "git+http://erratique.ch/repos/astring.git" |
||||
bug-reports: "https://github.com/dbuenzli/astring/issues" |
||||
tags: [ "string" "org:erratique" ] |
||||
license: "ISC" |
||||
depends: [ |
||||
"ocaml" {>= "4.01.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"base-bytes" |
||||
] |
||||
build: [[ |
||||
"ocaml" "pkg/pkg.ml" "build" |
||||
"--pinned" "%{pinned}%" ]] |
||||
synopsis: "Alternative String module for OCaml" |
||||
description: """ |
||||
Astring exposes an alternative `String` module for OCaml. This module |
||||
tries to balance minimality and expressiveness for basic, index-free, |
||||
string processing and provides types and functions for substrings, |
||||
string sets and string maps. |
||||
|
||||
Remaining compatible with the OCaml `String` module is a non-goal. The |
||||
`String` module exposed by Astring has exception safe functions, |
||||
removes deprecated and rarely used functions, alters some signatures |
||||
and names, adds a few missing functions and fully exploits OCaml's |
||||
newfound string immutability. |
||||
|
||||
Astring depends only on the OCaml standard library. It is distributed |
||||
under the ISC license.""" |
||||
url { |
||||
src: "http://erratique.ch/software/astring/releases/astring-0.8.3.tbz" |
||||
checksum: "md5=c5bf6352b9ac27fbeab342740f4fa870" |
||||
} |
@ -1,34 +0,0 @@
@@ -1,34 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "martin@mjambon.com" |
||||
authors: ["Martin Jambon"] |
||||
|
||||
homepage: "https://github.com/mjambon/atd" |
||||
bug-reports: "https://github.com/mjambon/atd/issues" |
||||
dev-repo: "git://github.com/mjambon/atd.git" |
||||
|
||||
build: [ |
||||
["jbuilder" "subst" "-p" name] {pinned} |
||||
["jbuilder" "build" "-p" name "-j" jobs] |
||||
] |
||||
|
||||
# Restore when https://github.com/mjambon/atd/issues/121 is resolved. |
||||
# build-test: [ |
||||
# ["jbuilder" "runtest" "-p" name] |
||||
# ] |
||||
|
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"jbuilder" |
||||
"menhir" {build} |
||||
"easy-format" |
||||
] |
||||
synopsis: "Parser for the ATD data format description language" |
||||
description: """ |
||||
ATD is the OCaml library providing a parser for the ATD language and |
||||
various utilities. ATD stands for Adjustable Type Definitions in |
||||
reference to its main property of supporting annotations that allow a |
||||
good fit with a variety of data formats.""" |
||||
url { |
||||
src: "https://github.com/mjambon/atd/releases/download/2.0.0/atd-2.0.0.tbz" |
||||
checksum: "md5=14e47609397c524ea0eae7c3f14f7ccf" |
||||
} |
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "martin@mjambon.com" |
||||
authors: ["Martin Jambon"] |
||||
|
||||
homepage: "https://github.com/mjambon/atd" |
||||
bug-reports: "https://github.com/mjambon/atd/issues" |
||||
dev-repo: "git://github.com/mjambon/atd.git" |
||||
|
||||
build: [ |
||||
["jbuilder" "subst" "-p" name] {pinned} |
||||
["jbuilder" "build" "-p" name "-j" jobs] |
||||
] |
||||
|
||||
# Restore when https://github.com/mjambon/atd/issues/121 is resolved. |
||||
# build-test: [ |
||||
# ["jbuilder" "runtest" "-p" name] |
||||
# ] |
||||
|
||||
depends: [ |
||||
"ocaml" {>= "4.02.3"} |
||||
"jbuilder" |
||||
"biniou" {>= "1.0.6"} |
||||
"yojson" {>= "1.2.1"} |
||||
] |
||||
synopsis: "Runtime library for code generated by atdgen." |
||||
url { |
||||
src: "https://github.com/mjambon/atd/releases/download/2.0.0/atd-2.0.0.tbz" |
||||
checksum: "md5=14e47609397c524ea0eae7c3f14f7ccf" |
||||
} |
@ -1,44 +0,0 @@
@@ -1,44 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "martin@mjambon.com" |
||||
authors: ["Martin Jambon"] |
||||
|
||||
homepage: "https://github.com/mjambon/atd" |
||||
bug-reports: "https://github.com/mjambon/atd/issues" |
||||
dev-repo: "git://github.com/mjambon/atd.git" |
||||
|
||||
build: [ |
||||
["jbuilder" "subst" "-p" name] {pinned} |
||||
["jbuilder" "build" "-p" name "-j" jobs] |
||||
] |
||||
|
||||
# Restore when https://github.com/mjambon/atd/issues/121 is resolved. |
||||
# build-test: [ |
||||
# ["jbuilder" "runtest" "-p" name] |
||||
# ] |
||||
|
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"jbuilder" |
||||
"atd" {>= "2.0.0"} |
||||
"atdgen-runtime" {>= "2.0.0"} |
||||
"biniou" {>= "1.0.6"} |
||||
"yojson" {>= "1.2.1"} |
||||
] |
||||
synopsis: |
||||
"Generates efficient JSON serializers, deserializers and validators" |
||||
description: """ |
||||
Atdgen is a command-line program that takes as input type definitions in the |
||||
ATD syntax and produces OCaml code suitable for data serialization and |
||||
deserialization. |
||||
|
||||
Two data formats are currently supported, these are biniou and JSON. |
||||
Atdgen-biniou and Atdgen-json will refer to Atdgen used in one context or the |
||||
other. |
||||
|
||||
Atdgen was designed with efficiency and durability in mind. Software authors |
||||
are encouraged to use Atdgen directly and to write tools that may reuse part of |
||||
Atdgen’s source code.""" |
||||
url { |
||||
src: "https://github.com/mjambon/atd/releases/download/2.0.0/atd-2.0.0.tbz" |
||||
checksum: "md5=14e47609397c524ea0eae7c3f14f7ccf" |
||||
} |
@ -1,9 +0,0 @@
@@ -1,9 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: " " |
||||
authors: " " |
||||
homepage: " " |
||||
depends: [ |
||||
"ocaml" {>= "4.02.0"} |
||||
"ocamlfind" {>= "1.5.3"} |
||||
] |
||||
synopsis: "Bytes library distributed with the OCaml compiler" |
@ -1,6 +0,0 @@
@@ -1,6 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "https://github.com/ocaml/opam-repository/issues" |
||||
description: """ |
||||
Threads library distributed with the OCaml compiler |
||||
""" |
||||
|
@ -1,6 +0,0 @@
@@ -1,6 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "https://github.com/ocaml/opam-repository/issues" |
||||
description: """ |
||||
Unix library distributed with the OCaml compiler |
||||
""" |
||||
|
@ -1,36 +0,0 @@
@@ -1,36 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "opensource@janestreet.com" |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
homepage: "https://github.com/janestreet/base" |
||||
bug-reports: "https://github.com/janestreet/base/issues" |
||||
dev-repo: "git+https://github.com/janestreet/base.git" |
||||
doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/base/index.html" |
||||
license: "MIT" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.04.2"} |
||||
"sexplib0" {>= "v0.13" & < "v0.14"} |
||||
"dune" {>= "1.5.1"} |
||||
"dune-configurator" |
||||
] |
||||
synopsis: "Full standard library replacement for OCaml" |
||||
description: " |
||||
Full standard library replacement for OCaml |
||||
|
||||
Base is a complete and portable alternative to the OCaml standard |
||||
library. It provides all standard functionalities one would expect |
||||
from a language standard library. It uses consistent conventions |
||||
across all of its module. |
||||
|
||||
Base aims to be usable in any context. As a result system dependent |
||||
features such as I/O are not offered by Base. They are instead |
||||
provided by companion libraries such as stdio: |
||||
|
||||
https://github.com/janestreet/stdio |
||||
" |
||||
url { |
||||
src: "https://github.com/janestreet/base/archive/v0.13.1.tar.gz" |
||||
checksum: "md5=296457416f9a8b75e6edfc3b1140e384" |
||||
} |
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "mirageos-devel@lists.xenproject.org" |
||||
authors: [ "Thomas Gazagnaire" |
||||
"Anil Madhavapeddy" "Calascibetta Romain" |
||||
"Peter Zotov" ] |
||||
license: "ISC" |
||||
homepage: "https://github.com/mirage/ocaml-base64" |
||||
doc: "http://mirage.github.io/ocaml-base64/" |
||||
bug-reports: "https://github.com/mirage/ocaml-base64/issues" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-base64.git" |
||||
synopsis: "Base64 encoding for OCaml" |
||||
description: """ |
||||
Base64 is a group of similar binary-to-text encoding schemes that represent |
||||
binary data in an ASCII string format by translating it into a radix-64 |
||||
representation. It is specified in RFC 4648. |
||||
""" |
||||
depends: [ |
||||
"ocaml" {>="4.03.0"} |
||||
"base-bytes" |
||||
"dune-configurator" |
||||
"dune" {>= "2.0"} |
||||
"bos" {with-test} |
||||
"rresult" {with-test} |
||||
"alcotest" {with-test & < "1.0.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name] {with-test} |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-base64/releases/download/v3.3.0/base64-v3.3.0.tbz" |
||||
checksum: [ |
||||
"sha256=3ae91334f029ccd96690b598010f94e55811095d14a37d52f1724e5eca0f35cc" |
||||
"sha512=818103de0ac03b9a04f5aafc119341522bf69e57dfbd038b321f92ab8cbf7fc7084ca3012086baece12da94d4d5448eb927f70b741025a13d49e93ca6ea27d41" |
||||
] |
||||
} |
@ -1,23 +0,0 @@
@@ -1,23 +0,0 @@
|
||||
opam-version: "2.0" |
||||
synopsis: "Compatibility library to use Stdlib.Bigarray when possible" |
||||
maintainer: "Lucas Pluvinage <lucas.pluvinage@gmail.com>" |
||||
authors: "Lucas Pluvinage <lucas.pluvinage@gmail.com>" |
||||
license: "ISC" |
||||
homepage: "https://github.com/mirage/bigarray-compat" |
||||
bug-reports: "https://github.com/mirage/bigarray-compat/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" {>= "1.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/bigarray-compat.git" |
||||
url { |
||||
src: "https://github.com/mirage/bigarray-compat/archive/v1.0.0.tar.gz" |
||||
checksum: [ |
||||
"md5=1cc7c25382a8900bada34aadfd66632e" |
||||
"sha512=c365fee15582aca35d7b05268cde29e54774ad7df7be56762b4aad78ca1409d4326ad3b34af0f1cc2c7b872837290a9cd9ff43b47987c03bba7bba32fe8a030f" |
||||
] |
||||
} |
@ -1,45 +0,0 @@
@@ -1,45 +0,0 @@
|
||||
opam-version: "2.0" |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
["dune" "build" "-p" name "@doc"] {with-doc} |
||||
] |
||||
maintainer: ["martin@mjambon.com"] |
||||
authors: ["Martin Jambon"] |
||||
bug-reports: "https://github.com/mjambon/biniou/issues" |
||||
homepage: "https://github.com/mjambon/biniou" |
||||
doc: "https://mjambon.github.io/biniou/" |
||||
license: "BSD-3-Clause" |
||||
dev-repo: "git+https://github.com/mjambon/biniou.git" |
||||
synopsis: |
||||
"Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve" |
||||
description: """ |
||||
|
||||
Biniou (pronounced "be new") is a binary data format designed for speed, safety, |
||||
ease of use and backward compatibility as protocols evolve. Biniou is vastly |
||||
equivalent to JSON in terms of functionality but allows implementations several |
||||
times faster (4 times faster than yojson), with 25-35% space savings. |
||||
|
||||
Biniou data can be decoded into human-readable form without knowledge of type |
||||
definitions except for field and variant names which are represented by 31-bit |
||||
hashes. A program named bdump is provided for routine visualization of biniou |
||||
data files. |
||||
|
||||
The program atdgen is used to derive OCaml-Biniou serializers and deserializers |
||||
from type definitions. |
||||
|
||||
Biniou format specification: mjambon.github.io/atdgen-doc/biniou-format.txt""" |
||||
depends: [ |
||||
"easy-format" |
||||
"dune" {>= "1.10"} |
||||
"ocaml" {>= "4.02.3"} |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/mjambon/biniou/releases/download/1.2.1/biniou-1.2.1.tbz" |
||||
checksum: [ |
||||
"sha256=35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335" |
||||
"sha512=82670cc77bf3e869ee26e5fbe5a5affa45a22bc8b6c4bd7e85473912780e0111baca59b34a2c14feae3543ce6e239d7fddaeab24b686a65bfe642cdb91d27ebf" |
||||
] |
||||
} |
@ -1,36 +0,0 @@
@@ -1,36 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"] |
||||
homepage: "http://erratique.ch/software/cmdliner" |
||||
doc: "http://erratique.ch/software/cmdliner/doc/Cmdliner" |
||||
dev-repo: "git+http://erratique.ch/repos/cmdliner.git" |
||||
bug-reports: "https://github.com/dbuenzli/cmdliner/issues" |
||||
tags: [ "cli" "system" "declarative" "org:erratique" ] |
||||
license: "ISC" |
||||
depends:[ "ocaml" {>= "4.03.0"} ] |
||||
build: [[ make "all" "PREFIX=%{prefix}%" ]] |
||||
install: |
||||
[[make "install" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%" ] |
||||
[make "install-doc" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%" ]] |
||||
|
||||
synopsis: """Declarative definition of command line interfaces for OCaml""" |
||||
description: """\ |
||||
|
||||
Cmdliner allows the declarative definition of command line interfaces |
||||
for OCaml. |
||||
|
||||
It provides a simple and compositional mechanism to convert command |
||||
line arguments to OCaml values and pass them to your functions. The |
||||
module automatically handles syntax errors, help messages and UNIX man |
||||
page generation. It supports programs with single or multiple commands |
||||
and respects most of the [POSIX][1] and [GNU][2] conventions. |
||||
|
||||
Cmdliner has no dependencies and is distributed under the ISC license. |
||||
|
||||
[1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html |
||||
[2]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html |
||||
""" |
||||
url { |
||||
archive: "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.4.tbz" |
||||
checksum: "fe2213d0bc63b1e10a2d0aa66d2fc8d9" |
||||
} |
@ -1,53 +0,0 @@
@@ -1,53 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" |
||||
"Stefano Zacchiroli" |
||||
"David Sheets" |
||||
"Thomas Gazagnaire" |
||||
"David Scott" |
||||
"Rudi Grinberg" |
||||
"Andy Ray" |
||||
] |
||||
synopsis: "CoHTTP implementation for Unix and Windows using Lwt" |
||||
description: """ |
||||
An implementation of an HTTP client and server using the Lwt |
||||
concurrency library. See the `Cohttp_lwt_unix` module for information |
||||
on how to use this. The package also installs `cohttp-curl-lwt` |
||||
and a `cohttp-server-lwt` binaries for quick uses of a HTTP(S) |
||||
client and server respectively. |
||||
|
||||
Although the name implies that this only works under Unix, it |
||||
should also be fine under Windows too.""" |
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-cohttp" |
||||
doc: "https://mirage.github.io/ocaml-cohttp/" |
||||
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.1"} |
||||
"dune" {>= "1.1.0"} |
||||
"conduit-lwt-unix" {>= "1.0.3"} |
||||
"cmdliner" |
||||
"magic-mime" |
||||
"logs" |
||||
"fmt" {>= "0.8.2"} |
||||
"cohttp-lwt" {=version} |
||||
"lwt" {>= "3.0.0"} |
||||
"base-unix" |
||||
"ounit" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cohttp/releases/download/v2.5.1/cohttp-v2.5.1.tbz" |
||||
checksum: [ |
||||
"sha256=268de1479bf010c16f1de1ab5f9c75595dfdcafb2017ed4e73f8773b620da946" |
||||
"sha512=051aa57ad631ba766f22f6ebc0746545fc74ca1180206c695deb1ca73800f7ea436c88f95a0bb1d78a8dc1da0685a19553cdacd04667893022215bedbc2b880a" |
||||
] |
||||
} |
@ -1,49 +0,0 @@
@@ -1,49 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" |
||||
"Stefano Zacchiroli" |
||||
"David Sheets" |
||||
"Thomas Gazagnaire" |
||||
"David Scott" |
||||
"Rudi Grinberg" |
||||
"Andy Ray" |
||||
] |
||||
synopsis: "CoHTTP implementation using the Lwt concurrency library" |
||||
description: """ |
||||
This is a portable implementation of HTTP that uses the Lwt |
||||
concurrency library to multiplex IO. It implements as much of the |
||||
logic in an OS-independent way as possible, so that more specialised |
||||
modules can be tailored for different targets. For example, you |
||||
can install `cohttp-lwt-unix` or `cohttp-lwt-jsoo` for a Unix or |
||||
JavaScript backend, or `cohttp-mirage` for the MirageOS unikernel |
||||
version of the library. All of these implementations share the same |
||||
IO logic from this module.""" |
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-cohttp" |
||||
doc: "https://mirage.github.io/ocaml-cohttp/" |
||||
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.1"} |
||||
"dune" {>= "1.1.0"} |
||||
"cohttp" {=version} |
||||
"lwt" {>= "2.5.0"} |
||||
"sexplib0" |
||||
"ppx_sexp_conv" {>= "v0.13.0"} |
||||
"logs" |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cohttp/releases/download/v2.5.1/cohttp-v2.5.1.tbz" |
||||
checksum: [ |
||||
"sha256=268de1479bf010c16f1de1ab5f9c75595dfdcafb2017ed4e73f8773b620da946" |
||||
"sha512=051aa57ad631ba766f22f6ebc0746545fc74ca1180206c695deb1ca73800f7ea436c88f95a0bb1d78a8dc1da0685a19553cdacd04667893022215bedbc2b880a" |
||||
] |
||||
} |
@ -1,64 +0,0 @@
@@ -1,64 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" |
||||
"Stefano Zacchiroli" |
||||
"David Sheets" |
||||
"Thomas Gazagnaire" |
||||
"David Scott" |
||||
"Rudi Grinberg" |
||||
"Andy Ray" |
||||
] |
||||
synopsis: "An OCaml library for HTTP clients and servers" |
||||
description: """ |
||||
Cohttp is an OCaml library for creating HTTP daemons. It has a portable |
||||
HTTP parser, and implementations using various asynchronous programming |
||||
libraries. |
||||
|
||||
See the cohttp-async, cohttp-lwt, cohttp-lwt-unix, cohttp-lwt-jsoo and |
||||
cohttp-mirage libraries for concrete implementations for particular |
||||
targets. |
||||
|
||||
You can implement other targets using the parser very easily. Look at the `IO` |
||||
signature in `lib/s.mli` and implement that in the desired backend. |
||||
|
||||
You can activate some runtime debugging by setting `COHTTP_DEBUG` to any |
||||
value, and all requests and responses will be written to stderr. Further |
||||
debugging of the connection layer can be obtained by setting `CONDUIT_DEBUG` |
||||
to any value.""" |
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-cohttp" |
||||
doc: "https://mirage.github.io/ocaml-cohttp/" |
||||
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.1"} |
||||
"dune" {>= "1.1.0"} |
||||
"re" {>= "1.9.0"} |
||||
"uri" {>= "2.0.0"} |
||||
"uri-sexp" |
||||
"fieldslib" |
||||
"sexplib0" |
||||
"ppx_fields_conv" {>= "v0.9.0"} |
||||
"ppx_sexp_conv" {>= "v0.13.0"} |
||||
"stringext" |
||||
"base64" {>= "3.1.0"} |
||||
"stdlib-shims" |
||||
"fmt" {with-test} |
||||
"jsonm" {build} |
||||
"alcotest" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cohttp/releases/download/v2.5.1/cohttp-v2.5.1.tbz" |
||||
checksum: [ |
||||
"sha256=268de1479bf010c16f1de1ab5f9c75595dfdcafb2017ed4e73f8773b620da946" |
||||
"sha512=051aa57ad631ba766f22f6ebc0746545fc74ca1180206c695deb1ca73800f7ea436c88f95a0bb1d78a8dc1da0685a19553cdacd04667893022215bedbc2b880a" |
||||
] |
||||
} |
@ -1,39 +0,0 @@
@@ -1,39 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" "Thomas Leonard" "Thomas Gazagnaire" "Rudi Grinberg" |
||||
] |
||||
license: "ISC" |
||||
tags: "org:mirage" |
||||
homepage: "https://github.com/mirage/ocaml-conduit" |
||||
bug-reports: "https://github.com/mirage/ocaml-conduit/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" |
||||
"base-unix" |
||||
"ppx_sexp_conv" {>= "v0.9.0" & < "v0.14"} |
||||
"conduit-lwt" {=version} |
||||
"lwt" {>= "3.0.0"} |
||||
"uri" {>= "1.9.4"} |
||||
"ipaddr" {>= "4.0.0"} |
||||
"ipaddr-sexp" |
||||
] |
||||
depopts: ["tls" "lwt_ssl" "launchd"] |
||||
conflicts: [ |
||||
"tls" {< "0.8.0"} |
||||
"ssl" {< "0.5.9"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-conduit.git" |
||||
synopsis: "A network connection establishment library for Lwt_unix" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-conduit/releases/download/v2.0.2/conduit-v2.0.2.tbz" |
||||
checksum: [ |
||||
"sha256=2510372ed98c7e0446d788317a435f752d900d72df0fbe4c353f5e5bfb9d1dd2" |
||||
"sha512=3e25b754c84dd603acbb4d810b532c3cfb273808b9bf9a17890e40b79e65529d17cd66d613a447cb2a7f51f0522f17d46ab0ade5c79cb2a3c8565efd484238ae" |
||||
] |
||||
} |
@ -1,32 +0,0 @@
@@ -1,32 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" "Thomas Leonard" "Thomas Gazagnaire" "Rudi Grinberg" |
||||
] |
||||
license: "ISC" |
||||
tags: "org:mirage" |
||||
homepage: "https://github.com/mirage/ocaml-conduit" |
||||
bug-reports: "https://github.com/mirage/ocaml-conduit/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" |
||||
"base-unix" |
||||
"ppx_sexp_conv" {>= "v0.9.0" & < "v0.14"} |
||||
"sexplib" {< "v0.14"} |
||||
"conduit" {=version} |
||||
"lwt" {>= "3.0.0"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-conduit.git" |
||||
synopsis: "A portable network connection establishment library using Lwt" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-conduit/releases/download/v2.0.2/conduit-v2.0.2.tbz" |
||||
checksum: [ |
||||
"sha256=2510372ed98c7e0446d788317a435f752d900d72df0fbe4c353f5e5bfb9d1dd2" |
||||
"sha512=3e25b754c84dd603acbb4d810b532c3cfb273808b9bf9a17890e40b79e65529d17cd66d613a447cb2a7f51f0522f17d46ab0ade5c79cb2a3c8565efd484238ae" |
||||
] |
||||
} |
@ -1,56 +0,0 @@
@@ -1,56 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: [ |
||||
"Anil Madhavapeddy" "Thomas Leonard" "Thomas Gazagnaire" "Rudi Grinberg" |
||||
] |
||||
license: "ISC" |
||||
tags: "org:mirage" |
||||
homepage: "https://github.com/mirage/ocaml-conduit" |
||||
doc: "https://mirage.github.io/ocaml-conduit/" |
||||
bug-reports: "https://github.com/mirage/ocaml-conduit/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" |
||||
"ppx_sexp_conv" {>= "v0.9.0" & < "v0.14"} |
||||
"sexplib" {< "v0.14"} |
||||
"astring" |
||||
"uri" |
||||
"logs" {>= "0.5.0"} |
||||
"ipaddr" {>= "4.0.0"} |
||||
"ipaddr-sexp" |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-conduit.git" |
||||
synopsis: "A network connection establishment library" |
||||
description: """ |
||||
The `conduit` library takes care of establishing and listening for |
||||
TCP and SSL/TLS connections for the Lwt and Async libraries. |
||||
|
||||
The reason this library exists is to provide a degree of abstraction |
||||
from the precise SSL library used, since there are a variety of ways |
||||
to bind to a library (e.g. the C FFI, or the Ctypes library), as well |
||||
as well as which library is used (just OpenSSL for now). |
||||
|
||||
By default, OpenSSL is used as the preferred connection library, but |
||||
you can force the use of the pure OCaml TLS stack by setting the |
||||
environment variable `CONDUIT_TLS=native` when starting your program. |
||||
|
||||
The useful opam packages available that extend this library are: |
||||
|
||||
- `conduit`: the main `Conduit` module |
||||
- `conduit-lwt`: the portable Lwt implementation |
||||
- `conduit-lwt-unix`: the Lwt/Unix implementation |
||||
- `conduit-async` the Jane Street Async implementation |
||||
- `conduit-mirage`: the MirageOS compatible implementation |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-conduit/releases/download/v2.0.2/conduit-v2.0.2.tbz" |
||||
checksum: [ |
||||
"sha256=2510372ed98c7e0446d788317a435f752d900d72df0fbe4c353f5e5bfb9d1dd2" |
||||
"sha512=3e25b754c84dd603acbb4d810b532c3cfb273808b9bf9a17890e40b79e65529d17cd66d613a447cb2a7f51f0522f17d46ab0ade5c79cb2a3c8565efd484238ae" |
||||
] |
||||
} |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "tim@gfxmonk.net" |
||||
homepage: "http://www.gnu.org/software/m4/m4.html" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
authors: "GNU Project" |
||||
license: "GPL-3.0-only" |
||||
build: [["sh" "-exc" "echo | m4"]] |
||||
depexts: [ |
||||
["m4"] {os-family = "debian"} |
||||
["m4"] {os-distribution = "fedora"} |
||||
["m4"] {os-distribution = "rhel"} |
||||
["m4"] {os-distribution = "centos"} |
||||
["m4"] {os-distribution = "alpine"} |
||||
["m4"] {os-distribution = "nixos"} |
||||
["m4"] {os-family = "suse"} |
||||
["m4"] {os-distribution = "ol"} |
||||
["m4"] {os-distribution = "arch"} |
||||
] |
||||
synopsis: "Virtual package relying on m4" |
||||
description: |
||||
"This package can only install if the m4 binary is installed on the system." |
||||
flags: conf |
@ -1,18 +0,0 @@
@@ -1,18 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "tim@gfxmonk.net" |
||||
homepage: "https://www.perl.org/" |
||||
bug-reports: "https://github.com/ocaml/opam-repository/issues" |
||||
license: "GPL-1.0-or-later" |
||||
authors: "Larry Wall" |
||||
build: [["perl" "--version"]] |
||||
depexts: [ |
||||
["perl"] {os-family = "debian"} |
||||
["perl"] {os-distribution = "alpine"} |
||||
["perl"] {os-distribution = "nixos"} |
||||
["perl"] {os-distribution = "arch"} |
||||
["perl-Pod-Html"] {os-distribution = "fedora"} |
||||
] |
||||
synopsis: "Virtual package relying on perl" |
||||
description: |
||||
"This package can only install if the perl program is installed on the system." |
||||
flags: conf |
@ -1,37 +0,0 @@
@@ -1,37 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "martin@mjambon.com" |
||||
authors: "Martin Jambon" |
||||
license: "BSD-3-Clause" |
||||
homepage: "http://mjambon.com/cppo.html" |
||||
doc: "https://ocaml-community.github.io/cppo/" |
||||
bug-reports: "https://github.com/ocaml-community/cppo/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.03"} |
||||
"dune" {>= "1.0"} |
||||
"base-unix" |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/ocaml-community/cppo.git" |
||||
synopsis: "Code preprocessor like cpp for OCaml" |
||||
description: """ |
||||
Cppo is an equivalent of the C preprocessor for OCaml programs. |
||||
It allows the definition of simple macros and file inclusion. |
||||
|
||||
Cppo is: |
||||
|
||||
* more OCaml-friendly than cpp |
||||
* easy to learn without consulting a manual |
||||
* reasonably fast |
||||
* simple to install and to maintain |
||||
""" |
||||
url { |
||||
src: "https://github.com/ocaml-community/cppo/releases/download/v1.6.6/cppo-v1.6.6.tbz" |
||||
checksum: [ |
||||
"sha256=e7272996a7789175b87bb998efd079794a8db6625aae990d73f7b4484a07b8a0" |
||||
"sha512=44ecf9d225d9e45490a2feac0bde04865ca398dba6c3579e3370fcd1ea255707b8883590852af8b2df87123801062b9f3acce2455c092deabf431f9c4fb8d8eb" |
||||
] |
||||
} |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "David Kaloper Meršinjak <dk505@cam.ac.uk>" |
||||
authors: ["David Kaloper Meršinjak <dk505@cam.ac.uk>"] |
||||
homepage: "https://github.com/pqwy/cpuid" |
||||
doc: "https://pqwy.github.io/cpuid/doc" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/pqwy/cpuid.git" |
||||
bug-reports: "https://github.com/pqwy/cpuid/issues" |
||||
build: [ ["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs ] |
||||
["dune" "runtest"] {with-test} ] |
||||
depends: [ |
||||
"ocaml" {>="4.03.0"} |
||||
"dune" {>= "1.7"} |
||||
] |
||||
synopsis: "Detect CPU features" |
||||
description: "CPUID" |
||||
url { |
||||
src: |
||||
"https://github.com/pqwy/cpuid/releases/download/v0.1.2/cpuid-v0.1.2.tbz" |
||||
checksum: "md5=21079a17bcf6cfe92e2f706b9d0d6d8d" |
||||
} |
@ -1,35 +0,0 @@
@@ -1,35 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" |
||||
"Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" |
||||
"Mindy Preston" "Thomas Leonard" "Etienne Millon" ] |
||||
homepage: "https://github.com/mirage/ocaml-cstruct" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" |
||||
bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" |
||||
doc: "https://mirage.github.io/ocaml-cstruct/" |
||||
tags: [ "org:mirage" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"base-unix" |
||||
"dune" |
||||
"lwt" |
||||
"cstruct" {=version} |
||||
] |
||||
synopsis: "Access C-like structures directly from OCaml" |
||||
description: """ |
||||
Cstruct is a library and syntax extension to make it easier to access C-like |
||||
structures directly from OCaml. It supports both reading and writing to these |
||||
structures, and they are accessed via the `Bigarray` module.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cstruct/releases/download/v5.1.1/cstruct-v5.1.1.tbz" |
||||
checksum: [ |
||||
"sha256=55d1f42cb85f7872fee499c5ed382aea17b06d55d1709e071d1ba85c7a09fef3" |
||||
"sha512=c3aa9a5a9125a1d022506a76fd7cdf32b21edcdc9df1202d8a9f382d02a28a33fea9a958f79e9302907ade1fce3f166b620c320aed6486e3efcc9a7464379cab" |
||||
] |
||||
} |
@ -1,39 +0,0 @@
@@ -1,39 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" |
||||
"Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" |
||||
"Mindy Preston" "Thomas Leonard" "Anton Kochkov" "Etienne Millon" ] |
||||
homepage: "https://github.com/mirage/ocaml-cstruct" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" |
||||
bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" |
||||
doc: "https://mirage.github.io/ocaml-cstruct/" |
||||
|
||||
tags: [ "org:mirage" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" |
||||
"sexplib" |
||||
"cstruct" {=version} |
||||
"alcotest" {with-test} |
||||
] |
||||
synopsis: "S-expression serialisers for C-like structures" |
||||
description: """ |
||||
Cstruct is a library and syntax extension to make it easier to access C-like |
||||
structures directly from OCaml. It supports both reading and writing to these |
||||
structures, and they are accessed via the `Bigarray` module. |
||||
|
||||
This library provides Sexplib serialisers for the Cstruct.t values.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cstruct/releases/download/v5.1.1/cstruct-v5.1.1.tbz" |
||||
checksum: [ |
||||
"sha256=55d1f42cb85f7872fee499c5ed382aea17b06d55d1709e071d1ba85c7a09fef3" |
||||
"sha512=c3aa9a5a9125a1d022506a76fd7cdf32b21edcdc9df1202d8a9f382d02a28a33fea9a958f79e9302907ade1fce3f166b620c320aed6486e3efcc9a7464379cab" |
||||
] |
||||
} |
@ -1,37 +0,0 @@
@@ -1,37 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["Anil Madhavapeddy" "Richard Mortier" "Thomas Gazagnaire" |
||||
"Pierre Chambart" "David Kaloper" "Jeremy Yallop" "David Scott" |
||||
"Mindy Preston" "Thomas Leonard" "Anton Kochkov" "Etienne Millon" ] |
||||
homepage: "https://github.com/mirage/ocaml-cstruct" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-cstruct.git" |
||||
bug-reports: "https://github.com/mirage/ocaml-cstruct/issues" |
||||
doc: "https://mirage.github.io/ocaml-cstruct/" |
||||
|
||||
tags: [ "org:mirage" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" |
||||
"bigarray-compat" |
||||
"alcotest" {with-test} |
||||
] |
||||
conflicts: [ "js_of_ocaml" {<"3.5.0"} ] |
||||
synopsis: "Access C-like structures directly from OCaml" |
||||
description: """ |
||||
Cstruct is a library and syntax extension to make it easier to access C-like |
||||
structures directly from OCaml. It supports both reading and writing to these |
||||
structures, and they are accessed via the `Bigarray` module.""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-cstruct/releases/download/v5.1.1/cstruct-v5.1.1.tbz" |
||||
checksum: [ |
||||
"sha256=55d1f42cb85f7872fee499c5ed382aea17b06d55d1709e071d1ba85c7a09fef3" |
||||
"sha512=c3aa9a5a9125a1d022506a76fd7cdf32b21edcdc9df1202d8a9f382d02a28a33fea9a958f79e9302907ade1fce3f166b620c320aed6486e3efcc9a7464379cab" |
||||
] |
||||
} |
@ -1,37 +0,0 @@
@@ -1,37 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Hannes Mehnert <hannes@mehnert.org>" |
||||
authors: "Hannes Mehnert <hannes@mehnert.org>" |
||||
license: "ISC" |
||||
homepage: "https://github.com/hannesm/domain-name" |
||||
doc: "https://hannesm.github.io/domain-name/doc" |
||||
bug-reports: "https://github.com/hannesm/domain-name/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.2"} |
||||
"dune" |
||||
"fmt" |
||||
"astring" |
||||
"alcotest" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/hannesm/domain-name.git" |
||||
synopsis: "RFC 1035 Internet domain names" |
||||
description: """ |
||||
A domain name is a sequence of labels separated by dots, such as `foo.example`. |
||||
Each label may contain any bytes. The length of each label may not exceed 63 |
||||
charactes. The total length of a domain name is limited to 253 (byte |
||||
representation is 255), but other protocols (such as SMTP) may apply even |
||||
smaller limits. A domain name label is case preserving, comparison is done in a |
||||
case insensitive manner. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/hannesm/domain-name/releases/download/v0.3.0/domain-name-v0.3.0.tbz" |
||||
checksum: [ |
||||
"sha256=4dd9ed1bc619886d1adcaff14edfb503dedb77fc0b7a28d88d213aa1c44d6c8a" |
||||
"sha512=8229766b20a44622d3a94250c6909dbe64269aab6dde8dd13f6b1c027d63e119658fd35b459c6556817ab583bbfdbc5dbea97d3022f590184d70a72ecd7c0a34" |
||||
] |
||||
} |
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
opam-version: "2.0" |
||||
synopsis: "Helper library for gathering system configuration" |
||||
description: """ |
||||
dune-configurator is a small library that helps writing OCaml scripts that |
||||
test features available on the system, in order to generate config.h |
||||
files for instance. |
||||
Among other things, dune-configurator allows one to: |
||||
- test if a C program compiles |
||||
- query pkg-config |
||||
- import #define from OCaml header files |
||||
- generate config.h file |
||||
""" |
||||
maintainer: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
license: "MIT" |
||||
homepage: "https://github.com/ocaml/dune" |
||||
doc: "https://dune.readthedocs.io/" |
||||
bug-reports: "https://github.com/ocaml/dune/issues" |
||||
depends: [ |
||||
"dune" {>= "2.3"} |
||||
"dune-private-libs" {= version} |
||||
] |
||||
dev-repo: "git+https://github.com/ocaml/dune.git" |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
[ |
||||
"dune" |
||||
"build" |
||||
"-p" |
||||
name |
||||
"-j" |
||||
jobs |
||||
"@install" |
||||
"@doc" {with-doc} |
||||
] |
||||
] |
||||
url { |
||||
src: "https://github.com/ocaml/dune/releases/download/2.3.1/dune-2.3.1.tbz" |
||||
checksum: [ |
||||
"sha256=b2b3dd9cdfd34ef8c4583ea8c52c3503c2395bf94c264af19d6450547e12f5cb" |
||||
"sha512=023fe4ddf743b8de24de0d7d2e6d5d0f85e459c5044aa4ba3de02cf63113d54d79004cc8ea8f7a958b324e9cbeef0845ec6a0f65454bc6a2e635e8944d28a0f9" |
||||
] |
||||
} |
@ -1,42 +0,0 @@
@@ -1,42 +0,0 @@
|
||||
opam-version: "2.0" |
||||
synopsis: "Private libraries of Dune" |
||||
description: """ |
||||
!!!!!!!!!!!!!!!!!!!!!! |
||||
!!!!! DO NOT USE !!!!! |
||||
!!!!!!!!!!!!!!!!!!!!!! |
||||
|
||||
This package contains code that is shared between various dune-xxx |
||||
packages. However, it is not meant for public consumption and provides |
||||
no stability guarantee. |
||||
""" |
||||
maintainer: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
license: "MIT" |
||||
homepage: "https://github.com/ocaml/dune" |
||||
doc: "https://dune.readthedocs.io/" |
||||
bug-reports: "https://github.com/ocaml/dune/issues" |
||||
depends: [ |
||||
"dune" {>= "2.3"} |
||||
"ocaml" {>= "4.07"} |
||||
] |
||||
dev-repo: "git+https://github.com/ocaml/dune.git" |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
[ |
||||
"dune" |
||||
"build" |
||||
"-p" |
||||
name |
||||
"-j" |
||||
jobs |
||||
"@install" |
||||
"@doc" {with-doc} |
||||
] |
||||
] |
||||
url { |
||||
src: "https://github.com/ocaml/dune/releases/download/2.3.1/dune-2.3.1.tbz" |
||||
checksum: [ |
||||
"sha256=b2b3dd9cdfd34ef8c4583ea8c52c3503c2395bf94c264af19d6450547e12f5cb" |
||||
"sha512=023fe4ddf743b8de24de0d7d2e6d5d0f85e459c5044aa4ba3de02cf63113d54d79004cc8ea8f7a958b324e9cbeef0845ec6a0f65454bc6a2e635e8944d28a0f9" |
||||
] |
||||
} |
@ -1,54 +0,0 @@
@@ -1,54 +0,0 @@
|
||||
opam-version: "2.0" |
||||
synopsis: "Fast, portable, and opinionated build system" |
||||
description: """ |
||||
|
||||
dune is a build system that was designed to simplify the release of |
||||
Jane Street packages. It reads metadata from "dune" files following a |
||||
very simple s-expression syntax. |
||||
|
||||
dune is fast, has very low-overhead, and supports parallel builds on |
||||
all platforms. It has no system dependencies; all you need to build |
||||
dune or packages using dune is OCaml. You don't need make or bash |
||||
as long as the packages themselves don't use bash explicitly. |
||||
|
||||
dune supports multi-package development by simply dropping multiple |
||||
repositories into the same directory. |
||||
|
||||
It also supports multi-context builds, such as building against |
||||
several opam roots/switches simultaneously. This helps maintaining |
||||
packages across several versions of OCaml and gives cross-compilation |
||||
for free. |
||||
""" |
||||
maintainer: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
license: "MIT" |
||||
homepage: "https://github.com/ocaml/dune" |
||||
doc: "https://dune.readthedocs.io/" |
||||
bug-reports: "https://github.com/ocaml/dune/issues" |
||||
conflicts: [ |
||||
"dune-configurator" {< "2.3.0"} |
||||
"odoc" {< "1.3.0"} |
||||
"dune-release" {< "1.3.0"} |
||||
"jbuilder" {= "transition"} |
||||
] |
||||
dev-repo: "git+https://github.com/ocaml/dune.git" |
||||
build: [ |
||||
# opam 2 sets OPAM_SWITCH_PREFIX, so we don't need a hardcoded path |
||||
["ocaml" "configure.ml" "--libdir" lib] {opam-version < "2"} |
||||
["ocaml" "bootstrap.ml" "-j" jobs] |
||||
["./dune.exe" "build" "-p" name "--profile" "dune-bootstrap" "-j" jobs] |
||||
] |
||||
depends: [ |
||||
# Please keep the lower bound in sync with .travis.yml, dune-project |
||||
# and min_ocaml_version in bootstrap.ml |
||||
("ocaml" {>= "4.07"} | ("ocaml" {< "4.07~~"} & "ocamlfind-secondary")) |
||||
"base-unix" |
||||
"base-threads" |
||||
] |
||||
url { |
||||
src: "https://github.com/ocaml/dune/releases/download/2.3.1/dune-2.3.1.tbz" |
||||
checksum: [ |
||||
"sha256=b2b3dd9cdfd34ef8c4583ea8c52c3503c2395bf94c264af19d6450547e12f5cb" |
||||
"sha512=023fe4ddf743b8de24de0d7d2e6d5d0f85e459c5044aa4ba3de02cf63113d54d79004cc8ea8f7a958b324e9cbeef0845ec6a0f65454bc6a2e635e8944d28a0f9" |
||||
] |
||||
} |
@ -1,46 +0,0 @@
@@ -1,46 +0,0 @@
|
||||
opam-version: "2.0" |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
["dune" "build" "-p" name "@doc"] {with-doc} |
||||
] |
||||
maintainer: ["martin@mjambon.com" "rudi.grinberg@gmail.com"] |
||||
authors: ["Martin Jambon"] |
||||
bug-reports: "https://github.com/mjambon/easy-format/issues" |
||||
homepage: "https://github.com/mjambon/easy-format" |
||||
doc: "https://mjambon.github.io/easy-format/" |
||||
license: "BSD-3-Clause" |
||||
dev-repo: "git+https://github.com/mjambon/easy-format.git" |
||||
synopsis: |
||||
"High-level and functional interface to the Format module of the OCaml standard library" |
||||
description: """ |
||||
|
||||
This module offers a high-level and functional interface to the Format module of |
||||
the OCaml standard library. It is a pretty-printing facility, i.e. it takes as |
||||
input some code represented as a tree and formats this code into the most |
||||
visually satisfying result, breaking and indenting lines of code where |
||||
appropriate. |
||||
|
||||
Input data must be first modelled and converted into a tree using 3 kinds of |
||||
nodes: |
||||
|
||||
* atoms |
||||
* lists |
||||
* labelled nodes |
||||
|
||||
Atoms represent any text that is guaranteed to be printed as-is. Lists can model |
||||
any sequence of items such as arrays of data or lists of definitions that are |
||||
labelled with something like "int main", "let x =" or "x:".""" |
||||
depends: [ |
||||
"dune" {>= "1.10"} |
||||
"ocaml" {>= "4.02.3"} |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/mjambon/easy-format/releases/download/1.3.2/easy-format-1.3.2.tbz" |
||||
checksum: [ |
||||
"sha256=3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926" |
||||
"sha512=e39377a2ff020ceb9ac29e8515a89d9bdbc91dfcfa871c4e3baafa56753fac2896768e5d9822a050dc1e2ade43c8967afb69391a386c0a8ecd4e1f774e236135" |
||||
] |
||||
} |
@ -1,27 +0,0 @@
@@ -1,27 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "opensource@janestreet.com" |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
homepage: "https://github.com/janestreet/fieldslib" |
||||
bug-reports: "https://github.com/janestreet/fieldslib/issues" |
||||
dev-repo: "git+https://github.com/janestreet/fieldslib.git" |
||||
doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/fieldslib/index.html" |
||||
license: "MIT" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.04.2"} |
||||
"base" {>= "v0.13" & < "v0.14"} |
||||
"dune" {>= "1.5.1"} |
||||
] |
||||
synopsis: "Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values" |
||||
description: " |
||||
Part of Jane Street's Core library |
||||
The Core suite of libraries is an industrial strength alternative to |
||||
OCaml's standard library that was developed by Jane Street, the |
||||
largest industrial user of OCaml. |
||||
" |
||||
url { |
||||
src: "https://ocaml.janestreet.com/ocaml-core/v0.13/files/fieldslib-v0.13.0.tar.gz" |
||||
checksum: "md5=3ac72dc49e43416c8b6fa0897bd4838b" |
||||
} |
@ -1,44 +0,0 @@
@@ -1,44 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: [ "The fmt programmers" ] |
||||
homepage: "https://erratique.ch/software/fmt" |
||||
doc: "https://erratique.ch/software/fmt" |
||||
dev-repo: "git+https://erratique.ch/repos/fmt.git" |
||||
bug-reports: "https://github.com/dbuenzli/fmt/issues" |
||||
tags: [ "string" "format" "pretty-print" "org:erratique" ] |
||||
license: "ISC" |
||||
depends: [ |
||||
"ocaml" {>= "4.05.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build & >= "0.9.0"} |
||||
# Can be removed once ocaml >= 4.07 |
||||
"seq" |
||||
"stdlib-shims" |
||||
] |
||||
depopts: [ "base-unix" "cmdliner" ] |
||||
conflicts: [ "cmdliner" {< "0.9.8"} ] |
||||
build: [[ |
||||
"ocaml" "pkg/pkg.ml" "build" |
||||
"--dev-pkg" "%{pinned}%" |
||||
"--with-base-unix" "%{base-unix:installed}%" |
||||
"--with-cmdliner" "%{cmdliner:installed}%" ]] |
||||
|
||||
synopsis: """OCaml Format pretty-printer combinators""" |
||||
description: """\ |
||||
|
||||
Fmt exposes combinators to devise `Format` pretty-printing functions. |
||||
|
||||
Fmt depends only on the OCaml standard library. The optional `Fmt_tty` |
||||
library that allows to setup formatters for terminal color output |
||||
depends on the Unix library. The optional `Fmt_cli` library that |
||||
provides command line support for Fmt depends on [`Cmdliner`][cmdliner]. |
||||
|
||||
Fmt is distributed under the ISC license. |
||||
|
||||
[cmdliner]: http://erratique.ch/software/cmdliner |
||||
""" |
||||
url { |
||||
archive: "https://erratique.ch/software/fmt/releases/fmt-0.8.8.tbz" |
||||
checksum: "473490fcfdf3ff0a8ccee226b873d4b2" |
||||
} |
@ -1,36 +0,0 @@
@@ -1,36 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Hannes Mehnert <hannes@mehnert.org>" |
||||
authors: "Hannes Mehnert <hannes@mehnert.org>" |
||||
license: "ISC" |
||||
homepage: "https://github.com/hannesm/gmap" |
||||
doc: "https://hannesm.github.io/gmap/doc" |
||||
bug-reports: "https://github.com/hannesm/gmap/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.2"} |
||||
"dune" |
||||
"alcotest" {with-test} |
||||
"fmt" {with-test} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/hannesm/gmap.git" |
||||
synopsis: "Heterogenous maps over a GADT" |
||||
description: """ |
||||
Gmap exposes the functor `Make` which takes a key type (a |
||||
[GADT](https://en.wikipedia.org/wiki/Generalized_algebraic_data_type) 'a key) |
||||
and outputs a type-safe Map where each 'a key is associated with a 'a value. |
||||
This removes the need for additional packing. It uses OCaml's stdlib |
||||
[Map](http://caml.inria.fr/pub/docs/manual-ocaml/libref/Map.html) data |
||||
structure. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/hannesm/gmap/releases/download/0.3.0/gmap-0.3.0.tbz" |
||||
checksum: [ |
||||
"sha256=04dd9e6226ac8f8fb4ccb6021048702e34a482fb9c1d240d3852829529507c1c" |
||||
"sha512=71616981f5a15d6b2a47e18702083e52e81f6547076085b1489f676f50b0cc47c7c2c4fa19cb581e2878dc3d4f7133d0c50d8b51a8390be0e6e30318907d81d3" |
||||
] |
||||
} |
@ -1,35 +0,0 @@
@@ -1,35 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["David Sheets" "Anil Madhavapeddy" "Hugo Heuzard"] |
||||
synopsis: "A library for manipulation of IP address representations usnig sexp" |
||||
description: """ |
||||
Sexp convertions for ipaddr |
||||
""" |
||||
|
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-ipaddr" |
||||
doc: "https://mirage.github.io/ocaml-ipaddr/" |
||||
bug-reports: "https://github.com/mirage/ocaml-ipaddr/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.0"} |
||||
"dune" {>="1.9.0"} |
||||
"ipaddr" {=version} |
||||
"ipaddr-cstruct" {with-test & =version} |
||||
"ounit" {with-test} |
||||
"ppx_sexp_conv" {>= "v0.9.0" & < "v0.14"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-ipaddr.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-ipaddr/releases/download/v4.0.0/ipaddr-v4.0.0.tbz" |
||||
checksum: [ |
||||
"sha256=6f4abf9c210b20ccddf4610691a87b8c870790d8f71d4a7edcfca9e21b59fc29" |
||||
"sha512=ca55a8cfa8b84c0a2f4e1fe7afb4c582066bbb562efb94169c0347e441ce076dc426d191772edb869eca6bd77f42f7141378181057ad8886da25ef915a9ee57f" |
||||
] |
||||
} |
@ -1,51 +0,0 @@
@@ -1,51 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["David Sheets" "Anil Madhavapeddy" "Hugo Heuzard"] |
||||
synopsis: "A library for manipulation of IP (and MAC) address representations" |
||||
description: """ |
||||
Features: |
||||
* Depends only on sexplib (conditionalization under consideration) |
||||
* oUnit-based tests |
||||
* IPv4 and IPv6 support |
||||
* IPv4 and IPv6 CIDR prefix support |
||||
* IPv4 and IPv6 [CIDR-scoped address](http://tools.ietf.org/html/rfc4291#section-2.3) support |
||||
* `Ipaddr.V4` and `Ipaddr.V4.Prefix` modules are `Map.OrderedType` |
||||
* `Ipaddr.V6` and `Ipaddr.V6.Prefix` modules are `Map.OrderedType` |
||||
* `Ipaddr` and `Ipaddr.Prefix` modules are `Map.OrderedType` |
||||
* `Ipaddr_unix` in findlib subpackage `ipaddr.unix` provides compatibility with the standard library `Unix` module |
||||
* `Ipaddr_top` in findlib subpackage `ipaddr.top` provides top-level pretty printers (requires compiler-libs default since OCaml 4.0) |
||||
* IP address scope classification |
||||
* IPv4-mapped addresses in IPv6 (::ffff:0:0/96) are an embedding of IPv4 |
||||
* MAC-48 (Ethernet) address support |
||||
* `Macaddr` is a `Map.OrderedType` |
||||
* All types have sexplib serializers/deserializers |
||||
""" |
||||
|
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-ipaddr" |
||||
doc: "https://mirage.github.io/ocaml-ipaddr/" |
||||
bug-reports: "https://github.com/mirage/ocaml-ipaddr/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.0"} |
||||
"dune" {>="1.9.0"} |
||||
"macaddr" {=version} |
||||
"sexplib0" {< "v0.14"} |
||||
"domain-name" {>= "0.3.0"} |
||||
"ounit" {with-test} |
||||
"ppx_sexp_conv" {with-test & >= "v0.9.0" & < "v0.14"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-ipaddr.git" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-ipaddr/releases/download/v4.0.0/ipaddr-v4.0.0.tbz" |
||||
checksum: [ |
||||
"sha256=6f4abf9c210b20ccddf4610691a87b8c870790d8f71d4a7edcfca9e21b59fc29" |
||||
"sha512=ca55a8cfa8b84c0a2f4e1fe7afb4c582066bbb562efb94169c0347e441ce076dc426d191772edb869eca6bd77f42f7141378181057ad8886da25ef915a9ee57f" |
||||
] |
||||
} |
@ -1,39 +0,0 @@
@@ -1,39 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "opensource@janestreet.com" |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
homepage: "https://github.com/ocaml/dune" |
||||
bug-reports: "https://github.com/ocaml/dune/issues" |
||||
dev-repo: "git+https://github.com/ocaml/dune.git" |
||||
license: "Apache-2.0" |
||||
build: [ |
||||
["ocaml" "configure.ml" "--libdir" lib] |
||||
["ocaml" "bootstrap.ml"] |
||||
["./boot.exe" "--subst"] {pinned} |
||||
["./boot.exe" "-j" jobs] |
||||
] |
||||
synopsis: "Fast, portable and opinionated build system" |
||||
description: """ |
||||
jbuilder is a build system that was designed to simplify the release |
||||
of Jane Street packages. It reads metadata from "jbuild" files |
||||
following a very simple s-expression syntax. |
||||
|
||||
jbuilder is fast, it has very low-overhead and support parallel builds |
||||
on all platforms. It has no system dependencies, all you need to build |
||||
jbuilder and packages using jbuilder is OCaml. You don't need or make |
||||
or bash as long as the packages themselves don't use bash explicitely. |
||||
|
||||
jbuilder supports multi-package development by simply dropping multiple |
||||
repositories into the same directory. |
||||
|
||||
It also supports multi-context builds, such as building against |
||||
several opam roots/switches simultaneously. This helps maintaining |
||||
packages across several versions of OCaml and gives cross-compilation |
||||
for free.""" |
||||
depends: [ |
||||
"ocaml" {>= "4.02.3"} |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/ocaml/dune/releases/download/1.0%2Bbeta20.2/jbuilder-1.0+beta20.2.tbz" |
||||
checksum: "md5=fbe8c3b1facb206cac3fb8932b5dd5d9" |
||||
} |
@ -1,37 +0,0 @@
@@ -1,37 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"] |
||||
homepage: "http://erratique.ch/software/jsonm" |
||||
doc: "http://erratique.ch/software/jsonm/doc/Jsonm" |
||||
dev-repo: "git+http://erratique.ch/repos/jsonm.git" |
||||
bug-reports: "https://github.com/dbuenzli/jsonm/issues" |
||||
tags: [ "json" "codec" "org:erratique" ] |
||||
license: "ISC" |
||||
depends: [ |
||||
"ocaml" {>= "4.01.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"uchar" |
||||
"uutf" {>= "1.0.0"} |
||||
] |
||||
build:[[ |
||||
"ocaml" "pkg/pkg.ml" "build" |
||||
"--pinned" "%{pinned}%" ]] |
||||
synopsis: "Non-blocking streaming JSON codec for OCaml" |
||||
description: """ |
||||
Jsonm is a non-blocking streaming codec to decode and encode the JSON |
||||
data format. It can process JSON text without blocking on IO and |
||||
without a complete in-memory representation of the data. |
||||
|
||||
The alternative "uncut" codec also processes whitespace and |
||||
(non-standard) JSON with JavaScript comments. |
||||
|
||||
Jsonm is made of a single module and depends on [Uutf][uutf]. It is distributed |
||||
under the ISC license. |
||||
|
||||
[uutf]: http://erratique.ch/software/uutf""" |
||||
url { |
||||
src: "http://erratique.ch/software/jsonm/releases/jsonm-1.0.1.tbz" |
||||
checksum: "md5=e2ca39eaefd55b8d155c4f1ec5885311" |
||||
} |
@ -1,32 +0,0 @@
@@ -1,32 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Louis Roché <louis@louisroche.net>" |
||||
authors: "Louis Roché <louis@louisroche.net>" |
||||
homepage: "https://github.com/Khady/ocaml-junit" |
||||
bug-reports: "https://github.com/Khady/ocaml-junit/issues" |
||||
license: "LGPLv3+ with OCaml linking exception" |
||||
dev-repo: "git+https://github.com/Khady/ocaml-junit.git" |
||||
doc: "https://khady.github.io/ocaml-junit/" |
||||
tags: ["junit" "jenkins"] |
||||
depends: [ |
||||
"dune" {>= "1.0"} |
||||
"ptime" |
||||
"tyxml" {>= "4.0.0"} |
||||
"odoc" {with-doc & >= "1.1.1"} |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
["dune" "build" "-p" name "-j" jobs] {with-doc} |
||||
] |
||||
name: "junit" |
||||
synopsis: "JUnit XML reports generation library" |
||||
description: "JUnit XML reports generation library" |
||||
url { |
||||
src: |
||||
"https://github.com/Khady/ocaml-junit/releases/download/2.0.2/junit-2.0.2.tbz" |
||||
checksum: [ |
||||
"sha256=fda941b653613a4a5731f9b3557364b12baa341daa13c01676c9eb8d64e96b01" |
||||
"sha512=5a9fa803c4861748bb8482fc51197420bf3cc3b9540989a489c4ffb65fdd02386aaa60437eae29182209dae0903b0e537c095249e19d395a451b8e8214f15f03" |
||||
] |
||||
} |
@ -1,46 +0,0 @@
@@ -1,46 +0,0 @@
|
||||
opam-version: "2.0" |
||||
|
||||
synopsis: "Easy functional HTML scraping and manipulation with CSS selectors" |
||||
|
||||
version: "0.7.0" |
||||
license: "MIT" |
||||
homepage: "https://github.com/aantron/lambdasoup" |
||||
doc: "https://aantron.github.io/lambdasoup" |
||||
bug-reports: "https://github.com/aantron/lambdasoup/issues" |
||||
|
||||
authors: "Anton Bachin <antonbachin@yahoo.com>" |
||||
maintainer: "Anton Bachin <antonbachin@yahoo.com>" |
||||
dev-repo: "git+https://github.com/aantron/lambdasoup.git" |
||||
|
||||
depends: [ |
||||
# As a consequence of depending on Dune, Lambda Soup requires OCaml 4.02.3. |
||||
"dune" |
||||
"markup" {>= "0.7.1"} |
||||
"ocaml" {>= "4.02.0"} |
||||
|
||||
"bisect_ppx" {dev & >= "2.0.0"} |
||||
"ounit" {with-test} |
||||
] |
||||
|
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
|
||||
description: """ |
||||
Lambda Soup is an HTML scraping library inspired by Python's Beautiful Soup. It |
||||
provides lazy traversals from HTML nodes to their parents, children, siblings, |
||||
etc., and to nodes matching CSS selectors. The traversals can be manipulated |
||||
using standard functional combinators such as fold, filter, and map. |
||||
|
||||
The DOM tree is mutable. You can use Lambda Soup for automatic HTML rewriting in |
||||
scripts. Lambda Soup rewrites its own ocamldoc page this way. |
||||
|
||||
A major goal of Lambda Soup is to be easy to use, including in interactive |
||||
sessions, and to have a minimal learning curve. It is a very simple library. |
||||
""" |
||||
|
||||
url { |
||||
src: "https://github.com/aantron/lambdasoup/archive/0.7.0.tar.gz" |
||||
checksum: "md5=2bb2c7d8a6ac4e12aa7dbdfcbaac0dd8" |
||||
} |
@ -1,64 +0,0 @@
@@ -1,64 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Daniel Bünzli <daniel.buenzl i@erratique.ch>" |
||||
authors: ["The logs programmers"] |
||||
homepage: "https://erratique.ch/software/logs" |
||||
doc: "https://erratique.ch/software/logs/doc" |
||||
dev-repo: "git+https://erratique.ch/repos/logs.git" |
||||
bug-reports: "https://github.com/dbuenzli/logs/issues" |
||||
tags: [ "log" "system" "org:erratique" ] |
||||
license: "ISC" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"mtime" {with-test} ] |
||||
depopts: [ |
||||
"js_of_ocaml" |
||||
"fmt" |
||||
"cmdliner" |
||||
"lwt" |
||||
"base-threads" |
||||
] |
||||
conflicts: [ |
||||
"js_of_ocaml" { < "3.3.0" } ] |
||||
|
||||
build: [[ |
||||
"ocaml" "pkg/pkg.ml" "build" |
||||
"--pinned" "%{pinned}%" |
||||
"--with-js_of_ocaml" "%{js_of_ocaml:installed}%" |
||||
"--with-fmt" "%{fmt:installed}%" |
||||
"--with-cmdliner" "%{cmdliner:installed}%" |
||||
"--with-lwt" "%{lwt:installed}%" |
||||
"--with-base-threads" "%{base-threads:installed}%" |
||||
]] |
||||
|
||||
synopsis: """Logging infrastructure for OCaml""" |
||||
description: """\ |
||||
|
||||
Logs provides a logging infrastructure for OCaml. Logging is performed |
||||
on sources whose reporting level can be set independently. Log message |
||||
report is decoupled from logging and is handled by a reporter. |
||||
|
||||
A few optional log reporters are distributed with the base library and |
||||
the API easily allows to implement your own. |
||||
|
||||
`Logs` has no dependencies. The optional `Logs_fmt` reporter on OCaml |
||||
formatters depends on [Fmt][fmt]. The optional `Logs_browser` |
||||
reporter that reports to the web browser console depends on |
||||
[js_of_ocaml][jsoo]. The optional `Logs_cli` library that provides |
||||
command line support for controlling Logs depends on |
||||
[`Cmdliner`][cmdliner]. The optional `Logs_lwt` library that provides |
||||
Lwt logging functions depends on [`Lwt`][lwt] |
||||
|
||||
Logs and its reporters are distributed under the ISC license. |
||||
|
||||
[fmt]: http://erratique.ch/software/fmt |
||||
[jsoo]: http://ocsigen.org/js_of_ocaml/ |
||||
[cmdliner]: http://erratique.ch/software/cmdliner |
||||
[lwt]: http://ocsigen.org/lwt/ |
||||
""" |
||||
url { |
||||
archive: "https://erratique.ch/software/logs/releases/logs-0.7.0.tbz" |
||||
checksum: "2bf021ca13331775e33cf34ab60246f7" |
||||
} |
@ -1,62 +0,0 @@
@@ -1,62 +0,0 @@
|
||||
opam-version: "2.0" |
||||
|
||||
synopsis: "Promises and event-driven I/O" |
||||
|
||||
version: "5.1.2" |
||||
license: "MIT" |
||||
homepage: "https://github.com/ocsigen/lwt" |
||||
doc: "https://ocsigen.org/lwt" |
||||
bug-reports: "https://github.com/ocsigen/lwt/issues" |
||||
|
||||
authors: [ |
||||
"Jérôme Vouillon" |
||||
"Jérémie Dimino" |
||||
] |
||||
maintainer: [ |
||||
"Anton Bachin <antonbachin@yahoo.com>" |
||||
] |
||||
dev-repo: "git+https://github.com/ocsigen/lwt.git" |
||||
|
||||
depends: [ |
||||
"cppo" {build & >= "1.1.0"} |
||||
"dune" {>= "1.7.0"} |
||||
"dune-configurator" |
||||
"mmap" {>= "1.1.0"} # mmap is needed as long as Lwt supports OCaml < 4.06.0. |
||||
"ocaml" {>= "4.02.0"} |
||||
"ocplib-endian" |
||||
"result" # result is needed as long as Lwt supports OCaml 4.02. |
||||
"seq" # seq is needed as long as Lwt supports OCaml < 4.07.0. |
||||
|
||||
"bisect_ppx" {dev & >= "1.3.0"} |
||||
"ocamlfind" {dev & >= "1.7.3-1"} |
||||
] |
||||
|
||||
depopts: [ |
||||
"base-threads" |
||||
"base-unix" |
||||
"conf-libev" |
||||
] |
||||
|
||||
conflicts: [ |
||||
"ocaml-variants" {= "4.02.1+BER"} |
||||
] |
||||
|
||||
build: [ |
||||
["dune" "exec" "src/unix/config/discover.exe" "--root" "." "--" "--save" |
||||
"--use-libev" "%{conf-libev:installed}%"] |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
|
||||
description: "A promise is a value that may become determined in the future. |
||||
|
||||
Lwt provides typed, composable promises. Promises that are resolved by I/O are |
||||
resolved by Lwt in parallel. |
||||
|
||||
Meanwhile, OCaml code, including code creating and waiting on promises, runs in |
||||
a single thread by default. This reduces the need for locks or other |
||||
synchronization primitives. Code can be run in parallel on an opt-in basis." |
||||
|
||||
url { |
||||
src: "https://github.com/ocsigen/lwt/archive/5.1.2.tar.gz" |
||||
checksum: "md5=dc4005582a6ab32227f5ff90cb480dbe" |
||||
} |
@ -1,34 +0,0 @@
@@ -1,34 +0,0 @@
|
||||
opam-version: "2.0" |
||||
|
||||
synopsis: "PPX syntax for Lwt, providing something similar to async/await from JavaScript" |
||||
|
||||
version: "2.0.0" |
||||
license: "MIT" |
||||
homepage: "https://github.com/ocsigen/lwt" |
||||
doc: "https://ocsigen.org/lwt/api/Ppx_lwt" |
||||
bug-reports: "https://github.com/ocsigen/lwt/issues" |
||||
|
||||
authors: [ |
||||
"Gabriel Radanne" |
||||
] |
||||
maintainer: [ |
||||
"Anton Bachin <antonbachin@yahoo.com>" |
||||
] |
||||
dev-repo: "git+https://github.com/ocsigen/lwt.git" |
||||
|
||||
depends: [ |
||||
"dune" {>= "1.1"} |
||||
"lwt" |
||||
"ocaml" {>= "4.02.0"} |
||||
"ocaml-migrate-parsetree" {>= "1.4.0"} |
||||
"ppx_tools_versioned" {>= "5.2.3"} |
||||
] |
||||
|
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
|
||||
url { |
||||
src: "https://github.com/ocsigen/lwt/archive/5.0.0.tar.gz" |
||||
checksum: "md5=a4ffc0e3aa692d2e7d800f4cf2dd3db0" |
||||
} |
@ -1,40 +0,0 @@
@@ -1,40 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "anil@recoil.org" |
||||
authors: ["David Sheets" "Anil Madhavapeddy" "Hugo Heuzard"] |
||||
synopsis: "A library for manipulation of MAC address representations" |
||||
license: "ISC" |
||||
tags: ["org:mirage" "org:xapi-project"] |
||||
homepage: "https://github.com/mirage/ocaml-ipaddr" |
||||
doc: "https://mirage.github.io/ocaml-ipaddr/" |
||||
bug-reports: "https://github.com/mirage/ocaml-ipaddr/issues" |
||||
depends: [ |
||||
"ocaml" {>= "4.04.0"} |
||||
"dune" {>="1.9.0"} |
||||
"ounit" {with-test} |
||||
"ppx_sexp_conv" {with-test & >= "v0.9.0" & < "v0.14"} |
||||
] |
||||
conflicts: [ "ipaddr" {< "3.0.0"} ] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
dev-repo: "git+https://github.com/mirage/ocaml-ipaddr.git" |
||||
description: """ |
||||
A library for manipulation of MAC address representations. |
||||
|
||||
Features: |
||||
|
||||
* oUnit-based tests |
||||
* MAC-48 (Ethernet) address support |
||||
* `Macaddr` is a `Map.OrderedType` |
||||
* All types have sexplib serializers/deserializers optionally via the `Macaddr_sexp` library. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-ipaddr/releases/download/v4.0.0/ipaddr-v4.0.0.tbz" |
||||
checksum: [ |
||||
"sha256=6f4abf9c210b20ccddf4610691a87b8c870790d8f71d4a7edcfca9e21b59fc29" |
||||
"sha512=ca55a8cfa8b84c0a2f4e1fe7afb4c582066bbb562efb94169c0347e441ce076dc426d191772edb869eca6bd77f42f7141378181057ad8886da25ef915a9ee57f" |
||||
] |
||||
} |
@ -1,41 +0,0 @@
@@ -1,41 +0,0 @@
|
||||
opam-version: "2.0" |
||||
name: "magic-mime" |
||||
synopsis: "Map filenames to common MIME types" |
||||
description: """ |
||||
This library contains a database of MIME types that maps filename extensions |
||||
into MIME types suitable for use in many Internet protocols such as HTTP or |
||||
e-mail. It is generated from the `mime.types` file found in Unix systems, but |
||||
has no dependency on a filesystem since it includes the contents of the |
||||
database as an ML datastructure. |
||||
|
||||
For example, here's how to lookup MIME types in the [utop] REPL: |
||||
|
||||
#require "magic-mime";; |
||||
Magic_mime.lookup "/foo/bar.txt";; |
||||
- : bytes = "text/plain" |
||||
Magic_mime.lookup "bar.css";; |
||||
- : bytes = "text/css" |
||||
""" |
||||
maintainer: "Anil Madhavapeddy <anil@recoil.org>" |
||||
authors: ["Anil Madhavapeddy" "Maxence Guesdon"] |
||||
license: "ISC" |
||||
homepage: "https://github.com/mirage/ocaml-magic-mime" |
||||
doc: "https://mirage.github.io/ocaml-magic-mime/" |
||||
bug-reports: "https://github.com/mirage/ocaml-magic-mime/issues" |
||||
dev-repo: "git+https://github.com/mirage/ocaml-magic-mime.git" |
||||
depends: [ |
||||
"ocaml" {>= "4.03.0"} |
||||
"dune" |
||||
] |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/ocaml-magic-mime/releases/download/v1.1.2/magic-mime-v1.1.2.tbz" |
||||
checksum: [ |
||||
"sha256=0c590bbc747531b56d392ee8f063d879df1e2026ba2dfa2d1bc98c9a9acb04eb" |
||||
"sha512=8264db78adc2c75b8adabc23c26ad34eab98383bd3a8f2068f2236ff3425d653c0238fbd7361e55a3d70d843413ef8671b6e97293074b4d3a1e300628d5292ab" |
||||
] |
||||
} |
@ -1,53 +0,0 @@
@@ -1,53 +0,0 @@
|
||||
opam-version: "2.0" |
||||
|
||||
synopsis: "Error-recovering functional HTML5 and XML parsers and writers" |
||||
|
||||
version: "0.8.2" |
||||
license: "MIT" |
||||
homepage: "https://github.com/aantron/markup.ml" |
||||
doc: "http://aantron.github.io/markup.ml" |
||||
bug-reports: "https://github.com/aantron/markup.ml/issues" |
||||
|
||||
authors: "Anton Bachin <antonbachin@yahoo.com>" |
||||
maintainer: "Anton Bachin <antonbachin@yahoo.com>" |
||||
dev-repo: "git+https://github.com/aantron/markup.ml.git" |
||||
|
||||
depends: [ |
||||
"dune" |
||||
"ocaml" {>= "4.02.0"} |
||||
"uchar" |
||||
"uutf" {>= "1.0.0"} |
||||
|
||||
"bisect_ppx" {dev & >= "2.0.0"} |
||||
"ounit" {dev} |
||||
] |
||||
# Markup.ml implicitly requires OCaml 4.02.3, as this is a contraint of Dune. |
||||
|
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
|
||||
description: """ |
||||
Markup.ml provides an HTML parser and an XML parser. The parsers are wrapped in |
||||
a simple interface: they are functions that transform byte streams to parsing |
||||
signal streams. Streams can be manipulated in various ways, such as processing |
||||
by fold, filter, and map, assembly into DOM tree structures, or serialization |
||||
back to HTML or XML. |
||||
|
||||
Both parsers are based on their respective standards. The HTML parser, in |
||||
particular, is based on the state machines defined in HTML5. |
||||
|
||||
The parsers are error-recovering by default, and accept fragments. This makes it |
||||
very easy to get a best-effort parse of some input. The parsers can, however, be |
||||
easily configured to be strict, and to accept only full documents. |
||||
|
||||
Apart from this, the parsers are streaming (do not build up a document in |
||||
memory), non-blocking (can be used with threading libraries), lazy (do not |
||||
consume input unless the signal stream is being read), and process the input in |
||||
a single pass. They automatically detect the character encoding of the input |
||||
stream, and convert everything to UTF-8.""" |
||||
|
||||
url { |
||||
src: "https://github.com/aantron/markup.ml/archive/0.8.2.tar.gz" |
||||
checksum: "md5=0fe6b3a04d941ca40a5efdd082f1183d" |
||||
} |
@ -1,27 +0,0 @@
@@ -1,27 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "francois.pottier@inria.fr" |
||||
authors: [ |
||||
"François Pottier <francois.pottier@inria.fr>" |
||||
"Yann Régis-Gianas <yrg@pps.univ-paris-diderot.fr>" |
||||
] |
||||
homepage: "http://gitlab.inria.fr/fpottier/menhir" |
||||
dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" |
||||
bug-reports: "menhir@inria.fr" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.02.3"} |
||||
"dune" {>= "2.2.0"} |
||||
"menhirLib" {= version} |
||||
"menhirSdk" {= version} |
||||
] |
||||
synopsis: "An LR(1) parser generator" |
||||
url { |
||||
src: |
||||
"https://gitlab.inria.fr/fpottier/menhir/repository/20200211/archive.tar.gz" |
||||
checksum: [ |
||||
"md5=01577e5f15380c35bdaa8fd818204560" |
||||
"sha512=a686c4b047d5236c425afcd7f179964191268ff448b8d18510579d742a7256855049bc4fe568bb8f1b0d6cbfb758d95cd05e621e3410b75245bb799d623725d6" |
||||
] |
||||
} |
@ -1,25 +0,0 @@
@@ -1,25 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "francois.pottier@inria.fr" |
||||
authors: [ |
||||
"François Pottier <francois.pottier@inria.fr>" |
||||
"Yann Régis-Gianas <yrg@pps.univ-paris-diderot.fr>" |
||||
] |
||||
homepage: "http://gitlab.inria.fr/fpottier/menhir" |
||||
dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" |
||||
bug-reports: "menhir@inria.fr" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.02.3"} |
||||
"dune" {>= "2.0.0"} |
||||
] |
||||
synopsis: "Runtime support library for parsers generated by Menhir" |
||||
url { |
||||
src: |
||||
"https://gitlab.inria.fr/fpottier/menhir/repository/20200211/archive.tar.gz" |
||||
checksum: [ |
||||
"md5=01577e5f15380c35bdaa8fd818204560" |
||||
"sha512=a686c4b047d5236c425afcd7f179964191268ff448b8d18510579d742a7256855049bc4fe568bb8f1b0d6cbfb758d95cd05e621e3410b75245bb799d623725d6" |
||||
] |
||||
} |
@ -1,25 +0,0 @@
@@ -1,25 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "francois.pottier@inria.fr" |
||||
authors: [ |
||||
"François Pottier <francois.pottier@inria.fr>" |
||||
"Yann Régis-Gianas <yrg@pps.univ-paris-diderot.fr>" |
||||
] |
||||
homepage: "http://gitlab.inria.fr/fpottier/menhir" |
||||
dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" |
||||
bug-reports: "menhir@inria.fr" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.02.3"} |
||||
"dune" {>= "2.0.0"} |
||||
] |
||||
synopsis: "Compile-time library for auxiliary tools related to Menhir" |
||||
url { |
||||
src: |
||||
"https://gitlab.inria.fr/fpottier/menhir/repository/20200211/archive.tar.gz" |
||||
checksum: [ |
||||
"md5=01577e5f15380c35bdaa8fd818204560" |
||||
"sha512=a686c4b047d5236c425afcd7f179964191268ff448b8d18510579d742a7256855049bc4fe568bb8f1b0d6cbfb758d95cd05e621e3410b75245bb799d623725d6" |
||||
] |
||||
} |
@ -1,29 +0,0 @@
@@ -1,29 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Frederic Bour <frederic.bour@lakaban.net>" |
||||
authors: "Frederic Bour <frederic.bour@lakaban.net>" |
||||
homepage: "https://github.com/let-def/merlin-extend" |
||||
bug-reports: "https://github.com/let-def/merlin-extend" |
||||
license: "MIT" |
||||
dev-repo: "git+https://github.com/let-def/merlin-extend.git" |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"dune" {>= "1.0"} |
||||
"cppo" {build} |
||||
"ocaml" {>= "4.02.3"} |
||||
] |
||||
synopsis: "A protocol to provide custom frontend to Merlin" |
||||
description: """ |
||||
This protocol allows to replace the OCaml frontend of Merlin. |
||||
It extends what used to be done with the `-pp' flag to handle a few more cases.""" |
||||
doc: "https://let-def.github.io/merlin-extend" |
||||
url { |
||||
src: |
||||
"https://github.com/let-def/merlin-extend/releases/download/v0.5/merlin-extend-v0.5.tbz" |
||||
checksum: [ |
||||
"sha256=ca3a38c360c7d4827eb4789abf7a6aa4b6e3b4e3c3ef69a5be64dce4601ec227" |
||||
"sha512=55c5a3637337abb8ca8db679128a81ca8ccce567bc214d55b2e6444dc0e905b74c64d629bdea2457d0fe4be5306414feefcdbc4d4761fdafd59aa107550936b6" |
||||
] |
||||
} |
@ -1,71 +0,0 @@
@@ -1,71 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "defree@gmail.com" |
||||
authors: "The Merlin team" |
||||
homepage: "https://github.com/ocaml/merlin" |
||||
bug-reports: "https://github.com/ocaml/merlin/issues" |
||||
dev-repo: "git+https://github.com/ocaml/merlin.git" |
||||
build: [ |
||||
["dune" "subst"] {pinned} |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
["dune" "runtest" "-p" name "-j" jobs] {with-test} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.02.1" & < "4.10"} |
||||
"dune" {>= "1.8.0"} |
||||
"ocamlfind" {>= "1.5.2"} |
||||
"yojson" {>= "1.6.0"} |
||||
"mdx" {with-test & >= "1.3.0"} |
||||
"conf-jq" {with-test} |
||||
] |
||||
synopsis: |
||||
"Editor helper, provides completion, typing and source browsing in Vim and Emacs" |
||||
description: |
||||
"Merlin is an assistant for editing OCaml code. It aims to provide the features available in modern IDEs: error reporting, auto completion, source browsing and much more." |
||||
post-messages: [ |
||||
"merlin installed. |
||||
|
||||
Quick setup for VIM |
||||
------------------- |
||||
Append this to your .vimrc to add merlin to vim's runtime-path: |
||||
let g:opamshare = substitute(system('opam config var share'),'\\n$','','''') |
||||
execute \"set rtp+=\" . g:opamshare . \"/merlin/vim\" |
||||
|
||||
Also run the following line in vim to index the documentation: |
||||
:execute \"helptags \" . g:opamshare . \"/merlin/vim/doc\" |
||||
|
||||
Quick setup for EMACS |
||||
------------------- |
||||
Add opam emacs directory to your load-path by appending this to your .emacs: |
||||
(let ((opam-share (ignore-errors (car (process-lines \"opam\" \"config\" \"var\" \"share\"))))) |
||||
(when (and opam-share (file-directory-p opam-share)) |
||||
;; Register Merlin |
||||
(add-to-list 'load-path (expand-file-name \"emacs/site-lisp\" opam-share)) |
||||
(autoload 'merlin-mode \"merlin\" nil t nil) |
||||
;; Automatically start it in OCaml buffers |
||||
(add-hook 'tuareg-mode-hook 'merlin-mode t) |
||||
(add-hook 'caml-mode-hook 'merlin-mode t) |
||||
;; Use opam switch to lookup ocamlmerlin binary |
||||
(setq merlin-command 'opam))) |
||||
|
||||
Take a look at https://github.com/ocaml/merlin for more information |
||||
|
||||
Quick setup with opam-user-setup |
||||
-------------------------------- |
||||
|
||||
Opam-user-setup support Merlin. |
||||
|
||||
$ opam user-setup install |
||||
|
||||
should take care of basic setup. |
||||
See https://github.com/OCamlPro/opam-user-setup |
||||
" |
||||
{success & !user-setup:installed} |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/ocaml/merlin/releases/download/v3.3.3/merlin-v3.3.3.tbz" |
||||
checksum: [ |
||||
"sha256=72909ef47eea1f6fca13b4109a34dccf8fe3923a3c026f1ed1db9eb5ee9aae15" |
||||
"sha512=2a5f39d966be56c1322982effc05bc98fd5f66cd12f1f76953f8daa9eca74a58c92a186854f4e601e2f0bb038720691446e7591b4613982accded3e579fedb23" |
||||
] |
||||
} |
@ -1,8 +0,0 @@
@@ -1,8 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "mirageos-devel@lists.xenproject.org" |
||||
authors: ["mirageos-devel@lists.xenproject.org"] |
||||
homepage: "https://mirage.io" |
||||
license: "BSD-2-Clause" |
||||
conflicts: [ "mirage-solo5" ] |
||||
synopsis: "Virtual package conflicting with mirage-solo5" |
||||
depends: ["ocaml"] |
@ -1,8 +0,0 @@
@@ -1,8 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "mirageos-devel@lists.xenproject.org" |
||||
authors: ["mirageos-devel@lists.xenproject.org"] |
||||
homepage: "https://mirage.io" |
||||
license: "BSD-2-Clause" |
||||
conflicts: [ "mirage-xen" ] |
||||
synopsis: "Virtual package conflicting with mirage-xen" |
||||
depends: ["ocaml"] |
@ -1,24 +0,0 @@
@@ -1,24 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "jeremie@dimino.org" |
||||
authors: ["Jérémie Dimino <jeremie@dimino.org>" "Anton Bachin" ] |
||||
homepage: "https://github.com/mirage/mmap" |
||||
bug-reports: "https://github.com/mirage/mmap/issues" |
||||
doc: "https://mirage.github.io/mmap/" |
||||
dev-repo: "git+https://github.com/mirage/mmap.git" |
||||
license: "LGPL-2.1-only with OCaml-LGPL-linking-exception" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" |
||||
"dune" {>= "1.6"} |
||||
] |
||||
synopsis: "File mapping functionality" |
||||
description: """ |
||||
This project provides a Mmap.map_file functions for mapping files in memory. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz" |
||||
checksum: "md5=8c5d5fbc537296dc525867535fb878ba" |
||||
} |
@ -1,47 +0,0 @@
@@ -1,47 +0,0 @@
|
||||
From 6f97531287a3e3ee749f2277248af28bdc85b8e4 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Scherer <gabriel.scherer@gmail.com>
|
||||
Date: Mon, 26 Mar 2018 16:09:16 +0200
|
||||
Subject: [PATCH 1/4] add missing runtime dependencies in _tags
|
||||
|
||||
Binaries in <bench/*>, <tests/*> depend on ppx_sexp_conv's runtime
|
||||
library within ppx_sexp_conv.
|
||||
|
||||
The packed modules <src/nocrypto.cm{x,o}> also depend on the package
|
||||
ppx_sexp_conv: its presence at pack-creation time influences the
|
||||
generated .cmi interface, see
|
||||
|
||||
https://github.com/ocaml/opam-repository/pull/11628#issuecomment-375697444
|
||||
|
||||
Note: the package ppx_sexp_conv.runtime-lib would suffice, but it is
|
||||
only available as such under recent ppx_sexp_conv versions, so its
|
||||
explicit use would make the build description (needlessly)
|
||||
incompatible with older ppx_sexp_conv versions.
|
||||
---
|
||||
_tags | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/_tags b/_tags
|
||||
index 6d4e7de..c2a6610 100644
|
||||
--- a/_tags
|
||||
+++ b/_tags
|
||||
@@ -7,6 +7,7 @@ true: package(bytes), package(cstruct)
|
||||
<src/*.ml{,i}>: package(zarith), package(sexplib), package(ppx_sexp_conv)
|
||||
<src/*.cm{x,o}> and not <src/nocrypto.cmx>: for-pack(Nocrypto)
|
||||
<src/*.cm{,x}a>: link_stubs(src/libnocrypto_stubs)
|
||||
+<src/nocrypto.cm{x,o}>: package(ppx_sexp_conv)
|
||||
|
||||
<unix>: include
|
||||
<unix/*.ml{,i}>: package(unix), package(bytes)
|
||||
@@ -19,7 +20,7 @@ true: package(bytes), package(cstruct)
|
||||
|
||||
<**/*.c>: ccopt(--std=c99 -Wall -Wextra -O3)
|
||||
|
||||
-<bench/*>: use_nocrypto, package(zarith), package(cstruct.unix)
|
||||
-<tests/*>: use_nocrypto, package(zarith), package(oUnit)
|
||||
+<bench/*>: use_nocrypto, package(zarith), package(ppx_sexp_conv)
|
||||
+<tests/*>: use_nocrypto, package(zarith), package(ppx_sexp_conv), package(oUnit)
|
||||
|
||||
<rondom>: -traverse
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,39 +0,0 @@
@@ -1,39 +0,0 @@
|
||||
From dc799fd2a66c41ca7729201a5d038cd403ca1de6 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Scherer <gabriel.scherer@gmail.com>
|
||||
Date: Tue, 27 Mar 2018 12:00:23 +0200
|
||||
Subject: [PATCH 2/4] add ppx_sexp_conv as a runtime dependency in the
|
||||
packaging metadata
|
||||
|
||||
---
|
||||
opam | 2 +-
|
||||
pkg/META | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/opam b/opam
|
||||
index ad1dbc7..c35570b 100644
|
||||
--- a/opam
|
||||
+++ b/opam
|
||||
@@ -20,7 +20,7 @@ depends: [
|
||||
"topkg" {build}
|
||||
"cpuid" {build}
|
||||
"ocb-stubblr" {build}
|
||||
- "ppx_sexp_conv" {build}
|
||||
+ "ppx_sexp_conv"
|
||||
"oUnit" {test}
|
||||
"cstruct"
|
||||
"zarith"
|
||||
diff --git a/pkg/META b/pkg/META
|
||||
index 242b2bb..a7929c7 100644
|
||||
--- a/pkg/META
|
||||
+++ b/pkg/META
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "0.5.4"
|
||||
description = "Simple crypto for the modern age"
|
||||
-requires = "cstruct zarith sexplib"
|
||||
+requires = "cstruct zarith sexplib ppx_sexp_conv"
|
||||
archive(byte) = "nocrypto.cma"
|
||||
archive(native) = "nocrypto.cmxa"
|
||||
plugin(byte) = "nocrypto.cma"
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,146 +0,0 @@
@@ -1,146 +0,0 @@
|
||||
From ad9278021a65d423e30765e58110848adda4b13e Mon Sep 17 00:00:00 2001
|
||||
From: Jeremie Dimino <jeremie@dimino.org>
|
||||
Date: Fri, 11 May 2018 15:44:47 +0200
|
||||
Subject: [PATCH 3/4] Auto-detect ppx_sexp_conv runtime library
|
||||
|
||||
---
|
||||
myocamlbuild.ml | 25 ++++++++++++++++++++++---
|
||||
pkg/META | 43 -------------------------------------------
|
||||
pkg/META.in | 43 +++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 65 insertions(+), 46 deletions(-)
|
||||
delete mode 100644 pkg/META
|
||||
create mode 100644 pkg/META.in
|
||||
|
||||
diff --git a/myocamlbuild.ml b/myocamlbuild.ml
|
||||
index 2752315..7b29635 100644
|
||||
--- a/myocamlbuild.ml
|
||||
+++ b/myocamlbuild.ml
|
||||
@@ -1,5 +1,24 @@
|
||||
open Ocamlbuild_plugin
|
||||
|
||||
-let () = dispatch Ocb_stubblr.(
|
||||
- init & ccopt ~tags:["accelerate"] "-DACCELERATE -msse2 -maes"
|
||||
-)
|
||||
+let runtime_deps_of_ppx ppx =
|
||||
+ (Findlib.query "ppx_sexp_conv").dependencies
|
||||
+ |> List.filter_opt (fun { Findlib.name; _ } ->
|
||||
+ if name = ppx || name = "ppx_deriving" then
|
||||
+ None
|
||||
+ else
|
||||
+ Some name)
|
||||
+
|
||||
+let () = dispatch (fun hook ->
|
||||
+ Ocb_stubblr.(
|
||||
+ init & ccopt ~tags:["accelerate"] "-DACCELERATE -msse2 -maes"
|
||||
+ ) hook;
|
||||
+ match hook with
|
||||
+ | After_rules ->
|
||||
+ let meta = "pkg/META" in
|
||||
+ let meta_in = meta ^ ".in" in
|
||||
+ rule meta ~dep:meta_in ~prod:meta (fun _ _ ->
|
||||
+ let deps = String.concat " " (runtime_deps_of_ppx "ppx_sexp_conv") in
|
||||
+ Echo([String.subst "PPX_SEXP_CONV_RUNTIME" deps
|
||||
+ (Pathname.read meta_in)],
|
||||
+ meta))
|
||||
+ | _ -> ())
|
||||
diff --git a/pkg/META b/pkg/META
|
||||
deleted file mode 100644
|
||||
index a7929c7..0000000
|
||||
--- a/pkg/META
|
||||
+++ /dev/null
|
||||
@@ -1,43 +0,0 @@
|
||||
-version = "0.5.4"
|
||||
-description = "Simple crypto for the modern age"
|
||||
-requires = "cstruct zarith sexplib ppx_sexp_conv"
|
||||
-archive(byte) = "nocrypto.cma"
|
||||
-archive(native) = "nocrypto.cmxa"
|
||||
-plugin(byte) = "nocrypto.cma"
|
||||
-plugin(native) = "nocrypto.cmxs"
|
||||
-xen_linkopts = "-lnocrypto_stubs+mirage-xen"
|
||||
-freestanding_linkopts = "-lnocrypto_stubs+mirage-freestanding"
|
||||
-exists_if = "nocrypto.cma"
|
||||
-
|
||||
-package "unix" (
|
||||
- version = "0.5.4"
|
||||
- description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto unix bytes"
|
||||
- archive(byte) = "nocrypto_unix.cma"
|
||||
- archive(native) = "nocrypto_unix.cmxa"
|
||||
- plugin(byte) = "nocrypto_unix.cma"
|
||||
- plugin(native) = "nocrypto_unix.cmxs"
|
||||
- exists_if = "nocrypto_unix.cma"
|
||||
-)
|
||||
-
|
||||
-package "lwt" (
|
||||
- version = "0.5.4"
|
||||
- description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto nocrypto.unix lwt.unix cstruct.lwt"
|
||||
- archive(byte) = "nocrypto_lwt.cma"
|
||||
- archive(native) = "nocrypto_lwt.cmxa"
|
||||
- plugin(byte) = "nocrypto_lwt.cma"
|
||||
- plugin(native) = "nocrypto_lwt.cmxs"
|
||||
- exists_if = "nocrypto_lwt.cma"
|
||||
-)
|
||||
-
|
||||
-package "mirage" (
|
||||
- version = "0.5.4"
|
||||
- description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto lwt mirage-entropy"
|
||||
- archive(byte) = "nocrypto_mirage.cma"
|
||||
- archive(native) = "nocrypto_mirage.cmxa"
|
||||
- plugin(byte) = "nocrypto_mirage.cma"
|
||||
- plugin(native) = "nocrypto_mirage.cmxs"
|
||||
- exists_if = "nocrypto_mirage.cma"
|
||||
-)
|
||||
diff --git a/pkg/META.in b/pkg/META.in
|
||||
new file mode 100644
|
||||
index 0000000..0b263d7
|
||||
--- /dev/null
|
||||
+++ b/pkg/META.in
|
||||
@@ -0,0 +1,43 @@
|
||||
+version = "0.5.4"
|
||||
+description = "Simple crypto for the modern age"
|
||||
+requires = "cstruct zarith sexplib PPX_SEXP_CONV_RUNTIME"
|
||||
+archive(byte) = "nocrypto.cma"
|
||||
+archive(native) = "nocrypto.cmxa"
|
||||
+plugin(byte) = "nocrypto.cma"
|
||||
+plugin(native) = "nocrypto.cmxs"
|
||||
+xen_linkopts = "-lnocrypto_stubs+mirage-xen"
|
||||
+freestanding_linkopts = "-lnocrypto_stubs+mirage-freestanding"
|
||||
+exists_if = "nocrypto.cma"
|
||||
+
|
||||
+package "unix" (
|
||||
+ version = "0.5.4"
|
||||
+ description = "Simple crypto for the modern age"
|
||||
+ requires = "nocrypto unix bytes"
|
||||
+ archive(byte) = "nocrypto_unix.cma"
|
||||
+ archive(native) = "nocrypto_unix.cmxa"
|
||||
+ plugin(byte) = "nocrypto_unix.cma"
|
||||
+ plugin(native) = "nocrypto_unix.cmxs"
|
||||
+ exists_if = "nocrypto_unix.cma"
|
||||
+)
|
||||
+
|
||||
+package "lwt" (
|
||||
+ version = "0.5.4"
|
||||
+ description = "Simple crypto for the modern age"
|
||||
+ requires = "nocrypto nocrypto.unix lwt.unix cstruct.lwt"
|
||||
+ archive(byte) = "nocrypto_lwt.cma"
|
||||
+ archive(native) = "nocrypto_lwt.cmxa"
|
||||
+ plugin(byte) = "nocrypto_lwt.cma"
|
||||
+ plugin(native) = "nocrypto_lwt.cmxs"
|
||||
+ exists_if = "nocrypto_lwt.cma"
|
||||
+)
|
||||
+
|
||||
+package "mirage" (
|
||||
+ version = "0.5.4"
|
||||
+ description = "Simple crypto for the modern age"
|
||||
+ requires = "nocrypto lwt mirage-entropy"
|
||||
+ archive(byte) = "nocrypto_mirage.cma"
|
||||
+ archive(native) = "nocrypto_mirage.cmxa"
|
||||
+ plugin(byte) = "nocrypto_mirage.cma"
|
||||
+ plugin(native) = "nocrypto_mirage.cmxs"
|
||||
+ exists_if = "nocrypto_mirage.cma"
|
||||
+)
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
From 063b3496340fe4c3544b532ec0d27797b7917bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Scherer <gabriel.scherer@gmail.com>
|
||||
Date: Mon, 26 Mar 2018 16:07:45 +0200
|
||||
Subject: [PATCH 4/4] pack+package: workaround ocamlbuild#272
|
||||
|
||||
ocamlbuild should pass -package(...) flags to ocamlfind when building
|
||||
a -pack-ed file, see
|
||||
|
||||
https://github.com/ocaml/opam-repository/pull/11628#issuecomment-375697444
|
||||
---
|
||||
myocamlbuild.ml | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/myocamlbuild.ml b/myocamlbuild.ml
|
||||
index 7b29635..7a5cdb6 100644
|
||||
--- a/myocamlbuild.ml
|
||||
+++ b/myocamlbuild.ml
|
||||
@@ -8,9 +8,17 @@ let runtime_deps_of_ppx ppx =
|
||||
else
|
||||
Some name)
|
||||
|
||||
+let ocamlfind_and_pack = function
|
||||
+ | After_rules ->
|
||||
+ if !Options.use_ocamlfind then
|
||||
+ pflag ["ocaml"; "pack"] "package"
|
||||
+ (fun pkg -> S [A "-package"; A pkg]);
|
||||
+ | _ -> ()
|
||||
+
|
||||
let () = dispatch (fun hook ->
|
||||
Ocb_stubblr.(
|
||||
init & ccopt ~tags:["accelerate"] "-DACCELERATE -msse2 -maes"
|
||||
+ & ocamlfind_and_pack
|
||||
) hook;
|
||||
match hook with
|
||||
| After_rules ->
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,32 +0,0 @@
@@ -1,32 +0,0 @@
|
||||
From 063b3496340fe4c3544b532ec0d27797b7917bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Anil Madhavapeddy <anil@recoil.org>
|
||||
Date: Tue, 12 Mar 2019 09:07:13 +0000
|
||||
Subject: [PATCH 5/5] use modern cstruct findlib
|
||||
|
||||
see https://discuss.ocaml.org/t/psa-cstruct-3-4-0-removes-old-ocamlfind-subpackage-aliases/3275
|
||||
|
||||
--- a/_tags.orig 2019-03-12 09:03:58.000000000 +0000
|
||||
+++ b/_tags 2019-03-12 09:04:12.000000000 +0000
|
||||
@@ -13,7 +13,7 @@
|
||||
<unix/*.ml{,i}>: package(unix), package(bytes)
|
||||
|
||||
<lwt>: include
|
||||
-<lwt/*.ml{,i}>: package(lwt.unix), package(cstruct.lwt)
|
||||
+<lwt/*.ml{,i}>: package(lwt.unix), package(cstruct-lwt)
|
||||
|
||||
<mirage>: include
|
||||
<mirage/*.ml{,i}>: package(lwt), package(mirage-entropy)
|
||||
--- a/pkg/META.in.orig 2019-03-12 09:03:19.000000000 +0000
|
||||
+++ b/pkg/META.in 2019-03-12 09:03:33.000000000 +0000
|
||||
@@ -23,7 +23,7 @@
|
||||
package "lwt" (
|
||||
version = "0.5.4"
|
||||
description = "Simple crypto for the modern age"
|
||||
- requires = "nocrypto nocrypto.unix lwt.unix cstruct.lwt"
|
||||
+ requires = "nocrypto nocrypto.unix lwt.unix cstruct-lwt"
|
||||
archive(byte) = "nocrypto_lwt.cma"
|
||||
archive(native) = "nocrypto_lwt.cmxa"
|
||||
plugin(byte) = "nocrypto_lwt.cma"
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,24 +0,0 @@
@@ -1,24 +0,0 @@
|
||||
From 063b3496340fe4c3544b532ec0d27797b7917bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Anil Madhavapeddy <anil@recoil.org>
|
||||
Date: Tue, 26 Mar 2019 20:07:13 +0000
|
||||
Subject: [PATCH 6/6] explicitly depend on sexplib
|
||||
|
||||
Need to explicitly depend on sexplib rather than hope
|
||||
it is a transitive dependency of cstruct. This lets
|
||||
cstruct.4.0.0 work which makes sexplib optional.
|
||||
|
||||
--- a/_tags.orig 2019-03-26 20:33:33.000000000 +0000
|
||||
+++ b/_tags 2019-03-26 20:33:42.000000000 +0000
|
||||
@@ -1,7 +1,7 @@
|
||||
true: color(always)
|
||||
true: bin_annot, safe_string
|
||||
true: warn(A-4-29-33-40-41-42-43-34-44-48)
|
||||
-true: package(bytes), package(cstruct)
|
||||
+true: package(bytes), package(sexplib), package(cstruct)
|
||||
|
||||
<src>: include
|
||||
<src/*.ml{,i}>: package(zarith), package(sexplib), package(ppx_sexp_conv)
|
||||
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,58 +0,0 @@
@@ -1,58 +0,0 @@
|
||||
From: Hannes Mehnert <hannes@mehnert.org>
|
||||
Subject: [PATCH 1/1] compile mirage-entropy sublibrary if mirage-entropy is installed
|
||||
|
||||
Previously the compilation depended on mirage-xen or ocaml-freestanding being
|
||||
present, but _tags show the dependency is actually mirage-entropy.
|
||||
|
||||
--- a/opam 2019-11-02 13:38:17.202429000 +0100
|
||||
+++ b/opam 2019-11-02 13:39:19.173535000 +0100
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
build: ["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false"
|
||||
"--with-lwt" "%{lwt:installed}%"
|
||||
+ "--with-mirage" "%{mirage-entropy:installed}%"
|
||||
"--xen" "%{mirage-xen:installed}%"
|
||||
"--freestanding" "%{ocaml-freestanding:installed}%"]
|
||||
|
||||
@@ -26,11 +27,11 @@
|
||||
"cstruct"
|
||||
"zarith"
|
||||
"sexplib"
|
||||
- ("mirage-no-xen" | ("mirage-xen" & "mirage-entropy" & "zarith-xen"))
|
||||
- ("mirage-no-solo5" | ("mirage-solo5" & "mirage-entropy" & "zarith-freestanding"))
|
||||
+ ("mirage-no-xen" | ("mirage-xen" & "zarith-xen"))
|
||||
+ ("mirage-no-solo5" | ("mirage-solo5" & "zarith-freestanding"))
|
||||
]
|
||||
|
||||
-depopts: [ "lwt" ]
|
||||
+depopts: [ "lwt" "mirage-entropy" ]
|
||||
conflicts: [
|
||||
"topkg" {<"0.8.0"}
|
||||
"ocb-stubblr" {<"0.1.0"}
|
||||
--- a/pkg/pkg.ml 2017-02-01 00:43:04.000000000 +0100
|
||||
+++ b/pkg/pkg.ml 2019-11-02 13:37:30.295780000 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
let unix = Conf.with_pkg ~default:true "unix"
|
||||
let lwt = Conf.with_pkg ~default:false "lwt"
|
||||
+let mirage_entropy = Conf.with_pkg ~default:false "mirage"
|
||||
let xen = Conf.(key "xen" bool ~absent:false
|
||||
~doc:"Build Mirage/Xen support.")
|
||||
let fs = Conf.(key "freestanding" bool ~absent:false
|
||||
@@ -39,12 +40,14 @@
|
||||
let unix = Conf.value c unix in
|
||||
let lwt = Conf.value c lwt && unix
|
||||
and xen = Conf.value c xen
|
||||
- and fs = Conf.value c fs in
|
||||
+ and fs = Conf.value c fs
|
||||
+ and mirage_entropy = Conf.value c mirage_entropy
|
||||
+ in
|
||||
Ok [ Pkg.clib "src/libnocrypto_stubs.clib";
|
||||
Pkg.mllib "src/nocrypto.mllib";
|
||||
Pkg.mllib ~cond:unix "unix/nocrypto_unix.mllib";
|
||||
Pkg.mllib ~cond:lwt "lwt/nocrypto_lwt.mllib";
|
||||
- Pkg.mllib ~cond:(xen||fs) "mirage/nocrypto_mirage.mllib";
|
||||
+ Pkg.mllib ~cond:mirage_entropy "mirage/nocrypto_mirage.mllib";
|
||||
Pkg.test "tests/testrunner";
|
||||
Pkg.test ~run:false "bench/speed";
|
||||
mirage ~xen ~fs "src/libnocrypto_stubs.clib"; ]
|
@ -1,95 +0,0 @@
@@ -1,95 +0,0 @@
|
||||
opam-version: "2.0" |
||||
homepage: "https://github.com/mirleft/ocaml-nocrypto" |
||||
dev-repo: "git+https://github.com/mirleft/ocaml-nocrypto.git" |
||||
bug-reports: "https://github.com/mirleft/ocaml-nocrypto/issues" |
||||
doc: "https://mirleft.github.io/ocaml-nocrypto/doc" |
||||
authors: ["David Kaloper <david@numm.org>"] |
||||
maintainer: "David Kaloper <david@numm.org>" |
||||
license: "ISC" |
||||
tags: [ "org:mirage" ] |
||||
build: ["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false" |
||||
"--jobs" "1" |
||||
"--with-lwt" "%{lwt:installed}%" |
||||
"--with-mirage" "%{mirage-entropy:installed}%" |
||||
"--xen" "%{mirage-xen:installed}%" |
||||
"--freestanding" "%{mirage-solo5:installed}%"] |
||||
|
||||
depends: [ |
||||
"ocaml" {>= "4.02.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {build} |
||||
"topkg" {build} |
||||
"cpuid" {build} |
||||
"ocb-stubblr" {build} |
||||
"ppx_deriving" |
||||
"ppx_sexp_conv" {>= "113.33.01" & != "v0.11.0" & < "v0.14"} |
||||
"ounit" {with-test} |
||||
"cstruct" {>= "3.0.0"} |
||||
"cstruct-lwt" |
||||
"zarith" |
||||
"lwt" |
||||
"sexplib" {< "v0.14"} |
||||
"mirage-no-xen" | ("mirage-xen" & "zarith-xen") |
||||
"mirage-no-solo5" | ("mirage-solo5" & "zarith-freestanding") |
||||
] |
||||
depopts: [ "mirage-entropy" ] |
||||
conflicts: [ |
||||
"topkg" {<"0.9.1"} |
||||
"ocb-stubblr" {<"0.1.0"} |
||||
"mirage-xen" {<"2.2.0"} |
||||
"sexplib" {="v0.9.0"} |
||||
"ocaml" {= "4.08.0"} |
||||
] |
||||
|
||||
patches: [ |
||||
"0001-add-missing-runtime-dependencies-in-_tags.patch" |
||||
"0002-add-ppx_sexp_conv-as-a-runtime-dependency-in-the-pac.patch" |
||||
"0003-Auto-detect-ppx_sexp_conv-runtime-library.patch" |
||||
"0004-pack-package-workaround-ocamlbuild-272.patch" |
||||
"0005-use-modern-cstruct-findlib.patch" |
||||
"0006-explicit-dependency-on-sexplib.patch" |
||||
"0007-mirage-entropy.patch" |
||||
] |
||||
synopsis: "Simpler crypto" |
||||
description: """ |
||||
nocrypto is a small cryptographic library that puts emphasis on the applicative |
||||
style and ease of use. It includes basic ciphers (AES, 3DES, RC4), hashes (MD5, |
||||
SHA1, SHA2), public-key primitives (RSA, DSA, DH) and a strong RNG (Fortuna). |
||||
|
||||
RSA timing attacks are countered by blinding. AES timing attacks are avoided by |
||||
delegating to AES-NI.""" |
||||
extra-files: [ |
||||
[ |
||||
"0007-mirage-entropy.patch" |
||||
"md5=bb3368e3fd64857a6d05e1a3e61f08cf" |
||||
] |
||||
[ |
||||
"0006-explicit-dependency-on-sexplib.patch" |
||||
"md5=7f552e18ba304eb4e1e19d66d19b7888" |
||||
] |
||||
[ |
||||
"0005-use-modern-cstruct-findlib.patch" |
||||
"md5=4d4aab890f0ca9327d83548c32d64efc" |
||||
] |
||||
[ |
||||
"0004-pack-package-workaround-ocamlbuild-272.patch" |
||||
"md5=94615e4a8d5976e9e75c3b031d3484f1" |
||||
] |
||||
[ |
||||
"0003-Auto-detect-ppx_sexp_conv-runtime-library.patch" |
||||
"md5=871b3f904cf87527b7390993d5598884" |
||||
] |
||||
[ |
||||
"0002-add-ppx_sexp_conv-as-a-runtime-dependency-in-the-pac.patch" |
||||
"md5=06962f4f2f5b4c3f1e39293b3d3528f2" |
||||
] |
||||
[ |
||||
"0001-add-missing-runtime-dependencies-in-_tags.patch" |
||||
"md5=ae679a096e14c0a0ecb881bc7432cc2a" |
||||
] |
||||
] |
||||
url { |
||||
src: |
||||
"https://github.com/mirleft/ocaml-nocrypto/releases/download/v0.5.4/nocrypto-0.5.4.tbz" |
||||
checksum: "md5=c331a7a4d2a563d1d5ed581aeb849011" |
||||
} |
@ -1,59 +0,0 @@
@@ -1,59 +0,0 @@
|
||||
From db8d748b2cad0adc2698e9fcf28727083a711bae Mon Sep 17 00:00:00 2001
|
||||
From: David Allsopp <david.allsopp@metastack.com>
|
||||
Date: Wed, 24 Jan 2018 16:01:56 +0000
|
||||
Subject: [PATCH] Warn about installations broken by previous faulty package
|
||||
|
||||
---
|
||||
Makefile | 33 +++++++++++++++++++++++++++++++++
|
||||
1 file changed, 33 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index b40e588..d4dcd70 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -14,9 +14,42 @@ install:
|
||||
$(MAKE) -C src install
|
||||
$(MAKE) -C toplevel install
|
||||
|
||||
+OCAMLFIND_DIR:=$(dir $(shell command -v ocamlfind 2>/dev/null))
|
||||
+OCAMLC_DIR:=$(dir $(shell command -v ocamlc 2>/dev/null))
|
||||
+NUM_INSTALLED:=$(shell ocamlfind query num 2>/dev/null)
|
||||
+
|
||||
+ifeq ($(NUM_INSTALLED),)
|
||||
+# The num findlib package is not already present - wohoo!
|
||||
+OUR_FAULT=no
|
||||
+else
|
||||
+ifeq ($(OCAMLFIND_DIR),$(OCAMLC_DIR))
|
||||
+# The num findlib package is present, but ocamlc and ocamlfind are in the
|
||||
+# same place, which means that either we're looking at a system-installed
|
||||
+# ocamlfind (which isn't supported), or the user has done something else
|
||||
+# nefarious and doesn't deserve our sympathy (or, at least, our potentially
|
||||
+# unhelpful advice)
|
||||
+OUR_FAULT=no
|
||||
+else
|
||||
+# The num findlib package package is present, and ocamlc and ocamlfind reside
|
||||
+# in different directories, which means that we're almost certainly looking at
|
||||
+# a system switch which has been damaged by a previous num package installation
|
||||
+# on an OS which didn't protect the system lib directory.
|
||||
+OUR_FAULT=probably
|
||||
+endif
|
||||
+endif
|
||||
+
|
||||
findlib-install:
|
||||
+ifeq ($(OUR_FAULT),no)
|
||||
$(MAKE) -C src findlib-install
|
||||
$(MAKE) -C toplevel install
|
||||
+else
|
||||
+ @echo "\033[0;31m[ERROR]\033[m It appears that the num library was previously installed to your system"
|
||||
+ @echo " compiler's lib directory, probably by a faulty opam package."
|
||||
+ @echo " You will need to remove arith_flags.*, arith_status.*, big_int.*,"
|
||||
+ @echo " int_misc.*, nat.*, num.*, ratio.*, nums.*, libnums.* and"
|
||||
+ @echo " stublibs/dllnums.* from $(shell ocamlc -where)."
|
||||
+ @false
|
||||
+endif
|
||||
|
||||
uninstall:
|
||||
$(MAKE) -C src uninstall
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,34 +0,0 @@
@@ -1,34 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Xavier Leroy <xavier.leroy@inria.fr>" |
||||
authors: [ |
||||
"Valérie Ménissier-Morain" |
||||
"Pierre Weis" |
||||
"Xavier Leroy" |
||||
] |
||||
license: "LGPL-2.1-only with OCaml-LGPL-linking-exception" |
||||
homepage: "https://github.com/ocaml/num/" |
||||
bug-reports: "https://github.com/ocaml/num/issues" |
||||
dev-repo: "git+https://github.com/ocaml/num.git" |
||||
build: [ |
||||
[make] |
||||
] |
||||
install: [ |
||||
make |
||||
"install" {!ocaml:preinstalled} |
||||
"findlib-install" {ocaml:preinstalled} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.06.0"} |
||||
"ocamlfind" {build & >= "1.7.3"} |
||||
] |
||||
conflicts: [ "base-num" ] |
||||
patches: [ "installation-warning.patch" ] |
||||
synopsis: |
||||
"The legacy Num library for arbitrary-precision integer and rational arithmetic" |
||||
extra-files: [ |
||||
["installation-warning.patch" "md5=93c92bf6da6bae09d068da42b1bbaaac"] |
||||
] |
||||
url { |
||||
src: "https://github.com/ocaml/num/archive/v1.3.tar.gz" |
||||
checksum: "md5=f074e12325e84ebc883b37e5db10403d" |
||||
} |
@ -1,23 +0,0 @@
@@ -1,23 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "opensource@janestreet.com" |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
homepage: "https://github.com/janestreet/ocaml-compiler-libs" |
||||
bug-reports: "https://github.com/janestreet/ocaml-compiler-libs/issues" |
||||
dev-repo: "git+https://github.com/janestreet/ocaml-compiler-libs.git" |
||||
license: "Apache-2.0" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.04.1"} |
||||
"dune" {>= "1.5.1"} |
||||
] |
||||
synopsis: "OCaml compiler libraries repackaged" |
||||
description: """ |
||||
This packages exposes the OCaml compiler libraries repackages under |
||||
the toplevel names Ocaml_common, Ocaml_bytecomp, Ocaml_optcomp, ...""" |
||||
url { |
||||
src: |
||||
"https://github.com/janestreet/ocaml-compiler-libs/archive/v0.12.1.tar.gz" |
||||
checksum: "md5=2f929af7c764a3f681a5671f271210c4" |
||||
} |
@ -1,37 +0,0 @@
@@ -1,37 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "frederic.bour@lakaban.net" |
||||
authors: [ |
||||
"Frédéric Bour <frederic.bour@lakaban.net>" |
||||
"Jérémie Dimino <jeremie@dimino.org>" |
||||
] |
||||
license: "LGPL-2.1 with OCaml linking exception" |
||||
homepage: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree" |
||||
bug-reports: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/issues" |
||||
dev-repo: "git+https://github.com/ocaml-ppx/ocaml-migrate-parsetree.git" |
||||
doc: "https://ocaml-ppx.github.io/ocaml-migrate-parsetree/" |
||||
tags: [ "syntax" "org:ocamllabs" ] |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"result" |
||||
"ppx_derivers" |
||||
"dune" {>= "1.9.0"} |
||||
"ocaml" {>= "4.02.3"} |
||||
] |
||||
synopsis: "Convert OCaml parsetrees between different versions" |
||||
description: """ |
||||
Convert OCaml parsetrees between different versions |
||||
|
||||
This library converts parsetrees, outcometree and ast mappers between |
||||
different OCaml versions. High-level functions help making PPX |
||||
rewriters independent of a compiler version. |
||||
""" |
||||
url { |
||||
src: |
||||
"https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.6.0/ocaml-migrate-parsetree-v1.6.0.tbz" |
||||
checksum: [ |
||||
"sha256=9b018e7d25114ce17fc0b82b7cd7c927b84ebb6b043aa987fa7731c2484de33f" |
||||
"sha512=e03a5fe44ecf43683c764a7285a65bfa80639c09badf422661723bc3483d6d799c47c1ead34c2caa289a37e1b4b46d809c8cc56537d5c76e6004849d2d8a305f" |
||||
] |
||||
} |
@ -1,36 +0,0 @@
@@ -1,36 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "Gabriel Scherer <gabriel.scherer@gmail.com>" |
||||
authors: ["Nicolas Pouillard" "Berke Durak"] |
||||
homepage: "https://github.com/ocaml/ocamlbuild/" |
||||
bug-reports: "https://github.com/ocaml/ocamlbuild/issues" |
||||
license: "LGPL-2.1-only with OCaml-LGPL-linking-exception" |
||||
doc: "https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc" |
||||
dev-repo: "git+https://github.com/ocaml/ocamlbuild.git" |
||||
build: [ |
||||
[ |
||||
make |
||||
"-f" |
||||
"configure.make" |
||||
"all" |
||||
"OCAMLBUILD_PREFIX=%{prefix}%" |
||||
"OCAMLBUILD_BINDIR=%{bin}%" |
||||
"OCAMLBUILD_LIBDIR=%{lib}%" |
||||
"OCAMLBUILD_MANDIR=%{man}%" |
||||
"OCAML_NATIVE=%{ocaml:native}%" |
||||
"OCAML_NATIVE_TOOLS=%{ocaml:native}%" |
||||
] |
||||
[make "check-if-preinstalled" "all" "opam-install"] |
||||
] |
||||
conflicts: [ |
||||
"base-ocamlbuild" |
||||
"ocamlfind" {< "1.6.2"} |
||||
] |
||||
synopsis: |
||||
"OCamlbuild is a build system with builtin rules to easily build most OCaml projects." |
||||
depends: [ |
||||
"ocaml" {>= "4.03"} |
||||
] |
||||
url { |
||||
src: "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz" |
||||
checksum: "sha256=87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78" |
||||
} |
@ -1,4 +0,0 @@
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
BINDIR=$(dirname "$(command -v ocamlc)") |
||||
"$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@" |
@ -1,6 +0,0 @@
@@ -1,6 +0,0 @@
|
||||
bin: [ |
||||
"src/findlib/ocamlfind" {"ocamlfind"} |
||||
"?src/findlib/ocamlfind_opt" {"ocamlfind"} |
||||
"?tools/safe_camlp4" |
||||
] |
||||
toplevel: ["src/findlib/topfind"] |
@ -1,50 +0,0 @@
@@ -1,50 +0,0 @@
|
||||
opam-version: "2.0" |
||||
synopsis: "A library manager for OCaml" |
||||
maintainer: "Thomas Gazagnaire <thomas@gazagnaire.org>" |
||||
authors: "Gerd Stolpmann <gerd@gerd-stolpmann.de>" |
||||
homepage: "http://projects.camlcity.org/projects/findlib.html" |
||||
bug-reports: "https://gitlab.camlcity.org/gerd/lib-findlib/issues" |
||||
dev-repo: "git+https://gitlab.camlcity.org/gerd/lib-findlib.git" |
||||
description: """ |
||||
Findlib is a library manager for OCaml. It provides a convention how |
||||
to store libraries, and a file format ("META") to describe the |
||||
properties of libraries. There is also a tool (ocamlfind) for |
||||
interpreting the META files, so that it is very easy to use libraries |
||||
in programs and scripts. |
||||
""" |
||||
build: [ |
||||
[ |
||||
"./configure" |
||||
"-bindir" |
||||
bin |
||||
"-sitelib" |
||||
lib |
||||
"-mandir" |
||||
man |
||||
"-config" |
||||
"%{lib}%/findlib.conf" |
||||
"-no-custom" |
||||
"-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} |
||||
"-no-topfind" {ocaml:preinstalled} |
||||
] |
||||
[make "all"] |
||||
[make "opt"] {ocaml:native} |
||||
] |
||||
install: [ |
||||
[make "install"] |
||||
["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {ocaml:preinstalled} |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.00.0"} |
||||
"conf-m4" {build} |
||||
] |
||||
extra-files: [ |
||||
["ocamlfind.install" "md5=06f2c282ab52d93aa6adeeadd82a2543"] |
||||
["ocaml-stub" "md5=181f259c9e0bad9ef523e7d4abfdf87a"] |
||||
] |
||||
url { |
||||
src: "http://download.camlcity.org/download/findlib-1.8.1.tar.gz" |
||||
checksum: "md5=18ca650982c15536616dea0e422cbd8c" |
||||
mirrors: "http://download2.camlcity.org/download/findlib-1.8.1.tar.gz" |
||||
} |
||||
depopts: ["graphics"] |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
From d51b3f3a49f159469e00d23524db915f19bb0127 Mon Sep 17 00:00:00 2001
|
||||
From: Hannes Mehnert <hannes@mehnert.org>
|
||||
Date: Tue, 3 Oct 2017 13:55:16 +0100
|
||||
Subject: [PATCH] bytecode / custom needs -cclib as well
|
||||
|
||||
---
|
||||
src/ocb_stubblr.ml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ocb_stubblr.ml b/src/ocb_stubblr.ml
|
||||
index b68c37a..a0ee035 100644
|
||||
--- a/src/ocb_stubblr.ml
|
||||
+++ b/src/ocb_stubblr.ml
|
||||
@@ -160,7 +160,7 @@ let link_flag () =
|
||||
S [A switch; A ("-l"^name)]
|
||||
and dep flag = Pathname.([remove_extension flag -.- "a"]) in
|
||||
pflag ["link"; "ocaml"; "library"; "byte"] tag (libarg "-dllib");
|
||||
- pflag ["link"; "ocaml"; "library"; "native"] tag (libarg "-cclib");
|
||||
+ pflag ["link"; "ocaml"; "library"] tag (libarg "-cclib");
|
||||
pdep ["link"; "ocaml"] tag dep;
|
||||
pdep ["compile"; "ocaml"] tag dep
|
||||
(* XXX sneak in '-I' for compile;ocaml;program ?? *)
|
@ -1,33 +0,0 @@
@@ -1,33 +0,0 @@
|
||||
From f1c9340f3ab973ad1e8dcc4b7065bbe6cfaa028f Mon Sep 17 00:00:00 2001
|
||||
From: David Allsopp <david.allsopp@metastack.com>
|
||||
Date: Sun, 1 Jul 2018 09:54:32 +0100
|
||||
Subject: [PATCH] Use OPAM_SWITCH_PREFIX before opam config var prefix
|
||||
|
||||
opam 2's sandbox doesn't expose the mount point for the opam root.
|
||||
|
||||
Signed-off-by: David Allsopp <david.allsopp@metastack.com>
|
||||
---
|
||||
src/ocb_stubblr.ml | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ocb_stubblr.ml b/src/ocb_stubblr.ml
|
||||
index b68c37a..2cc5332 100644
|
||||
--- a/src/ocb_stubblr.ml
|
||||
+++ b/src/ocb_stubblr.ml
|
||||
@@ -31,11 +31,15 @@ module Pkg_config = struct
|
||||
|
||||
(* XXX Would be nice to move pkg-config results to a build artefact. *)
|
||||
|
||||
- let opam_prefix =
|
||||
+ let opam_prefix_cmd =
|
||||
let cmd = "opam config var prefix" in
|
||||
lazy ( try run_and_read cmd with Failure _ ->
|
||||
error_msgf "error running opam")
|
||||
|
||||
+ let opam_prefix =
|
||||
+ lazy (try Sys.getenv "OPAM_SWITCH_PREFIX"
|
||||
+ with Not_found -> Lazy.force opam_prefix_cmd)
|
||||
+
|
||||
let var = "PKG_CONFIG_PATH"
|
||||
|
||||
let path () =
|
@ -1,56 +0,0 @@
@@ -1,56 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "David Kaloper Meršinjak <david@numm.org>" |
||||
authors: ["David Kaloper Meršinjak <david@numm.org>"] |
||||
homepage: "https://github.com/pqwy/ocb-stubblr" |
||||
doc: "https://pqwy.github.io/ocb-stubblr/doc" |
||||
license: "ISC" |
||||
dev-repo: "git+https://github.com/pqwy/ocb-stubblr.git" |
||||
bug-reports: "https://github.com/pqwy/ocb-stubblr/issues" |
||||
tags: ["ocamlbuild"] |
||||
depends: [ |
||||
"ocaml" {>= "4.01.0"} |
||||
"ocamlfind" {build} |
||||
"ocamlbuild" {>= "0.9.3" | < "0.9.0"} |
||||
"topkg" {>= "0.8.1"} |
||||
"astring" |
||||
] |
||||
build: [ "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--tests" "false" ] |
||||
|
||||
patches: [ |
||||
"custom-cclib.patch" |
||||
"use-OPAM_SWITCH_PREFIX.patch" |
||||
] |
||||
|
||||
synopsis: "OCamlbuild plugin for C stubs" |
||||
description: """ |
||||
Do you get excited by C stubs? Do they sometimes make you swoon, and even faint, |
||||
and in the end no `cmxa`s get properly linked -- not to mention correct |
||||
multi-lib support? |
||||
|
||||
Do you wish that the things that excite you the most, would excite you just a |
||||
little less? Then ocb-stubblr is just the library for you. |
||||
|
||||
ocb-stubblr is about ten lines of code that you need to repeat over, over, over |
||||
and over again if you are using `ocamlbuild` to build OCaml projects that |
||||
contain C stubs -- now with 100% more lib! |
||||
|
||||
It does what everyone wants to do with `.clib` files in their project |
||||
directories. It can also clone the `.clib` and arrange for multiple compilations |
||||
with different sets of discovered `cflags`. |
||||
|
||||
ocb-stubblr is distributed under the ISC license.""" |
||||
url { |
||||
src: |
||||
"https://github.com/pqwy/ocb-stubblr/releases/download/v0.1.1/ocb-stubblr-0.1.1.tbz" |
||||
checksum: "md5=607720dd18ca51e40645b42df5c1273e" |
||||
} |
||||
extra-files: [ |
||||
[ |
||||
"custom-cclib.patch" |
||||
"md5=d479b52a50d53dd79da2d6eea2a9a9e3" |
||||
] |
||||
[ |
||||
"use-OPAM_SWITCH_PREFIX.patch" |
||||
"md5=a7271bb1f862bd3da4ffd9caa87ca76f" |
||||
] |
||||
] |
@ -1,33 +0,0 @@
@@ -1,33 +0,0 @@
|
||||
opam-version: "2.0" |
||||
authors: "Pierre Chambart" |
||||
maintainer: "pierre.chambart@ocamlpro.com" |
||||
homepage: "https://github.com/OCamlPro/ocplib-endian" |
||||
build: [ |
||||
["ocaml" "setup.ml" "-configure" "--disable-debug" "--prefix" prefix] |
||||
["ocaml" "setup.ml" "-build"] |
||||
] |
||||
install: [ |
||||
["ocaml" "setup.ml" "-install"] |
||||
] |
||||
remove: ["ocamlfind" "remove" "ocplib-endian"] |
||||
depends: [ |
||||
"ocaml" |
||||
"base-bytes" |
||||
"ocamlfind" |
||||
"cppo" {>= "1.1.0"} |
||||
"ocamlbuild" {build} |
||||
] |
||||
dev-repo: "git+https://github.com/OCamlPro/ocplib-endian.git" |
||||
bug-reports: "https://github.com/OCamlPro/ocplib-endian/issues" |
||||
synopsis: |
||||
"Optimised functions to read and write int16/32/64 from strings and bigarrays, based on new primitives added in version 4.01." |
||||
description: """ |
||||
The library implements three modules: |
||||
* [EndianString](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianString.cppo.mli) works directly on strings, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; |
||||
* [EndianBytes](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBytes.cppo.mli) works directly on bytes, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; |
||||
* [EndianBigstring](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBigstring.cppo.mli) works on bigstrings (Bigarrays of chars), and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts;""" |
||||
flags: light-uninstall |
||||
url { |
||||
src: "https://github.com/OCamlPro/ocplib-endian/archive/1.0.tar.gz" |
||||
checksum: "md5=74b45ba33e189283170a748c2a3ed477" |
||||
} |
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
opam-version: "2.0" |
||||
maintainer: "opensource@janestreet.com" |
||||
authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] |
||||
homepage: "https://github.com/janestreet/parsexp" |
||||
bug-reports: "https://github.com/janestreet/parsexp/issues" |
||||
dev-repo: "git+https://github.com/janestreet/parsexp.git" |
||||
doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/parsexp/index.html" |
||||
license: "MIT" |
||||
build: [ |
||||
["dune" "build" "-p" name "-j" jobs] |
||||
] |
||||
depends: [ |
||||
"ocaml" {>= "4.04.2"} |
||||
"base" {>= "v0.13" & < "v0.14"} |
||||
"sexplib0" {>= "v0.13" & < "v0.14"} |
||||
"dune" {>= "1.5.1"} |
||||
] |
||||
synopsis: "S-expression parsing library" |
||||
description: " |
||||
This library provides generic parsers for parsing S-expressions from |
||||
strings or other medium. |
||||
|
||||
The library is focused on performances but still provide full generic |
||||
parsers that can be used with strings, bigstrings, lexing buffers, |
||||
character streams or any other sources effortlessly. |
||||
|
||||
It provides three different class of parsers: |
||||
- the normal parsers, producing [Sexp.t] or [Sexp.t list] values |
||||
- the parsers with positions, building compact position sequences so |
||||
that one can recover original positions in order to report properly |
||||
located errors at little cost |
||||
- the Concrete Syntax Tree parsers, produce values of type |
||||
[Parsexp.Cst.t] which record the concrete layout of the s-expression |
||||
syntax, including comments |
||||
|
||||
This library is portable and doesn't provide IO functions. To read |
||||
s-expressions from files or other external sources, you should use |
||||
parsexp_io. |
||||
" |
||||
url { |
||||
src: "https://ocaml.janestreet.com/ocaml-core/v0.13/files/parsexp-v0.13.0.tar.gz" |
||||
checksum: "md5=08d2f6eca6a1eda735bf030d2581da43" |
||||
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue