Files
chromebrew/packages/ncurses.rb
github-actions[bot] 61ae71bc28 AutoBuild: perl started at 2025-07-04-13UTC (#12140)
* perl => 5.42

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update texinfo

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update packages

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update hashes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update perl packages

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update perl packages

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update perl packages

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update perl packages

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add perl to CREW_STANDALONE_UPGRADE_ORDER

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust default perl version in const.rb

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: Satadru Pramanik <satadru@gmail.com>
2025-07-05 02:16:19 +00:00

81 lines
4.1 KiB
Ruby

# Adapted from Arch Linux ncurses PKGBUILD at:
# https://gitlab.archlinux.org/archlinux/packaging/packages/ncurses/-/blob/main/PKGBUILD
require 'buildsystems/autotools'
class Ncurses < Autotools
description 'The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0 (SVr4), and more. — Wide character'
homepage 'https://www.gnu.org/software/ncurses/'
version '6_5_20250628'
license 'MIT'
compatibility 'all'
source_url 'https://github.com/ThomasDickey/ncurses-snapshots.git'
git_hashtag "v#{version}"
binary_compression 'tar.zst'
binary_sha256({
aarch64: '1f792c951de95bca90a1d008a3aa393c26f2bc8067cc89b1f0b4a29860098d49',
armv7l: '1f792c951de95bca90a1d008a3aa393c26f2bc8067cc89b1f0b4a29860098d49',
i686: '8387cb99551fda22c16b36f0e9d76400293bc62ba283b1898e81031a904af29a',
x86_64: '6520c65b81a9a60f7a7f0ba869007f366834bc9c2d7a9a427e3339d4b08550a5'
})
depends_on 'gcc_lib' # R
depends_on 'glibc' # R
autotools_configure_options "--program-prefix='' \
--program-suffix='' \
--disable-root-access \
--disable-root-environ \
--disable-setuid-environ \
--with-shared \
--with-cxx-binding \
--with-cxx-shared \
--with-manpage-format=normal \
--without-debug \
--enable-pc-files \
--with-pkg-config-libdir=#{CREW_LIB_PREFIX}/pkgconfig \
--enable-widec \
--without-tests \
--without-ada \
--enable-termcap"
def self.install
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
@curseslibs = %w[ncurses ncurses++ form panel menu]
@curseslibs.each do |lib|
File.write("#{CREW_DEST_LIB_PREFIX}/lib#{lib}.so", "INPUT(-l#{lib}w)")
Dir["#{CREW_DEST_LIB_PREFIX}/lib#{lib}*.so.*"].each do |so|
baselib = File.basename(so)
FileUtils.ln_sf "#{CREW_LIB_PREFIX}/#{baselib}", "#{CREW_DEST_LIB_PREFIX}/#{baselib.gsub('w.so', '.so')}"
end
FileUtils.ln_sf "#{CREW_LIB_PREFIX}/pkgconfig/#{lib}w.pc", "#{CREW_DEST_LIB_PREFIX}/pkgconfig/#{lib}.pc"
end
File.write("#{CREW_DEST_LIB_PREFIX}/libcursesw.so", 'INPUT(-lncursesw)')
FileUtils.ln_sf "#{CREW_LIB_PREFIX}/libncursesw.so", "#{CREW_DEST_LIB_PREFIX}/libcurses.so"
@ticlibs = %w[tic ticinfo tinfo]
@ticlibs.each do |lib|
File.write("#{CREW_DEST_LIB_PREFIX}/lib#{lib}.so", 'INPUT(libncursesw.so)')
Dir["#{CREW_DEST_LIB_PREFIX}/lib#{lib}*.so.*"].each do |so|
baselib = File.basename(so)
FileUtils.ln_s "#{CREW_LIB_PREFIX}/#{baselib}", "#{CREW_DEST_LIB_PREFIX}/#{baselib.gsub('w.so', '.so')}" unless File.file?("#{CREW_DEST_LIB_PREFIX}/#{baselib.gsub('w.so', '.so')}")
end
Dir["#{CREW_DEST_LIB_PREFIX}/libncursesw.so.*"].each do |so|
baselibsuffix = File.basename(so).gsub('libncursesw.so', '')
FileUtils.ln_s "#{CREW_LIB_PREFIX}/libncursesw.so", "#{CREW_DEST_LIB_PREFIX}/lib#{lib}.so" unless File.file?("#{CREW_DEST_LIB_PREFIX}/lib#{lib}.so")
FileUtils.ln_s "#{CREW_LIB_PREFIX}/libncursesw.so", "#{CREW_DEST_LIB_PREFIX}/lib#{lib}w.so" unless File.file?("#{CREW_DEST_LIB_PREFIX}/lib#{lib}w.so")
FileUtils.ln_s "#{CREW_LIB_PREFIX}/libncursesw.so", "#{CREW_DEST_LIB_PREFIX}/lib#{lib}.so#{baselibsuffix}" unless File.file?("#{CREW_DEST_LIB_PREFIX}/lib#{lib}.so#{baselibsuffix}")
FileUtils.ln_s "#{CREW_LIB_PREFIX}/libncursesw.so", "#{CREW_DEST_LIB_PREFIX}/lib#{lib}w.so#{baselibsuffix}" unless File.file?("#{CREW_DEST_LIB_PREFIX}/lib#{lib}w.so#{baselibsuffix}")
end
FileUtils.ln_s "#{CREW_LIB_PREFIX}/pkgconfig/ncursesw.pc", "#{CREW_DEST_LIB_PREFIX}/pkgconfig/#{lib}.pc"
FileUtils.ln_s "#{CREW_LIB_PREFIX}/pkgconfig/ncursesw.pc", "#{CREW_DEST_LIB_PREFIX}/pkgconfig/#{lib}w.pc"
end
FileUtils.ln_sf "#{CREW_PREFIX}/bin/ncursesw6-config", "#{CREW_DEST_PREFIX}/bin/ncurses6-config"
FileUtils.ln_sf "#{CREW_PREFIX}/include/ncursesw", "#{CREW_DEST_PREFIX}/include/ncurses"
# Remove conflicts with dvtm package.
Dir.chdir "#{CREW_DEST_PREFIX}/share/terminfo/d" do
FileUtils.rm %w[dvtm dvtm-256color]
end
end
end