Compare commits

..

No commits in common. "master" and "armv8" have entirely different histories.

211 changed files with 1422 additions and 8176 deletions

5
.gitattributes vendored
View File

@ -1,5 +0,0 @@
# Disable checks for trailing whitespace for patches, they always trigger warnings,-blank-at-eof
*.diff whitespace=-trailing-space,-space-before-tab,-blank-at-eof
*.patch whitespace=-trailing-space,-space-before-tab,-blank-at-eof
*.exlib whitespace=-blank-at-eof
*.exheres-0 whitespace=-blank-at-eof

10
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,10 @@
image: exherbo/exherbo_ci
variables:
REPO: hasufell
REPO_NAMESPACE: exherbo-unofficial
build:
script:
- buildtest

View File

@ -8,5 +8,7 @@ Random exheres.
You have these possibilities:
1. git patch via email to: hasufell `ä` hasufell.de
2. create an account [here](https://gogs.hasufell.de/user/sign_up) and fork+PR
1. use https://gitlab.exherbo.org/exherbo-unofficial/hasufell
2. use the patchbot on irc.freenode.net in `#exherbo`: https://exherbo.org/docs/patchbot.html
3. git patch via email to: hasufell `ä` hasufell.de
4. ask for an account on https://gogs.hasufell.de and fork+PR

View File

@ -1,81 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
# Purpose: an exlib dealing with installation of GOG games
# Maintainer: Julian Ospald <hasufell@posteo.de>
# Exports: pkg_nofetch, pkg_setup, src_unpack
# Side-effects: - adds build dependencies
# - sets $WORK, $DOWNLOADS, $LICENSES, $RESTRICT and $HOMEPAGE
#
# Usage
# exparams: - installer: the shell script installer (required)
# - unzip: whether to unzip and add unzip dependency (default: true)
# - install_dir: installation dir (default: /opt/${PN})
# variables: - GOG_SH: set to exparam installer
# - GOG_INSTALL_DIR: set to exparam install_dir, use this in src_install
myexparam installer=
myexparam -b unzip=true
myexparam install_dir=/opt/${PN}
exparam -v GOG_SH installer
exparam -v GOG_INSTALL_DIR install_dir
if [[ -z $(exparam installer) ]]; then
die "installer needs to be set!"
fi
if [[ "$GOG_INSTALL_DIR" != /* ]]; then
die "${GOG_INSTALL_DIR} must be absolute!"
fi
export_exlib_phases pkg_nofetch pkg_setup src_unpack
HOMEPAGE="https://www.gog.com"
DOWNLOADS="manual: ${GOG_SH}"
LICENCES="all-rights-reserved GOG-EULA"
RESTRICT="fetch"
if exparam -b unzip ; then
DEPENDENCIES+="
build:
virtual/unzip
"
fi
WORK="${WORKBASE}/data/noarch"
# Exported 'pkg_nofetch'.
#
# Arguments: none
# Side-effects: prints einfo
gog_pkg_nofetch() {
einfo
einfo "Please buy & download \"${GOG_SH}\""
einfo "from:"
einfo " ${HOMEPAGE}"
einfo "and move/link it to \"${FETCHEDDIR}\""
einfo
}
# Exported 'pkg_setup'.
#
# Arguments: none
# Side-effects: makes sure /opt is allowed to be installed into
gog_pkg_setup() {
exdirectory --allow "$(dirname "${GOG_INSTALL_DIR}")"
}
# Exported 'src_unpack'.
#
# Arguments: none
# Side-effects: unpacks the data
gog_src_unpack() {
if exparam -b unzip ; then
unzip -qo "${FETCHEDDIR}/${GOG_SH}"
[[ $? -le 1 ]] || die "unpacking ${GOG_SH} failed!"
fi
}

View File

@ -1,294 +0,0 @@
Creative Commons Legal Code
Attribution-NoDerivs 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work through sale or other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections; and,
b. to Distribute and Publicly Perform the Work including as incorporated
in Collections.
c. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor waives the
exclusive right to collect such royalties for any exercise by You
of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License.
The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats, but otherwise you have no rights to make
Adaptations. Subject to Section 8(f), all rights not expressly granted by
Licensor are hereby reserved.
4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(b), as requested.
b. If You Distribute, or Publicly Perform the Work or Collections, You
must, unless a request has been made pursuant to Section 4(a), keep
intact all copyright notices for the Work and provide, reasonable to
the medium or means You are utilizing: (i) the name of the Original
Author (or pseudonym, if applicable) if supplied, and/or if the
Original Author and/or Licensor designate another party or parties
(e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work.
The credit required by this Section 4(b) may be implemented in any
reasonable manner; provided, however, that in the case of a
Collection, at a minimum such credit will appear, if a credit for all
contributing authors of the Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
c. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Collections, You must not distort, mutilate, modify or take other
derogatory action in relation to the Work which would be prejudicial
to the Original Author's honor or reputation.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
Individuals or entities who have received Collections from You under
this License, however, will not have their licenses terminated
provided such individuals or entities remain in full compliance with
those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any
termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
c. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
d. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
e. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of this License.
Creative Commons may be contacted at http://creativecommons.org/.

View File

@ -1,140 +0,0 @@
-----BEGIN PGP SIGNED MESSAGE-----
ooooo ooo ooooooooo. ooooooo ooooo
`888' `8' `888 `Y88. `8888 d8'
888 8 888 .d88' Y888..8P
888 8 888ooo88P' `8888'
888 8 888 .8PY888.
`88. .8' 888 d8' `888b
`YbodP' o888o o888o o88888o
The Ultimate Packer for eXecutables
Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar
http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
http://www.nexus.hu/upx
http://upx.tsx.org
PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN
TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION.
ABSTRACT
========
UPX and UCL are copyrighted software distributed under the terms
of the GNU General Public License (hereinafter the "GPL").
The stub which is imbedded in each UPX compressed program is part
of UPX and UCL, and contains code that is under our copyright. The
terms of the GNU General Public License still apply as compressing
a program is a special form of linking with our stub.
As a special exception we grant the free usage of UPX for all
executables, including commercial programs.
See below for details and restrictions.
COPYRIGHT
=========
UPX and UCL are copyrighted software. All rights remain with the authors.
UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
UPX is Copyright (C) 1996-2000 Laszlo Molnar
UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
GNU GENERAL PUBLIC LICENSE
==========================
UPX and the UCL library are free software; you can redistribute them
and/or modify them under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
UPX and UCL are distributed in the hope that they will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING.
SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES
============================================
The stub which is imbedded in each UPX compressed program is part
of UPX and UCL, and contains code that is under our copyright. The
terms of the GNU General Public License still apply as compressing
a program is a special form of linking with our stub.
Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special
permission to freely use and distribute all UPX compressed programs
(including commercial ones), subject to the following restrictions:
1. You must compress your program with a completely unmodified UPX
version; either with our precompiled version, or (at your option)
with a self compiled version of the unmodified UPX sources as
distributed by us.
2. This also implies that the UPX stub must be completely unmodfied, i.e.
the stub imbedded in your compressed program must be byte-identical
to the stub that is produced by the official unmodified UPX version.
3. The decompressor and any other code from the stub must exclusively get
used by the unmodified UPX stub for decompressing your program at
program startup. No portion of the stub may get read, copied,
called or otherwise get used or accessed by your program.
ANNOTATIONS
===========
- You can use a modified UPX version or modified UPX stub only for
programs that are compatible with the GNU General Public License.
- We grant you special permission to freely use and distribute all UPX
compressed programs. But any modification of the UPX stub (such as,
but not limited to, removing our copyright string or making your
program non-decompressible) will immediately revoke your right to
use and distribute a UPX compressed program.
- UPX is not a software protection tool; by requiring that you use
the unmodified UPX version for your proprietary programs we
make sure that any user can decompress your program. This protects
both you and your users as nobody can hide malicious code -
any program that cannot be decompressed is highly suspicious
by definition.
- You can integrate all or part of UPX and UCL into projects that
are compatible with the GNU GPL, but obviously you cannot grant
any special exceptions beyond the GPL for our code in your project.
- We want to actively support manufacturers of virus scanners and
similar security software. Please contact us if you would like to
incorporate parts of UPX or UCL into such a product.
Markus F.X.J. Oberhumer Laszlo Molnar
markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu
Linz, Austria, 25 Feb 2000
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv
iQCVAwUBOLaLS210fyLu8beJAQFYVAP/ShzENWKLTvedLCjZbDcwaBEHfUVcrGMI
wE7frMkbWT2zmkdv9hW90WmjMhOBu7yhUplvN8BKOtLiolEnZmLCYu8AGCwr5wBf
dfLoClxnzfTtgQv5axF1awp4RwCUH3hf4cDrOVqmAsWXKPHtm4hx96jF6L4oHhjx
OO03+ojZdO8=
=CS52
-----END PGP SIGNATURE-----

View File

@ -1,65 +0,0 @@
Dropbox Terms of Service
Thank you for using Dropbox! These terms of service (the “Terms”) govern your access to and use of Dropbox (“we” or “our”) websites and services (the “Services”), so please carefully read them before using the Services.
By using the Services you agree to be bound by these Terms. If you are using the Services on behalf of an organization, you are agreeing to these Terms for that organization and promising that you have the authority to bind that organization to these terms. In that case, “you” and “your” will refer to that organization.
You may use the Services only in compliance with these Terms. You may use the Services only if you have the power to form a contract with Dropbox and are not barred under any applicable laws from doing so. The Services may continue to change over time as we refine and add more features. We may stop, suspend, or modify the Services at any time without prior notice to you. We may also remove any content from our Services at our discretion.
Your Stuff & Your Privacy
By using our Services you may give us access to your information, files, and folders (together, “your stuff”). You retain ownership to your stuff. You are also solely responsible for your conduct, the content of your files and folders, and your communications with others while using the Services.
We sometimes need your permission to do what you ask us to do with your stuff (for example, hosting, making public, or sharing your files). By submitting your stuff to the Services, you grant us (and those we work with to provide the Services) worldwide, non-exclusive, royalty-free, sublicenseable rights to use, copy, distribute, prepare derivative works (such as translations or format conversions) of, perform, or publicly display that stuff to the extent we think it necessary for the Service. You must ensure you have the rights you need to grant us that permission.
How we use your stuff is also governed by the Dropbox Privacy Policy, which you acknowledge. You acknowledge that Dropbox has no obligation to monitor any information on the Services, even though we may do so. We are not responsible for the accuracy, completeness, appropriateness, or legality of files, user posts, or any other information you may be able to access using the Services. We may disclose information about your account or your stuff to law enforcement officials as outlined in our Privacy Policy.
Sharing Your Stuff
The Services provide features that allow you to share your stuff with others or to make it public. There are many things that users may do with that stuff (for example, copy it, modify it, re-share it). Please consider carefully what you choose to share or make public. Dropbox has no responsibility for that activity.
Your Responsibilities
Files and other content in the Services may be protected by intellectual property rights of others. Please do not copy, upload, download, or share files unless you have the right to do so. You, not Dropbox, will be fully responsible and liable for what you copy, share, upload, download or otherwise use while using the Services. You must not upload spyware or any other malicious software to the Service.
You, and not Dropbox, are responsible for maintaining and protecting all of your stuff. Dropbox will not be liable for any loss or corruption of your stuff, or for any costs or expenses associated with backing up or restoring any of your stuff.
If your contact information, or other information related to your account, changes, you must notify us promptly and keep your information current. The Services are not intended for use by you if you are under 13 years of age. By agreeing to these Terms, you are representing to us that you are over 13.
Account Security
You are responsible for safeguarding the password that you use to access the Services and you agree not to disclose your password to any third party. You are responsible for any activity using your account, whether or not you authorized that activity. You should immediately notify Dropbox of any unauthorized use of your account. You acknowledge that if you wish to protect your transmission of data or files to Dropbox, it is your responsibility to use a secure encrypted connection to communicate with the Services.
Software and Updates
Some use of our Service requires you to download a client software package (“Software”). Dropbox hereby grants you a limited, nonexclusive, nontransferable, revocable license to use the Software, solely to access the Services. Your license to use the Software is automatically revoked if you violate these Terms in a manner that implicates our intellectual property rights. We hereby reserve all rights not expressly granted in these Terms. You must not reverse engineer or decompile the Software, nor attempt to do so, nor assist anyone else to do so. Our Services may update the Software on your device automatically when a new version is available. Our pause syncing feature pauses syncing of your files, but may not cease all data transfer, so you should exit the desktop client if youd like to stop data transfer.
Dropbox Property and Feedback
These terms do not grant you any right, title, or interest in the Services, Software, or the content in the Services. While we appreciate it when users send us feedback, please be aware that we may use any feedback, comments, or suggestions you send us or post in our forums without any obligation to you. The Software and other technology we use to provide the Services are protected by copyright, trademark, and other laws of both the United States and foreign countries. These Terms do not grant you any rights to use the Dropbox trademarks, logos, domain names, or other brand features.
Acceptable Use Policy
You will not, and will not to attempt to, misuse the Services, and will use the Services only in a manner consistent with the Dropbox Acceptable Use Policy.
Copyright
Dropbox respects others intellectual property and asks that you do too. We will respond to notices of alleged copyright infringement if they comply with the law and are properly provided to us. Such notices should be reported using our DMCA Process. We reserve the right to delete or disable content alleged to be infringing and to terminate repeat infringers. Our designated agent for notice of alleged copyright infringement on the Services is:
Copyright Agent
Dropbox Inc.
760 Market Street #1150
San Francisco, CA 94102
copyright@dropbox.com
Other Content
The Services may contain links to third-party websites or resources. Dropbox does not endorse and is not responsible or liable for their availability, accuracy, the related content, products, or services. You are solely responsible for your use of any such websites or resources. Also, if we provide you with any software under an open source license, there may be provisions in those licenses that expressly conflict with these Terms, in which case the open source provisions will apply.
Termination
Though wed much rather you stay, you can stop using our Services any time. We reserve the right to suspend or end the Services at any time, with or without cause, and with or without notice. For example, we may suspend or terminate your use if you are not complying with these Terms, or use the Services in any way that would cause us legal liability or disrupt others use of the Services. If we suspend or terminate your use, we will try to let you know in advance and help you retrieve data, though there may be some cases (for example, repeatedly or flagrantly violating these Terms, a court order, or danger to other users) where we may suspend immediately.
Dropbox is Available “AS-IS”
Though we want to provide a great service, there are certain things about the service we cant promise. For example, THE SERVICES AND SOFTWARE ARE PROVIDED “AS IS”, AT YOUR OWN RISK, WITHOUT EXPRESS OR IMPLIED WARRANTY OR CONDITION OF ANY KIND. WE ALSO DISCLAIM ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. (We are not shouting- its just that these disclaimers are really important, so we want to highlight them). Dropbox will have no responsibility for any harm to your computer system, loss or corruption of data, or other harm that results from your access to or use of the Services or Software. Some states do not allow the types of disclaimers in this paragraph, so they may not apply to you.
Limitation of Liability
TO THE FULLEST EXTENT PERMITTED BY LAW, IN NO EVENT WILL DROPBOX, ITS AFFILIATES, OFFICERS, EMPLOYEES, AGENTS, SUPPLIERS OR LICENSORS BE LIABLE FOR (A) ANY INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, EXEMPLARY OR CONSEQUENTIAL (INCLUDING LOSS OF USE, DATA, BUSINESS, OR PROFITS) DAMAGES, REGARDLESS OF LEGAL THEORY, WHETHER OR NOT DROPBOX HAS BEEN WARNED OF THE POSSIBILITY OF SUCH DAMAGES, AND EVEN IF A REMEDY FAILS OF ITS ESSENTIAL PURPOSE; (B) AGGREGATE LIABILITY FOR ALL CLAIMS RELATING TO THE SERVICES MORE THAN THE GREATER OF $20 OR THE AMOUNTS PAID BY YOU TO DROPBOX FOR THE PAST THREE MONTHS OF THE SERVICES IN QUESTION. Some states do not allow the types of limitations in this paragraph, so they may not apply to you.
Export Restrictions
The export and re-export of the Software may be controlled by the United States Export Administration Regulations. The Software may not be used in Cuba; Iran; North Korea; Sudan; or Syria or any country that is subject to an embargo by the United States. If you are a resident or national of, or a business located in, any of those countries, you may not download or use the Software. In addition, the Software may not be distributed to persons on the Table of Denial Orders; the Entity List; or the List of Specially Designated Nationals.
Modifications
We may revise these Terms from time to time and the most current version will always be posted on our website. If a revision, in our sole discretion, is material we will notify you (for example via email to the email address associated with your account). Other changes may be posted to our blog or terms page, so please check those pages regularly. By continuing to access or use the Services after revisions become effective, you agree to be bound by the revised Terms. If you do not agree to the new terms, please stop using the Services.
Miscellaneous Legal Terms
THESE TERMS AND THE USE OF THE SERVICES AND SOFTWARE WILL BE GOVERNED BY CALIFORNIA LAW EXCEPT FOR ITS CONFLICTS OF LAWS PRINCIPLES. ALL CLAIMS ARISING OUT OF OR RELATING TO THESE TERMS OR THE SERVICES OR SOFTWARE MUST BE LITIGATED EXCLUSIVELY IN THE FEDERAL OR STATE COURTS OF SAN FRANCISCO COUNTY, CALIFORNIA, AND BOTH PARTIES CONSENT TO VENUE AND PERSONAL JURISDICTION THERE. These Terms constitute the entire and exclusive agreement between you and Dropbox with respect to the Services, and supersede and replace any other agreements, terms and conditions applicable to the Services. These Terms create no third party beneficiary rights. Dropboxs failure to enforce a provision is not a waiver of its right to do so later. If a provision is found unenforceable the remaining provisions of the Agreement will remain in full effect and an enforceable term will be substituted reflecting our intent as closely as possible. You may not assign any of your rights in these Terms, and any such attempt is void, but Dropbox may assign its rights to any of its affiliates or subsidiaries, or to any successor in interest of any business associated with the Services. Dropbox and you are not legal partners or agents; instead, our relationship is that of independent contractors.

View File

@ -1,26 +1,19 @@
app-admin
app-arch
app-benchmarks
app-crypt
app-diagram
app-editors
app-ergonomics
app-misc
app-office
dev-cpp
dev-db
dev-dotnet
dev-games
dev-haskell
dev-java
dev-lang
dev-libs
dev-lua
dev-ocaml
dev-perl
dev-python
dev-ruby
dev-scm
dev-tcl
dev-util
games-action
@ -41,7 +34,6 @@ media-libs
media-plugins
media-sound
media-video
monitor
net-firewall
net-im
net-libs
@ -50,13 +42,10 @@ net-p2p
net-www
sci-mathematics
sys-apps
sys-boot
sys-process
virtual
voip
www-apps
www-servers
x11-apps
x11-misc
x11-themes
xfce-extra

View File

@ -2,4 +2,4 @@ layout = exheres
eapi_when_unknown = exheres-0
eapi_when_unspecified = exheres-0
profile_eapi_when_unspecified = exheres-0
masters = arbor ocaml-unofficial java
masters = arbor ocaml-unofficial

View File

@ -3,31 +3,25 @@
dev-lang/fsharp[~scm]
dev-lang/fstar[~scm]
dev-python/pytype[~scm]
dev-util/universal-ctags[~scm]
games-emulation/gambatte[~scm]
games-engines/OpenJK[~scm]
games-engines/flare[~scm]
games-fps/eduke32[~scm]
games-rpg/flare[~scm]
games-rpg/valyriatear[~scm]
games-rpg/flare[~scm]
games-strategy/freesynd[~scm]
games-strategy/s25rttr[~scm]
media-gfx/pinta[~scm]
media-sound/pnmixer-rs[~scm]
media-sound/pnmixer[~scm]
media/livestreamer[~scm]
media-gfx/pinta[~scm]
media-sound/pnmixer[~scm]
media-sound/pnmixer-rs[~scm]
net-im/gajim-omemo[~scm]
net-im/lurch[~scm]
net-im/pidgin-opensteamworks[~scm]
net-im/purple-xmpp-http-upload[~scm]
net-misc/remmina[~scm]
net-misc/trickle[~scm]
sys-apps/fd[~scm]
sys-apps/lenovo-throttling-fix[~scm]
sys-apps/lsd[~scm]
x11-apps/terminator[~scm]
x11-misc/cbatticon[~scm]
x11-misc/fsearch[~scm]
x11-misc/polybar[~scm]
x11-wm/i3[~scm]
) [[
*author = [ Julian Ospald <hasufell@posteo.de> ]

View File

@ -0,0 +1,34 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require cmake [ api=2 ]
SUMMARY="A system information and benchmark tool for Linux systems"
HOMEPAGE="http://hardinfo.org/"
DOWNLOADS="https://dev.gentoo.org/~hasufell/distfiles/${PNV}.tar.xz"
LICENCES="GPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-libs/glib:2
gnome-desktop/libsoup
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/pango
"
REMOTE_IDS="github:lpereira/${PN}"
src_prepare() {
edo sed -i \
-e '/PREFIX/s:@CMAKE_INSTALL_PREFIX@/share:@CMAKE_INSTALL_DATAROOTDIR@:' \
"${CMAKE_SOURCE}"/config.h.cmake
cmake_src_prepare
}

View File

@ -1,41 +0,0 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
# Snapshot until release work in progress: https://github.com/lpereira/hardinfo/issues/530
GITHUB_REVISION=f6a4f52868c2404f3ad58ef04e513ffe5fa090c7
require github [ user=lpereira ]
require cmake
require gtk-icon-cache
SUMMARY="A system information and benchmark tool for Linux systems"
HOMEPAGE="http://hardinfo.org/"
LICENCES="GPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
sys-devel/gettext
virtual/pkg-config
build+run:
core/json-glib
dev-libs/glib:2
gnome-desktop/libsoup
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/pango
suggestion:
app-benchmarks/sysbench [[ description = [ additional cpu/memory benchmarks ] ]]
sys-apps/fwupd [[ description = [ read firmware details ] ]]
sys-apps/udisks [[ description = [ read nvme storage information ] ]]
x11-dri/mesa-demos [[ description = [ show GLX info ] ]]
"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DHARDINFO_GTK3:BOOL=TRUE
)

View File

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
require openrc-service [ openrc_confd_files=[ "${FILES}"/openrc/confd ] ]
require setup-py [ import=setuptools test=pytest ]
require setup-py [ import=setuptools blacklist="3" ]
require pypi
SUMMARY="A system for controlling process state under UNIX"
@ -14,9 +14,10 @@ PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/meld3[python_abis:*(-)?]
test:
dev-python/pexpect[python_abis:*(-)?]
python_abis:2.7? ( dev-python/mock[python_abis:2.7] )
dev-python/mock[python_abis:*(-)?]
"
RESTRICT="test" # sydbox violations

View File

@ -1,33 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="Ultimate Packer for eXecutables (free version using UCL compression and not NRV)"
HOMEPAGE="http://upx.github.io/"
DOWNLOADS="https://github.com/upx/upx/releases/download/v${PV}/${PNV}-src.tar.xz"
LICENCES="GPL-2 UPX-exception"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS=""
DEPENDENCIES="
build:
dev-lang/perl
build+run:
dev-libs/ucl
sys-libs/zlib
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}/${PNV}-src
src_compile() {
emake CXXFLAGS_WERROR="" all
}
src_install() {
newbin src/upx.out upx
dodoc BUGS NEWS PROJECTS README* THANKS doc/*.txt doc/upx.html
doman doc/upx.1
}

View File

@ -1,14 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="Imposes stressful loads on different aspects of the system"
HOMEPAGE="https://people.seas.harvard.edu/~apw/stress"
DOWNLOADS="https://people.seas.harvard.edu/~apw/stress/${PNV}.tar.gz"
LICENCES="GPL-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
BUGS_TO="hasufell@posteo.de"

View File

@ -1,76 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require gtk-icon-cache
SUMMARY="Diagram drawing application built on web technology"
HOMEPAGE="https://www.draw.io/"
DOWNLOADS="
platform:amd64? ( https://github.com/jgraph/drawio-desktop/releases/download/v${PV}/draw.io-amd64-${PV}.deb )
"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS="
platform: amd64
"
DEPENDENCIES="
run:
dev-libs/atk
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
gnome-platform/GConf:2
media-libs/fontconfig
net-print/cups
sys-apps/dbus
sys-sound/alsa-lib
x11-libs/cairo
x11-libs/gdk-pixbuf:2.0
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXtst
x11-libs/libxcb
x11-libs/pango
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="github:jgraph/drawio-desktop"
RESTRICT="strip"
WORK=${WORKBASE}
pkg_setup() {
exdirectory --allow /opt
}
src_unpack() {
default
unpack ./data.tar.xz
}
src_install() {
insinto /
doins -r usr
edo mv "${IMAGE}"/usr/share/doc/draw.io/ "${IMAGE}"/usr/share/doc/${PNV}/
doins -r opt
edo chmod +x "${IMAGE}"/opt/draw.io/{draw.io,libffmpeg.so,libnode.so}
dodir /usr/$(exhost --target)/bin
dosym ../../../opt/draw.io/draw.io /usr/$(exhost --target)/bin/draw.io
}

View File

@ -1,32 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user='mattn' tag="v${PV}" ]
SUMMARY="General purpose Language Server"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
dev-lang/go
"
BUGS_TO="hasufell@posteo.de"
src_compile() {
export GOPATH="${WORK}"/.gopath
export GOBIN="${WORK}"/.bin
esandbox disable_net
edo go get ./...
edo go build
esandbox enable_net
}
src_install() {
newbin efm-langserver-${PV} efm-langserver
emagicdocs
}

View File

@ -1,55 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require qmake [ slot=5 ]
require github [ user="gottcode" ]
require gtk-icon-cache freedesktop-desktop
SUMMARY="Fullscreen and distraction-free word processor"
DESCRIPTION="
FocusWriter is a simple, distraction-free writing environment. It utilizes a hide-away interface that you access by moving your mouse to the edges of the screen, allowing the program to have a familiar look and feel to it while still getting out of the way so that you can immerse yourself in your work. Its available for Linux, Windows, and Mac OS X, and has been translated into many different languages.
"
HOMEPAGE="https://gottcode.org/${PN}/ ${HOMEPAGE}"
DOWNLOADS="https://gottcode.org/${PN}/${PNV}-src.tar.bz2"
LICENCES="GPL-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
app-spell/hunspell:=
sys-libs/zlib
x11-libs/qtbase:5
x11-libs/qtmultimedia:5
"
BUGS_TO="hasufell@posteo.de"
UPSTREAM_CHANGELOG="https://github.com/gottcode/${PN}/blob/master/ChangeLog"
DEFAULT_SRC_INSTALL_PARAMS=(
INSTALL_ROOT="${IMAGE}"
)
src_configure() {
EQMAKE_PARAMS=(
PREFIX=/usr
BINDIR=/usr/$(exhost --target)/bin
)
qmake_src_configure
}
pkg_postinst() {
gtk-icon-cache_pkg_postinst
freedesktop-desktop_pkg_postinst
}
pkg_postrm() {
gtk-icon-cache_pkg_postrm
freedesktop-desktop_pkg_postrm
}

View File

@ -1,50 +0,0 @@
Upstream: yes
Reason: https://github.com/daa84/neovim-gtk/issues/208
From c1dbe9b9549383b22807a2de9c76094ca9204f51 Mon Sep 17 00:00:00 2001
From: daa <daa@localhost.localdomain>
Date: Tue, 26 Nov 2019 19:25:42 +0300
Subject: [PATCH] Try to fix render issues due to changes in pango_1.44 (#208)
---
src/render/context.rs | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/render/context.rs b/src/render/context.rs
index 8168296..0c19437 100644
--- a/src/render/context.rs
+++ b/src/render/context.rs
@@ -111,21 +111,19 @@ pub struct CellMetrics {
impl CellMetrics {
fn new(font_metrics: &pango::FontMetrics, line_space: i32) -> Self {
+ let ascent = (f64::from(font_metrics.get_ascent()) / f64::from(pango::SCALE)).ceil();
+ let descent = (f64::from(font_metrics.get_descent()) / f64::from(pango::SCALE)).ceil();
+ let underline_position = (f64::from(font_metrics.get_underline_position()) / f64::from(pango::SCALE)).ceil();
CellMetrics {
pango_ascent: font_metrics.get_ascent(),
pango_descent: font_metrics.get_descent(),
pango_char_width: font_metrics.get_approximate_digit_width(),
- ascent: f64::from(font_metrics.get_ascent()) / f64::from(pango::SCALE),
- line_height: f64::from(font_metrics.get_ascent() + font_metrics.get_descent())
- / f64::from(pango::SCALE)
- + f64::from(line_space),
- char_width: f64::from(font_metrics.get_approximate_digit_width())
- / f64::from(pango::SCALE),
- underline_position: f64::from(
- font_metrics.get_ascent() - font_metrics.get_underline_position(),
- ) / f64::from(pango::SCALE),
- underline_thickness: f64::from(font_metrics.get_underline_thickness())
- / f64::from(pango::SCALE),
+ ascent,
+ line_height: ascent + descent + f64::from(line_space),
+ char_width: (f64::from(font_metrics.get_approximate_digit_width())
+ / f64::from(pango::SCALE)).ceil(),
+ underline_position: ascent - underline_position,
+ underline_thickness: f64::from(font_metrics.get_underline_thickness()) / f64::from(pango::SCALE),
}
}
--
2.30.0

View File

@ -11,13 +11,16 @@ DEPENDENCIES="
app-editors/neovim
dev-libs/glib:2
x11-libs/cairo
x11-libs/gtk+:3[>=3.22.0]
x11-libs/gtk+:3[>=3.10.0]
x11-libs/pango
run:
gnome-desktop/gsettings-desktop-schemas
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/Try-to-fix-render-issues-due-to-changes-in-pango_1.4.patch
)
src_install() {
ecargo_install
insinto /usr/share/applications
doins desktop/*.desktop
insinto /usr/share/icons/hicolor/128x128/apps
doins desktop/nvim-gtk.png
}

View File

@ -15,11 +15,24 @@ DEPENDENCIES="
x11-libs/cairo
x11-libs/gtk+:3[>=3.22.0]
x11-libs/pango[>=1.38]
run:
gnome-desktop/gsettings-desktop-schemas
"
src_unpack() {
cargo_src_unpack
}
src_install() {
ecargo_install
insinto /usr/share/nvim-gtk
doins -r runtime
insinto /usr/share/applications
doins desktop/*.desktop
insinto /usr/share/icons/hicolor/48x48/apps
doins desktop/org.daa.NeovimGtk.png
insinto /usr/share/icons/hicolor/scalable/apps
doins desktop/org.daa.NeovimGtk.svg
}

View File

@ -11,26 +11,11 @@ HOMEPAGE="https://github.com/daa84/neovim-gtk ${HOMEPAGE}"
LICENCES="GPL-3.0"
MYOPTIONS=""
src_install() {
ecargo_install
BUGS_TO="hasufell@posteo.de"
insinto /usr/share/nvim-gtk
doins -r runtime
insinto /usr/share/applications
doins desktop/*.desktop
local s
for s in 48 128; do
insinto /usr/share/icons/hicolor/${s}x${s}/apps
newins desktop/org.daa.NeovimGtk_${s}.png org.daa.NeovimGtk.png
done
insinto /usr/share/icons/hicolor/scalable/apps
newins desktop/org.daa.NeovimGtk.svg org.daa.NeovimGtk.png
insinto /usr/share/icons/hicolor/symbolic/apps
newins desktop/org.daa.NeovimGtk-symbolic.svg org.daa.NeovimGtk.png
src_prepare() {
default
export PREFIX=/usr
}
pkg_postinst() {

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require desktop-utils gtk-icon-cache freedesktop-desktop
SUMMARY="An IDE powered by Neovim"
HOMEPAGE="https://www.onivim.io/"
DOWNLOADS="
platform:amd64? ( https://github.com/onivim/oni/releases/download/v${PV}/Oni-${PV}-x64-linux.tar.gz )
https://aur.archlinux.org/cgit/aur.git/plain/icons.tar.gz?h=oni -> oni-icons.tar.gz
"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS="
( platform: amd64 )
"
DEPENDENCIES="
run:
app-editors/neovim
dev-libs/atk
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
gnome-platform/GConf:2
media-libs/fontconfig
net-print/cups
sys-apps/dbus
sys-sound/alsa-lib
x11-libs/cairo
x11-libs/gdk-pixbuf:2.0
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXtst
x11-libs/libxcb
x11-libs/libxkbfile
x11-libs/pango
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="github:onivim/${PN}"
UPSTREAM_DOCUMENTATION="https://onivim.github.io/oni-docs/"
WORK=${WORKBASE}/Oni-${PV}-x64-linux
pkg_setup() {
exdirectory --allow /opt
}
src_install() {
insinto /opt/${PN}
doins -r *
chmod +x "${IMAGE}"/opt/${PN}/oni
herebin ${PN} <<EOF
#!/bin/bash
set -e
cd /opt/${PN}
exec ./oni "\$@"
EOF
install_desktop_entry \
"MimeType=text/english;text/plain;text/markdown;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;text/x-ruby;text/x-python;" \
"Categories=Utility;TextEditor;" \
"Keywords=Text;Editor;Neovim;" \
"GenericName=Text Editor"
for i in 16x16 32x32 64x64 128x128 256x256 512x512 1024x1024; do
insinto /usr/share/icons/hicolor/${i}/apps
newins "${WORKBASE}"/icons/${i}.png oni.png
done
}
pkg_postinst() {
freedesktop-desktop_pkg_postinst
gtk-icon-cache_pkg_postinst
}
pkg_postrm() {
freedesktop-desktop_pkg_postrm
gtk-icon-cache_pkg_postrm
}

View File

@ -21,7 +21,6 @@ SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
gconf [[ description = [ compile with Gnome gconf2 support ] ]]
gnome [[ description = [ Add support for gnome panel ] ]]
pulseaudio
xfce4-panel [[ description = [ Add support for XFCE panel ] ]]
@ -36,26 +35,21 @@ DEPENDENCIES="
virtual/pkg-config
x11-proto/xorgproto
build+run:
dev-cpp/cairomm:1.0
dev-cpp/libsigc++:2
dev-libs/atk
dev-libs/glib:2
gnome-bindings/atkmm:1.6
gnome-bindings/glibmm:2.4
gnome-bindings/gtkmm:3
gnome-bindings/pangomm:1.4
gnome-desktop/gobject-introspection:=
media-libs/gstreamer:1.0[gobject-introspection]
media-plugins/gst-plugins-base:1.0[gobject-introspection]
media-plugins/gst-plugins-good:1.0
x11-libs/cairo
x11-libs/gdk-pixbuf:2.0
x11-libs/gtk+:3[gobject-introspection]
x11-libs/libSM
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXmu
x11-libs/libXt
x11-libs/libXtst
x11-libs/pango:0
gconf? ( gnome-platform/GConf:2 )
gnome? ( gnome-base/gnome-shell )
pulseaudio? ( media-sound/pulseaudio )
xfce4-panel? (
@ -71,6 +65,7 @@ DEFAULT_SRC_CONFIGURE_PARAMS=(
--disable-distribution
--enable-exercises
--disable-experimental
--disable-gnome2
--disable-static
--disable-xml
--disable-indicator
@ -82,7 +77,6 @@ DEFAULT_SRC_CONFIGURE_PARAMS=(
)
DEFAULT_SRC_CONFIGURE_OPTION_ENABLES=(
'gconf gconf'
'gnome gnome3'
'pulseaudio pulse'
'xfce4-panel xfce'

View File

@ -1,23 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user=rabite0 tag="v${PV}" ]
require cargo [ channel=nightly ]
SUMMARY="Ranger-like file browser written in rust"
LICENCES="WTFPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-libs/glib:2
media-libs/gstreamer
media-libs/libsixel
media-plugins/gst-plugins-base
"
BUGS_TO="hasufell@posteo.de"

View File

@ -1,20 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user=phiresky ] cargo
SUMMARY="rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc."
LICENCES="AGPL-3"
SLOT="0"
PLATFORMS="~amd64"
DEPENDENCIES="
run:
dev-rust/ripgrep
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}/ripgrep_all-${PV}

View File

@ -1,23 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="Haskell tldr client with support for viewing tldr pages"
HOMEPAGE="https://github.com/psibi/tldr-hs"
DOWNLOADS="https://github.com/psibi/tldr-hs/releases/download/v${PV}/tldr-linux-v${PV}.tar.gz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS=""
DEPENDENCIES="
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_install() {
newbin tldr tldr-hs
}

View File

@ -1,7 +1,7 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require autotools [ supported_autoconf=[ 2.7 ] supported_automake=[ 1.16 ] ]
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
require github [ user="olafvdspek" tag="${PNV}" ]
SUMMARY="A simple but powerful template language for C++"

View File

@ -1,46 +0,0 @@
From 4f94810a75ba89936c0b67ace13ff0e171f3649e Mon Sep 17 00:00:00 2001
From: Julian Ospald <hasufell@posteo.de>
Date: Sun, 16 Sep 2018 19:13:05 +0800
Subject: [PATCH 1/2] Fix build with LibreSSL
This check is useless. If the library depends on specific
features of SSL, it must check for those. Checking for
version is not reliable and breaks LibreSSL compatibility.
---
cdk/cmake/ssl.cmake | 6 +-----
cdk/foundation/connection_openssl.cc | 2 +-
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/cdk/cmake/ssl.cmake b/cdk/cmake/ssl.cmake
index 494f0fe..1e7adca 100644
--- a/cdk/cmake/ssl.cmake
+++ b/cdk/cmake/ssl.cmake
@@ -251,11 +251,7 @@ function(MYSQL_CHECK_SSL)
return()
endif()
- if(NOT OPENSSL_VERSION_MAJOR EQUAL 1)
- message(SEND_ERROR "OpenSSL version 1.x is required but version ${OPENSSL_VERSION} was found")
- else()
- message(STATUS "Using OpenSSL version: ${OPENSSL_VERSION}")
- endif()
+ message(STATUS "Using OpenSSL version: ${OPENSSL_VERSION}")
#
# We assume that FindOpenSSL finds 2 libraries in this order.
diff --git a/cdk/foundation/connection_openssl.cc b/cdk/foundation/connection_openssl.cc
index f7fe28c..200d710 100644
--- a/cdk/foundation/connection_openssl.cc
+++ b/cdk/foundation/connection_openssl.cc
@@ -188,7 +188,7 @@ static void throw_ssl_error(SSL* tls, int err)
case SSL_ERROR_WANT_CONNECT:
case SSL_ERROR_WANT_ACCEPT:
case SSL_ERROR_WANT_X509_LOOKUP:
-# if OPENSSL_VERSION_NUMBER >= 0x10100000L
+# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
case SSL_ERROR_WANT_ASYNC:
case SSL_ERROR_WANT_ASYNC_JOB:
# endif
--
2.19.0

View File

@ -1,25 +0,0 @@
From 3594a934f7f142efeadaea41ee5be53983795899 Mon Sep 17 00:00:00 2001
From: Julian Ospald <hasufell@posteo.de>
Date: Sun, 16 Sep 2018 19:47:03 +0800
Subject: [PATCH 2/2] Don't call ar directly, use CMAKE_AR
---
cdk/cmake/libutils/merge_archives.cmake.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cdk/cmake/libutils/merge_archives.cmake.in b/cdk/cmake/libutils/merge_archives.cmake.in
index fc58df4..e56c4b4 100644
--- a/cdk/cmake/libutils/merge_archives.cmake.in
+++ b/cdk/cmake/libutils/merge_archives.cmake.in
@@ -101,7 +101,7 @@ else()
# extract object from the library ...
execute_process(
- COMMAND ar x ../lib.a ${obj}
+ COMMAND ${CMAKE_AR} x ../lib.a ${obj}
WORKING_DIRECTORY ${MERGELIBS_DIR}/${lib}/objs
)
--
2.19.0

View File

@ -1,13 +1,11 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
CMAKE_SOURCE=${WORK}-src
require cmake [ api=2 ]
SUMMARY="MySQL database connector for C++ (mimics JDBC 4.0 API)"
HOMEPAGE="http://dev.mysql.com/downloads/connector/cpp/"
DOWNLOADS="https://dev.mysql.com/get/Downloads/Connector-C++/${PNV}-src.tar.gz"
DOWNLOADS="https://dev.mysql.com/get/Downloads/Connector-C++/${PNV}.tar.gz"
LICENCES="GPL-2"
SLOT="0"
@ -20,34 +18,33 @@ DEPENDENCIES="
build:
dev-libs/boost
build+run:
dev-db/mysql
virtual/mysql
providers:libressl? ( dev-libs/libressl:= )
providers:openssl? ( dev-libs/openssl )
"
BUGS_TO="hasufell@posteo.de"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/0001-Fix-build-with-LibreSSL.patch
"${FILES}"/0002-Don-t-call-ar-directly-use-CMAKE_AR.patch
)
src_configure() {
CMAKE_SRC_CONFIGURE_PARAMS=(
-DCMAKE_BUILD_TYPE=Release
-DINSTALL_DOC_DIR="/usr/share/doc/${PNVR}"
-DINSTALL_LIB_DIR="lib"
-DWITH_JDBC=ON
-DINSTALL_DOCS="/usr/share/doc/${PNVR}"
-DMYSQLCPPCONN_BUILD_EXAMPLES=OFF
-DMYSQLCPPCONN_ICU_ENABLE=OFF
-DMYSQL_CXX_LINKAGE=0
-DMYSQL_INCLUDE_DIR="$(mysql_config --variable=pkgincludedir)"
-DUSE_MYSQLCPPCONN_GCOV_ENABLE=OFF
-DUSE_MYSQLCPPCONN_TRACE_ENABLE=OFF
)
cmake_src_configure
}
src_prepare() {
edo sed -i \
-e '/ADD_SUBDIRECTORY(test/d' \
-e 's#DOC_DESTINATION "."#DOC_DESTINATION ${INSTALL_DOCS}#' \
"${CMAKE_SOURCE}"/CMakeLists.txt
cmake_src_prepare
}
src_install() {
cmake_src_install
edo rm "${IMAGE}"/usr/$(exhost --target)/BUILDINFO.txt
}

View File

@ -7,7 +7,8 @@ require cmake [ api=2 ]
SUMMARY="MySQL Workbench"
HOMEPAGE="https://www.mysql.com/products/workbench/"
DOWNLOADS="https://dev.mysql.com/get/Downloads/MySQLGUITools/${PN}-community-${PV}-src.tar.gz"
DOWNLOADS="https://dev.mysql.com/get/Downloads/MySQLGUITools/${PN}-community-${PV}-src.tar.gz
http://www.antlr3.org/download/antlr-3.4-complete.jar"
LICENCES="GPL-2"
SLOT="0"
@ -26,19 +27,16 @@ DEPENDENCIES="
dev-cpp/ctemplate
dev-cpp/libsigc++:2
dev-db/libiodbc
dev-db/mysql
dev-db/mysql-connector-c++[>=${PV}]
dev-db/mysql-connector-c++
dev-db/vsqlite++
dev-java/antlr:4
dev-lang/python:2.7[sqlite]
dev-libs/antlr4-cpp
dev-libs/boost
dev-libs/glib:2
dev-libs/libsecret:1
dev-libs/libxml2:2.0
dev-libs/pcre
dev-libs/tinyxml
dev-python/paramiko[python_abis:2.7]
dev-python/pexpect[python_abis:2.7]
dev-python/pycairo[python_abis:2.7]
gnome-bindings/atkmm:1.6
gnome-bindings/glibmm:2.4
@ -46,8 +44,8 @@ DEPENDENCIES="
gnome-bindings/pangomm:1.4
gnome-desktop/libgnome-keyring
gnome-platform/libglade:2
net-libs/libssh
sci-libs/gdal
virtual/mysql
x11-dri/mesa
x11-libs/cairo
x11-libs/gdk-pixbuf:2.0
@ -61,6 +59,9 @@ DEPENDENCIES="
BUGS_TO="hasufell@posteo.de"
src_prepare() {
edo install -D "${FETCHEDDIR}"/antlr-3.4-complete.jar \
"${WORKBASE}"/linux-res/bin/antlr-3.4-complete.jar
# fix gdal includes
edo sed -i \
-e 's|#include <gdal/|#include <|' \
@ -79,16 +80,6 @@ src_prepare() {
-e 's/\-Werror//' \
"${CMAKE_SOURCE}"/CMakeLists.txt
# fix mysql-connector-c++ detection
edo sed -i \
-e '/MySQLCppConn_INCLUDE_DIR NAMES/s#/usr/include#/usr/include/jdbc#' \
"${CMAKE_SOURCE}"/build/cmake/Modules/FindMySQLCppConn.cmake
# fix antl4 jar detection
edo sed -i \
-e '/ANTLR_JAR_FILENAME/s/antlr-4.7.1-complete.jar/antlr-complete.jar/' \
"${CMAKE_SOURCE}"/CMakeLists.txt
cmake_src_prepare
}
@ -97,8 +88,6 @@ src_configure() {
-DIODBC_CONFIG_PATH="/usr/$(exhost --target)/bin/iodbc-config"
-DLIB_INSTALL_DIR="/usr/$(exhost --target)/lib"
-DSHARE_INSTALL_PREFIX=/usr/share
-DANTLR_JAR_PATH="/usr/share/antlr-4"
-DANTLR_JAR_FILENAME="antlr-complete.jar"
)
cmake_src_configure

View File

@ -1,15 +0,0 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql-init-scripts/files/logrotate.mysql,v 1.1 2007/01/12 16:54:20 chtekk Exp $
/var/log/mysql/mysql.err /var/log/mysql/mysql.log /var/log/mysql/mysqld.err {
monthly
create 660 mysql mysql
notifempty
size 5M
sharedscripts
missingok
postrotate
/usr/bin/kill -HUP `cat /run/mysqld/mysqld.pid`
endscript
}

View File

@ -1,28 +0,0 @@
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

View File

@ -1,79 +0,0 @@
--- a/cmake/ssl.cmake
+++ b/cmake/ssl.cmake
@@ -186,7 +186,8 @@ MACRO (MYSQL_CHECK_SSL)
OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
)
ENDIF()
- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION)
+ IF(HAVE_TLS1_3_VERSION)
ADD_DEFINITIONS(-DHAVE_TLSv13)
SET(HAVE_TLSv13 1)
IF(SOLARIS)
@@ -196,7 +197,7 @@ MACRO (MYSQL_CHECK_SSL)
IF(OPENSSL_INCLUDE_DIR AND
OPENSSL_LIBRARY AND
CRYPTO_LIBRARY AND
- OPENSSL_MAJOR_VERSION STREQUAL "1"
+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1"
)
SET(OPENSSL_FOUND TRUE)
ELSE()
--- a/sql/auth/sha2_password_common.cc
+++ b/sql/auth/sha2_password_common.cc
@@ -116,7 +116,8 @@ bool SHA256_digest::retrieve_digest(unsigned char *digest,
DBUG_RETURN(true);
}
m_ok= EVP_DigestFinal_ex(md_context, m_digest, NULL);
-#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(HAVE_WOLFSSL) || OPENSSL_VERSION_NUMBER < 0x10100000L || \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x02090000fL)
EVP_MD_CTX_cleanup(md_context);
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
EVP_MD_CTX_reset(md_context);
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -3419,7 +3419,7 @@ int warn_self_signed_ca()
static int init_ssl()
{
#ifdef HAVE_OPENSSL
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
CRYPTO_malloc_init();
#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */
OPENSSL_malloc_init();
--- a/vio/viosslfactories.c
+++ b/vio/viosslfactories.c
@@ -123,21 +123,19 @@ static DH *get_dh2048(void)
DH *dh;
if ((dh=DH_new()))
{
- BIGNUM *p= BN_bin2bn(dh2048_p, sizeof(dh2048_p), NULL);
- BIGNUM *g= BN_bin2bn(dh2048_g, sizeof(dh2048_g), NULL);
- if (!p || !g
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
- || !DH_set0_pqg(dh, p, NULL, g)
-#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
- ) {
- /* DH_free() will free 'p' and 'g' at once. */
+ BIGNUM *p = BN_bin2bn(dh2048_p,sizeof(dh2048_p), NULL);
+ BIGNUM *g = BN_bin2bn(dh2048_g,sizeof(dh2048_g), NULL);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ dh->p=p;
+ dh->g=g;
+ if (! dh->p || ! dh->g)
+#else
+ if (!DH_set0_pqg(dh, p, NULL, g))
+#endif
+ {
DH_free(dh);
- return NULL;
+ dh = NULL;
}
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
- dh->p= p;
- dh->g= g;
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
}
return(dh);
}

View File

@ -1,296 +0,0 @@
# Copyright 2008, 2009, 2010 Ingmar Vanhassel <ingmar@exherbo.org>
# Copyright 2011-2019 Timo Gurr <tgurr@exherbo.org>
# Distributed under the terms of the GNU General Public License v2
require cmake systemd-service
MYSQL_MAJOR_VERSION=$(ever range 1-2)
# In order to provide a stable code base, MySQL depends on a specific version of Boost.
# Currently only Boost.Geometry headers are used and boost is just required at build time.
BOOST_PV=1.59.0
# Miraculously works for MySQL >= 5.1 till at least 5.6
SPHINX_PV="2.2.9"
SUMMARY="A relational database management system (RDBMS)"
HOMEPAGE="https://www.mysql.com/"
DOWNLOADS="
mirror://mysql/Downloads/MySQL-$(ever range 1-2)/${PNV}.tar.gz
mirror://sourceforge/boost/boost_${BOOST_PV//./_}.tar.bz2
https://downloads.mysql.com/archives/${PN}-$(ever range 1-2)/${PNV}.tar.gz
sphinx? ( http://sphinxsearch.com/files/sphinx-${SPHINX_PV}-release.tar.gz )
"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_CHANGELOG="
https://dev.mysql.com/doc/relnotes/mysql/${MYSQL_MAJOR_VERSION}/en/news-$(ever replace_all '-').html [[ lang = [ en ] ]]
"
UPSTREAM_DOCUMENTATION="
https://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/index.html [[ lang = [ en ] ]]
https://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/postinstallation.html [[ lang = [ en ] note = [ Postinstallation documentation ] ]]
https://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/upgrading-downgrading.html [[ lang = [ en ] note = [ Upgrading or downgrading documentation ] ]]
"
UPSTREAM_RELEASE_NOTES="
https://dev.mysql.com/doc/relnotes/mysql/${MYSQL_MAJOR_VERSION}/en/ [[ lang = [ en ] ]]
"
LICENCES="GPL-2" # with-exceptions
SLOT="0"
MYOPTIONS="
debug
embedded-server [[ description = [ The embedded MySQL server library (DEPRECATED and slated for removal) ] ]]
memcached [[ description = [ Enable using memcached for InnoDb tables (don't know it? Don't enable it.) ] ]]
sphinx [[ description = [ Add the Sphinx Search Engine with fulltext search support (external engine) ] ]]
systemd
tcpd
( providers: libressl openssl ) [[ number-selected = exactly-one ]]
"
PLATFORMS="~amd64 ~x86"
DEPENDENCIES="
build:
virtual/pkg-config
systemd? ( sys-apps/systemd )
build+run:
group/${PN}
user/${PN}
app-admin/eclectic[>=2.0.18] [[ note = [ Split ld-*.path, @TARGET@ substitution ] ]]
app-arch/lz4
dev-libs/libaio
dev-libs/libedit
dev-libs/protobuf:=[>=2.6.1]
sys-libs/zlib[>=1.2.11]
providers:libressl? ( dev-libs/libressl:= )
providers:openssl? ( dev-libs/openssl )
tcpd? ( sys-apps/tcp-wrappers )
!dev-db/mariadb [[
description = [ MariaDB is a drop-in replacement for MySQL with same binary names ]
resolution = manual
]]
!dev-db/Percona-Server [[
description = [ Percona-Server is a drop-in replacement for MySQL with same binary names ]
resolution = manual
]]
recommendation:
memcached? ( net/memcached [[ description = [ The option provides the bundled memcached but you might want to use a stand-alone memcached as well ] ]] )
suggestion:
app-admin/logrotate [[ description = [ Use logrotate for rotating logs ] ]]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/mysql-5.7.29-fix-libressl-support.patch
)
# event_comment
# >= 5.6 needs libevent[>=1.4.12&<2.0] but
# a) we only have 2.0.22 at the time of writing
# b) lots of other stuff needs >=2.0
#
# Options:
#
# 1. Add libevent 1.4.x, imlement the dep as [>=1.4.12&<2.0] and watch the fun
# 2. Us the bundled libevent for MySQL to ensure it's always the right version.
# 3. Add libevent 1.4.x as SLOT=1.4, slot 2.0.x as SLOT=2.0, dep on the 1.4 slot here.
#
# I prefer 3., of course, but I went with 2. for now to be on the safe side.
#
# dev-libs/libevent[>=1.4.12]
pkg_pretend() {
# Sanity check when upgrading to a different x.y version of mysql
if [[ -z ${MYSQL_MAJOR_UPGRADE} ]] && has_version ${CATEGORY}/${PN} && \
! has_version ${CATEGORY}/${PN}[=${MYSQL_MAJOR_VERSION}*] ; then
ewarn "To install a different major version of MySQL, you have to dump/reload your database."
ewarn "When you've done this, please set 'MYSQL_MAJOR_UPGRADE=YesPlease', to continue the upgrade."
ewarn "For more information visit:"
ewarn "http://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/upgrading.html"
ewarn "http://dev.mysql.com/doc/refman/${MYSQL_MAJOR_VERSION}/en/downgrading.html"
die "Dump your databases before doing a major version upgrade of MySQL."
fi
if [[ -f "${ROOT}"/etc/tmpfiles.d/${PN}.conf ]] ; then
ewarn "The configuration file /etc/tmpfiles.d/${PN}.conf has been moved to"
ewarn "/usr/$(exhost --target)/lib/tmpfiles.d/${PN}.conf and can be safely removed after upgrade"
ewarn "if you did not make any changes to it."
fi
}
src_prepare() {
cmake_src_prepare
# https://bugs.mysql.com/bug.php?id=72353 (only relevant when using system libevent)
edo sed \
-e "s:\(LIBEVENT_LIBRAR\)IES:\1Y:" \
-i "${WORKBASE}"/${PNV}/cmake/libevent.cmake
# don't link statically against crypto libs
edo sed \
-e '/REVERSE CMAKE_FIND_LIBRARY_SUFFIXES/d' \
-i "${CMAKE_SOURCE}"/cmake/ssl.cmake
# disable the automagic LDAP SASL Authentication Plugin (client-side)
# if added it requires cyrus-sasl -DWITH_SASL:STRING=system and openldap and -DWITH_AUTHENTICATION_LDAP:BOOL=TRUE
edo sed \
-e '/ADD_SUBDIRECTORY(authentication_ldap)/d' \
-i "${CMAKE_SOURCE}"/libmysql/CMakeLists.txt
edo rm -rf "${WORKBASE}"/${PNV}/libmysql/authentication_ldap
option sphinx && edo ln -s "${WORKBASE}"/sphinx-${SPHINX_PV}-release/mysqlse "${WORKBASE}"/${PNV}/storage/sphinx
}
src_configure() {
local cmakeargs=(
-DBOOST_INCLUDE_DIR:PATH="${WORKBASE}"/boost_${BOOST_PV//./_}
-DBUILD_CONFIG:STRING=mysql_release
# The default layout STANDALONE breaks all the scripts.
-DINSTALL_LAYOUT:STRING="RPM"
-DCMAKE_DISABLE_FIND_PACKAGE_Git:BOOL=TRUE
-DCMAKE_INSTALL_PREFIX:PATH=/usr
-DCOMPILATION_COMMENT:STRING="Exherbo"
-DDEFAULT_CHARSET:STRING=utf8
-DDEFAULT_COLLATION:STRING=utf8_general_ci
-DFEATURE_SET:STRING=community
-DINSTALL_BINDIR:PATH=$(exhost --target)/bin
-DINSTALL_DOCDIR:PATH=share/doc/${PNVR}
-DINSTALL_DOCREADMEDIR:PATH=share/doc/${PNVR}
-DINSTALL_INCLUDEDIR:PATH=$(exhost --target)/include/mysql
-DINSTALL_INFODIR:PATH=share/mysql/info
-DINSTALL_LIBDIR:PATH=$(exhost --target)/lib/mysql
-DINSTALL_MANDIR:PATH=share/man
-DINSTALL_MYSQLSHAREDIR:PATH=share/mysql
# Empty value to not install the mysql-test directory
-DINSTALL_MYSQLTESTDIR:STRING=
-DINSTALL_PLUGINDIR:PATH=$(exhost --target)/lib/mysql/plugin
-DINSTALL_SBINDIR:PATH=$(exhost --target)/bin
-DINSTALL_SCRIPTDIR:PATH=$(exhost --target)/bin
-DINSTALL_SHAREDIR:PATH=share
-DINSTALL_SUPPORTFILESDIR:PATH=share/mysql
-DMYSQL_DATADIR:PATH=/var/lib/mysql
-DMYSQL_UNIX_ADDR:PATH=/run/mysqld/mysqld.sock
-DREPRODUCIBLE_BUILD:BOOL=FALSE
-DSYSCONFDIR:PATH=/etc/mysql
-DENABLE_DTRACE:BOOL=FALSE
-DENABLE_GCOV:BOOL=FALSE
-DENABLE_GPROF:BOOL=FALSE
-DENABLED_LOCAL_INFILE:BOOL=TRUE
-DENABLED_PROFILING:BOOL=TRUE
-DWITH_ASAN:BOOL=FALSE
-DWITH_ASAN_SCOPE:BOOL=FALSE
-DWITH_BOOST:PATH="${WORKBASE}"/boost_${BOOST_PV//./_}
-DWITH_CLIENT_PROTOCOL_TRACING:BOOL=FALSE
# Curl is only used with yassl
-DWITH_CURL:BOOL=FALSE
-DWITH_EDITLINE:STRING=system
-DWITH_EXTRA_CHARSETS:STRING=all
# Search for event_comment in this exlib for the reason for using bundled
-DWITH_LIBEVENT:STRING=bundled
-DWITH_LZ4:STRING=system
-DWITH_MSAN:BOOL=FALSE
-DWITH_NUMA:BOOL=FALSE
-DWITH_PROTOBUF:STRING=system
-DWITH_RAPID:BOOL=FALSE
-DWITH_SSL:STRING=/usr/$(exhost --target)
-DWITH_TEST_TRACE_PLUGIN:BOOL=FALSE
-DWITH_UBSAN:BOOL=FALSE
-DWITH_UNIT_TESTS:BOOL=TRUE
-DWITH_VALGRIND:BOOL=FALSE
-DWITH_ZLIB:STRING=system
# Default ENGINES for MySQL 5.6 community build (currently == xlarge) minus embedded
-DWITH_ARCHIVE_STORAGE_ENGINE:BOOL=TRUE
-DWITH_BLACKHOLE_STORAGE_ENGINE:BOOL=TRUE
-DWITH_FEDERATED_STORAGE_ENGINE:BOOL=TRUE
-DWITH_INNOBASE_STORAGE_ENGINE:BOOL=TRUE
)
if option debug ; then
cmakeargs+=(
-DCMAKE_BUILD_TYPE:STRING=Debug
)
else
cmakeargs+=(
-DCMAKE_BUILD_TYPE:STRING=Release
)
fi
if option memcached ; then
cmakeargs+=(
# Unfortunately, the InnoDb/memcached interface needs libevent 1.4.x
# as bundled with MySQL or trying to use memcached WILL make MySQL
# segfault immediately.
# (Keeping this comment even though the bundled lib is used anyway in
# order to remember *why* I changed it.)
-DWITH_LIBEVENT:STRING=bundled
-DWITH_INNODB_MEMCACHED:BOOL=TRUE
)
fi
if option sphinx ; then
cmakeargs+=(
-DWITH_SPHINX_STORAGE_ENGINE:BOOL=TRUE
)
fi
if option systemd ; then
cmakeargs+=(
-DWITH_SYSTEMD:BOOL=TRUE
-DSYSTEMD_PID_DIR:PATH=/run/mysqld
-DSYSTEMD_SERVICES_DIR:PATH=${SYSTEMDSYSTEMUNITDIR}
-DSYSTEMD_TMPFILES_DIR:PATH=/usr/$(exhost --target)/lib/tmpfiles.d
)
else
cmakeargs+=(
-DWITH_SYSTEMD:BOOL=FALSE
)
fi
ecmake \
"${cmakeargs[@]}" \
$(cmake_with debug DEBUG)\
$(cmake_with embedded-server EMBEDDED_SERVER)\
$(cmake_with tcpd LIBWRAP)
}
src_install() {
cmake_src_install
# Remove empty directories
edo rmdir "${IMAGE}"/usr/share/mysql/info
! option debug && edo rmdir "${IMAGE}"/usr/$(exhost --target)/lib/mysql/plugin/debug
keepdir /etc/mysql
insinto /etc/mysql
newins "${FILES}"/mysql-$(ever range 1-2)-my.cnf my.cnf
hereenvd 46mysql <<EOF
LDPATH=/usr/@TARGET@/lib/mysql
EOF
insinto /etc/logrotate.d
newins "${FILES}"/logrotate.mysql mysql
keepdir /var/lib/mysql-files
edo chown mysql:mysql "${IMAGE}"/var/lib/mysql-files
edo chmod 0750 "${IMAGE}"/var/lib/mysql-files
}
pkg_postinst() {
if option sphinx ; then
elog "In order to finalise your installation of the Sphinx Search Engine, you must install"
elog "it in MySQL using the following command as an administrative user:"
elog ""
elog "mysql> INSTALL PLUGIN SPHINX SONAME 'ha_sphinx.so';"
elog ""
fi
if option memcached ; then
elog "In order to finalise your installation of the memcached plugin, you must install"
elog "it in MySQL using the following command as an administrative user:"
elog ""
elog "mysql> install plugin daemon_memcached soname "libmemcached.so";"
elog ""
fi
}

View File

@ -13,7 +13,7 @@ the job for you! This software reunites the concepts of entity-relationship
diagrams and the features that PostgreSQL implements as extensions of SQL
standards.
"
HOMEPAGE="https://pgmodeler.io/ ${HOMEPAGE}"
HOMEPAGE="https://www.pgmodeler.com.br ${HOMEPAGE}"
LICENCES="GPL-3"
SLOT="0"
@ -25,13 +25,11 @@ DEPENDENCIES="
virtual/pkg-config
x11-libs/qttools:5
build+run:
dev-db/postgresql-client
dev-db/postgresql
dev-libs/libxml2
group/pgmodeler
x11-libs/qtbase:5
x11-libs/qtsvg:5
suggestion:
dev-db/postgresql [[ description = [ For running postgresql DB on the same host ] ]]
"
BUGS_TO="hasufell@posteo.de"

View File

@ -0,0 +1,80 @@
# Copyright 2013-2014 Thomas Witt
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PN="OpenSceneGraph"
MY_PNV=${MY_PN}-${PV}
require github [ user=openscenegraph project=${MY_PN} tag=${MY_PNV} ]
require cmake [ api=2 ]
SUMMARY="High performance 3D graphics toolkit"
DESCRIPTION="
The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application
developers in fields such as visual simulation, games, virtual reality, scientific visualization
and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX,
GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well
established as the world leading scene graph technology, used widely in the vis-sim, space,
scientific, oil-gas, games and virtual reality industries.
"
HOMEPAGE+=" http://${PN}.org"
LICENCES="wxWinLL-3 LGPL-2.1"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
( providers: ffmpeg libav ) [[ number-selected = exactly-one ]]
( providers: ijg-jpeg jpeg-turbo ) [[ number-selected = exactly-one ]]
"
DEPENDENCIES="
build:
virtual/unzip
build+run:
app-text/poppler[cairo]
dev-libs/glib:2
media-libs/freetype:2
media-libs/giflib:=
media-libs/gstreamer:1.0
media-libs/ilmbase
media-libs/jasper
media-libs/libpng:=
media-libs/openexr
media-libs/SDL:0
media-libs/tiff
media-plugins/gst-plugins-base:1.0
net-misc/curl
sys-libs/zlib
x11-dri/mesa
x11-libs/cairo
x11-libs/libX11
x11-libs/libXrandr
providers:ffmpeg? ( media/ffmpeg )
providers:ijg-jpeg? ( media-libs/jpeg:= )
providers:jpeg-turbo? ( media-libs/libjpeg-turbo )
providers:libav? ( media/libav )
"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DCMAKE_DISABLE_FIND_PACKAGE_Asio=1
-DCMAKE_DISABLE_FIND_PACKAGE_Inventor=1
-DCMAKE_DISABLE_FIND_PACKAGE_COLLADA=1
-DCMAKE_DISABLE_FIND_PACKAGE_FBX=
-DCMAKE_DISABLE_FIND_PACKAGE_Xine=1
-DCMAKE_DISABLE_FIND_PACKAGE_OpenVRML=1
-DCMAKE_DISABLE_FIND_PACKAGE_Performer=1
-DCMAKE_DISABLE_FIND_PACKAGE_GDAL=1
-DCMAKE_DISABLE_FIND_PACKAGE_LibVNCServer=1
-DCMAKE_DISABLE_FIND_PACKAGE_OurDCMTK=1
-DCMAKE_DISABLE_FIND_PACKAGE_RSVG=1
-DCMAKE_DISABLE_FIND_PACKAGE_NVTT=1
-DCMAKE_DISABLE_FIND_PACKAGE_LIBLAS=1
-DCMAKE_DISABLE_FIND_PACKAGE_Lua51=1
-DCMAKE_DISABLE_FIND_PACKAGE_Lua52=1
-DCMAKE_DISABLE_FIND_PACKAGE_SDL2=1
-DOSG_USE_LOCAL_LUA_SOURCE=OFF
-DOPENGL_PROFILE=GL2
-DDYNAMIC_OPENSCENEGRAPH=ON
-DLIB_POSTFIX=""
)

View File

@ -0,0 +1,168 @@
From fbdfac84763ce525e7d243eefbb23c013db93e32 Mon Sep 17 00:00:00 2001
From: Julian Ospald <hasufell@posteo.de>
Date: Tue, 24 May 2016 18:06:54 +0200
Subject: [PATCH] Use GNUInstallDirs
This will probably not make it upstream since they try to
be windows compatible.
---
CMake/ConfigureBuild.cmake | 2 +-
CMake/Utils/MyGUIConfigTargets.cmake | 40 +++++++++++++-------------
CMakeLists.txt | 1 +
MyGUIEngine/CMakeLists.txt | 2 +-
Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt | 2 +-
5 files changed, 24 insertions(+), 23 deletions(-)
diff --git a/CMake/ConfigureBuild.cmake b/CMake/ConfigureBuild.cmake
index 9c6aad9..b655848 100644
--- a/CMake/ConfigureBuild.cmake
+++ b/CMake/ConfigureBuild.cmake
@@ -47,7 +47,7 @@ if (UNIX)
else ()
configure_file(${MYGUI_TEMPLATES_DIR}/MYGUI.pc.in ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc @ONLY)
endif ()
- install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION lib/pkgconfig)
+ install(FILES ${MYGUI_BINARY_DIR}/pkgconfig/MYGUI${MYGUI_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
# configure additional packages
diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
index d48d2a3..61b80a5 100644
--- a/CMake/Utils/MyGUIConfigTargets.cmake
+++ b/CMake/Utils/MyGUIConfigTargets.cmake
@@ -60,27 +60,27 @@ endfunction(mygui_create_vcproj_userfile)
# install targets according to current build type
function(mygui_install_target TARGETNAME SUFFIX)
install(TARGETS ${TARGETNAME}
- RUNTIME DESTINATION "bin${MYGUI_RELEASE_PATH}" CONFIGURATIONS Release None ""
- LIBRARY DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
- ARCHIVE DESTINATION "lib${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}${MYGUI_RELEASE_PATH}" CONFIGURATIONS Release None ""
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_RELEASE_PATH}${SUFFIX}" CONFIGURATIONS Release None ""
FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS Release None ""
)
install(TARGETS ${TARGETNAME}
- RUNTIME DESTINATION "bin${MYGUI_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
- LIBRARY DESTINATION "lib${MYGUI_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
- ARCHIVE DESTINATION "lib${MYGUI_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}${MYGUI_RELWDBG_PATH}" CONFIGURATIONS RelWithDebInfo
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_RELWDBG_PATH}${SUFFIX}" CONFIGURATIONS RelWithDebInfo
FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS RelWithDebInfo
)
install(TARGETS ${TARGETNAME}
- RUNTIME DESTINATION "bin${MYGUI_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
- LIBRARY DESTINATION "lib${MYGUI_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
- ARCHIVE DESTINATION "lib${MYGUI_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}${MYGUI_MINSIZE_PATH}" CONFIGURATIONS MinSizeRel
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_MINSIZE_PATH}${SUFFIX}" CONFIGURATIONS MinSizeRel
FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS MinSizeRel
)
install(TARGETS ${TARGETNAME}
- RUNTIME DESTINATION "bin${MYGUI_DEBUG_PATH}" CONFIGURATIONS Debug
- LIBRARY DESTINATION "lib${MYGUI_LIB_DEBUG_PATH}${SUFFIX}" CONFIGURATIONS Debug
- ARCHIVE DESTINATION "lib${MYGUI_LIB_DEBUG_PATH}${SUFFIX}" CONFIGURATIONS Debug
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}${MYGUI_DEBUG_PATH}" CONFIGURATIONS Debug
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_DEBUG_PATH}${SUFFIX}" CONFIGURATIONS Debug
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_DEBUG_PATH}${SUFFIX}" CONFIGURATIONS Debug
FRAMEWORK DESTINATION "${MYGUI_FRAMEWORK_PATH}" CONFIGURATIONS Debug
)
endfunction(mygui_install_target)
@@ -364,11 +364,11 @@ function(mygui_install_app PROJECTNAME)
if (MYGUI_INSTALL_PDB)
# install debug pdb files
install(FILES ${MYGUI_BINARY_DIR}/bin${MYGUI_DEBUG_PATH}/${PROJECTNAME}.pdb
- DESTINATION bin${MYGUI_DEBUG_PATH}
+ DESTINATION ${CMAKE_INSTALL_BINDIR}${MYGUI_DEBUG_PATH}
CONFIGURATIONS Debug
)
install(FILES ${MYGUI_BINARY_DIR}/bin${MYGUI_RELWDBG_PATH}/${PROJECTNAME}.pdb
- DESTINATION bin${MYGUI_RELWDBG_PATH}
+ DESTINATION ${CMAKE_INSTALL_BINDIR}${MYGUI_RELWDBG_PATH}
CONFIGURATIONS RelWithDebInfo
)
endif ()
@@ -400,7 +400,7 @@ function(mygui_plugin PROJECTNAME)
set_target_properties(${PROJECTNAME} PROPERTIES PREFIX "")
install(FILES ${HEADER_FILES}
- DESTINATION include/MYGUI
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/MYGUI
)
endfunction(mygui_plugin)
@@ -431,20 +431,20 @@ function(mygui_config_lib PROJECTNAME)
# install debug pdb files
if (MYGUI_STATIC)
install(FILES ${MYGUI_BINARY_DIR}/lib${MYGUI_LIB_DEBUG_PATH}/${PROJECTNAME}Static_d.pdb
- DESTINATION lib${MYGUI_LIB_DEBUG_PATH}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_DEBUG_PATH}
CONFIGURATIONS Debug
)
install(FILES ${MYGUI_BINARY_DIR}/lib${MYGUI_LIB_RELWDBG_PATH}/${PROJECTNAME}Static.pdb
- DESTINATION lib${MYGUI_LIB_RELWDBG_PATH}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}${MYGUI_LIB_RELWDBG_PATH}
CONFIGURATIONS RelWithDebInfo
)
else ()
install(FILES ${MYGUI_BINARY_DIR}/bin${MYGUI_DEBUG_PATH}/${PROJECTNAME}_d.pdb
- DESTINATION bin${MYGUI_DEBUG_PATH}
+ DESTINATION ${CMAKE_INSTALL_BINDIR}${MYGUI_DEBUG_PATH}
CONFIGURATIONS Debug
)
install(FILES ${MYGUI_BINARY_DIR}/bin${MYGUI_RELWDBG_PATH}/${PROJECTNAME}.pdb
- DESTINATION bin${MYGUI_RELWDBG_PATH}
+ DESTINATION ${CMAKE_INSTALL_BINDIR}${MYGUI_RELWDBG_PATH}
CONFIGURATIONS RelWithDebInfo
)
endif ()
@@ -459,7 +459,7 @@ function(mygui_config_sample PROJECTNAME)
# set install RPATH for Unix systems
if (UNIX AND MYGUI_FULL_RPATH)
set_property(TARGET ${PROJECTNAME} APPEND PROPERTY
- INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
+ INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR})
set_property(TARGET ${PROJECTNAME} PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
endif ()
endfunction(mygui_config_sample)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9fc5694..0cddafa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,6 +17,7 @@ set(CMAKE_MODULE_PATH
"${MYGUI_SOURCE_DIR}/CMake/Utils"
"${MYGUI_SOURCE_DIR}/CMake/Packages"
)
+include(GNUInstallDirs)
include(CMakeDependentOption)
include(MacroLogFeature)
include(MyGUIConfigTargets)
diff --git a/MyGUIEngine/CMakeLists.txt b/MyGUIEngine/CMakeLists.txt
index c5eab54..839ff43 100644
--- a/MyGUIEngine/CMakeLists.txt
+++ b/MyGUIEngine/CMakeLists.txt
@@ -64,5 +64,5 @@ endif ()
# install MyGUIEngine headers
install(FILES ${HEADER_FILES}
- DESTINATION include/MYGUI
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/MYGUI"
)
diff --git a/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt b/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
index 169ad05..4bd7cd1 100644
--- a/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
+++ b/Platforms/OpenGL/OpenGLPlatform/CMakeLists.txt
@@ -30,7 +30,7 @@ link_directories(${OPENGL_LIB_DIR} ${PNG_LIBRARY})
# installation rules
install(FILES ${HEADER_FILES}
- DESTINATION include/MYGUI
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/MYGUI
)
mygui_install_target(${PROJECTNAME} "")
--
2.8.3

View File

@ -0,0 +1,21 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Fri Jun 15 10:42:42 UTC 2012
Subject: build system
Upstream: no
fix underlinking
--- MyGUIEngine/CMakeLists.txt
+++ MyGUIEngine/CMakeLists.txt
@@ -48,7 +48,10 @@
if (MYGUI_USE_FREETYPE)
target_link_libraries(${PROJECTNAME}
${FREETYPE_LIBRARIES}
- )
+ dl)
+else()
+ target_link_libraries(${PROJECTNAME}
+ dl)
endif()
# platform specific dependencies

View File

@ -0,0 +1,61 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PNV=MyGUI${PV}
WORK="${WORKBASE}/${PN}-${MY_PNV}"
require cmake [ api=2 ]
require github [ user=MyGUI tag=${MY_PNV} ]
SUMMARY="A library for creating GUIs for games"
HOMEPAGE="http://mygui.info/"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
media-libs/freetype:2
media-libs/glew
x11-dri/mesa
"
DEFAULT_SRC_PREPARE_PATCHES=(
-p0 "${FILES}"/${PNV}-underlinking.patch
-p1 "${FILES}"/${PNV}-Use-GNUInstallDirs.patch
)
CMAKE_SRC_CONFIGURE_PARAMS=(
-DCMAKE_INSTALL_BINDIR="/usr$(exhost --target)/bin"
-DCMAKE_INSTALL_INCLUDEDIR="/usr/$(exhost --target)/include"
-DCMAKE_INSTALL_LIBDIR="/usr/$(exhost --target)/lib"
-DCMAKE_INSTALL_PREFIX="/usr"
-DMYGUI_BUILD_DEMOS=OFF
-DMYGUI_BUILD_DOCS=OFF
-DMYGUI_BUILD_PLUGINS=ON
-DMYGUI_BUILD_TOOLS=OFF
-DCMAKE_BUILD_TYPE=Release
-DMYGUI_BUILD_WRAPPER=OFF
-DMYGUI_INSTALL_DOCS=OFF
-DMYGUI_INSTALL_MEDIA=ON
-DMYGUI_INSTALL_SAMPLES=OFF
-DMYGUI_INSTALL_TOOLS=OFF
-DMYGUI_RENDERSYSTEM=4
-DMYGUI_STATIC=OFF
-DMYGUI_USE_FREETYPE=ON
-DMYGUI_USE_SYSTEM_GLEW=ON
)
src_install() {
cmake_src_install
# test media not needed at runtime
edo rm -r "${IMAGE}"/usr/share/MYGUI/Media/UnitTests
# wrapper not available for linux, remove related media
edo rm -r "${IMAGE}"/usr/share/MYGUI/Media/Wrapper
}

View File

@ -1,37 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~debian/pool/main/c/cabal-install-2.4/cabal-install-2.4_2.4%2Bgit20180920.1.60e200d-6~deb9_amd64.deb"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_unpack() {
default
unpack ./data.tar.xz
}
src_install() {
dobin opt/cabal/2.4/bin/cabal
doman opt/cabal/2.4/share/man/man1/*
}

View File

@ -1,31 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~cabal/cabal-install-${PV}/cabal-install-${PV}-x86_64-unknown-linux.tar.xz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_install() {
dobin cabal
}

View File

@ -1,31 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~cabal/cabal-install-${PV}/cabal-install-${PV}-x86_64-unknown-linux.tar.xz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_install() {
dobin cabal
}

View File

@ -1,31 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="cabal-install is the command line interface to Cabal and hackage"
HOMEPAGE="https://www.haskell.org/cabal/"
DOWNLOADS="https://downloads.haskell.org/~cabal/cabal-install-${PV}/cabal-install-${PV}-x86_64-unknown-linux.tar.xz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
!dev-haskell/cabal-install [[
description = [ Both install the same binary ]
resolution = uninstall-blocked-after
]]
recommendation:
virtual/GHC
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_install() {
dobin cabal
}

View File

@ -1,35 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="Painless installation of GHC toolchain"
HOMEPAGE="https://www.haskell.org/ghcup/ https://gitlab.haskell.org/haskell/ghcup-hs"
DOWNLOADS="
platform:amd64? ( https://downloads.haskell.org/~ghcup/${PV}/x86_64-linux-ghcup-${PV} )
platform:x86? ( https://downloads.haskell.org/~ghcup/${PV}/i386-linux-ghcup-${PV} )
"
LICENCES="LGPL-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
platform: amd64 x86
"
DEPENDENCIES="
recommendation:
net-misc/curl [[ description = [ GHCup uses curl by default for downloads ] ]]
suggestion:
net-misc/wget [[ description = [ GHCup can use wget instead of curl ] ]]
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}
src_unpack() {
edo cp "${FETCHEDDIR}/${ARCHIVES}" ghcup
}
src_install() {
dobin ghcup
}

View File

@ -1,30 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
SUMMARY="The Haskell Tool Stack"
DESCRIPTION="
Stack is a cross-platform program for developing Haskell projects.
It is intended for Haskellers both new and experienced.
"
HOMEPAGE="http://haskellstack.org/"
DOWNLOADS="https://github.com/commercialhaskell/stack/releases/download/v${PV}/stack-${PV}-linux-x86_64.tar.gz"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
"
BUGS_TO="hasufell@posteo.de"
WORK=${WORKBASE}/stack-${PV}-linux-x86_64
src_install() {
default
dobin stack
}

View File

@ -1,25 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo>
# Distributed under the terms of the GNU General Public License v2
require java
SUMMARY="A powerful parser generator for reading, processing, executing, or translating structured text or binary files (Java target)"
HOMEPAGE="http://www.antlr.org"
DOWNLOADS="http://www.antlr.org/download/antlr-${PV}-complete.jar"
LICENCES="BSD-3"
SLOT="4"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
"
BUGS_TO="hasufell@posteo"
WORK=${WORKBASE}
src_install() {
insinto /usr/share/${PN}-${SLOT}
newins "${FETCHEDDIR}"/antlr-${PV}-complete.jar antlr-complete.jar
}

View File

@ -1,182 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://hawkings.mailstation.de/~hasufell/ghc-${PV}-x86_64-unknown-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-unknown-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo mkdir "${TEMP}"/bin
edo ln -s /usr/$(exhost --target)/bin/$(exhost --tool-prefix)ar "${TEMP}/bin/ar"
edo ln -s /usr/$(exhost --target)/bin/true "${TEMP}"/bin/strip
edo pushd "${WORK}-pre"
PATH="${TEMP}/bin:$PATH" edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
PATH="${TEMP}/bin:$PATH" emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,179 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,179 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${PV}-x86_64-fedora27-linux.tar.xz
edo mv "${WORK}" "${WORK}-pre"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORK}-pre"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=( --with-ghc=${TEMP}/ghc-pre/bin/ghc )
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,184 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
BOOTSTRAP_PV="8.6.5"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${BOOTSTRAP_PV}/ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PNV}-no-alex.patch
)
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
edo mv ghc-${BOOTSTRAP_PV} "bootstrap-ghc"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORKBASE}/bootstrap-ghc"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
GHC=${TEMP}/ghc-pre/bin/ghc econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,180 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
BOOTSTRAP_PV="8.6.5"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
https://downloads.haskell.org/~ghc/${BOOTSTRAP_PV}/ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
unpack ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
edo mv ghc-${BOOTSTRAP_PV} "bootstrap-ghc"
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
# prepare pre-built ghc
edo pushd "${WORKBASE}/bootstrap-ghc"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
GHC=${TEMP}/ghc-pre/bin/ghc econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,188 +0,0 @@
# Copyright 2008 Santiago M. Mola
# Copyright 2008, 2009, 2010, 2011 Ingmar Vanhassel
# Copyright 2011 Markus Rothe
# Distributed under the terms of the GNU General Public License v2
# Based in part upon 'ghc-6.8.2.ebuild' from Gentoo, which is:
# Copyright 1999-2008 Gentoo Foundation
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
MY_PN="ghc"
MY_PNV="${MY_PN}-${PV}"
MY_PNVR="${MY_PN}-${PVR}"
BOOTSTRAP_PV="8.6.5"
require bash-completion flag-o-matic alternatives
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
SUMMARY="The Glorious Glasgow Haskell Compilation System (non-haskell packages version)"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell.
"
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-src.tar.xz
https://downloads.haskell.org/~ghc/${PV}/${MY_PNV}-testsuite.tar.xz
bootstrap? ( https://downloads.haskell.org/~ghc/${BOOTSTRAP_PV}/ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz )
"
PLATFORMS="-* ~amd64"
BUGS_TO=""
REMOTE_IDS="freecode:${MY_PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${MY_PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
LICENCES="BSD-3"
SLOT="${PV}"
MYOPTIONS="
bootstrap [[ description = [ Use official bindist for bootstrapping ] ]]
doc
llvm [[ description = [ Code generation using LLVM ] ]]
"
# `make test` takes really long, so disable it. It also succeeds (i.e. returned value is zero) in
# case of unexpected failures. There are always unexpected failures.
# If you really want to run the tests, then enable expensive tests in order to run `make fulltest`,
# which runs the same tests as `make test`, but includes more test cases per test.
RESTRICT="test"
DEPENDENCIES="
build:
dev-python/Sphinx
!bootstrap? (
dev-lang/GHC:${BOOTSTRAP_PV}
)
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp:=[>=5]
dev-libs/libffi
llvm? ( dev-lang/llvm[>=2.7] )
!dev-lang/ghc [[ resolution = uninstall-blocked-before ]]
!dev-lang/ghc-bin [[ resolution = uninstall-blocked-before ]]
"
WORK=${WORKBASE}/${MY_PNV}
src_unpack() {
if option bootstrap ; then
unpack ghc-${BOOTSTRAP_PV}-x86_64-fedora27-linux.tar.xz
edo mv ghc-${BOOTSTRAP_PV} "bootstrap-ghc"
fi
unpack ${MY_PNV}-src.tar.xz
unpack ${MY_PNV}-testsuite.tar.xz
}
src_prepare() {
if option bootstrap ; then
# prepare pre-built ghc
edo pushd "${WORKBASE}/bootstrap-ghc"
edo ./configure \
--prefix="${TEMP}/ghc-pre" \
--target=$(exhost --target)
emake install
edo popd
fi
autotools_src_prepare
}
src_configure() {
# Initialize build.mk
echo '# Exherbo changes' > mk/build.mk
cat <<EOF >> mk/build.mk
# Put docs into the right place
docdir = /usr/share/doc/${MY_PNVR}
htmldir = /usr/share/doc/${MY_PNVR}/html
EOF
if option doc; then
echo "BUILD_SPHINX_HTML=YES" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=YES" >> mk/build.mk
else
echo "BUILD_SPHINX_HTML=NO" >> mk/build.mk
echo "BUILD_SPHINX_PDF=NO" >> mk/build.mk
echo "HADDOCK_DOCS=NO" >> mk/build.mk
fi
export PATH="${WORKBASE}/usr/bin:${PATH}"
if option llvm; then
echo "GhcWithLlvmCodeGen=YES" >> mk/build.mk
else
echo "GhcWithLlvmCodeGen=NO" >> mk/build.mk
fi
GHC_SRC_CONFIGURE_OPTIONS+=(
--with-system-libffi
--with-ffi-includes=$(${PKG_CONFIG} --variable includedir libffi)
)
# host and build cause compilation (at least for 7.6.1) to fail, as they're intended for
# cross-compilation.
GHC=ghc-${BOOTSTRAP_PV} econf \
AR=${AR} \
CC=${CC} \
--target=$(exhost --target) \
"${GHC_SRC_CONFIGURE_OPTIONS[@]}"
# don't strip anything. Very useful when stage2 SIGSEGVs on you
echo "STRIP_CMD = :" >> mk/build.mk
}
src_install() {
default
# libraries/ is a partial dupe of the html/ dir hierarchy, but
# containing only LICENSE files
edo rm -rf "${IMAGE}"/usr/share/doc/${MY_PNVR}/{LICENSE,libraries}
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg $(optionq doc && echo "haddock") runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
$(optionq doc && echo "/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}}") \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
if [[ -d ${IMAGE}/usr/share/man ]]; then
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
fi
}
src_test_expensive() {
emake fulltest
}

View File

@ -1,33 +0,0 @@
https://github.com/gentoo-haskell/gentoo-haskell/issues/959
From 144abba394c6a23eb877fbde727111a5e75b9d47 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Wed, 18 Sep 2019 23:50:20 -0400
Subject: [PATCH] configure: Don't depend upon alex in source dist build
This fixes #16860 by verifying that the generated sources don't already
exist before asserting that the `alex` executable was found. This
replicates the logic already used for `happy` in the case of `alex`.
---
aclocal.m4 | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -984,8 +984,11 @@ else
fi;
changequote([, ])dnl
])
-FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.1.7],
- [AC_MSG_ERROR([Alex version 3.1.7 or later is required to compile GHC.])])[]
+if test ! -f compiler/parser/Lexer.hs
+then
+ FP_COMPARE_VERSIONS([$fptools_cv_alex_version],[-lt],[3.1.7],
+ [AC_MSG_ERROR([Alex version 3.1.7 or later is required to compile GHC.])])[]
+fi
AlexVersion=$fptools_cv_alex_version;
AC_SUBST(AlexVersion)
])
--
2.23.0

View File

@ -1,218 +0,0 @@
# ghc-pkg command line completion for bash
#
# Copyright 2006-2007 Lennart Kolmodin <kolmodin@dtek.chalmers.se>
_ghc-pkg-get-ghc-pkg()
{
echo ghc-pkg
}
_ghc-pkg-pkg-fields()
{
# usage: _ghc-pkg-pkg-fields pkg-id
#
# list all fields of the pkg-id
# same fields for all packages but different in different versions of
# ghc-pkg? this can probably be done better/faster
if [[ -z "$1" ]]; then
echo "usage: _ghc-pkg-pkg-fields pkg-id"
return 1
fi
local fields
fields="$( $(_ghc-pkg-get-ghc-pkg) describe $1 )"
#if [[ fields != *"cannot find package"* ]]; then
echo "$fields" | grep ".*:.*" | sed "s/^\(.*\):.*\$/\1/"
#fi
}
_ghc-pkg-pkg-ids()
{
# usage: _ghc-pkg-pkg-ids
#
# simply lists all package ids known by ghc-pkg.
$(_ghc-pkg-get-ghc-pkg) list --simple-output
}
_ghc-pkg-pkgs()
{
# usage: _ghc-pkg-pkgs [include-pkgs] [include-ids]
#
# with optional parameter include-pkgs it will list all packages known
# to ghc-pkg.
# with optional parameter include-ids it will list all package-ids known
# to ghc-pkg.
local pkgs
local result
pkgs=( $( _ghc-pkg-pkg-ids ) )
result=( )
local withPkgs="no" withIds="no"
while [[ -n "$1" ]]; do
case "$1" in
include-pkgs)
withPkgs="yes" ;;
include-ids)
withIds="yes" ;;
*)
echo "unknown parameter '$1' to _ghc-pkg-pkgs"
return 1 ;;
esac
shift
done
# user must supply either include-pkgs, include-ids or both
if [[ $withPkgs != "yes" && $withIds != "yes" ]]; then
echo "usage: _ghc-pkg-pkgs [include-pkgs] [include-ids]"
return 1
fi
# find all packages if the user requested them
if [[ $withPkgs == "yes" ]]; then
# O(n^2) algorithm to exclude duplicates
for p in ${pkgs[*]}; do
p="${p//-[0-9.]*/}"
for existing in ${result[*]}; do
if [[ "$existing" == "$p" ]]; then
continue 2
fi
done
result=( "${result[@]}" "${p}" )
done
fi
# include all pkg-ids if requested
if [[ $withIds == "yes" ]]; then
result=( "${result[@]}" "${pkgs[@]}" )
fi
# we are finished, echo the result
echo "${result[*]}"
# happy ending
return 0
}
_ghc-pkg()
{
local cur
cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=()
local actions flags
actions='register update unregister expose hide list latest describe field'
dbflags="--user \
--global \
-f --package-conf= \
--global-conf="
registerflags="--force \
-g --auto-ghci-libs \
-D --define-name="
listflags="--simple-output"
flags="$dbflags \
$registerflags \
$listflags \
-? --help \
-V --version"
# if it's the users first word; complete it and return
if (($COMP_CWORD == 1)); then
COMPREPLY=( $( compgen -W "$actions $flags" -- $cur ) )
return 0
fi
# now we know we have at least one word written
local action="unknown" \
prev numwords \
cword act
prev=${COMP_WORDS[COMP_CWORD-1]}
numwords=${#COMP_WORDS[@]}
# find the action with O(n*m) algorithm
# where n = ${#COMP_WORDS[*]}
# m = number of actions
for cword in ${COMP_WORDS[*]}; do
for act in $actions; do
if [[ "$cword" == "$act" ]]; then
action=$cword
fi
done
done
case $action in
register|update)
# we want to complete both flags and paths, how?
# we do it by checking if the user has started to write a flag
# or a path, and then decide what to complete.
# that is, to complete a flag, the user must start to write a '-'
if [[ "$cur" == -* ]]; then
# (we assume) it's the start of a flag
# set COMPREPLY to flags relevant to these actions
COMPREPLY=( $( compgen -W "$dbflags $registerflags" -- $cur ) )
fi
;;
unregister|expose|hide|list|describe)
# all these actions can be completed with exactly one argument,
# a pkg-id.
COMPREPLY=( $( compgen -W "$dbflags" -- $cur ) )
# add special flags for some actions
if [[ "$action" == "list" ]]; then
COMPREPLY+=( $( compgen -W "$listflags" -- $cur ) )
fi
COMPREPLY+=( $( compgen -W "$( _ghc-pkg-pkgs include-ids )" -- $cur ) )
;;
latest)
# complete only packages, not package ids
COMPREPLY=( $( compgen -W "$( _ghc-pkg-pkgs include-pkgs )" -- $cur ) )
;;
field)
# we should always complete on the flags...
COMPREPLY=( $( compgen -W "$dbflags" -- $cur ) )
# then, we should either complete the package name or the field
# lets find out which one
# find the number of words in COMP_WORDS before COMP_CWORD that
# isn't flags. it should be 2 or 3 for us to complete it,
# exactly 2 if we should complete the package name
# exactly 3 if we should complete the field name
# otherwise, don't do any additional completion except the
# flags
# count the number of non flags up till the current word
local numnonflags=0 lastword i
for (( i=0 ; $i < $COMP_CWORD ; i++ )); do
if [[ ${COMP_WORDS[$i]} != -* ]]; then
lastword=${COMP_WORDS[$i]}
numnonflags=$(( ++numnonflags ))
fi
done
case $numnonflags in
2)
# complete on pkg-ids
COMPREPLY+=( $( compgen -W "$( _ghc-pkg-pkgs include-ids )" -- $cur ) ) ;;
3)
# complete on fields
COMPREPLY+=( $( compgen -W "$( _ghc-pkg-pkg-fields $lastword )" -- $cur ) ) ;;
esac
;;
*)
# unknown action, not yet given by the user
# return all possible completions
COMPREPLY=( $( compgen -W "$actions $flags" -- $cur ) )
;;
esac
}
complete -F _ghc-pkg -o default ghc-pkg
# vim: set ft=sh tw=80 sw=4 et :

View File

@ -31,7 +31,7 @@ DEPENDENCIES="
dev-python/Pygments[>=2.2][python_abis:*(-)?]
dev-python/prompt_toolkit[>=1.0][python_abis:*(-)?]
dev-python/pyparsing[>=2.2.0&<2.2.1][python_abis:*(-)?]
python_abis:2.7? ( dev-python/futures[>=3.2][python_abis:2.7] )
python_abis:2.7? ( dev-python/futures[>=3.1][python_abis:2.7] )
suggestion:
dev-python/mypy[>=0.540] [[ description = [ coconut can run mypy on the compiled python code ] ]]
"

View File

@ -1,62 +0,0 @@
# Copyright 2017 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="evhub" tag="v${PV}" ]
require pypi setup-py [ import=setuptools ]
SUMMARY="Simple, elegant, Pythonic functional programming"
DESCRIPTION="
Coconut is a functional programming language that compiles to Python. Since all
valid Python is valid Coconut, using Coconut will only extend and enhance what
you're already capable of in Python.
Why use Coconut? Coconut is built to be fundamentally useful. Coconut enhances
the repertoire of Python programmers to include the tools of modern functional
programming, in such a way that those tools are easy to use and immensely
powerful; that is, Coconut does to functional programming what Python did to
imperative programming. And Coconut code runs the same on any Python version,
making the Python 2/3 split a thing of the past.
"
HOMEPAGE="http://coconut-lang.org/ ${HOMEPAGE}"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
RESTRICT="test" # missing deps
# python setup.py egg_info
# cat coconut.egg-info/requires.txt
# we ignore upper bounds of:
# * cPyparsing
# * mypy
# * prompt_toolkit[python_abis:2.7]
DEPENDENCIES="
build+run:
dev-python/Pygments[>=2.3.1][python_abis:*(-)?]
dev-python/prompt_toolkit[>=1.0][python_abis:*(-)?]
dev-python/cPyparsing[>=2.4.5.0.1.1][python_abis:*(-)?]
python_abis:2.7? (
dev-python/futures[>=3.3][python_abis:2.7]
dev-python/prompt_toolkit[>=1.0][python_abis:*(-)?]
)
suggestion:
dev-python/mypy[>=0.540] [[ description = [ coconut can run mypy on the compiled python code ] ]]
dev-python/psutil[>=5] [[ description = [ improves use of the --jobs flag ] ]]
dev-python/watchdog[>=0.9] [[ description = [ enables use of the --watch flag ] ]]
python_abis:2.7? (
dev-python/trollius[>=2.2] [[ description = [ enables use of the asyncio library on Python 2 versions by making use of trollius ] ]]
)
"
BUGS_TO="hasufell@posteo.de"
prepare_one_multibuild() {
python_prepare_one_multibuild
# https://github.com/evhub/coconut/issues/527
edo iconv -c -f utf-8 -t ascii README.rst > "${TEMP}"/README.rst
edo $(exhost --tool-prefix)strings "${TEMP}"/README.rst > README.rst
}

View File

@ -1,218 +0,0 @@
# ghc-pkg command line completion for bash
#
# Copyright 2006-2007 Lennart Kolmodin <kolmodin@dtek.chalmers.se>
_ghc-pkg-get-ghc-pkg()
{
echo ghc-pkg
}
_ghc-pkg-pkg-fields()
{
# usage: _ghc-pkg-pkg-fields pkg-id
#
# list all fields of the pkg-id
# same fields for all packages but different in different versions of
# ghc-pkg? this can probably be done better/faster
if [[ -z "$1" ]]; then
echo "usage: _ghc-pkg-pkg-fields pkg-id"
return 1
fi
local fields
fields="$( $(_ghc-pkg-get-ghc-pkg) describe $1 )"
#if [[ fields != *"cannot find package"* ]]; then
echo "$fields" | grep ".*:.*" | sed "s/^\(.*\):.*\$/\1/"
#fi
}
_ghc-pkg-pkg-ids()
{
# usage: _ghc-pkg-pkg-ids
#
# simply lists all package ids known by ghc-pkg.
$(_ghc-pkg-get-ghc-pkg) list --simple-output
}
_ghc-pkg-pkgs()
{
# usage: _ghc-pkg-pkgs [include-pkgs] [include-ids]
#
# with optional parameter include-pkgs it will list all packages known
# to ghc-pkg.
# with optional parameter include-ids it will list all package-ids known
# to ghc-pkg.
local pkgs
local result
pkgs=( $( _ghc-pkg-pkg-ids ) )
result=( )
local withPkgs="no" withIds="no"
while [[ -n "$1" ]]; do
case "$1" in
include-pkgs)
withPkgs="yes" ;;
include-ids)
withIds="yes" ;;
*)
echo "unknown parameter '$1' to _ghc-pkg-pkgs"
return 1 ;;
esac
shift
done
# user must supply either include-pkgs, include-ids or both
if [[ $withPkgs != "yes" && $withIds != "yes" ]]; then
echo "usage: _ghc-pkg-pkgs [include-pkgs] [include-ids]"
return 1
fi
# find all packages if the user requested them
if [[ $withPkgs == "yes" ]]; then
# O(n^2) algorithm to exclude duplicates
for p in ${pkgs[*]}; do
p="${p//-[0-9.]*/}"
for existing in ${result[*]}; do
if [[ "$existing" == "$p" ]]; then
continue 2
fi
done
result=( "${result[@]}" "${p}" )
done
fi
# include all pkg-ids if requested
if [[ $withIds == "yes" ]]; then
result=( "${result[@]}" "${pkgs[@]}" )
fi
# we are finished, echo the result
echo "${result[*]}"
# happy ending
return 0
}
_ghc-pkg()
{
local cur
cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=()
local actions flags
actions='register update unregister expose hide list latest describe field'
dbflags="--user \
--global \
-f --package-conf= \
--global-conf="
registerflags="--force \
-g --auto-ghci-libs \
-D --define-name="
listflags="--simple-output"
flags="$dbflags \
$registerflags \
$listflags \
-? --help \
-V --version"
# if it's the users first word; complete it and return
if (($COMP_CWORD == 1)); then
COMPREPLY=( $( compgen -W "$actions $flags" -- $cur ) )
return 0
fi
# now we know we have at least one word written
local action="unknown" \
prev numwords \
cword act
prev=${COMP_WORDS[COMP_CWORD-1]}
numwords=${#COMP_WORDS[@]}
# find the action with O(n*m) algorithm
# where n = ${#COMP_WORDS[*]}
# m = number of actions
for cword in ${COMP_WORDS[*]}; do
for act in $actions; do
if [[ "$cword" == "$act" ]]; then
action=$cword
fi
done
done
case $action in
register|update)
# we want to complete both flags and paths, how?
# we do it by checking if the user has started to write a flag
# or a path, and then decide what to complete.
# that is, to complete a flag, the user must start to write a '-'
if [[ "$cur" == -* ]]; then
# (we assume) it's the start of a flag
# set COMPREPLY to flags relevant to these actions
COMPREPLY=( $( compgen -W "$dbflags $registerflags" -- $cur ) )
fi
;;
unregister|expose|hide|list|describe)
# all these actions can be completed with exactly one argument,
# a pkg-id.
COMPREPLY=( $( compgen -W "$dbflags" -- $cur ) )
# add special flags for some actions
if [[ "$action" == "list" ]]; then
COMPREPLY+=( $( compgen -W "$listflags" -- $cur ) )
fi
COMPREPLY+=( $( compgen -W "$( _ghc-pkg-pkgs include-ids )" -- $cur ) )
;;
latest)
# complete only packages, not package ids
COMPREPLY=( $( compgen -W "$( _ghc-pkg-pkgs include-pkgs )" -- $cur ) )
;;
field)
# we should always complete on the flags...
COMPREPLY=( $( compgen -W "$dbflags" -- $cur ) )
# then, we should either complete the package name or the field
# lets find out which one
# find the number of words in COMP_WORDS before COMP_CWORD that
# isn't flags. it should be 2 or 3 for us to complete it,
# exactly 2 if we should complete the package name
# exactly 3 if we should complete the field name
# otherwise, don't do any additional completion except the
# flags
# count the number of non flags up till the current word
local numnonflags=0 lastword i
for (( i=0 ; $i < $COMP_CWORD ; i++ )); do
if [[ ${COMP_WORDS[$i]} != -* ]]; then
lastword=${COMP_WORDS[$i]}
numnonflags=$(( ++numnonflags ))
fi
done
case $numnonflags in
2)
# complete on pkg-ids
COMPREPLY+=( $( compgen -W "$( _ghc-pkg-pkgs include-ids )" -- $cur ) ) ;;
3)
# complete on fields
COMPREPLY+=( $( compgen -W "$( _ghc-pkg-pkg-fields $lastword )" -- $cur ) ) ;;
esac
;;
*)
# unknown action, not yet given by the user
# return all possible completions
COMPREPLY=( $( compgen -W "$actions $flags" -- $cur ) )
;;
esac
}
complete -F _ghc-pkg -o default ghc-pkg
# vim: set ft=sh tw=80 sw=4 et :

View File

@ -1,92 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-deb7-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
# we are not building, shut up already
edo mkdir "${TEMP}"/bin
edo ln -s /usr/$(exhost --target)/bin/$(exhost --tool-prefix)ar "${TEMP}/bin/ar"
edo ln -s /usr/$(exhost --target)/bin/true "${TEMP}"/bin/strip
export PATH="${TEMP}/bin:$PATH"
edo ./configure \
--prefix=/usr/x86_64-pc-linux-gnu \
--datadir=/usr/share \
--datarootdir=/usr/share \
--docdir=/usr/share/doc/ghc-bin-${PV}
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
}

View File

@ -1,89 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-deb7-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
# we are not building, shut up already
edo mkdir "${TEMP}"/bin
edo ln -s /usr/$(exhost --target)/bin/$(exhost --tool-prefix)ar "${TEMP}/bin/ar"
edo ln -s /usr/$(exhost --target)/bin/true "${TEMP}"/bin/strip
export PATH="${TEMP}/bin:$PATH"
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,96 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require bash-completion alternatives
SUMMARY="The Glorious Glasgow Haskell Compilation System"
DESCRIPTION="
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional
language Haskell."
HOMEPAGE="https://www.haskell.org/ghc/"
DOWNLOADS="https://downloads.haskell.org/~ghc/${PV}/ghc-${PV}-x86_64-fedora27-linux.tar.xz"
LICENCES="BSD-3"
SLOT="${PV}"
PLATFORMS="-* ~amd64"
MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-lang/perl:*[>=5.6.1]
dev-libs/gmp[>=6.1] [[ note = [ depends on libgmp.so.10 ] ]]
sys-libs/ncurses[>=6.1-r2] [[ note = [ Only these include libtinfo.so symlinks ] ]]
!dev-lang/GHC [[
description = [ different provider ]
resolution = uninstall-blocked-after
]]
!dev-lang/ghc [[
description = [ Both install the same binaries/libs and alternatives ]
resolution = uninstall-blocked-before
]]
suggestion:
dev-haskell/cabal-install-bin [[ description = [ the cabal binary for installing packages ] ]]
dev-lang/llvm[>=2.7] [[ description = [ LLVM can be used for code generation and linking ] ]]
"
BUGS_TO="hasufell@posteo.de"
REMOTE_IDS="freecode:${PN}"
UPSTREAM_RELEASE_NOTES="http://www.haskell.org/${PN}/docs/${PV}/html/users_guide/release-${PV//./-}.html"
RESTRICT="test"
WORK=${WORKBASE}/ghc-${PV}
src_configure() {
econf \
--target=$(exhost --target)
}
src_compile() {
:
}
src_install() {
default
# bashcomp
dobashcompletion "${FILES}/ghc-bash-completion"
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/share/bash-completion/completions/ghc-bin{,-${SLOT}}
# some scripts are not versioned, move
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hp2ps,hp2ps-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hpc,hpc-${SLOT}}
edo mv "${IMAGE}"/usr/$(exhost --target)/bin/{hsc2hs,hsc2hs-${SLOT}}
# remove unversioned symlinks, we create alternatives later
local ghc_bin
for ghc_bin in ghc ghci ghc-pkg haddock runghc runhaskell ; do
edo rm "${IMAGE}"/usr/$(exhost --target)/bin/${ghc_bin}
done
unset ghc_bin
# create alternatives for scripts/binaries
alternatives_for ghc ${SLOT} ${SLOT} \
/usr/$(exhost --target)/bin/ghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghci{,-${SLOT}} \
/usr/$(exhost --target)/bin/ghc-pkg{,-${SLOT}} \
/usr/$(exhost --target)/bin/haddock{,-ghc-${SLOT}} \
/usr/$(exhost --target)/bin/hp2ps{,-${SLOT}} \
/usr/$(exhost --target)/bin/hpc{,-${SLOT}} \
/usr/$(exhost --target)/bin/hsc2hs{,-${SLOT}} \
/usr/$(exhost --target)/bin/runghc{,-${SLOT}} \
/usr/$(exhost --target)/bin/runhaskell /usr/$(exhost --target)/bin/runghc-${SLOT}
# alternatives for manpages
local file alternatives=()
for file in "${IMAGE}"/usr/share/man/*/*; do
alternatives+=(
${file#${IMAGE}}
${file#${IMAGE}}-${SLOT}
)
done
alternatives_for \
ghc ${SLOT} ${SLOT} \
"${alternatives[@]}"
}

View File

@ -1,36 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo>
# Distributed under the terms of the GNU General Public License v2
WORK=${WORKBASE}
require cmake [ api=2 ]
SUMMARY="A powerful parser generator for reading, processing, executing, or translating structured text or binary files (cpp target)"
HOMEPAGE="http://www.antlr.org"
DOWNLOADS="http://www.antlr.org/download/antlr4-cpp-runtime-${PV}-source.zip
http://www.antlr.org/download/antlr-${PV}-complete.jar"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-java/antlr:4
sys-apps/util-linux
"
BUGS_TO="hasufell@posteo.de"
src_configure() {
CMAKE_SRC_CONFIGURE_PARAMS=(
-DANTLR_JAR_LOCATION="/usr/share/antlr-4/antlr-complete.jar"
-DWITH_DEMO=False
)
cmake_src_configure
}

View File

@ -0,0 +1,93 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user=ARMmbed tag=mbedtls-${PV} ]
WORK="${WORKBASE}/${PNV}" # because github.exlib is broken
require cmake [ api=2 ]
SUMMARY="Cryptographic library for embedded systems"
HOMEPAGE="https://tls.mbed.org/"
DOWNLOADS="https://tls.mbed.org/download/${PNV}-gpl.tgz"
LICENCES="|| ( Apache-2.0 GPL-2 )"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS="
doc
havege [[ description = [ Enable the HAVEGE random generator,
not suitable for virtualized environments! ] ]]
threads [[ description = [ Enables the threading abstraction layer
via pthread. This is used if you do intend
to use contexts between threads. ] ]]
x86_cpu_features:
sse2
"
DEPENDENCIES="
build:
doc? (
app-doc/doxygen[>=1.8.4]
media-gfx/graphviz
)
build+run:
sys-libs/zlib
test:
dev-lang/perl:*
"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DENABLE_PROGRAMS=OFF
-DUSE_SHARED_MBEDTLS_LIBRARY=ON
-DINSTALL_MBEDTLS_HEADERS=ON
-DLIB_INSTALL_DIR="/usr/$(exhost --target)/lib"
-DUSE_STATIC_MBEDTLS_LIBRARY=OFF
-DENABLE_ZLIB_SUPPORT=ON
)
CMAKE_SRC_CONFIGURE_TESTS=(
'-DENABLE_TESTING=ON'
)
enable_mbedtls_option() {
local myopt="$@"
# check that config.h syntax is the same at version bump
edo sed -i \
-e "s://#define ${myopt}:#define ${myopt}:" \
"${CMAKE_SOURCE}"/include/mbedtls/config.h
}
src_prepare() {
option x86_cpu_features:sse2 && enable_mbedtls_option MBEDTLS_HAVE_SSE2
enable_mbedtls_option MBEDTLS_ZLIB_SUPPORT
option havege && enable_mbedtls_option MBEDTLS_HAVEGE_C
option threads && enable_mbedtls_option MBEDTLS_THREADING_C
option threads && enable_mbedtls_option MBEDTLS_THREADING_PTHREAD
enable_mbedtls_option MBEDTLS_MD4_C
cmake_src_prepare
}
src_compile() {
default
if option doc ; then
emake apidoc
fi
}
src_test() {
LD_LIBRARY_PATH="${ECMAKE_BUILD_DIR}/library" \
emake test
}
src_install() {
cmake_src_install
if option doc ; then
docinto html
dodoc -r "${CMAKE_SOURCE}"/apidoc/*
fi
}

View File

@ -1,134 +0,0 @@
From: Nathan Phillip Brink <binki@gentoo.org>
Subject: Respect CCASFLAGS (which often defaults to CFLAGS). Fixes
compilation for portage-multilib users.
diff -r c090ed619e90 configure.ac
--- a/configure.ac Sun Jun 26 16:00:09 2011 -0400
+++ b/configure.ac Sun Jun 26 20:52:01 2011 -0400
@@ -47,14 +47,12 @@
AC_CANONICAL_TARGET
AM_MAINTAINER_MODE
-if test -z "$ac_abs_top_srcdir"; then
- _AC_SRCPATHS(.)
-fi
if test -r .Conf.settings1; then
. ./.Conf.settings1
fi
AC_PROG_CC
+AM_PROG_AS
AC_PROG_CPP
mfx_PROG_CPPFLAGS
AC_C_CONST
@@ -84,13 +82,13 @@
if test "X$enable_asm" != Xno; then
mfx_compile_S='${CC-cc} -c conftest.S 1>&AS_MESSAGE_LOG_FD'
cat > conftest.S <<EOF
-#include "$ac_abs_top_srcdir/asm/i386/src_gas/crc_asm.S"
+#include "$srcdir/asm/i386/src_gas/crc_asm.S"
EOF
enable_asm=no
if AC_TRY_EVAL(mfx_compile_S); then
if AC_TRY_COMMAND([test -s conftest.$ac_objext]); then
enable_asm=yes
- UCL_ASM_VPATH=":$ac_abs_top_srcdir/asm/i386/src_gas"
+ UCL_ASM_VPATH=":\$(top_srcdir)/asm/i386/src_gas"
fi
fi
if test "X$enable_asm" = Xno; then
@@ -160,11 +158,6 @@
AC_SUBST(UCL_CFLAGS)
AC_SUBST(UCL_EXTRA_CFLAGS)
-configure_CPPFLAGS=$CPPFLAGS
-configure_CFLAGS=$CFLAGS
-AC_SUBST(configure_CPPFLAGS)
-AC_SUBST(configure_CFLAGS)
-
AC_CONFIG_FILES([Makefile examples/Makefile include/Makefile include/ucl/Makefile src/Makefile])
AC_OUTPUT
diff -r c090ed619e90 src/Makefile.am
--- a/src/Makefile.am Sun Jun 26 16:00:09 2011 -0400
+++ b/src/Makefile.am Sun Jun 26 20:52:01 2011 -0400
@@ -4,11 +4,10 @@
#
VPATH = @srcdir@@UCL_ASM_VPATH@
-SUFFIXES = .S
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-CPPFLAGS = $(UCL_CPPFLAGS) $(configure_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
-CFLAGS = $(UCL_CFLAGS) $(configure_CFLAGS) $(UCL_EXTRA_CFLAGS)
+AM_CPPFLAGS = $(UCL_CPPFLAGS) $(UCL_EXTRA_CPPFLAGS)
+AM_CFLAGS = $(UCL_CFLAGS) $(UCL_EXTRA_CFLAGS)
lib_LTLIBRARIES = libucl.la
@@ -16,51 +15,37 @@
libucl_la_SOURCES = \
alloc.c \
+ getbit.h \
n2b_99.c n2b_d.c n2b_ds.c n2b_to.c \
n2d_99.c n2d_d.c n2d_ds.c n2d_to.c \
n2e_99.c n2e_d.c n2e_ds.c n2e_to.c \
+ ucl_conf.h \
ucl_crc.c \
ucl_init.c \
- ucl_ptr.c \
+ ucl_ptr.c ucl_ptr.h \
ucl_str.c \
ucl_util.c
EXTRA_DIST = \
- getbit.h \
n2_99.ch \
- ucl_conf.h \
ucl_dll.ch \
ucl_mchw.ch \
- ucl_ptr.h \
ucl_swd.ch
-libucl_la_LIBADD = $(UCL_ASM_OBJECTS)
-libucl_la_DEPENDENCIES = $(libucl_la_LIBADD)
-
-
# /***********************************************************************
# // assembler support
# ************************************************************************/
if UCL_USE_ASM
-
-UCL_ASM_OBJECTS = \
- cpuid.lo crc_asm.lo crcs_asm.lo rdtsc.lo rdtsca.lo \
- n2b_d_f1.lo n2b_d_f2.lo n2b_d_f3.lo n2b_d_f4.lo n2b_d_f5.lo n2b_d_f6.lo \
- n2b_d_n1.lo n2b_d_n2.lo n2b_d_n3.lo n2b_d_n4.lo n2b_d_n5.lo n2b_d_n6.lo \
- n2b_d_s1.lo n2b_d_s2.lo n2b_d_s3.lo n2b_d_s4.lo n2b_d_s5.lo n2b_d_s6.lo \
- n2d_d_f1.lo n2d_d_f2.lo n2d_d_f3.lo n2d_d_f4.lo n2d_d_f5.lo n2d_d_f6.lo \
- n2d_d_n1.lo n2d_d_n2.lo n2d_d_n3.lo n2d_d_n4.lo n2d_d_n5.lo n2d_d_n6.lo \
- n2d_d_s1.lo n2d_d_s2.lo n2d_d_s3.lo n2d_d_s4.lo n2d_d_s5.lo n2d_d_s6.lo \
- n2e_d_f1.lo n2e_d_f2.lo n2e_d_f3.lo n2e_d_f4.lo n2e_d_f5.lo n2e_d_f6.lo \
- n2e_d_n1.lo n2e_d_n2.lo n2e_d_n3.lo n2e_d_n4.lo n2e_d_n5.lo n2e_d_n6.lo \
- n2e_d_s1.lo n2e_d_s2.lo n2e_d_s3.lo n2e_d_s4.lo n2e_d_s5.lo n2e_d_s6.lo
-
-.S.o:
- $(CC) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(CC) -c $<
-
+libucl_la_SOURCES += \
+ cpuid.S crc_asm.S crcs_asm.S rdtsc.S rdtsca.S \
+ n2b_d_f1.S n2b_d_f2.S n2b_d_f3.S n2b_d_f4.S n2b_d_f5.S n2b_d_f6.S \
+ n2b_d_n1.S n2b_d_n2.S n2b_d_n3.S n2b_d_n4.S n2b_d_n5.S n2b_d_n6.S \
+ n2b_d_s1.S n2b_d_s2.S n2b_d_s3.S n2b_d_s4.S n2b_d_s5.S n2b_d_s6.S \
+ n2d_d_f1.S n2d_d_f2.S n2d_d_f3.S n2d_d_f4.S n2d_d_f5.S n2d_d_f6.S \
+ n2d_d_n1.S n2d_d_n2.S n2d_d_n3.S n2d_d_n4.S n2d_d_n5.S n2d_d_n6.S \
+ n2d_d_s1.S n2d_d_s2.S n2d_d_s3.S n2d_d_s4.S n2d_d_s5.S n2d_d_s6.S \
+ n2e_d_f1.S n2e_d_f2.S n2e_d_f3.S n2e_d_f4.S n2e_d_f5.S n2e_d_f6.S \
+ n2e_d_n1.S n2e_d_n2.S n2e_d_n3.S n2e_d_n4.S n2e_d_n5.S n2e_d_n6.S \
+ n2e_d_s1.S n2e_d_s2.S n2e_d_s3.S n2e_d_s4.S n2e_d_s5.S n2e_d_s6.S
endif
-

View File

@ -1,173 +0,0 @@
port ucl to the x32 ABI
https://bugs.gentoo.org/426334
--- a/acc/acc_arch.h
+++ b/acc/acc_arch.h
@@ -19,6 +19,7 @@
* ACC_ARCH_UNKNOWN [default]
* ACC_ARCH_ALPHA
* ACC_ARCH_AMD64 aka x86-64 or ia32e
+ * ACC_ARCH_X32 aka x86-32
* ACC_ARCH_C166
* ACC_ARCH_IA16 Intel Architecture (8088, 8086, 80186, 80286)
* ACC_ARCH_IA32 Intel Architecture (80386+)
@@ -42,8 +43,13 @@
# define ACC_ARCH_IA16 1
# define ACC_INFO_ARCH "ia16"
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
+# ifdef __ILP32__
+# define ACC_ARCH_X32 1
+# define ACC_INFO_ARCH "x32"
+# else
# define ACC_ARCH_AMD64 1
# define ACC_INFO_ARCH "amd64"
+# endif
#elif (UINT_MAX <= ACC_0xffffL) && defined(__AVR__)
# define ACC_ARCH_AVR 1
# define ACC_INFO_ARCH "avr"
@@ -92,7 +98,7 @@
#endif
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA16 || ACC_ARCH_IA32 || ACC_ARCH_X32)
# define ACC_ENDIAN_LITTLE_ENDIAN 1
# define ACC_INFO_ENDIAN "little-endian"
#elif (ACC_ARCH_M68K)
--- a/acc/acc_chk.ch
+++ b/acc/acc_chk.ch
@@ -407,7 +407,7 @@
#if (ACC_ARCH_IA16)
ACCCHK_ASSERT(sizeof(size_t) == 2)
ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K)
+#elif (ACC_ARCH_IA32 || ACC_ARCH_M68K || ACC_ARCH_X32)
ACCCHK_ASSERT(sizeof(size_t) == 4)
ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
--- a/acc/acc_lib.h
+++ b/acc/acc_lib.h
@@ -423,13 +423,13 @@ ACCLIB_EXTERN(void, acc_set_le64) (acc_hvoid_p, acc_uint64l_t);
#endif
/* inline versions */
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
# define ACC_GET_LE16(p) (* (const unsigned short *) (p))
# define ACC_GET_LE32(p) (* (const acc_uint32e_t *) (p))
# define ACC_SET_LE16(p,v) (* (unsigned short *) (p) = (unsigned short) (v))
# define ACC_SET_LE32(p,v) (* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v))
#endif
-#if (ACC_ARCH_AMD64)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
# define ACC_GET_LE64(p) (* (const acc_uint64l_t *) (p))
# define ACC_SET_LE64(p,v) (* (acc_uint64l_t *) (p) = (acc_uint64l_t) (v))
#endif
--- a/acc/acclib/bele.ch
+++ b/acc/acclib/bele.ch
@@ -71,7 +71,7 @@ ACCLIB_PUBLIC(void, acc_set_be32) (acc_hvoid_p p, acc_uint32l_t v)
ACCLIB_PUBLIC(unsigned, acc_get_le16) (const acc_hvoid_p p)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
return (* (const unsigned short *) (p));
#else
const acc_hbyte_p b = (const acc_hbyte_p) p;
@@ -87,7 +87,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le24) (const acc_hvoid_p p)
ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
return (* (const acc_uint32e_t *) (p));
#else
const acc_hbyte_p b = (const acc_hbyte_p) p;
@@ -102,7 +102,7 @@ ACCLIB_PUBLIC(acc_uint32l_t, acc_get_le32) (const acc_hvoid_p p)
ACCLIB_PUBLIC(void, acc_set_le16) (acc_hvoid_p p, unsigned v)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
(* (unsigned short *) (p) = (unsigned short) (v));
#else
acc_hbyte_p b = (acc_hbyte_p) p;
@@ -121,7 +121,7 @@ ACCLIB_PUBLIC(void, acc_set_le24) (acc_hvoid_p p, acc_uint32l_t v)
ACCLIB_PUBLIC(void, acc_set_le32) (acc_hvoid_p p, acc_uint32l_t v)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
(* (acc_uint32e_t *) (p) = (acc_uint32e_t) (v));
#else
acc_hbyte_p b = (acc_hbyte_p) p;
@@ -191,7 +191,7 @@ ACCLIB_PUBLIC(void, acc_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
{
-#if (ACC_ARCH_AMD64)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
return (* (const acc_uint64l_t *) (p));
#elif (ACC_ARCH_IA32)
const acc_uint32e_t* b = (const acc_uint32e_t*) p;
@@ -211,7 +211,7 @@ ACCLIB_PUBLIC(acc_uint64l_t, acc_get_le64) (const acc_hvoid_p p)
ACCLIB_PUBLIC(void, acc_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
{
-#if (ACC_ARCH_AMD64)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_X32)
(* (acc_uint64l_t *) (p)) = v;
#elif (ACC_ARCH_IA32)
(((acc_uint32e_t *)(p))[0] = (acc_uint32e_t) (v >> 0));
--- a/acc/acclib/perfctr.ch
+++ b/acc/acclib/perfctr.ch
@@ -63,7 +63,7 @@ ACCLIB_PUBLIC(int, acc_perfctr_open) (acc_perfctr_handle_p h)
break; /* no working TSC available */
case PERFCTR_X86_AMD_K7:
#endif
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
case PERFCTR_X86_AMD_K8:
case PERFCTR_X86_AMD_K8C:
cc->tsc_on = 1; cc->nractrs = 2;
--- a/acc/acclib/rdtsc.ch
+++ b/acc/acclib/rdtsc.ch
@@ -21,7 +21,7 @@
#if defined(acc_int32e_t)
-#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32) && ACC_CC_GNUC)
+#if ((ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && ACC_CC_GNUC)
# if (ACC_CC_GNUC >= 0x020000ul)
# define __ACCLIB_RDTSC_REGS : : "r" (t) : "cc", "memory", "eax", "edx"
# else
@@ -38,7 +38,7 @@
ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
__asm__ __volatile__(
"clc \n" ".byte 0x0f, 0x31\n"
"movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
@@ -73,7 +73,7 @@ ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
ACCLIB_PUBLIC(int, acc_tsc_read_add) (acc_uint32e_t* t)
{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32) && defined(__ACCLIB_RDTSC_REGS)
+#if (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32) && defined(__ACCLIB_RDTSC_REGS)
__asm__ __volatile__(
"clc \n" ".byte 0x0f, 0x31\n"
"addl %%eax,(%0)\n" "adcl $0,%%edx\n" "addl %%edx,4(%0)\n"
--- a/src/ucl_conf.h
+++ b/src/ucl_conf.h
@@ -172,7 +172,7 @@
#undef UA_SET2
#undef UA_GET4
#undef UA_SET4
-#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32)
+#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32 || ACC_ARCH_X32)
# define UA_GET2(p) (* (const ucl_ushortp) (p))
# define UA_SET2(p) (* (ucl_ushortp) (p))
# define UA_GET4(p) (* (const acc_uint32e_t *) (p))

View File

@ -1,35 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.16 ] ]
SUMMARY="The UCL Compression Library"
HOMEPAGE="http://www.oberhumer.com/opensource/ucl/"
DOWNLOADS="http://www.oberhumer.com/opensource/ucl/download/${PNV}.tar.gz"
LICENCES="GPL-2"
SLOT="0"
PLATFORMS="~amd64"
MYOPTIONS=""
DEPENDENCIES="
"
BUGS_TO="hasufell@posteo.de"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/${PNV}-CFLAGS.patch
"${FILES}"/${PNV}-x32.patch
)
src_prepare() {
edo sed -n -e '/^AC_DEFUN.*mfx_/,/^])#$/p' aclocal.m4 > acinclude.m4
edo sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac
autotools_src_prepare
}
src_configure() {
econf --enable-shared CFLAGS="${CFLAGS} -std=c90"
}

View File

@ -1,35 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PV=${PV/_p/-}
WORK=${WORKBASE}/${PN}-${MY_PV}
require cmake [ api=2 ]
SUMMARY="Bare libuv bindings for lua"
HOMEPAGE="https://github.com/luvit/luv"
DOWNLOADS="https://github.com/luvit/luv/releases/download/${MY_PV}/luv-${MY_PV}.tar.gz"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-lang/LuaJIT
dev-libs/libuv
"
BUGS_TO="hasufell@posteo"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DBUILD_MODULE=OFF
-DBUILD_SHARED_LIBS=ON
-DLUA_BUILD_TYPE=System
-DWITH_LUA_ENGINE="LuaJIT"
-DWITH_SHARED_LIBUV=ON
)

View File

@ -1,35 +0,0 @@
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PV=${PV/_p/-}
WORK=${WORKBASE}/${PN}-${MY_PV}
require cmake [ api=2 ]
SUMMARY="Bare libuv bindings for lua"
HOMEPAGE="https://github.com/luvit/luv"
DOWNLOADS="https://github.com/luvit/luv/releases/download/${MY_PV}/luv-${MY_PV}.tar.gz"
LICENCES="Apache-2.0"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-lang/LuaJIT
dev-libs/libuv
"
BUGS_TO="hasufell@posteo"
CMAKE_SRC_CONFIGURE_PARAMS=(
-DBUILD_MODULE=OFF
-DBUILD_SHARED_LIBS=ON
-DLUA_BUILD_TYPE=System
-DWITH_LUA_ENGINE="LuaJIT"
-DWITH_SHARED_LIBUV=ON
)

View File

@ -30,9 +30,14 @@ src_install() {
# utterly broken shit, doesn't honour INSTALLMAN1DIR etc
# no, I'm not hacking on perl build systems
dodir /usr/share/man
edo mv "${IMAGE%/}"/usr/$(exhost --target)/man/man1 \
"${IMAGE%/}"/usr/share/man/man1
edo mv "${IMAGE%/}"/usr/$(exhost --target)/man/man3 \
"${IMAGE%/}"/usr/share/man/man3
edo mv "${IMAGE%/}"/usr/$(exhost --target)/share/man/man5 \
"${IMAGE%/}"/usr/share/man/man5
edo rmdir "${IMAGE%/}"/usr/$(exhost --target)/share/man \
edo rmdir "${IMAGE%/}"/usr/$(exhost --target)/man \
"${IMAGE%/}"/usr/$(exhost --target)/share/man \
"${IMAGE%/}"/usr/$(exhost --target)/share
}

View File

@ -1,12 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=setuptools ]
SUMMARY="Cython implementation of PyParsing created for use in Coconut and Undebt"
LICENCES="BSD-3"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""

View File

@ -1,23 +0,0 @@
# Copyright 2020 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
MY_PNV="${PN}-${PV/_p/.post}"
require setup-py [ import=setuptools work="${MY_PNV}" ]
require pypi
SUMMARY="Easily include Font Awesome icons in your python scripts"
LICENCES="Apache-2.0 OFL-1.1"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
prepare_one_multibuild() {
edo sed -i \
-e '/pypandoc/d' \
setup.py
setup-py_prepare_one_multibuild
}

View File

@ -23,29 +23,34 @@ MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-python/typed-ast[>=1.4.0&<1.5.0][python_abis:*(-)?]
dev-python/mypy_extensions[>=0.4.3&<0.5.0][python_abis:*(-)?]
dev-python/typing-extensions[>=3.7.4][python_abis:*(-)?]
dev-python/typed-ast[>=1.1.0&<1.2.0][python_abis:*(-)?]
python_abis:3.4? (
dev-python/typing[>=3.5.3][python_abis:3.4]
)
test:
dev-python/attrs[>=18.0][python_abis:*(-)?]
dev-python/flake8[>=3.7][python_abis:*(-)?]
dev-python/lxml[>=4.2.4][python_abis:*(-)?]
dev-python/psutil[>=4.0][python_abis:*(-)?]
dev-python/py[>=1.5.2][python_abis:*(-)?]
dev-python/pytest[>=4.4][python_abis:*(-)?]
dev-python/pytest[>=3.0][python_abis:*(-)?]
dev-python/pytest-cov[>=2.4.0][python_abis:*(-)?]
dev-python/pytest-xdist[>=1.22][python_abis:*(-)?]
dev-python/virtualenv[python_abis:*(-)?]
dev-python/pytest-xdist[>=1.18][python_abis:*(-)?]
suggestion:
dev-python/psutil[>=4.0][python_abis:*(-)?] [[
dev-python/psutil[>=5.4.0&<5.5.0][python_abis:*(-)?] [[
description = [ Show memory stats in 'dmypy status -v' ] ]]
"
BUGS_TO="hasufell@posteo.de"
# Require unpackaged: flake8-bugbear, flake8-pyi, pytest 4.4+
# Require upstream release with https://github.com/python/mypy/pull/5191 included
# Require unpackaged: flake8-bugbear, flake8-pyi
RESTRICT="test"
prepare_one_multibuild() {
edo sed -i \
-e "/target = /s|lib|$(exhost --target)/lib|" \
setup.py
setup-py_prepare_one_multibuild
}
test_one_multibuild() {
PYTHONPATH="${PWD}" edo ${PYTHON} -B runtests.py -x lint
}

View File

@ -1,15 +0,0 @@
# Copyright 2018 Alexander Kapshuna <kapsh@kap.sh>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=setuptools ]
SUMMARY="Experimental type system extensions for programs checked with the mypy typechecker"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
"

View File

@ -16,6 +16,7 @@ DEPENDENCIES="
build+run:
dev-python/six[>=1.9.0][python_abis:*(-)?]
dev-python/wcwidth[python_abis:*(-)?]
"
BUGS_TO="hasufell@posteo.de"

View File

@ -1,7 +0,0 @@
# Copyright 2012-2016 Wulf C. Krueger <philantrop@exherbo.org>
# Distributed under the terms of the GNU General Public License v2
require psutil
PLATFORMS="~amd64 ~x86"

View File

@ -1,24 +0,0 @@
# Copyright 2012-2016 Wulf C. Krueger <philantrop@exherbo.org>
# Distributed under the terms of the GNU General Public License v2
require pypi setup-py [ import=setuptools test=nose blacklist="none" ]
SUMMARY="Cross-platform lib for process and system monitoring in Python"
BUGS_TO="philantrop@exherbo.org"
LICENCES="BSD-3"
SLOT="0"
MYOPTIONS=""
# The tests are broken; they try to mess with mount points, devices & other funny
# stuff. (last checked: 5.0.0)
RESTRICT="test"
DEPENDENCIES="
build+run:
python_abis:2.7? (
dev-python/enum34[python_abis:2.7]
)
"

View File

@ -1,25 +0,0 @@
Upstream: Yes
From 08c503bdd1e128118e45fa50be256e27415bbd41 Mon Sep 17 00:00:00 2001
From: Adrian Georgescu <ag@ag-projects.com>
Date: Sat, 1 Jan 2022 15:19:37 +0000
Subject: [PATCH] collections.MutableMapping was deprecated since Python 3.3
---
application/python/weakref.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/application/python/weakref.py b/application/python/weakref.py
index a785a7e..38fd664 100644
--- a/application/python/weakref.py
+++ b/application/python/weakref.py
@@ -1,7 +1,8 @@
import weakref
-from collections import MutableMapping, deque
+from collections.abc import MutableMapping
+from collections import deque
from copy import deepcopy
from threading import local

View File

@ -1,8 +1,7 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-application" tag="${PV}" ]
require pypi setup-py [ import=distutils blacklist="3" ]
SUMMARY="Basic building blocks for python applications"
HOMEPAGE="http://ag-projects.com/"
@ -15,7 +14,4 @@ MYOPTIONS=""
DEPENDENCIES="
dev-python/zopeinterface[python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=(
"${FILES}"/08c503bdd1e128118e45fa50be256e27415bbd41.patch
)

View File

@ -0,0 +1,15 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Tue Sep 8 01:22:40 UTC 2015
Subject: fix compatibility with libressl
Upstream: not yet
--- a/eventlib/green/socket.py
+++ b/eventlib/green/socket.py
@@ -89,7 +89,6 @@
else:
# some constants the SSL module exports but not in __all__
from eventlib.green.ssl import (RAND_add,
- RAND_egd,
RAND_status,
SSL_ERROR_ZERO_RETURN,
SSL_ERROR_WANT_READ,

View File

@ -1,11 +1,11 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" pn="python3-eventlib" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require setup-py [ import=distutils blacklist="3" ]
SUMMARY="Coroutine-based networking library"
HOMEPAGE="http://sipsimpleclient.org"
DOWNLOADS="http://download.ag-projects.com/SipClient/${PNV}.tar.gz"
LICENCES="MIT"
SLOT="0"
@ -16,6 +16,8 @@ MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/greenlet[python_abis:*(-)?]
net-twisted/Twisted[python_abis:*(-)?]
net-twisted/TwistedCore[python_abis:*(-)?]
"
DEFAULT_SRC_PREPARE_PATCHES=( "${FILES}/${PNV}-libressl.patch" )

View File

@ -1,8 +1,7 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-gnutls" tag="${PV}" ]
require pypi setup-py [ import=distutils blacklist="3" ]
SUMMARY="High level object oriented wrapper around libgnutls"
HOMEPAGE="http://ag-projects.com/"

View File

@ -0,0 +1,23 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="3" ]
SUMMARY="Client library for MSRP protocol and its relay extension"
HOMEPAGE="http://sipsimpleclient.org"
DOWNLOADS="http://download.ag-projects.com/MSRP/${PNV}.tar.gz"
LICENCES="LGPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/python-application[python_abis:*(-)?]
dev-python/python-eventlib[python_abis:*(-)?]
dev-python/python-gnutls[>=3.0.0][python_abis:*(-)?]
net-twisted/TwistedCore[python_abis:*(-)?]
net-twisted/TwistedNames[python_abis:*(-)?]
"

View File

@ -1,22 +0,0 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="AGProjects" pn="python3-msrplib" tag="${PV}" ]
require setup-py [ import=distutils blacklist="2" multibuild=false ]
SUMMARY="Client library for MSRP protocol and its relay extension"
HOMEPAGE="http://sipsimpleclient.org"
LICENCES="LGPL-2"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
run:
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/python-eventlib[>=0.3.0][python_abis:*(-)?]
dev-python/python-gnutls[>=3.1.8][python_abis:*(-)?]
net-twisted/Twisted[python_abis:*(-)?]
"

View File

@ -1,8 +1,7 @@
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require setup-py [ import=distutils blacklist="2" multibuild=false ]
require github [ user="AGProjects" pn="python3-otr" tag="${PV}" ]
require pypi setup-py [ import=distutils blacklist="3" ]
SUMMARY="Off-The-Record Messaging protocol implementation for Python"
HOMEPAGE="https://github.com/AGProjects/python-otr"
@ -14,9 +13,10 @@ MYOPTIONS=""
DEPENDENCIES="
build+run:
dev-python/cryptography[>=1.6][python_abis:*(-)?]
dev-python/cryptography[python_abis:*(-)?]
dev-python/enum34[python_abis:*(-)?]
dev-python/gmpy2[python_abis:*(-)?]
dev-python/python-application[>=3.0.3][python_abis:*(-)?]
dev-python/python-application[python_abis:*(-)?]
dev-python/zopeinterface[python_abis:*(-)?]
net-libs/libotr
"

View File

@ -1,22 +0,0 @@
# Copyright 2018 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
require github [ user="vsergeev" ]
require pypi
require setup-py [ import=setuptools test=pytest ]
SUMMARY="A pure Python 2/3 library for peripheral I/O (GPIO, LED, PWM, SPI, I2C, MMIO, Serial) in Linux"
HOMEPAGE="https://github.com/vsergeev/python-periphery ${HOMEPAGE}"
LICENCES="MIT"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
test:
dev-python/pytest-runner[python_abis:*(-)?]
"
BUGS_TO="hasufell@posteo.de"

View File

@ -0,0 +1,45 @@
From f786808a36deab01f301905ecdae27e6e17ce197 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:46:34 +0100
Subject: [PATCH 1/2] Build fix on Linux
Upstream: submitted, https://github.com/AGProjects/python-sipsimple/pull/1
---
setup_pjsip.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index 4760e64..a43533d 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -157,6 +157,7 @@ def configure_pjsip(self):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)
From b80cf7ee9d4c32b4e068eb74492f31ccab1296b2 Mon Sep 17 00:00:00 2001
From: Charles Barcza <info@blackpanther.hu>
Date: Mon, 13 Mar 2017 14:55:29 +0100
Subject: [PATCH 2/2] Build fix on Linux
---
setup_pjsip.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup_pjsip.py b/setup_pjsip.py
index a43533d..5f1b27b 100644
--- a/setup_pjsip.py
+++ b/setup_pjsip.py
@@ -157,7 +157,7 @@ def configure_pjsip(self):
if sys_platform == "win32":
cmd = ["bash", "configure"]
else:
- os.system("chmod +x "+ self.build_dir +"/*configure")
+ os.system("chmod +x "+ self.build_dir +"/*configure")
cmd = ["./configure"]
cmd.extend(["--disable-g7221-codec"])
ffmpeg_path = env.get("SIPSIMPLE_FFMPEG_PATH", None)

Some files were not shown because too many files have changed in this diff Show More