Compare commits

..

3 commits

Author SHA1 Message Date
Artturin 6f8b8999b3 Use corpus package
Allow using the existing `rtlil-parse` from the nix-shell instead
of using cabal
2024-12-11 23:31:54 +02:00
Artturin 5b84cc7a47 Update submodule 2024-12-11 22:52:18 +02:00
Artturin c919b8fb41 Update nixpkgs 2024-12-11 22:06:10 +02:00
4 changed files with 42 additions and 14 deletions

View file

@ -1,6 +1,9 @@
{ pkgs ? import (fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/refs/tags/24.05.tar.gz";
}) {} }:
{
pkgs ? import (fetchTarball {
# nixos-unstable rev 2024-12-03
url = "https://github.com/NixOS/nixpkgs/archive/55d15ad12a74eb7d4646254e13638ad0c4128776.tar.gz";
}) { },
}:
let
haskellPackages = pkgs.haskell.packages.ghc948;

@ -1 +1 @@
Subproject commit d60615be78cd1fc7173bff956d2b1a53f8235bb0
Subproject commit d8f2b884c523bdae74978fb52abe92d7487b1a9e

View file

@ -1,12 +1,20 @@
{ pkgs ? import (fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/refs/tags/24.05.tar.gz";
}) {} }:
{
pkgs ? import (fetchTarball {
# nixos-unstable rev 2024-12-03
url = "https://github.com/NixOS/nixpkgs/archive/55d15ad12a74eb7d4646254e13638ad0c4128776.tar.gz";
}) { },
}:
let
haskellator = pkgs.callPackage ./default.nix {};
haskellator = pkgs.callPackage ./default.nix { };
corpus = pkgs.callPackage ./rtlil-corpus/default.nix { };
in
pkgs.mkShell {
buildInputs = [
haskellator
pkgs.callPackage (
{ mkShell }:
mkShell {
CORPUS = corpus;
nativeBuildInputs = [
haskellator
];
}
}
) { }

21
test.py
View file

@ -1,13 +1,30 @@
import os
import subprocess
import argparse
import shutil
parser = argparse.ArgumentParser(description="Test rtlil-parse")
parser.add_argument("--corpus", default=os.environ.get('CORPUS'), required=False, help="Path to corpus dir.")
args = parser.parse_args()
# Define the directories
corpus_dir = './rtlil-corpus/corpus/'
if args.corpus:
corpus_dir = args.corpus
else:
corpus_dir = './rtlil-corpus/corpus/'
parsed_dir = './parsed_rtlil'
# Create the parsed_rtlil directory if it doesn't exist
os.makedirs(parsed_dir, exist_ok=True)
# Use rtlil-parse from PATH if available.
rtil_parse_binary = shutil.which("rtlil-parse")
if rtil_parse_binary is None:
program = "cabal run rtlil-parse --"
else:
program = rtil_parse_binary
# Iterate over all .rtlil files in the corpus directory
for file_name in os.listdir(corpus_dir):
if file_name.endswith('.il'):
@ -16,7 +33,7 @@ for file_name in os.listdir(corpus_dir):
output_path = os.path.join(parsed_dir, output_file)
# Construct and run the command
command = f"cabal run rtlil-parse -- {input_path} {output_path}"
command = f"{program} {input_path} {output_path}"
try:
subprocess.run(command, shell=True, check=True)
print(f"Processed: {input_path} -> {output_path}")