Commit 88b14f1f authored by Kevin Perkins's avatar Kevin Perkins Committed by GitHub

[New Package] SWI-Prolog (#5102)

* [readline]: Link against ncurses, build with multibyte support (Fixes #5099, #5101)

* [pcre]: Build with --enable-unicode-properties (Fixes #5100)

* [New Package] SWI-prolog (stable) v8.2.4

* Updated with binaries

* Updated with binaries

* Binaries...

* fix compatibility

* adjust depends
Co-authored-by: default avatarsatmandu <satadru@gmail.com>
parent a76c910d
......@@ -3,39 +3,43 @@ require 'package'
class Pcre < Package
description 'The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.'
homepage 'http://pcre.org/'
version '8.44-1'
@_ver = '8.44'
version "#{@_ver}-1"
compatibility 'all'
source_url 'https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.bz2'
source_url "https://ftp.pcre.org/pub/pcre/pcre-#{@_ver}.tar.bz2"
source_sha256 '19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d'
binary_url ({
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/pcre-8.44-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/pcre-8.44-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/pcre-8.44-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/pcre-8.44-1-chromeos-x86_64.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/pcre-8.44-1-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: 'b6475dc3ff52f0c471d320a7c7d7a17ad015f2f08b46f4fc6805d80efb80ec10',
armv7l: 'b6475dc3ff52f0c471d320a7c7d7a17ad015f2f08b46f4fc6805d80efb80ec10',
i686: 'abb6faf10ed437b2fdef5bd6da661a2327d2ffa79dfbdf7f3bc12713da1370cf',
x86_64: '4f2e3865d910f15b113c59cb69ce87dedbc236a8f655304ffb3fe8ceb89ab64a',
binary_sha256({
aarch64: '6d54befc6735b9d85928c14d1f03519d25514aed4c1a1f3d12114d3585f535f3',
armv7l: '6d54befc6735b9d85928c14d1f03519d25514aed4c1a1f3d12114d3585f535f3',
i686: '092fe524f7e00bc4e19b6a5cf01e1677f9d7900c8e105adcd086cd9670c7c558',
x86_64: '4c62ce6b8ae532c7b0885973b50363034c2a84b281baa5542149226a38016cbe'
})
def self.build
system "./configure #{CREW_OPTIONS} \
--enable-shared \
--disable-static \
--with-pic \
--enable-utf \
--enable-pcre16 \
--enable-pcre32 \
--enable-jit \
--enable-pcretest-libreadline"
system "env CFLAGS='-flto=auto' CXXFLAGS='-flto=auto' \
LDFLAGS='-flto=auto' \
./configure #{CREW_OPTIONS} \
--enable-shared \
--with-pic \
--enable-unicode-properties \
--enable-pcre16 \
--enable-pcre32 \
--enable-jit \
--enable-pcretest-libreadline"
system 'make'
end
def self.check
# system 'make', 'check'
# `make check` fails because of an issue with locale.
# All but one test passes.
# system 'make', 'check'
end
def self.install
......
......@@ -3,33 +3,37 @@ require 'package'
class Readline < Package
description 'The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.'
homepage 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html'
version '8.1'
@_ver = '8.1'
version "#{@_ver}-1"
compatibility 'all'
source_url 'https://gnu.askapache.com/readline/readline-8.1.tar.gz'
source_url "https://gnu.askapache.com/readline/readline-#{@_ver}.tar.gz"
source_sha256 'f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/readline-8.1-1-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '4c2e3ab6488be4b58a28975f4e9f2fa7fb8649402cf4268c15c708bce9667f20',
armv7l: '4c2e3ab6488be4b58a28975f4e9f2fa7fb8649402cf4268c15c708bce9667f20',
i686: '9033816a26e04eb5c846ecb18f7354b1bbabf9cf5b8710e8843868dfee9d8a80',
x86_64: 'ddd7cf950d05c8492834b60ff0dbb124f07158c671784eb78118e0fa71691d1b',
binary_sha256({
aarch64: '59a46fc3edcb1a6dd5039aee1e7dda31289e87f60c8d260f8f883da11880425e',
armv7l: '59a46fc3edcb1a6dd5039aee1e7dda31289e87f60c8d260f8f883da11880425e',
i686: '5ceea6d03304fdbd8cd1a1a999831bafe46938f458128c0bc5df1a6819114201',
x86_64: '3d60b7fd04b57c4b57b34d8af12ab7b7dbf368842fc8b19b09df7698e9623292'
})
def self.build
system "./configure #{CREW_OPTIONS} \
--with-curses"
system 'make'
system "env CFLAGS='-flto=auto -g0' \
CXXFLAGS='-flto=auto' \
LDFLAGS='-flto=auto' \
./configure \
#{CREW_OPTIONS} \
--with-curses \
--enable-multibyte"
system 'make', 'SHLIB_LIBS=-Wl,--as-needed -Wl,-ltinfow -Wl,--no-as-needed'
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
end
end
require 'package'
class Swi_prolog < Package
description 'SWI-Prolog offers a comprehensive free Prolog environment. Since its start in 1987, SWI-Prolog development has been driven by the needs of real world applications. SWI-Prolog is widely used in research and education as well as commercial applications. Join over a million users who have downloaded SWI-Prolog.'
homepage 'https://www.swi-prolog.org/'
@_ver = '8.2.4'
version @_ver
compatibility 'i686,x86_64'
source_url "https://www.swi-prolog.org/download/stable/src/swipl-#{@_ver}.tar.gz"
source_sha256 'f4bcc78437f9080ab089762e9e6afa7071df7f584c14999b92b9a90a4efbd7d8'
binary_url({
i686: 'https://dl.bintray.com/chromebrew/chromebrew/swi_prolog-8.2.4-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/swi_prolog-8.2.4-chromeos-x86_64.tar.xz'
})
binary_sha256({
i686: 'd8985a0a160baca9d6565d4177a43a840450ef4bb96eefae476a51ce27fec063',
x86_64: 'cbb431b0bd28fa1c581071aeb1eeda79b70b4ec3c28c2d07b509054e810cb62b'
})
case ARCH
when 'i686', 'x86_64'
depends_on 'libyaml'
depends_on 'libarchive'
depends_on 'libdb'
depends_on 'jdk8'
end
def self.build
Dir.mkdir 'builddir'
Dir.chdir 'builddir' do
system "cmake -G Ninja \
#{CREW_CMAKE_OPTIONS} \
-DCURSES_CURSES_LIBRARY=#{CREW_LIB_PREFIX}/libncurses.so.6 \
-DCURSES_INCLUDE_PATH=#{CREW_PREFIX}/include/ncurses \
-DCMAKE_C_FLAGS=-flto=auto \
-DCMAKE_CXX_FLAGS=-flto=auto \
-DCMAKE_EXE_LINKER_FLAGS=-flto=auto \
-DINSTALL_TESTS=ON \
.."
system '../scripts/pgo-compile.sh'
system 'ninja'
end
end
# def self.check
# Dir.chdir 'builddir' do
# system 'ctest -j 2'
# end
# end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment