mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-10 07:57:59 -05:00
76 lines
2.7 KiB
Ruby
76 lines
2.7 KiB
Ruby
require 'package'
|
|
|
|
class Sl < Package
|
|
description 'Steam Locomotive runs across your terminal when you type "sl" as you meant to type "ls".'
|
|
homepage 'https://github.com/mtoyoda/sl/'
|
|
version '5.02'
|
|
license 'Toyoda'
|
|
compatibility 'all'
|
|
source_url 'https://github.com/mtoyoda/sl/archive/5.02.tar.gz'
|
|
source_sha256 '1e5996757f879c81f202a18ad8e982195cf51c41727d3fea4af01fdcbbb5563a'
|
|
|
|
binary_url({
|
|
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sl/5.02_armv7l/sl-5.02-chromeos-armv7l.tar.xz',
|
|
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sl/5.02_armv7l/sl-5.02-chromeos-armv7l.tar.xz',
|
|
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sl/5.02_i686/sl-5.02-chromeos-i686.tar.xz',
|
|
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/sl/5.02_x86_64/sl-5.02-chromeos-x86_64.tar.xz'
|
|
})
|
|
binary_sha256({
|
|
aarch64: '6eec64e45434268292b6c3529799b67ddca817418807fe3ce724a3c0f6a5be84',
|
|
armv7l: '6eec64e45434268292b6c3529799b67ddca817418807fe3ce724a3c0f6a5be84',
|
|
i686: '1e8ce70c5f1b292c3187e708bd2603de328af24e64b0f6e3c38fec41b1db0083',
|
|
x86_64: 'e357445a2f8c73f9e9de3fd0b5e5383d809991b0633b82bd1ce28e0ced33c315'
|
|
})
|
|
|
|
def self.patch
|
|
@addeoption = <<~EOF
|
|
--- a/sl.c
|
|
+++ b/sl.c
|
|
@@ -53,6 +53,7 @@
|
|
int LOGO = 0;
|
|
int FLY = 0;
|
|
int C51 = 0;
|
|
+int INTR = 0;
|
|
|
|
int my_mvaddstr(int y, int x, char *str)
|
|
{
|
|
@@ -73,6 +74,7 @@
|
|
case 'F': FLY = 1; break;
|
|
case 'l': LOGO = 1; break;
|
|
case 'c': C51 = 1; break;
|
|
+ case 'e': INTR = 1; break;
|
|
default: break;
|
|
}
|
|
}
|
|
@@ -88,7 +90,9 @@
|
|
}
|
|
}
|
|
initscr();
|
|
- signal(SIGINT, SIG_IGN);
|
|
+ if (INTR == 1) {
|
|
+ signal(SIGINT, SIG_IGN);
|
|
+ }
|
|
noecho();
|
|
curs_set(0);
|
|
nodelay(stdscr, TRUE);
|
|
EOF
|
|
IO.write('add_-e_option.patch', @addeoption)
|
|
system 'patch -Np1 -i add_-e_option.patch'
|
|
|
|
system "sed -i 's:#include <curses.h>:#include <ncursesw/curses.h>:' sl.c"
|
|
end
|
|
|
|
def self.build
|
|
system 'gcc -o sl sl.c -O2 -pipe -flto=auto -fuse-ld=gold -lncursesw -ltinfow'
|
|
end
|
|
|
|
def self.install
|
|
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/bin/"
|
|
FileUtils.mkdir_p "#{CREW_DEST_MAN_PREFIX}/man1/"
|
|
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/include/"
|
|
FileUtils.install 'sl', "#{CREW_DEST_PREFIX}/bin/sl", mode: 0o755
|
|
FileUtils.install 'sl.1', "#{CREW_DEST_MAN_PREFIX}/man1/sl.1", mode: 0o644
|
|
FileUtils.install 'sl.h', "#{CREW_DEST_PREFIX}/include/sl.h", mode: 0o644
|
|
end
|
|
end
|