Skip to content

Commit

Permalink
HackStudio: set sane $PATH early to include /usr/local/bin
Browse files Browse the repository at this point in the history
Launching from the terminal inherits $PATH which includes
/usr/local/bin, but launching from the system menubar doesn't, so
HackStudio wasn't finding make installed from ports.
  • Loading branch information
jcs authored and awesomekling committed Jan 16, 2020
1 parent 5c25983 commit d063a4c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
1 change: 0 additions & 1 deletion DevTools/HackStudio/TerminalWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ void TerminalWrapper::run_command(const String& command)
}

setenv("TERM", "xterm", true);
setenv("PATH", "/bin:/usr/bin:/usr/local/bin", true);

auto parts = command.split(' ');
ASSERT(!parts.is_empty());
Expand Down
8 changes: 8 additions & 0 deletions DevTools/HackStudio/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "TerminalWrapper.h"
#include "WidgetTool.h"
#include "WidgetTreeModel.h"
#include <AK/StringBuilder.h>
#include <LibCore/CFile.h>
#include <LibGUI/GAboutDialog.h>
#include <LibGUI/GAction.h>
Expand Down Expand Up @@ -121,6 +122,13 @@ int main(int argc, char** argv)
widget->set_layout(make<GBoxLayout>(Orientation::Vertical));
widget->layout()->set_spacing(0);

StringBuilder path;
path.append(getenv("PATH"));
if (path.length())
path.append(":");
path.append("/bin:/usr/bin:/usr/local/bin");
setenv("PATH", path.to_string().characters(), true);

if (!make_is_available())
GMessageBox::show("The 'make' command is not available. You probably want to install the binutils, gcc, and make ports from the root of the Serenity repository.", "Error", GMessageBox::Type::Error, GMessageBox::InputType::OK, g_window);

Expand Down

0 comments on commit d063a4c

Please sign in to comment.