Commit 50efc6a2 authored by satmandu's avatar satmandu Committed by GitHub

Add updated gnome packages, and unstackguarded packages (#5330)

* Add updated packages

* Remove merged patch

* Remove old compat symlinks

* remove i686 detritus

* Update gnome_session.rb

* Update gnome_shell.rb

* Update gnome_shell.rb

* Update gnome_tweaks.rb

* Update mutter.rb

* more package tweaks

* fix sha256 hash

* only this url works for building version 1.0.32
parent 137d3001
......@@ -4,27 +4,26 @@ class Elogind < Package
description 'Standalone systemd-logind fork'
homepage 'https://github.com/elogind/elogind'
@_ver = '246.10'
version @_ver
version "#{@_ver}-1"
compatibility 'all'
source_url "https://github.com/elogind/elogind/archive/v#{@_ver}.tar.gz"
source_sha256 '9a6285c077f3345c69fc21d1902226966ef6dc6e40d0eba259ee882c5b766eca'
source_sha256 'c490dc158c8f5bca8d00ecfcc7ad5af24d1c7b9e59990a0b3b1323996221a922'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-chromeos-x86_64.tar.xz'
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/elogind-246.10-1-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: '757fc7dc87b8699b51abdbc3b5b7e7dc505cc3bf1934aabe356d7bfff6712d2d',
armv7l: '757fc7dc87b8699b51abdbc3b5b7e7dc505cc3bf1934aabe356d7bfff6712d2d',
i686: '8e1c7f42275654fe1a3010c8631be0b5095f6bdcad3020f5ed4b3dd68289eee7',
x86_64: '186e7ec40bded8ae9624b8dd3ff90880cd6d0de98016413745d2f672a43cbfa7'
aarch64: '7bf79ff8159f5d90f36c8680f70bb4ad8b36276c0600e4aac664ce79b8808b6e',
armv7l: '7bf79ff8159f5d90f36c8680f70bb4ad8b36276c0600e4aac664ce79b8808b6e',
i686: '2a4c82de76b21a2fd0ea1e2b53c96ea5e90650d012fe5509e48f837258771648',
x86_64: 'a12c145e41d5f8691731bf29a3d832f7974fea3e887677b649dbc43ea5888a9a'
})
depends_on 'eudev'
depends_on 'libcap'
depends_on 'libseccomp'
depends_on 'linux_pam' # For _pam_macros.h
depends_on 'dbus'
depends_on 'docbook_xsl'
......@@ -36,6 +35,10 @@ class Elogind < Package
def self.build
system "meson #{CREW_MESON_LTO_OPTIONS} \
-Dc_args='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dc_link_args='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dcpp_args='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dcpp_link_args='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Drootprefix=#{CREW_PREFIX} \
-Dsysconfdir=#{CREW_PREFIX}/etc \
--strip \
......
......@@ -3,22 +3,24 @@ require 'package'
class Glib < Package
description 'GLib provides the core application building blocks for libraries and applications written in C.'
homepage 'https://developer.gnome.org/glib'
version '2.67.4'
@_ver = '2.67.5'
@_ver_prelastdot = @_ver.rpartition('.')[0]
version @_ver
compatibility 'all'
source_url 'https://download.gnome.org/sources/glib/2.67/glib-2.67.4.tar.xz'
source_sha256 '8d87b962032dadfcae8df62d248aa91fed2c7a43faf2c6d8b9107eb6c50e5b14'
source_url "https://download.gnome.org/sources/glib/#{@_ver_prelastdot}/glib-#{@_ver}.tar.xz"
source_sha256 '9d2ad4303ce25ae7cfde77409d8364508ac6072a868cfca2e78333c6cdfa05e6'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.4-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.4-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.4-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.4-chromeos-x86_64.tar.xz'
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.5-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.5-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.5-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/glib-2.67.5-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: '7d15e68503124e82d4ad52755dda9ff290572c84d17fc7d56d6eebdb4e261ae3',
armv7l: '7d15e68503124e82d4ad52755dda9ff290572c84d17fc7d56d6eebdb4e261ae3',
i686: '8a23142aa67d25f96074715e3578c8e572277f2112b3825339dbf3d7ad740126',
x86_64: 'b4e806b51a601a6fd68cad72e1b450059da5ec015fd5e227518c100f41fadae1'
aarch64: 'bde7d35943c70e260e52a3688ba88e114717e461bad41b5c90942f46205345c2',
armv7l: 'bde7d35943c70e260e52a3688ba88e114717e461bad41b5c90942f46205345c2',
i686: '2ac0cb8ac4a6b92ff84a31f670b1d915b95137d797778ea962fa143dd1c9df81',
x86_64: '5e5ac89b2b53a90b34da77fe8b26dece4c30c4c772a6232eb229751307bf4cef'
})
depends_on 'pcre'
......@@ -27,210 +29,12 @@ class Glib < Package
depends_on 'six'
depends_on 'pygments'
def self.patch
# Patch from:
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1958.patch
@gsubprocesslauncher_patch = <<~GLIB_PATCH_HEREDOC
From 1e74c52a6349c9c4f265b9b89fffc32730b9cd24 Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@endlessos.org>
Date: Fri, 19 Feb 2021 18:19:53 +0000
Subject: [PATCH 1/3] gsubprocesslauncher: Improve documentation formatting
slightly
#{' '}
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
---
gio/gsubprocesslauncher.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
#{' '}
diff --git a/gio/gsubprocesslauncher.c b/gio/gsubprocesslauncher.c
index b7257f453..16c47d542 100644
--- a/gio/gsubprocesslauncher.c
+++ b/gio/gsubprocesslauncher.c
@@ -596,16 +596,16 @@ g_subprocess_launcher_take_stderr_fd (GSubprocessLauncher *self,
* @target_fd: Target descriptor for child process
*
* Transfer an arbitrary file descriptor from parent process to the
- * child. This function takes "ownership" of the fd; it will be closed
+ * child. This function takes ownership of the @source_fd; it will be closed
* in the parent when @self is freed.
*
* By default, all file descriptors from the parent will be closed.
- * This function allows you to create (for example) a custom pipe() or
- * socketpair() before launching the process, and choose the target
+ * This function allows you to create (for example) a custom `pipe()` or
+ * `socketpair()` before launching the process, and choose the target
* descriptor in the child.
*
* An example use case is GNUPG, which has a command line argument
- * --passphrase-fd providing a file descriptor number where it expects
+ * `--passphrase-fd` providing a file descriptor number where it expects
* the passphrase to be written.
*/
void
--#{' '}
GitLab
#{' '}
#{' '}
From 55a75590d0c7e703f32513cc409d6e20a7b761ea Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@endlessos.org>
Date: Fri, 19 Feb 2021 18:20:25 +0000
Subject: [PATCH 2/3] =?UTF-8?q?gsubprocesslauncher:=20Don=E2=80=99t=20clos?=
=?UTF-8?q?e=20target=20FDs=20in=20close()=20method?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
#{' '}
This is a regression introduced in commit 67a589e505311. Previously, the
source/target FD pairs were stored in `needdup_fd_assignments`, in
consecutive entries, so source FDs had even indices and target FDs had
odd indices.
#{' '}
I didn’t notice that the array index was being incremented by 2 when
closing FDs, when porting from the old code. So previously the code was
only closing the source FDs; after the port, it was closing source and
target FDs.
#{' '}
That’s incorrect, as the target FDs are just integers in the parent
process. It’s only in the child process where they are actually FDs —
and `g_subprocess_launcher_close()` is never called in the child
process.
#{' '}
This resulted in some strange misbehaviours in any process which used
`g_subprocess_launcher_take_fd()` with target FDs which could have
possibly aliased with other FDs in the parent process (and which weren’t
equal to their mapped source FDs).
#{' '}
Thanks to Olivier Fourdan for the detailed bug report.
#{' '}
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
#{' '}
Fixes: #2332
---
gio/gsubprocesslauncher-private.h | 4 ++--
gio/gsubprocesslauncher.c | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
#{' '}
diff --git a/gio/gsubprocesslauncher-private.h b/gio/gsubprocesslauncher-private.h
index f8a6516c5..d6fe0d784 100644
--- a/gio/gsubprocesslauncher-private.h
+++ b/gio/gsubprocesslauncher-private.h
@@ -42,8 +42,8 @@ struct _GSubprocessLauncher
gint stderr_fd;
gchar *stderr_path;
#{' '}
- GArray *source_fds;
- GArray *target_fds; /* always the same length as source_fds */
+ GArray *source_fds; /* GSubprocessLauncher has ownership of the FD elements */
+ GArray *target_fds; /* always the same length as source_fds; elements are just integers and not FDs in this process */
gboolean closed_fd;
#{' '}
GSpawnChildSetupFunc child_setup_func;
diff --git a/gio/gsubprocesslauncher.c b/gio/gsubprocesslauncher.c
index 16c47d542..a1c65e947 100644
--- a/gio/gsubprocesslauncher.c
+++ b/gio/gsubprocesslauncher.c
@@ -661,11 +661,11 @@ g_subprocess_launcher_close (GSubprocessLauncher *self)
g_assert (self->target_fds != NULL);
g_assert (self->source_fds->len == self->target_fds->len);
#{' '}
+ /* Note: Don’t close the target_fds, as they’re only valid FDs in the
+ * child process. This code never executes in the child process. */
for (i = 0; i < self->source_fds->len; i++)
- {
- (void) close (g_array_index (self->source_fds, int, i));
- (void) close (g_array_index (self->target_fds, int, i));
- }
+ (void) close (g_array_index (self->source_fds, int, i));
+
g_clear_pointer (&self->source_fds, g_array_unref);
g_clear_pointer (&self->target_fds, g_array_unref);
}
--#{' '}
GitLab
#{' '}
#{' '}
From 50cf90dc562d10efa3288357202e8cc04571292c Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@endlessos.org>
Date: Fri, 19 Feb 2021 18:09:42 +0000
Subject: [PATCH 3/3] =?UTF-8?q?tests:=20Test=20g=5Fsubprocess=5Flauncher?=
=?UTF-8?q?=5Fclose()=20doesn=E2=80=99t=20close=20too=20many=20FDs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
#{' '}
Expand an existing unit test to check that the target FD of a
`g_subprocess_launcher_take_fd()` call doesn’t get closed when
`g_subprocess_launcher_close()` is called. Only the source FD should be
closed by the parent process.
#{' '}
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
#{' '}
Helps: #2332
---
gio/tests/gsubprocess.c | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
#{' '}
diff --git a/gio/tests/gsubprocess.c b/gio/tests/gsubprocess.c
index 3c248e610..7e22678ec 100644
--- a/gio/tests/gsubprocess.c
+++ b/gio/tests/gsubprocess.c
@@ -1494,23 +1494,44 @@ test_subprocess_launcher_close (void)
GSubprocessLauncher *launcher;
GSubprocess *proc;
GPtrArray *args;
- int fd;
+ int fd, fd2;
gboolean is_open;
#{' '}
- fd = dup(0);
+ /* Open two arbitrary FDs. One of them, @fd, will be transferred to the
+ * launcher, and the other’s FD integer will be used as its target FD, giving
+ * the mapping `fd → fd2` if a child process were to be spawned.
+ *
+ * The launcher will then be closed, which should close @fd but *not* @fd2,
+ * as the value of @fd2 is only valid as an FD in a child process. (A child
+ * process is not actually spawned in this test.)
+ */
+ fd = dup (0);
+ fd2 = dup (0);
launcher = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_NONE);
- g_subprocess_launcher_take_fd (launcher, fd, fd);
+ g_subprocess_launcher_take_fd (launcher, fd, fd2);
+
is_open = fcntl (fd, F_GETFD) != -1;
g_assert_true (is_open);
+ is_open = fcntl (fd2, F_GETFD) != -1;
+ g_assert_true (is_open);
+
g_subprocess_launcher_close (launcher);
+
is_open = fcntl (fd, F_GETFD) != -1;
g_assert_false (is_open);
+ is_open = fcntl (fd2, F_GETFD) != -1;
+ g_assert_true (is_open);
+
+ /* Now test that actually trying to spawn the child gives %G_IO_ERROR_CLOSED,
+ * as g_subprocess_launcher_close() has been called. */
args = get_test_subprocess_args ("cat", NULL);
proc = g_subprocess_launcher_spawnv (launcher, (const gchar * const *) args->pdata, error);
g_ptr_array_free (args, TRUE);
g_assert_null (proc);
g_assert_error (local_error, G_IO_ERROR, G_IO_ERROR_CLOSED);
g_clear_error (error);
+
+ close (fd2);
g_object_unref (launcher);
}
#{' '}
--#{' '}
GitLab
GLIB_PATCH_HEREDOC
IO.write('1958.patch', @gsubprocesslauncher_patch)
system 'patch -p1 < 1958.patch'
end
def self.build
system "meson #{CREW_MESON_LTO_OPTIONS} \
-Dc_args='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dc_link_args='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dcpp_args='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dcpp_link_args='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Das_needed=false \
-Dselinux=disabled \
-Dsysprof=disabled \
......
require 'package'
class Gnome_session < Package
description 'The GNOME Session Handler'
homepage 'https://gitlab.gnome.org/GNOME/gnome-session'
@_ver = '40.beta'
version @_ver
compatibility 'x86_64 aarch64 armv7l'
source_url "https://gitlab.gnome.org/GNOME/gnome-session/-/archive/#{@_ver}/gnome-session-#{@_ver}.tar.bz2"
source_sha256 '0dd8c38c29568db6ffbd2a788f12b9e93262296ffd6d4c40fc2a830099d46883'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_session-40.beta-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_session-40.beta-chromeos-armv7l.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_session-40.beta-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: '9bdad789a49f45e3574f829455a1d89d71b1cddbfe8d0cb7c6868b892ad5ae98',
armv7l: '9bdad789a49f45e3574f829455a1d89d71b1cddbfe8d0cb7c6868b892ad5ae98',
x86_64: 'b2a8ebdb421823febd16ed797e73fe26c33e53d407db2665af166b96015a0f74'
})
depends_on 'elogind'
depends_on 'dconf'
depends_on 'gsettings_desktop_schemas'
depends_on 'gtk3'
depends_on 'gnome_desktop'
depends_on 'mesa' => ':build'
depends_on 'gtk_doc' => ':build'
depends_on 'libxtrans' => ':build'
depends_on 'xmlto' => ':build'
depends_on 'docbook_xsl' => ':build'
def self.build
system "meson #{CREW_MESON_LTO_OPTIONS}\
-Dsystemd=false \
-Dsystemd_session=disable \
-Dsystemd_journal=false \
builddir"
system 'meson configure builddir'
system 'ninja -C builddir'
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
require 'package'
class Gnome_shell < Package
description 'Next generation desktop shell'
homepage 'https://wiki.gnome.org/Projects/GnomeShell'
version '40.beta'
compatibility 'x86_64 aarch64 armv7l'
source_url "https://github.com/GNOME/gnome-shell/archive/#{version}.tar.gz"
source_sha256 'fd929eba43ca52c1f620460be02de0c116ea7ba792e504329eb85c83e5800ada'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_shell-40.beta-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_shell-40.beta-chromeos-armv7l.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_shell-40.beta-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: 'c033e58da3bd7f34d3bdb49dea3254aa18a5bd9093ed6c516e23c413aac58ac9',
armv7l: 'c033e58da3bd7f34d3bdb49dea3254aa18a5bd9093ed6c516e23c413aac58ac9',
x86_64: '3bffb1ccc2ca22a72c37599ece8b61c01f75fc7e3157d1e7c0ef2e7a2f47dd88'
})
depends_on 'gcr'
depends_on 'gjs'
depends_on 'ibus'
depends_on 'mutter'
depends_on 'sassc'
depends_on 'asciidoc'
depends_on 'startup_notification'
depends_on 'gnome_autoar'
depends_on 'upower'
depends_on 'gnome_session'
depends_on 'gtk_doc' => ':build'
depends_on 'evolution_data_server' => ':build'
depends_on 'gobject_introspection' => ':build'
def self.patch
# Source has libgnome-volume-control repo as submodule
@git_dir = 'subprojects/gvc'
@git_hash = '7a621180b46421e356b33972e3446775a504139c'
@git_url = 'https://gitlab.gnome.org/GNOME/libgnome-volume-control.git'
FileUtils.rm_rf(@git_dir)
FileUtils.mkdir_p(@git_dir)
Dir.chdir @git_dir do
system 'git init'
system "git remote add origin #{@git_url}"
system "git fetch --depth 1 origin #{@git_hash}"
system 'git checkout FETCH_HEAD'
end
end
def self.build
system "meson #{CREW_MESON_LTO_OPTIONS} \
-Dgtk_doc=true \
-Dsystemd=false \
-Dnetworkmanager=false \
builddir"
system 'meson configure builddir'
system 'ninja -C builddir'
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
require 'package'
class Gnome_tweaks < Package
description 'Graphical interface for advanced GNOME 3 settings Tweak Tool'
@_ver = '40.beta'
version @_ver
compatibility 'x86_64 aarch64 armv7l'
source_url "https://gitlab.gnome.org/GNOME/gnome-tweaks/-/archive/#{@_ver}/gnome-tweaks-#{@_ver}.tar.bz2"
source_sha256 'b274a4a9bf93405bd487f5a2bb93fc15bfe0312b21dbebfe5088b8d477d63416'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_tweaks-40.beta-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_tweaks-40.beta-chromeos-armv7l.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gnome_tweaks-40.beta-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: 'fb04b6ae9e7bc37672bd78e1c4776d98d4b0e9dce170d0c68efbb06cc779b684',
armv7l: 'fb04b6ae9e7bc37672bd78e1c4776d98d4b0e9dce170d0c68efbb06cc779b684',
x86_64: 'b6088a18bd9568a8b6c6a6f983e85e3e8df5efc084283035eff6b6d5cbbe2f28'
})
depends_on 'gnome_settings_daemon'
depends_on 'gsettings_desktop_schemas'
depends_on 'pygobject'
depends_on 'libhandy1'
depends_on 'libnotify'
def self.build
system "meson setup #{CREW_MESON_LTO_OPTIONS} builddir"
system 'meson configure builddir'
system 'ninja -C builddir'
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
......@@ -3,36 +3,48 @@ require 'package'
class Gusb < Package
description 'GUsb is a GObject wrapper for libusb1'
homepage 'https://www.openhub.net/p/gusb'
version '0.2.11-0'
@_ver = '0.3.5'
version @_ver
compatibility 'all'
source_url 'https://github.com/hughsie/libgusb/archive/gusb_0_2_11.tar.gz'
source_sha256 '090eb605e75f8a5b0b3df7ff29d96dd51730850ac89417378d4a8d39fab13702'
source_url "https://github.com/hughsie/libgusb/archive/#{@_ver}.tar.gz"
source_sha256 '188c7964422417d39b02a5c645e136b1389c80e38e7abfa911fc196b9c748f45'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.2.11-0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.2.11-0-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.2.11-0-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.2.11-0-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.3.5-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.3.5-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.3.5-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/gusb-0.3.5-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '7c75eff68455aad38547deac7a50f44992bc47dc8a72ec12e5038f72783266cb',
armv7l: '7c75eff68455aad38547deac7a50f44992bc47dc8a72ec12e5038f72783266cb',
i686: '84a56516c6b57823eb7f921c96e7de2989b6fc6b0fbd2777b15510059cc8f04f',
x86_64: 'fa9af05a8ab68391a7221b5b3b6feb986b66c40f1bbebde98bf1a1c4fd9089bd',
binary_sha256({
aarch64: '57ca56f4b7f50e7365d47bd7296d162ee24d0983894c838d2a4e0191902f8537',
armv7l: '57ca56f4b7f50e7365d47bd7296d162ee24d0983894c838d2a4e0191902f8537',
i686: '90abb8dce0577287d373178ded6be2fd200270a4513a4f2fb028f7475b133a71',
x86_64: '90a04122895b2567cd67751e63c59e1b39c934c1b1e7c6d604a73b8e17444f20'
})
depends_on 'gtk_doc'
depends_on 'libusb'
depends_on 'usbutils'
depends_on 'gobject_introspection'
def self.patch
system "sed -i 's/-fstack-protector-strong/-flto/g' meson.build"
end
def self.build
system "./autogen.sh"
system "./configure --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX}"
system "make"
system "meson #{CREW_MESON_LTO_OPTIONS} \
-Dc_args='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dc_link_args='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dcpp_args='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dcpp_link_args='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
-Dusb_ids=#{CREW_PREFIX}/share/hwdata/usb.ids \
-Ddocs=false \
builddir"
system 'meson configure builddir'
system 'ninja -C builddir'
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
......@@ -3,30 +3,34 @@ require 'package'
class Lcms < Package
description 'Little CMS intends to be an OPEN SOURCE small-footprint color management engine, with special focus on accuracy and performance.'
homepage 'http://www.littlecms.com/'
version '2.9'
@_ver = '2.12'
version @_ver
compatibility 'all'
source_url 'https://downloads.sourceforge.net/lcms/lcms2-2.9.tar.gz'
source_sha256 '48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20'
source_url "https://github.com/mm2/Little-CMS/releases/download/lcms#{@_ver}/lcms2-#{@_ver}.tar.gz"
source_sha256 '18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.9-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.9-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.9-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.9-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.12-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.12-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.12-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/lcms-2.12-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '4e99a0236ce9f49f2a73fbc3b796112c0bc548c8bf6bb6af454e2b8c8fca5fd7',
armv7l: '4e99a0236ce9f49f2a73fbc3b796112c0bc548c8bf6bb6af454e2b8c8fca5fd7',
i686: '468dcb84ddeb0b7f4f486f766e7530e60ecdb020b5457cc65b5dbc3e5e0137d5',
x86_64: '47e4c1c86f4a455920106d10bfa4ec8cd47f36e41b71ea27e3bac6551a09d68c',
binary_sha256({
aarch64: '9cad876e65a97e351278154858ae68200828b01f0d93330b821ecf53d5b31ad5',
armv7l: '9cad876e65a97e351278154858ae68200828b01f0d93330b821ecf53d5b31ad5',
i686: '262396399c146e50ad5b38725355bb301f3db2f6beddeaea041f962bfdae9907',
x86_64: '8fba4add85dcbdd7498a64c065579a7c3625914c437f8ffe363c15cd3b8d67bb'
})
def self.build
system "./configure --prefix=#{CREW_PREFIX} --libdir=#{CREW_LIB_PREFIX}"
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
./configure #{CREW_OPTIONS}"
system 'make'
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
end
end
......@@ -3,41 +3,46 @@ require 'package'
class Libssh < Package
description 'libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side.'
homepage 'https://www.libssh.org/'
version '0.9.5'
@_ver = '0.9.5'
version "#{@_ver}-1"
compatibility 'all'
source_url 'https://www.libssh.org/files/0.9/libssh-0.9.5.tar.xz'
@_ver_prelastdot = @_ver.rpartition('.')[0]
source_url "https://www.libssh.org/files/#{@_ver_prelastdot}/libssh-#{@_ver}.tar.xz"
source_sha256 'acffef2da98e761fc1fd9c4fddde0f3af60ab44c4f5af05cd1b2d60a3fa08718'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libssh-0.9.5-1-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '45e7c8962944c4ac002e9cc979dbd2cf489bb83c7a655c7d06765eebb92fee14',
armv7l: '45e7c8962944c4ac002e9cc979dbd2cf489bb83c7a655c7d06765eebb92fee14',
i686: '84bb42a662fa7c7c4e7e74e014f9fa489c48150ec24c89da7b44241b4da7dae8',
x86_64: '1e288d85f122cf5fbce82464aa665bf453fdb70eb306eb891f39a4ef61b4de43',
binary_sha256({
aarch64: '7823ea3948867ed6b44ff1d62334aa011db8d3e07452c5a6312f5873a26d681c',
armv7l: '7823ea3948867ed6b44ff1d62334aa011db8d3e07452c5a6312f5873a26d681c',
i686: '07e75554e44aaef4210d9bf6a17b098953d03054ff5f2614dc4c4719d6936d8b',
x86_64: 'a3f1c7727f88271291316d186698e2c94afd275493f3b27e93f2eb152679970e'
})
depends_on 'libgcrypt'
def self.build
Dir.mkdir 'build'
Dir.chdir 'build' do
system "cmake \
Dir.mkdir 'builddir'
Dir.chdir 'builddir' do
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
cmake -G Ninja \
#{CREW_CMAKE_OPTIONS} \
-DCMAKE_C_FLAGS='-fstack-protector-strong' \
-DWITH_STACK_PROTECTOR_STRONG=NO \
-DWITH_STACK_CLASH_PROTECTION=NO \
-DWITH_STACK_PROTECTOR=NO \
-DWITH_GCRYPT=ON \
.."
system 'make'
end
system 'ninja -C builddir'
end
def self.install
Dir.chdir 'build' do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
......@@ -3,30 +3,32 @@ require 'package'
class Libva < Package
description 'Libva is an implementation for VA-API (VIdeo Acceleration API)'
homepage 'https://01.org/linuxmedia'
version '2.10.0'
@_ver = '2.10.0'
version "#{@_ver}-1"
compatibility 'all'
source_url 'https://github.com/intel/libva/releases/download/2.10.0/libva-2.10.0.tar.bz2'
source_url "https://github.com/intel/libva/releases/download/#{@_ver}/libva-#{@_ver}.tar.bz2"
source_sha256 'fa81e35b50d9818fce5ec9eeeeff08a24a8864ceeb9a5c8e7ae4446eacfc0236'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/libva-2.10.0-1-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '5f66aaac102c5c21759a5f4e7395a79b94292f3aa653d970ce0460fdfa2cbfa6',
armv7l: '5f66aaac102c5c21759a5f4e7395a79b94292f3aa653d970ce0460fdfa2cbfa6',
i686: '0511fbc6c345dbf98d46638a20e8ed53341fc9dbe415792217181d535e9819f0',
x86_64: '500ce66bbf4884373920cc09cc5eea80e6d4864c274b8f93e9bc4ffe2394263a',
binary_sha256({
aarch64: 'f15abb28fabd3705d576c431e0f33f4e0d66d4d91265dc48c85c0025bdf27718',
armv7l: 'f15abb28fabd3705d576c431e0f33f4e0d66d4d91265dc48c85c0025bdf27718',
i686: '67c020e5b9d42b3d1ad30bbda26ade95bc50c2e2d32d61c01953d2bc85caf8d1',
x86_64: '6c226597b4cce0c915a83e493fe43d470b31b87c4a21b74bb17cfcdbcb683c77'
})
depends_on 'llvm' => ':build'
depends_on 'libdrm'
def self.build
ENV['CXXFLAGS'] = "-fuse-ld=lld"
system "./configure #{CREW_OPTIONS}"
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto -fuse-ld=gold' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
./configure #{CREW_OPTIONS}"
system 'make'
end
......
require 'package'
class Mutter < Package
description 'A window manager for GNOME'
homepage 'https://gitlab.gnome.org/GNOME/mutter'
version '40.beta'
compatibility 'x86_64 aarch64 armv7l'
source_url "https://download.gnome.org/core/40/#{version}/sources/mutter-#{version}.tar.xz"
source_sha256 '22aa7f8a57dbef865bc4e9b88f8fb91f45f18157d70f218199238bc10c25b1a6'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/mutter-40.beta-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/mutter-40.beta-chromeos-armv7l.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/mutter-40.beta-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: '6120122d259d3309e5244e06d793d67c7f41327ab1c177422adf0940c1f58c72',
armv7l: '6120122d259d3309e5244e06d793d67c7f41327ab1c177422adf0940c1f58c72',
x86_64: '213c59512a34b6fdc0f2e3f709be654c826742dc50ef20e3d796d92188914900'
})
depends_on 'dconf'
depends_on 'gnome_settings_daemon'
depends_on 'gsettings_desktop_schemas'
depends_on 'gobject_introspection' => ':build'
depends_on 'xorg_server' => ':build'
depends_on 'libinput'
depends_on 'libwacom'
depends_on 'startup_notification'
depends_on 'pipewire'
depends_on 'libcanberra'
depends_on 'ccache' => :build
def self.build
system "meson #{CREW_MESON_LTO_OPTIONS} \
-Dtests=false \
-Dprofiler=false \
-Dopengl=true \
-Dglx=true \
-Dwayland=true \
-Dnative_backend=true \
-Dcogl_tests=true \
-Dxwayland_path=#{CREW_PREFIX}/bin/Xwayland \
builddir"
system 'meson configure builddir'
system 'ninja -C builddir'
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
end
end
......@@ -3,33 +3,34 @@ require 'package'
class Sane_backends < Package
description 'Scanner Access Now Easy - Backends'
homepage 'http://www.sane-project.org/'
version '1.0.27'
version '1.0.32'
compatibility 'all'
source_url 'https://gitlab.com/sane-project/backends/-/archive/RELEASE_1_0_27/backends-RELEASE_1_0_27.tar.bz2'
source_sha256 '6a4034a9d29255bb40cf5a19f3d85dd7ba4fe6452eb9b1ae4385bc8175493ec4'
source_url 'https://gitlab.com/sane-project/backends/uploads/104f09c07d35519cc8e72e604f11643f/sane-backends-1.0.32.tar.gz'
source_sha256 '3a28c237c0a72767086202379f6dc92dbb63ec08dfbab22312cba80e238bb114'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.27-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.27-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.27-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.27-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.32-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.32-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.32-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_backends-1.0.32-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '88808a041b13f2cc49fcc997e79ee2976010613d4961a552022b5a1d9887fd98',
armv7l: '88808a041b13f2cc49fcc997e79ee2976010613d4961a552022b5a1d9887fd98',
i686: '890abd21b508d9efc1a91e7738f00b58589110c536b79b9df8c3ee12b5f39e4c',
x86_64: 'b585e6efcc75a0d54dc1468d6e9fa00445af1a5ceb01752dc11d7ad65a101efc',
binary_sha256({
aarch64: 'ac5d7ac8a77796e58a2b423ecabb59df5cbcec5c734080942cf187517deecaf9',
armv7l: 'ac5d7ac8a77796e58a2b423ecabb59df5cbcec5c734080942cf187517deecaf9',
i686: '5fad9e3f62a984238d46ce0eb4a3e29bb687a38c7fc356c8a058c9fe242395e5',
x86_64: '977124535b8365b80a29d6449f22cb0760f417f294f341ec53ebd9faae2c4cab'
})
def self.build
system './configure',
"--prefix=#{CREW_PREFIX}",
"--libdir=#{CREW_LIB_PREFIX}",
'--disable-maintainer-mode'
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
./configure #{CREW_OPTIONS} \
--disable-maintainer-mode"
system 'make'
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
end
end
......@@ -3,35 +3,36 @@ require 'package'
class Sane_frontends < Package
description 'Scanner Access Now Easy - Frontends'
homepage 'http://www.sane-project.org/'
version 'c3e739'
version '5729'
compatibility 'all'
source_url 'https://gitlab.com/sane-project/frontends/-/archive/c3e739702f965f635319e0407c5a1e0b17dd7b42/frontends-c3e739702f965f635319e0407c5a1e0b17dd7b42.tar.bz2'
source_sha256 'eb38d1ff3cc074a5db2538c523e654db1946f6e96593e252e433467ebab8a525'
source_url 'https://gitlab.com/sane-project/frontends/-/archive/572980c81586c114fd66fc473c634b4b2780cda2/frontends-572980c81586c114fd66fc473c634b4b2780cda2.tar.bz2'
source_sha256 'c58a2066891428c6e6c6f625b595e3ada8b36dfe69250b1bbdaded91d76b094f'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-c3e739-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-c3e739-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-c3e739-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-c3e739-chromeos-x86_64.tar.xz',
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-5729-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-5729-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-5729-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/sane_frontends-5729-chromeos-x86_64.tar.xz'
})
binary_sha256 ({
aarch64: '2867edb5d4a2ce0d6dca6ce7794d407900b9e3841fe42dd722a6fabdbddd8021',
armv7l: '2867edb5d4a2ce0d6dca6ce7794d407900b9e3841fe42dd722a6fabdbddd8021',
i686: '6bc6e0a417fe5aed435c1acee5796729a241ff6584930c66f49ebd65f8fc1ad7',
x86_64: '7404a4f07aeaee09f4610faafa40251f6f22c93b92cce5eeed267305dd9e8576',
binary_sha256({
aarch64: '2ccfe4f3af211f4132015436d57f65a59d9d011d73ad4919cb0fb7d2555d2d48',
armv7l: '2ccfe4f3af211f4132015436d57f65a59d9d011d73ad4919cb0fb7d2555d2d48',
i686: '4ede64326112d776b179874c889484b6fedd0dc2b5203fbb99eadad1b03ca1e8',
x86_64: 'd019012cc57c3212db24418df945a7dbf078ace549e875cbf312d19e0d4a8f44'
})
depends_on 'sane_backends'
depends_on 'sommelier'
def self.build
system './configure',
"--prefix=#{CREW_PREFIX}",
'--disable-maintainer-mode'
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
./configure #{CREW_OPTIONS} \
--disable-maintainer-mode"
system 'make'
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
end
end
......@@ -4,31 +4,38 @@ class Tcl < Package
description 'Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.'
homepage 'http://www.tcl.tk/'
@_ver = '8.6.11'
version @_ver
@_ver_prelastdot = @_ver.rpartition('.')[0]
version "#{@_ver}-1"
compatibility 'all'
source_url "https://downloads.sourceforge.net/project/tcl/Tcl/#{@_ver}/tcl#{@_ver}-src.tar.gz"
source_sha256 '8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-chromeos-x86_64.tar.xz'
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tcl-8.6.11-1-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: 'd1a9f91c71af31f9c862ae92836a9ec4c84c9d0213c1ce85d996a69213e1be7c',
armv7l: 'd1a9f91c71af31f9c862ae92836a9ec4c84c9d0213c1ce85d996a69213e1be7c',
i686: '6581a445fa9c0a57b66bd4f32cac09f6b9e3a002b377e97163cfba10ff73f230',
x86_64: '502238e6785c264e145b19fec1267104a839ecd4ab6cce9e21802810c601e591'
aarch64: '82ae2b101306c3a450a81a44e3b9d5e05b2a5f6bcfaba6bbe9907a26b04914aa',
armv7l: '82ae2b101306c3a450a81a44e3b9d5e05b2a5f6bcfaba6bbe9907a26b04914aa',
i686: '52dbbca5c17fc69ced4ae740c00f5c992dd0a7495753c9c32c2ffe6a0ce3f052',
x86_64: '2a7b7348a8b4c83b3bd5b6e6d584911ebba10db0b1485f974888ec4f5734f27f'
})
# tk breaks if tcl is built with lto
def self.build
FileUtils.chdir('unix') do
if ARCH == 'x86_64'
system "./configure #{CREW_OPTIONS} --enable-64bit"
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE' \
./configure #{CREW_OPTIONS} --enable-64bit"
else
system "./configure #{CREW_OPTIONS} --disable-64bit"
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE' \
./configure #{CREW_OPTIONS} --disable-64bit"
end
system 'make'
end
......@@ -38,18 +45,7 @@ class Tcl < Package
FileUtils.chdir('unix') do
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install-private-headers'
FileUtils.ln_s "#{CREW_PREFIX}/bin/tclsh8.6", "#{CREW_DEST_PREFIX}/bin/tclsh"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/itcl4.2.0/libitcl4.2.0.so", "#{CREW_DEST_LIB_PREFIX}/libitcl4.2.0.so"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/tdbc1.1.1/libtdbc1.1.1.so", "#{CREW_DEST_LIB_PREFIX}/libtdbc1.1.1.so"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/thread2.8.5/libthread2.8.5.so", "#{CREW_DEST_LIB_PREFIX}/libthread2.8.5.so"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/tdbcodbc1.1.1/libtdbcodbc1.1.1.so",
"#{CREW_DEST_LIB_PREFIX}/libtdbcodbc1.1.1.so"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/sqlite3.30.1.2/libsqlite3.30.1.2.so",
"#{CREW_DEST_LIB_PREFIX}/libsqlite3.30.1.2.so"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/tdbcmysql1.1.1/libtdbcmysql1.1.1.so",
"#{CREW_DEST_LIB_PREFIX}/libtdbcmysql1.1.1.so"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/tdbcpostgres1.1.1/libtdbcpostgres1.1.1.so",
"#{CREW_DEST_LIB_PREFIX}/libtdbcpostgres1.1.1.so"
FileUtils.ln_s "#{CREW_PREFIX}/bin/tclsh#{@_ver_prelastdot}", "#{CREW_DEST_PREFIX}/bin/tclsh"
end
end
end
......@@ -4,22 +4,23 @@ class Tk < Package
description 'Tk is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches.'
homepage 'http://www.tcl.tk/'
@_ver = '8.6.11'
version @_ver
@_ver_prelastdot = @_ver.rpartition('.')[0]
version "#{@_ver}-1"
compatibility 'all'
source_url "https://downloads.sourceforge.net/project/tcl/Tcl/#{@_ver}/tk#{@_ver}-src.tar.gz"
source_sha256 '5228a8187a7f70fa0791ef0f975270f068ba9557f57456f51eb02d9d4ea31282'
binary_url({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-chromeos-x86_64.tar.xz'
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/tk-8.6.11-1-chromeos-x86_64.tar.xz'
})
binary_sha256({
aarch64: 'a8866147a504c56cd834f71e078d6ca080f52873e673cbc55c7a7939991c6d3b',
armv7l: 'a8866147a504c56cd834f71e078d6ca080f52873e673cbc55c7a7939991c6d3b',
i686: '8a4afe834eaf7fb966714513becbde55e10125e1c3018e2db61aabb5565526fe',
x86_64: 'dac36fa0385f8958676b71ee2dc10278fa7e5ebf7aa6ae3a3e04ea1b85fa9443'
aarch64: '45f352f6979be6011f5f1d4a8ee6caef842ae2d8579f2d3ae69bf361a41e320d',
armv7l: '45f352f6979be6011f5f1d4a8ee6caef842ae2d8579f2d3ae69bf361a41e320d',
i686: '13d38ebfee7bec6dc28f0785fed724d459b22e3dbf8e8f2c7483c05ee75e0c25',
x86_64: '05b1753d45c1820ec8f51e28fe523376efaf04589b93bcefd38fc83752587390'
})
depends_on 'xorg_lib'
......@@ -28,18 +29,18 @@ class Tk < Package
def self.build
FileUtils.chdir('unix') do
if ARCH == 'x86_64'
system "env CFLAGS='-flto=auto -pipe -fuse-ld=gold' \
CXXFLAGS='-flto=auto -pipe -fuse-ld=gold' \
LDFLAGS='-flto=auto' \
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
./configure \
#{CREW_OPTIONS} \
--with-tcl=#{CREW_LIB_PREFIX} \
--enable-threads \
--enable-64bit"
else
system "env CFLAGS='-flto=auto -pipe -fuse-ld=gold' \
CXXFLAGS='-flto=auto -pipe -fuse-ld=gold' \
LDFLAGS='-flto=auto' \
system "env CFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
CXXFLAGS='-pipe -fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
LDFLAGS='-fno-stack-protector -U_FORTIFY_SOURCE -flto=auto' \
./configure \
#{CREW_OPTIONS} \
--with-tcl=#{CREW_LIB_PREFIX} \
......@@ -53,7 +54,7 @@ class Tk < Package
def self.install
FileUtils.chdir('unix') do
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
FileUtils.ln_s "#{CREW_PREFIX}/bin/wish8.6", "#{CREW_DEST_PREFIX}/bin/wish"
FileUtils.ln_s "#{CREW_PREFIX}/bin/wish#{@_ver_prelastdot}", "#{CREW_DEST_PREFIX}/bin/wish"
end
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