profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/avdv/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Claudio Bley avdv @eXa-online Leipzig

athityakumar/colorls 3674

A Ruby gem that beautifies the terminal's ls command, with color and font-awesome icons. :tada:

avdv/clocale 1

A ruby gem which wraps the C locale functions

avdv/android-ssdeep 0

Android port of the ssdeep algorithm for computing and matching Context Triggered Piecewise Hashing values, originally developed in spamsum by Andrews Trigdell.

avdv/angular-vertxbus 0

AngularJS service wrapper for the VertX Event Bus

avdv/angular.js 0

HTML enhanced for web apps

avdv/api-doc 0

A non-cluttering swagger doc for scala playframework

avdv/asciidoctor 0

:gem: A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.

avdv/atom 0

The hackable editor

avdv/bazel 0

a fast, scalable, multi-language and extensible build system

avdv/bracketed-paste.el 0

Bracketed Paste Mode support within emacs -nw

Pull request review commenttweag/rules_haskell

Provide an experimental haskell_module rule

+HaskellModuleInfo = provider(+    doc = "Information about a single compiled Haskell module.",+    fields = {+        "object_file": "The compiled `.o` file.",+        "interface_dir": "The import search directory for the interface file.",

For a while I mistakenly thought that this was just the directory the interface_file is in, and this kind of confused me.

After working with it for a bit I realized that the directory structure between interface_dir and interface_file is relevant to the module import path.

I don't know if this would be obvious to most people working with rules_haskell or if it's worth putting some kind of explanation.

aherrmann

comment created time in 9 hours

Pull request review commenttweag/rules_haskell

Provide an experimental haskell_module rule

+"""Experimental Haskell rules"""++load(+    "//haskell/experimental/private:module.bzl",+    _haskell_module_impl = "haskell_module_impl",+)+load("//haskell:private/cc_libraries.bzl", "haskell_cc_libraries_aspect")++_haskell_module = rule(+    _haskell_module_impl,+    # NOTE: Documentation needs to be added to the wrapper macros below.+    #   Currently it is not possible to automatically inherit rule documentation+    #   in wrapping macros. See https://github.com/bazelbuild/stardoc/issues/27+    attrs = {+        # TODO[AH] Merge with _haskell_common_attrs in //haskell:defs.bzl+        "src": attr.label(+            # TODO[AH] How to handle boot files?+            # TODO[AH] How to handle .hsc files?+            # TODO[AH] Do we need .h files in here?+            allow_single_file = [".hs", ".lhs"],  #, ".hs-boot", ".lhs-boot", ".hsc", ".h"],+            mandatory = True,+        ),+        "src_strip_prefix": attr.string(),+        "extra_srcs": attr.label_list(+            allow_files = True,+        ),+        "deps": attr.label_list(+            aspects = [haskell_cc_libraries_aspect],+        ),+        "ghcopts": attr.string_list(),+        #"repl_ghci_args": attr.string_list(),+        "plugins": attr.label_list(+            aspects = [haskell_cc_libraries_aspect],+        ),+        "tools": attr.label_list(+            cfg = "host",+            allow_files = True,+        ),+        "_cc_toolchain": attr.label(+            default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"),+        ),+        "_ghc_wrapper": attr.label(+            executable = True,+            cfg = "host",+            default = Label("@rules_haskell//haskell:ghc_wrapper"),+        ),+        # TODO[AH] Support package name and version for modules that are part of a package.+        # TODO[AH] Suppport worker+    },+    toolchains = [+        "@bazel_tools//tools/cpp:toolchain_type",+        "@rules_haskell//haskell:toolchain",+        "@rules_sh//sh/posix:toolchain_type",+    ],+    fragments = ["cpp"],+)++def haskell_module(+        name,+        src = None,+        extra_srcs = [],+        deps = [],+        ghcopts = [],+        #repl_ghci_args = [],+        plugins = [],+        tools = [],+        worker = None,+        **kwargs):+    """Compile a module from Haskell source.++    Note: This rule is experimental and not ready for production, yet.++    ### Examples++      ```bzl+      haskell_module(+          name = "Example.Module",+          src = "src/Example/Module.hs",+          src_strip_prefix = "src",+          deps = [+              "//:Another.Module",+              "//:some-library",+          ],+      )+      ```++    Args:+      name: A unique name for this rule.+      src_strip_prefix: Prefix before the path matches the module name.+        This is used as an import search for the Haskell compiler.+        Values starting with `/` are relative to the workspace root,+        other paths are relative to the package.+      src: The Haskell source file.+      extra_srcs: Extra (non-Haskell) source files that will be needed at compile time (e.g. by Template Haskell).+      deps: List of other Haskell modules or libraries needed to compile this module.+      data: See [Bazel documentation](https://docs.bazel.build/versions/master/be/common-definitions.html#common.data).,+      ghcopts: Flags to pass to Haskell compiler. Subject to Make variable substitution.+      plugins: Compiler plugins to use during compilation. (Not implemented, yet)+      tools: Extra tools needed at compile-time, like preprocessors. (Not implemented, yet)+      worker: Experimental. Worker binary employed by Bazel's persistent worker mode. See [use-cases documentation](https://rules-haskell.readthedocs.io/en/latest/haskell-use-cases.html#persistent-worker-mode-experimental). (Not implemented, yet)+      **kwargs: Common rule attributes. See [Bazel documentation](https://docs.bazel.build/versions/master/be/common-definitions.html#common-attributes).+    """+    _haskell_module(+        name = name,+        src = src,+        extra_srcs = extra_srcs,+        deps = deps,+        ghcopts = ghcopts,+        #repl_ghci_args = repl_ghci_args,+        plugins = plugins,+        tools = tools,+        #worker = worker,+        **kwargs+    )++    #repl_kwargs = {+    #    attr: kwargs[attr]+    #    for attr in ["testonly", "tags"]+    #    if attr in kwargs+    #}+    #haskell_repl(+    #    name = "%s@repl" % name,+    #    deps = [name],+    #    experimental_from_source = [":%s" % name],+    #    repl_ghci_args = [],+    #    **repl_kwargs+    #)

Why are these here but commented? Presumably they don't work yet but should be added later?

aherrmann

comment created time in 9 hours

Pull request review commenttweag/rules_haskell

Provide an experimental haskell_module rule

+load("@rules_haskell//haskell/experimental:defs.bzl", "haskell_module")++haskell_module(+    name = "Module",+    src = "Module.hs",+    src_strip_prefix = "/tests/haskell_module/nested",
    # testing workspace-relative src_strip_prefix
    src_strip_prefix = "/tests/haskell_module/nested",
aherrmann

comment created time in 19 days

Pull request review commenttweag/rules_haskell

Provide an experimental haskell_module rule

+load("@rules_haskell//haskell/experimental:defs.bzl", "haskell_module")++haskell_module(+    name = "Module",+    src = "Module.hs",+    src_strip_prefix = "/tests/haskell_module/nested",
    # testing workspace-relative src_strip_prefix
    src_strip_prefix = "/tests/haskell_module/nested",

It tripped me up trying to figure out why this was necessary. I'm pretty sure it's not, though, right? I don't know if the confusion was just because of my unfamiliarity with things, though. It might be obvious after a little more bazel exposure.

aherrmann

comment created time in 19 days

pull request commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

I've pushed my changes to the tweag/haskell_module_library_support branch, but I don't see a way to change where the PR is coming from. Should I open a new PR from there and close this one?

Radvendii

comment created time in 9 hours

create barnchtweag/rules_haskell

branch : haskell_module_library_support

created branch time in 9 hours

Pull request review commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

 def link_library_dynamic(hs, cc, posix, dep_info, extra_srcs, objects_dir, my_pk      args = hs.actions.args()     args.add_all(["-optl" + f for f in cc.linker_flags])-    args.add_all(["-shared", "-dynamic"])+    args.add_all(["-shared", "-dynamic", "-fPIC"])

I could have sworn it didn't compile without that, but now it does. Probably something I changed after that removed the need for it.

Radvendii

comment created time in 9 hours

Pull request review commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

 def haskell_library_impl(ctx):     exposed_modules_file = list_exposed_modules(         hs,         ls_modules = ctx.executable._ls_modules,+        modules = modules,         other_modules = other_modules,         exposed_modules_reexports = exposed_modules_reexports,         interfaces_dir = c.interfaces_dir,         with_profiling = with_profiling,     ) -    if srcs_files:+    if srcs_files or modules:

Yeah, I was debating about this and don't remember why I didn't end up doing it. Given that I can't think of an objection now, I'll assume there wasn't one before either.

Radvendii

comment created time in 9 hours

Pull request review commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

+load(+    "@rules_haskell//haskell:defs.bzl",+    "haskell_library",+    "haskell_test",+)++load("@rules_haskell//haskell/experimental:defs.bzl", "haskell_module")++package(default_testonly = 1)++haskell_library(+    name = "TestLib",+    visibility = ["//visibility:public"],+    deps = [+        "//tests/hackage:base",+    ],+    modules = [+        "//tests/haskell_module/library:TestLibModule"

Good question. XD

Radvendii

comment created time in 9 hours

issue commentwaymonad/waymonad

Is the project abandoned?

If you have Nix just running nix-shell is optimal IMO.

Zuzuk-null

comment created time in 13 hours

issue commentwaymonad/waymonad

Is the project abandoned?

I know haskell, and I want to practice, but I do not know how I can help the project.

Try downloading the project, getting it to run (I recommend using one of the container options above), then go through and start documenting what each function does, starting from main. It would help anyone else just coming to this project and it might reveal what needs to be worked on.

Zuzuk-null

comment created time in 13 hours

issue closedtweag/rules_haskell

hie-bios status in rules_haskell

I have 2 questions mostly:

The doc says

To set this up you can define a `haskell_repl`_ target that
will collect the required compiler flags for your Haskell targets and pass them
to `hie-bios`_ which will then forward them to ghcide.

but I believe latest hie-bios needs additionnal flags aka the modules (if I trust this comment: https://github.com/digital-asset/ghcide/issues/679#issuecomment-652258071) does rules_haskell generate these too ? (doesn't seem like it in my test)

also I would like to install the hie-bios executable in my bazel repo (to be able to run hie-bios debug mostly). Is there a straightforward rules_haskell way ? or should I do it in my repo

cheers

closed time in 17 hours

teto

issue commenttweag/rules_haskell

hie-bios status in rules_haskell

latest hie-bios needs additionnal flags aka the modules

This was addressed by https://github.com/tweag/rules_haskell/pull/1389.

teto

comment created time in 17 hours

issue closedtweag/rules_haskell

have haskell_repl output absolute paths or paths relative to a different folder than the workspace one

Is your feature request related to a problem? Please describe. This may be more of a bazel issue: I would like bazel to write paths relative to a different folder than the workspace root.

Specifically, calling

	bazel build "//hie_bios" \
	--output_groups=hie_bios \
	--experimental_show_artifacts \

defined by

load("@rules_haskell//haskell:defs.bzl", "haskell_repl")

# See https://api.haskell.build/haskell/defs.html#haskell_repl
haskell_repl(
    name = "hie_bios",
    collect_data = False,
    deps = {deps},
    experimental_from_source = {deps},
    # Required because we might depend on tests, and bazel only allows
    # 'testonly' targets to depend on tests
    testonly = True,
)

returns

-package-db
bazel-out/k8-fastbuild/bin/external/hackage/lrucaching-0.3.3/_install/lrucaching-0.3.3.conf.d
-package-db
bazel-out/k8-fastbuild/bin/external/hackage/haskell-lexer-1.1/_install/haskell-lexer-1.1.conf.d
-package-db
bazel-out/k8-fastbuild/bin/external/hackage/pretty-show-1.10/_install/pretty-show-1.10.conf.d
-package-db
bazel-out/k8-fastbuild/bin/external/hackage/unbounded-delays-0.1.1.0/_install/unbounded-delays-0.1.1.0.conf.d
-package-db
bazel-out/k8-fastbuild/bin/external/hackage/wcwidth-0.0.2/_install/wcwidth-0.0.2.conf.d
-package-db
bazel-out/k8-fastbuild/bin/external/hackage/tasty-1.2.3/_install/tasty-1.2.3.conf.d
-package-db
bazel-out/k8-fastbuild/bin/external/hackage/tasty-hunit-0.10.0.2/_install/tasty-hunit-0.10.0.2.conf.d
-pgma
bazel-out/k8-fastbuild/bin/external/rules_haskell/haskell/cc_wrapper-python
-pgmc
bazel-out/k8-fastbuild/bin/external/rules_haskell/haskell/cc_wrapper-python
-pgml
bazel-out/k8-fastbuild/bin/external/rules_haskell/haskell/cc_wrapper-python
-pgmP
bazel-out/k8-fastbuild/bin/external/rules_haskell/haskell/cc_wrapper-python -E -undef -traditional
-optc-fno-stack-protector
-fdiagnostics-color=always
-freduction-depth=0
-fwrite-ide-info
...

that I save in a module.flags file.

I would like to prefix the paths bazel-out/k8-fastbuild/bin/external/rules_haskell/haskell/ with ../.. for instance to get ../../bazel-out/k8-fastbuild/bin/external/rules_haskell/haskell/ instead. Or alternativatel absolute paths should work too.

Additional context While trying to write a multicradle hie.yaml (see https://github.com/tweag/rules_haskell/issues/1386), I realized that local hie.yaml files override the hie.yaml in the parent directory (https://github.com/mpickering/hie-bios/issues/250#issuecomment-696797899). I liked the idea and went on with it so I have a: BAZEL_WORKSPACE/subproject/hie.yaml that reads flags from BAZEL_WORKSPACE/module.flags . The problem is ghcide interprets paths from the hie.yaml directory so it looks for BAZEL_WORKSPACE/subproject/bazel-out/k8-fastbuild/bin/external/hackage/lrucaching-0.3.3/_install/lrucaching-0.3.3.conf.d instead of BAZEL_WORKSPACE/bazel-out/k8-fastbuild/bin/external/hackage/lrucaching-0.3.3/_install/lrucaching-0.3.3.conf.d. I've tried adding symlinks to bazel-out in BAZEL_WORKSPACE/subproject and itkinda fixed it, only to create infinite loops later that confuse both bazel and ghcide.

closed time in 17 hours

teto

issue commenttweag/rules_haskell

have haskell_repl output absolute paths or paths relative to a different folder than the workspace one

This was addressed in https://github.com/tweag/rules_haskell/pull/1531. @teto feel free to re-open if you feel something is still missing.

teto

comment created time in 17 hours

issue commentwaymonad/waymonad

Is the project abandoned?

I know haskell, and I want to practice, but I do not know how I can help the project.

Zuzuk-null

comment created time in 18 hours

PR closed leanovate/play-mockws

Update mockito-core to 3.11.1

Updates org.mockito:mockito-core from 3.11.0 to 3.11.1.

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

<details> <summary>Ignore future updates</summary>

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "org.mockito", artifactId = "mockito-core" } ]

</details>

labels: test-library-update, semver-patch

+1 -1

1 comment

1 changed file

scala-steward

pr closed time in a day

pull request commentleanovate/play-mockws

Update mockito-core to 3.11.1

Superseded by #194.

scala-steward

comment created time in a day

PR opened leanovate/play-mockws

Update mockito-core to 3.11.2

Updates org.mockito:mockito-core from 3.11.0 to 3.11.2.

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

<details> <summary>Ignore future updates</summary>

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "org.mockito", artifactId = "mockito-core" } ]

</details>

labels: test-library-update, semver-patch

+1 -1

0 comment

1 changed file

pr created time in a day

Pull request review commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

+load("//haskell:private/pkg_id.bzl", "pkg_id")++def _package_name_out_transition_impl(settings, attr):+    package_name = getattr(attr, "package_name", None)+    version = getattr(attr, "version", None)+    # we don't have direct access to ctx.label here, so we've recreated it in+    # "attr.label". See //haskell:defs.bzl

Ah, yes, that's tricky. Sadly, I don't have a better idea how to deal with this either. Nice workaround!

Radvendii

comment created time in 2 days

Pull request review commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

 def link_library_dynamic(hs, cc, posix, dep_info, extra_srcs, objects_dir, my_pk      args = hs.actions.args()     args.add_all(["-optl" + f for f in cc.linker_flags])-    args.add_all(["-shared", "-dynamic"])+    args.add_all(["-shared", "-dynamic", "-fPIC"])

Is -fPIC needed on linking? IIRC GHC has some handling of these flags built-in, see this note.

Radvendii

comment created time in 2 days

Pull request review commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

 def haskell_library_impl(ctx):     exposed_modules_file = list_exposed_modules(         hs,         ls_modules = ctx.executable._ls_modules,+        modules = modules,         other_modules = other_modules,         exposed_modules_reexports = exposed_modules_reexports,         interfaces_dir = c.interfaces_dir,         with_profiling = with_profiling,     ) -    if srcs_files:+    if srcs_files or modules:

Perhaps this could be factored out into a variable, non_empty or something of that sort.

Radvendii

comment created time in 2 days

Pull request review commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

+load(+    "@rules_haskell//haskell:defs.bzl",+    "haskell_library",+    "haskell_test",+)++load("@rules_haskell//haskell/experimental:defs.bzl", "haskell_module")++package(default_testonly = 1)++haskell_library(+    name = "TestLib",+    visibility = ["//visibility:public"],+    deps = [+        "//tests/hackage:base",+    ],+    modules = [+        "//tests/haskell_module/library:TestLibModule"

Why not just :TestLibModule?

Radvendii

comment created time in 2 days

pull request commenttweag/rules_haskell

integrate haskell_module() dependencies into haskell_library() rule

^^Not sure if I'm doing this right, since it's still showing all of the changes in the diff, not just mine.

The "depends on" is correct, dpulls shows up in the list of checks. However, you also need to set the PR's base branch to that of #1553 so that the diff only shows the relative changes. (You can do that with the edit button next to the PR's title or when creating the PR.)

Radvendii

comment created time in 2 days

issue commentwaymonad/waymonad

Is the project abandoned?

I have a fork on https://github.com/L-as/waymonad that works with Nix if people want to contribute.

You can just run nix-shell then cabal repl and fix the issues you see. I think I've fixed all the dependency issues, next is making it type check since some of the dependencies have been incompatibly updated.

Zuzuk-null

comment created time in 3 days

PR closed leanovate/play-mockws

Update sbt-coveralls to 1.3.0

Updates org.scoverage:sbt-coveralls from 1.2.7 to 1.3.0. GitHub Release Notes - Version Diff

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

<details> <summary>Ignore future updates</summary>

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "org.scoverage", artifactId = "sbt-coveralls" } ]

</details>

labels: sbt-plugin-update, semver-minor

+1 -1

1 comment

1 changed file

scala-steward

pr closed time in 4 days

pull request commentleanovate/play-mockws

Update sbt-coveralls to 1.3.0

Superseded by #192.

scala-steward

comment created time in 4 days

PR opened leanovate/play-mockws

Update sbt-coveralls to 1.3.1

Updates org.scoverage:sbt-coveralls from 1.2.7 to 1.3.1. GitHub Release Notes - Version Diff

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

<details> <summary>Ignore future updates</summary>

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "org.scoverage", artifactId = "sbt-coveralls" } ]

</details>

labels: sbt-plugin-update, semver-minor

+1 -1

0 comment

1 changed file

pr created time in 4 days

PR opened tweag/rules_haskell

Reviewers
integrate haskell_module() dependencies into haskell_library() rule

Depends on #1553 ^^Not sure if I'm doing this right, since it's still showing all of the changes in the diff, not just mine.

Allows haskell_library() rules to depend on haskell_module()s through a new modules attribute.

+642 -24

0 comment

31 changed files

pr created time in 5 days