divvun / divvun-manager-windows

Windows package manager client for the Páhkat repository format
GNU General Public License v3.0
2 stars 2 forks source link
keyboards package-manager proofing-tools windows

Windows Divvun Manager and OneClick Installer

Build Status

Download

(One-Click is currently only buildable off of a Stable release)

Building

SDK Versions

Note: Tested with Visual Studio 2019 with .NET 5.0

First, pahkat needs to be built to your local directory.

git clone https://github.com/divvun/pahkat.git

Important: Divvun Manager does not talk to the language index itself. It only communicate locally running pahkat service. Pahkat is responsible to install and update languages. So, pahkat service should be up and running in your Windows's Services.

(if you want to make your life easier, grab the OneClick Installer above which will get you both kbdi config and Pahkat service installed)

Open pahkat-client-core directory in a terminal and source env for the platform $Env:CARGO_FEATURE_WINDOWS="true" before cargo build. Make sure the build to succeed.

Second, you should clone the divvun manager repo in the same pahkat folder.

git clone https://github.com/divvun/divvun-manager-windows.git

Be sure divvun-manager-windows and pahkat-client-core share the same root directory.

Open Divvun.Installer.sln in Visual Studio 2019 and build only Pahkat.Sdk project from the solution explorer to generate Pahkat.Sdk.dll file before building the whole solution.

Finally, Build > Build Solution (Ctrl-Shift-B)

When you try to run Divvun.Installer, it's not going to work because some pseudolocales will need to be added to your registry. The simplest way to do this is to install kbdi outside of pahkat directory.

git clone https://github.com/divvun/kbdi.git then cargo build --release --target i686-pc-windows-msvc --bin kbdi

After the build is succeeded. Come to .\target\i686-pc-windows-msvc\release and run kbdi.exe language_enable nn-Runr command.

If everything goes well, you can run Divvun.Installer and it should work just fine.

Troubleshot

You might end up with enabling old .Net SDKs in Windows Feature Panel.

Releases

Releases use Pahkat to provide installers to users via special urls. The Pahkat Index, which represents packages available for download, can be viewed here. Except for Stable releases, which must be done manually, new installers are added to the index automatically on successful build.

nano version.json #change the version
git commit version -m "v2.5.0 ..." 
git tag v2.5.0
git push
git push origin v2.5.0

This will trigger the nightly build jobs first. And then trigger the job to build you 2.5.0.

Nightlies are auto updated in the repository. New versions are not. Well.. They kinda are. But they're added to the beta channel. So you need to copy the release of the beta version (which still needs to be there it seems?) and just remove the beta channel making it a main release.

So you need to go to git@github.com:divvun/pahkat.uit.no-index.git. Edit divvun-installer/packages/divvun-installer/index.toml and divvun-installer/packages/divvun-installer-oneclick/index.toml

See https://github.com/divvun/pahkat.uit.no-index/commit/6bdc7f1a98b9242ca3ae2661d28bf2aad8c146ce for reference.

The repo will need to be pushed onto the pahkat repository. This gets done any time any other project is updated. So you can go ahead and just trigger any job that would generate an artifact.

How to Add/Remove Languages and Regions

Divvun Manager is rendering this landing page https://pahkat.uit.no/main/landing/index.html to display all available languages and regions.

In order to add a new language or a region, region.json should be updated in the pahkat-web-ui repository and genereted files needs to be copied into pahkat.uit.no-index/main/landing directory in the pahkat.uit.no-index repo.

Old guide

Open in Visual Studio 2017, run build in Release.

In order for all supported locales to generate properly, some pseudolocales will need to be added to your registry. The simplest way to do this is to install kbdi, and run kbdi.exe language_enable on the following tags:

For a debug build, run build-2019-dev.bat.

You will need pahkat-client-core checked out in the shared parent directory where you have cloned this repository for the build to succeed.

Localisation

To add a new language you need to add DivvunInstaller/Strings.[your_lang].resx file with translated strings and add your new language tag in Divvun.Installer/UI/Settings/SettingsWindow.xaml.cs.

Localisation of entries: see description in the Divvun Manager for macOS README.