def configure_coreutils(): with stdlib.pushenv(): os.environ['FORCE_UNSAFE_CONFIGURE'] = '1' stdlib.cmd('autoreconf -fiv') configure( '--enable-no-install-program=kill,uptime' # Installed by other packages )
def build(build): packages = autotools.build( configure=lambda: configure( '--with-system-expat', '--with-system-ffi', '--without-ensurepip', '--enable-optimizations', ), split=drain_all_with_doc, install=lambda: make('altinstall', f'DESTDIR={build.install_cache}'), ) # Make it executable with stdlib.pushd(packages['dev-lang/python'].wrap_cache): os.chmod(f'usr/lib64/libpython{build.major}.{build.minor}m.so', 0o0755) os.chmod(f'usr/lib64/libpython{build.major}.so', 0o0755) # Make the python -> python3 symlink packages['dev-lang/python'].make_symlink(f'python{build.major}', 'usr/bin/python') packages['dev-lang/python'].make_symlink( f'python{build.major}.{build.minor}', f'usr/bin/python{build.major}') # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['dev-lang/python'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure('--disable-documentation'), ) packages['sys-libs/wayland-dev'].drain('usr/share/wayland/') return packages
def build(build): # The FHS recommends using the /var/lib/hwclock directory instead of the usual /etc directory as the location for the adjtime file os.environ['ADJTIME_PATH'] = '/var/lib/hwclock/adjtime' packages = autotools.build( configure=lambda: configure( '--disable-chfn-chsh', '--disable-login', '--disable-nologin', '--disable-su', '--disable-setpriv', '--disable-runuser', '--disable-pylibmount', '--disable-static', '--without-python', ), check=check_util_linux, ) # Remove the dependencie on systemd to avoid a circular dependency (TODO FIXME) del packages['sys-apps/util-linux'].run_dependencies[ 'beta::sys-apps/systemd'] # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/util-linux'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build(configure=lambda: configure( '--disable-doxygen-docs', '--disable-xml-docs', '--docdir=/usr/share/doc/dbus', '--with-console-auth-dir=/run/console', ), ) # Drain common and shared files packages['sys-apps/dbus'].drain( 'usr/share/', 'usr/lib64/dbus-daemon-launch-helper', ) # Drain the development files laying in unusual places packages['sys-apps/dbus-dev'].drain( 'usr/lib64/**/*.cmake', 'usr/lib64/**/*.h', 'usr/lib64/**/*.dtd', ) # Create a symlink, so that D-Bus and systemd can use the same machine-id file: packages['sys-apps/dbus'].make_symlink('/etc/machine-id', 'var/lib/dbus/machine-id') # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/dbus'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure('--with-xkb-rules-symlink=xorg', )) packages['dev-resources/xkeyboard-config'].drain('usr/share/*') return packages
def build(build): packages = autotools.build( configure=lambda: configure('--with-gnutls=no'), ) packages['editor/emacs'].drain('usr/lib64/', 'usr/share/{applications,icons,emacs}') return packages
def build(build): return autotools.build(configure=lambda: configure( '--enable-unicode-properties', '--enable-pcre16', '--enable-pcre32', '--enable-pcregrep-libz', '--enable-pcregrep-libbz2', '--enable-pcretest-libreadline', ))
def build(build): packages = autotools.build( configure=lambda: configure('--enable-libgdbm-compat', ), ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-libs/gdbm'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--with-ncurses', '--enable-multibyte',{downarrow}, compile=lambda: make('SHLIB_LIBS=-lncursesw'), # Ensures readline is linked against the libncursesw library install=lambda: make('install', 'SHLIB_LIBS=-lncursesw', f'DESTDIR={{}build.install_cache{}}'),{downarrow} # Drain examples in readline-dev packages['sys-libs/readline-dev'].drain(
def build(build): # TODO FIXME The following will be removed in a futur pass of glibc os.environ['GCC_INCDIR'] = '/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include' os.environ[ 'CC'] = 'gcc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include -isystem /usr/include ' packages = autotools.build( build_folder='build', extract=extract_glibc, configure=lambda: configure( '--enable-kernel=3.2', '--enable-stack-protector=strong', '--infodir="/usr/share/info/glibc/"', binary='../configure', ), split=split_glibc, install=install_glibc, ) # Drain pre-installed configuration packages['sys-libs/glibc'].drain_build_cache('nscd/nscd.conf', 'etc/nscd.conf') packages['sys-libs/glibc'].drain_build_cache( 'nscd/nscd.tmpfiles', 'usr/lib/tmpfiles.d/nscd.conf') packages['sys-libs/glibc'].drain_build_cache( 'nscd/nscd.service', 'usr/lib/systemd/system/nscd.service') # Drain files that weren't picked-up by the splitter packages['sys-libs/glibc'].drain( 'usr/share/i18n/{charmaps,locales}/', 'usr/share/zoneinfo/', 'usr/lib64/gconv/', 'usr/lib64/locale/', ) # Drain development files that weren't picked-up by the splitter packages['sys-libs/glibc-dev'].drain('usr/lib64/*.o', ) # Ensure `/etc/ld.so.conf.d` will be created when installing `sys-libs/glibc` packages['sys-libs/glibc'].make_keepers('etc/ld.so.conf.d') # Remove `/etc/ld.so.cache`, it will be generated by the package manager packages['sys-libs/glibc'].remove('etc/ld.so.cache') # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-libs/glibc'].requires('raven-os/corefs') # TODO FIXME Provide a default /etc/localtime # Glibc depends on the Linux Kernel headers to compile software properly. packages['sys-libs/glibc-dev'].requires('kernel/linux-dev', '>=3.2') return packages
def build(build): packages = autotools.build( configure=lambda: configure('--with-gobject --with-graphite2') ) packages['dev-libs/harfbuzz-dev'].drain( 'usr/lib64/cmake/harfbuzz/*.cmake', 'usr/share/gir-1.0/*.gir' ) return packages
def build(build): packages = autotools.build( extract=extract_freetype, patch=patch_freetype, configure=lambda: configure('--enable-freetype-config'), ) packages['dev-libs/freetype-doc'].drain_build_cache( 'docs/*', 'usr/share/doc/freetype-2.10.1/') return packages
def build(build): packages = autotools.build( configure=lambda: configure('--localstatedir=/var/lib/locate', ), split=drain_all_with_doc, ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/findutils'].requires('raven-os/corefs') return packages
def build(build): os.environ['CFLAGS'] += '''\ -DSQLITE_ENABLE_FTS3=1 \ -DSQLITE_ENABLE_FTS4=1 \ -DSQLITE_ENABLE_COLUMN_METADATA=1 \ -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 \ -DSQLITE_ENABLE_DBSTAT_VTAB=1 \ -DSQLITE_SECURE_DELETE=1 \ -DSQLITE_ENABLE_FTS3_TOKENIZER=1\ ''' return autotools.build(configure=lambda: configure('--enable-fts5', ))
def build(build): packages = autotools.build(configure=lambda: configure( '--disable-static', '--disable-kill', '--with-systemd', ), ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/procps'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( patch=patch_libffi, configure=lambda: configure( '--with-gcc-arch=generic', ), ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['dev-libs/libffi'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure(make_configure=lambda: make('configure'), ), compile=lambda: make('all'), split=drain_all_with_doc, ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['dev-apps/git'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--with-readline', ), patch=patch_bc, check=check_bc, ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['dev-apps/bc'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--enable-threaded-resolver', '--with-ca-path=/etc/ssl/certs', ), check=None, ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/curl'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--with-xz', '--with-zlib', '--disable-static', # --enable-static isn't supported by kmod. ), split=split_kmod, ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/kmod'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( patch=patch_shadow, configure=lambda: configure('--with-group-name-max-length=32', ), ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/shadow'].requires('raven-os/corefs') packages['sys-apps/shadow'].requires('sys-apps/bash') packages['sys-apps/shadow'].requires('sys-apps/coreutils') packages['sys-apps/shadow'].load_instructions('./instructions.sh') return packages
def build(build): packages = autotools.build( configure=lambda: configure('--enable-thread-safe', '--infodir="/usr/share/info/mpfr/"', '--docdir="/usr/share/doc/"'), install=lambda: make( 'install', 'install-html', f'DESTDIR={stdlib.build.current_build().install_cache}'), ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-libs/mpfr'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--with-history', ), ) packages['dev-libs/xml2-dev'].drain( 'usr/lib64/xml2Conf.sh', 'usr/lib64/cmake/libxml2/libxml2-config.cmake' ) packages['dev-libs/xml2-doc'].drain( 'usr/share/gtk-doc/' ) return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--disable-setuid', '--enable-cache-owner=bin', '--with-browser=/usr/bin/lynx', '--with-vgrind=/usr/bin/vgrind', '--with-grap=/usr/bin/grap', ), split=drain_all_with_doc, ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/man-db'].requires('raven-os/corefs') return packages
def build(build): os.environ['SED'] = 'sed' # TODO FIXME target = os.environ['TARGET'] packages = autotools.build( build_folder='build', configure=lambda: configure( '--enable-languages=c,c++', '--disable-multilib', '--disable-bootstrap', '--disable-libmpx', '--with-system-zlib', '--docdir=/usr/share/doc/', binary='../configure', ), install=install_gcc, split=split_gcc, deplinker=lambda packages: stdlib.deplinker.elf.elf_deplinker( packages, search_patterns=[ '{,usr/}bin/*', '{,usr/}lib{,32,64}/*', f'usr/lib{{,64}}/gcc/{target}/*/*', ], ), check=check_gcc, ) # Move a misplaced file packages['dev-apps/gcc'].move( 'usr/lib{,64}/*-gdb.py', 'usr/share/gdb/auto-load/usr/lib/', ) # Create a bunch of symlinks required to satisfy external utilities packages['dev-apps/cpp'].make_symlink('../usr/bin/cpp', 'lib/cpp') packages['dev-apps/gcc'].make_symlink('gcc', 'usr/bin/cc') # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-libs/gcc-libs'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--disable-logger', '--disable-whois', '--disable-rcp', '--disable-rexec', '--disable-rlogin', '--disable-rsh', '--disable-servers', ), check=None, # TODO FIXME: Tests are looping indefinitely ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/inetutils'].requires('raven-os/corefs') return packages
def build(build): # TODO FIXME os.environ['PKG_CONFIG_PATH'] = '/tools/lib/pkgconfig' packages = autotools.build( configure=lambda: configure( '--disable-vlock', # vlock requires PAM, which, when this manifest was written, wasn't available (Sept. 2019) ), split=drain_all_with_doc, ) packages['sys-apps/kbd-doc'].drain_build_cache('docs/doc/*', 'usr/share/doc/kbd/') # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/kbd'].requires('raven-os/corefs') return packages
def build(build): packages = autotools.build( configure=lambda: configure( '--infodir="/usr/share/info/mpc/"', '--docdir="/usr/share/doc/"', ), install=lambda: make( 'install', 'install-html', f'DESTDIR={stdlib.build.current_build().install_cache}'), ) # Rename documentation directory to match the other packages. packages['sys-libs/mpc-doc'].move('usr/share/doc/mpc.html', 'usr/share/doc/mpc') # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-libs/mpc'].requires('raven-os/corefs') return packages
def build(build): target = os.environ['TARGET'] packages = autotools.build(configure=lambda: configure( '--with-internal-glib', '--disable-host-tool', '--docdir=/usr/share/doc/pkg-config-0.29.2', ), ) packages['sys-apps/pkg-config'].drain('usr/share/aclocal/*') packages['sys-apps/pkg-config'].make_symlink( 'pkg-config', f'usr/bin/{target}-pkg-config', ) # Packages member of `raven-os/essentials` should explicitly state all # of their dependencies, including indirect ones. packages['sys-apps/pkg-config'].requires('raven-os/corefs') return packages