Package Details: bruno 1.34.2-2

Git Clone URL: https://aur.archlinux.org/bruno.git (read-only, click to copy)
Package Base: bruno
Description: Opensource API Client for Exploring and Testing APIs
Upstream URL: https://www.usebruno.com/
Licenses: MIT
Submitter: vianney
Maintainer: vianney
Last Packager: vianney
Votes: 9
Popularity: 0.53
First Submitted: 2023-10-09 08:44 (UTC)
Last Updated: 2024-11-15 13:49 (UTC)

Dependencies (6)

Required by (0)

Sources (2)

Pinned Comments

vianney commented on 2024-11-28 21:31 (UTC) (edited on 2024-12-17 20:29 (UTC) by vianney)

Hi there,

1.35.0 has been out there for a week and while an updated PKGBUILD builds, bruno only displays its error screen when I try to test it. I haven't found why yet.

I also have very limited time to work on this issue for now so if you're interested in the 1.35.0, do not hesitate to try and have a go at it.


edit: just tried with 1.36.1 and the issue persists.

Latest Comments

1 2 Next › Last »

vianney commented on 2024-12-17 20:28 (UTC)

Hi @nbari,

I usually use makepkg in a chroot environment to test PKGBUILD. Otherwise, the aur helper yay fits my needs and I do not test with other helpers (if the PKGBUILD best practices are followed it should be compatible with any tool you'd like anyway).

I did the exercise to build bruno in a clean chroot with pkgctl build to ensure I didn't miss a thing this time and I'm positive it builds correctly and no build dependency is missing.

My best guess is that some custom configuration you have on your host is messing with the build and sadly, I'm sorry to say I do not practice python enough to be able to help with your current issue.

nbari commented on 2024-12-10 08:01 (UTC) (edited on 2024-12-10 09:05 (UTC) by nbari)

Hi @vianney, I do have python-setuptools:

$ paru -Sy python-setuptools
:: Synchronizing package databases...
 core is up to date
 extra is up to date
warning: python-setuptools-1:75.2.0-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) python-setuptools-1:75.2.0-2

Total Installed Size:  7.99 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                                  [###################################] 100%
(1/1) checking package integrity                                [###################################] 100%
(1/1) loading package files                                     [###################################] 100%
(1/1) checking for file conflicts                               [###################################] 100%
(1/1) checking available disk space                             [###################################] 100%
:: Processing package changes...
(1/1) reinstalling python-setuptools                            [###################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

But I still get the error when doing: paru -Sy bruno can you please elaborate more about how to install it?

Using:

git clone https://aur.archlinux.org/bruno.git
ce bruno
makepkg -C:

Gives this error:

> build:electron:linux
> ./scripts/build-electron.sh linux

Building linux distribution

> bruno@v1.34.2 dist:linux
> electron-builder --linux --x64 --dir --config electron-builder-config.js -c.electronDist=/usr/lib/electron31 -c.electronVersion=31.7.6

  • electron-builder  version=25.1.8 os=6.12.4-arch1-1
  • loaded configuration  file=/tmp/bruno/src/bruno-1.34.2/packages/bruno-electron/electron-builder-config.js
  • writing effective config  file=out/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=31.7.6 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • preparing       moduleName=native-reg arch=x64
  ⨯ Traceback (most recent call last):
  File "/tmp/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
    ^^^^^^^^^^
  File "/tmp/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/tmp/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'
Error: `gyp` failed with exit code: 1
    at ChildProcess.onCpExit (/tmp/bruno/src/bruno-1.34.2/node_modules/node-gyp/lib/configure.js:325:16)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)


  ⨯ node-gyp failed to rebuild '/tmp/bruno/src/bruno-1.34.2/node_modules/native-reg'  failedTask=build stackTrace=Error: node-gyp failed to rebuild '/tmp/bruno/src/bruno-1.34.2/node_modules/native-reg'
    at ChildProcess.<anonymous> (/tmp/bruno/src/bruno-1.34.2/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:121:24)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm ERR! Lifecycle script `dist:linux` failed with error:
npm ERR! Error: command failed
npm ERR!   in workspace: bruno@v1.34.2
npm ERR!   at location: /tmp/bruno/src/bruno-1.34.2/packages/bruno-electron
==> ERROR: A failure occurred in build().
    Aborting...

Managed to make it work, I am using pyenv no idea why the python from my env is taken or affects makepkg I had to install setuptools via pip:

pip install setuptools

then paru -Sy bruno worked:

 paru -Si bruno
Repository      : aur
Name            : bruno
Version         : 1.34.2-2
Description     : Opensource API Client for Exploring and Testing APIs
URL             : https://www.usebruno.com/
AUR URL         : https://aur.archlinux.org/packages/bruno
Groups          : None
Licenses        : MIT
Provides        : None
Depends On      : electron31  alsa-lib
Make Deps       : nvm  asar  python-setuptools  python
Check Deps      : None
Optional Deps   : None
Conflicts With  : None
Maintainer      : vianney
Votes           : 9
Popularity      : 0.851133
First Submitted : Mon, 9 Oct 2023 10:44:19
Last Modified   : Fri, 15 Nov 2024 14:49:44
Out Of Date     : No

Any idea/tip for these cases where pyenv is used?

vianney commented on 2024-12-06 14:20 (UTC)

Hi @nbari, as @dbb wrote, distutils is released within the python-setuptools package. It's in the make dependencies so you should not have the issue.

nbari commented on 2024-12-05 10:44 (UTC)

I am having the same problem as described by @dbb, when trying to update using paru -Sy bruno, I get:

  Traceback (most recent call last):
  File "/home/nbari/.cache/paru/clone/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
    ^^^^^^^^^^
  File "/home/nbari/.cache/paru/clone/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/home/nbari/.cache/paru/clone/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'
Error: `gyp` failed with exit code: 1
    at ChildProcess.onCpExit (/home/nbari/.cache/paru/clone/bruno/src/bruno-1.34.2/node_modules/node-gyp/lib/configure.js:325:16)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)

Any idea how to fix it?

vianney commented on 2024-11-28 21:31 (UTC) (edited on 2024-12-17 20:29 (UTC) by vianney)

Hi there,

1.35.0 has been out there for a week and while an updated PKGBUILD builds, bruno only displays its error screen when I try to test it. I haven't found why yet.

I also have very limited time to work on this issue for now so if you're interested in the 1.35.0, do not hesitate to try and have a go at it.


edit: just tried with 1.36.1 and the issue persists.

codebling commented on 2024-11-15 16:44 (UTC)

@vianney doesn't seem to be that. Pikaur uses /usr/sbin/systemd-run --service-type=oneshot to run the build and is meant to be run as root every time. The permissions for the build cache are that of the temporary service user created by systemd-run. The dir permissions appear to be correct since they seem to work when I try the same copying the file through systemd-run using cp.

Thanks for the suggestion anyway. I don't need any help trying to fix this or find workaround, the goal of my comment was just to let other people know that makepkg works. Personally I have never seen Pikaur fail and makepkg work so I was not expecting this (usually, a Pikaur failure is due to a PKGBUILD problem). Anyway thanks for packaging this up for everyone

vianney commented on 2024-11-15 13:50 (UTC)

Hi @dbb, thanks for notifying me of this issue, it's now fixed.

@codebling, it's probably because of a wrong set of permission on a folder/a file in pikaur's cache. It could probably happen if you invoked it as root in the past I suppose. You should try emptying its cache and building it again.

dbb commented on 2024-11-15 13:26 (UTC)

tl;dr: Fails to build in a clean chroot. At least python-setuptools needs to be added to makedepends.

Initial failure in clean chroot is:

Building linux distribution

> bruno@v1.34.2 dist:linux
> electron-builder --linux --x64 --dir --config electron-builder-config.js -c.electronDist=/usr/lib/electron31 -c.electronVersion=31.7.3

  • electron-builder  version=25.1.8 os=6.11.7-arch1-1
  • loaded configuration  file=/build/bruno/src/bruno-1.34.2/packages/bruno-electron/electron-builder-config.js
  • executing @electron/rebuild  electronVersion=31.7.3 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • preparing       moduleName=native-reg arch=x64
  ⨯ Error: Could not find any Python installation to use
    at PythonFinder.fail (/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/lib/find-python.js:330:47)
    at PythonFinder.runChecks (/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/lib/find-python.js:159:21)
    at PythonFinder.<anonymous> (/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/lib/find-python.js:202:16)
    at PythonFinder.execFileCallback (/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/lib/find-python.js:294:16)
    at exithandler (node:child_process:430:5)
    at ChildProcess.errorhandler (node:child_process:442:5)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:292:12)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)


  ⨯ node-gyp failed to rebuild '/build/bruno/src/bruno-1.34.2/node_modules/native-reg'  failedTask=build stackTrace=Error: node-gyp failed to rebuild '/build/bruno/src/bruno-1.34.2/node_modules/native-reg'
    at ChildProcess.<anonymous> (/build/bruno/src/bruno-1.34.2/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:121:24)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm ERR! Lifecycle script `dist:linux` failed with error: 
npm ERR! Error: command failed 
npm ERR!   in workspace: bruno@v1.34.2 
npm ERR!   at location: /build/bruno/src/bruno-1.34.2/packages/bruno-electron 

Note Error: Could not find any Python installation to use. Adding python progresses the build but fails with:

Building linux distribution

> bruno@v1.34.2 dist:linux
> electron-builder --linux --x64 --dir --config electron-builder-config.js -c.electronDist=/usr/lib/electron31 -c.electronVersion=31.7.3

  • electron-builder  version=25.1.8 os=6.11.7-arch1-1
  • loaded configuration  file=/build/bruno/src/bruno-1.34.2/packages/bruno-electron/electron-builder-config.js
  • executing @electron/rebuild  electronVersion=31.7.3 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • preparing       moduleName=native-reg arch=x64
  ⨯ Traceback (most recent call last):
  File "/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
    ^^^^^^^^^^
  File "/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
    from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'
Error: `gyp` failed with exit code: 1
    at ChildProcess.onCpExit (/build/bruno/src/bruno-1.34.2/node_modules/node-gyp/lib/configure.js:325:16)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)


  ⨯ node-gyp failed to rebuild '/build/bruno/src/bruno-1.34.2/node_modules/native-reg'  failedTask=build stackTrace=Error: node-gyp failed to rebuild '/build/bruno/src/bruno-1.34.2/node_modules/native-reg'
    at ChildProcess.<anonymous> (/build/bruno/src/bruno-1.34.2/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:121:24)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm ERR! Lifecycle script `dist:linux` failed with error: 
npm ERR! Error: command failed 
npm ERR!   in workspace: bruno@v1.34.2 
npm ERR!   at location: /build/bruno/src/bruno-1.34.2/packages/bruno-electron 

Note ModuleNotFoundError: No module named 'distutils'. distutils was removed from Python 3.12 and is provided by the python-setuptools package. Adding this to makedepends gets the build to succeed.

So at least python-setuptools needs to be added to makedepends (which will implicitly bring in python) or both should be added to be explicit.

codebling commented on 2024-11-14 22:57 (UTC)

FYI anyone having issues installing the latest build with Pikaur (and possibly other AUR helpers?), you may have to build manually with makepkg (makepkg works).

> build:electron:linux
> ./scripts/build-electron.sh linux

Building linux distribution

> bruno@v1.34.2 dist:linux
> electron-builder --linux --x64 --dir --config electron-builder-config.js -c.electronDist=/usr/lib/electron31 -c.electronVersion=31.7.1

  • electron-builder  version=25.1.8 os=6.11.4-arch2-1
  • loaded configuration  file=/var/cache/private/pikaur/build/bruno/src/bruno-1.34.2/packages/bruno-electron/electron-builder-config.js
  • writing effective config  file=out/builder-effective-config.yaml
  • executing @electron/rebuild  electronVersion=31.7.1 arch=x64 buildFromSource=false appDir=./
  • installing native dependencies  arch=x64
  • preparing       moduleName=native-reg arch=x64
  • finished        moduleName=native-reg arch=x64
  • completed installing native dependencies
  • packaging       platform=linux arch=x64 electron=31.7.1 appOutDir=out/linux-unpacked
  • copying Electron  source=/usr/lib/electron31 destination=/var/cache/private/pikaur/build/bruno/src/bruno-1.34.2/packages/bruno-electron/out/linux-unpacked
  ⨯ EPERM: operation not permitted, copyfile '/usr/lib/electron31/chrome-sandbox' -> '/var/cache/private/pikaur/build/bruno/src/bruno-1.34.2/packages/bruno-electron/out/linux-unpacked/chrome-sandbox'  failedTask=build stackTrace=Error: EPERM: operation not permitted, copyfile '/usr/lib/electron31/chrome-sandbox' -> '/var/cache/private/pikaur/build/bruno/src/bruno-1.34.2/packages/bruno-electron/out/linux-unpacked/chrome-sandbox'
    at processImmediate (node:internal/timers:478:21)
From previous event:
    at walk (/var/cache/private/pikaur/build/bruno/src/bruno-1.34.2/node_modules/builder-util/src/fs.ts:77:51)

vianney commented on 2024-11-08 16:27 (UTC) (edited on 2024-11-14 21:15 (UTC) by vianney)

Just so you know this package isn't forgotten, when I try to build this, there is currently an electron issue where it complains about a missing dependency and I currently have no idea why it is missing.


edit: fixed.