profile
viewpoint
LoopPerfect LoopPerfect London, UK www.loopperfect.com C++ Dev Tools Company

LoopPerfect/buckaroo 739

The decentralized package manager for C++ and friends 🏝️

LoopPerfect/neither 226

Either and Maybe monads for better error-handling in C++ ↔️

LoopPerfect/rxterm 185

Functional reactive terminals in C++ ⚡⌨️

LoopPerfect/conduit 126

High Performance Streams Based on Coroutine TS ⚡

LoopPerfect/valuable 117

A C++ smart-pointer with value-semantics 💎

LoopPerfect/smallfunction 42

Stack allocated and type-erased functors 🐜

LoopPerfect/boids 17

C++ boids simulation - Jyt hot-reload playground

LoopPerfect/mixor 16

functional template library

LoopPerfect/satori 14

An HTTP server library in C++

LoopPerfect/buckaroo-wishlist 9

Meta repo for Buckaroo package requests ✨

startedLoopPerfect/buckaroo

started time in 2 days

startedLoopPerfect/buckaroo

started time in 3 days

startedLoopPerfect/buckaroo

started time in 3 days

startedLoopPerfect/buckaroo

started time in 4 days

startedLoopPerfect/rxterm

started time in 5 days

startedLoopPerfect/buckaroo

started time in 7 days

startedLoopPerfect/buckaroo

started time in 7 days

startedLoopPerfect/buckaroo

started time in 12 days

startedLoopPerfect/buckaroo

started time in 14 days

startedLoopPerfect/buckaroo

started time in 15 days

fork triangle-soup/neither

Either and Maybe monads for better error-handling in C++ ↔️

fork in 17 days

startedLoopPerfect/neither

started time in 17 days

startedLoopPerfect/buckaroo

started time in 19 days

startedLoopPerfect/neither

started time in 22 days

fork EricGebhart/conduit

High Performance Streams Based on Coroutine TS ⚡

fork in 24 days

startedLoopPerfect/buckaroo

started time in 25 days

startedLoopPerfect/conduit

started time in a month

startedLoopPerfect/buckaroo

started time in a month

issue commentLoopPerfect/buckaroo

buck run :app is not working as it should. When I run the command (after quickstart) parsing of buck files and building is successful. But after that instead of showing the output it shows "file not found : link"

thanks. My guess is it cant find your linker. If I recall correctly the linker under windows is just called "link". I'd suggest you open an issue https://github.com/facebuck/buck

AyusDas

comment created time in a month

issue commentLoopPerfect/buckaroo

buck run :app is not working as it should. When I run the command (after quickstart) parsing of buck files and building is successful. But after that instead of showing the output it shows "file not found : link"

Not able to reproduce, can we have more info about your system? - eg.:

  • OS
  • buck version
  • how did you install buck
  • jvm version

I suspect that this is an issue with your buck installation

AyusDas

comment created time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/rxterm

started time in a month

startedLoopPerfect/neither

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/conduit

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in a month

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/rxterm

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/neither

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/conduit

started time in 2 months

startedLoopPerfect/neither

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

push eventLoopPerfect/buckaroo

Gaetano Checinski

commit sha 184d78cc345704b0c70928ea2826a0079ae7fe31

remove ssh prefix and update nuget.config

view details

Gaetano Checinski

commit sha 6e7ff66196d3bd6c4022cac8d544fea35e191b40

Merge pull request #365 from LoopPerfect/fix/ssh remove ssh prefix and update nuget.config

view details

Gaetano Checinski

commit sha 1718925c188042c5a0ff11cc374f4d9e4a769125

Merge branch 'master' into feat/multi-manifest

view details

push time in 2 months

push eventLoopPerfect/buckaroo

Gaetano Checinski

commit sha 57c0b9ec16be2ae2aeed41ab521fbf992b8d91b7

adds manifestType

view details

push time in 2 months

create barnchLoopPerfect/buckaroo

branch : feat/multi-manifest

created branch time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/smallfunction

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

fork sprusia/neither

Either and Maybe monads for better error-handling in C++ ↔️

fork in 2 months

startedLoopPerfect/rxterm

started time in 2 months

startedLoopPerfect/neither

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/rxterm

started time in 2 months

startedLoopPerfect/rxterm

started time in 2 months

issue commentLoopPerfect/buckaroo

Loading macros from buckaroo dependencies

I've given this some thought and I don't think this is possible. I am by no means an expert on Bazel so take this with a grain of salt. I would personally open a feature request and discuss this with the Bazel team. In you current stage, do you simply have the required version hardcoded in the load statement?

roey-e

comment created time in 2 months

issue commentLoopPerfect/buckaroo

Loading macros from buckaroo dependencies

@errangutan

I'm not getting something. The package which contains buckaroo_setup is generated? Who generates it?

Buckaroo is a tool that fetches packages containing Buck or Bazel projects. It downloads them to a folder local to the project (a bit like node_modules) and also generates a set of macros for the user to use in their own BUILD files. Buckaroo solves the transitive workspace dependency problem for Bazel.

Buckaroo packages are usually identified by a name like github.com/someorg/someproject. However, it is possible to depend on two different versions of one package, so the workspace names, which must be globally unique to satisfy Bazel, have a hash appended like this:

package name                      ->    workspace name
github.com/someorg/someproject    ->    github_someorg_someproject_aabbccdd

The challenge now is that the user wants to load a macro from a package. We can get the workspace name using a function generated by Buckaroo:

load("//buckaroo:defs.bzl", "buckaroo_workspace")

someproject_workspace = buckaroo_workspace("github.com/someorg/someproject") 

someproject_workspace # github_someorg_someproject_aabbccdd

But we cannot use this variable in a load:

# Not allowed
load(someproject_workspace, "my_macro")

Perhaps you can give some insight into how we can achieve this in Bazel?

roey-e

comment created time in 2 months

startedLoopPerfect/rxterm

started time in 2 months

startedLoopPerfect/rxterm

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

issue commentLoopPerfect/buckaroo

Loading macros from buckaroo dependencies

I'm not getting something. The package which contains buckaroo_setup is generated? Who generates it?

roey-e

comment created time in 2 months

startedLoopPerfect/rxterm

started time in 2 months

issue commentLoopPerfect/buckaroo

Loading macros from buckaroo dependencies

According to the Bazel docs:

Arguments must be string literals (no variable) and load statements must appear at top-level, i.e. they cannot be in a function body.

So we cannot use function outputs or variables in a load.

The reason the actual workspace name has a weird hash appended is to ensure that even when there are two different versions of the same package somewhere in the resolution tree there is not a name collision.

I will have to think further about how this might work.

roey-e

comment created time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/mixor

started time in 2 months

startedLoopPerfect/smallfunction

started time in 2 months

startedLoopPerfect/conduit

started time in 2 months

startedLoopPerfect/neither

started time in 2 months

IssuesEvent

issue commentLoopPerfect/buckaroo

Loading macros from buckaroo dependencies

hmm i'm pretty sure that worked in the past. I'll try to reproduce this on my machine later.. @njlr do you think there was a breaking API change in Buck or Buckaroo?

roey-e

comment created time in 2 months

issue commentLoopPerfect/buckaroo

No usable version of libssl found

I made a new project using buckaroo quickstart and am having the same problem. buckaroo.toml is empty

joe-sonrichard

comment created time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/buckaroo

started time in 2 months

startedLoopPerfect/neither

started time in 2 months

issue openedLoopPerfect/buckaroo

Loading macros from buckaroo dependencies

<!--- Provide a general summary of the issue in the Title above -->

Description

<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug --> My goal is to use macros defined in a dependency's "bzl" file. This is even more useful when using Bazel, as Bazel provides custom rules in addition to macros.

From my understanding, labels of buckaroo cells should be use with the buckaroo macros and not written explicitly.

protobuf_cell = buckaroo_cell('github.com/roey-e/protobuf')  # buckaroo.github.roey-e.protobuf

In Bazel mode, some hash is added to the workspaces' names. This makes the use of the macros mandatory.

def buckaroo_setup():
  native.local_repository(
    name = "buckaroo_github_com_roey_e_protobuf_a367be9a",  # Can't guess the repo name
    path = "buckaroo/github/roey-e/protobuf"
  )

def buckaroo_workspace(package_name):
  if package_name == "github.com/roey-e/protobuf":
    return "@buckaroo_github_com_roey_e_protobuf_a367be9a"

  fail(package_name + " is not a recognized package")

The problem here is that the load statement in Buck and in Bazel accept string literal only.

Examples: In Buck:

load('//:buckaroo_macros.bzl', 'buckaroo_cell')

# The cell name of the Protobuf package
protobuf_cell = buckaroo_cell('github.com/roey-e/protobuf')

load(protobuf_cell+'//:buck_protobuf.bzl', 'proto_gen')

In Bazel:

load("//buckaroo:defs.bzl", "buckaroo_workspace")

protobuf_workspace = buckaroo_workspace("github.com/roey-e/protobuf")

load(protobuf_workspace + '//:protobuf.bzl', 'proto_gen')

Expected Behavior

<!--- Tell us what should happen --> Is there a proper way for loading macros with Buckaroo? How can I make it work?

Actual Behavior

<!--- Tell us what happens instead --> In Buck:

Starting new Buck daemon...
Buck daemon started.
Using additional configuration options from .buckconfig.d/.buckconfig.buckaroo
ERROR: /home/roey/git/nanopb/generator/BUCK:6:6: syntax error at 'protobuf_cell': expected string literal
Cannot parse /home/roey/git/nanopb/generator/BUCK.  It was referenced from //generator:BUCK

In Bazel:

ERROR: /home/roey/git/nanopb/examples/simple/BUILD:5:6: in load statement: empty package-relative label
ERROR: Skipping '//examples/simple:protobuf_workspace': error loading package 'examples/simple': malformed load statements
WARNING: Target pattern parsing failed.
ERROR: error loading package 'examples/simple': malformed load statements
INFO: Elapsed time: 0.222s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded)

Context

<!--- How has this bug affected you? What were you trying to accomplish? --> Specifically, I'm trying to use protobuf's "proto_gen" rule/macro.

Your Environment

<!--- Include as many relevant details about the environment you experienced the bug in -->

  • Version used: Buckaroo 3.0.1; Buck version dfd6587a6290c638bac2e5e8e1c0e1d25baf2632; Bazel version 3.0.0
  • Operating System and Architecture: WSL 1's Ubuntu 18.04 on top of Windows 10 1909, intel

created time in 3 months

issue closedLoopPerfect/buckaroo

How to add specific version on a specific branch of git repo?

How are you supposed to buckaroo add a certain commit version of a github package? The [@<version>] just doesn't work, except when the [@<version>] is a tag.

So, here's an example: $ buckaroo add github.com/SFML/SFML@50e173e403ef8912e3d8ac3c7ab3e27e32243339 Error in Ln: 1 Col: 28 add github.com/SFML/SFML@50e173e403ef8912e3d8ac3c7ab3e27e32243339                                                ^ Expecting: decimal digit, end of input, whitespace, '--cache-first', '--verbose' or '.'

This is the commit: https://github.com/SFML/SFML/commit/50e173e403ef8912e3d8ac3c7ab3e27e32243339

As of right now, this is completely unusable.

Arch Linux 5.6.3-arch1-1

closed time in 3 months

SeanRamey

issue closedLoopPerfect/buckaroo

installing a package

Installed buckaroo and was now in the process of installing a package but it just show this weird error below.

Error in Ln: 1 Col: 9 install ericniebler/range-v3 ^ Expecting: end of input, '--cache-first' or '--verbose'

I have everything installed. My OS is Deepin and the default python system version is 2.7 but i also have 3 installed. should i change the python version to make it work or???????

closed time in 3 months

jim4067

issue closedLoopPerfect/buckaroo

No usable version of libssl found

<!--- Provide a general summary of the issue in the Title above -->

Description

<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug --> I'm trying to start using this but I can't add a dependency because no usable version of libssl found.

Expected Behavior

<!--- Tell us what should happen --> As a "standalone executable" it would work on a typical ubuntu system.

Actual Behavior

<!--- Tell us what happens instead --> Returned error: No usable version of the libssl was found

Steps to Reproduce

<!--- Provide a link to a live example, or an unambiguous set of steps to --> <!--- reproduce this bug. Include code to reproduce, if relevant -->

  1. buckaroo init
  2. buckaroo add buckaroo add github.com/wxWidgets/wxWidgets@tag=v2.8.12

image

Context

<!--- How has this bug affected you? What were you trying to accomplish? --> I am trying to take an old cmake project out of the stone age but I couldn't get dependencies to resolve on Windows (I may log a bug for that later) and I can't seem to get it to work on my linux system either.

Your Environment

<!--- Include as many relevant details about the environment you experienced the bug in -->

  • Version used: 2.2.0
  • Operating System and Architecture: Ubuntu 19.10, x64

closed time in 3 months

joe-sonrichard

fork bernd5/buckaroo

The decentralized package manager for C++ and friends 🏝️

https://buckaroo.pm

fork in 3 months

fork asdbaihu/rxterm

Functional reactive terminals in C++ ⚡⌨️

fork in 3 months

issue commentLoopPerfect/buckaroo

installing a package

Hey thanks for taking Buckaroo for a spin! packages are added via the add command followed by a URI eg.:

buckaroo add github.com/buckaroo-pm/ericniebler-range-v3@branch=master

Python is not used by buckaroo but might be needed by one of the dependencies.

jim4067

comment created time in 3 months

issue commentLoopPerfect/buckaroo

add support for git sparse-checkout

This is how one can initialize a git repository and fetch just a subset of files:

git clone only one folder:
git init
git remote add origin $GIT_URL
git checkout -b master
git config core.sparsecheckout true
echo include/* >> .git/info/sparse-checkout #pattern 
git pull origin master --depth=N  # branch which you want to pull
nikhedonia

comment created time in 3 months

issue openedLoopPerfect/buckaroo

installing a package

Installed buckaroo and was now in the process of installing a package but it just show this weird error below.

Error in Ln: 1 Col: 9 install ericniebler/range-v3 ^ Expecting: end of input, '--cache-first' or '--verbose'

I have everything installed. My OS is Deepin and the default python system version is 2.7 but i also have 3 installed. should i change the python version to make it work or???????

created time in 3 months

issue commentLoopPerfect/buckaroo

No usable version of libssl found

Nevermind, I don't know what happened but it seems to work fine now.

joe-sonrichard

comment created time in 3 months

startedLoopPerfect/neither

started time in 3 months

startedLoopPerfect/valuable

started time in 3 months

more