Skip to content

Instantly share code, notes, and snippets.

@legal90
Last active June 5, 2017 12:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save legal90/88f8b6e49ffd2b87f232ef54928ae107 to your computer and use it in GitHub Desktop.
Save legal90/88f8b6e49ffd2b87f232ef54928ae107 to your computer and use it in GitHub Desktop.
Omnibus: Bunch software loader
# http://www.linuxfromscratch.org/blfs/view/8.0/x/x7lib.html
name 'all-xorg-libs'
default_version '1.0.0'
license :project_license
skip_transitive_dependency_licensing true
dependency 'fontconfig'
dependency 'libxcb'
# Helper method for generating multople software definitions in a single file.
def generate_software(name, version:, md5:, configure_args: [])
# Path is needed for caching only. It should be unique
sw = Omnibus::Software.new(project, "#{name}.rb")
sw.name(name)
sw.license 'MIT'
sw.license_file 'COPYING'
sw.skip_transitive_dependency_licensing true
sw.default_version(version)
sw.source url: "http://ftp.x.org/pub/individual/lib/#{name}-#{version}.tar.bz2",
md5: md5
sw.relative_path "#{name}-#{version}"
sw.build do
env = with_standard_compiler_flags(with_embedded_path)
configure(*configure_args, env: env)
make "-j #{workers}", env: env
make "-j #{workers} install", env: env
end
project.library.component_added(sw)
end
# Generate softare definitions and add them as a dependency of the wrapper software.
xorg_libs = {
'xtrans' => { version: '1.3.5', md5: 'c5ba432dd1514d858053ffe9f4737dd8' },
'libX11' => { version: '1.6.4', md5: '6d54227082f3aa2c596f0b3a3fbb9175' },
'libXext' => { version: '1.3.3', md5: '52df7c4c1f0badd9f82ab124fb32eb97' },
'libXScrnSaver' => { version: '1.2.2', md5: '7a773b16165e39e938650bcc9027c1d5' },
'libXfixes' => { version: '5.0.3', md5: '07e01e046a0215574f36a3aacb148be0' },
'libXcomposite' => { version: '0.4.4', md5: 'f7a218dcbf6f0848599c6c36fc65c51a' },
'libXrender' => { version: '0.9.10', md5: '802179a76bded0b658f4e9ec5e1830a4' },
'libXcursor' => { version: '1.1.14', md5: '1e7c17afbbce83e2215917047c57d1b3' },
'libXdamage' => { version: '1.1.4', md5: '0cf292de2a9fa2e9a939aefde68fd34f' },
'libfontenc' => { version: '1.1.3', md5: '0920924c3a9ebc1265517bdd2f9fde50' },
'libXfont2' => { version: '2.0.1', md5: '0d9f6dd9c23bf4bcbfb00504b566baf5' },
'libXi' => { version: '1.7.9', md5: '1f0f2719c020655a60aee334ddd26d67' },
'libXrandr' => { version: '1.5.1', md5: '28e486f1d491b757173dd85ba34ee884' },
'libXtst' => { version: '1.2.3', md5: 'ef8c2c1d16a00bd95b9fdcef63b8a2ca' },
'libxkbfile' => { version: '1.0.9', md5: '4a4cfeaf24dab1b991903455d6d7d404' },
'libxshmfence' => { version: '1.2', md5: '66662e76899112c0f99e22f2fc775a7e' }
}
xorg_libs.each do |name, params|
generate_software(name, **params)
#dependency name
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment