Bug 265892 - [NEW PORT] editors/lapce: Lightning-fast and Powerful Code Editor [HELP NEEDED]
Summary: [NEW PORT] editors/lapce: Lightning-fast and Powerful Code Editor [HELP NEEDED]
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Nuno Teixeira
URL: https://github.com/lapce/lapce/issues...
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2022-08-16 23:11 UTC by Nuno Teixeira
Modified: 2022-09-05 12:08 UTC (History)
3 users (show)

See Also:


Attachments
v1 - missing dependency? (111.38 KB, patch)
2022-08-16 23:11 UTC, Nuno Teixeira
no flags Details | Diff
v2 - add gmake (111.52 KB, patch)
2022-08-18 10:17 UTC, Nuno Teixeira
no flags Details | Diff
lapce-255310e-g20220821 (114.82 KB, patch)
2022-08-21 10:30 UTC, Nuno Teixeira
no flags Details | Diff
v0 (128.72 KB, patch)
2022-08-22 13:55 UTC, Mikael Urankar
no flags Details | Diff
lapce-255310e-g20220821_1 (128.93 KB, patch)
2022-08-23 08:17 UTC, Nuno Teixeira
no flags Details | Diff
lapce-255310e-g20220821_2 (128.84 KB, patch)
2022-08-23 09:33 UTC, Nuno Teixeira
no flags Details | Diff
lapce-g20220823 (127.03 KB, patch)
2022-08-24 12:24 UTC, Nuno Teixeira
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nuno Teixeira freebsd_committer freebsd_triage 2022-08-16 23:11:00 UTC
Created attachment 235954 [details]
v1 - missing dependency?

build log at:
https://people.freebsd.org/~eduardo/logs/lapce/

comments on Makefile
Comment 1 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-16 23:44:52 UTC
(...)
https://github.com/lapce/lapce/issues/967
Comment 2 Mark Millard 2022-08-17 01:17:16 UTC
(In reply to Nuno Teixeira from comment #0)

I'm not rust literate, but looking I find the following potential
examples of handling openssl in a rust-based port:

# grep -i openssl `find /usr/ports/ -name 'Makefile' -exec grep -q CARGO_CRATES= {} \; -print` | more
/usr/ports/net-mgmt/bandwhich/Makefile:         openssl-0.10.30 \
/usr/ports/net-mgmt/bandwhich/Makefile:         openssl-probe-0.1.2 \
/usr/ports/net-mgmt/bandwhich/Makefile:         openssl-sys-0.9.58 \
/usr/ports/devel/cargo-c/Makefile:              openssl-0.10.38 \
/usr/ports/devel/cargo-c/Makefile:              openssl-probe-0.1.5 \
/usr/ports/devel/cargo-c/Makefile:              openssl-src-111.17.0+1.1.1m \
/usr/ports/devel/cargo-c/Makefile:              openssl-sys-0.9.72 \
/usr/ports/devel/gbump/Makefile:                openssl-probe-0.1.2 \
/usr/ports/devel/gbump/Makefile:                openssl-sys-0.9.52 \
/usr/ports/devel/gitui/Makefile:                openssl-probe-0.1.5 \
/usr/ports/devel/gitui/Makefile:                openssl-src-111.17.0+1.1.1m \
/usr/ports/devel/gitui/Makefile:                openssl-sys-0.9.72 \
/usr/ports/devel/wrangler/Makefile:             openssl-0.10.38 \
/usr/ports/devel/wrangler/Makefile:             openssl-probe-0.1.5 \
/usr/ports/devel/wrangler/Makefile:             openssl-src-111.18.0+1.1.1n \
/usr/ports/devel/wrangler/Makefile:             openssl-sys-0.9.72 \
/usr/ports/devel/wrangler/Makefile:CARGO_FEATURES=      --no-default-features sys-openssl
/usr/ports/devel/cargo-generate/Makefile:               openssl-0.10.38 \
/usr/ports/devel/cargo-generate/Makefile:               openssl-probe-0.1.5 \
/usr/ports/devel/cargo-generate/Makefile:               openssl-src-111.18.0+1.1.1n \
/usr/ports/devel/cargo-generate/Makefile:               openssl-sys-0.9.72 \
/usr/ports/devel/sentry-cli/Makefile:           openssl-probe-0.1.4 \
/usr/ports/devel/sentry-cli/Makefile:           openssl-sys-0.9.67 \
/usr/ports/devel/pijul/Makefile:                openssl-0.10.38 \
/usr/ports/devel/pijul/Makefile:                openssl-probe-0.1.5 \
/usr/ports/devel/pijul/Makefile:                openssl-sys-0.9.72 \
/usr/ports/devel/sccache/Makefile:              openssl-0.10.32 \
/usr/ports/devel/sccache/Makefile:              openssl-probe-0.1.2 \
/usr/ports/devel/sccache/Makefile:              openssl-sys-0.9.60 \
/usr/ports/x11/wezterm/Makefile:                openssl-0.10.38 \
/usr/ports/x11/wezterm/Makefile:                openssl-probe-0.1.5 \
/usr/ports/x11/wezterm/Makefile:                openssl-src-300.0.7+3.0.3 \
/usr/ports/x11/wezterm/Makefile:                openssl-sys-0.9.71 \
/usr/ports/sysutils/rsfetch/Makefile:           openssl-0.10.28 \
/usr/ports/sysutils/rsfetch/Makefile:           openssl-probe-0.1.2 \
/usr/ports/sysutils/rsfetch/Makefile:           openssl-sys-0.9.54 \
/usr/ports/sysutils/handlr/Makefile:            openssl-0.10.38 \
/usr/ports/sysutils/handlr/Makefile:            openssl-probe-0.1.5 \
/usr/ports/sysutils/handlr/Makefile:            openssl-sys-0.9.72 \
/usr/ports/sysutils/flowgger/Makefile:          openssl-0.10.28 \
/usr/ports/sysutils/flowgger/Makefile:          openssl-sys-0.9.54 \
/usr/ports/sysutils/zellij/Makefile:            openssl-sys-0.9.74 \
/usr/ports/sysutils/tealdeer/Makefile:          openssl-probe-0.1.4 \
/usr/ports/sysutils/vector/Makefile:            hyper-openssl-0.8.0 \
/usr/ports/sysutils/vector/Makefile:            openssl-0.10.30 \
/usr/ports/sysutils/vector/Makefile:            openssl-probe-0.1.2 \
/usr/ports/sysutils/vector/Makefile:            openssl-src-111.9.0+1.1.1g \
/usr/ports/sysutils/vector/Makefile:            openssl-sys-0.9.58 \
/usr/ports/sysutils/vector/Makefile:            tokio-openssl-0.3.0 \
/usr/ports/sysutils/vector/Makefile:            tokio-openssl-0.4.0 \
/usr/ports/sysutils/exa/Makefile:               openssl-src-111.15.0+1.1.1k \
/usr/ports/sysutils/exa/Makefile:               openssl-sys-0.9.61 \
/usr/ports/net-im/libsignal-node/Makefile:              openssl-0.10.38 \
/usr/ports/net-im/libsignal-node/Makefile:              openssl-sys-0.9.72 \
/usr/ports/net-im/libsignal-client/Makefile:            openssl-0.10.32 \
/usr/ports/net-im/libsignal-client/Makefile:            openssl-sys-0.9.60 \
/usr/ports/net-im/libsignal-client/Makefile:                    OPENSSL_INCLUDE_DIR=${OPENSSLINC} \
/usr/ports/net-im/libsignal-client/Makefile:                    OPENSSL_LIB_DIR=${OPENSSLLIB} \
/usr/ports/net-im/conduit/Makefile:             openssl-probe-0.1.5 \
/usr/ports/dns/dog/Makefile:            openssl-0.10.30 \
/usr/ports/dns/dog/Makefile:            openssl-probe-0.1.2 \
/usr/ports/dns/dog/Makefile:            openssl-sys-0.9.58 \
/usr/ports/finance/tickrs/Makefile:             openssl-probe-0.1.2 \
/usr/ports/finance/tickrs/Makefile:             openssl-sys-0.9.60 \
/usr/ports/multimedia/gstreamer1-plugins-rust/Makefile:         openssl-0.10.36 \
/usr/ports/multimedia/gstreamer1-plugins-rust/Makefile:         openssl-probe-0.1.4 \
/usr/ports/multimedia/gstreamer1-plugins-rust/Makefile:         openssl-sys-0.9.66 \
/usr/ports/ports-mgmt/sccache-overlay/Makefile:         openssl-0.10.32 \
/usr/ports/ports-mgmt/sccache-overlay/Makefile:         openssl-probe-0.1.2 \
/usr/ports/ports-mgmt/sccache-overlay/Makefile:         openssl-sys-0.9.60 \
/usr/ports/net/routinator/Makefile:             openssl-0.10.38 \
/usr/ports/net/routinator/Makefile:             openssl-probe-0.1.5 \
/usr/ports/net/routinator/Makefile:             openssl-sys-0.9.72 \
/usr/ports/net/oha/Makefile:            openssl-0.10.38 \
/usr/ports/net/oha/Makefile:            openssl-probe-0.1.5 \
/usr/ports/net/oha/Makefile:            openssl-sys-0.9.72 \
/usr/ports/net/krill/Makefile:          openssl-0.10.38 \
/usr/ports/net/krill/Makefile:          openssl-probe-0.1.5 \
/usr/ports/net/krill/Makefile:          openssl-src-111.17.0+1.1.1m \
/usr/ports/net/krill/Makefile:          openssl-sys-0.9.72 \
/usr/ports/net/findomain/Makefile:              openssl-0.10.35 \
/usr/ports/net/findomain/Makefile:              openssl-probe-0.1.4 \
/usr/ports/net/findomain/Makefile:              openssl-sys-0.9.65 \
/usr/ports/net/proby/Makefile:          openssl-probe-0.1.2 \
/usr/ports/net/proby/Makefile:          openssl-sys-0.9.58 \
/usr/ports/net/gemserv/Makefile:                openssl-0.10.32 \
/usr/ports/net/gemserv/Makefile:                tokio-openssl-0.4.0 \
/usr/ports/net/gemserv/Makefile:                openssl-sys-0.9.61 \
/usr/ports/textproc/mdbook-linkcheck/Makefile:          openssl-0.10.38 \
/usr/ports/textproc/mdbook-linkcheck/Makefile:          openssl-probe-0.1.4 \
/usr/ports/textproc/mdbook-linkcheck/Makefile:          openssl-src-300.0.2+3.0.0 \
/usr/ports/textproc/mdbook-linkcheck/Makefile:          openssl-sys-0.9.70 \
/usr/ports/www/garage/Makefile:         openssl-0.10.38 \
/usr/ports/www/garage/Makefile:         openssl-probe-0.1.5 \
/usr/ports/www/garage/Makefile:         openssl-src-111.18.0+1.1.1n \
/usr/ports/www/garage/Makefile:         openssl-sys-0.9.72 \
/usr/ports/www/websocat/Makefile:               openssl-0.10.40 \
/usr/ports/www/websocat/Makefile:               openssl-macros-0.1.0 \
/usr/ports/www/websocat/Makefile:               openssl-probe-0.1.5 \
/usr/ports/www/websocat/Makefile:               openssl-src-111.18.0+1.1.1n \
/usr/ports/www/websocat/Makefile:               openssl-sys-0.9.73 \
/usr/ports/www/rearx/Makefile:          openssl-0.10.32 \
/usr/ports/www/rearx/Makefile:          openssl-probe-0.1.2 \
/usr/ports/www/rearx/Makefile:          openssl-sys-0.9.60 \
/usr/ports/www/castor/Makefile:         openssl-0.10.30 \
/usr/ports/www/castor/Makefile:         openssl-probe-0.1.2 \
/usr/ports/www/castor/Makefile:         openssl-sys-0.9.58 \
/usr/ports/www/deno/Makefile:           openssl-probe-0.1.5 \
/usr/ports/www/ffsend/Makefile:         openssl-0.10.36 \
/usr/ports/www/ffsend/Makefile:         openssl-probe-0.1.4 \
/usr/ports/www/ffsend/Makefile:         openssl-sys-0.9.67 \
/usr/ports/www/zola/Makefile:           openssl-0.10.38 \
/usr/ports/www/zola/Makefile:           openssl-probe-0.1.5 \
/usr/ports/www/zola/Makefile:           openssl-sys-0.9.72 \
/usr/ports/www/xh/Makefile:             openssl-0.10.36 \
/usr/ports/www/xh/Makefile:             openssl-probe-0.1.4 \
/usr/ports/www/xh/Makefile:             openssl-sys-0.9.66 \
/usr/ports/www/monolith/Makefile:               openssl-0.10.35 \
/usr/ports/www/monolith/Makefile:               openssl-probe-0.1.4 \
/usr/ports/www/monolith/Makefile:               openssl-sys-0.9.65 \
/usr/ports/www/lychee/Makefile:         openssl-0.10.33 \
/usr/ports/www/lychee/Makefile:         openssl-probe-0.1.2 \
/usr/ports/www/lychee/Makefile:         openssl-sys-0.9.63 \
/usr/ports/audio/spotifyd/Makefile:             openssl-0.10.35 \
/usr/ports/audio/spotifyd/Makefile:             openssl-probe-0.1.2 \
/usr/ports/audio/spotifyd/Makefile:             openssl-sys-0.9.65 \
/usr/ports/audio/shortwave/Makefile:            openssl-0.10.33 \
/usr/ports/audio/shortwave/Makefile:            openssl-probe-0.1.2 \
/usr/ports/audio/shortwave/Makefile:            openssl-sys-0.9.61 \
/usr/ports/audio/shortwave/Makefile:    @${REINPLACE_CMD} -e '/dependency.*openssl/d' \
/usr/ports/audio/lewton/Makefile:               openssl-probe-0.1.2 \
/usr/ports/audio/lewton/Makefile:               openssl-sys-0.9.54 \
/usr/ports/audio/spotify-tui/Makefile:          openssl-0.10.30 \
/usr/ports/audio/spotify-tui/Makefile:          openssl-probe-0.1.2 \
/usr/ports/audio/spotify-tui/Makefile:          openssl-sys-0.9.58 \
/usr/ports/audio/ncspot/Makefile:               openssl-0.10.38 \
/usr/ports/audio/ncspot/Makefile:               openssl-probe-0.1.5 \
/usr/ports/audio/ncspot/Makefile:               openssl-sys-0.9.72 \
/usr/ports/audio/gnome-podcasts/Makefile:               openssl-0.10.38 \
/usr/ports/audio/gnome-podcasts/Makefile:               openssl-probe-0.1.4 \
/usr/ports/audio/gnome-podcasts/Makefile:               openssl-sys-0.9.72 \
/usr/ports/audio/gnome-podcasts/Makefile:       @${REINPLACE_CMD} -e '/dependency.*openssl/d' \
/usr/ports/security/cargo-audit/Makefile:               openssl-0.10.40 \
/usr/ports/security/cargo-audit/Makefile:               openssl-macros-0.1.0 \
/usr/ports/security/cargo-audit/Makefile:               openssl-probe-0.1.5 \
/usr/ports/security/cargo-audit/Makefile:               openssl-src-111.20.0+1.1.1o \
/usr/ports/security/cargo-audit/Makefile:               openssl-sys-0.9.73 \
/usr/ports/security/authenticator/Makefile:             openssl-probe-0.1.2 \
/usr/ports/security/authenticator/Makefile:             openssl-sys-0.9.61 \
/usr/ports/security/solana/Makefile:            openssl-0.10.38 \
/usr/ports/security/solana/Makefile:            openssl-probe-0.1.4 \
/usr/ports/security/solana/Makefile:            openssl-src-300.0.4+3.0.1 \
/usr/ports/security/solana/Makefile:            openssl-sys-0.9.70 \
/usr/ports/security/solana/Makefile:MAKE_ENV=   ${XARCH}_UNKNOWN_FREEBSD_OPENSSL_INCLUDE_DIR=${OPENSSLINC} \
/usr/ports/security/solana/Makefile:            ${XARCH}_UNKNOWN_FREEBSD_OPENSSL_LIB_DIR=${OPENSSLLIB}
/usr/ports/security/sequoia/Makefile:           openssl-0.10.30 \
/usr/ports/security/sequoia/Makefile:           openssl-probe-0.1.2 \
/usr/ports/security/sequoia/Makefile:           openssl-sys-0.9.58 \
/usr/ports/security/arti/Makefile:              openssl-0.10.40 \
/usr/ports/security/arti/Makefile:              openssl-macros-0.1.0 \
/usr/ports/security/arti/Makefile:              openssl-probe-0.1.5 \
/usr/ports/security/arti/Makefile:              openssl-src-111.20.0+1.1.1o \
/usr/ports/security/arti/Makefile:              openssl-sys-0.9.73 \
/usr/ports/security/vaultwarden/Makefile:CARGO_FEATURES=        postgresql sqlite mysql #vendored_openssl
/usr/ports/security/vaultwarden/Makefile:                openssl-0.10.40 \
/usr/ports/security/vaultwarden/Makefile:                openssl-macros-0.1.0 \
/usr/ports/security/vaultwarden/Makefile:                openssl-probe-0.1.5 \
/usr/ports/security/vaultwarden/Makefile:                openssl-src-111.18.0+1.1.1n \
/usr/ports/security/vaultwarden/Makefile:                openssl-sys-0.9.73 \
/usr/ports/security/acmed/Makefile:CARGO_FEATURES=      openssl_dyn
/usr/ports/security/acmed/Makefile:             openssl-0.10.38 \
/usr/ports/security/acmed/Makefile:             openssl-probe-0.1.4 \
/usr/ports/security/acmed/Makefile:             openssl-src-300.0.2+3.0.0 \
/usr/ports/security/acmed/Makefile:             openssl-sys-0.9.71 \
/usr/ports/games/veloren/Makefile:              openssl-probe-0.1.4 \
/usr/ports/games/anki/Makefile:         openssl-0.10.35 \
/usr/ports/games/anki/Makefile:         openssl-probe-0.1.4 \
/usr/ports/games/anki/Makefile:         openssl-sys-0.9.65 \
Comment 3 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-17 23:10:30 UTC
(In reply to Mark Millard from comment #2)

Hi Mark!

Thanks for send me examples and I did look at a couple more of ports but still no success.
The main problem here is that I can't debug and understand the error log. So every try I do is a shot in the dark.

I will continue to try and follow lastest upstream commits until I figure out the problem.

Cheers
Comment 4 Mark Millard 2022-08-17 23:52:41 UTC
(In reply to Nuno Teixeira from comment #3)

I'll note that your log reports:

error: failed to run custom build command for `openssl-sys v0.9.75`

but none of the examples that my scan listed a reference to 0.9.75 .

May be stick to the same as in an example that manages to build
on the FreeBSD build servers? (It is possible to look at the logs
for recent builds by those build servers.)

(Again, I'm not literate in the use of rust so I'd  not know if my
idea is a waste vs. potentially useful.)
Comment 5 Mark Millard 2022-08-18 00:32:22 UTC
(In reply to Nuno Teixeira from comment #3)

Looks like the error message text:

running "gmake" "depend"

at:

[openssl-sys 0.9.75] running "gmake" "depend"
[openssl-sys 0.9.75] thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /wrkdirs/usr/ports/editors/lapce/work/lapce-71771ea/cargo-crates/openssl-src-111.22.0+1.1.1q/src/lib.rs:488:39

is from https://github.com/alexcrichton/openssl-src-rs/blob/7c37600a1bf4a81d92131ecc5ee68a9958408d4e/src/lib.rs

line 487 and the error report is from line 488:

. . .
    fn run_command(&self, mut command: Command, desc: &str) {
        println!("running {:?}", command);
        let status = command.status().unwrap();
. . .

So the "No such file or directory" looks to be reporting that

gmake

or maybe:

"gmake"

(quotes included) was not found.
Comment 6 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-18 09:59:32 UTC
(In reply to Mark Millard from comment #5)

Yes, definitely lack of USES+=gmake.
Although I can't reproduce this error again because I uploaded wrong log not synced with diff, for now on I will make sure to sync diff/log.
Comment 7 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-18 10:17:56 UTC
Created attachment 235987 [details]
v2 - add gmake

+PORTREVISION=  1
 - add USES+=gmake
 - organize variables
 - remove DISTVERSIONPREFIX
 - add PKGNAMESUFFIX to easier find what TAG is used

log: https://people.freebsd.org/~eduardo/logs/lapce/lapce-71771ea-g20220816_1.log
Comment 8 Mark Millard 2022-08-18 13:32:20 UTC
(In reply to Nuno Teixeira from comment #7)

It is reporting:

error[E0432]: unresolved import `super::Vec4`
 --> /wrkdirs/usr/ports/editors/lapce/work/lapce-71771ea/cargo-crates/glam-0.10.2/src/f32/cast.rs:1:56
  |
1 | use super::{Mat2, Mat3, Mat4, Quat, Vec2, Vec3, Vec3A, Vec4};
  |                                                        ^^^^
  |                                                        |
  |                                                        no `Vec4` in `f32`
  |                                                        help: a similar name exists in the module (notice the capitalization): `vec4`


(Again, I'm not literate in the use of rust.)
Comment 9 Mark Millard 2022-08-18 13:39:04 UTC
(In reply to Mark Millard from comment #8)

There are many complaints about Vec4, not just via glam's src/f32/cast.rs .
There are other errors as well, such as multiple examples of the likes of:

error[E0432]: unresolved import `crate::f32::funcs::sse2`
   --> /wrkdirs/usr/ports/editors/lapce/work/lapce-71771ea/cargo-crates/glam-0.10.2/src/f32/vec3a.rs:697:36
    |
697 |             use crate::f32::funcs::sse2::m128_round;
    |                                    ^^^^ could not find `sse2` in `funcs`

(I'll not look for more.)
Comment 10 Mark Millard 2022-08-18 21:45:19 UTC
(In reply to Mark Millard from comment #8)

Looks like glam-0.10.2 has:

Struct glam::Vec4

but glam-0.21.3 has:

Struct glam::f32::Vec4

It looks like glam::f32::Vec4 started with glam-0.12.0 .

Looks like you need to form a coherent combination of
versions vs. usage notation.
Comment 11 Mark Millard 2022-08-18 22:06:07 UTC
(In reply to Mark Millard from comment #10)

Looks like f32::funcs::sse2 is also something that changed
as of glam-0.12.0 vs. before. So glam-0.10.2 does not seem
to have it (in that form anyway).
Comment 12 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-21 10:06:16 UTC
(In reply to Mark Millard from comment #11)

Hi Mark,

Thanks again for help on debugging.
I'm colecting the most important stuff I get from here to soon
Comment 13 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-21 10:08:43 UTC
(In reply to Nuno Teixeira from comment #12)
(...) *** to send it to https://github.com/lapce/lapce/issues/967 and get upstream support on this.

Today I will upload lastest upstream commit and build log.
Comment 14 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-21 10:30:01 UTC
Created attachment 236035 [details]
lapce-255310e-g20220821

- update to latest commit 255310e

log: https://people.freebsd.org/~eduardo/logs/lapce/lapce-255310e-g20220821.log
Comment 15 Mark Millard 2022-08-22 04:17:49 UTC
(In reply to Nuno Teixeira from comment #14)

That log has the likes of:

     Running `/wrkdirs/usr/ports/editors/lapce/work/target/release/build/rustix-332951f3c1a8e21e/build-script-build`
[io-lifetimes 0.7.3] error[E0554]: `#![feature]` may not be used on the stable release channel
[io-lifetimes 0.7.3]  --> <anon>:1:1
[io-lifetimes 0.7.3]   |
[io-lifetimes 0.7.3] 1 | #![feature(rustc_attrs)]
[io-lifetimes 0.7.3]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[io-lifetimes 0.7.3] 
warning: `fxhash` (lib) generated 1 warning
[io-lifetimes 0.7.3] error: aborting due to previous error
[io-lifetimes 0.7.3] 
[io-lifetimes 0.7.3] For more information about this error, try `rustc --explain E0554`.
Comment 16 Mikael Urankar freebsd_committer freebsd_triage 2022-08-22 13:55:08 UTC
Created attachment 236062 [details]
v0

If it helps, I was able to build lapce with the attached patch.
Comment 17 Jakub Panek 2022-08-22 14:23:45 UTC
Generally I would recommend disabled the self-update feature.
I would also recommend splitting lapce and lapce-proxy binaries into different (sub)packages as those are not required be installed at the same time
Comment 18 Jakub Panek 2022-08-22 14:24:50 UTC
(In reply to Mikael Urankar from comment #16)
Thanks, I pushed PR to target Unix family instead of just Linux in lapce, will need to do the same for druid
Comment 19 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-22 20:25:03 UTC
Hello!

This is really good news that it builds!

For what I'm understanding:
 - files/patches-{druid,lapce-data,lapce-ui}: add 'freebsd' to "target_os", fixed in upstream comment #18
 - files/patches-wasmtime: removes "vtune" from [defaults], why? Should the same be used on next upstream commits?
 - CARGO_ENV+= AR=llvm-ar, I remember some complains about this on logs

Test run:
 - lapce run ok
 - highlight ok (tested C)
 - "Quit/Exit" icon on upper right is invisible but clickable and funtional. I discouvered it by luck.
   (I didn't yet learn how to take shell screenshots :) so I took a photo)
    https://people.freebsd.org/~eduardo/logs/lapce/lapce.jpg
 - ssh, need more testing
   from manual:
   "Remote development only works with key based SSH authentication at the moment.
   So it doesn't connect if you normally put a password for connecting to the SSH host."

BUILD, LIB, RUN depends and USES: I will do a cleanup if possible but keep what's listed in lapce.spec

OpenSSL Vendor removal: I will do some parallel builds and testing using Cargo.toml patch:
   -git2 = { version = "0.14.4", features = ["vendored-openssl"] }
   +git2 = { version = "0.14.4", features = [] }
and
   openssl-src-111.22.0+1.1.1q removal from CRATES list

Cheers and thanks for all helping here!
Comment 20 Jakub Panek 2022-08-22 21:15:35 UTC
(In reply to Nuno Teixeira from comment #19)
You can use password for SSH if you run Lapce from terminal

> "Quit/Exit" icon on upper right is invisible but clickable and funtional. I discouvered it by luck.

Because only target_os = "linux" has those icons, will be fixed by same PR
Comment 21 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-22 21:44:24 UTC
(In reply to Jakub Panek from comment #20)

Ok, fix: add *bsd targets #985

Related to ssh, I've tried to connect to freefall.freebsd.org but no password request shows up and icon turns fast from blue to red.
Comment 22 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-23 08:17:58 UTC
Created attachment 236074 [details]
lapce-255310e-g20220821_1

- rm USE_GNOME= introspection
- mv fontconfig from BUILD_DEPENDS to LIB_DEPENDS
- add temporary option SSLBASE to easier compare builds:

  < SSLBASE=off (vendor) [1]
* > SSLBASE=on           [2]
* > ===>  Applying extra patch /usr/ports/editors/lapce/files/extra-patch-lapce-proxy_Cargo.toml
  > Compiling glib schemas
  < Compiling glib schemas
* > Removing openssl-src v111.22.0+1.1.1q
  < Compiling libc v0.2.132
  > Compiling libc v0.2.132
(...)

Logs:
[1] https://people.freebsd.org/~eduardo/logs/lapce/lapce-255310e-g20220821_1_VENDOR.log
[2] https://people.freebsd.org/~eduardo/logs/lapce/lapce-255310e-g20220821_1.log
Comment 23 Jakub Panek 2022-08-23 08:22:35 UTC
Also please don't use mold as it's not stable, you should use lld
Comment 24 Mikael Urankar freebsd_committer freebsd_triage 2022-08-23 08:33:02 UTC
(In reply to Nuno Teixeira from comment #19)
llvm-ar is probably not needed, I saw an error with an "ar" command and machinally put the CARGO_ENV.
Comment 25 Mikael Urankar freebsd_committer freebsd_triage 2022-08-23 08:34:00 UTC
(In reply to Nuno Teixeira from comment #19)
vtune is not ported on FreeBSD, you'll have some errors if you enable it.
Comment 26 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-23 09:33:30 UTC
Created attachment 236078 [details]
lapce-255310e-g20220821_2

- rm BUILD_DEP= mold
- rm CARGO_ENV= AR=llvm-ar

SSLBASE=off [1], SSLBASE=on [2]
[1] https://people.freebsd.org/~eduardo/logs/lapce/lapce-255310e-g20220821_2_VENDOR.log
[2] https://people.freebsd.org/~eduardo/logs/lapce/lapce-255310e-g20220821_2.log
Comment 27 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-24 12:24:48 UTC
Created attachment 236095 [details]
lapce-g20220823

- update to 2a4ed9e commit
- rm PKGNAMESUFFIX
- rm patch-{lapce-data,lapce-ui} included upstream
- turn SSLBASE=on by default
- strip bin/lapce, bin/lapce-proxy

Test run:
- upper right close button is visible and works ok
- ssh connection: have tried ssh to freefall.freebsd.org, no password
  request shows, icon turns from blue to red, no errors or warnings

Commit new port:
- I'm ready to commit lapce-g20220823, follow latest commits until a
  new release is out and then stick to stable releases 
- rm SSLBASE option, rm OpenSSL vendor from cargo-crates (openssl-src-xxx)

SSLBASE=on [1], SSLBASE=off [2]

Logs:
[1] https://people.freebsd.org/~eduardo/logs/lapce/lapce-g20220823.log
[2] https://people.freebsd.org/~eduardo/logs/lapce/lapce-g20220823_VENDOR.log
Comment 28 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-24 12:31:31 UTC
(In reply to Jakub Panek from comment #18)
> Thanks, I pushed PR to target Unix family instead of just Linux in lapce, will > need to do the same for druid

Do you want that I pull patch-druid to https://github.com/linebender/druid or do you prefer doing it yourself?

Cheers
Comment 29 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-27 14:20:07 UTC
(In reply to Jakub Panek from comment #18)
https://github.com/linebender/druid/pull/2249
Comment 30 commit-hook freebsd_committer freebsd_triage 2022-08-27 14:26:24 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=eebf2f3f34a6f6cec4f3005a7c7362e87d7d5922

commit eebf2f3f34a6f6cec4f3005a7c7362e87d7d5922
Author:     Nuno Teixeira <eduardo@FreeBSD.org>
AuthorDate: 2022-08-27 14:21:28 +0000
Commit:     Nuno Teixeira <eduardo@FreeBSD.org>
CommitDate: 2022-08-27 14:24:58 +0000

    editors/lapce: New port: Lightning-fast and Powerful Code Editor

    Lapce is written in pure Rust with a UI in Druid. It is designed with
    Rope Science from the Xi-Editor which makes for lightning-fast
    computation, and leverages OpenGL for rendering.

     - Built-in LSP (Language Server Protocol) support to give you
       intelligent code features such as: completion, diagnostics and code
       actions
     - Modal editing support as first class citizen (Vim-like, and
       toggleable)
     - Built-in remote development support inspired by VSCode Remote
       Development.
     - Plugins can be written in programming languages that can compile to
       the WASI format (C, Rust, AssemblyScript)
     - Built-in terminal, so you can execute commands in your workspace,
       without leaving Lapce.

    WWW: https://lapce.dev/

    PR:             265892

 editors/Makefile                                   |    1 +
 editors/lapce/Makefile (new)                       |   31 +
 editors/lapce/Makefile.crates (new)                |  579 ++++++++++
 editors/lapce/distinfo (new)                       | 1161 ++++++++++++++++++++
 ...h-cargo-crates_wasmtime-0.39.1_Cargo.toml (new) |   10 +
 editors/lapce/files/patch-druid (new)              |  200 ++++
 .../lapce/files/patch-lapce-proxy_Cargo.toml (new) |   11 +
 editors/lapce/pkg-descr (new)                      |   17 +
 8 files changed, 2010 insertions(+)
Comment 31 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-27 14:26:39 UTC
NOT_FOR_ARCHS=  i386
NOT_FOR_ARCHS_REASON_i386=      doesn't build: [zstd-sys 2.0.1+zstd.1.5.2] AR_i686_unknown_freebsd = None
Comment 32 Nuno Teixeira freebsd_committer freebsd_triage 2022-08-28 23:10:56 UTC
Thanks all for help!

Cheers
Comment 33 Nuno Teixeira freebsd_committer freebsd_triage 2022-09-05 12:03:09 UTC
reopening for 0.2.0 release
Comment 34 Nuno Teixeira freebsd_committer freebsd_triage 2022-09-05 12:08:32 UTC
Sorry, better opening a new one at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266232