From 452f58cd60818b551b5809588de4f39f1e16c434 Mon Sep 17 00:00:00 2001 From: Jonah Beckford <71855677+jonahbeckford@users.noreply.github.com> Date: Mon, 8 Aug 2022 18:09:34 -0700 Subject: [PATCH 1/4] Add Diskuv.OCaml.1.0.0.0 --- .../OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml | 70 +++++++++++++++++++ .../1.0.0.0/Diskuv.OCaml.locale.en-US.yaml | 41 +++++++++++ .../d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml | 6 ++ 3 files changed, 117 insertions(+) create mode 100644 manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml create mode 100644 manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml create mode 100644 manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml new file mode 100644 index 0000000000000..c85f6cdf8666e --- /dev/null +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml @@ -0,0 +1,70 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.1.0.schema.json +# Follow: https://docs.microsoft.com/en-us/windows/package-manager/package/manifest?tabs=minschema%2Cversion-example#tips-and-best-practices +PackageIdentifier: "Diskuv.OCaml" +PackageVersion: "1.0.0.0" +Scope: user +UpgradeBehavior: install +Commands: + # /bin + - opam + - opam-installer + - opam-putenv + # /usr/bin (max 16 Commands so took only the most commonly used) + - dune + - ocaml + - ocamlc + - ocamldebug + - ocamldoc + - ocamlfind + - ocamlformat + - ocamllsp + - ocamlopt + - ocamlrun + - ocp-indent + - utop + - with-dkml +Platform: + - "Windows.Desktop" +# Minimum OS comes from https://github.com/diskuv/dkml-runtime-distribution/blob/ff7e6bcbf3dbdb37e64b20a57e2dea0fa9d27ed5/src/windows/Machine/Machine.psm1#L14: +# > $Windows10SdkVer = "18362" +MinimumOSVersion: "10.0.18362.0" +InstallerType: exe +InstallModes: + - silent + - interactive +Dependencies: + PackageDependencies: + # ---- Visual Studio Build Tools ---- + + # Minimum comes from https://github.com/diskuv/dkml-runtime-distribution/blob/ff7e6bcbf3dbdb37e64b20a57e2dea0fa9d27ed5/src/windows/Machine/Machine.psm1#L94-L105: + # > $VcStudioVcToolsMajorVer = 16 + # > $VcStudioVcToolsMinorVer = 6 + - PackageIdentifier: Microsoft.VisualStudio.2019.BuildTools + MinimumVersion: 16.6.0 + + # ---- Git ---- + # Minimum comes from https://github.com/diskuv/dkml-component-ocamlcompiler/blob/66af047444345a012213980269faffdf8ea83fb0/assets/staging-files/win32/setup-userprofile.ps1#L602-605 + - PackageIdentifier: Git.Git + MinimumVersion: 2.34.0 +Installers: + - Architecture: "x64" + + # TODO: InstallerUrl/InstallerSha256/ReleaseDate need to be updated by contributors/sign.sh! + InstallerUrl: "https://github.com/diskuv/dkml-installer-ocaml/releases/download/v1.0.0/setup-diskuv-ocaml-windows_x86_64-1.0.0.exe" + InstallerSha256: 32f010577a791d5595760cbb5136bd60049ffd37c8d44e68e7a8729319670a48 + ReleaseDate: 2022-08-08 + + InstallerSwitches: + Silent: --ci --quiet --color=never + SilentWithProgress: --ci + Interactive: --color=always + InstallLocation: --prefix "" + + AppsAndFeaturesEntries: + # Keep in sync with installer\src\private_common.ml which is used by + # https://github.com/diskuv/dkml-install-api/blob/main/package/console/common/Windows_registry.ml + - Publisher: Diskuv, Inc. + DisplayName: Diskuv OCaml + DisplayVersion: 1.0.0.0 +ManifestType: "installer" +ManifestVersion: "1.1.0" diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml new file mode 100644 index 0000000000000..3ca840c05e00b --- /dev/null +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml @@ -0,0 +1,41 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.1.0.schema.json + +PackageIdentifier: "Diskuv.OCaml" +PackageVersion: "1.0.0.0" +PackageLocale: "en-US" +Publisher: "Diskuv, Inc." +PublisherUrl: "https://www.diskuv.com/" +PrivacyUrl: "https://diskuv.com/legal#privacy_policy" +PackageName: "Diskuv OCaml" +PackageUrl: "https://diskuv.gitlab.io/diskuv-ocaml/#introduction" +License: "Apache License, Version 2.0" +LicenseUrl: "https://github.com/diskuv/dkml-installer-ocaml/blob/main/LICENSE" +Copyright: "Copyright 2022 Diskuv, Inc." +CopyrightUrl: "https://github.com/diskuv/dkml-installer-ocaml/blob/main/LICENSE" +PublisherSupportUrl: "https://github.com/diskuv/dkml-installer-ocaml/issues" +ShortDescription: "The Windows-friendly distribution of OCaml." +Description: |- + The Diskuv OCaml distribution is an open-source set of software that supports software development in pure OCaml. The distribution's strengths are its: + + ✓ full compatibility with OCaml standards like Opam, Dune and ocamlfind + ✓ laser focus on "native" development (desktop software, mobile apps and embedded software) through support for the standard native compilers like Visual Studio and Xcode + ✓ ease-of-use through simplified installers and simple productivity commands; high school students should be able to use it + ✓ security through reproducibility, versioning and from-source builds + + These alternatives may be better depending on your use case: + + * Developing in a Javascript first environment? Have a look at Esy and Reason + * Developing operating system kernels? Have a look at Mirage OS + * Developing Linux server software like web servers? Plain old OCaml on Debian, etc. works well + * Writing compilers or proofs? Plain old OCaml works really well + * Wanting quick installations? Use anything but Diskuv OCaml! Diskuv OCaml will conduct from-source builds unless it can guarantee (and code sign) the binaries are reproducible. Today that means a lot of compiling. +Moniker: dkml +Tags: +- foss +- language +- ocaml +- open-source +- programming +ManifestType: "defaultLocale" +ManifestVersion: "1.1.0" +ReleaseNotesUrl: https://github.com/diskuv/dkml-installer-ocaml/releases/tag/v1.0.0 diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml new file mode 100644 index 0000000000000..ad19ca0609673 --- /dev/null +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml @@ -0,0 +1,6 @@ +# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.1.0.schema.json +PackageIdentifier: "Diskuv.OCaml" +PackageVersion: "1.0.0.0" +DefaultLocale: "en-US" +ManifestType: "version" +ManifestVersion: "1.1.0" From 807f5fcdf9b210f8be1b8482167b221e013385b2 Mon Sep 17 00:00:00 2001 From: jonahbeckford <71855677+jonahbeckford@users.noreply.github.com> Date: Mon, 8 Aug 2022 20:17:10 -0700 Subject: [PATCH 2/4] Update manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml Co-authored-by: Kaleb Luedtke --- manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml index c85f6cdf8666e..8e36e668ca469 100644 --- a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml @@ -65,6 +65,6 @@ Installers: # https://github.com/diskuv/dkml-install-api/blob/main/package/console/common/Windows_registry.ml - Publisher: Diskuv, Inc. DisplayName: Diskuv OCaml - DisplayVersion: 1.0.0.0 + DisplayVersion: dev ManifestType: "installer" ManifestVersion: "1.1.0" From 106e1cf0e0b244e34ef63220da50ae1ce4c304e4 Mon Sep 17 00:00:00 2001 From: Jonah Beckford <71855677+jonahbeckford@users.noreply.github.com> Date: Sat, 13 Aug 2022 15:41:18 -0700 Subject: [PATCH 3/4] Use wingetcreate yaml --- .../OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml | 56 +++++++++---------- .../1.0.0.0/Diskuv.OCaml.locale.en-US.yaml | 35 ++++++------ .../d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml | 13 +++-- 3 files changed, 51 insertions(+), 53 deletions(-) diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml index 8e36e668ca469..5a181637111bf 100644 --- a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml @@ -1,15 +1,21 @@ -# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.1.0.schema.json -# Follow: https://docs.microsoft.com/en-us/windows/package-manager/package/manifest?tabs=minschema%2Cversion-example#tips-and-best-practices -PackageIdentifier: "Diskuv.OCaml" -PackageVersion: "1.0.0.0" -Scope: user +# Created using wingetcreate 1.1.2.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.installer.1.2.0.schema.json +# Follow: +# https://docs.microsoft.com/en-us/windows/package-manager/package/manifest?tabs=minschema%2Cversion-example#tips-and-best-practices +# https://github.com/microsoft/winget-pkgs/tree/master/doc/manifest/schema/1.2.0#best-practices +# Reference: https://github.com/microsoft/winget-pkgs/blob/master/doc/manifest/schema/1.2.0/installer.md +PackageIdentifier: Diskuv.OCaml +PackageVersion: 1.0.0.0 UpgradeBehavior: install Commands: - # /bin - - opam - - opam-installer - - opam-putenv - # /usr/bin (max 16 Commands so took only the most commonly used) + # PATH entry: /bin + # BUT ... Opam will be releasing an MSI soon so _do not conflict_ + # - opam + # - opam-installer + # - opam-putenv + + # PATH entry: /usr/bin + # BUT ... max 16 entries in Commands:[] so took only the most commonly used - dune - ocaml - ocamlc @@ -27,33 +33,22 @@ Platform: - "Windows.Desktop" # Minimum OS comes from https://github.com/diskuv/dkml-runtime-distribution/blob/ff7e6bcbf3dbdb37e64b20a57e2dea0fa9d27ed5/src/windows/Machine/Machine.psm1#L14: # > $Windows10SdkVer = "18362" -MinimumOSVersion: "10.0.18362.0" +MinimumOSVersion: 10.0.18362.0 InstallerType: exe InstallModes: - silent - interactive -Dependencies: - PackageDependencies: - # ---- Visual Studio Build Tools ---- - - # Minimum comes from https://github.com/diskuv/dkml-runtime-distribution/blob/ff7e6bcbf3dbdb37e64b20a57e2dea0fa9d27ed5/src/windows/Machine/Machine.psm1#L94-L105: - # > $VcStudioVcToolsMajorVer = 16 - # > $VcStudioVcToolsMinorVer = 6 - - PackageIdentifier: Microsoft.VisualStudio.2019.BuildTools - MinimumVersion: 16.6.0 - - # ---- Git ---- - # Minimum comes from https://github.com/diskuv/dkml-component-ocamlcompiler/blob/66af047444345a012213980269faffdf8ea83fb0/assets/staging-files/win32/setup-userprofile.ps1#L602-605 - - PackageIdentifier: Git.Git - MinimumVersion: 2.34.0 Installers: - - Architecture: "x64" + - Architecture: x64 - # TODO: InstallerUrl/InstallerSha256/ReleaseDate need to be updated by contributors/sign.sh! - InstallerUrl: "https://github.com/diskuv/dkml-installer-ocaml/releases/download/v1.0.0/setup-diskuv-ocaml-windows_x86_64-1.0.0.exe" + # TODO: InstallerUrl/InstallerSha256/ReleaseDate needs to be updated by contributors/sign.sh! + InstallerUrl: https://github.com/diskuv/dkml-installer-ocaml/releases/download/v1.0.0/setup-diskuv-ocaml-windows_x86_64-1.0.0.exe + InstallerType: exe InstallerSha256: 32f010577a791d5595760cbb5136bd60049ffd37c8d44e68e7a8729319670a48 ReleaseDate: 2022-08-08 + DisplayInstallWarnings: true + InstallerSwitches: Silent: --ci --quiet --color=never SilentWithProgress: --ci @@ -65,6 +60,7 @@ Installers: # https://github.com/diskuv/dkml-install-api/blob/main/package/console/common/Windows_registry.ml - Publisher: Diskuv, Inc. DisplayName: Diskuv OCaml + # TODO: "dev" is a mistake that has been corrected in Diskuv OCaml 1.0.1+ DisplayVersion: dev -ManifestType: "installer" -ManifestVersion: "1.1.0" +ManifestType: installer +ManifestVersion: 1.2.0 diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml index 3ca840c05e00b..1c2692daad2ba 100644 --- a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml @@ -1,19 +1,20 @@ -# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.1.0.schema.json +# Created using wingetcreate 1.1.2.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.defaultLocale.1.2.0.schema.json -PackageIdentifier: "Diskuv.OCaml" -PackageVersion: "1.0.0.0" -PackageLocale: "en-US" -Publisher: "Diskuv, Inc." -PublisherUrl: "https://www.diskuv.com/" -PrivacyUrl: "https://diskuv.com/legal#privacy_policy" -PackageName: "Diskuv OCaml" -PackageUrl: "https://diskuv.gitlab.io/diskuv-ocaml/#introduction" -License: "Apache License, Version 2.0" -LicenseUrl: "https://github.com/diskuv/dkml-installer-ocaml/blob/main/LICENSE" -Copyright: "Copyright 2022 Diskuv, Inc." -CopyrightUrl: "https://github.com/diskuv/dkml-installer-ocaml/blob/main/LICENSE" -PublisherSupportUrl: "https://github.com/diskuv/dkml-installer-ocaml/issues" -ShortDescription: "The Windows-friendly distribution of OCaml." +PackageIdentifier: Diskuv.OCaml +PackageVersion: 1.0.0.0 +PackageLocale: en-US +Publisher: Diskuv, Inc. +PublisherUrl: https://www.diskuv.com/ +PrivacyUrl: https://diskuv.com/legal#privacy_policy +PackageName: Diskuv OCaml +PackageUrl: https://diskuv.gitlab.io/diskuv-ocaml/#introduction +License: Apache License, Version 2.0 +LicenseUrl: https://github.com/diskuv/dkml-installer-ocaml/blob/main/LICENSE +Copyright: Copyright 2022 Diskuv, Inc. +CopyrightUrl: https://github.com/diskuv/dkml-installer-ocaml/blob/main/LICENSE +PublisherSupportUrl: https://github.com/diskuv/dkml-installer-ocaml/issues +ShortDescription: The Windows-friendly distribution of OCaml. Description: |- The Diskuv OCaml distribution is an open-source set of software that supports software development in pure OCaml. The distribution's strengths are its: @@ -36,6 +37,6 @@ Tags: - ocaml - open-source - programming -ManifestType: "defaultLocale" -ManifestVersion: "1.1.0" ReleaseNotesUrl: https://github.com/diskuv/dkml-installer-ocaml/releases/tag/v1.0.0 +ManifestType: defaultLocale +ManifestVersion: 1.2.0 diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml index ad19ca0609673..a89504d422ff4 100644 --- a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml @@ -1,6 +1,7 @@ -# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.1.0.schema.json -PackageIdentifier: "Diskuv.OCaml" -PackageVersion: "1.0.0.0" -DefaultLocale: "en-US" -ManifestType: "version" -ManifestVersion: "1.1.0" +# Created using wingetcreate 1.1.2.0 +# yaml-language-server: $schema=https://aka.ms/winget-manifest.version.1.2.0.schema.json +PackageIdentifier: Diskuv.OCaml +PackageVersion: 1.0.0.0 +DefaultLocale: en-US +ManifestType: version +ManifestVersion: 1.2.0 From 28fa44e2e88546bf8f94931eb5e6448857e5a916 Mon Sep 17 00:00:00 2001 From: Jonah Beckford <71855677+jonahbeckford@users.noreply.github.com> Date: Sat, 13 Aug 2022 15:58:37 -0700 Subject: [PATCH 4/4] Downgrade to ManifestVersion: 1.1.0 --- manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml | 4 +--- .../d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml | 2 +- manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml index 5a181637111bf..8cc220587a69d 100644 --- a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.installer.yaml @@ -47,8 +47,6 @@ Installers: InstallerSha256: 32f010577a791d5595760cbb5136bd60049ffd37c8d44e68e7a8729319670a48 ReleaseDate: 2022-08-08 - DisplayInstallWarnings: true - InstallerSwitches: Silent: --ci --quiet --color=never SilentWithProgress: --ci @@ -63,4 +61,4 @@ Installers: # TODO: "dev" is a mistake that has been corrected in Diskuv OCaml 1.0.1+ DisplayVersion: dev ManifestType: installer -ManifestVersion: 1.2.0 +ManifestVersion: 1.1.0 diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml index 1c2692daad2ba..23d2993764018 100644 --- a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.locale.en-US.yaml @@ -39,4 +39,4 @@ Tags: - programming ReleaseNotesUrl: https://github.com/diskuv/dkml-installer-ocaml/releases/tag/v1.0.0 ManifestType: defaultLocale -ManifestVersion: 1.2.0 +ManifestVersion: 1.1.0 diff --git a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml index a89504d422ff4..123530eac29d0 100644 --- a/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml +++ b/manifests/d/Diskuv/OCaml/1.0.0.0/Diskuv.OCaml.yaml @@ -4,4 +4,4 @@ PackageIdentifier: Diskuv.OCaml PackageVersion: 1.0.0.0 DefaultLocale: en-US ManifestType: version -ManifestVersion: 1.2.0 +ManifestVersion: 1.1.0