Exemplo n.º 1
0
def build(build):
    packages = autotools.build()

    packages['dev-libs/libsigc++-dev'].drain(
        'usr/lib64/sigc++-2.0/include/sigc++config.h')

    return packages
Exemplo n.º 2
0
def build(build):
    packages = autotools.build(
        patch=patch_vim,
        check=check_vim,
        split=drain_all_with_doc,
    )

    # Make a symlink from vi to vim, both for the binaries and man pages
    packages['editor/vim'].make_symlink('vim', 'usr/bin/vi')
    packages['editor/vim'].make_symlink('vim.1', 'usr/share/man/man1/vi.1')

    with stdlib.pushd(packages['editor/vim'].wrap_cache):
        for path in glob.glob('usr/share/man/*/man1/vim.1'):
            packages['editor/vim'].make_symlink(
                'vim.1', f'{os.path.dirname(path)}/vi.1')

    # Symlink the documentation to a more standard place.
    packages['editor/vim-doc'].make_symlink(
        f'../vim/vim{build.major}{build.minor}/doc/', 'usr/share/doc/vim')
    packages['editor/vim-doc'].requires('editor/vim')

    # Packages member of `raven-os/essentials` should explicitly state all
    # of their dependencies, including indirect ones.
    packages['editor/vim'].requires('raven-os/corefs')

    return packages
Exemplo n.º 3
0
def build(build):

    # TODO FIXME We should create a Perl template when a sufficient amount of
    # packets will be built this way (providing enough information to make a solid
    # perl template)
    #
    # We're doing it manually in the meantime
    #   - Septembre 2019

    packages = autotools.build(
        configure=lambda: stdlib.cmd('perl Makefile.PL'),
        check=lambda: make('test', fail_ok=True),
    )

    packages['dev-perl/xml-parser'].drain('usr/lib/perl5/')

    # We don't want -dev alternatives if they add nothing but mans for perl modules.
    packages['dev-perl/xml-parser'].drain_package(
        packages['dev-perl/xml-parser-dev'],
        '*',
    )

    # Packages member of `raven-os/essentials` should explicitly state all
    # of their dependencies, including indirect ones.
    packages['dev-perl/xml-parser'].requires('raven-os/corefs')

    return packages
Exemplo n.º 4
0
def build(build):
    packages = autotools.build()

    packages['ui-resources/hicolor-icon-theme'].drain(
        'usr/share/icons/hicolor/')

    return packages
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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
Exemplo n.º 7
0
def build(build):
    packages = autotools.build()

    packages['sys-libs/x11'].drain('usr/share/X11')
    packages['sys-libs/x11-dev'].requires('dev-libs/xorgproto-dev')

    return packages
Exemplo n.º 8
0
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
Exemplo n.º 9
0
def build(build):
    packages = autotools.build()

    packages['dev-libs/cairomm-dev'].drain(
        'usr/lib64/cairomm-*/include/cairommconfig.h')

    return packages
Exemplo n.º 10
0
def build(build):
    packages = autotools.build(
        patch=patch_gmp,
        configure=lambda: stdlib.cmd(f'''\
            ./configure \\
                --enable-cxx \\
                --enable-shared \\
                --enable-static \\
                {' '.join(stdlib.template.configure.get_dir_flags())} \\
                --infodir="/usr/share/info/gmp/" \\
                --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/gmp-doc'].move('usr/share/doc/gmp.html',
                                      'usr/share/doc/gmp')

    # Packages member of `raven-os/essentials` should explicitly state all
    # of their dependencies, including indirect ones.
    packages['sys-libs/gmp'].requires('raven-os/corefs')

    return packages
Exemplo n.º 11
0
def build(build):
    packages = autotools.build()

    packages['dev-libs/libxkbcommon'].requires(
        'dev-resources/xkeyboard-config')

    return packages
Exemplo n.º 12
0
def build(build):
    packages = autotools.build(
        configure=lambda: configure('--disable-documentation'), )

    packages['sys-libs/wayland-dev'].drain('usr/share/wayland/')

    return packages
Exemplo n.º 13
0
def build(build):
    packages = autotools.build()

    packages['dev-libs/pangomm-dev'].drain(
        'usr/lib64/pangomm-*/{include,proc}')

    return packages
Exemplo n.º 14
0
def build(build):
    # Ensures Perl uses the system's zlib and bzip2 libraries.
    os.environ['BUILD_ZLIB'] = 'False'
    os.environ['BUILD_BZIP2'] = '0'

    packages = autotools.build(configure=lambda: stdlib.cmd(f'''sh Configure \
            -des                            \
            -Dprefix=/usr                   \
            -Dvendorprefix=/usr             \
            -Dman1dir=/usr/share/man/man1   \
            -Dman3dir=/usr/share/man/man3   \
            -Dman1ext=1perl                 \
            -Dman3ext=3perl                 \
            -Dpager="/usr/bin/less -isR"    \
            -Duseshrplib                    \
            -Dusethreads                    \
        '''),
                               split=split_perl,
                               check=lambda: make('-k', 'check', fail_ok=True))

    # Packages member of `raven-os/essentials` should explicitly state all
    # of their dependencies, including indirect ones.
    packages['dev-lang/perl'].requires('raven-os/corefs')

    return packages
Exemplo n.º 15
0
def build(build):
    packages = autotools.build(
        configure=lambda: configure('--with-xkb-rules-symlink=xorg', ))

    packages['dev-resources/xkeyboard-config'].drain('usr/share/*')

    return packages
Exemplo n.º 16
0
def build(build):
    packages = autotools.build()

    packages['dev-libs/gtkmm3-dev'].drain('usr/lib64/gtkmm-*/{include,proc}',
                                          'usr/lib64/gdkmm-*/include')

    return packages
Exemplo n.º 17
0
def build(build):
    packages = autotools.build()

    packages['dev-resources/shared-mime-info'].drain(
        'usr/share/{mime,pkgconfig}'
    )

    return packages
Exemplo n.º 18
0
def build(build):
    return autotools.build(
        build_folder='build',
        patch=lambda: stdlib.cmd(
            'sed "s/Supscription/Subscription/g" -i source/conf/*.cpp'),
        configure=lambda: cmake('..'),
        split=drain_all_with_doc,
    )
Exemplo n.º 19
0
def build(build):
    packages = autotools.build()

    # Debian changed the SO version to libedit.so.2.
    # Create a compatibility symlink to ensure binaries built on debian can run on Raven-OS.
    packages['sys-libs/libedit'].make_symlink('libedit.so.0', 'usr/lib64/libedit.so.2')

    return packages
Exemplo n.º 20
0
def build(build):
    packages = autotools.build()

    packages['dev-libs/dbus-glib'].drain(
        'usr/lib64/dbus-bash-completion-helper')
    packages['dev-libs/dbus-glib-doc'].drain('usr/share/gtk-doc/')

    return packages
Exemplo n.º 21
0
def build(build):
    packages = autotools.build()

    packages['ui-resources/adwaita-icon-theme'].drain(
        'usr/share/icons/Adwaita/',
        'usr/share/pkgconfig/adwaita-icon-theme.pc')

    return packages
Exemplo n.º 22
0
def build(build):
    packages = autotools.build(split=drain_all_with_doc, )

    # Packages member of `raven-os/essentials` should explicitly state all
    # of their dependencies, including indirect ones.
    packages['dev-apps/patch'].requires('raven-os/corefs')

    return packages
Exemplo n.º 23
0
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
Exemplo n.º 24
0
def build(build):
    packages = autotools.build()

    # Packages member of `raven-os/essentials` should explicitly state all
    # of their dependencies, including indirect ones.
    packages['sys-apps/file'].requires('raven-os/corefs')

    return packages
Exemplo n.º 25
0
def build(build):
    packages = autotools.build(
        configure=lambda: xslt_configure(),
    )

    packages['dev-libs/libxslt'].drain('usr/lib64/xsltConf.sh')

    return packages
Exemplo n.º 26
0
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',
    ))
Exemplo n.º 27
0
def build(build):
    packages = autotools.build(
        build_folder='build',
        configure=lambda: cmake(folder='..'),
    )

    packages['dev-libs/z3-dev'].drain('usr/lib64/cmake/')

    return packages
Exemplo n.º 28
0
def build(build):
    packages = autotools.build(split=lambda: drain_all_with_doc_into(
        Package(PackageID('xorgproto-dev')),
        Package(PackageID('xorgproto-doc')),
    ))

    packages['dev-libs/xorgproto-dev'].drain('usr/share/pkgconfig')

    return packages
Exemplo n.º 29
0
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
Exemplo n.º 30
0
def build(build):
    packages = autotools.build(configure=cmake, )

    packages['dev-libs/libsocket'].drain_package(
        packages['dev-libs/libsocket-dev'],
        'usr/lib/*.so',
    )

    return packages