Package Details: bruno 2.0.1-1

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.45
First Submitted: 2023-10-09 08:44 (UTC)
Last Updated: 2025-03-31 13:53 (UTC)

Dependencies (6)

Required by (0)

Sources (2)

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

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.

vianney commented on 2024-10-10 09:38 (UTC) (edited on 2024-10-10 09:50 (UTC) by vianney)

@D3vil0p3r Did you edit the PKGBUILD? I just cloned the PKGBUILD in a chrooted environment and it built successfully.

edit: since you have a similar issue for the bruno-git PKGBUILD, not related to husky but to rollup for that one, I believe the issue is in your build process/environment: both husky and rollup are installed via npm in the node_modules/.bin/ folder, a path added to $PATH when invoked through the npm command. They should be available for every npm run ... command if the dependencies are correctly installed (done in the prepare function of the PKGBUILD). If you edited the PKGBUILD, make sure this is still done.

D3vil0p3r commented on 2024-10-09 18:52 (UTC)

Build fails:

Now using node v20.9.0 (npm v10.1.0)
Creating default alias: default -> v20.9.0
npm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info.

> prepare
> husky install

sh: line 1: husky: command not found
npm notice 
npm notice New minor version of npm available! 10.1.0 -> 10.9.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.0
npm notice Run npm install -g npm@10.9.0 to update!
npm notice 
npm ERR! code 127
npm ERR! path /tmp/makepkg/bruno/src/bruno-1.32.0
npm ERR! command failed
npm ERR! command sh -c husky install

npm ERR! A complete log of this run can be found in: /tmp/makepkg/bruno/src/npm-cache/_logs/2024-10-09T18_51_48_610Z-debug-0.log
==> ERROR: A failure occurred in prepare().
    Aborting...

vianney commented on 2024-08-28 07:27 (UTC) (edited on 2024-08-28 19:48 (UTC) by vianney)

Hi there,

For reason unknown, the package for version > 1.24 build correctly but bruno does not start correctly. Please kindly wait while I try to fix it on my free time.

Cheers


edit: Found the issue. It's been fixed.

vianney commented on 2024-07-25 08:48 (UTC) (edited on 2024-07-25 08:48 (UTC) by vianney)

Hi there,

I just updated to 1.22.0. Enjoy the updated electron dependency to electron31. No need anymore to fetch an old electron version from the AUR.

vianney commented on 2024-03-15 16:48 (UTC) (edited on 2024-08-28 19:46 (UTC) by vianney)

** On the reasons under the nvm makedepend.

From @lumac0:

Making nvm a required dependency is a little intrusive if the system is using a different version manager like asdf. Requiring a specific version of node (or just node) may simplify the build.

nvm (as a make dependency) is needed if we want to build bruno with the same node version used by the upstream, which is what's aimed here: same node version, same electron version, etc. This node version will never be used nor stored outside of the packaging directory (please see line 34 in the previous link) and therefore won't contaminate you host with unneeded nodejs versions.

You can find the .nvmrc in the upstream repository here and the requirement for the electron version there.

Please see the related documentation on archlinux's wiki on using nvm in packaging here.

For those interested, same thing about how to build against the system's electron here.

Please note that if you don't want the hassle of building this application, you can use the binary release from github directly from the PKGBUILD under the name bruno-bin.


edit: formatting then using this post to pin some information.