1
0
mirror of https://github.com/kmein/niveum synced 2026-03-20 12:01:06 +01:00

feat: reimplement ipa and betacode in haskell

This commit is contained in:
2022-01-11 23:49:06 +01:00
parent a1b13206f1
commit f2ff05c47e

View File

@@ -294,23 +294,30 @@ in rec {
packages = [ pkgs.xdo ]; packages = [ pkgs.xdo ];
}; };
ipa = wrapScript { ipa = pkgs.writers.writeHaskellBin "ipa" {
script = ./ipa.py; libraries = with pkgs; [ haskellPackages.text haskellPackages.ipa ];
name = "ipa"; } ''
packages = [ pkgs.python3 ]; import Data.Maybe (fromJust)
}; import Language.IPA
import qualified Data.Text as T
import qualified Data.Text.IO as T
main = T.interact (T.unwords . map (unIPA . fromJust . (xSampaToIpa =<<) . mkXSampa) . T.words)
'';
default-gateway = pkgs.writers.writeDashBin "default-gateway" '' default-gateway = pkgs.writers.writeDashBin "default-gateway" ''
${pkgs.iproute}/bin/ip -json route | ${pkgs.jq}/bin/jq --raw-output '.[0].gateway' ${pkgs.iproute}/bin/ip -json route | ${pkgs.jq}/bin/jq --raw-output '.[0].gateway'
''; '';
betacode = pkgs.writers.writePython3Bin "betacode" { betacode = pkgs.writers.writeHaskellBin "betacode" {
libraries = [ betacode ]; libraries = with pkgs; [
(haskell.lib.unmarkBroken (haskell.lib.doJailbreak haskellPackages.betacode))
haskellPackages.text
];
} '' } ''
import betacode.conv import qualified Data.Text.IO as T
import sys import qualified Data.Text as T
import Text.BetaCode
sys.stdout.write(betacode.conv.beta_to_uni(sys.stdin.read())) main = T.interact (either (error . T.unpack) id . fromBeta)
''; '';
devanagari = pkgs.callPackage ../devanagari {}; devanagari = pkgs.callPackage ../devanagari {};