Electron: 将 FreeBSD 支持添加到电子

创建于 2015-12-12  ·  124评论  ·  资料来源: electron/electron

Bountysource

相关:#2452

enhancement

最有用的评论

所有124条评论

正如 #2452 中提到的,目前我们没有任何计划添加对 FreeBSD 的支持,但如果有人有兴趣发送拉取请求,我们将非常乐意接受。

@zcbenz

你能保持这个开放吗? 我打开了请求并添加了赏金以鼓励某人发送 PR 以添加对 FreeBSD 的支持。

谢谢,
特兰

好的。

我即将在 FreeBSD 10.3 上编译电子。

我遇到了两个错误:

https://gist.github.com/yonas/06d08aa591e4a452b16c1e9a9ac5e0f3

但我不知道如何解决它们。 这里有任何 C/C++ 大师吗? :)

我看到赏金中增加了 200 美元? 这会发生吗? 我认为它会摇滚。

抱歉,我会尽量花更多时间在这上面。 如果有人非常了解 C/C++,那么 Linux 的某些特定部分需要为 FreeBSD 重新实现。

是的,Electron 变得越来越流行,并被用于更多的应用程序中,而不仅仅是 Atom 编辑器。 我很想在我的 FreeBSD 机器上运行Black Screen终端。

能够在 freebsd11RC1 中构建电子和 VSCode。 构建说明发布在
https://gist.github.com/prash-wghats/89be1ee069d2acf23c289e9c606616e1

@prash-wghats 干得好!!! 我很好奇,你为什么用 VSCode 编译? GCC或CLANG是否缺少任何东西?

这太棒了。 迫不及待地想尝试一下,并希望看到这些变化向前发展。

@yonas @prash-wghats 没有使用VSCode 构建,他构建了 Electron 和 VSCode。

@yonas谢谢。 使用 clang 构建电子,然后用它来运行 VSCode。

增加了赏金。

(顺便说一句:上面的引用来自一个_显然_与 Windows 相关的问题,是因为避开了同一产品的多平台问题。)

你好电子团队,我的赞美!!!! 首先,我要祝贺您完成该项目,并在这里留下我和其他许多人的愿望,希望看到电子在 FresBSD 中运行,您的应用程序非常令人印象深刻,如果您可以添加对 FreeBSD 的支持,那就太好了 我非常喜欢这个平台,它将使 BSDS 系统能够利用支持创建令人难以置信的应用程序。

2016 年 10 月 12 日评论的 prash-wghats 引用的补丁是否有可能被整合到上游? 他们的阻止程序是否阻止了这种情况的发生,或者 FreeBSD 社区可以做些什么来引导这种情况发生?

https://github.com/prash-wghats/VSCode-For-FreeBSD/releases。
这个二进制文件是用 freebsd 11 构建的。

嗬嗬~最近怎么样了? 我很高兴知道 Electron 是否最终在 FreeBSD 上可用,或者我是否可以提供帮助。

我也很好奇在这方面取得了哪些进展(如果有的话)。 我一直在定期检查,但没有真正看到任何更新。 我怀疑我是否有直接贡献的专业知识,但如果有人致力于这项工作,我很乐意增加赏金。

… 如果 Electron 最终在 FreeBSD 上可用…

从赏金来源页面:

... 预计在 2017 年 9 月 19 日之前完成。将尝试解决这个问题。

这绝对很棒。 在初始实施完成后,我将尝试帮助修复错误。

^ 同样。
会密切关注这一点,并尽我所能提供帮助。
一直致力于将一些电子应用程序移植到 Linuxulator,但最好是原生支持。

准备 PR 有什么进展吗? 如果需要,我很乐意提供一些 C++ 帮助。

我们最近有这方面的消息吗?

我真的很想要 FreeBSD 支持

touche - 也增加了赏金。

有更新吗?

我也刚刚添加到赏金中。 希望有人不只是坐在解决方案上,等待获得尽可能多的赏金。 😄

好吧,@prash-wghats 去年完成了一个工作构建,但无疑需要额外的工作。

大声笑, @ararslan——我不确定是否有足够的 FreeBSD 用户可以利用。 只有 19+ 人观看此主题:P

FreeBSD 在桌面操作系统市场份额中排名第四!

更有理由拥有 Electron 的支持。 🙂

FreeBSD 在桌面操作系统市场份额中排名第四!

确实,或者换句话说,为 0.00%。

@stites我认为有很多 FreeBSD、PC-BSD、OpenBSD 和 NetBSD 用户想要使用 Electron——以及基于它构建的所有应用程序,比如 Atom——但他们并不都在这个线程上。

顺便说一句,铬是否支持 FreeBSD?

@ararslan好吧,仅基于此,在电子中添加支持将需要相当多的补丁,这对于进行铬升级的维护者来说将是一个很大的负担。

@brenca首先要弄清楚需要哪些补丁才能使 Electron 在 FreeBSD 上正常运行。

此后,FreeBSD 有在“Ports Collection”中维护自己的补丁的传统。 有些补丁很容易被上游维护者吸收,因此这些补丁将随着时间的推移提交到上游。 这就是我们与所有其他开源社区合作的方式。

那太好了,我只是有点悲观,仅此而已。 :)

这不仅仅是关于桌面用户。 BSD 上的 Electron 将允许它用于商业嵌入式硬件应用程序。

目前QT已基本垄断市场。 而且很贵。 300 美元/月昂贵。

Electron 与ionic等移动框架一起有能力在未来几年成为领先的嵌入式 UI 平台。

是否有可以运行 BSD 的 CI?

没有主要服务(这是 Travis 要求的,他们实际上说“不是现在”),尽管有些项目自己推出。 例如, Julia在台湾国立交通大学的硬件上运行了由 Buildbot 提供支持的 FreeBSD CI。 我想开始自己的服务,但这需要💰,所以我认为项目需要找到自己的方式。

我想知道你是否可以在 travis 或其他 CI 主机上的 docker 内构建+运行电子测试......

我想知道你是否可以在 travis 或其他 CI 主机上的 docker 内构建+运行电子测试......

不用怀疑了。 你不能。

为 freebsd 更新了 Vscode (v1.17.2) 和 Electron (1.7.7)。
https://github.com/prash-wghats/VSCode-For-FreeBSD/releases

@prash-wghats 当我第一次看到你的仓库时,我很困惑为什么我们需要构建 VSCode。 在阅读了您之前的评论后,似乎我们根本不需要构建 VSCode。

像这样的构建脚本会起作用吗?

如果这是真的,我们应该只使用这种形式创建一个端口

是的,脚本将构建电子。 电子二进制文件将放置在 electron/dist/* 文件夹中。 我以前没有创建过freebsd 端口。 如果你能做到,请继续。

该脚本从铬的 FreeBSD 端口构建 libchromiumcontent 库,然后使用它来构建电子。

@prash-wghats 太棒了,我会尝试将其放入端口集合中。

如果你有时间,你能尝试构建Atom吗? 我知道很多人都希望在 FreeBSD 中拥有那个编辑器。

我会试一下

@prash-wghats 谢谢,非常感谢!

如果需要,很乐意贡献或帮助将其放入端口 :)
很高兴看到这方面的进展!

我很高兴地说,在@prash-wghats 的帮助下,我还能够让电子在 FreeBSD 11.1 上运行。 :啤酒:

我会尽快把它放进港口。

恭喜! 很高兴看到这方面的进展,很高兴有成千上万的新应用程序来到 FreeBSD。 也请让我知道我能提供什么帮助。

@yzgyyang还不开心。 这是一个飞跃和良好的进步,但您仍然受到许多围绕电子构建的开发人员的摆布,以确保他们的应用程序支持 freebsd。 有些可能只是无缝过渡,有些可能需要对其源进行额外修改,而另一些可能需要重写(希望不会是这种情况)

@dariusc93你能举一个具有操作系统特定功能的电子应用程序的例子吗?

我的理解是这是不可能的,因为 Electron 应用程序是使用标准化技术(JavaScript、HTML 和 CSS)构建的。 这就像网络上的网站无法在 FreeBSD 上运行。

@yonas你是对的。 它们就像网站,但使用电子,您也可以像使用任何节点应用程序一样使用操作系统特定的东西。 一些应用程序加载为特定平台构建的共享库,这些库必须移植到 freebsd。 我无法从脑海中想到这些应用程序,因为我停止使用很多电子应用程序,因为它们可能针对 windows 或 macos 而不是 linux(很快就会成为 freebsd)

@yonas喜欢节点模块 NSFW、小型转储、拼写检查器......其中一些是微不足道的,比如在配置文件中添加操作系统名称。 其他像 nsfw 将需要特定于平台的代码。

@dariusc93 @prash-wghats 啊,谢谢。 希望我们不会遇到太多这样的情况:)

@prash-wghats 你认为现在需要什么才能将事情带到上游?

@dariusc93对于电子,我猜需要制作一个端口包并提交,因为所有工作已经由 freebsd 的铬端口完成。 至于像 vscode 或 atom 等由 electron 构建的应用程序,需要在某些 node 模块中支持 Freebsd。

制作端口包不是我不相信的问题。 我的意思是对电子(以及它的任何依赖项,如果需要)进行公关,这样它会减少端口中的补丁,所以如果有人希望从 git 构建,他们可以选择这样做。

谢谢@prash-wghats !! Atom 终于在 FreeBSD 上运行 :smile: :tada:

我相信@prash-wghats 应该收集赏金,或者至少在端口中提供 Electron 时。 在什么时候可以认为这是“解决”? 当必要的补丁已经上传到上游时,Electron 可以在 Ports Collection 之外的 FreeBSD 上从源代码构建,或者一旦它在 Ports 中可用?

我也支持@prash-wghats 获得赏金。 惊人的工作。

我相信@prash-wghats 应该得到赏金。 他已经投入工作,一旦事情被推到 repo 的上游,其他开发人员可以简单地添加对 freebsd 的支持而几乎没有任何借口。

现在有人在为 Electron 做一个新的端口吗? 我在 bugs.freebsd.org 上没有看到任何 PR。 如果现在没有人能做到这一点,我愿意这样做。

@yzgyyang我打算去,但现在没有时间。 如果你能创建 PR,那就太棒了。 谢谢!

如果您可以在此处发布 PR 链接,我们将能够帮助对其进行测试并推动它通过。

@yonas谢谢! 我可以在某个地方看到您的进度,以便我可以继续吗? 是在 yonas/VSCode-For-FreeBSD 上吗? (我可以在那里看到一些构建脚本,不确定哪个是正确的)

@yzgyyang是的, https://github.com/yonas/VSCode-For-FreeBSD具有修复一些编译错误所需的更改。

@yonas好吧,我会根据你的更改尝试构建它,如果一切正常,我将开始制作一个新端口。

通过@prash-wghats 的工作和@yonas的补丁,以及更多修复构建错误的补丁,Electron 可以成功构建并在我的机器上运行。 我已经在为它制作一个新的端口了。
screenshot_2018-01-11_18-21-49

我的问题是一些补丁会被带到上游吗? 这样做可以减少端口中的补丁,并使将来的升级更容易,而不必更新补丁。

@dariusc93 IMO 在确保 Electron 在 FreeBSD 上完全正常运行之后,我们绝对应该将这些补丁提交给上游。 我们可能仍然需要照顾它们,直到 FreeBSD 在上游得到“官方支持”。

@yzgyyang如上所述,该项目似乎不太可能正式支持 FreeBSD。 也许核心团队之一可以明确声明一旦工作的拉取请求已经落地,它是否会被维护。

必须从某个地方开始@herrbischoff

港口有更新吗? @yzgyyang或 @prash-wghats

@monty11ez我在上面。 继续与@prash-wghats 和我的导师合作更新构建脚本并测试端口,但端口仍需要大量调查。 同时,请随意使用@prash-wghats 提供的最新构建脚本,它运行良好。

@yzgyyang你的端口目标是什么版本的 FreeBSD? 11 还是 12? 我正在尝试在 TrueOS(FreeBSD 12)上构建 @prash-wghats 电子构建脚本并且遇到了麻烦。

伟大的。 现在对 OpenBSD 做同样的事情。

@qbit维护 OpenBSD 的 Node.js 端口,去年尝试构建一个 Electron 端口。

可怜的@qbit遭受了可怕的痛苦。

@dszidi虽然我不能直接代表 trueos,但如果您使用正确的依赖项,应该能够构建电子。 您可以发布任何构建日志吗?

这张票有点晚了,但要投入我的两分钱:

我认为 GitHub Electron 团队正式支持 BSD 没有意义,因为我们都没有运行(非 macOS)BSD,而且我们通常支持的平台已经超载。 因此,这与 BSD 无关,与资源无关。

也就是说,我喜欢社区对此的兴趣,正如上面@zcbenz所说,我们欢迎为此提供补丁,我很乐意帮助获得 PR。

不过有一条评论:我注意到@yzgyyang发布的屏幕截图中运行了 1.6.x。 如果 PR 反对 master,合并会顺利得多:smile:

@ckerr 据我所知,构建 Electron 既是噩梦又是极其复杂的。 即使在 OpenBSD 上构建一个版本也应该足以让某人为其维护一个端口。

Chromium 和 Node 都积极维护 OpenBSD 端口的事实表明 Electron 的构建过程还有改进的空间。

你的端口目标是什么版本的 FreeBSD? 11 还是 12? 我正在尝试在 TrueOS(FreeBSD 12)上构建电子构建脚本并且遇到了麻烦。

@dszidi目前 FreeBSD 11.1 在我们的补丁和 WIP 端口中是硬编码的。 这将是一个简单的代码更改,但 11.1 是我们目前正在开发的。 请参阅https://github.com/prash-wghats/Electron-VSCode-Atom-For-FreeBSD/issues/8。

我们欢迎为此提供补丁,我很乐意帮助获得 PR。

@ckerr谢谢! 我相信这是我们的下一个目标。

我注意到@yzgyyang发布的屏幕截图中运行了 1.6.x。 如果 PR 反对 master,合并会顺利得多😄

@ckerr我们正在进行的工作已转移到针对 1.8(最新稳定)版本进行构建。

@yzgyyang实际上,我们最终尝试了该存储库中的预编译二进制文件,我可以说 vscode 和实际的电子二进制文件正在 TrueOS/FreeBSD 12 上运行(还没有尝试过 Atom)。

@dariusc93就构建而言,我第一次尝试从电子目录中的各种供应商差异文件中简单地查找并用 freebsd12 替换任何提及的 freebsd11。

编辑:我没有用我的错误消息污染这个线程,而是将它们发布到包含补丁的 repo。 链接在下面

https://github.com/prash-wghats/Electron-VSCode-Atom-For-FreeBSD/issues/9

更新:可以使用 ports 系统构建和安装 Electron 1.8.2 Beta 2! 要将其引入端口树还有很多工作(更多补丁、更多测试、切换到使用 1.8.2 稳定版等),所以目前还没有估计时间。
screenshot_2018-03-01_13-55-08

@yzgyyang嘿恭喜😃
我和@pizzamig在夏天做了一些努力(导致 gyp 进入树)也许它可以帮助你更快地到达目的地🙂
https://github.com/pizzamig/freebsd-ports你可以找到一个分支
称为 devel-libchromiumcontent,其中包含一些依赖项和库的初始工作。
希望对您有所帮助并提前感谢您的努力👍

@yzgyyang嘿! 做得好!
我可以帮助以兼容 FreeBSD 端口的方式迁移“build_electron.sh”脚本

@pizzamig @prash-wghats 在可构建的 build_electron.sh 上做了很多工作,我已经在编写端口和测试(查看:https://github.com/yzgyyang/freebsd-ports-electron) . 总是欢迎更多的眼睛和手😄

太好了,我会在周末做一些拉取请求,有一些东西要修复,但它真的很有希望

应该早点对此发表评论,但迟到总比没有好:

@Alhadis简化构建过程将使 BSD 受益,就像它使所有平台受益一样,因此,如果您有具体的改进建议,也许应该将其拆分为一个单独的问题。 谢谢!

有没有人成功地制作了这项工作的 FreeBSD 端口?

仅供参考,我在这个问题上增加了 50 美元的赏金,使其达到 750 美元。

在这里您可以找到将在 FreeBSD 上构建和安装电子的 FreeBSD 端口:
https://github.com/yzgyyang/freebsd-ports-electron

目前,该端口与 poudriere 兼容,但尚未提交; 换句话说,你可以构建它,但还没有包。
请随意使用并测试它! 我们需要您的反馈

@pizzamig太好了,谢谢! 将很快测试。 希望让 Cypress 在 FreeBSD 上运行,所以这是一个很好的时机 :)

@pizzamig是否值得实施USES=electron标志来简化创建基于电子的端口?

@fabianfreyer我认为这是一个绝妙的主意,考虑到一旦提交,我们将看到大量端口进入树。

@yzgyyang 提交是否存在延迟,或者您只是先进行测试? 如果您提交并正在等待提交者,我可以 ping 我的导师,看看她是否可以戳它,或者我认识的其他有提交位的人可以:)

是否有关于为电子应用程序添加 BSD 支持的任何更新?

顺便说一句,我加了 50 后,赏金现在是 800.00 美元

为什么要关闭? 我很高兴在 FreeBSD 上同时使用 Chromium 和 node.js,所以没有技术原因 Electron 不能在这里工作。

糟糕,抱歉,看到上面 Haiku OS 帖子的“关闭”标志,并认为这是针对此问题的。 -_-

@pizzamig这发生了什么? 如果您不想再继续工作,那很好,但是如果您可以让我们知道您已经走了多远以及遇到了哪些问题,那将会很有帮助!

Electron 在 FreeBSD 中工作。

二进制文件很棒,我在 11.2 上使用了你的 VSCode 二进制文件。 不过,让 Electron 和朋友们加入 Ports Collection 会很棒。 我认为这将有效地“完成”这个问题。

赏金增加了 50 美元。

... vscode 和实际的电子二进制文件正在 TrueOS/FreeBSD 12 上运行(还没有尝试过 Atom)。 …

原子 1.23.0

Atom-v1.23.0_5_6.tar.xz来自https://github.com/prash-wghats/Electron-VSCode-Atom-For-FreeBSD/releases/tag/atom_v1.23.0

$ date ; uname -v ; pwd
Sun 30 Sep 2018 11:31:46 BST
FreeBSD 12.0-ALPHA7 r338956 GENERIC-NODEBUG 
/home/grahamperrin
$ Applications/Atom/atom Desktop/test.txt 
Fontconfig warning: "/usr/local/etc/fonts/local.conf", line 1093: saw number, expected matrix
Attempting to call a function in a renderer window that has been closed or released.
Function provided here: worker.js:61:22
Remote event names: destroyed, crashed
$ 

退出应用程序时出现(可忽略的) fontconfig警告之后的三行。

https://github.com/yzgyyang/freebsd-ports-electron是一个与 poudriere 兼容和可用的端口,用于构建 FreeBSD 包,主要基于 @prash-wghats 的出色工作。 没有他的洞察力,一切都将是不可能的。
不幸的是,端口无法登陆端口集合,它有太多的技巧和不允许的东西(尤其是 libcc 和节点包)。
目前,我正在为 libcc 开发一个可接受的端口。 如果您曾经从源头构建铬,那么您现在就会明白为什么它“耗时”。

libcc 已弃用且未在当前的电子版本中使用,因此为其开发端口可能不是一个好主意:)

让它在端口工作是好的,我同意这是一个好的开始,但是有些应用程序是封闭源代码的(例如 GitKraken)我不希望必须直接支持 BSD,但如果它是电子的官方平台然后他们可以交叉编译一个 BSD 版本。 但这在正式构建之前不会发生。 这只是我的意见。

我认为目前将端口带到上游的主要障碍是铬库。 虽然可能是错误的,但除此之外,如果将电子本身的补丁带到上游,那么从那里开始应该很好,但还有更多,因为那里可能有一些库不是为在 BSD 上运行而构建的或者没有为平台配置。 开发人员仍然需要确保任何本机模块也可以在 BSD 上运行。 如果没有任何使用本机模块的依赖项,那么应该没问题。

为此+1! 很想在 FreeBSD 上运行 Atom 和/或 VS Code。 CodeLite 和 Eclipse 都很好,但我真的希望能够使用 Atom 或 VS Code 进行开发,而不必跳入运行 Linux 的虚拟机。

在有人决定这样做之前,赏金需要多高? 1000 美元?

嗨,我已经为 FreeBSD 制作了电子 4.1.x 和 5.0.0 的实验端口。 这主要基于@prash-wghats 和 FreeBSD chromium 团队的作品。 如果您有兴趣,请查看https://github.com/tagattie/FreeBSD-Electron。

我在 FreeBSD 上运行 VS Code 有一段时间了。

@tagattie看起来像是对 Chromium 进行了相当大的更改。 您是否正在与 Chromium 团队合作以将这些更改上游化? 如果不是,我担心它们很快就会过时:(

@nornagon自述文件指出补丁来自 FreeBSD Chromium 团队。

@nornagon FreeBSD Chromium 团队维护了大量补丁,因为 Google 不接受这些更改,因为 FreeBSD(和任何其他 BSD)不是他们感兴趣的平台。

感觉应该去掉

2019 年 6 月 21 日星期五晚上 8:32 William Penton [email protected]
写道:

由于个人信息,不确定是否应该删除以前的消息
消息。


你收到这个是因为你被提到了。
直接回复此邮件,在 GitHub 上查看
https://github.com/electron/electron/issues/3797?email_source=notifications&email_token=AA54RSDXMHOUNACH7QIWAXDP3VXJLA5CNFSM4BWQZ7BKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYJ36TY#issuecomment-504610639
或使线程静音
https://github.com/notifications/unsubscribe-auth/AA54RSFEWQKZMQ7WYK4WOMDP3VXJLANCNFSM4BWQZ7BA
.

同意。 它似乎与此线程的主题无关,并且不应将这种级别的个人信息留在野外。

从我的iPad发送

2019 年 6 月 21 日 18:28,Darius Clark [email protected]写道:

感觉应该去掉

2019 年 6 月 21 日星期五晚上 8:32 William Penton [email protected]
写道:

由于个人信息,不确定是否应该删除以前的消息
消息。

——
你收到这个是因为你被提到了。
直接回复此邮件,在 GitHub 上查看
https://github.com/electron/electron/issues/3797?email_source=notifications&email_token=AA54RSDXMHOUNACH7QIWAXDP3VXJLA5CNFSM4BWQZ7BKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYJ36TY#issuecomment-504610639
或使线程静音
https://github.com/notifications/unsubscribe-auth/AA54RSFEWQKZMQ7WYK4WOMDP3VXJLANCNFSM4BWQZ7BA
.

——
您收到此消息是因为您发表了评论。
直接回复此电子邮件,在 GitHub 上查看它,或将线程静音。

谢谢,可以升级到6.0.x吗?

据我所知,5.x 有一个正在进行中的分支,但 6.x 上没有。

如果这现在是一个注册端口,那么应该有人收集 BountySource 赏金。

如果我理解正确的话,重点是让 Electron 能够从任何其他平台生成 BSD。 例如,在 Mac 上,您可以生成 Windows EXE 或 Linux 二进制文件。 这是为了允许他们生成 BSD 二进制文件,而不必运行 BSD 然后从那里编译。

+1 我希望在 FreeBSD 上有可用的atom 。 现在修复这个问题的赏金是 850 美元!

这个问题的未来解决方案是否允许我(例如)在 FreeBSD-CURRENT 上安装FF Password Exporter https://github.com/kspearrin/ff-password-exporter

https://pastebin.com/Z3mmYLh9我想不是。 第 19 行:

错误:GET https://github.com/electron/electron/releases/download/v3.0.6/electron-v3.0.6-freebsd-x64.zip返回 404

背景: https ://github.com/MrAlex94/Waterfox/issues/1258#issuecomment -552139342

此页面是否有帮助?
0 / 5 - 0 等级