mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
* Remove i686 compatibility from packages with dependencies incompatible with i686 * Remove armv7l compatibility from packages with dependencies incompatible with arvm7l * Abort builds/installs if the package has incompatible dependencies
102 lines
3.8 KiB
Ruby
102 lines
3.8 KiB
Ruby
require 'package'
|
|
|
|
class Codelite < Package
|
|
description 'CodeLite is an open source, free, cross platform IDE specialized in C, C++, PHP and JavaScript'
|
|
homepage 'https://codelite.org/'
|
|
version '13.0-1'
|
|
license 'GPL-2'
|
|
compatibility 'x86_64 aarch64 armv7l'
|
|
source_url 'https://github.com/eranif/codelite/archive/13.0.tar.gz'
|
|
source_sha256 'f2653fa42d6214999718236998cb223e6de00a498c0cfde795e901be693fb9ac'
|
|
binary_compression 'tar.xz'
|
|
|
|
binary_sha256({
|
|
aarch64: '3ce2928e3a9d72d9a46c90260a6d5b4396913dcdb02a7c8342acebeb5db5c9e0',
|
|
armv7l: '3ce2928e3a9d72d9a46c90260a6d5b4396913dcdb02a7c8342acebeb5db5c9e0',
|
|
x86_64: '8a3cb05597521854499fd7f69287ed82a68853a11bda85621c16456b1dc1c081'
|
|
})
|
|
|
|
depends_on 'webkit2gtk'
|
|
depends_on 'hunspell'
|
|
depends_on 'libssh'
|
|
depends_on 'wxwidgets'
|
|
depends_on 'sommelier'
|
|
depends_on 'harfbuzz'
|
|
|
|
def self.patch
|
|
system "for f in \$(grep -rn '\"/usr\"' | grep set | cut -d':' -f1 | sort | uniq); do sed -i 's,/usr,#{CREW_PREFIX},' \$f; done"
|
|
# As per https://github.com/eranif/codelite/issues/2292
|
|
@gtk3patch = <<~PATCH_EOF
|
|
From 92ed90e07774dfc8556bee02c66120eed4938a40 Mon Sep 17 00:00:00 2001
|
|
From: dghart <dghart david@4Pane.co.uk>
|
|
Date: Wed, 19 Jun 2019 11:23:38 +0100
|
|
Subject: [PATCH] Compilation fix for wx3.0 gtk+3 builds
|
|
#{' '}
|
|
---
|
|
codelite_terminal/TextView.cpp | 12 ++++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
#{' '}
|
|
diff --git a/codelite_terminal/TextView.cpp b/codelite_terminal/TextView.cpp
|
|
index 83d2e260c..5966f9972 100644
|
|
--- a/codelite_terminal/TextView.cpp
|
|
+++ b/codelite_terminal/TextView.cpp
|
|
@@ -12,7 +12,11 @@ TextView::TextView(wxWindow* parent, wxWindowID winid)
|
|
m_ctrl->SetCaretStyle(wxSTC_CARETSTYLE_BLOCK);
|
|
m_ctrl->SetYCaretPolicy(wxSTC_CARET_STRICT | wxSTC_CARET_SLOP, 4);
|
|
m_ctrl->SetLexer(wxSTC_LEX_CONTAINER);
|
|
+#if wxCHECK_VERSION(3, 1, 1)
|
|
m_ctrl->StartStyling(0);
|
|
+#else
|
|
+ m_ctrl->StartStyling(0, 0x1f);
|
|
+#endif
|
|
m_ctrl->SetWrapMode(wxSTC_WRAP_CHAR);
|
|
#else
|
|
m_ctrl = new TextCtrl_t(this, wxID_ANY, "", wxDefaultPosition, wxDefaultSize,
|
|
@@ -61,7 +65,11 @@ void TextView::SetDefaultStyle(const wxTextAttr& attr)
|
|
{
|
|
#if USE_STC
|
|
m_defaultAttr = attr;
|
|
+#if wxCHECK_VERSION(3, 1, 1)
|
|
m_ctrl->StartStyling(m_ctrl->GetLastPosition());
|
|
+#else
|
|
+ m_ctrl->StartStyling(m_ctrl->GetLastPosition(), 0x1f);
|
|
+#endif
|
|
#else
|
|
m_ctrl->SetDefaultStyle(attr);
|
|
#endif
|
|
@@ -210,6 +218,10 @@ void TextView::Clear()
|
|
#if USE_STC
|
|
m_ctrl->ClearAll();
|
|
m_ctrl->ClearDocumentStyle();
|
|
+#if wxCHECK_VERSION(3, 1, 1)
|
|
m_ctrl->StartStyling(0);
|
|
+#else
|
|
+ m_ctrl->StartStyling(0, 0x1f);
|
|
+#endif
|
|
#endif
|
|
}
|
|
PATCH_EOF
|
|
File.write('codelite_gtk3.patch', @gtk3patch)
|
|
system 'patch -p 1 -i codelite_gtk3.patch'
|
|
end
|
|
|
|
def self.build
|
|
Dir.mkdir 'builddir'
|
|
Dir.chdir 'builddir' do
|
|
system "env CC=clang CXX=clang++ LD=ld.lld \
|
|
CFLAGS='-pipe -flto=thin -fuse-ld=lld' \
|
|
CXXFLAGS='-pipe -flto=thin -isystem #{CREW_PREFIX}/include/harfbuzz -fuse-ld=lld' \
|
|
LDFLAGS='-flto=thin' \
|
|
cmake -G Ninja \
|
|
-DENABLE_LLDB=1 \
|
|
#{CREW_CMAKE_OPTIONS} \
|
|
.."
|
|
end
|
|
system 'ninja -C builddir'
|
|
end
|
|
|
|
def self.install
|
|
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
|
|
end
|
|
end
|