├── .gitignore ├── .gitmodules ├── .travis.yml ├── .travis ├── build.sh ├── common.sh ├── package.sh ├── setup-mxe.sh ├── setup-opam-cross-windows.sh └── setup-opam.sh ├── README.md ├── build-instructions.md ├── installer ├── EnvVarUpdate-patched.nsh ├── MultiUser-patched.nsh ├── lgpl-3.0.txt ├── make-installer.sh ├── satysfi32.nsi ├── satysfi64.nsi └── script.nsi ├── licenses ├── LGPL-3.0 └── fonts │ ├── GUST-FONT-LICENSE.TXT │ ├── IPA_Font_License_Agreement_v1.0.txt │ ├── OFL.txt │ ├── copyright.txt │ └── gpl-2.0.txt ├── opam ├── opam-aux └── packages │ ├── bin_prot-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── camlimages-windows.5.0.1 │ ├── descr │ ├── files │ │ ├── patches │ │ │ ├── disable-by-cc.patch │ │ │ ├── ocamlfind-toolchain.patch │ │ │ └── tweak-ciconfig-dependency.patch │ │ ├── pkg-config-cross │ │ │ └── pkg-config │ │ └── with-pkg-config │ ├── opam │ └── url │ ├── camlpdf-windows.2.2.1+satysfi │ ├── descr │ ├── files │ │ └── patches │ │ │ ├── no-doc.patch │ │ │ └── use-ocamlfind.patch │ ├── opam │ └── url │ ├── camlpdf.2.2.1+satysfi │ ├── descr │ ├── opam │ └── url │ ├── core_kernel-windows.v0.10.0 │ ├── descr │ ├── files │ │ └── patches │ │ │ ├── no-endian-header.patch │ │ │ └── sixtyfour-fix.patch │ ├── opam │ └── url │ ├── fieldslib-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── jane-street-headers-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── otfm-windows.0.3.0+satysfi │ ├── descr │ ├── opam │ └── url │ ├── otfm.0.3.0+satysfi │ ├── descr │ ├── opam │ └── url │ ├── ppx_assert-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_bench-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_bin_prot-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_custom_printf-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_deriving-windows.4.2.1 │ ├── descr │ ├── opam │ └── url │ ├── ppx_expect-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_fail-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_fields_conv-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_here-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_inline_test-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_jane-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_let-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_optional-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_pipebang-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_sexp_message-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_sexp_value-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_tools-windows.5.1+4.06.0 │ ├── descr │ ├── files │ │ └── patches │ │ │ └── use-ocamlfind.patch │ ├── opam │ └── url │ ├── ppx_traverse-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_typerep_conv-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── ppx_variants_conv-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ ├── typerep-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url │ └── variantslib-windows.v0.10.0 │ ├── descr │ ├── opam │ └── url ├── package-native.sh ├── package.sh └── update-upstream.sh /.gitignore: -------------------------------------------------------------------------------- 1 | /satysfi32/ 2 | /satysfi32.zip 3 | /satysfi32-installer.exe 4 | /satysfi64 5 | /satysfi64.zip 6 | /satysfi64-installer.exe 7 | /installer/remove-list.nsh 8 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "SATySFi"] 2 | path = SATySFi 3 | url = https://github.com/qnighy/SATySFi.git 4 | [submodule "opam-cross-windows"] 5 | path = opam-cross-windows 6 | url = https://github.com/ocaml-cross/opam-cross-windows.git 7 | [submodule "satysfi-external-repo"] 8 | path = satysfi-external-repo 9 | url = https://github.com/gfngfn/satysfi-external-repo.git 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | os: linux 3 | dist: trusty 4 | sudo: required 5 | compiler: gcc 6 | matrix: 7 | include: 8 | - env: SATYSFI_TARGET='native' 9 | - env: SATYSFI_TARGET='windows32' 10 | - env: SATYSFI_TARGET='windows64' 11 | addons: 12 | apt: 13 | packages: 14 | - libc6-dev-i386 15 | - gcc-multilib 16 | - aspcud 17 | - fonts-ipaexfont-mincho 18 | - fonts-ipaexfont-gothic 19 | - fonts-lmodern 20 | - fonts-junicode 21 | - texlive-fonts-recommended 22 | - texlive-fonts-extra 23 | - nsis 24 | install: 25 | - ./.travis/setup-opam.sh 26 | - ./.travis/setup-mxe.sh 27 | - ./.travis/setup-opam-cross-windows.sh 28 | script: 29 | - ./.travis/build.sh 30 | - ./.travis/package.sh 31 | deploy: 32 | - provider: releases 33 | api_key: 34 | secure: jaFq9VMscl+KPwVvE5BYVkpRZfxtrQuEQLZYEoDs/SfyeY00FBRlitUe4UB8ufbA9m/UR82bbTSVFNMoTQ01v0dqMkspGh9zoaA02TMehKPEAywRMNZ2t+XEDKhqXN3Csr5auNPeEM/oe8AzGryP4+S2+w4AUFZMZHHW6DZUxOrQaalrZEPwSmwnDiQQ+kfEPs2KNAzr30iMwyQ1gK4F40S73TDl+qirU4mz5JmpZFKsY+1pI/YBJsOg8s6weZLJWeVtYueXP1FG2qJBPNc82Lj5KB0G6Ztb73HxDWcMDwt0IrNCjPuJqVuI3B9r8FJD+oOVvUQvYVidvWungmaXKl3ZbG6Pqk5G/ZN9YEv1za3tUHr6Tyy4ZSk7UJA6ISsZTS4R1rXc9b6Pb3qmZFWbeDjSuaoM9YWhxsDP0pk8A7jwhR4Y25DDNLLRVDRkTPVmVfa3u97CRXLnDIT8mF9bMLYxhaEM+4fPgS7B+FSTKRXjK3rtmxja5hWwq5DMYbT/b9MK7MOoYQkGbA8vRlamk8gg829owTgM5nVgdpWR82FnAnEHUu1DDlwEusGBxJecKC0oIAdWIfwoavECC6qyCbyiRppMPgovA8PwDmbIe1OpvCYQmXOCbVgOHudVY0PkfnemPbPP+K7VeHYlBLPM/ZiORLa04yzwgk6EJ/x1Xx8= 35 | file: 36 | - satysfi-demo-src.zip 37 | - satysfi-doc.zip 38 | skip_cleanup: true 39 | on: 40 | condition: "$SATYSFI_TARGET = native" 41 | tags: true 42 | - provider: releases 43 | api_key: 44 | secure: jaFq9VMscl+KPwVvE5BYVkpRZfxtrQuEQLZYEoDs/SfyeY00FBRlitUe4UB8ufbA9m/UR82bbTSVFNMoTQ01v0dqMkspGh9zoaA02TMehKPEAywRMNZ2t+XEDKhqXN3Csr5auNPeEM/oe8AzGryP4+S2+w4AUFZMZHHW6DZUxOrQaalrZEPwSmwnDiQQ+kfEPs2KNAzr30iMwyQ1gK4F40S73TDl+qirU4mz5JmpZFKsY+1pI/YBJsOg8s6weZLJWeVtYueXP1FG2qJBPNc82Lj5KB0G6Ztb73HxDWcMDwt0IrNCjPuJqVuI3B9r8FJD+oOVvUQvYVidvWungmaXKl3ZbG6Pqk5G/ZN9YEv1za3tUHr6Tyy4ZSk7UJA6ISsZTS4R1rXc9b6Pb3qmZFWbeDjSuaoM9YWhxsDP0pk8A7jwhR4Y25DDNLLRVDRkTPVmVfa3u97CRXLnDIT8mF9bMLYxhaEM+4fPgS7B+FSTKRXjK3rtmxja5hWwq5DMYbT/b9MK7MOoYQkGbA8vRlamk8gg829owTgM5nVgdpWR82FnAnEHUu1DDlwEusGBxJecKC0oIAdWIfwoavECC6qyCbyiRppMPgovA8PwDmbIe1OpvCYQmXOCbVgOHudVY0PkfnemPbPP+K7VeHYlBLPM/ZiORLa04yzwgk6EJ/x1Xx8= 45 | file: 46 | - satysfi32.zip 47 | - satysfi32-installer.exe 48 | skip_cleanup: true 49 | on: 50 | condition: "$SATYSFI_TARGET = windows32" 51 | tags: true 52 | - provider: releases 53 | api_key: 54 | secure: jaFq9VMscl+KPwVvE5BYVkpRZfxtrQuEQLZYEoDs/SfyeY00FBRlitUe4UB8ufbA9m/UR82bbTSVFNMoTQ01v0dqMkspGh9zoaA02TMehKPEAywRMNZ2t+XEDKhqXN3Csr5auNPeEM/oe8AzGryP4+S2+w4AUFZMZHHW6DZUxOrQaalrZEPwSmwnDiQQ+kfEPs2KNAzr30iMwyQ1gK4F40S73TDl+qirU4mz5JmpZFKsY+1pI/YBJsOg8s6weZLJWeVtYueXP1FG2qJBPNc82Lj5KB0G6Ztb73HxDWcMDwt0IrNCjPuJqVuI3B9r8FJD+oOVvUQvYVidvWungmaXKl3ZbG6Pqk5G/ZN9YEv1za3tUHr6Tyy4ZSk7UJA6ISsZTS4R1rXc9b6Pb3qmZFWbeDjSuaoM9YWhxsDP0pk8A7jwhR4Y25DDNLLRVDRkTPVmVfa3u97CRXLnDIT8mF9bMLYxhaEM+4fPgS7B+FSTKRXjK3rtmxja5hWwq5DMYbT/b9MK7MOoYQkGbA8vRlamk8gg829owTgM5nVgdpWR82FnAnEHUu1DDlwEusGBxJecKC0oIAdWIfwoavECC6qyCbyiRppMPgovA8PwDmbIe1OpvCYQmXOCbVgOHudVY0PkfnemPbPP+K7VeHYlBLPM/ZiORLa04yzwgk6EJ/x1Xx8= 55 | file: 56 | - satysfi64.zip 57 | - satysfi64-installer.exe 58 | skip_cleanup: true 59 | on: 60 | condition: "$SATYSFI_TARGET = windows64" 61 | tags: true 62 | -------------------------------------------------------------------------------- /.travis/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -uexv 3 | 4 | . .travis/common.sh 5 | 6 | opam repository -y add satysfi-aux ./opam-aux 7 | if [[ "$SATYSFI_TARGET" = "native" ]]; then 8 | opam pin -y add satysfi ./SATySFi 9 | else 10 | opam pin -y add satysfi-windows . 11 | fi 12 | -------------------------------------------------------------------------------- /.travis/common.sh: -------------------------------------------------------------------------------- 1 | if [[ "$SATYSFI_TARGET" = "native" ]]; then 2 | ARCH="x86_64-linux-gnu" 3 | OCAMLVER="4.06.1" 4 | elif [[ "$SATYSFI_TARGET" = "windows32" ]]; then 5 | ARCH="i686-w64-mingw32" 6 | OCAMLVER="4.06.1+32bit" 7 | elif [[ "$SATYSFI_TARGET" = "windows64" ]]; then 8 | ARCH="x86_64-w64-mingw32" 9 | OCAMLVER="4.06.1" 10 | else 11 | echo "Error: unknown \$SATYSFI_TARGET = $SATYSFI_TARGET" >&2 12 | fi 13 | -------------------------------------------------------------------------------- /.travis/package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -uexv 3 | 4 | . .travis/common.sh 5 | 6 | if [[ "$SATYSFI_TARGET" = "native" ]]; then 7 | bash -xv ./package-native.sh 8 | else 9 | bash -xv ./package.sh 10 | fi 11 | -------------------------------------------------------------------------------- /.travis/setup-mxe.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -uexv 3 | 4 | . .travis/common.sh 5 | 6 | if [[ "$SATYSFI_TARGET" = "native" ]]; then 7 | exit 8 | fi 9 | 10 | echo "deb http://pkg.mxe.cc/repos/apt/debian wheezy main" | sudo tee \ 11 | /etc/apt/sources.list.d/mxeapt.list 12 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D43A795B73B16ABE9643FE1AFD8FFF16DB45C6AB 13 | sudo apt update 14 | sudo apt install mxe-{x86-64,i686}-w64-mingw32.shared-{gcc,libpng,jpeg,freetype} 15 | -------------------------------------------------------------------------------- /.travis/setup-opam-cross-windows.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -uexv 3 | 4 | . .travis/common.sh 5 | 6 | if [[ "$SATYSFI_TARGET" = "native" ]]; then 7 | exit 8 | fi 9 | 10 | opam repository -y add windows ./opam-cross-windows 11 | opam pin -y add topkg https://github.com/whitequark/topkg.git 12 | 13 | if [[ "$SATYSFI_TARGET" = "windows32" ]]; then 14 | TOOLPREF32=/usr/lib/mxe/usr/bin/i686-w64-mingw32.shared- opam install -y conf-gcc-windows32 15 | else 16 | TOOLPREF64=/usr/lib/mxe/usr/bin/x86_64-w64-mingw32.shared- opam install -y conf-gcc-windows64 17 | fi 18 | 19 | opam install -y opam-installer 20 | opam install -y ocaml-windows 21 | -------------------------------------------------------------------------------- /.travis/setup-opam.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -uexv 3 | 4 | . .travis/common.sh 5 | 6 | wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sudo sh -s /usr/local/bin $OCAMLVER 7 | /usr/local/bin/opam init --auto-setup --compiler=$OCAMLVER 8 | eval `opam config env` 9 | # Workaround for ocaml-windows32 10 | mkdir -p "$(opam config var lib)/graphics" 11 | 12 | opam update 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SATySFi on Windows 2 | 3 | [![Build Status](https://travis-ci.org/qnighy/satysfi-cross-windows.svg?branch=master)](https://travis-ci.org/qnighy/satysfi-cross-windows) 4 | 5 | **[SATySFi](https://github.com/gfngfn/SATySFi)** is a new typesetting system with a static type system. 6 | 7 | This repository provides **SATySFi for Windows**. 8 | 9 | ## Downloading 10 | 11 | **SATySFi for Windows** is available at [releases page](https://github.com/qnighy/satysfi-cross-windows/releases). 12 | 13 | ## How to compile the demo document (after version 20180317) 14 | 15 | 1. Download SATySFi for Windows from [releases page](https://github.com/qnighy/satysfi-cross-windows/releases). 16 | 2. Extract the archive or run the installer. 17 | 3. If you didn't use the installer, do one of the following: 18 | - Set `%SATYSFI_RUNTIME%` environment variable to `path\to\satysfi\lib`. 19 | - Copy `satysfi\lib` directory to `%userprofile%\.satysfi`. `%userprofile%` is typically `C:\Users\yourname`. 20 | 4. Copy `demo` directory to somewhere. 21 | 5. Prepare arbitrary JPEG image and copy it to `demo\satysfi-logo.jpg`. 22 | 6. Run `path\to\satysfi.exe demo.saty`. If you used the installer, `%PATH%` is automatically configured. 23 | 7. `demo.pdf` will be produced. 24 | 25 | ## How to compile the demo document (before version 20180315) 26 | 27 | 1. Download SATySFi for Windows from [releases page](https://github.com/qnighy/satysfi-cross-windows/releases). 28 | 2. Extract the archive or run the installer. 29 | 3. Copy `lib-satysfi` directory to `%userprofile%\.satysfi`. `%userprofile%` is typically `C:\Users\yourname`. 30 | 4. Copy `demo` directory to somewhere. 31 | 5. Prepare arbitrary JPEG image and copy it to `demo\satysfi-logo.jpg`. 32 | 6. Run `path\to\satysfi.exe demo.saty`. 33 | 7. `demo.pdf` will be produced. 34 | 35 | ## Compilation of SATySFi for Windows itself 36 | 37 | If you want to compile SATySFi for Windows by your own, see `build-instructions.md` in this repository. 38 | 39 | # SATySFi on Windows 40 | 41 | **[SATySFi](https://github.com/gfngfn/SATySFi)**は、新しい組版処理システムとその言語です。 42 | 43 | このリポジトリでは**Windows版SATySFi**を提供しています。 44 | 45 | ## ダウンロード 46 | 47 | **SATySFi for Windows**は[リリースページ](https://github.com/qnighy/satysfi-cross-windows/releases)からダウンロードできます。 48 | 49 | ## デモ文書のコンパイル方法 (バージョン20180317以降) 50 | 51 | 1. SATySFi for Windowsを[リリースページ](https://github.com/qnighy/satysfi-cross-windows/releases)からダウンロードする。 52 | 2. アーカイブを展開するか、インストーラを実行する。 53 | 3. インストーラを使わなかった場合は以下のどちらかをする。 54 | - 環境変数 `%SATYSFI_RUNTIME%` を `適切な\パス\satysfi\lib` のように設定する。 55 | - `satysfi\lib` ディレクトリを `%userprofile%\.satysfi` にコピーする。 `%userprofile%` は通常、 `C:\Users\名前` のようなディレクトリを指しています。 56 | 4. `demo` ディレクトリをどこかにコピーする。 57 | 5. 何でもいいのでJPEG画像を用意し、 `demo\satysfi-logo.jpg` にコピーする。 58 | 6. `適切な\パス\satysfi.exe demo.saty` を実行する。インストーラーを使った場合は、 `%PATH%` が自動的に設定されているはずです。 59 | 7. `demo.pdf` が生成されます。 60 | 61 | ## デモ文書のコンパイル方法 (バージョン20180315以前) 62 | 63 | 1. SATySFi for Windowsを[リリースページ](https://github.com/qnighy/satysfi-cross-windows/releases)からダウンロードする。 64 | 2. アーカイブを展開するか、インストーラを実行する。 65 | 3. `lib-satysfi` ディレクトリを `%userprofile\.satysfi` にコピーする。 `%userprofile%` は通常、 `C:\Users\名前` のようなディレクトリを指しています。 66 | 4. `demo` ディレクトリをどこかにコピーする。 67 | 5. 何でもいいのでJPEG画像を用意し、 `demo\satysfi-logo.jpg` にコピーする。 68 | 6. `適切な\パス\satysfi.exe demo.saty` を実行する。 69 | 7. `demo.pdf` が生成されます。 70 | 71 | ## SATySFi for Windows 自体のコンパイル 72 | 73 | SATySFi for Windows自体を自分でビルドしたい場合は、このリポジトリ内の `build-insructions.md` を参照してください。 74 | -------------------------------------------------------------------------------- /build-instructions.md: -------------------------------------------------------------------------------- 1 | # Crosscompiling SATySFi from Ubuntu to Windows 2 | 3 | ## Install MinGW-w64 crosscompiler, libpng, libjpeg and freetype 4 | 5 | Here I use [MXE prebuilt repository](http://pkg.mxe.cc/). Alternatively, you can use [MXE (nonprebuilt)](http://mxe.cc/) or use crosscompiler from Ubuntu with your own libpng/libjpeg/freetype builds. 6 | 7 | ```sh 8 | echo "deb http://pkg.mxe.cc/repos/apt/debian wheezy main" | sudo tee \ 9 | /etc/apt/sources.list.d/mxeapt.list 10 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D43A795B73B16ABE9643FE1AFD8FFF16DB45C6AB 11 | sudo apt update 12 | sudo apt install mxe-{x86-64,i686}-w64-mingw32.static-{gcc,libpng,jpeg,freetype} 13 | ``` 14 | 15 | # Install OPAM and OCaml 4.06.1 16 | 17 | See [OPAM installation](https://opam.ocaml.org/doc/Install.html) for details. 18 | 19 | ```sh 20 | sudo apt-get install build-essential git m4 unzip wget 21 | 22 | # The following command will ask if you allow OPAM to modify some files (e.g. ~/.bash_profile). 23 | # Be sure to read its instructions. Otherwise, some environment variables won't be set. 24 | wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin 25 | 26 | opam switch 4.06.1 27 | eval `opam config env` 28 | opam update 29 | ``` 30 | 31 | # Install OCaml crosscompiler 32 | 33 | See [opam-cross-windows](https://github.com/ocaml-cross/opam-cross-windows) for details. 34 | 35 | ```sh 36 | opam repository add windows git://github.com/ocaml-cross/opam-cross-windows 37 | TOOLPREF64=/usr/lib/mxe/usr/bin/x86_64-w64-mingw32.static- opam install conf-gcc-windows64 38 | opam install opam-installer ocaml-windows 39 | ``` 40 | 41 | # Build SATySFi and its dependencies 42 | 43 | ``` 44 | git clone https://github.com/qnighy/satysfi-cross-windows.git --recursive 45 | cd satysfi-cross-windows 46 | opam repository add satysfi-aux ./opam-aux 47 | opam pin add satysfi-windows . 48 | ``` 49 | 50 | You can find the generated binary in `~/.opam/4.06.1/windows-sysroot/bin/satysfi`. 51 | 52 | # Package built artifacts 53 | 54 | ``` 55 | sudo apt install fonts-ipaexfont-mincho fonts-ipaexfont-gothic fonts-lmodern fonts-junicode texlive-fonts-recommended nsis 56 | ./package.sh 57 | ``` 58 | -------------------------------------------------------------------------------- /installer/EnvVarUpdate-patched.nsh: -------------------------------------------------------------------------------- 1 | /** 2 | * EnvVarUpdate.nsh 3 | * : Environmental Variables: append, prepend, and remove entries 4 | * 5 | * WARNING: If you use StrFunc.nsh header then include it before this file 6 | * with all required definitions. This is to avoid conflicts 7 | * 8 | * Usage: 9 | * ${EnvVarUpdate} "ResultVar" "EnvVarName" "Action" "RegLoc" "PathString" 10 | * 11 | * Credits: 12 | * Version 1.0 13 | * * Cal Turney (turnec2) 14 | * * Amir Szekely (KiCHiK) and e-circ for developing the forerunners of this 15 | * function: AddToPath, un.RemoveFromPath, AddToEnvVar, un.RemoveFromEnvVar, 16 | * WriteEnvStr, and un.DeleteEnvStr 17 | * * Diego Pedroso (deguix) for StrTok 18 | * * Kevin English (kenglish_hi) for StrContains 19 | * * Hendri Adriaens (Smile2Me), Diego Pedroso (deguix), and Dan Fuhry 20 | * (dandaman32) for StrReplace 21 | * 22 | * Version 1.1 (compatibility with StrFunc.nsh) 23 | * * techtonik 24 | * 25 | * http://nsis.sourceforge.net/Environmental_Variables:_append%2C_prepend%2C_and_remove_entries 26 | * 27 | */ 28 | 29 | 30 | !ifndef ENVVARUPDATE_FUNCTION 31 | !define ENVVARUPDATE_FUNCTION 32 | !verbose push 33 | !verbose 3 34 | !include "LogicLib.nsh" 35 | !include "WinMessages.NSH" 36 | !include "StrFunc.nsh" 37 | 38 | ; ---- Fix for conflict if StrFunc.nsh is already includes in main file ----------------------- 39 | !macro _IncludeStrFunction StrFuncName 40 | !ifndef ${StrFuncName}_INCLUDED 41 | ${${StrFuncName}} 42 | !endif 43 | !ifndef Un${StrFuncName}_INCLUDED 44 | ${Un${StrFuncName}} 45 | !endif 46 | !define un.${StrFuncName} "${Un${StrFuncName}}" 47 | !macroend 48 | 49 | !insertmacro _IncludeStrFunction StrTok 50 | !insertmacro _IncludeStrFunction StrStr 51 | !insertmacro _IncludeStrFunction StrRep 52 | 53 | ; ---------------------------------- Macro Definitions ---------------------------------------- 54 | !macro _EnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString 55 | Push "${EnvVarName}" 56 | Push "${Action}" 57 | Push "${RegLoc}" 58 | Push "${PathString}" 59 | Call EnvVarUpdate 60 | Pop "${ResultVar}" 61 | !macroend 62 | !define EnvVarUpdate '!insertmacro "_EnvVarUpdateConstructor"' 63 | 64 | !macro _unEnvVarUpdateConstructor ResultVar EnvVarName Action Regloc PathString 65 | Push "${EnvVarName}" 66 | Push "${Action}" 67 | Push "${RegLoc}" 68 | Push "${PathString}" 69 | Call un.EnvVarUpdate 70 | Pop "${ResultVar}" 71 | !macroend 72 | !define un.EnvVarUpdate '!insertmacro "_unEnvVarUpdateConstructor"' 73 | ; ---------------------------------- Macro Definitions end------------------------------------- 74 | 75 | ;----------------------------------- EnvVarUpdate start---------------------------------------- 76 | !define hklm_all_users 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' 77 | !define hkcu_current_user 'HKCU "Environment"' 78 | 79 | !macro EnvVarUpdate UN 80 | 81 | Function ${UN}EnvVarUpdate 82 | 83 | Push $0 84 | Exch 4 85 | Exch $1 86 | Exch 3 87 | Exch $2 88 | Exch 2 89 | Exch $3 90 | Exch 91 | Exch $4 92 | Push $5 93 | Push $6 94 | Push $7 95 | Push $8 96 | Push $9 97 | Push $R0 98 | 99 | /* After this point: 100 | ------------------------- 101 | $0 = ResultVar (returned) 102 | $1 = EnvVarName (input) 103 | $2 = Action (input) 104 | $3 = RegLoc (input) 105 | $4 = PathString (input) 106 | $5 = Orig EnvVar (read from registry) 107 | $6 = Len of $0 (temp) 108 | $7 = tempstr1 (temp) 109 | $8 = Entry counter (temp) 110 | $9 = tempstr2 (temp) 111 | $R0 = tempChar (temp) */ 112 | 113 | ; Step 1: Read contents of EnvVarName from RegLoc 114 | ; 115 | ; Check for empty EnvVarName 116 | ${If} $1 == "" 117 | SetErrors 118 | DetailPrint "ERROR: EnvVarName is blank" 119 | Goto EnvVarUpdate_Restore_Vars 120 | ${EndIf} 121 | 122 | ; Check for valid Action 123 | ${If} $2 != "A" 124 | ${AndIf} $2 != "P" 125 | ${AndIf} $2 != "R" 126 | SetErrors 127 | DetailPrint "ERROR: Invalid Action - must be A, P, or R" 128 | Goto EnvVarUpdate_Restore_Vars 129 | ${EndIf} 130 | 131 | ${If} $3 == HKLM 132 | ReadRegStr $5 ${hklm_all_users} $1 ; Get EnvVarName from all users into $5 133 | ${ElseIf} $3 == HKCU 134 | ReadRegStr $5 ${hkcu_current_user} $1 ; Read EnvVarName from current user into $5 135 | ${Else} 136 | SetErrors 137 | DetailPrint 'ERROR: Action is [$3] but must be "HKLM" or HKCU"' 138 | Goto EnvVarUpdate_Restore_Vars 139 | ${EndIf} 140 | 141 | ; Check for empty PathString 142 | ${If} $4 == "" 143 | SetErrors 144 | DetailPrint "ERROR: PathString is blank" 145 | Goto EnvVarUpdate_Restore_Vars 146 | ${EndIf} 147 | 148 | ;;khc - here check if length is going to be greater then max string length 149 | ;; and abort if so - also abort if original path empty - may mean 150 | ;; it was too long as well- write message to say set it by hand 151 | 152 | Push $6 153 | Push $7 154 | Push $8 155 | StrLen $7 $4 156 | StrLen $6 $5 157 | IntOp $8 $6 + $7 158 | ${If} $5 == "" 159 | ${OrIf} $8 >= ${NSIS_MAX_STRLEN} 160 | SetErrors 161 | DetailPrint "Current $1 length ($6) too long to modify in NSIS; set manually if needed" 162 | Pop $8 163 | Pop $7 164 | Pop $6 165 | Goto EnvVarUpdate_Restore_Vars 166 | ${EndIf} 167 | Pop $8 168 | Pop $7 169 | Pop $6 170 | ;;khc 171 | 172 | ; Make sure we've got some work to do 173 | ${If} $5 == "" 174 | ${AndIf} $2 == "R" 175 | SetErrors 176 | DetailPrint "$1 is empty - Nothing to remove" 177 | Goto EnvVarUpdate_Restore_Vars 178 | ${EndIf} 179 | 180 | ; Step 2: Scrub EnvVar 181 | ; 182 | StrCpy $0 $5 ; Copy the contents to $0 183 | ; Remove spaces around semicolons (NOTE: spaces before the 1st entry or 184 | ; after the last one are not removed here but instead in Step 3) 185 | ${If} $0 != "" ; If EnvVar is not empty ... 186 | ${Do} 187 | ${${UN}StrStr} $7 $0 " ;" 188 | ${If} $7 == "" 189 | ${ExitDo} 190 | ${EndIf} 191 | ${${UN}StrRep} $0 $0 " ;" ";" ; Remove ';' 192 | ${Loop} 193 | ${Do} 194 | ${${UN}StrStr} $7 $0 "; " 195 | ${If} $7 == "" 196 | ${ExitDo} 197 | ${EndIf} 198 | ${${UN}StrRep} $0 $0 "; " ";" ; Remove ';' 199 | ${Loop} 200 | ${Do} 201 | ${${UN}StrStr} $7 $0 ";;" 202 | ${If} $7 == "" 203 | ${ExitDo} 204 | ${EndIf} 205 | ${${UN}StrRep} $0 $0 ";;" ";" 206 | ${Loop} 207 | 208 | ; Remove a leading or trailing semicolon from EnvVar 209 | StrCpy $7 $0 1 0 210 | ${If} $7 == ";" 211 | StrCpy $0 $0 "" 1 ; Change ';' to '' 212 | ${EndIf} 213 | StrLen $6 $0 214 | IntOp $6 $6 - 1 215 | StrCpy $7 $0 1 $6 216 | ${If} $7 == ";" 217 | StrCpy $0 $0 $6 ; Change ';' to '' 218 | ${EndIf} 219 | ; DetailPrint "Scrubbed $1: [$0]" ; Uncomment to debug 220 | ${EndIf} 221 | 222 | /* Step 3. Remove all instances of the target path/string (even if "A" or "P") 223 | $6 = bool flag (1 = found and removed PathString) 224 | $7 = a string (e.g. path) delimited by semicolon(s) 225 | $8 = entry counter starting at 0 226 | $9 = copy of $0 227 | $R0 = tempChar */ 228 | 229 | ${If} $5 != "" ; If EnvVar is not empty ... 230 | StrCpy $9 $0 231 | StrCpy $0 "" 232 | StrCpy $8 0 233 | StrCpy $6 0 234 | 235 | ${Do} 236 | ${${UN}StrTok} $7 $9 ";" $8 "0" ; $7 = next entry, $8 = entry counter 237 | 238 | ${If} $7 == "" ; If we've run out of entries, 239 | ${ExitDo} ; were done 240 | ${EndIf} ; 241 | 242 | ; Remove leading and trailing spaces from this entry (critical step for Action=Remove) 243 | ${Do} 244 | StrCpy $R0 $7 1 245 | ${If} $R0 != " " 246 | ${ExitDo} 247 | ${EndIf} 248 | StrCpy $7 $7 "" 1 ; Remove leading space 249 | ${Loop} 250 | ${Do} 251 | StrCpy $R0 $7 1 -1 252 | ${If} $R0 != " " 253 | ${ExitDo} 254 | ${EndIf} 255 | StrCpy $7 $7 -1 ; Remove trailing space 256 | ${Loop} 257 | ${If} $7 == $4 ; If string matches, remove it by not appending it 258 | StrCpy $6 1 ; Set 'found' flag 259 | ${ElseIf} $7 != $4 ; If string does NOT match 260 | ${AndIf} $0 == "" ; and the 1st string being added to $0, 261 | StrCpy $0 $7 ; copy it to $0 without a prepended semicolon 262 | ${ElseIf} $7 != $4 ; If string does NOT match 263 | ${AndIf} $0 != "" ; and this is NOT the 1st string to be added to $0, 264 | StrCpy $0 $0;$7 ; append path to $0 with a prepended semicolon 265 | ${EndIf} ; 266 | 267 | IntOp $8 $8 + 1 ; Bump counter 268 | ${Loop} ; Check for duplicates until we run out of paths 269 | ${EndIf} 270 | 271 | ; Step 4: Perform the requested Action 272 | ; 273 | ${If} $2 != "R" ; If Append or Prepend 274 | ${If} $6 == 1 ; And if we found the target 275 | DetailPrint "Target is already present in $1. It will be removed and" 276 | ${EndIf} 277 | ${If} $0 == "" ; If EnvVar is (now) empty 278 | StrCpy $0 $4 ; just copy PathString to EnvVar 279 | ${If} $6 == 0 ; If found flag is either 0 280 | ${OrIf} $6 == "" ; or blank (if EnvVarName is empty) 281 | DetailPrint "$1 was empty and has been updated with the target" 282 | ${EndIf} 283 | ${ElseIf} $2 == "A" ; If Append (and EnvVar is not empty), 284 | StrCpy $0 $0;$4 ; append PathString 285 | ${If} $6 == 1 286 | DetailPrint "appended to $1" 287 | ${Else} 288 | DetailPrint "Target was appended to $1" 289 | ${EndIf} 290 | ${Else} ; If Prepend (and EnvVar is not empty), 291 | StrCpy $0 $4;$0 ; prepend PathString 292 | ${If} $6 == 1 293 | DetailPrint "prepended to $1" 294 | ${Else} 295 | DetailPrint "Target was prepended to $1" 296 | ${EndIf} 297 | ${EndIf} 298 | ${Else} ; If Action = Remove 299 | ${If} $6 == 1 ; and we found the target 300 | DetailPrint "Target was found and removed from $1" 301 | ${Else} 302 | DetailPrint "Target was NOT found in $1 (nothing to remove)" 303 | ${EndIf} 304 | ${If} $0 == "" 305 | DetailPrint "$1 is now empty" 306 | ${EndIf} 307 | ${EndIf} 308 | 309 | ; Step 5: Update the registry at RegLoc with the updated EnvVar and announce the change 310 | ; 311 | ClearErrors 312 | ${If} $3 == HKLM 313 | WriteRegExpandStr ${hklm_all_users} $1 $0 ; Write it in all users section 314 | ${ElseIf} $3 == HKCU 315 | WriteRegExpandStr ${hkcu_current_user} $1 $0 ; Write it to current user section 316 | ${EndIf} 317 | 318 | IfErrors 0 +4 319 | MessageBox MB_OK|MB_ICONEXCLAMATION "Could not write updated $1 to $3" 320 | DetailPrint "Could not write updated $1 to $3" 321 | Goto EnvVarUpdate_Restore_Vars 322 | 323 | ; "Export" our change 324 | SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 325 | 326 | EnvVarUpdate_Restore_Vars: 327 | ; 328 | ; Restore the user's variables and return ResultVar 329 | Pop $R0 330 | Pop $9 331 | Pop $8 332 | Pop $7 333 | Pop $6 334 | Pop $5 335 | Pop $4 336 | Pop $3 337 | Pop $2 338 | Pop $1 339 | Push $0 ; Push my $0 (ResultVar) 340 | Exch 341 | Pop $0 ; Restore his $0 342 | 343 | FunctionEnd 344 | 345 | !macroend ; EnvVarUpdate UN 346 | !insertmacro EnvVarUpdate "" 347 | !insertmacro EnvVarUpdate "un." 348 | ;----------------------------------- EnvVarUpdate end---------------------------------------- 349 | 350 | !verbose pop 351 | !endif 352 | -------------------------------------------------------------------------------- /installer/MultiUser-patched.nsh: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MultiUser.nsh 4 | 5 | Installer configuration for multi-user Windows environments 6 | 7 | Copyright 2008-2015 Joost Verburg 8 | 9 | */ 10 | 11 | !ifndef MULTIUSER_INCLUDED 12 | !define MULTIUSER_INCLUDED 13 | !verbose push 14 | !verbose 3 15 | 16 | ;Standard NSIS header files 17 | 18 | !ifdef MULTIUSER_MUI 19 | !include MUI2.nsh 20 | !endif 21 | !include nsDialogs.nsh 22 | !include LogicLib.nsh 23 | !include WinVer.nsh 24 | !include FileFunc.nsh 25 | 26 | ;Variables 27 | 28 | Var MultiUser.Privileges 29 | Var MultiUser.InstallMode 30 | 31 | ;Command line installation mode setting 32 | 33 | !ifdef MULTIUSER_INSTALLMODE_COMMANDLINE 34 | !include StrFunc.nsh 35 | !ifndef StrStr_INCLUDED 36 | ${StrStr} 37 | !endif 38 | !ifndef MULTIUSER_NOUNINSTALL 39 | !ifndef UnStrStr_INCLUDED 40 | ${UnStrStr} 41 | !endif 42 | !endif 43 | 44 | Var MultiUser.Parameters 45 | Var MultiUser.Result 46 | !endif 47 | 48 | ;Installation folder stored in registry 49 | 50 | !ifdef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY & MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME 51 | Var MultiUser.InstDir 52 | !endif 53 | 54 | !ifdef MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY & MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME 55 | Var MultiUser.DefaultKeyValue 56 | !endif 57 | 58 | ;Windows Vista UAC setting 59 | 60 | !if "${MULTIUSER_EXECUTIONLEVEL}" == Admin 61 | RequestExecutionLevel admin 62 | !define MULTIUSER_EXECUTIONLEVEL_ALLUSERS 63 | !else if "${MULTIUSER_EXECUTIONLEVEL}" == Power 64 | RequestExecutionLevel admin 65 | !define MULTIUSER_EXECUTIONLEVEL_ALLUSERS 66 | !else if "${MULTIUSER_EXECUTIONLEVEL}" == Highest 67 | RequestExecutionLevel highest 68 | !define MULTIUSER_EXECUTIONLEVEL_ALLUSERS 69 | !else 70 | RequestExecutionLevel user 71 | !endif 72 | 73 | /* 74 | 75 | Install modes 76 | 77 | */ 78 | 79 | !macro MULTIUSER_INSTALLMODE_ALLUSERS UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX 80 | 81 | ;Install mode initialization - per-machine 82 | 83 | ${ifnot} ${IsNT} 84 | ${orif} $MultiUser.Privileges == "Admin" 85 | ${orif} $MultiUser.Privileges == "Power" 86 | 87 | StrCpy $MultiUser.InstallMode AllUsers 88 | 89 | SetShellVarContext all 90 | 91 | !if "${UNINSTALLER_PREFIX}" != UN 92 | ;Set default installation location for installer 93 | !ifdef MULTIUSER_INSTALLMODE_INSTDIR 94 | !ifdef MULTIUSER_USE_PROGRAMFILES64 95 | StrCpy $INSTDIR "$PROGRAMFILES64\${MULTIUSER_INSTALLMODE_INSTDIR}" 96 | !else 97 | StrCpy $INSTDIR "$PROGRAMFILES\${MULTIUSER_INSTALLMODE_INSTDIR}" 98 | !endif 99 | !endif 100 | !endif 101 | 102 | !ifdef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY & MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME 103 | 104 | ReadRegStr $MultiUser.InstDir HKLM "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}" 105 | 106 | ${if} $MultiUser.InstDir != "" 107 | StrCpy $INSTDIR $MultiUser.InstDir 108 | ${endif} 109 | 110 | !endif 111 | 112 | !ifdef MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION 113 | Call "${MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION}" 114 | !endif 115 | 116 | ${endif} 117 | 118 | !macroend 119 | 120 | !macro MULTIUSER_INSTALLMODE_CURRENTUSER UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX 121 | 122 | ;Install mode initialization - per-user 123 | 124 | ${if} ${IsNT} 125 | 126 | StrCpy $MultiUser.InstallMode CurrentUser 127 | 128 | SetShellVarContext current 129 | 130 | !if "${UNINSTALLER_PREFIX}" != UN 131 | ;Set default installation location for installer 132 | !ifdef MULTIUSER_INSTALLMODE_INSTDIR 133 | ${if} ${AtLeastWin2000} 134 | StrCpy $INSTDIR "$LOCALAPPDATA\${MULTIUSER_INSTALLMODE_INSTDIR}" 135 | ${else} 136 | StrCpy $INSTDIR "$PROGRAMFILES\${MULTIUSER_INSTALLMODE_INSTDIR}" 137 | ${endif} 138 | !endif 139 | !endif 140 | 141 | !ifdef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY & MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME 142 | 143 | ReadRegStr $MultiUser.InstDir HKCU "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}" 144 | 145 | ${if} $MultiUser.InstDir != "" 146 | StrCpy $INSTDIR $MultiUser.InstDir 147 | ${endif} 148 | 149 | !endif 150 | 151 | !ifdef MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION 152 | Call "${MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION}" 153 | !endif 154 | 155 | ${endif} 156 | 157 | !macroend 158 | 159 | Function MultiUser.InstallMode.AllUsers 160 | !insertmacro MULTIUSER_INSTALLMODE_ALLUSERS "" "" 161 | FunctionEnd 162 | 163 | Function MultiUser.InstallMode.CurrentUser 164 | !insertmacro MULTIUSER_INSTALLMODE_CURRENTUSER "" "" 165 | FunctionEnd 166 | 167 | !ifndef MULTIUSER_NOUNINSTALL 168 | 169 | Function un.MultiUser.InstallMode.AllUsers 170 | !insertmacro MULTIUSER_INSTALLMODE_ALLUSERS UN .un 171 | FunctionEnd 172 | 173 | Function un.MultiUser.InstallMode.CurrentUser 174 | !insertmacro MULTIUSER_INSTALLMODE_CURRENTUSER UN .un 175 | FunctionEnd 176 | 177 | !endif 178 | 179 | /* 180 | 181 | Installer/uninstaller initialization 182 | 183 | */ 184 | 185 | !macro MULTIUSER_INIT_QUIT UNINSTALLER_FUNCPREFIX 186 | 187 | !ifdef MULTIUSER_INIT_${UNINSTALLER_FUNCPREFIX}FUNCTIONQUIT 188 | Call "${MULTIUSER_INIT_${UNINSTALLER_FUNCPREFIX}FUCTIONQUIT} 189 | !else 190 | Quit 191 | !endif 192 | 193 | !macroend 194 | 195 | !macro MULTIUSER_INIT_TEXTS 196 | 197 | !ifndef MULTIUSER_INIT_TEXT_ADMINREQUIRED 198 | !define MULTIUSER_INIT_TEXT_ADMINREQUIRED "$(^Caption) requires administrator priviledges." 199 | !endif 200 | 201 | !ifndef MULTIUSER_INIT_TEXT_POWERREQUIRED 202 | !define MULTIUSER_INIT_TEXT_POWERREQUIRED "$(^Caption) requires at least Power User priviledges." 203 | !endif 204 | 205 | !ifndef MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE 206 | !define MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE "Your user account does not have sufficient privileges to install $(^Name) for all users of this compuetr." 207 | !endif 208 | 209 | !macroend 210 | 211 | !macro MULTIUSER_INIT_CHECKS UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX 212 | 213 | ;Installer initialization - check privileges and set install mode 214 | 215 | !insertmacro MULTIUSER_INIT_TEXTS 216 | 217 | UserInfo::GetAccountType 218 | Pop $MultiUser.Privileges 219 | 220 | ${if} ${IsNT} 221 | 222 | ;Check privileges 223 | 224 | !if "${MULTIUSER_EXECUTIONLEVEL}" == Admin 225 | 226 | ${if} $MultiUser.Privileges != "Admin" 227 | MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_ADMINREQUIRED}" 228 | !insertmacro MULTIUSER_INIT_QUIT "${UNINSTALLER_FUNCPREFIX}" 229 | ${endif} 230 | 231 | !else if "${MULTIUSER_EXECUTIONLEVEL}" == Power 232 | 233 | ${if} $MultiUser.Privileges != "Power" 234 | ${andif} $MultiUser.Privileges != "Admin" 235 | ${if} ${AtMostWinXP} 236 | MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_POWERREQUIRED}" 237 | ${else} 238 | MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_ADMINREQUIRED}" 239 | ${endif} 240 | !insertmacro MULTIUSER_INIT_QUIT "${UNINSTALLER_FUNCPREFIX}" 241 | ${endif} 242 | 243 | !endif 244 | 245 | !ifdef MULTIUSER_EXECUTIONLEVEL_ALLUSERS 246 | 247 | ;Default to per-machine installation if possible 248 | 249 | ${if} $MultiUser.Privileges == "Admin" 250 | ${orif} $MultiUser.Privileges == "Power" 251 | !ifndef MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER 252 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers 253 | !else 254 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser 255 | !endif 256 | 257 | !ifdef MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY & MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME 258 | 259 | ;Set installation mode to setting from a previous installation 260 | 261 | !ifndef MULTIUSER_INSTALLMODE_DEFAULT_CURRENTUSER 262 | ReadRegStr $MultiUser.DefaultKeyValue HKLM "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}" 263 | ${if} $MultiUser.DefaultKeyValue == "" 264 | ReadRegStr $MultiUser.DefaultKeyValue HKCU "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}" 265 | ${if} $MultiUser.DefaultKeyValue != "" 266 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser 267 | ${endif} 268 | ${endif} 269 | !else 270 | ReadRegStr $MultiUser.DefaultKeyValue HKCU "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}" 271 | ${if} $MultiUser.DefaultKeyValue == "" 272 | ReadRegStr $MultiUser.DefaultKeyValue HKLM "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME}" 273 | ${if} $MultiUser.DefaultKeyValue != "" 274 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers 275 | ${endif} 276 | ${endif} 277 | !endif 278 | 279 | !endif 280 | 281 | ${else} 282 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser 283 | ${endif} 284 | 285 | !else 286 | 287 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser 288 | 289 | !endif 290 | 291 | !ifdef MULTIUSER_INSTALLMODE_COMMANDLINE 292 | 293 | ;Check for install mode setting on command line 294 | 295 | ${${UNINSTALLER_FUNCPREFIX}GetParameters} $MultiUser.Parameters 296 | 297 | ${${UNINSTALLER_PREFIX}StrStr} $MultiUser.Result $MultiUser.Parameters "/CurrentUser" 298 | 299 | ${if} $MultiUser.Result != "" 300 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.CurrentUser 301 | ${endif} 302 | 303 | ${${UNINSTALLER_PREFIX}StrStr} $MultiUser.Result $MultiUser.Parameters "/AllUsers" 304 | 305 | ${if} $MultiUser.Result != "" 306 | ${if} $MultiUser.Privileges == "Admin" 307 | ${orif} $MultiUser.Privileges == "Power" 308 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers 309 | ${else} 310 | MessageBox MB_OK|MB_ICONSTOP "${MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE}" 311 | ${endif} 312 | ${endif} 313 | 314 | !endif 315 | 316 | ${else} 317 | 318 | ;Not running Windows NT, per-user installation not supported 319 | 320 | Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers 321 | 322 | ${endif} 323 | 324 | !macroend 325 | 326 | !macro MULTIUSER_INIT 327 | !verbose push 328 | !verbose 3 329 | 330 | !insertmacro MULTIUSER_INIT_CHECKS "" "" 331 | 332 | !verbose pop 333 | !macroend 334 | 335 | !ifndef MULTIUSER_NOUNINSTALL 336 | 337 | !macro MULTIUSER_UNINIT 338 | !verbose push 339 | !verbose 3 340 | 341 | !insertmacro MULTIUSER_INIT_CHECKS Un un. 342 | 343 | !verbose pop 344 | !macroend 345 | 346 | !endif 347 | 348 | /* 349 | 350 | Modern UI 2 page 351 | 352 | */ 353 | 354 | !ifdef MULTIUSER_MUI 355 | 356 | !macro MULTIUSER_INSTALLMODEPAGE_INTERFACE 357 | 358 | !ifndef MULTIUSER_INSTALLMODEPAGE_INTERFACE 359 | !define MULTIUSER_INSTALLMODEPAGE_INTERFACE 360 | Var MultiUser.InstallModePage 361 | 362 | Var MultiUser.InstallModePage.Text 363 | 364 | Var MultiUser.InstallModePage.AllUsers 365 | Var MultiUser.InstallModePage.CurrentUser 366 | 367 | Var MultiUser.InstallModePage.ReturnValue 368 | !endif 369 | 370 | !macroend 371 | 372 | !macro MULTIUSER_PAGEDECLARATION_INSTALLMODE 373 | 374 | !insertmacro MUI_SET MULTIUSER_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLMODEPAGE "" 375 | !insertmacro MULTIUSER_INSTALLMODEPAGE_INTERFACE 376 | 377 | !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_TOP "$(MULTIUSER_INNERTEXT_INSTALLMODE_TOP)" 378 | !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS "$(MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS)" 379 | !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER "$(MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER)" 380 | 381 | PageEx custom 382 | 383 | PageCallbacks MultiUser.InstallModePre_${MUI_UNIQUEID} MultiUser.InstallModeLeave_${MUI_UNIQUEID} 384 | 385 | Caption " " 386 | 387 | PageExEnd 388 | 389 | !insertmacro MULTIUSER_FUNCTION_INSTALLMODEPAGE MultiUser.InstallModePre_${MUI_UNIQUEID} MultiUser.InstallModeLeave_${MUI_UNIQUEID} 390 | 391 | !undef MULTIUSER_INSTALLMODEPAGE_TEXT_TOP 392 | !undef MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS 393 | !undef MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER 394 | 395 | !macroend 396 | 397 | !macro MULTIUSER_PAGE_INSTALLMODE 398 | 399 | ;Modern UI page for install mode 400 | 401 | !verbose push 402 | !verbose 3 403 | 404 | !ifndef MULTIUSER_EXECUTIONLEVEL_ALLUSERS 405 | !error "A mixed-mode installation requires MULTIUSER_EXECUTIONLEVEL to be set to Admin, Power or Highest." 406 | !endif 407 | 408 | !insertmacro MUI_PAGE_INIT 409 | !insertmacro MULTIUSER_PAGEDECLARATION_INSTALLMODE 410 | 411 | !verbose pop 412 | 413 | !macroend 414 | 415 | !macro MULTIUSER_FUNCTION_INSTALLMODEPAGE PRE LEAVE 416 | 417 | ;Page functions of Modern UI page 418 | 419 | Function "${PRE}" 420 | 421 | ${ifnot} ${IsNT} 422 | Abort 423 | ${endif} 424 | 425 | ${if} $MultiUser.Privileges != "Power" 426 | ${andif} $MultiUser.Privileges != "Admin" 427 | Abort 428 | ${endif} 429 | 430 | !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE 431 | !insertmacro MUI_HEADER_TEXT_PAGE $(MULTIUSER_TEXT_INSTALLMODE_TITLE) $(MULTIUSER_TEXT_INSTALLMODE_SUBTITLE) 432 | 433 | nsDialogs::Create 1018 434 | Pop $MultiUser.InstallModePage 435 | 436 | ${NSD_CreateLabel} 0u 0u 300u 20u "${MULTIUSER_INSTALLMODEPAGE_TEXT_TOP}" 437 | Pop $MultiUser.InstallModePage.Text 438 | 439 | ${NSD_CreateRadioButton} 20u 50u 280u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS}" 440 | Pop $MultiUser.InstallModePage.AllUsers 441 | 442 | ${NSD_CreateRadioButton} 20u 70u 280u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER}" 443 | Pop $MultiUser.InstallModePage.CurrentUser 444 | 445 | ${if} $MultiUser.InstallMode == "AllUsers" 446 | SendMessage $MultiUser.InstallModePage.AllUsers ${BM_SETCHECK} ${BST_CHECKED} 0 447 | ${else} 448 | SendMessage $MultiUser.InstallModePage.CurrentUser ${BM_SETCHECK} ${BST_CHECKED} 0 449 | ${endif} 450 | 451 | !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW 452 | nsDialogs::Show 453 | 454 | FunctionEnd 455 | 456 | Function "${LEAVE}" 457 | SendMessage $MultiUser.InstallModePage.AllUsers ${BM_GETCHECK} 0 0 $MultiUser.InstallModePage.ReturnValue 458 | 459 | ${if} $MultiUser.InstallModePage.ReturnValue = ${BST_CHECKED} 460 | Call MultiUser.InstallMode.AllUsers 461 | ${else} 462 | Call MultiUser.InstallMode.CurrentUser 463 | ${endif} 464 | 465 | !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE 466 | FunctionEnd 467 | 468 | !macroend 469 | 470 | !endif 471 | 472 | !verbose pop 473 | !endif 474 | -------------------------------------------------------------------------------- /installer/lgpl-3.0.txt: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. 166 | -------------------------------------------------------------------------------- /installer/make-installer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ue 3 | RELEASE_NAME="$1" 4 | 5 | cd installer 6 | find "../$RELEASE_NAME" -type f -printf '%P\n' | sort -r | sed -e 's|/|\\|g' | sed -e 's/.*/Delete "$INSTDIR\\&"/' > remove-list.nsh 7 | find "../$RELEASE_NAME" -type d -printf '%P\n' | sort -r | sed -e 's|/|\\|g' | grep . | sed -e 's/.*/RmDir "$INSTDIR\\&"/' >> remove-list.nsh 8 | makensis $RELEASE_NAME.nsi 9 | -------------------------------------------------------------------------------- /installer/satysfi32.nsi: -------------------------------------------------------------------------------- 1 | !define RELEASE_NAME "satysfi32" 2 | !include "script.nsi" 3 | -------------------------------------------------------------------------------- /installer/satysfi64.nsi: -------------------------------------------------------------------------------- 1 | !define RELEASE_NAME "satysfi64" 2 | !include "script.nsi" 3 | -------------------------------------------------------------------------------- /installer/script.nsi: -------------------------------------------------------------------------------- 1 | Name "SATySFi for Windows" 2 | Outfile "../${RELEASE_NAME}-installer.exe" 3 | !if ${RELEASE_NAME} == "satysfi64" 4 | !define UNINST_KEY \ 5 | "Software\Microsoft\Windows\CurrentVersion\Uninstall\SATySFi64" 6 | !else 7 | !define UNINST_KEY \ 8 | "Software\Microsoft\Windows\CurrentVersion\Uninstall\SATySFi32" 9 | !endif 10 | 11 | !if ${RELEASE_NAME} == "satysfi64" 12 | !define MULTIUSER_USE_PROGRAMFILES64 13 | !endif 14 | 15 | !include "FileFunc.nsh" 16 | !include "EnvVarUpdate-patched.nsh" 17 | 18 | RequestExecutionLevel user 19 | 20 | !define MULTIUSER_INSTALLMODE_INSTDIR "SATySFi" 21 | !define MULTIUSER_EXECUTIONLEVEL Highest 22 | !define MULTIUSER_MUI 23 | !define MULTIUSER_INSTALLMODE_COMMANDLINE 24 | # MULTIUSER_USE_PROGRAMFILES64 is not supported in nsis < 3.0 25 | !include MultiUser-patched.nsh 26 | !include MUI2.nsh 27 | 28 | !insertmacro MUI_PAGE_LICENSE "lgpl-3.0.txt" 29 | !insertmacro MULTIUSER_PAGE_INSTALLMODE 30 | !insertmacro MUI_PAGE_COMPONENTS 31 | !insertmacro MUI_PAGE_DIRECTORY 32 | !insertmacro MUI_PAGE_INSTFILES 33 | !insertmacro MUI_PAGE_FINISH 34 | !insertmacro MUI_UNPAGE_CONFIRM 35 | !insertmacro MUI_UNPAGE_INSTFILES 36 | !insertmacro MUI_UNPAGE_FINISH 37 | 38 | !insertmacro MUI_LANGUAGE "English" 39 | 40 | Section "SATySFi" MainProgram 41 | SectionIn RO 42 | SetOutPath $INSTDIR 43 | !if ${RELEASE_NAME} == "satysfi64" 44 | WriteRegStr SHCTX "${UNINST_KEY}" "DisplayName" "SATySFi for Windows (64bit)" 45 | !else 46 | WriteRegStr SHCTX "${UNINST_KEY}" "DisplayName" "SATySFi for Windows (32bit)" 47 | !endif 48 | WriteRegStr SHCTX "${UNINST_KEY}" "UninstallString" \ 49 | "$\"$INSTDIR\uninstall.exe$\" /$MultiUser.InstallMode" 50 | WriteRegStr SHCTX "${UNINST_KEY}" "QuietUninstallString" \ 51 | "$\"$INSTDIR\uninstall.exe$\" /$MultiUser.InstallMode /S" 52 | ${If} $MultiUser.InstallMode == AllUsers 53 | WriteRegStr ${hklm_all_users} "SATYSFI_RUNTIME" "$INSTDIR\lib" 54 | ${Else} 55 | WriteRegStr ${hkcu_current_user} "SATYSFI_RUNTIME" "$INSTDIR\lib" 56 | ${EndIf} 57 | WriteUninstaller "$INSTDIR\uninstall.exe" 58 | File /r "../${RELEASE_NAME}/*" 59 | 60 | ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 61 | IntFmt $0 "0x%08X" $0 62 | WriteRegDWORD SHCTX "${UNINST_KEY}" "EstimatedSize" "$0" 63 | SectionEnd 64 | 65 | Section "Add SATySFi to PATH" PathAddition 66 | ${If} $MultiUser.InstallMode == AllUsers 67 | ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR" 68 | ${Else} 69 | ${EnvVarUpdate} $0 "PATH" "A" "HKCU" "$INSTDIR" 70 | ${EndIf} 71 | SectionEnd 72 | 73 | Section "uninstall" 74 | Var /GLOBAL SATYSFI_RUNTIME 75 | 76 | !include "remove-list.nsh" 77 | Delete "$INSTDIR\uninstall.exe" 78 | RmDir "$INSTDIR" 79 | ${If} $MultiUser.InstallMode == AllUsers 80 | ${un.EnvVarUpdate} $0 "PATH" "R" "HKLM" "$INSTDIR" 81 | ReadRegStr $SATYSFI_RUNTIME ${hklm_all_users} "SATYSFI_RUNTIME" 82 | ${If} $SATYSFI_RUNTIME == "$INSTDIR\lib" 83 | DeleteRegValue ${hklm_all_users} "SATYSFI_RUNTIME" 84 | ${EndIf} 85 | ${Else} 86 | ${un.EnvVarUpdate} $0 "PATH" "R" "HKCU" "$INSTDIR" 87 | ReadRegStr $SATYSFI_RUNTIME ${hkcu_current_user} "SATYSFI_RUNTIME" 88 | ${If} $SATYSFI_RUNTIME == "$INSTDIR\lib" 89 | DeleteRegValue ${hkcu_current_user} "SATYSFI_RUNTIME" 90 | ${EndIf} 91 | ${EndIf} 92 | DeleteRegKey SHCTX "${UNINST_KEY}" 93 | SectionEnd 94 | 95 | LangString DESC_MainProgram ${LANG_ENGLISH} "Files required by SATySFi." 96 | LangString DESC_PathAddition ${LANG_ENGLISH} "Add SATySFi to %PATH% environment variable." 97 | 98 | !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN 99 | !insertmacro MUI_DESCRIPTION_TEXT ${MainProgram} $(DESC_MainProgram) 100 | !insertmacro MUI_DESCRIPTION_TEXT ${PathAddition} $(DESC_PathAddition) 101 | !insertmacro MUI_FUNCTION_DESCRIPTION_END 102 | 103 | Function .onInit 104 | !insertmacro MULTIUSER_INIT 105 | FunctionEnd 106 | 107 | Function un.onInit 108 | !insertmacro MULTIUSER_UNINIT 109 | FunctionEnd 110 | -------------------------------------------------------------------------------- /licenses/LGPL-3.0: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright © 2007 Free Software Foundation, Inc. 5 | 6 | Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 7 | 8 | This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 9 | 10 | 0. Additional Definitions. 11 | As used herein, “this License” refers to version 3 of the GNU Lesser General Public License, and the “GNU GPL” refers to version 3 of the GNU General Public License. 12 | 13 | “The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. 14 | 15 | An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. 16 | 17 | A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the “Linked Version”. 18 | 19 | The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. 20 | 21 | The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 22 | 23 | 1. Exception to Section 3 of the GNU GPL. 24 | You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 25 | 26 | 2. Conveying Modified Versions. 27 | If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: 28 | 29 | a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or 30 | b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 31 | 3. Object Code Incorporating Material from Library Header Files. 32 | The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: 33 | 34 | a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. 35 | b) Accompany the object code with a copy of the GNU GPL and this license document. 36 | 4. Combined Works. 37 | You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: 38 | 39 | a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. 40 | b) Accompany the Combined Work with a copy of the GNU GPL and this license document. 41 | c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. 42 | d) Do one of the following: 43 | 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 44 | 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. 45 | e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 46 | 5. Combined Libraries. 47 | You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: 48 | 49 | a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. 50 | b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 51 | 6. Revised Versions of the GNU Lesser General Public License. 52 | The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. 53 | 54 | Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. 55 | 56 | If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. 57 | -------------------------------------------------------------------------------- /licenses/fonts/GUST-FONT-LICENSE.TXT: -------------------------------------------------------------------------------- 1 | % This is version 1.0, dated 22 June 2009, of the GUST Font License. 2 | % (GUST is the Polish TeX Users Group, http://www.gust.org.pl) 3 | % 4 | % For the most recent version of this license see 5 | % http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt 6 | % or 7 | % http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt 8 | % 9 | % This work may be distributed and/or modified under the conditions 10 | % of the LaTeX Project Public License, either version 1.3c of this 11 | % license or (at your option) any later version. 12 | % 13 | % Please also observe the following clause: 14 | % 1) it is requested, but not legally required, that derived works be 15 | % distributed only after changing the names of the fonts comprising this 16 | % work and given in an accompanying "manifest", and that the 17 | % files comprising the Work, as listed in the manifest, also be given 18 | % new names. Any exceptions to this request are also given in the 19 | % manifest. 20 | % 21 | % We recommend the manifest be given in a separate file named 22 | % MANIFEST-.txt, where is some unique identification 23 | % of the font family. If a separate "readme" file accompanies the Work, 24 | % we recommend a name of the form README-.txt. 25 | % 26 | % The latest version of the LaTeX Project Public License is in 27 | % http://www.latex-project.org/lppl.txt and version 1.3c or later 28 | % is part of all distributions of LaTeX version 2006/05/20 or later. 29 | -------------------------------------------------------------------------------- /licenses/fonts/IPA_Font_License_Agreement_v1.0.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------- 2 | IPA Font License Agreement v1.0 3 | -------------------------------------------------- 4 | 5 | IPAフォントライセンスv1.0 6 | 7 | 許諾者は、この使用許諾(以下「本契約」といいます。)に定める条件の下で、許諾プログラム(1条に定義するところによります。)を提供します。受領者(1条に定義するところによります。)が、許諾プログラムを使用し、複製し、または頒布する行為、その他、本契約に定める権利の利用を行った場合、受領者は本契約に同意したものと見なします。 8 | 9 | 10 | 第1条 用語の定義 11 | 12 | 本契約において、次の各号に掲げる用語は、当該各号に定めるところによります。 13 | 14 | 1.「デジタル・フォント・プログラム」とは、フォントを含み、レンダリングしまたは表示するために用いられるコンピュータ・プログラムをいいます。 15 | 2.「許諾プログラム」とは、許諾者が本契約の下で許諾するデジタル・フォント・プログラムをいいます。 16 | 3.「派生プログラム」とは、許諾プログラムの一部または全部を、改変し、加除修正等し、入れ替え、その他翻案したデジタル・フォント・プログラムをいい、許諾プログラムの一部もしくは全部から文字情報を取り出し、またはデジタル・ドキュメント・ファイルからエンベッドされたフォントを取り出し、取り出された文字情報をそのまま、または改変をなして新たなデジタル・フォント・プログラムとして製作されたものを含みます。 17 | 4.「デジタル・コンテンツ」とは、デジタル・データ形式によってエンド・ユーザに提供される制作物のことをいい、動画・静止画等の映像コンテンツおよびテレビ番組等の放送コンテンツ、ならびに文字テキスト、画像、図形等を含んで構成された制作物を含みます。 18 | 5.「デジタル・ドキュメント・ファイル」とは、PDFファイルその他、各種ソフトウェア・プログラムによって製作されたデジタル・コンテンツであって、その中にフォントを表示するために許諾プログラムの全部または一部が埋め込まれた(エンベッドされた)ものをいいます。フォントが「エンベッドされた」とは、当該フォントが埋め込まれた特定の「デジタル・ドキュメント・ファイル」においてのみ表示されるために使用されている状態を指し、その特定の「デジタル・ドキュメント・ファイル」以外でフォントを表示するために使用できるデジタル・フォント・プログラムに含まれている場合と区別されます。 19 | 6.「コンピュータ」とは、本契約においては、サーバを含みます。 20 | 7.「複製その他の利用」とは、複製、譲渡、頒布、貸与、公衆送信、上映、展示、翻案その他の利用をいいます。 21 | 8.「受領者」とは、許諾プログラムを本契約の下で受領した人をいい、受領者から許諾プログラムを受領した人を含みます。 22 | 23 | 第2条 使用許諾の付与 24 | 25 | 許諾者は受領者に対し、本契約の条項に従い、すべての国で、許諾プログラムを使用することを許諾します。ただし、許諾プログラムに存在する一切の権利はすべて許諾者が保有しています。本契約は、本契約で明示的に定められている場合を除き、いかなる意味においても、許諾者が保有する許諾プログラムに関する一切の権利および、いかなる商標、商号、もしくはサービス・マークに関する権利をも受領者に移転するものではありません。 26 | 27 | 1.受領者は本契約に定める条件に従い、許諾プログラムを任意の数のコンピュータにインストールし、当該コンピュータで使用することができます。 28 | 2.受領者はコンピュータにインストールされた許諾プログラムをそのまま、または改変を行ったうえで、印刷物およびデジタル・コンテンツにおいて、文字テキスト表現等として使用することができます。 29 | 3.受領者は前項の定めに従い作成した印刷物およびデジタル・コンテンツにつき、その商用・非商用の別、および放送、通信、各種記録メディアなどの媒体の形式を問わず、複製その他の利用をすることができます。 30 | 4.受領者がデジタル・ドキュメント・ファイルからエンベッドされたフォントを取り出して派生プログラムを作成した場合には、かかる派生プログラムは本契約に定める条件に従う必要があります。 31 | 5.許諾プログラムのエンベッドされたフォントがデジタル・ドキュメント・ファイル内のデジタル・コンテンツをレンダリングするためにのみ使用される場合において、受領者が当該デジタル・ドキュメント・ファイルを複製その他の利用をする場合には、受領者はかかる行為に関しては本契約の下ではいかなる義務をも負いません。 32 | 6.受領者は、3条2項の定めに従い、商用・非商用を問わず、許諾プログラムをそのままの状態で改変することなく複製して第三者への譲渡し、公衆送信し、その他の方法で再配布することができます(以下、「再配布」といいます。)。 33 | 7.受領者は、上記の許諾プログラムについて定められた条件と同様の条件に従って、派生プログラムを作成し、使用し、複製し、再配布することができます。ただし、受領者が派生プログラムを再配布する場合には、3条1項の定めに従うものとします。 34 | 35 | 第3条 制限 36 | 37 | 前条により付与された使用許諾は、以下の制限に服します。 38 | 39 | 1.派生プログラムが前条4項及び7項に基づき再配布される場合には、以下の全ての条件を満たさなければなりません。 40 |  (1)派生プログラムを再配布する際には、下記もまた、当該派生プログラムと一緒に再配布され、オンラインで提供され、または、郵送費・媒体及び取扱手数料の合計を超えない実費と引き換えに媒体を郵送する方法により提供されなければなりません。 41 |   (a)派生プログラムの写し; および 42 |   (b)派生プログラムを作成する過程でフォント開発プログラムによって作成された追加のファイルであって派生プログラムをさらに加工するにあたって利用できるファイルが存在すれば、当該ファイル 43 |  (2)派生プログラムの受領者が、派生プログラムを、このライセンスの下で最初にリリースされた許諾プログラム(以下、「オリジナル・プログラム」といいます。)に置き換えることができる方法を再配布するものとします。かかる方法は、オリジナル・ファイルからの差分ファイルの提供、または、派生プログラムをオリジナル・プログラムに置き換える方法を示す指示の提供などが考えられます。 44 |  (3)派生プログラムを、本契約書に定められた条件の下でライセンスしなければなりません。 45 |  (4)派生プログラムのプログラム名、フォント名またはファイル名として、許諾プログラムが用いているのと同一の名称、またはこれを含む名称を使用してはなりません。 46 |  (5)本項の要件を満たすためにオンラインで提供し、または媒体を郵送する方法で提供されるものは、その提供を希望するいかなる者によっても提供が可能です。 47 | 2.受領者が前条6項に基づき許諾プログラムを再配布する場合には、以下の全ての条件を満たさなければなりません。 48 |  (1)許諾プログラムの名称を変更してはなりません。 49 |  (2)許諾プログラムに加工その他の改変を加えてはなりません。 50 |  (3)本契約の写しを許諾プログラムに添付しなければなりません。 51 | 3.許諾プログラムは、現状有姿で提供されており、許諾プログラムまたは派生プログラムについて、許諾者は一切の明示または黙示の保証(権利の所在、非侵害、商品性、特定目的への適合性を含むがこれに限られません)を行いません。いかなる場合にも、その原因を問わず、契約上の責任か厳格責任か過失その他の不法行為責任かにかかわらず、また事前に通知されたか否かにかかわらず、許諾者は、許諾プログラムまたは派生プログラムのインストール、使用、複製その他の利用または本契約上の権利の行使によって生じた一切の損害(直接・間接・付随的・特別・拡大・懲罰的または結果的損害)(商品またはサービスの代替品の調達、システム障害から生じた損害、現存するデータまたはプログラムの紛失または破損、逸失利益を含むがこれに限られません)について責任を負いません。 52 | 4.許諾プログラムまたは派生プログラムのインストール、使用、複製その他の利用に関して、許諾者は技術的な質問や問い合わせ等に対する対応その他、いかなるユーザ・サポートをも行う義務を負いません。 53 | 54 | 第4条 契約の終了 55 | 56 | 1.本契約の有効期間は、受領者が許諾プログラムを受領した時に開始し、受領者が許諾プログラムを何らかの方法で保持する限り続くものとします。 57 | 2.前項の定めにかかわらず、受領者が本契約に定める各条項に違反したときは、本契約は、何らの催告を要することなく、自動的に終了し、当該受領者はそれ以後、許諾プログラムおよび派生プログラムを一切使用しまたは複製その他の利用をすることができないものとします。ただし、かかる契約の終了は、当該違反した受領者から許諾プログラムまたは派生プログラムの配布を受けた受領者の権利に影響を及ぼすものではありません。 58 | 59 | 第5条 準拠法 60 | 61 | 1.IPAは、本契約の変更バージョンまたは新しいバージョンを公表することができます。その場合には、受領者は、許諾プログラムまたは派生プログラムの使用、複製その他の利用または再配布にあたり、本契約または変更後の契約のいずれかを選択することができます。その他、上記に記載されていない条項に関しては日本の著作権法および関連法規に従うものとします。 62 | 2.本契約は、日本法に基づき解釈されます。 63 | 64 | 65 | ---------- 66 | 67 | IPA Font License Agreement v1.0 68 | 69 | The Licensor provides the Licensed Program (as defined in Article 1 below) under the terms of this license agreement (“Agreement”). Any use, reproduction or distribution of the Licensed Program, or any exercise of rights under this Agreement by a Recipient (as defined in Article 1 below) constitutes the Recipient's acceptance of this Agreement. 70 | 71 | Article 1 (Definitions) 72 | 1.“Digital Font Program” shall mean a computer program containing, or used to render or display fonts. 73 | 2.“Licensed Program” shall mean a Digital Font Program licensed by the Licensor under this Agreement. 74 | 3.“Derived Program” shall mean a Digital Font Program created as a result of a modification, addition, deletion, replacement or any other adaptation to or of a part or all of the Licensed Program, and includes a case where a Digital Font Program newly created by retrieving font information from a part or all of the Licensed Program or Embedded Fonts from a Digital Document File with or without modification of the retrieved font information. 75 | 4.“Digital Content” shall mean products provided to end users in the form of digital data, including video content, motion and/or still pictures, TV programs or other broadcasting content and products consisting of character text, pictures, photographic images, graphic symbols and/or the like. 76 | 5.“Digital Document File” shall mean a PDF file or other Digital Content created by various software programs in which a part or all of the Licensed Program becomes embedded or contained in the file for the display of the font (“Embedded Fonts”). Embedded Fonts are used only in the display of characters in the particular Digital Document File within which they are embedded, and shall be distinguished from those in any Digital Font Program, which may be used for display of characters outside that particular Digital Document File. 77 | 6.“Computer” shall include a server in this Agreement. 78 | 7.“Reproduction and Other Exploitation” shall mean reproduction, transfer, distribution, lease, public transmission, presentation, exhibition, adaptation and any other exploitation. 79 | 8.“Recipient” shall mean anyone who receives the Licensed Program under this Agreement, including one that receives the Licensed Program from a Recipient. 80 | 81 | Article 2 (Grant of License) 82 | The Licensor grants to the Recipient a license to use the Licensed Program in any and all countries in accordance with each of the provisions set forth in this Agreement. However, any and all rights underlying in the Licensed Program shall be held by the Licensor. In no sense is this Agreement intended to transfer any right relating to the Licensed Program held by the Licensor except as specifically set forth herein or any right relating to any trademark, trade name, or service mark to the Recipient. 83 | 84 | 1.The Recipient may install the Licensed Program on any number of Computers and use the same in accordance with the provisions set forth in this Agreement. 85 | 2.The Recipient may use the Licensed Program, with or without modification in printed materials or in Digital Content as an expression of character texts or the like. 86 | 3.The Recipient may conduct Reproduction and Other Exploitation of the printed materials and Digital Content created in accordance with the preceding Paragraph, for commercial or non-commercial purposes and in any form of media including but not limited to broadcasting, communication and various recording media. 87 | 4.If any Recipient extracts Embedded Fonts from a Digital Document File to create a Derived Program, such Derived Program shall be subject to the terms of this agreement. 88 | 5.If any Recipient performs Reproduction or Other Exploitation of a Digital Document File in which Embedded Fonts of the Licensed Program are used only for rendering the Digital Content within such Digital Document File then such Recipient shall have no further obligations under this Agreement in relation to such actions. 89 | 6.The Recipient may reproduce the Licensed Program as is without modification and transfer such copies, publicly transmit or otherwise redistribute the Licensed Program to a third party for commercial or non-commercial purposes (“Redistribute”), in accordance with the provisions set forth in Article 3 Paragraph 2. 90 | 7.The Recipient may create, use, reproduce and/or Redistribute a Derived Program under the terms stated above for the Licensed Program: provided, that the Recipient shall follow the provisions set forth in Article 3 Paragraph 1 when Redistributing the Derived Program. 91 | 92 | Article 3 (Restriction) 93 | The license granted in the preceding Article shall be subject to the following restrictions: 94 | 95 | 1.If a Derived Program is Redistributed pursuant to Paragraph 4 and 7 of the preceding Article, the following conditions must be met : 96 |  (1)The following must be also Redistributed together with the Derived Program, or be made available online or by means of mailing mechanisms in exchange for a cost which does not exceed the total costs of postage, storage medium and handling fees: 97 |   (a)a copy of the Derived Program; and 98 |   (b)any additional file created by the font developing program in the course of creating the Derived Program that can be used for further modification of the Derived Program, if any. 99 |  (2)It is required to also Redistribute means to enable recipients of the Derived Program to replace the Derived Program with the Licensed Program first released under this License (the “Original Program”). Such means may be to provide a difference file from the Original Program, or instructions setting out a method to replace the Derived Program with the Original Program. 100 |  (3)The Recipient must license the Derived Program under the terms and conditions of this Agreement. 101 |  (4)No one may use or include the name of the Licensed Program as a program name, font name or file name of the Derived Program. 102 |  (5)Any material to be made available online or by means of mailing a medium to satisfy the requirements of this paragraph may be provided, verbatim, by any party wishing to do so. 103 | 2.If the Recipient Redistributes the Licensed Program pursuant to Paragraph 6 of the preceding Article, the Recipient shall meet all of the following conditions: 104 |  (1)The Recipient may not change the name of the Licensed Program. 105 |  (2)The Recipient may not alter or otherwise modify the Licensed Program. 106 |  (3)The Recipient must attach a copy of this Agreement to the Licensed Program. 107 | 3.THIS LICENSED PROGRAM IS PROVIDED BY THE LICENSOR “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTY AS TO THE LICENSED PROGRAM OR ANY DERIVED PROGRAM, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXTENDED, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO; PROCUREMENT OF SUBSTITUTED GOODS OR SERVICE; DAMAGES ARISING FROM SYSTEM FAILURE; LOSS OR CORRUPTION OF EXISTING DATA OR PROGRAM; LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE INSTALLATION, USE, THE REPRODUCTION OR OTHER EXPLOITATION OF THE LICENSED PROGRAM OR ANY DERIVED PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 108 | 4.The Licensor is under no obligation to respond to any technical questions or inquiries, or provide any other user support in connection with the installation, use or the Reproduction and Other Exploitation of the Licensed Program or Derived Programs thereof. 109 | 110 | Article 4 (Termination of Agreement) 111 | 1.The term of this Agreement shall begin from the time of receipt of the Licensed Program by the Recipient and shall continue as long as the Recipient retains any such Licensed Program in any way. 112 | 2.Notwithstanding the provision set forth in the preceding Paragraph, in the event of the breach of any of the provisions set forth in this Agreement by the Recipient, this Agreement shall automatically terminate without any notice. In the case of such termination, the Recipient may not use or conduct Reproduction and Other Exploitation of the Licensed Program or a Derived Program: provided that such termination shall not affect any rights of any other Recipient receiving the Licensed Program or the Derived Program from such Recipient who breached this Agreement. 113 | 114 | Article 5 (Governing Law) 115 | 1.IPA may publish revised and/or new versions of this License. In such an event, the Recipient may select either this Agreement or any subsequent version of the Agreement in using, conducting the Reproduction and Other Exploitation of, or Redistributing the Licensed Program or a Derived Program. Other matters not specified above shall be subject to the Copyright Law of Japan and other related laws and regulations of Japan. 116 | 2.This Agreement shall be construed under the laws of Japan. 117 | 118 | -------------------------------------------------------------------------------- /licenses/fonts/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) , (), 2 | with Reserved Font Name . 3 | Copyright (c) , (), 4 | with Reserved Font Name . 5 | Copyright (c) , (). 6 | 7 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 8 | This license is copied below, and is also available with a FAQ at: 9 | http://scripts.sil.org/OFL 10 | 11 | 12 | ----------------------------------------------------------- 13 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 14 | ----------------------------------------------------------- 15 | 16 | PREAMBLE 17 | The goals of the Open Font License (OFL) are to stimulate worldwide 18 | development of collaborative font projects, to support the font creation 19 | efforts of academic and linguistic communities, and to provide a free and 20 | open framework in which fonts may be shared and improved in partnership 21 | with others. 22 | 23 | The OFL allows the licensed fonts to be used, studied, modified and 24 | redistributed freely as long as they are not sold by themselves. The 25 | fonts, including any derivative works, can be bundled, embedded, 26 | redistributed and/or sold with any software provided that any reserved 27 | names are not used by derivative works. The fonts and derivatives, 28 | however, cannot be released under any other type of license. The 29 | requirement for fonts to remain under this license does not apply 30 | to any document created using the fonts or their derivatives. 31 | 32 | DEFINITIONS 33 | "Font Software" refers to the set of files released by the Copyright 34 | Holder(s) under this license and clearly marked as such. This may 35 | include source files, build scripts and documentation. 36 | 37 | "Reserved Font Name" refers to any names specified as such after the 38 | copyright statement(s). 39 | 40 | "Original Version" refers to the collection of Font Software components as 41 | distributed by the Copyright Holder(s). 42 | 43 | "Modified Version" refers to any derivative made by adding to, deleting, 44 | or substituting -- in part or in whole -- any of the components of the 45 | Original Version, by changing formats or by porting the Font Software to a 46 | new environment. 47 | 48 | "Author" refers to any designer, engineer, programmer, technical 49 | writer or other person who contributed to the Font Software. 50 | 51 | PERMISSION & CONDITIONS 52 | Permission is hereby granted, free of charge, to any person obtaining 53 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 54 | redistribute, and sell modified and unmodified copies of the Font 55 | Software, subject to the following conditions: 56 | 57 | 1) Neither the Font Software nor any of its individual components, 58 | in Original or Modified Versions, may be sold by itself. 59 | 60 | 2) Original or Modified Versions of the Font Software may be bundled, 61 | redistributed and/or sold with any software, provided that each copy 62 | contains the above copyright notice and this license. These can be 63 | included either as stand-alone text files, human-readable headers or 64 | in the appropriate machine-readable metadata fields within text or 65 | binary files as long as those fields can be easily viewed by the user. 66 | 67 | 3) No Modified Version of the Font Software may use the Reserved Font 68 | Name(s) unless explicit written permission is granted by the corresponding 69 | Copyright Holder. This restriction only applies to the primary font name as 70 | presented to the users. 71 | 72 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 73 | Software shall not be used to promote, endorse or advertise any 74 | Modified Version, except to acknowledge the contribution(s) of the 75 | Copyright Holder(s) and the Author(s) or with their explicit written 76 | permission. 77 | 78 | 5) The Font Software, modified or unmodified, in part or in whole, 79 | must be distributed entirely under this license, and must not be 80 | distributed under any other license. The requirement for fonts to 81 | remain under this license does not apply to any document created 82 | using the Font Software. 83 | 84 | TERMINATION 85 | This license becomes null and void if any of the above conditions are 86 | not met. 87 | 88 | DISCLAIMER 89 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 90 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 91 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 92 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 93 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 94 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 95 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 96 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 97 | OTHER DEALINGS IN THE FONT SOFTWARE. 98 | -------------------------------------------------------------------------------- /licenses/fonts/copyright.txt: -------------------------------------------------------------------------------- 1 | Files: ipaexm.ttf ipaexg.ttf 2 | Copyright: 2010-2011 Information-technology Promotion Agency, Japan. 3 | License: IPA-1 4 | 5 | Files: lmroman10-regular.otf lmroman10-bold.otf lmroman10-italic.otf lmmono10-regular.otf lmsans10-regular.otf 6 | Copyright: 2003-2009 Bogusław Jackowski and Janusz M. Nowacki (on behalf of TeX Users Groups). Computer Modern is designed by Donald E. Knuth. 7 | License: GUST 8 | 9 | Files: Junicode.ttf Junicode-Bold.ttf Junicode-Italic.ttf 10 | Copyright: 2001-2012 Peter S. Baker , Briery Creek Software 11 | License: GPL-2 12 | 13 | Files: latinmodern-math.otf 14 | Copyright: 2012-2014 B. Jackowski, P. Strzelczyk and P. Pianowski (on behalf of TeX Users Groups). Computer Modern is designed by Donald E. Knuth. 15 | License: GUST 16 | 17 | Files: Asana-math.otf 18 | Copyright: 2015 Apostolos Syropoulos 19 | License: OFL-1.1 20 | -------------------------------------------------------------------------------- /licenses/fonts/gpl-2.0.txt: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Lesser General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License along 307 | with this program; if not, write to the Free Software Foundation, Inc., 308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309 | 310 | Also add information on how to contact you by electronic and paper mail. 311 | 312 | If the program is interactive, make it output a short notice like this 313 | when it starts in an interactive mode: 314 | 315 | Gnomovision version 69, Copyright (C) year name of author 316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317 | This is free software, and you are welcome to redistribute it 318 | under certain conditions; type `show c' for details. 319 | 320 | The hypothetical commands `show w' and `show c' should show the appropriate 321 | parts of the General Public License. Of course, the commands you use may 322 | be called something other than `show w' and `show c'; they could even be 323 | mouse-clicks or menu items--whatever suits your program. 324 | 325 | You should also get your employer (if you work as a programmer) or your 326 | school, if any, to sign a "copyright disclaimer" for the program, if 327 | necessary. Here is a sample; alter the names: 328 | 329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 331 | 332 | , 1 April 1989 333 | Ty Coon, President of Vice 334 | 335 | This General Public License does not permit incorporating your program into 336 | proprietary programs. If your program is a subroutine library, you may 337 | consider it more useful to permit linking proprietary applications with the 338 | library. If this is what you want to do, use the GNU Lesser General 339 | Public License instead of this License. 340 | -------------------------------------------------------------------------------- /opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "gfngfn" 3 | authors: [ 4 | "gfngfn" 5 | ] 6 | homepage: "https://github.com/gfngfn/SATySFi" 7 | dev-repo: "https://github.com/gfngfn/SATySFi.git" 8 | bug-reports: "https://github.com/gfngfn/SATySFi/issues" 9 | build: [ 10 | ["echo" "\"begin to build SATySFi\""] 11 | ["env" "OCAMLFIND_TOOLCHAIN=windows" 12 | make "-C" "SATySFi" "-f" "Makefile" "PREFIX=%{prefix}%/windows-sysroot"] 13 | ["env" "OCAMLFIND_TOOLCHAIN=windows" 14 | make "-C" "SATySFi" "-f" "Makefile" "lib" "PREFIX=%{prefix}%/windows-sysroot"] 15 | ] 16 | install: [ 17 | ["env" "OCAMLFIND_TOOLCHAIN=windows" 18 | make "-C" "SATySFi" "-f" "Makefile" "install" "PREFIX=%{prefix}%/windows-sysroot"] 19 | ] 20 | remove: [ 21 | ["env" "OCAMLFIND_TOOLCHAIN=windows" 22 | make "-C" "SATySFi" "-f" "Makefile" "uninstall" "PREFIX=%{prefix}%"] 23 | ] 24 | depends: [ 25 | "ocaml-windows" 26 | "batteries-windows" 27 | "camlimages-windows" {>= "5.0.1"} 28 | "camlpdf-windows" {= "2.2.1+satysfi"} 29 | "core_kernel-windows" {>= "v0.10.0"} 30 | "depext" 31 | "menhir" 32 | "menhir-windows" 33 | "ocamlbuild-windows" {build} 34 | "ocamlfind" {build} 35 | "otfm-windows" {= "0.3.0+satysfi"} 36 | "ppx_deriving" 37 | "ppx_deriving-windows" 38 | "uutf-windows" 39 | "yojson-windows" 40 | ] 41 | available: [ ocaml-version >= "4.06.0" ] 42 | -------------------------------------------------------------------------------- /opam-aux/packages/bin_prot-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | A binary protocol generator 2 | 3 | Part of Jane Street's Core library 4 | The Core suite of libraries is an industrial strength alternative to 5 | OCaml's standard library that was developed by Jane Street, the 6 | largest industrial user of OCaml. 7 | -------------------------------------------------------------------------------- /opam-aux/packages/bin_prot-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/bin_prot" 5 | bug-reports: "https://github.com/janestreet/bin_prot/issues" 6 | dev-repo: "git+https://github.com/janestreet/bin_prot.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "bin_prot" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "base-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_compare-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_custom_printf" {>= "v0.10" & < "v0.11"} 15 | "ppx_custom_printf-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 17 | "ppx_fields_conv" {>= "v0.10" & < "v0.11"} 18 | "ppx_sexp_conv-windows" {>= "v0.10" & < "v0.11"} 19 | "ppx_variants_conv" {>= "v0.10" & < "v0.11"} 20 | "ppx_variants_conv-windows" {>= "v0.10" & < "v0.11"} 21 | "sexplib-windows" {>= "v0.10" & < "v0.11"} 22 | "jbuilder-windows" {build & >= "1.0+beta12"} 23 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 24 | "ocaml-windows" 25 | ] 26 | depopts: [ 27 | "mirage-xen-ocaml" 28 | ] 29 | available: [ ocaml-version >= "4.04.1" ] 30 | -------------------------------------------------------------------------------- /opam-aux/packages/bin_prot-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/bin_prot-v0.10.0.tar.gz" 2 | checksum: "81ab54c98a8e0f68f89143bfdac980c0" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/descr: -------------------------------------------------------------------------------- 1 | Image processing library 2 | An image processing library, which provides loading and saving various 3 | image formats with an interface for the Caml graphics library. It has 4 | also an interface with the freetype library to draw texts using 5 | truetype fonts. 6 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/files/patches/disable-by-cc.patch: -------------------------------------------------------------------------------- 1 | diff -r 1611545463f4 config/ciconfig.ml 2 | --- a/config/ciconfig.ml Mon Apr 02 13:52:57 2018 +0900 3 | +++ b/config/ciconfig.ml Thu May 10 22:23:10 2018 +0900 4 | @@ -14,22 +14,18 @@ 5 | 6 | let gif = find_library 7 | [ by_pkg_config "libgif" 8 | - ; by_cc ~c_flags:[] ~link_flags:["-lgif"] ~headers:["gif_lib.h"] ~functions:["DGifOpenFileName"] 9 | ] 10 | 11 | let jpeg = find_library 12 | [ by_pkg_config "libjpeg" 13 | - ; by_cc ~c_flags:[] ~link_flags:["-ljpeg"] ~headers:["jpeglib.h"] ~functions:["jpeg_read_header"] 14 | ] 15 | 16 | let png = find_library 17 | [ by_pkg_config "libpng" 18 | - ; by_cc ~c_flags:[] ~link_flags:["-lpng"; "-lz"] ~headers:["png.h"] ~functions:["png_create_read_struct"] 19 | ] 20 | 21 | let tiff = find_library 22 | [ by_pkg_config "libtiff-4" 23 | - ; by_cc ~c_flags:[] ~link_flags:["-ltiff"] ~headers:["tiff.h"] ~functions:["TiffOpen"] 24 | ] 25 | 26 | let freetype = find_library 27 | @@ -37,12 +33,10 @@ 28 | 29 | let exif = find_library 30 | [ by_pkg_config "libexif" 31 | - ; by_cc ~c_flags:[] ~link_flags:["-lexif"] ~headers:["exif-data.h"] ~functions:["exif_data_load_data"] 32 | ] 33 | 34 | let xpm = find_library 35 | [ by_pkg_config "xpm" 36 | - ; by_cc ~c_flags:[] ~link_flags:["-lXpm"] ~headers:["X11/xpm.h"] ~functions:["XpmReadFileToXpmImage"] 37 | ] 38 | 39 | let rgb_txt = find_file "rgb.txt" 40 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/files/patches/ocamlfind-toolchain.patch: -------------------------------------------------------------------------------- 1 | diff -r 1611545463f4 graphics/jbuild 2 | --- a/graphics/jbuild Mon Apr 02 13:52:57 2018 +0900 3 | +++ b/graphics/jbuild Wed May 09 21:12:10 2018 +0900 4 | @@ -21,7 +21,7 @@ 5 | 6 | let graphics_exists = 7 | let dest = Filename.temp_file "test" ".cma" in 8 | - let res = match Sys.command (Printf.sprintf "ocamlfind ocamlc -package %s -o %s -linkpkg" "graphics" dest) with 9 | + let res = match Sys.command (Printf.sprintf "ocamlfind -toolchain windows ocamlc -package %s -o %s -linkpkg" "graphics" dest) with 10 | | 0 -> true 11 | | _ -> false 12 | | exception _ -> false 13 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/files/patches/tweak-ciconfig-dependency.patch: -------------------------------------------------------------------------------- 1 | diff -r 1611545463f4 config/jbuild 2 | --- a/config/jbuild Mon Apr 02 13:52:57 2018 +0900 3 | +++ b/config/jbuild Sun May 06 22:33:15 2018 +0900 4 | @@ -25,5 +25,4 @@ 5 | xpm_c_flags.sexp 6 | xpm_c_library_flags.sexp 7 | )) 8 | - (deps (ciconfig.exe)) 9 | - (action (run ${<})))) 10 | + (action (run ./ciconfig.exe)))) 11 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/files/pkg-config-cross/pkg-config: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec "$(opam config var conf-gcc-windows:prefix)"pkg-config "$@" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/files/with-pkg-config: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export PATH="$(pwd)/pkg-config-cross:$PATH" 3 | exec "$@" 4 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | version: "5.0.1" 3 | maintainer: "jun.furuse@gmail.com" 4 | authors: ["Jun Furuse" "François Pessaux" "Pierre Weis"] 5 | homepage: "https://bitbucket.org/camlspotter/camlimages" 6 | bug-reports: 7 | "https://bitbucket.org/camlspotter/camlimages/issues?status=new&status=open" 8 | license: "LGPL-2 with OCaml linking exception" 9 | dev-repo: "hg://https://bitbucket.org/camlspotter/camlimages" 10 | patches: [ 11 | "patches/tweak-ciconfig-dependency.patch" 12 | "patches/ocamlfind-toolchain.patch" 13 | "patches/disable-by-cc.patch" 14 | ] 15 | build: [ 16 | ["jbuilder" "build" "config/ciconfig.exe"] 17 | ["./with-pkg-config" "jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "camlimages" "-j" jobs "-x" "windows"] 18 | ] 19 | depends: [ 20 | "ocaml-windows" 21 | "ocamlfind" {build} 22 | "cppo" {build} 23 | "configurator" {build} 24 | "configurator-windows" {build} 25 | "jbuilder-windows" {build} 26 | # "base-unix" 27 | ] 28 | depopts: ["lablgtk-windows" "graphics-windows"] 29 | conflicts: [ 30 | "lablgtk" {< "2.18.6"} 31 | ] 32 | available: [ocaml-version >= "4.06.0"] 33 | -------------------------------------------------------------------------------- /opam-aux/packages/camlimages-windows.5.0.1/url: -------------------------------------------------------------------------------- 1 | archive: "https://bitbucket.org/camlspotter/camlimages/get/5.0.1.tar.gz" 2 | checksum: "f029ac0bea1bf4462a41ede1db039110" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf-windows.2.2.1+satysfi/descr: -------------------------------------------------------------------------------- 1 | Read, write and modify PDF files 2 | 3 | Camlpdf is originally published by John Whitington. 4 | This version is a fork of it for [SATySFi]. 5 | 6 | [SATySFi]: https://github.com/gfngfn/SATySFi 7 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf-windows.2.2.1+satysfi/files/patches/no-doc.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index 91c1c16..07b0aaa 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -19,7 +19,7 @@ OCAMLNCFLAGS = -g -unsafe-string -annot -w -3 6 | OCAMLBCFLAGS = -g -unsafe-string -annot -w -3 7 | OCAMLLDFLAGS = -g 8 | 9 | -all : native-code-library byte-code-library htdoc 10 | +all : native-code-library byte-code-library 11 | 12 | clean :: 13 | rm -rf doc foo foo2 out.pdf out2.pdf 14 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf-windows.2.2.1+satysfi/files/patches/use-ocamlfind.patch: -------------------------------------------------------------------------------- 1 | diff --git a/OCamlMakefile b/OCamlMakefile 2 | index a3078e9..e718995 100755 3 | --- a/OCamlMakefile 4 | +++ b/OCamlMakefile 5 | @@ -112,7 +112,7 @@ endif 6 | 7 | #################### variables depending on your OCaml-installation 8 | 9 | -SYSTEM := $(shell ocamlc -config 2>/dev/null | grep system | sed 's/system: //') 10 | +SYSTEM := $(shell ocamlfind ocamlc -config 2>/dev/null | grep system | sed 's/system: //') 11 | # This may be 12 | # - mingw 13 | # - mingw64 14 | @@ -387,7 +387,7 @@ export OCAMLMAKEFILE 15 | 16 | ifndef OCAMLLIBPATH 17 | OCAMLLIBPATH := \ 18 | - $(shell $(OCAMLC) 2>/dev/null -where || echo /usr/local/lib/ocaml) 19 | + $(shell ocamlfind $(OCAMLC) 2>/dev/null -where || echo /usr/local/lib/ocaml) 20 | endif 21 | export OCAMLLIBPATH 22 | 23 | @@ -987,7 +987,7 @@ $(DLLSONAME): $(OBJ_LINK) 24 | -Wl,--enable-auto-import 25 | else 26 | $(DLLSONAME): $(OBJ_LINK) 27 | - $(OCAMLMKLIB) $(INCFLAGS) $(CLIBFLAGS) \ 28 | + $(OCAMLFIND) $(OCAMLMKLIB) $(INCFLAGS) $(CLIBFLAGS) \ 29 | -o $(CLIB_BASE) $(OBJ_LINK) $(CLIBS:%=-l%) \ 30 | $(CFRAMEWORKS:%=-framework %) \ 31 | $(OCAMLMKLIB_FLAGS) 32 | @@ -1001,7 +1001,7 @@ $(DLLSONAME): $(OBJ_LINK) 33 | 34 | else 35 | $(DLLSONAME): $(OBJ_LINK) 36 | - $(OCAMLMKLIB) $(INCFLAGS) $(CLIBFLAGS) \ 37 | + $(OCAMLFIND) $(OCAMLMKLIB) $(INCFLAGS) $(CLIBFLAGS) \ 38 | -o $(CLIB_BASE) $(OBJ_LINK) $(CLIBS:%=-l%) $(CFRAMEWORKS:%=-framework %) \ 39 | $(OCAMLMKLIB_FLAGS) 40 | endif 41 | @@ -1129,7 +1129,7 @@ endif 42 | $(QUIET)if [ $(NOIDLHEADER) ]; then touch $*.h; fi 43 | 44 | %.$(EXT_OBJ): %.c 45 | - $(OCAMLC) -c -cc "$(CC)" -ccopt "$(CFLAGS) \ 46 | + $(OCAMLFIND) $(OCAMLC) -c -cc "$(CC)" -ccopt "$(CFLAGS) \ 47 | $(CPPFLAGS) $(CPPFLAGS_WIN32) \ 48 | $(CFLAGS_WIN32) $(CINCFLAGS) $(CFLAG_O)$@ " $< 49 | 50 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf-windows.2.2.1+satysfi/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "Takuma Ishikawa " 3 | authors: [ 4 | "John Whitington" 5 | "gfngfn" 6 | ] 7 | homepage: "https://github.com/gfngfn/camlpdf" 8 | bug-reports: "https://github.com/gfngfn/camlpdf/issues" 9 | dev-repo: "https://github.com/gfngfn/camlpdf.git" 10 | patches: [ 11 | "patches/use-ocamlfind.patch" 12 | "patches/no-doc.patch" 13 | ] 14 | build: [["env" "OCAMLFIND_TOOLCHAIN=windows" "CC=%{conf-gcc-windows:prefix}%gcc" make]] 15 | install: [["env" "OCAMLFIND_TOOLCHAIN=windows" make "install"]] 16 | remove: [["ocamlfind" "-toolchain" "windows" "remove" "camlpdf"]] 17 | depends: ["ocaml-windows" "ocamlfind"] 18 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf-windows.2.2.1+satysfi/url: -------------------------------------------------------------------------------- 1 | git: "https://github.com/gfngfn/camlpdf.git#6706e76922ef49f8c921e46901410445f0ec2f43" 2 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf.2.2.1+satysfi/descr: -------------------------------------------------------------------------------- 1 | Read, write and modify PDF files 2 | 3 | Camlpdf is originally published by John Whitington. 4 | This version is a fork of it for [SATySFi]. 5 | 6 | [SATySFi]: https://github.com/gfngfn/SATySFi 7 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf.2.2.1+satysfi/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "Takuma Ishikawa " 3 | authors: [ 4 | "John Whitington" 5 | "gfngfn" 6 | ] 7 | homepage: "https://github.com/gfngfn/camlpdf" 8 | bug-reports: "https://github.com/gfngfn/camlpdf/issues" 9 | dev-repo: "https://github.com/gfngfn/camlpdf.git" 10 | build: [[make]] 11 | install: [[make "install"]] 12 | remove: [["ocamlfind" "remove" "camlpdf"]] 13 | depends: ["ocamlfind"] 14 | -------------------------------------------------------------------------------- /opam-aux/packages/camlpdf.2.2.1+satysfi/url: -------------------------------------------------------------------------------- 1 | git: "https://github.com/gfngfn/camlpdf.git#6706e76922ef49f8c921e46901410445f0ec2f43" 2 | -------------------------------------------------------------------------------- /opam-aux/packages/core_kernel-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Industrial strength alternative to OCaml's standard library 2 | 3 | The Core suite of libraries is an industrial strength alternative to 4 | OCaml's standard library that was developed by Jane Street, the 5 | largest industrial user of OCaml. 6 | 7 | Core_kernel is the system-independent part of Core. 8 | -------------------------------------------------------------------------------- /opam-aux/packages/core_kernel-windows.v0.10.0/files/patches/no-endian-header.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/bigstring_stubs.c b/src/bigstring_stubs.c 2 | index ebf54a9..6e81175 100644 3 | --- a/src/bigstring_stubs.c 4 | +++ b/src/bigstring_stubs.c 5 | @@ -31,6 +31,7 @@ 6 | #define bswap_64 swap64 7 | #elif __CYGWIN__ 8 | #include 9 | +#elif defined(__MINGW32__) 10 | #else 11 | #include 12 | #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) 13 | -------------------------------------------------------------------------------- /opam-aux/packages/core_kernel-windows.v0.10.0/files/patches/sixtyfour-fix.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/config/discover.ml b/src/config/discover.ml 2 | index ef26121..b74d7bb 100644 3 | --- a/src/config/discover.ml 4 | +++ b/src/config/discover.ml 5 | @@ -41,8 +41,8 @@ let () = 6 | 7 | let ocaml_vars = 8 | List.map 9 | - (C.C_define.import c ~includes:["caml/config.h"] 10 | - [ "ARCH_SIXTYFOUR" , Switch ]) 11 | + (* On opam-cross-windows, host word size == target word size. *) 12 | + [ "ARCH_SIXTYFOUR" , C.C_define.Value.Switch (Int.num_bits = 63) ] 13 | ~f:(fun (name, v) -> ("JSC_" ^ name, v)) 14 | in 15 | 16 | -------------------------------------------------------------------------------- /opam-aux/packages/core_kernel-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/core_kernel" 5 | bug-reports: "https://github.com/janestreet/core_kernel/issues" 6 | dev-repo: "git+https://github.com/janestreet/core_kernel.git" 7 | license: "Apache-2.0" 8 | patches: [ 9 | "patches/no-endian-header.patch" 10 | "patches/sixtyfour-fix.patch" 11 | ] 12 | build: [ 13 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "core_kernel" "-j" jobs "-x" "windows"] 14 | ] 15 | depends: [ 16 | "base-windows" {>= "v0.10" & < "v0.11"} 17 | "bin_prot-windows" {>= "v0.10" & < "v0.11"} 18 | "configurator" {>= "v0.10" & < "v0.11"} 19 | "configurator-windows" {>= "v0.10" & < "v0.11"} 20 | "fieldslib-windows" {>= "v0.10" & < "v0.11"} 21 | "jane-street-headers-windows" {>= "v0.10" & < "v0.11"} 22 | "ppx_assert-windows" {>= "v0.10" & < "v0.11"} 23 | "ppx_base-windows" {>= "v0.10" & < "v0.11"} 24 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 25 | "ppx_hash-windows" {>= "v0.10" & < "v0.11"} 26 | "ppx_inline_test-windows" {>= "v0.10" & < "v0.11"} 27 | "ppx_jane" {>= "v0.10" & < "v0.11"} 28 | "ppx_jane-windows" {>= "v0.10" & < "v0.11"} 29 | "ppx_sexp_conv-windows" {>= "v0.10" & < "v0.11"} 30 | "ppx_sexp_message-windows" {>= "v0.10" & < "v0.11"} 31 | "sexplib-windows" {>= "v0.10" & < "v0.11"} 32 | "stdio-windows" {>= "v0.10" & < "v0.11"} 33 | "typerep-windows" {>= "v0.10" & < "v0.11"} 34 | "variantslib-windows" {>= "v0.10" & < "v0.11"} 35 | "jbuilder-windows" {build & >= "1.0+beta12"} 36 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 37 | "ocaml-windows" 38 | ] 39 | depopts: [ 40 | "base-native-int63" 41 | ] 42 | available: [ ocaml-version >= "4.04.1" ] 43 | -------------------------------------------------------------------------------- /opam-aux/packages/core_kernel-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/core_kernel-v0.10.0.tar.gz" 2 | checksum: "a825f5c79d9e9b228e450ce4a439f107" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/fieldslib-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | 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 2 | 3 | Part of Jane Street's Core library 4 | The Core suite of libraries is an industrial strength alternative to 5 | OCaml's standard library that was developed by Jane Street, the 6 | largest industrial user of OCaml. 7 | -------------------------------------------------------------------------------- /opam-aux/packages/fieldslib-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/fieldslib" 5 | bug-reports: "https://github.com/janestreet/fieldslib/issues" 6 | dev-repo: "git+https://github.com/janestreet/fieldslib.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "fieldslib" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "base-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "jbuilder-windows" {build & >= "1.0+beta12"} 15 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 16 | "ocaml-windows" 17 | ] 18 | available: [ ocaml-version >= "4.04.1" ] 19 | -------------------------------------------------------------------------------- /opam-aux/packages/fieldslib-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/fieldslib-v0.10.0.tar.gz" 2 | checksum: "c2cd9e061a0cee73b2909d1d56f3d8f3" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/jane-street-headers-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Jane Street C header files 2 | 3 | C header files shared between the various Jane Street packages 4 | -------------------------------------------------------------------------------- /opam-aux/packages/jane-street-headers-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/jane-street-headers" 5 | bug-reports: "https://github.com/janestreet/jane-street-headers/issues" 6 | dev-repo: "git+https://github.com/janestreet/jane-street-headers.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "jane-street-headers" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "jbuilder-windows" {build & >= "1.0+beta12"} 13 | "ocaml-windows" 14 | ] 15 | available: [ ocaml-version >= "4.04.1" ] 16 | -------------------------------------------------------------------------------- /opam-aux/packages/jane-street-headers-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/jane-street-headers-v0.10.0.tar.gz" 2 | checksum: "c9dc04067f7ed596673954ef02fc608d" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/otfm-windows.0.3.0+satysfi/descr: -------------------------------------------------------------------------------- 1 | OpenType font decoder for OCaml 2 | Release 0.3.0+satysfi by @gfngfn 3 | 4 | Otfm is originally published by Daniel Bünzli. 5 | This version is a fork of it for [SATySFi]. 6 | 7 | Otfm is an in-memory decoder for the OpenType font data format. It 8 | provides low-level access to font tables and functions to decode some 9 | of them. 10 | 11 | Otfm is made of a single module and depends on [Uutf]. It is distributed 12 | under the ISC license. 13 | 14 | 15 | [SATySFi]: https://github.com/gfngfn/SATySFi 16 | [Uutf]: http://erratique.ch/software/uutf 17 | 18 | -------------------------------------------------------------------------------- /opam-aux/packages/otfm-windows.0.3.0+satysfi/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "Takuma Ishikawa " 3 | homepage: "https://github.com/gfngfn/otfm" 4 | authors: [ 5 | "Daniel Bünzli " 6 | "gfngfn" 7 | ] 8 | dev-repo: "https://github.com/gfngfn/otfm.git" 9 | bug-reports: "https://github.com/gfngfn/otfm/issues" 10 | tags: [ "OpenType" "ttf" "font" "decoder" "graphics" "org:erratique" ] 11 | license: "ISC" 12 | available: [ ocaml-version >= "4.01.0" ] 13 | depends: [ 14 | "ocaml-windows" 15 | "ocamlfind" {build} 16 | "ocamlbuild" {build} 17 | "topkg" {build} 18 | "result-windows" 19 | "uchar-windows" 20 | "uutf-windows" {>= "1.0.0"} 21 | ] 22 | build: [ 23 | ["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" "--toolchain" "windows"] 24 | ] 25 | install: [["opam-installer" "--prefix=%{prefix}%/windows-sysroot" "otfm.install"]] 26 | remove: [["ocamlfind" "-toolchain" "windows" "remove" "otfm"]] 27 | -------------------------------------------------------------------------------- /opam-aux/packages/otfm-windows.0.3.0+satysfi/url: -------------------------------------------------------------------------------- 1 | git: "https://github.com/gfngfn/otfm.git#50c39b0e1ff865df96af3d6d32d0be983a6d907a" 2 | -------------------------------------------------------------------------------- /opam-aux/packages/otfm.0.3.0+satysfi/descr: -------------------------------------------------------------------------------- 1 | OpenType font decoder for OCaml 2 | Release 0.3.0+satysfi by @gfngfn 3 | 4 | Otfm is originally published by Daniel Bünzli. 5 | This version is a fork of it for [SATySFi]. 6 | 7 | Otfm is an in-memory decoder for the OpenType font data format. It 8 | provides low-level access to font tables and functions to decode some 9 | of them. 10 | 11 | Otfm is made of a single module and depends on [Uutf]. It is distributed 12 | under the ISC license. 13 | 14 | 15 | [SATySFi]: https://github.com/gfngfn/SATySFi 16 | [Uutf]: http://erratique.ch/software/uutf 17 | 18 | -------------------------------------------------------------------------------- /opam-aux/packages/otfm.0.3.0+satysfi/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "Takuma Ishikawa " 3 | homepage: "https://github.com/gfngfn/otfm" 4 | authors: [ 5 | "Daniel Bünzli " 6 | "gfngfn" 7 | ] 8 | dev-repo: "https://github.com/gfngfn/otfm.git" 9 | bug-reports: "https://github.com/gfngfn/otfm/issues" 10 | tags: [ "OpenType" "ttf" "font" "decoder" "graphics" "org:erratique" ] 11 | license: "ISC" 12 | available: [ ocaml-version >= "4.01.0" ] 13 | depends: [ 14 | "ocamlfind" {build} 15 | "ocamlbuild" {build} 16 | "topkg" {build} 17 | "result" 18 | "uchar" 19 | "uutf" {>= "1.0.0"} 20 | ] 21 | build: [ 22 | ["ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%"] 23 | ] 24 | 25 | -------------------------------------------------------------------------------- /opam-aux/packages/otfm.0.3.0+satysfi/url: -------------------------------------------------------------------------------- 1 | git: "https://github.com/gfngfn/otfm.git#50c39b0e1ff865df96af3d6d32d0be983a6d907a" 2 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_assert-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Assert-like extension nodes that raise useful errors on failure 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_assert-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_assert" 5 | bug-reports: "https://github.com/janestreet/ppx_assert/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_assert.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_assert" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "base-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_compare-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_here" {>= "v0.10" & < "v0.11"} 17 | "ppx_here-windows" {>= "v0.10" & < "v0.11"} 18 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 19 | "ppx_sexp_conv-windows" {>= "v0.10" & < "v0.11"} 20 | "ppx_type_conv-windows" {>= "v0.10" & < "v0.11"} 21 | "sexplib-windows" {>= "v0.10" & < "v0.11"} 22 | "jbuilder-windows" {build & >= "1.0+beta12"} 23 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 24 | "ocaml-windows" 25 | ] 26 | available: [ ocaml-version >= "4.04.1" ] 27 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_assert-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_assert-v0.10.0.tar.gz" 2 | checksum: "3add5a390dc67948ee2057a814f6f7aa" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_bench-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Syntax extension for writing in-line benchmarks in ocaml code 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_bench-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_bench" 5 | bug-reports: "https://github.com/janestreet/ppx_bench/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_bench.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_bench" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_inline_test" {>= "v0.10" & < "v0.11"} 15 | "ppx_inline_test-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 17 | "jbuilder-windows" {build & >= "1.0+beta12"} 18 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 19 | "ocaml-windows" 20 | ] 21 | available: [ ocaml-version >= "4.04.1" ] 22 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_bench-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_bench-v0.10.0.tar.gz" 2 | checksum: "384977ac2fab0ed8d63f92797d342348" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_bin_prot-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Generation of bin_prot readers and writers from types 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_bin_prot-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_bin_prot" 5 | bug-reports: "https://github.com/janestreet/ppx_bin_prot/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_bin_prot.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_bin_prot" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "bin_prot-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_here-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 17 | "ppx_type_conv-windows" {>= "v0.10" & < "v0.11"} 18 | "jbuilder-windows" {build & >= "1.0+beta12"} 19 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 20 | "ocaml-windows" 21 | ] 22 | available: [ ocaml-version >= "4.04.1" ] 23 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_bin_prot-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_bin_prot-v0.10.0.tar.gz" 2 | checksum: "3e9fde9a33568fe28a72dec917aaaeaf" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_custom_printf-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Printf-style format-strings for user-defined string conversion 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_custom_printf-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_custom_printf" 5 | bug-reports: "https://github.com/janestreet/ppx_custom_printf/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_custom_printf.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_custom_printf" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_sexp_conv-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_traverse" {>= "v0.10" & < "v0.11"} 17 | "ppx_traverse-windows" {>= "v0.10" & < "v0.11"} 18 | "jbuilder-windows" {build & >= "1.0+beta12"} 19 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 20 | "ocaml-windows" 21 | ] 22 | available: [ ocaml-version >= "4.04.1" ] 23 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_custom_printf-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_custom_printf-v0.10.0.tar.gz" 2 | checksum: "4902233dd51d6d3d15909d0d00bfc2ff" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_deriving-windows.4.2.1/descr: -------------------------------------------------------------------------------- 1 | Type-driven code generation for OCaml >=4.02 2 | 3 | ppx_deriving provides common infrastructure for generating 4 | code based on type definitions, and a set of useful plugins 5 | for common tasks. 6 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_deriving-windows.4.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "whitequark " 3 | authors: [ "whitequark " ] 4 | license: "MIT" 5 | homepage: "https://github.com/whitequark/ppx_deriving" 6 | doc: "https://whitequark.github.io/ppx_deriving" 7 | bug-reports: "https://github.com/whitequark/ppx_deriving/issues" 8 | dev-repo: "https://github.com/whitequark/ppx_deriving.git" 9 | tags: [ "syntax" ] 10 | substs: [ "pkg/META" ] 11 | build: [ 12 | [# If there is no native dynlink, we can't use native builds 13 | "ocaml" "pkg/build.ml" "native=%{ocaml-native-dynlink}%" 14 | "native-dynlink=%{ocaml-native-dynlink}%"] 15 | ["sh" "-c" "rm _build/src/ppx_deriving_runtime*"] 16 | ["env" "OCAMLFIND_TOOLCHAIN=windows" 17 | "ocamlbuild" "-classic-display" "-use-ocamlfind" "src/ppx_deriving_runtime.cmxs" "src/ppx_deriving_runtime.cma"] 18 | ] 19 | build-test: [ 20 | "ocamlbuild" "-classic-display" "-use-ocamlfind" "src_test/test_ppx_deriving.byte" "--" 21 | ] 22 | build-doc: [ 23 | make "doc" 24 | ] 25 | install: [ 26 | "env" "OCAMLFIND_TOOLCHAIN=windows" 27 | make "install" 28 | ] 29 | depends: [ 30 | "ocamlbuild" {build} 31 | "ocamlfind" {build & >= "1.6.0"} 32 | "cppo" {build} 33 | "cppo_ocamlbuild" {build} 34 | "ocaml-migrate-parsetree" 35 | "ocaml-migrate-parsetree-windows" 36 | "ppx_derivers" 37 | "ppx_tools-windows" {>= "4.02.3"} 38 | "result" 39 | "result-windows" 40 | "ounit" {test} 41 | "ocaml-windows" 42 | ] 43 | available: [ ocaml-version > "4.03.0" & opam-version >= "1.2" ] 44 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_deriving-windows.4.2.1/url: -------------------------------------------------------------------------------- 1 | http: "https://github.com/ocaml-ppx/ppx_deriving/archive/v4.2.1.tar.gz" 2 | checksum: "2195fccf2a527c3ff9ec5b4e36e2f0a8" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_expect-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Cram like framework for OCaml 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_expect-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_expect" 5 | bug-reports: "https://github.com/janestreet/ppx_expect/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_expect.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_expect" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "base-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_assert" {>= "v0.10" & < "v0.11"} 14 | "ppx_assert-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_compare-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 17 | "ppx_custom_printf-windows" {>= "v0.10" & < "v0.11"} 18 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 19 | "ppx_fields_conv-windows" {>= "v0.10" & < "v0.11"} 20 | "ppx_here-windows" {>= "v0.10" & < "v0.11"} 21 | "ppx_inline_test-windows" {>= "v0.10" & < "v0.11"} 22 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 23 | "ppx_sexp_conv-windows" {>= "v0.10" & < "v0.11"} 24 | "ppx_traverse-windows" {>= "v0.10" & < "v0.11"} 25 | "ppx_variants_conv-windows" {>= "v0.10" & < "v0.11"} 26 | "stdio-windows" {>= "v0.10" & < "v0.11"} 27 | "jbuilder-windows" {build & >= "1.0+beta12"} 28 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 29 | "re-windows" {>= "1.5.0"} 30 | "ocaml-windows" 31 | ] 32 | available: [ ocaml-version >= "4.04.1" ] 33 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_expect-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_expect-v0.10.0.tar.gz" 2 | checksum: "792aff33c0fc335ce6ff9ed9000bbfa7" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_fail-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Add location to calls to failwiths 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_fail-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_fail" 5 | bug-reports: "https://github.com/janestreet/ppx_fail/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_fail.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_fail" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_here-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 16 | "jbuilder-windows" {build & >= "1.0+beta12"} 17 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 18 | "ocaml-windows" 19 | ] 20 | available: [ ocaml-version >= "4.04.1" ] 21 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_fail-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_fail-v0.10.0.tar.gz" 2 | checksum: "0f44a02532fd66de704a289d395ce42f" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_fields_conv-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Generation of accessor and iteration functions for ocaml records 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_fields_conv-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_fields_conv" 5 | bug-reports: "https://github.com/janestreet/ppx_fields_conv/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_fields_conv.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_fields_conv" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "fieldslib-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_type_conv-windows" {>= "v0.10" & < "v0.11"} 17 | "jbuilder-windows" {build & >= "1.0+beta12"} 18 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 19 | "ocaml-windows" 20 | ] 21 | available: [ ocaml-version >= "4.04.1" ] 22 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_fields_conv-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_fields_conv-v0.10.0.tar.gz" 2 | checksum: "5cd5d766679ff1ef6ad846e653b8ceb2" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_here-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Expands [%here] into its location 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_here-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_here" 5 | bug-reports: "https://github.com/janestreet/ppx_here/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_here.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_here" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "jbuilder-windows" {build & >= "1.0+beta12"} 15 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 16 | "ocaml-windows" 17 | ] 18 | available: [ ocaml-version >= "4.04.1" ] 19 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_here-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_here-v0.10.0.tar.gz" 2 | checksum: "19333d8afcac45269769560645b3fa1f" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_inline_test-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Syntax extension for writing in-line tests in ocaml code 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_inline_test-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_inline_test" 5 | bug-reports: "https://github.com/janestreet/ppx_inline_test/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_inline_test.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_inline_test" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "base-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 16 | "jbuilder-windows" {build & >= "1.0+beta12"} 17 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 18 | "ocaml-windows" 19 | ] 20 | available: [ ocaml-version >= "4.04.1" ] 21 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_inline_test-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_inline_test-v0.10.0.tar.gz" 2 | checksum: "27b9096c2b7d287725c9ac11a42b550c" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_jane-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Standard Jane Street ppx rewriters 2 | 3 | This package installs a ppx-jane executable, which is a ppx driver 4 | including all standard Jane Street ppx rewriters. 5 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_jane-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_jane" 5 | bug-reports: "https://github.com/janestreet/ppx_jane/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_jane.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_jane" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_assert-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_base-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_bench" {>= "v0.10" & < "v0.11"} 15 | "ppx_bench-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_bin_prot" {>= "v0.10" & < "v0.11"} 17 | "ppx_bin_prot-windows" {>= "v0.10" & < "v0.11"} 18 | "ppx_custom_printf-windows" {>= "v0.10" & < "v0.11"} 19 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 20 | "ppx_expect" {>= "v0.10" & < "v0.11"} 21 | "ppx_expect-windows" {>= "v0.10" & < "v0.11"} 22 | "ppx_fail" {>= "v0.10" & < "v0.11"} 23 | "ppx_fail-windows" {>= "v0.10" & < "v0.11"} 24 | "ppx_fields_conv-windows" {>= "v0.10" & < "v0.11"} 25 | "ppx_here-windows" {>= "v0.10" & < "v0.11"} 26 | "ppx_inline_test-windows" {>= "v0.10" & < "v0.11"} 27 | "ppx_let" {>= "v0.10" & < "v0.11"} 28 | "ppx_let-windows" {>= "v0.10" & < "v0.11"} 29 | "ppx_optional" {>= "v0.10" & < "v0.11"} 30 | "ppx_optional-windows" {>= "v0.10" & < "v0.11"} 31 | "ppx_pipebang" {>= "v0.10" & < "v0.11"} 32 | "ppx_pipebang-windows" {>= "v0.10" & < "v0.11"} 33 | "ppx_sexp_message" {>= "v0.10" & < "v0.11"} 34 | "ppx_sexp_message-windows" {>= "v0.10" & < "v0.11"} 35 | "ppx_sexp_value" {>= "v0.10" & < "v0.11"} 36 | "ppx_sexp_value-windows" {>= "v0.10" & < "v0.11"} 37 | "ppx_typerep_conv" {>= "v0.10" & < "v0.11"} 38 | "ppx_typerep_conv-windows" {>= "v0.10" & < "v0.11"} 39 | "ppx_variants_conv-windows" {>= "v0.10" & < "v0.11"} 40 | "jbuilder-windows" {build & >= "1.0+beta12"} 41 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 42 | "ocaml-windows" 43 | ] 44 | available: [ ocaml-version >= "4.04.1" ] 45 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_jane-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_jane-v0.10.0.tar.gz" 2 | checksum: "4668fc807f5cf25f2771955f841a85e6" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_let-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Monadic let-bindings 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_let-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_let" 5 | bug-reports: "https://github.com/janestreet/ppx_let/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_let.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_let" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "jbuilder-windows" {build & >= "1.0+beta12"} 15 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 16 | "ocaml-windows" 17 | ] 18 | available: [ ocaml-version >= "4.04.1" ] 19 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_let-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_let-v0.10.0.tar.gz" 2 | checksum: "875eb641e4a8fae0073657583df24554" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_optional-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Pattern matching on flat options 2 | 3 | A ppx rewriter that rewrites simple match statements with an if then 4 | else expression. 5 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_optional-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_optional" 5 | bug-reports: "https://github.com/janestreet/ppx_optional/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_optional.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_optional" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 15 | "jbuilder-windows" {build & >= "1.0+beta12"} 16 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 17 | "ocaml-windows" 18 | ] 19 | available: [ ocaml-version >= "4.04.1" ] 20 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_optional-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_optional-v0.10.0.tar.gz" 2 | checksum: "ab4ec740974fe5019d049fb190385105" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_pipebang-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | A ppx rewriter that inlines reverse application operators `|>` and `|!` 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_pipebang-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_pipebang" 5 | bug-reports: "https://github.com/janestreet/ppx_pipebang/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_pipebang.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_pipebang" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 15 | "jbuilder-windows" {build & >= "1.0+beta12"} 16 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 17 | "ocaml-windows" 18 | ] 19 | available: [ ocaml-version >= "4.04.1" ] 20 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_pipebang-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_pipebang-v0.10.0.tar.gz" 2 | checksum: "feab83b408f4f952da9d7b257e637276" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_sexp_message-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | A ppx rewriter for easy construction of s-expressions 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_sexp_message-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_sexp_message" 5 | bug-reports: "https://github.com/janestreet/ppx_sexp_message/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_sexp_message.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_sexp_message" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_here-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_sexp_conv-windows" {>= "v0.10" & < "v0.11"} 17 | "sexplib-windows" {>= "v0.10" & < "v0.11"} 18 | "jbuilder-windows" {build & >= "1.0+beta12"} 19 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 20 | "ocaml-windows" 21 | ] 22 | available: [ ocaml-version >= "4.04.1" ] 23 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_sexp_message-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_sexp_message-v0.10.0.tar.gz" 2 | checksum: "ada077accd8c7be87c44de9c028fe8d2" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_sexp_value-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | A ppx rewriter that simplifies building s-expressions from ocaml values 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_sexp_value-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_sexp_value" 5 | bug-reports: "https://github.com/janestreet/ppx_sexp_value/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_sexp_value.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_sexp_value" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_here-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 16 | "ppx_sexp_conv-windows" {>= "v0.10" & < "v0.11"} 17 | "sexplib-windows" {>= "v0.10" & < "v0.11"} 18 | "jbuilder-windows" {build & >= "1.0+beta12"} 19 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 20 | "ocaml-windows" 21 | ] 22 | available: [ ocaml-version >= "4.04.1" ] 23 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_sexp_value-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_sexp_value-v0.10.0.tar.gz" 2 | checksum: "19e50ec5451415e99a742c7fe02ca5b6" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_tools-windows.5.1+4.06.0/descr: -------------------------------------------------------------------------------- 1 | Tools for authors of ppx rewriters and other syntactic tools 2 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_tools-windows.5.1+4.06.0/files/patches/use-ocamlfind.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index 254d6cc..ba13d40 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -2,14 +2,14 @@ 6 | # under the terms of the MIT license (see LICENSE file). 7 | # Copyright 2013 Alain Frisch and LexiFi 8 | 9 | -include $(shell ocamlc -where)/Makefile.config 10 | +include $(shell ocamlfind ocamlc -where)/Makefile.config 11 | 12 | PACKAGE = ppx_tools 13 | VERSION = 5.0 14 | # Don't forget to change META file as well 15 | 16 | -OCAMLC = ocamlc -bin-annot 17 | -OCAMLOPT = ocamlopt 18 | +OCAMLC = ocamlfind ocamlc -bin-annot 19 | +OCAMLOPT = ocamlfind ocamlopt 20 | COMPFLAGS = -w +A-4-17-44-45 -I +compiler-libs -safe-string 21 | 22 | .PHONY: all 23 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_tools-windows.5.1+4.06.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "alain.frisch@lexifi.com" 3 | authors: [ "Alain Frisch " ] 4 | license: "MIT" 5 | homepage: "https://github.com/ocaml-ppx/ppx_tools" 6 | bug-reports: "https://github.com/ocaml-ppx/ppx_tools/issues" 7 | dev-repo: "git://github.com/ocaml-ppx/ppx_tools.git" 8 | tags: [ "syntax" ] 9 | patches: [ 10 | "patches/use-ocamlfind.patch" 11 | ] 12 | build: [ 13 | [make "ast_lifter.ml" "dumpast" "ppx_metaquot" "rewriter"] 14 | ["env" "OCAMLFIND_TOOLCHAIN=windows" make "all" "EXE="] 15 | ] 16 | install: [["env" "OCAMLFIND_TOOLCHAIN=windows" make "install" "EXE="]] 17 | remove: [["env" "OCAMLFIND_TOOLCHAIN=windows" "ocamlfind" "remove" "ppx_tools"]] 18 | depends: [ 19 | "ocamlfind" {>= "1.5.0"} 20 | "ocaml-windows" 21 | ] 22 | available: [ ocaml-version >= "4.06.0" & ocaml-version < "4.07" ] 23 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_tools-windows.5.1+4.06.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://github.com/ocaml-ppx/ppx_tools/archive/5.1+4.06.0.tar.gz" 2 | checksum: "6ba2e9690b1f579ba562b86022d1c308" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_traverse-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Automatic generation of open-recursion classes 2 | 3 | Ppx\\_traverse is a ppx_type_conv plugin generating open recursion 4 | classes from type definition. 5 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_traverse-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_traverse" 5 | bug-reports: "https://github.com/janestreet/ppx_traverse/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_traverse.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_traverse" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_type_conv-windows" {>= "v0.10" & < "v0.11"} 16 | "jbuilder-windows" {build & >= "1.0+beta12"} 17 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 18 | "ocaml-windows" 19 | ] 20 | available: [ ocaml-version >= "4.04.1" ] 21 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_traverse-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_traverse-v0.10.0.tar.gz" 2 | checksum: "a73ff2a0c0089722e876eeef08bcd907" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_typerep_conv-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Generation of runtime types from type declarations 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_typerep_conv-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_typerep_conv" 5 | bug-reports: "https://github.com/janestreet/ppx_typerep_conv/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_typerep_conv.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_typerep_conv" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_type_conv-windows" {>= "v0.10" & < "v0.11"} 16 | "typerep-windows" {>= "v0.10" & < "v0.11"} 17 | "jbuilder-windows" {build & >= "1.0+beta12"} 18 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 19 | "ocaml-windows" 20 | ] 21 | available: [ ocaml-version >= "4.04.1" ] 22 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_typerep_conv-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_typerep_conv-v0.10.0.tar.gz" 2 | checksum: "d99d64aa481c63d2be44ac95addb0cfa" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_variants_conv-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Generation of accessor and iteration functions for ocaml variant types 2 | 3 | Part of the Jane Street's PPX rewriters collection. 4 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_variants_conv-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_variants_conv" 5 | bug-reports: "https://github.com/janestreet/ppx_variants_conv/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_variants_conv.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "ppx_variants_conv" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "ppx_core-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "ppx_metaquot-windows" {>= "v0.10" & < "v0.11"} 15 | "ppx_type_conv-windows" {>= "v0.10" & < "v0.11"} 16 | "variantslib-windows" {>= "v0.10" & < "v0.11"} 17 | "jbuilder-windows" {build & >= "1.0+beta12"} 18 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 19 | "ocaml-windows" 20 | ] 21 | available: [ ocaml-version >= "4.04.1" ] 22 | -------------------------------------------------------------------------------- /opam-aux/packages/ppx_variants_conv-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/ppx_variants_conv-v0.10.0.tar.gz" 2 | checksum: "378473bb8226e9696a082c876f900842" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/typerep-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | typerep is a library for runtime types. 2 | -------------------------------------------------------------------------------- /opam-aux/packages/typerep-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/typerep" 5 | bug-reports: "https://github.com/janestreet/typerep/issues" 6 | dev-repo: "git+https://github.com/janestreet/typerep.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "typerep" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "base-windows" {>= "v0.10" & < "v0.11"} 13 | "jbuilder-windows" {build & >= "1.0+beta12"} 14 | "ocaml-windows" 15 | ] 16 | available: [ ocaml-version >= "4.04.1" ] 17 | -------------------------------------------------------------------------------- /opam-aux/packages/typerep-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/typerep-v0.10.0.tar.gz" 2 | checksum: "b61ec8eae124907cc7998045d9a036bf" 3 | -------------------------------------------------------------------------------- /opam-aux/packages/variantslib-windows.v0.10.0/descr: -------------------------------------------------------------------------------- 1 | Part of Jane Street's Core library 2 | 3 | The Core suite of libraries is an industrial strength alternative to 4 | OCaml's standard library that was developed by Jane Street, the 5 | largest industrial user of OCaml. 6 | -------------------------------------------------------------------------------- /opam-aux/packages/variantslib-windows.v0.10.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "1.2" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/variantslib" 5 | bug-reports: "https://github.com/janestreet/variantslib/issues" 6 | dev-repo: "git+https://github.com/janestreet/variantslib.git" 7 | license: "Apache-2.0" 8 | build: [ 9 | ["jbuilder-windows" "build" "--install-prefix" "windows-sysroot" "-p" "variantslib" "-j" jobs "-x" "windows"] 10 | ] 11 | depends: [ 12 | "base-windows" {>= "v0.10" & < "v0.11"} 13 | "ppx_driver-windows" {>= "v0.10" & < "v0.11"} 14 | "jbuilder-windows" {build & >= "1.0+beta12"} 15 | "ocaml-migrate-parsetree-windows" {>= "0.4"} 16 | "ocaml-windows" 17 | ] 18 | available: [ ocaml-version >= "4.04.1" ] 19 | -------------------------------------------------------------------------------- /opam-aux/packages/variantslib-windows.v0.10.0/url: -------------------------------------------------------------------------------- 1 | archive: "https://ocaml.janestreet.com/ocaml-core/v0.10/files/variantslib-v0.10.0.tar.gz" 2 | checksum: "bd0c6c640d3f2d2257b6e9e45a455106" 3 | -------------------------------------------------------------------------------- /package-native.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ue 3 | 4 | eval `opam config env` 5 | 6 | mkdir -p "$HOME/.satysfi" 7 | cp -r SATySFi/lib-satysfi/* "$HOME/.satysfi" 8 | cp \ 9 | /usr/share/fonts/opentype/ipaexfont-mincho/ipaexm.ttf \ 10 | /usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf \ 11 | /usr/share/texmf/fonts/opentype/public/lm/lmroman10-regular.otf \ 12 | /usr/share/texmf/fonts/opentype/public/lm/lmroman10-bold.otf \ 13 | /usr/share/texmf/fonts/opentype/public/lm/lmroman10-italic.otf \ 14 | /usr/share/texmf/fonts/opentype/public/lm/lmmono10-regular.otf \ 15 | /usr/share/texmf/fonts/opentype/public/lm/lmsans10-regular.otf \ 16 | /usr/share/fonts/truetype/junicode/Junicode.ttf \ 17 | /usr/share/fonts/truetype/junicode/Junicode-Bold.ttf \ 18 | /usr/share/fonts/truetype/junicode/Junicode-Italic.ttf \ 19 | /usr/share/texlive/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf \ 20 | /usr/share/texlive/texmf-dist/fonts/opentype/public/Asana-Math/Asana-Math.otf \ 21 | "$HOME/.satysfi/dist/fonts/" 22 | 23 | mv "$HOME/.satysfi/dist/fonts/Asana-Math.otf" "$HOME/.satysfi/dist/fonts/Asana-math.otf" 24 | 25 | rm -rf satysfi-doc satysfi-doc.zip 26 | cp -r SATySFi/doc satysfi-doc 27 | make -C satysfi-doc all lang 28 | zip -r satysfi-doc.zip satysfi-doc 29 | 30 | rm -rf satysfi-demo-src satysfi-demo-src.zip 31 | cp -r SATySFi/demo satysfi-demo-src 32 | zip -r satysfi-demo-src.zip satysfi-demo-src 33 | -------------------------------------------------------------------------------- /package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ue 3 | 4 | eval `opam config env` 5 | 6 | if opam switch show | grep '32bit' -q; then 7 | RELEASE_NAME=satysfi32 8 | GCC_EXCEPTION_TYPE=sjlj 9 | else 10 | RELEASE_NAME=satysfi64 11 | GCC_EXCEPTION_TYPE=seh 12 | fi 13 | 14 | CROSS_PREFIX="$(opam config var conf-gcc-windows:c-lib)/.." 15 | 16 | rm -rf "$RELEASE_NAME" 17 | mkdir "$RELEASE_NAME" 18 | cp $(ocamlfind -toolchain windows ocamlc -where)/../../bin/satysfi "$RELEASE_NAME/satysfi.exe" 19 | cp "$CROSS_PREFIX/bin/libjpeg-9.dll" "$RELEASE_NAME/" 20 | cp "$CROSS_PREFIX/bin/libgcc_s_$GCC_EXCEPTION_TYPE-1.dll" "$RELEASE_NAME/" 21 | 22 | cp -r licenses "$RELEASE_NAME/" 23 | cp -r SATySFi/lib-satysfi "$RELEASE_NAME/lib" 24 | find "$RELEASE_NAME/lib" -name '.git*' -exec rm '{}' '+' 25 | cp \ 26 | /usr/share/fonts/opentype/ipaexfont-mincho/ipaexm.ttf \ 27 | /usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf \ 28 | /usr/share/texmf/fonts/opentype/public/lm/lmroman10-regular.otf \ 29 | /usr/share/texmf/fonts/opentype/public/lm/lmroman10-bold.otf \ 30 | /usr/share/texmf/fonts/opentype/public/lm/lmroman10-italic.otf \ 31 | /usr/share/texmf/fonts/opentype/public/lm/lmmono10-regular.otf \ 32 | /usr/share/texmf/fonts/opentype/public/lm/lmsans10-regular.otf \ 33 | /usr/share/fonts/truetype/junicode/Junicode.ttf \ 34 | /usr/share/fonts/truetype/junicode/Junicode-Bold.ttf \ 35 | /usr/share/fonts/truetype/junicode/Junicode-Italic.ttf \ 36 | /usr/share/texlive/texmf-dist/fonts/opentype/public/lm-math/latinmodern-math.otf \ 37 | /usr/share/texlive/texmf-dist/fonts/opentype/public/Asana-Math/Asana-Math.otf \ 38 | "$RELEASE_NAME/lib/dist/fonts/" 39 | 40 | mv "$RELEASE_NAME/lib/dist/fonts/Asana-Math.otf" "$RELEASE_NAME/lib/dist/fonts/Asana-math.otf" 41 | 42 | cp -r SATySFi/demo "$RELEASE_NAME/" 43 | 44 | zip -r "$RELEASE_NAME.zip" "$RELEASE_NAME" 45 | 46 | installer/make-installer.sh "$RELEASE_NAME" 47 | -------------------------------------------------------------------------------- /update-upstream.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ue 3 | set -o pipefail 4 | 5 | OTFM_REPO=https://github.com/gfngfn/otfm.git 6 | CAMLPDF_REPO=https://github.com/gfngfn/camlpdf.git 7 | 8 | otfm_rev=$(git ls-remote $OTFM_REPO master | cut -f 1) 9 | camlpdf_rev=$(git ls-remote $CAMLPDF_REPO master | cut -f 1) 10 | 11 | echo "git: \"$OTFM_REPO#$otfm_rev\"" > opam-aux/packages/otfm.0.3.0+satysfi/url 12 | echo "git: \"$OTFM_REPO#$otfm_rev\"" > opam-aux/packages/otfm-windows.0.3.0+satysfi/url 13 | echo "git: \"$CAMLPDF_REPO#$camlpdf_rev\"" > opam-aux/packages/camlpdf.2.2.1+satysfi/url 14 | echo "git: \"$CAMLPDF_REPO#$camlpdf_rev\"" > opam-aux/packages/camlpdf-windows.2.2.1+satysfi/url 15 | 16 | cd SATySFi 17 | git fetch origin 18 | git checkout origin/master 19 | cd .. 20 | --------------------------------------------------------------------------------