diff --git a/.gitignore b/.gitignore index 6405b7860f2..4bcac5d261e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *~ ,* +.*.swp +.*.swo diff --git a/doc/language-support.xml b/doc/language-support.xml index dc63dd68503..6cc028c0b0a 100644 --- a/doc/language-support.xml +++ b/doc/language-support.xml @@ -18,10 +18,10 @@ such as Perl or Haskell. These are described in this chapter. Nixpkgs provides a function buildPerlPackage, a generic package builder function for any Perl package that has a standard Makefile.PL. It’s implemented in pkgs/development/perl-modules/generic. +xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/perl-modules/generic">pkgs/development/perl-modules/generic. Perl packages from CPAN are defined in pkgs/perl-packages.nix, +xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/perl-packages.nix">pkgs/perl-packages.nix, rather than pkgs/all-packages.nix. Most Perl packages are so straight-forward to build that they are defined here directly, rather than having a separate function for each package @@ -162,7 +162,7 @@ ClassC3Componentised = buildPerlPackage rec { which many Python packages do nowadays, can be built very simply using the buildPythonPackage function. This function is implemented - in pkgs/development/python-modules/generic/default.nix + in pkgs/development/python-modules/generic/default.nix and works similarly to buildPerlPackage. (See for details.) @@ -170,7 +170,7 @@ ClassC3Componentised = buildPerlPackage rec { Python packages that use buildPythonPackage are defined - in pkgs/top-level/python-packages.nix. + in pkgs/top-level/python-packages.nix. Most of them are simple. For example: @@ -196,17 +196,18 @@ twisted = buildPythonPackage { - + + + Terms and Conditions + +This is the Android Software Development Kit License Agreement. + + +1. Introduction + + +1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. + +1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. + +1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + + +2. Accepting this License Agreement + + +2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement. + +2.2 By clicking to accept, you hereby agree to the terms of this License Agreement. + +2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK. + +2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. + + +3. SDK License from Google + + +3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform. + +3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK. + +3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK. + +3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. + +3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. + + +4. Use of the SDK by You + + +4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. + +4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + + +5. Your Developer Credentials + + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + + +6. Privacy and Information + + +6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. + + +7. Third Party Applications + + +7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. + + +8. Using Android APIs + + +8.1 Google Data APIs + +8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. + +8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + + +9. Terminating this License Agreement + + +9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. + +9.3 Google may at any time, terminate this License Agreement with you if: +(A) you have breached any provision of this License Agreement; or +(B) Google is required to do so by law; or +(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or +(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. + +9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. + + +10. DISCLAIMER OF WARRANTIES + + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + + +11. LIMITATION OF LIABILITY + + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + + +12. Indemnification + + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. + + +13. Changes to the License Agreement + + +13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. + + +14. General Legal Terms + + +14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. + +14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. + +14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +November 13, 2012 + + + Terms and Conditions + +This is the Google TV Add-on for the Android Software Development Kit License Agreement. + +1. Introduction + +1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the "Google TV Add-on" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on. + +1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + +2. Accepting this License Agreement + +2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement. + +2.2 You can accept this License Agreement by: + +(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or + +(B) by actually using the Google TV Add-on. In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards. + +2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on. + +2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity. + +3. Google TV Add-on License from Google + +3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform. + +3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on. + +3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. + +3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on. + +4. Use of the Google TV Add-on by You + +4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so. + +4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + +5. Your Developer Credentials + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + +6. Privacy and Information + +6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy. + +7. Third Party Applications for the Google TV Platform + +7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. + +8. Using Google TV APIs + +8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Content”) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services + +8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + +8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must: + +(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application; + +(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or + +(c) not create any commercial audience measurement tool or service using the Google TV API Content + +9. Terminating this License Agreement + +9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials. + +9.3 Google may at any time, terminate this License Agreement with you if: + +(A) you have breached any provision of this License Agreement; or + +(B) Google is required to do so by law; or + +(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or + +(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable. + +9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. + +10. DISCLAIMER OF WARRANTIES + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + +11. LIMITATION OF LIABILITY + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + +12. Indemnification + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. + +13. Changes to the License Agreement + +13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on. + +14. General Legal Terms + +14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. + +14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. + +14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + + +August 15, 2011 + + + + + + google + Google Inc. + google_apis + Google APIs + 3 + 03 + Android + Google APIs + http://developer.android.com/ + + + + 34908058 + 1f92abf3a76be66ae8032257fc7620acbd2b2e3a + google_apis-3-r03.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 4 + 2 + Android + Google APIs, revision 2 + http://developer.android.com/ + + + + 42435735 + 9b6e86d8568558de4d606a7debc4f6049608dbd0 + google_apis-4_r02.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 5 + 01 + Android + Google APIs, revision 1 + http://developer.android.com/ + + + + + 49123776 + 46eaeb56b645ee7ffa24ede8fa17f3df70db0503 + google_apis-5_r01.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 6 + 1 + Android + Google APIs, revision 1 + http://developer.android.com/ + + + + + 53382941 + 5ff545d96e031e09580a6cf55713015c7d4936b2 + google_apis-6_r01.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 7 + 1 + Android + Google APIs, revision 1 + http://developer.android.com/ + + + + 53691339 + 2e7f91e0fe34fef7f58aeced973c6ae52361b5ac + google_apis-7_r01.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 8 + 2 + Android + Google APIs, API 8, revision 2 + http://developer.android.com/ + + + + 59505020 + 3079958e7ec87222cac1e6b27bc471b27bf2c352 + google_apis-8_r02.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 9 + 2 + Android + Google APIs, API 9, revision 2 + http://developer.android.com/ + + + + 63401546 + 78664645a1e9accea4430814f8694291a7f1ea5d + google_apis-9_r02.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + + google + Google Inc. + google_apis + Google APIs + 10 + 2 + Android + Google APIs, API 10, revision 2 + http://developer.android.com/ + + + + 65781578 + cc0711857c881fa7534f90cf8cc09b8fe985484d + google_apis-10_r02.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 11 + 1 + Android + Google APIs, API 11, revision 1 + http://developer.android.com/ + + + + 83477179 + 5eab5e81addee9f3576d456d205208314b5146a5 + google_apis-11_r01.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 12 + 1 + Android + Google APIs, API 12, revision 1 + http://developer.android.com/ + + + + 86099835 + e9999f4fa978812174dfeceec0721c793a636e5d + google_apis-12_r01.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + + google + Google Inc. + google_apis + Google APIs + 13 + 1 + Android + Google APIs, API 13, revision 1 + http://developer.android.com/ + + + + 88615525 + 3b153edd211c27dc736c893c658418a4f9041417 + google_apis-13_r01.zip + + + + + com.google.android.maps + API for Google Maps. + + + + + + + google + Google Inc. + google_apis + Google APIs + Android + Google APIs + 14 + 2 + + + + com.google.android.maps + + + com.android.future.usb.accessory + + + + + 106533714 + f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39 + google_apis-14_r02.zip + + + + + + + google + Google Inc. + google_apis + Google APIs + Android + Google APIs + 15 + 2 + + + com.google.android.maps + + + com.android.future.usb.accessory + + + com.google.android.media.effects + + + + + 106612472 + 6757c12788da0ea00c2ab58e54cb438b9f2bcf66 + google_apis-15_r02.zip + + + + + + + + google + Google Inc. + google_apis + Google APIs + Android + Google APIs + 16 + 3 + + + com.google.android.maps + + + com.android.future.usb.accessory + + + com.google.android.media.effects + + + + + 127278413 + 63467dd32f471e3e81e33e9772c22f33235aa3b3 + google_apis-16_r03.zip + + + + + + + + + google + Google Inc. + google_tv_addon + Google TV Addon + 12 + 2 + Android + Google TV, API 12, preview release + http://developer.android.com/ + + + + 78266751 + 92128a12e7e8b0fb5bac59153d7779b717e7b840 + google_tv-12_r02.zip + + + + + + + + google + Google Inc. + google_apis + Google APIs + Android + Google APIs + 17 + 1 + + + com.google.android.maps + + + com.android.future.usb.accessory + + + com.google.android.media.effects + + + + + 132568033 + 62cb086f11e15713878c8834d58ef1a2454c19a4 + google_apis-17_r01.zip + + + + + + + + + + 11 + Android + android + Android Support Library + support + compatibility + + + 1264808 + d30d182d8e4c86bb4464c03a83ccffce7bc84ecd + support_r11.zip + + + + + + + + + google + Google Inc. + Google Play Licensing Library + play_licensing + market_licensing + 2 + Google Play Licensing client library + http://developer.android.com/guide/publishing/licensing.html + + + 75109 + 355e8dc304a92a5616db235af8ee7bd554356254 + market_licensing-r02.zip + + + + + + + google + Google Inc. + Google Play APK Expansion Library + play_apk_expansion + market_apk_expansion + 2 + Google Play APK Expansion library + http://developer.android.com/guide/market/expansion-files.html + + + 111636 + 47fa8c691fcc8cf815e7ebbf140f12e94495f73b + market_apk_expansion-r02.zip + + + + + + + google + Google Inc. + Google Play services + google_play_services + 4 + Google Play Services client library and sample code + https://developers.google.com/android/google-play-services/index + + + + 3732458 + bbb3d11225fcf60a0bae75afa2c4737010468bf6 + google_play_services_2012110_r04.zip + + + + + + + google + Google Inc. + Google USB Driver + usb_driver + 7 + USB Driver for Windows, revision 7 + http://developer.android.com/ + + + + 8681704 + 147c339fde22f98ae41b15349a8303d39a2cf6e5 + usb_driver_r07-windows.zip + + + + + + google + Google Inc. + Google Play Billing Library + play_billing + market_billing + 3 + Google Play Billing files and sample code + http://developer.android.com/google/play/billing/index.html + + + 435718 + a133d454c992ef2a18e62fa810e8185f1be4b054 + play_billing_r03.zip + + + + + + + google + Google Inc. + Google AdMob Ads SDK + admob_ads_sdk + 8 + AdMob Ads SDK + https://developers.google.com/mobile-ads-sdk/docs/ + + + 545547 + 031476aa5a491239d2624e8de8c9e46e40d93e3f + https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.2.1.zip + + + + + + + google + Google Inc. + Google Analytics SDK + analytics_sdk + 2 + Analytics SDK + http://code.google.com/mobile/analytics/ + + + 53055 + 328bcdc6c241879ebb04d6edc6fec1052a171004 + https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_1.4.2.zip + + + + + + + google + Google Inc. + Google Web Driver + webdriver + 2 + WebDriver + http://selenium.googlecode.com + + + 4055193 + 13f3a3b2670a5fc04a7342861644be9a01b07e38 + webdriver_r02.zip + + + + + + + google + Google Inc. + Google Cloud Messaging for Android Library + gcm + 3 + Google Cloud Messaging for Android library and sample code + https://developers.google.com/android/gcm/index + + + 5901400 + ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf + gcm_r03.zip + + + + + diff --git a/pkgs/development/mobile/androidenv/addons.nix b/pkgs/development/mobile/androidenv/addons.nix new file mode 100644 index 00000000000..f26db5c2cb7 --- /dev/null +++ b/pkgs/development/mobile/androidenv/addons.nix @@ -0,0 +1,198 @@ + +{stdenv, fetchurl, unzip}: + +let + buildGoogleApis = args: + stdenv.mkDerivation (args // { + buildInputs = [ unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + }); +in +{ + + google_apis_3 = buildGoogleApis { + name = "google_apis-3"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-3-r03.zip; + sha1 = "1f92abf3a76be66ae8032257fc7620acbd2b2e3a"; + }; + meta = { + description = "Android + Google APIs"; + url = http://developer.android.com/; + }; + }; + + google_apis_4 = buildGoogleApis { + name = "google_apis-4"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-4_r02.zip; + sha1 = "9b6e86d8568558de4d606a7debc4f6049608dbd0"; + }; + meta = { + description = "Android + Google APIs, revision 2"; + url = http://developer.android.com/; + }; + }; + + google_apis_5 = buildGoogleApis { + name = "google_apis-5"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-5_r01.zip; + sha1 = "46eaeb56b645ee7ffa24ede8fa17f3df70db0503"; + }; + meta = { + description = "Android + Google APIs, revision 1"; + url = http://developer.android.com/; + }; + }; + + google_apis_6 = buildGoogleApis { + name = "google_apis-6"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-6_r01.zip; + sha1 = "5ff545d96e031e09580a6cf55713015c7d4936b2"; + }; + meta = { + description = "Android + Google APIs, revision 1"; + url = http://developer.android.com/; + }; + }; + + google_apis_7 = buildGoogleApis { + name = "google_apis-7"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-7_r01.zip; + sha1 = "2e7f91e0fe34fef7f58aeced973c6ae52361b5ac"; + }; + meta = { + description = "Android + Google APIs, revision 1"; + url = http://developer.android.com/; + }; + }; + + google_apis_8 = buildGoogleApis { + name = "google_apis-8"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-8_r02.zip; + sha1 = "3079958e7ec87222cac1e6b27bc471b27bf2c352"; + }; + meta = { + description = "Android + Google APIs, API 8, revision 2"; + url = http://developer.android.com/; + }; + }; + + google_apis_9 = buildGoogleApis { + name = "google_apis-9"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-9_r02.zip; + sha1 = "78664645a1e9accea4430814f8694291a7f1ea5d"; + }; + meta = { + description = "Android + Google APIs, API 9, revision 2"; + url = http://developer.android.com/; + }; + }; + + google_apis_10 = buildGoogleApis { + name = "google_apis-10"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-10_r02.zip; + sha1 = "cc0711857c881fa7534f90cf8cc09b8fe985484d"; + }; + meta = { + description = "Android + Google APIs, API 10, revision 2"; + url = http://developer.android.com/; + }; + }; + + google_apis_11 = buildGoogleApis { + name = "google_apis-11"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-11_r01.zip; + sha1 = "5eab5e81addee9f3576d456d205208314b5146a5"; + }; + meta = { + description = "Android + Google APIs, API 11, revision 1"; + url = http://developer.android.com/; + }; + }; + + google_apis_12 = buildGoogleApis { + name = "google_apis-12"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-12_r01.zip; + sha1 = "e9999f4fa978812174dfeceec0721c793a636e5d"; + }; + meta = { + description = "Android + Google APIs, API 12, revision 1"; + url = http://developer.android.com/; + }; + }; + + google_apis_13 = buildGoogleApis { + name = "google_apis-13"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-13_r01.zip; + sha1 = "3b153edd211c27dc736c893c658418a4f9041417"; + }; + meta = { + description = "Android + Google APIs, API 13, revision 1"; + url = http://developer.android.com/; + }; + }; + + google_apis_14 = buildGoogleApis { + name = "google_apis-14"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-14_r02.zip; + sha1 = "f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39"; + }; + meta = { + description = "Android + Google APIs"; + + }; + }; + + google_apis_15 = buildGoogleApis { + name = "google_apis-15"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-15_r02.zip; + sha1 = "6757c12788da0ea00c2ab58e54cb438b9f2bcf66"; + }; + meta = { + description = "Android + Google APIs"; + + }; + }; + + google_apis_16 = buildGoogleApis { + name = "google_apis-16"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-16_r03.zip; + sha1 = "63467dd32f471e3e81e33e9772c22f33235aa3b3"; + }; + meta = { + description = "Android + Google APIs"; + + }; + }; + + google_apis_17 = buildGoogleApis { + name = "google_apis-17"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/google_apis-17_r01.zip; + sha1 = "62cb086f11e15713878c8834d58ef1a2454c19a4"; + }; + meta = { + description = "Android + Google APIs"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix new file mode 100644 index 00000000000..e8e1f919fe4 --- /dev/null +++ b/pkgs/development/mobile/androidenv/androidsdk.nix @@ -0,0 +1,194 @@ +{ stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper +, platformTools, support, platforms, sysimages, addons +, zlib_32bit +, libX11_32bit, libxcb_32bit, libXau_32bit, libXdmcp_32bit, libXext_32bit +, libX11, libXext, libXrender, libxcb, libXau, libXdmcp +, freetype, fontconfig, gtk, atk +}: +{platformVersions, useGoogleAPIs}: + +stdenv.mkDerivation { + name = "android-sdk-21"; + + src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") + then fetchurl { + url = http://dl.google.com/android/android-sdk_r21-linux.tgz; + md5 = "7f8d73b629f808cdcfc9f9900bbd7580"; + } + else if stdenv.system == "x86_64-darwin" then fetchurl { + url = http://dl.google.com/android/android-sdk_r21-macosx.zip; + md5 = "67e46adca90dd18d7291443f6c15d6af"; + } + else throw "platform not ${stdenv.system} supported!"; + + buildCommand = '' + mkdir -p $out/libexec + cd $out/libexec + unpackFile $src; + + cd android-sdk-*/tools + + ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") + '' + # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++ + + for i in dmtracedump emulator emulator-arm emulator-mips emulator-x86 hprof-conv mksdcard sqlite3 + do + patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i + patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i + done + + ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' + # We must also patch the 64-bit emulator instances, if needed + + for i in emulator64-arm emulator64-mips emulator64-x86 + do + patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 $i + patchelf --set-rpath ${stdenv.gcc.gcc}/lib64 $i + done + ''} + + # These tools also need zlib in addition to libstdc++ + + for i in etc1tool zipalign + do + patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i + patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i + done + + # The emulators need additional libraries, which are not in the RPATH => let's wrap them + + for i in emulator emulator-arm emulator-mips emulator-x86 + do + wrapProgram `pwd`/$i \ + --prefix LD_LIBRARY_PATH : `pwd`/lib:${libX11_32bit}/lib:${libxcb_32bit}/lib:${libXau_32bit}/lib:${libXdmcp_32bit}/lib:${libXext_32bit}/lib + done + + ${stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' + for i in emulator64-arm emulator64-mips emulator64-x86 + do + wrapProgram `pwd`/$i \ + --prefix LD_LIBRARY_PATH : `pwd`/lib:${libX11}/lib:${libxcb}/lib:${libXau}/lib:${libXdmcp}/lib:${libXext}/lib + done + ''} + ''} + + patchShebangs . + + ${if stdenv.system == "i686-linux" then + '' + # The monitor requires some more patching + + cd lib/monitor-x86 + patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 monitor + patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so + + wrapProgram `pwd`/monitor \ + --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.gcc.gcc}/lib + + cd ../.. + '' + else if stdenv.system == "x86_64-linux" then + '' + # The monitor requires some more patching + + cd lib/monitor-x86_64 + patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 monitor + patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so + + wrapProgram `pwd`/monitor \ + --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.gcc.gcc}/lib + + cd ../.. + '' + else ""} + + # Symlink the other sub packages + + cd .. + ln -s ${platformTools}/platform-tools + ln -s ${support}/support + + # Symlink required Google API add-ons + + mkdir -p add-ons + cd add-ons + + ${if useGoogleAPIs then + stdenv.lib.concatMapStrings (platformVersion: + if (builtins.hasAttr ("google_apis_"+platformVersion) addons) then + let + googleApis = builtins.getAttr ("google_apis_"+platformVersion) addons; + in + "ln -s ${googleApis}/* addon-google_apis-${platformVersion}" + else "") platformVersions + else ""} + + cd .. + + # Symlink required platforms + + mkdir -p platforms + cd platforms + + ${stdenv.lib.concatMapStrings (platformVersion: + if (builtins.hasAttr ("platform_"+platformVersion) platforms) then + let + platform = builtins.getAttr ("platform_"+platformVersion) platforms; + in + "ln -s ${platform}/* android-${platformVersion}" + else "" + ) platformVersions} + + cd .. + + # Symlink required system images + + mkdir -p system-images + cd system-images + + ${stdenv.lib.concatMapStrings (platformVersion: + if (builtins.hasAttr ("sysimg_"+platformVersion) sysimages) then + let + sysimg = builtins.getAttr ("sysimg_"+platformVersion) sysimages; + in + '' + mkdir -p android-${platformVersion} + cd android-${platformVersion} + ln -s ${sysimg}/* + cd .. + '' + else "" + ) platformVersions} + + # Create wrappers to the most important tools and platform tools so that we can run them if the SDK is in our PATH + + ensureDir $out/bin + + for i in $out/libexec/android-sdk-*/tools/* + do + if [ ! -d $i ] && [ -x $i ] + then + ( echo '#! ${stdenv.shell} -e' + echo "cd $out/libexec/android-sdk-*/tools" + echo "exec ./$(basename $i) \"\$@\"" ) > $out/bin/$(basename $i) + + chmod +x $out/bin/$(basename $i) + fi + done + + for i in $out/libexec/android-sdk-*/platform-tools/* + do + if [ ! -d $i ] && [ -x $i ] + then + ( echo '#! ${stdenv.shell} -e' + echo "cd $out/libexec/android-sdk-*/platform-tools" + echo "exec ./$(basename $i) \"\$@\"") > $out/bin/$(basename $i) + + chmod +x $out/bin/$(basename $i) + fi + done + ''; + + buildInputs = [ unzip makeWrapper ]; +} diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix new file mode 100644 index 00000000000..d4df64e79c0 --- /dev/null +++ b/pkgs/development/mobile/androidenv/build-app.nix @@ -0,0 +1,41 @@ +{ stdenv, androidsdk, jdk, ant }: +{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false +, release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null +}: + +assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null; + +let + platformName = if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then "linux" + else if stdenv.system == "x86_64-darwin" then "macosx" + else throw "Platform: ${stdenv.system} is not supported!"; + + androidsdkComposition = androidsdk { inherit platformVersions useGoogleAPIs; }; +in +stdenv.mkDerivation { + inherit name src; + + ANDROID_HOME = "${androidsdkComposition}/libexec/android-sdk-${platformName}"; + + buildInputs = [ jdk ant ]; + + buildPhase = '' + ${stdenv.lib.optionalString release '' + + # Provide key singing attributes + ( echo "key.store=${keyStore}" + echo "key.alias=${keyAlias}" + echo "key.store.password=${keyStorePassword}" + echo "key.alias.password=${keyAliasPassword}" + ) >> ant.properties + ''} + + export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it. + ant ${if release then "release" else "debug"} + ''; + + installPhase = '' + mkdir -p $out + mv bin/*-${if release then "release" else "debug"}.apk $out + ''; +} diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix new file mode 100644 index 00000000000..a76deb98b6e --- /dev/null +++ b/pkgs/development/mobile/androidenv/default.nix @@ -0,0 +1,62 @@ +{pkgs, pkgs_i686}: + +rec { + platformTools = import ./platform-tools.nix { + inherit (pkgs) stdenv fetchurl unzip; + inherit (pkgs_i686) zlib ncurses; + stdenv_32bit = pkgs_i686.stdenv; + }; + + support = import ./support.nix { + inherit (pkgs) stdenv fetchurl unzip; + }; + + platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux") + then import ./platforms-linux.nix { + inherit (pkgs) stdenv fetchurl unzip; + } + else if pkgs.stdenv.system == "x86_64-darwin" + then import ./platforms-macosx.nix { + inherit (pkgs) stdenv fetchurl unzip; + } + else throw "Platform: ${pkgs.stdenv.system} not supported!"; + + sysimages = import ./sysimages.nix { + inherit (pkgs) stdenv fetchurl unzip; + }; + + addons = import ./addons.nix { + inherit (pkgs) stdenv fetchurl unzip; + }; + + androidsdk = import ./androidsdk.nix { + inherit (pkgs) stdenv fetchurl unzip makeWrapper; + inherit (pkgs) freetype fontconfig gtk atk; + inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp; + + inherit platformTools support platforms sysimages addons; + + stdenv_32bit = pkgs_i686.stdenv; + zlib_32bit = pkgs_i686.zlib; + libX11_32bit = pkgs_i686.xorg.libX11; + libxcb_32bit = pkgs_i686.xorg.libxcb; + libXau_32bit = pkgs_i686.xorg.libXau; + libXdmcp_32bit = pkgs_i686.xorg.libXdmcp; + libXext_32bit = pkgs_i686.xorg.libXext; + }; + + androidsdk_4_1 = androidsdk { + platformVersions = [ "16" ]; + useGoogleAPIs = true; + }; + + buildApp = import ./build-app.nix { + inherit (pkgs) stdenv jdk ant; + inherit androidsdk; + }; + + emulateApp = import ./emulate-app.nix { + inherit (pkgs) stdenv; + inherit androidsdk; + }; +} diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix new file mode 100644 index 00000000000..3cbe5723806 --- /dev/null +++ b/pkgs/development/mobile/androidenv/emulate-app.nix @@ -0,0 +1,87 @@ +{stdenv, androidsdk}: +{name, app, platformVersion ? "8", useGoogleAPIs ? false, package, activity}: + +let + androidsdkComposition = androidsdk { inherit useGoogleAPIs; platformVersions = [ platformVersion ]; }; +in +stdenv.mkDerivation { + inherit name; + + buildCommand = '' + mkdir -p $out/bin + + cat > $out/bin/run-test-emulator << "EOF" + #!/bin/sh -e + + # We need a TMPDIR + if [ "$TMPDIR" = "" ] + then + export TMPDIR=/tmp + fi + + # Store the virtual devices somewhere else, instead of polluting a user's HOME directory + export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX) + + # We have to look for a free TCP port + + echo "Looking for a free TCP port in range 5554-5584" + + for i in $(seq 5554 2 5584) + do + if [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb devices | grep emulator-$i)" ] + then + port=$i + break + fi + done + + if [ -z "$port" ] + then + echo "Unfortunately, the emulator port space is exhausted!" + exit 1 + else + echo "We have a free TCP port: $port" + fi + + export ANDROID_SERIAL="emulator-$port" + + # Create a virtual android device + ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} + + # Launch the emulator + ${androidsdkComposition}/libexec/android-sdk-*/tools/emulator -avd device -no-boot-anim -port $port & + + # Wait until the device has completely booted + + echo "Waiting until the emulator has booted the device and the package manager is ready..." + + ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port wait-for-device + + echo "Device state has been reached" + + while [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ] + do + sleep 5 + done + + echo "dev.bootcomplete property is 1" + + #while [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ] + #do + #sleep 5 + #done + + #echo "sys.boot_completed property is 1" + + echo "ready" + + # Install the App through the debugger + ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port install ${app}/*.apk + + # Start the application + ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/.${activity} + EOF + + chmod +x $out/bin/run-test-emulator + ''; +} diff --git a/pkgs/development/mobile/androidenv/generate-addons.sh b/pkgs/development/mobile/androidenv/generate-addons.sh new file mode 100755 index 00000000000..9b2cf34eabc --- /dev/null +++ b/pkgs/development/mobile/androidenv/generate-addons.sh @@ -0,0 +1,3 @@ +#!/bin/sh -e + +xsltproc generate-addons.xsl addon.xml > addons.nix diff --git a/pkgs/development/mobile/androidenv/generate-addons.xsl b/pkgs/development/mobile/androidenv/generate-addons.xsl new file mode 100644 index 00000000000..0100b980a4e --- /dev/null +++ b/pkgs/development/mobile/androidenv/generate-addons.xsl @@ -0,0 +1,38 @@ + + + + + + +{stdenv, fetchurl, unzip}: + +let + buildGoogleApis = args: + stdenv.mkDerivation (args // { + buildInputs = [ unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + }); +in +{ + + google_apis_ = buildGoogleApis { + name = "-"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/; + sha1 = ""; + }; + meta = { + description = ""; + url = ; + }; + }; + +} + + + diff --git a/pkgs/development/mobile/androidenv/generate-platforms.sh b/pkgs/development/mobile/androidenv/generate-platforms.sh new file mode 100755 index 00000000000..983d8bde87b --- /dev/null +++ b/pkgs/development/mobile/androidenv/generate-platforms.sh @@ -0,0 +1,4 @@ +#!/bin/sh -e + +xsltproc --stringparam os linux generate-platforms.xsl repository-7.xml > platforms-linux.nix +xsltproc --stringparam os macosx generate-platforms.xsl repository-7.xml > platforms-macosx.nix diff --git a/pkgs/development/mobile/androidenv/generate-platforms.xsl b/pkgs/development/mobile/androidenv/generate-platforms.xsl new file mode 100644 index 00000000000..1802ae63efe --- /dev/null +++ b/pkgs/development/mobile/androidenv/generate-platforms.xsl @@ -0,0 +1,38 @@ + + + + + + + +{stdenv, fetchurl, unzip}: + +let + buildPlatform = args: + stdenv.mkDerivation (args // { + buildInputs = [ unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + }); +in +{ + + platform_ = buildPlatform { + name = "android-platform-"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/; + sha1 = ""; + }; + meta = { + description = ""; + url = ; + }; + }; + +} + + diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.sh b/pkgs/development/mobile/androidenv/generate-sysimages.sh new file mode 100755 index 00000000000..dc28c27f45f --- /dev/null +++ b/pkgs/development/mobile/androidenv/generate-sysimages.sh @@ -0,0 +1,3 @@ +#!/bin/sh -e + +xsltproc generate-sysimages.xsl repository-7.xml > sysimages.nix diff --git a/pkgs/development/mobile/androidenv/generate-sysimages.xsl b/pkgs/development/mobile/androidenv/generate-sysimages.xsl new file mode 100644 index 00000000000..1224ebbd4e8 --- /dev/null +++ b/pkgs/development/mobile/androidenv/generate-sysimages.xsl @@ -0,0 +1,36 @@ + + + + + + + +{stdenv, fetchurl, unzip}: + +let + buildSystemImage = args: + stdenv.mkDerivation (args // { + buildInputs = [ unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + }); +in +{ + + sysimg_ = buildSystemImage { + name = "-"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/; + sha1 = ""; + }; + }; + +} + + + diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix new file mode 100644 index 00000000000..55499608290 --- /dev/null +++ b/pkgs/development/mobile/androidenv/platform-tools.nix @@ -0,0 +1,41 @@ +{stdenv, stdenv_32bit, fetchurl, unzip, zlib, ncurses}: + +stdenv.mkDerivation { + name = "android-platform-tools-r16"; + src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") + then fetchurl { + url = https://dl-ssl.google.com/android/repository/platform-tools_r16-linux.zip; + sha1 = "84d563ae5e324f223f335f11bf511bf6207c05fb"; + } + else if stdenv.system == "x86_64-darwin" then fetchurl { + url = https://dl-ssl.google.com/android/repository/platform-tools_r16-macosx.zip; + sha1 = "fbb0f8d2786a83b8c3eb6df402e706e136db8fed"; + } + else throw "System ${stdenv.system} not supported!"; + + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + cd platform-tools + + ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") + '' + for i in aapt adb aidl dexdump fastboot llvm-rs-cc + do + patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i + done + + patchelf --set-rpath ${zlib}/lib:${stdenv_32bit.gcc.gcc}/lib aapt + patchelf --set-rpath ${ncurses}/lib:${stdenv_32bit.gcc.gcc}/lib adb + patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib aidl + patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib fastboot + patchelf --set-rpath ${zlib}/lib:${stdenv_32bit.gcc.gcc}/lib dexdump + patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib llvm-rs-cc + ''} + + patchShebangs . + ''; + + buildInputs = [ unzip ]; +} diff --git a/pkgs/development/mobile/androidenv/platforms-linux.nix b/pkgs/development/mobile/androidenv/platforms-linux.nix new file mode 100644 index 00000000000..f544fcc08be --- /dev/null +++ b/pkgs/development/mobile/androidenv/platforms-linux.nix @@ -0,0 +1,210 @@ + +{stdenv, fetchurl, unzip}: + +let + buildPlatform = args: + stdenv.mkDerivation (args // { + buildInputs = [ unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + }); +in +{ + + platform_2 = buildPlatform { + name = "android-platform-1.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-1.1_r1-linux.zip; + sha1 = "c054d25c9b4c6251fa49c2f9c54336998679d3fe"; + }; + meta = { + description = "Android SDK Platform 1.1_r1"; + url = http://developer.android.com/sdk/android-1.1.html; + }; + }; + + platform_3 = buildPlatform { + name = "android-platform-1.5"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-1.5_r04-linux.zip; + sha1 = "5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c"; + }; + meta = { + description = "Android SDK Platform 1.5_r3"; + url = http://developer.android.com/sdk/android-1.5.html; + }; + }; + + platform_4 = buildPlatform { + name = "android-platform-1.6"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-1.6_r03-linux.zip; + sha1 = "483ed088e45bbdf3444baaf9250c8b02e5383cb0"; + }; + meta = { + description = "Android SDK Platform 1.6_r2"; + url = http://developer.android.com/sdk/android-1.6.html; + }; + }; + + platform_5 = buildPlatform { + name = "android-platform-2.0"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.0_r01-linux.zip; + sha1 = "be9be6a99ca32875c96ec7f91160ca9fce7e3c7d"; + }; + meta = { + description = "Android SDK Platform 2.0, revision 1"; + url = http://developer.android.com/sdk/android-2.0.html; + }; + }; + + platform_6 = buildPlatform { + name = "android-platform-2.0.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.0.1_r01-linux.zip; + sha1 = "ce2c971dce352aa28af06bda92a070116aa5ae1a"; + }; + meta = { + description = "Android SDK Platform 2.0.1_r1"; + url = http://developer.android.com/sdk/android-2.0.1.html; + }; + }; + + platform_7 = buildPlatform { + name = "android-platform-2.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip; + sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; + }; + meta = { + description = "Android SDK Platform 2.1_r3"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_8 = buildPlatform { + name = "android-platform-2.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip; + sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; + }; + meta = { + description = "Android SDK Platform 2.2_r3"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_9 = buildPlatform { + name = "android-platform-2.3.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip; + sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; + }; + meta = { + description = "Android SDK Platform 2.3.1_r2"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_10 = buildPlatform { + name = "android-platform-2.3.3"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip; + sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; + }; + meta = { + description = "Android SDK Platform 2.3.3._r2"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_11 = buildPlatform { + name = "android-platform-3.0"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip; + sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; + }; + meta = { + description = "Android SDK Platform 3.0, revision 2"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_12 = buildPlatform { + name = "android-platform-3.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip; + sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; + }; + meta = { + description = "Android SDK Platform 3.1, revision 3"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_13 = buildPlatform { + name = "android-platform-3.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip; + sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; + }; + meta = { + description = "Android SDK Platform 3.2, revision 1"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_14 = buildPlatform { + name = "android-platform-4.0"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-14_r03.zip; + sha1 = "41ba83b51e886461628c41b1b4d47762e0688ed5"; + }; + meta = { + description = "Android SDK Platform 4.0"; + + }; + }; + + platform_15 = buildPlatform { + name = "android-platform-4.0.3"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-15_r03.zip; + sha1 = "23da24610a8da51054c5391001c51ce43a778b97"; + }; + meta = { + description = "Android SDK Platform 4.0.3"; + + }; + }; + + platform_16 = buildPlatform { + name = "android-platform-4.1.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-16_r03.zip; + sha1 = "80d9ffef58168f9bccd862830e2ee51f686b167e"; + }; + meta = { + description = "Android SDK Platform 4.1"; + + }; + }; + + platform_17 = buildPlatform { + name = "android-platform-4.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-17_r01.zip; + sha1 = "c2e7c8c8db40e06b804ddb1725ac2c3555b55025"; + }; + meta = { + description = "Android SDK Platform 4.2"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/platforms-macosx.nix b/pkgs/development/mobile/androidenv/platforms-macosx.nix new file mode 100644 index 00000000000..a1434bbe56c --- /dev/null +++ b/pkgs/development/mobile/androidenv/platforms-macosx.nix @@ -0,0 +1,210 @@ + +{stdenv, fetchurl, unzip}: + +let + buildPlatform = args: + stdenv.mkDerivation (args // { + buildInputs = [ unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + }); +in +{ + + platform_2 = buildPlatform { + name = "android-platform-1.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-1.1_r1-macosx.zip; + sha1 = "e21dbcff45b7356657449ebb3c7e941be2bb5ebe"; + }; + meta = { + description = "Android SDK Platform 1.1_r1"; + url = http://developer.android.com/sdk/android-1.1.html; + }; + }; + + platform_3 = buildPlatform { + name = "android-platform-1.5"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-1.5_r04-macosx.zip; + sha1 = "d3a67c2369afa48b6c3c7624de5031c262018d1e"; + }; + meta = { + description = "Android SDK Platform 1.5_r3"; + url = http://developer.android.com/sdk/android-1.5.html; + }; + }; + + platform_4 = buildPlatform { + name = "android-platform-1.6"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-1.6_r03-macosx.zip; + sha1 = "bdafad44f5df9f127979bdb21a1fdd87ee3cd625"; + }; + meta = { + description = "Android SDK Platform 1.6_r2"; + url = http://developer.android.com/sdk/android-1.6.html; + }; + }; + + platform_5 = buildPlatform { + name = "android-platform-2.0"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.0_r01-macosx.zip; + sha1 = "2a866d0870dbba18e0503cd41e5fae988a21b314"; + }; + meta = { + description = "Android SDK Platform 2.0, revision 1"; + url = http://developer.android.com/sdk/android-2.0.html; + }; + }; + + platform_6 = buildPlatform { + name = "android-platform-2.0.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.0.1_r01-macosx.zip; + sha1 = "c3096f80d75a6fc8cb38ef8a18aec920e53d42c0"; + }; + meta = { + description = "Android SDK Platform 2.0.1_r1"; + url = http://developer.android.com/sdk/android-2.0.1.html; + }; + }; + + platform_7 = buildPlatform { + name = "android-platform-2.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip; + sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e"; + }; + meta = { + description = "Android SDK Platform 2.1_r3"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_8 = buildPlatform { + name = "android-platform-2.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip; + sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202"; + }; + meta = { + description = "Android SDK Platform 2.2_r3"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_9 = buildPlatform { + name = "android-platform-2.3.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip; + sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773"; + }; + meta = { + description = "Android SDK Platform 2.3.1_r2"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_10 = buildPlatform { + name = "android-platform-2.3.3"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip; + sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3"; + }; + meta = { + description = "Android SDK Platform 2.3.3._r2"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_11 = buildPlatform { + name = "android-platform-3.0"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip; + sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37"; + }; + meta = { + description = "Android SDK Platform 3.0, revision 2"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_12 = buildPlatform { + name = "android-platform-3.1"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip; + sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf"; + }; + meta = { + description = "Android SDK Platform 3.1, revision 3"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_13 = buildPlatform { + name = "android-platform-3.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip; + sha1 = "6189a500a8c44ae73a439604363de93591163cd9"; + }; + meta = { + description = "Android SDK Platform 3.2, revision 1"; + url = http://developer.android.com/sdk/; + }; + }; + + platform_14 = buildPlatform { + name = "android-platform-4.0"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-14_r03.zip; + sha1 = "41ba83b51e886461628c41b1b4d47762e0688ed5"; + }; + meta = { + description = "Android SDK Platform 4.0"; + + }; + }; + + platform_15 = buildPlatform { + name = "android-platform-4.0.3"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-15_r03.zip; + sha1 = "23da24610a8da51054c5391001c51ce43a778b97"; + }; + meta = { + description = "Android SDK Platform 4.0.3"; + + }; + }; + + platform_16 = buildPlatform { + name = "android-platform-4.1.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-16_r03.zip; + sha1 = "80d9ffef58168f9bccd862830e2ee51f686b167e"; + }; + meta = { + description = "Android SDK Platform 4.1"; + + }; + }; + + platform_17 = buildPlatform { + name = "android-platform-4.2"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/android-17_r01.zip; + sha1 = "c2e7c8c8db40e06b804ddb1725ac2c3555b55025"; + }; + meta = { + description = "Android SDK Platform 4.2"; + + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/repository-7.xml b/pkgs/development/mobile/androidenv/repository-7.xml new file mode 100644 index 00000000000..7bbbaf1e362 --- /dev/null +++ b/pkgs/development/mobile/androidenv/repository-7.xml @@ -0,0 +1,1030 @@ + + + + + Terms and Conditions + +This is the Android Software Development Kit License Agreement. + + +1. Introduction + + +1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK. + +1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time. + +1.3 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. + + +2. Accepting this License Agreement + + +2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement. + +2.2 By clicking to accept, you hereby agree to the terms of this License Agreement. + +2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK. + +2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity. + + +3. SDK License from Google + + +3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non-assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform. + +3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you. + +3.3 You may not use the SDK for any purpose not expressly permitted by this License Agreement. Except to the extent required by applicable third party licenses, you may not: (a) copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK; or (b) load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK. + +3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK. + +3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement. + +3.6 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you. + +3.7 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features. + +3.8 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK. + + +4. Use of the SDK by You + + +4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications. + +4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries). + +4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, you must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so. + +4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier. + +4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through Android and/or applications for Android, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so. + +4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach. + + +5. Your Developer Credentials + + +5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials. + + +6. Privacy and Information + + +6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected. + +6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy. + + +7. Third Party Applications + + +7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources. + +7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners. + +7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties. + + +8. Using Android APIs + + +8.1 Google Data APIs + +8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service. + +8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so. + + +9. Terminating this License Agreement + + +9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below. + +9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials. + +9.3 Google may at any time, terminate this License Agreement with you if: +(A) you have breached any provision of this License Agreement; or +(B) Google is required to do so by law; or +(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or +(D) Google decides to no longer provide the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable. + +9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely. + + +10. DISCLAIMER OF WARRANTIES + + +10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE. + +10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. + +10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + + +11. LIMITATION OF LIABILITY + + +11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. + + +12. Indemnification + + +12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement. + + +13. Changes to the License Agreement + + +13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available. + + +14. General Legal Terms + + +14.1 This License Agreement constitutes the whole legal agreement between you and Google and governs your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replaces any prior agreements between you and Google in relation to the SDK. + +14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google. + +14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable. + +14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement. + +14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE. + +14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party. + +14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + +November 13, 2012 + + + + + + 1.1 + 2 + 1 + Android SDK Platform 1.1_r1 + http://developer.android.com/sdk/android-1.1.html + + + + 46828615 + a4060f29ed39fc929c302836d488998c53c3002e + android-1.1_r1-windows.zip + + + 45584305 + e21dbcff45b7356657449ebb3c7e941be2bb5ebe + android-1.1_r1-macosx.zip + + + 45476658 + c054d25c9b4c6251fa49c2f9c54336998679d3fe + android-1.1_r1-linux.zip + + + + 4 + + + + + + + + 1.5 + 3 + 04 + + 6 + + Android SDK Platform 1.5_r3 + http://developer.android.com/sdk/android-1.5.html + + + 54624370 + 5bb106d2e40d481edd337b0833093843e15fe49a + android-1.5_r04-windows.zip + + + 52440607 + d3a67c2369afa48b6c3c7624de5031c262018d1e + android-1.5_r04-macosx.zip + + + 53348669 + 5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c + android-1.5_r04-linux.zip + + + + 4 + + + + + + 1.6 + 4 + + 03 + + 6 + + Android SDK Platform 1.6_r2 + http://developer.android.com/sdk/android-1.6.html + + + 63454485 + 483ed088e45bbdf3444baaf9250c8b02e5383cb0 + android-1.6_r03-linux.zip + + + 62418496 + bdafad44f5df9f127979bdb21a1fdd87ee3cd625 + android-1.6_r03-macosx.zip + + + 64654625 + ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22 + android-1.6_r03-windows.zip + + + + 4 + + + + + + + + 2.0 + 5 + + 01 + + 3 + + Android SDK Platform 2.0, revision 1 + http://developer.android.com/sdk/android-2.0.html + + + + 75095268 + be9be6a99ca32875c96ec7f91160ca9fce7e3c7d + android-2.0_r01-linux.zip + + + 74956356 + 2a866d0870dbba18e0503cd41e5fae988a21b314 + android-2.0_r01-macosx.zip + + + 76288040 + aeb623217ff88b87216d6eb7dbc846ed53f68f57 + android-2.0_r01-windows.zip + + + + 4 + + + + + + + + 2.0.1 + 6 + + 01 + + 4 + + Android SDK Platform 2.0.1_r1 + http://developer.android.com/sdk/android-2.0.1.html + + + + 79192618 + ce2c971dce352aa28af06bda92a070116aa5ae1a + android-2.0.1_r01-linux.zip + + + 79035527 + c3096f80d75a6fc8cb38ef8a18aec920e53d42c0 + android-2.0.1_r01-macosx.zip + + + 80385601 + 255781ebe4509d9707d0e77edda2815e2bc216e6 + android-2.0.1_r01-windows.zip + + + + 4 + + + + + + + + 2.1 + 7 + + 03 + + 8 + + Android SDK Platform 2.1_r3 + http://developer.android.com/sdk/ + + + 70142829 + 5ce51b023ac19f8738500b1007a1da5de2349a1e + android-2.1_r03-linux.zip + + + + 4 + + + + + + + + 2.2 + 8 + + 03 + + 8 + + Android SDK Platform 2.2_r3 + http://developer.android.com/sdk/ + + + 74652366 + 231262c63eefdff8fd0386e9ccfefeb27a8f9202 + android-2.2_r03-linux.zip + + + + 4 + + + + + + + + 2.3.1 + 9 + + 02 + + 8 + + Android SDK Platform 2.3.1_r2 + http://developer.android.com/sdk/ + + + + 78732563 + 209f8a7a8b2cb093fce858b8b55fed3ba5206773 + android-2.3.1_r02-linux.zip + + + + 4 + + + + + + + + 2.3.3 + 10 + + 02 + + 8 + + Android SDK Platform 2.3.3._r2 + http://developer.android.com/sdk/ + + + 85470907 + 887e37783ec32f541ea33c2c649dda648e8e6fb3 + android-2.3.3_r02-linux.zip + + + + 4 + + + + + + + + 3.0 + 11 + + 02 + + 10 + + Android SDK Platform 3.0, revision 2 + http://developer.android.com/sdk/ + + + 104513908 + 2c7d4bd13f276e76f6bbd87315fe27aba351dd37 + android-3.0_r02-linux.zip + + + + 4 + + + + + + + + 3.1 + 12 + + 03 + + 11 + + Android SDK Platform 3.1, revision 3 + http://developer.android.com/sdk/ + + + 106472351 + 4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf + android-3.1_r03-linux.zip + + + + 4 + + + + + + + + 3.2 + 13 + + 01 + + 12 + + Android SDK Platform 3.2, revision 1 + http://developer.android.com/sdk/ + + + 108426536 + 6189a500a8c44ae73a439604363de93591163cd9 + android-3.2_r01-linux.zip + + + + 4 + + + + + + + 3 + Android SDK Platform 4.0 + 4.0 + 14 + + 7 + 1 + + + + 45919570 + 41ba83b51e886461628c41b1b4d47762e0688ed5 + android-14_r03.zip + + + + + + + + 3 + Android SDK Platform 4.0.3 + 4.0.3 + 15 + + 15 + + + 7 + 1 + + + + 44414679 + 23da24610a8da51054c5391001c51ce43a778b97 + android-15_r03.zip + + + + + + + + 3 + Android SDK Platform 4.1 + 4.1.2 + 16 + + 20 + + + 8 + 1 + + + + 47995505 + 80d9ffef58168f9bccd862830e2ee51f686b167e + android-16_r03.zip + + + + + + + + 1 + Android SDK Platform 4.2 + 4.2 + 17 + + 21 + + + 9 + 1 + + + + 47886130 + c2e7c8c8db40e06b804ddb1725ac2c3555b55025 + android-17_r01.zip + + + + + + + + + + 2 + Android SDK Platform 4.0 + 14 + armeabi-v7a + + + 99621822 + d8991b0c06b18d7d6ed4169d67460ee1add6661b + sysimg_armv7a-14_r02.zip + + + + + + + + 2 + Android SDK Platform 4.0.3 + 15 + armeabi-v7a + + + 96227377 + 1bf977d6cb4e0ad38dceac0c4863d1caa21f326e + sysimg_armv7a-15_r02.zip + + + + + + + + 3 + Android SDK Platform 4.1 + 16 + armeabi-v7a + + + 112528368 + d1cddb23f17aad5821a089c403d4cddad2cf9ef7 + sysimg_armv7a-16_r03.zip + + + + + + + + 1 + Android SDK Platform 4.2 + 17 + armeabi-v7a + + + 116831648 + 45b9344473e0a6d063c2b1fe58d8cd47d307905e + sysimg_armv7a-17_r01.zip + + + + + + + + + + + 7 + + 01 + Android SDK Samples for Android API 7, revision 1 + http://developer.android.com/sdk/ + + + 7677831 + 51e4907f60f248ede5c58b54ce7b6ae0b473e0ca + samples-2.1_r01-linux.zip + + + + + + + + + 8 + + 01 + Android SDK Samples for Android API 8, revision 1 + http://developer.android.com/sdk/ + + + 7969716 + d16d8bf2dd84cedf73b98b948d66461c8f19d6fb + samples-2.2_r01-linux.zip + + + + + + + + + 9 + + 01 + Android SDK Samples for Android API 9, revision 1 + http://developer.android.com/sdk/ + + + + 8516326 + 36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa + samples-2.3_r01-linux.zip + + + + + + + + + 10 + + 01 + Android SDK Samples for Android API 10, revision 1 + http://developer.android.com/sdk/ + + + 8539583 + 93b0c3f3bdf5b07f1f115100b4954f0665297a0d + samples-2.3.3_r01-linux.zip + + + + + + + + + 11 + + 01 + Android SDK Samples for Android API 11, revision 1 + http://developer.android.com/sdk/ + + + 11976920 + 3749ace584631270268d65bb1d0ad61b0d691682 + samples-3.0_r01-linux.zip + + + + + + + + + 12 + + 01 + Android SDK Samples for Android API 12, revision 1 + http://developer.android.com/sdk/ + + + 12150514 + df0ace37cbca73373fe94080f94c71557cac73a7 + samples-3.1_r01-linux.zip + + + + + + + + + 13 + + 01 + Android SDK Samples for Android API 13, revision 1 + http://developer.android.com/sdk/ + + + 12193502 + 078bcf1abc1cb8921f3fa482c252963a782bed60 + samples-3.2_r01-linux.zip + + + + + + + + 2 + 14 + + + 16253619 + 1312c22ab0b650e26835cc3945d4ff8cea183416 + samples-14_r02.zip + + + + + + + + 2 + 15 + + + 16366656 + 042f368c5b09eca4d278264e6dbf9c12c5f73d1f + samples-15_r02.zip + + + + + + + + 1 + 16 + + + 14729945 + dce3a2d41db50a381ef47ee8bddbe928520e685e + samples-16_r01.zip + + + + + + + + 1 + 17 + + + 14840030 + 12d58cb26503610fc05bd7618c434cc6f983bc41 + samples-17_r01.zip + + + + + + + + + + + 16 + + + + 11938435 + 0d6245b685c7d303cf4a054a3d373c4427b7ad01 + platform-tools_r16-windows.zip + + + 12676089 + 84d563ae5e324f223f335f11bf511bf6207c05fb + platform-tools_r16-linux.zip + + + 13147351 + fbb0f8d2786a83b8c3eb6df402e706e136db8fed + platform-tools_r16-macosx.zip + + + + + + + + + + + 21 + + + 16 + + + + 98982670 + 57bbfadcedbef44fc322e5e037666393668cf3fe + tools_r21-windows.zip + + + 91495104 + 013b9c04407a9d73b8bf3c574327fbe870acd264 + tools_r21-linux.zip + + + 65767130 + fcfa3a6932f2ed0d970a0ca959bb2b4972f7d46d + tools_r21-macosx.zip + + + + + + + + + 21 + 0 + 1 + 1 + + + 16 + + + + 98998088 + 1503aaf2c91cb07c0240a2db3af0de027941a4f6 + tools_r21.0.1_rc1-windows.zip + + + 91510079 + 183670a7f9878d8d3693d5fcf32e1357b69f0fed + tools_r21.0.1_rc1-linux.zip + + + 65777178 + 109d4f287904875f067e021be3fd1f549e6afb67 + tools_r21.0.1_rc1-macosx.zip + + + + + + + + + + 1 + 17 + + + 171564393 + fb988cdd2beaac0dd47dc630821ccc30557c67e5 + docs-17_r01.zip + + + + + + + + + + 1 + 14 + + + 16152383 + eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555 + sources-14_r01.zip + + + + + + + + 2 + 15 + + + 16468746 + e5992a5747c9590783fbbdd700337bf0c9f6b1fa + sources-15_r02.zip + + + + + + + + 2 + 16 + + + 17876720 + 0f83c14ed333c45d962279ab5d6bc98a0269ef84 + sources-16_r02.zip + + + + + + + + 1 + 17 + + + 18976816 + 6f1f18cd2d2b1852d7f6892df9cee3823349d43a + sources-17_r01.zip + + + + + diff --git a/pkgs/development/mobile/androidenv/support.nix b/pkgs/development/mobile/androidenv/support.nix new file mode 100644 index 00000000000..2e9690de7a2 --- /dev/null +++ b/pkgs/development/mobile/androidenv/support.nix @@ -0,0 +1,17 @@ +{stdenv, fetchurl, unzip}: + +stdenv.mkDerivation { + name = "android-support-r11"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/support_r11.zip; + sha1 = "d30d182d8e4c86bb4464c03a83ccffce7bc84ecd"; + }; + + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + + buildInputs = [ unzip ]; +} \ No newline at end of file diff --git a/pkgs/development/mobile/androidenv/sysimages.nix b/pkgs/development/mobile/androidenv/sysimages.nix new file mode 100644 index 00000000000..b35b4298983 --- /dev/null +++ b/pkgs/development/mobile/androidenv/sysimages.nix @@ -0,0 +1,50 @@ + +{stdenv, fetchurl, unzip}: + +let + buildSystemImage = args: + stdenv.mkDerivation (args // { + buildInputs = [ unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unzip $src + ''; + }); +in +{ + + sysimg_14 = buildSystemImage { + name = "armeabi-v7a-14"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r02.zip; + sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b"; + }; + }; + + sysimg_15 = buildSystemImage { + name = "armeabi-v7a-15"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-15_r02.zip; + sha1 = "1bf977d6cb4e0ad38dceac0c4863d1caa21f326e"; + }; + }; + + sysimg_16 = buildSystemImage { + name = "armeabi-v7a-16"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-16_r03.zip; + sha1 = "d1cddb23f17aad5821a089c403d4cddad2cf9ef7"; + }; + }; + + sysimg_17 = buildSystemImage { + name = "armeabi-v7a-17"; + src = fetchurl { + url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-17_r01.zip; + sha1 = "45b9344473e0a6d063c2b1fe58d8cd47d307905e"; + }; + }; + +} + \ No newline at end of file diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix new file mode 100644 index 00000000000..c05bf88ffbf --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/build-app.nix @@ -0,0 +1,119 @@ +{stdenv, androidsdk, titaniumsdk, xcodewrapper}: +{ appId, name, src, target, androidPlatformVersions ? [ "8" ] +, release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null +, iosKeyFile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosDistribute ? false +}: + +assert (release && target == "android") -> androidKeyStore != null && androidKeyAlias != null && androidKeyStorePassword != null; +assert (release && target == "iphone") -> iosKeyFile != null && iosCertificateName != null && iosCertificate != null && iosCertificatePassword != null; + +let + androidsdkComposition = androidsdk { + platformVersions = androidPlatformVersions; + useGoogleAPIs = true; + }; + + deleteKeychain = "security delete-keychain $keychainName"; +in +stdenv.mkDerivation { + name = stdenv.lib.replaceChars [" "] [""] name; + inherit src; + + buildInputs = [] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") xcodewrapper; + + buildPhase = '' + export HOME=$TMPDIR + + mkdir -p $out + + ${if target == "android" then + if release then + ''${titaniumsdk}/mobilesdk/*/*/android/builder.py distribute "${name}" ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId} ${androidKeyStore} ${androidKeyStorePassword} ${androidKeyAlias} $out'' + else + ''${titaniumsdk}/mobilesdk/*/*/android/builder.py build "${name}" ${androidsdkComposition}/libexec/android-sdk-* $(pwd) ${appId}'' + + else if target == "iphone" then + if iosDistribute then '' + export HOME=/Users/$(whoami) + export keychainName=$(basename $out) + + # Create a keychain with the component hash name (should always be unique) + security create-keychain -p "" $keychainName + security default-keychain -s $keychainName + security unlock-keychain -p "" $keychainName + security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A + + provisioningId=$(grep UUID -A1 -a ${iosKeyFile} | grep -o "[-A-Z0-9]\{36\}") + + # Ensure that the requested provisioning profile can be found + + if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ] + then + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + cp ${iosKeyFile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" + fi + + ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py distribute 6.0 $(pwd) ${appId} "${name}" "$provisioningId" "${iosCertificateName}" $out universal "$HOME/Library/Keychains/$keychainName" + + # Remove our generated keychain + + ${deleteKeychain} + '' + else + if release then + '' + export HOME=/Users/$(whoami) + export keychainName=$(basename $out) + + # Create a keychain with the component hash name (should always be unique) + security create-keychain -p "" $keychainName + security default-keychain -s $keychainName + security unlock-keychain -p "" $keychainName + security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A + + provisioningId=$(grep UUID -A1 -a ${iosKeyFile} | grep -o "[-A-Z0-9]\{36\}") + + # Ensure that the requested provisioning profile can be found + + if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" ] + then + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + cp ${iosKeyFile} "$HOME/Library/MobileDevice/Provisioning Profiles/$provisioningId.mobileprovision" + fi + + ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py adhoc 6.0 $(pwd) ${appId} "${name}" "$provisioningId" "${iosCertificateName}" universal "$HOME/Library/Keychains/$keychainName" + + # Remove our generated keychain + + ${deleteKeychain} + '' + else + '' + # Copy all sources to the output store directory. + # Why? Debug application include *.js files, which are symlinked into their + # sources. If they are not copied, we have dangling references to the + # temp folder. + + cp -av * $out + cd $out + ${titaniumsdk}/mobilesdk/*/*/iphone/builder.py build 6.0 $(pwd) ${appId} "${name}" universal + '' + + else throw "Target: ${target} is not supported!"} + ''; + + installPhase = '' + mkdir -p $out + + ${if target == "android" && release then "" + else + if target == "android" then + ''cp $(ls build/android/bin/*.apk | grep -v '\-unsigned.apk') $out'' + else if target == "iphone" && release then + "cp -av build/iphone/build/* $out" + else if target == "iphone" then "" + else throw "Target: ${target} is not supported!"} + ''; + + failureHook = stdenv.lib.optionalString (release && target == "iphone") deleteKeychain; +} diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix new file mode 100644 index 00000000000..8117b452d70 --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/default.nix @@ -0,0 +1,18 @@ +{pkgs, pkgs_i686}: + +rec { + androidenv = pkgs.androidenv; + + xcodeenv = if pkgs.stdenv.system == "x86_64-darwin" then pkgs.xcodeenv else null; + + titaniumsdk = import ./titaniumsdk.nix { + inherit (pkgs) stdenv fetchurl unzip makeWrapper python jdk; + }; + + buildApp = import ./build-app.nix { + inherit (pkgs) stdenv; + inherit (androidenv) androidsdk; + inherit (xcodeenv) xcodewrapper; + inherit titaniumsdk; + }; +} diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix new file mode 100644 index 00000000000..1526d4c4359 --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/examples/default.nix @@ -0,0 +1,38 @@ +let + pkgs = import {}; + pkgs_i686 = import { system = "i686-linux"; }; +in +rec { + titaniumenv = import ./.. { + inherit pkgs pkgs_i686; + }; + + kitchensink_android = import ./kitchensink { + inherit titaniumenv; + inherit (pkgs) fetchgit; + target = "android"; + }; + + kitchensink_iphone = import ./kitchensink { + inherit titaniumenv; + inherit (pkgs) fetchgit; + target = "iphone"; + }; + + emulate_kitchensink = import ./emulate-kitchensink { + inherit (titaniumenv) androidenv; + kitchensink = kitchensink_android; + }; + + simulate_kitchensink_iphone = import ./simulate-kitchensink { + inherit (titaniumenv) xcodeenv; + kitchensink = kitchensink_iphone; + device = "iPhone"; + }; + + simulate_kitchensink_ipad = import ./simulate-kitchensink { + inherit (titaniumenv) xcodeenv; + kitchensink = kitchensink_iphone; + device = "iPad"; + }; +} diff --git a/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix new file mode 100644 index 00000000000..817aa5ab37f --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/examples/emulate-kitchensink/default.nix @@ -0,0 +1,10 @@ +{androidenv, kitchensink}: + +androidenv.emulateApp { + name = "kitchensink"; + app = kitchensink; + platformVersion = "8"; + useGoogleAPIs = true; + package = "com.appcelerator.kitchensink"; + activity = "KitchensinkActivity"; +} diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix new file mode 100644 index 00000000000..8e2b1df264a --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix @@ -0,0 +1,24 @@ +{titaniumenv, fetchgit, target, androidPlatformVersions ? [ "8" ]}: + +titaniumenv.buildApp { + name = "KitchenSink"; + appId = "com.appcelerator.kitchensink"; + src = fetchgit { + url = https://github.com/appcelerator/KitchenSink.git; + rev = "0f2c0b818034cc4e6867f0aa2afc98bf77dbff02"; + sha256 = "de31496cfb5625d7a193bbbc32a8021e4094ffab20ae13ef2e1583b0394d7c60"; + }; + + inherit target androidPlatformVersions; + + /*release = true; + androidKeyStore = /home/sander/keystore; + androidKeyAlias = "sander"; + androidKeyStorePassword = "foobar";*/ + + /*release = true; + iosKeyFile = /Users/sander/Downloads/profile.mobileprovision; + iosCertificateName = "My Company"; + iosCertificate = /Users/sander/Downloads/c.p12; + iosCertificatePassword = "";*/ +} diff --git a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix new file mode 100644 index 00000000000..70ec534f6ae --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix @@ -0,0 +1,8 @@ +{xcodeenv, kitchensink, device}: + +xcodeenv.simulateApp { + name = "kitchensink"; + app = kitchensink; + inherit device; + baseDir = "build/iphone/build/Debug-iphonesimulator"; +} diff --git a/pkgs/development/mobile/titaniumenv/fixnativelibs.sed b/pkgs/development/mobile/titaniumenv/fixnativelibs.sed new file mode 100644 index 00000000000..76b330136b6 --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/fixnativelibs.sed @@ -0,0 +1 @@ +s|\t\t\t\t\t\t\t\tapk_zip.write(native_lib, path_in_zip)|\t\t\t\t\t\t\t\tinfo = zipfile.ZipInfo(path_in_zip)\n\t\t\t\t\t\t\t\tinfo.compress_type = zipfile.ZIP_DEFLATED\n\t\t\t\t\t\t\t\tinfo.create_system = 3\n\t\t\t\t\t\t\t\tf = open(native_lib)\n\t\t\t\t\t\t\t\tapk_zip.writestr(info, f.read())\n\t\t\t\t\t\t\t\tf.close()| diff --git a/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed b/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed new file mode 100644 index 00000000000..c849aaa611c --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/fixselfruntimev8.sed @@ -0,0 +1 @@ +s|apk_zip.write(os.path.join(lib_source_dir, fname), lib_dest_dir + fname)|info = zipfile.ZipInfo(lib_dest_dir + fname)\n\t\t\t\t\tinfo.compress_type = zipfile.ZIP_DEFLATED\n\t\t\t\t\tinfo.create_system = 3\n\t\t\t\t\tf = open(os.path.join(lib_source_dir, fname))\n\t\t\t\t\tapk_zip.writestr(info, f.read())\n\t\t\t\t\tf.close()| diff --git a/pkgs/development/mobile/titaniumenv/fixtiverify.sed b/pkgs/development/mobile/titaniumenv/fixtiverify.sed new file mode 100644 index 00000000000..8e1114769c8 --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/fixtiverify.sed @@ -0,0 +1 @@ +s|apk_zip.write(os.path.join(lib_source_dir, 'libtiverify.so'), lib_dest_dir + 'libtiverify.so')|info = zipfile.ZipInfo(lib_dest_dir + 'libtiverify.so')\n\t\t\tinfo.compress_type = zipfile.ZIP_DEFLATED\n\t\t\tinfo.create_system = 3\n\t\t\tf = open(os.path.join(lib_source_dir, 'libtiverify.so'))\n\t\t\tapk_zip.writestr(info, f.read())\n\t\t\tf.close()| diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk.nix new file mode 100644 index 00000000000..b4cd1a98fb0 --- /dev/null +++ b/pkgs/development/mobile/titaniumenv/titaniumsdk.nix @@ -0,0 +1,62 @@ +{stdenv, src ? null, fetchurl, unzip, makeWrapper, python, jdk}: + +stdenv.mkDerivation { + name = "titanium-mobilesdk-2.1.5.v20121112144658"; + src = if src == null then + if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl { + url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/2_1_X/mobilesdk-2.1.5.v20121112144658-linux.zip; + sha1 = "79f073d11ee893c508c5aa675a3126501dd385fd"; + } + else if stdenv.system == "x86_64-darwin" then fetchurl { + url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/2_1_X/mobilesdk-2.1.5.v20121112144658-osx.zip; + sha1 = "6a9a726882222d1615de332aa1ca608c15564e1c"; + } + else throw "Platform: ${stdenv.system} not supported!" + else src; + + buildInputs = [ unzip makeWrapper ]; + + buildCommand = '' + mkdir -p $out + cd $out + yes y | unzip $src + + # Fix shebang header for python scripts + + find . -name \*.py | while read i + do + sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i + done + + # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that + # Yes, I know it's nasty :-) + + cd mobilesdk/*/*/android + + sed -i -f ${./fixtiverify.sed} builder.py + sed -i -f ${./fixselfruntimev8.sed} builder.py + sed -i -f ${./fixnativelibs.sed} builder.py + + # Patch some executables + + ${if stdenv.system == "i686-linux" then + '' + patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32 + '' + else if stdenv.system == "x86_64-linux" then + '' + patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64 + '' + else ""} + + # Wrap builder script + + wrapProgram `pwd`/builder.py \ + --prefix PYTHONPATH : ${python.modules.sqlite3}/lib/python*/site-packages \ + --prefix PATH : ${jdk}/bin \ + --prefix JAVA_HOME : ${jdk} + '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") '' + # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work. + sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py + ''; +} diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix new file mode 100644 index 00000000000..3ac9e4bb958 --- /dev/null +++ b/pkgs/development/mobile/xcodeenv/build-app.nix @@ -0,0 +1,92 @@ +{stdenv, xcodewrapper}: +{ name +, src +, target ? null +, configuration ? null +, scheme ? null +, sdk ? null +, arch ? null +, xcodeFlags ? "" +, release ? false +, codeSignIdentity ? null +, certificateFile ? null +, certificatePassword ? null +, provisioningProfile ? null +, generateIPA ? false +, generateXCArchive ? false +}: + +assert release -> codeSignIdentity != null && certificateFile != null && certificatePassword != null && provisioningProfile != null; + +let + # Set some default values here + + _target = if target == null then name else target; + _scheme = if scheme == null then name else scheme; + + _configuration = if configuration == null + then + if release then "Release" else "Debug" + else configuration; + + _arch = if arch == null + then + if release then "armv7" else "i386" + else arch; + + _sdk = if sdk == null + then + if release then "iphoneos6.0" else "iphonesimulator6.0" + else sdk; + + # The following is to prevent repetition + deleteKeychain = "security delete-keychain $keychainName"; +in +stdenv.mkDerivation { + inherit name src; + buildInputs = [ xcodewrapper ]; + buildPhase = '' + ${stdenv.lib.optionalString release '' + export HOME=/Users/$(whoami) + keychainName="$(basename $out)" + + # Create a keychain + security create-keychain -p "" $keychainName + security default-keychain -s $keychainName + security unlock-keychain -p "" $keychainName + + # Import the certificate into the keychain + security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A + + # Determine provisioning ID + PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Z0-9]\{36\}") + + if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ] + then + # Copy provisioning profile into the home directory + mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles" + cp ${provisioningProfile} "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" + fi + + # Check whether the identity can be found + security find-identity -p codesigning $keychainName + ''} + + # Do the building + xcodebuild -target ${_target} -configuration ${_configuration} -scheme ${_scheme} -sdk ${_sdk} -arch ${_arch} ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName"'' else ""} + + ${stdenv.lib.optionalString release '' + ${stdenv.lib.optionalString generateIPA '' + # Produce an IPA file + xcrun -sdk iphoneos PackageApplication -v $out/*.app -o $out/${name}.ipa + ''} + + # Delete our temp keychain + ${deleteKeychain} + ''} + ''; + + failureHook = stdenv.lib.optionalString release deleteKeychain; + + installPhase = "true"; +} diff --git a/pkgs/development/mobile/xcodeenv/default.nix b/pkgs/development/mobile/xcodeenv/default.nix new file mode 100644 index 00000000000..7f834688e63 --- /dev/null +++ b/pkgs/development/mobile/xcodeenv/default.nix @@ -0,0 +1,15 @@ +{stdenv}: + +rec { + xcodewrapper = import ./xcodewrapper.nix { + inherit stdenv; + }; + + buildApp = import ./build-app.nix { + inherit stdenv xcodewrapper; + }; + + simulateApp = import ./simulate-app.nix { + inherit stdenv xcodewrapper; + }; +} diff --git a/pkgs/development/mobile/xcodeenv/simulate-app.nix b/pkgs/development/mobile/xcodeenv/simulate-app.nix new file mode 100644 index 00000000000..e3eff458d27 --- /dev/null +++ b/pkgs/development/mobile/xcodeenv/simulate-app.nix @@ -0,0 +1,17 @@ +{stdenv, xcodewrapper}: +{name, app, device ? "iPhone", baseDir ? ""}: + +stdenv.mkDerivation { + name = stdenv.lib.replaceChars [" "] [""] name; + buildCommand = '' + ensureDir $out/bin + cat > $out/bin/run-test-simulator << "EOF" + #! ${stdenv.shell} -e + + cd '${app}/${baseDir}/${name}.app' + "$(readlink "${xcodewrapper}/bin/iPhone Simulator")" -SimulateApplication './${name}' -SimulateDevice '${device}' + EOF + chmod +x $out/bin/run-test-simulator + ''; +} + diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix new file mode 100644 index 00000000000..39804b1a248 --- /dev/null +++ b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix @@ -0,0 +1,24 @@ +{stdenv}: + +let + version = "4.5.2"; +in +stdenv.mkDerivation { + name = "xcode-wrapper-"+version; + buildCommand = '' + ensureDir $out/bin + cd $out/bin + ln -s /usr/bin/xcode-select + ln -s /usr/bin/xcodebuild + ln -s /usr/bin/xcrun + ln -s /usr/bin/security + ln -s "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator" + + # Check if we have the xcodebuild version that we want + if [ -z "$($out/bin/xcodebuild -version | grep ${version})" ] + then + echo "We require xcodebuild version: ${version}" + exit 1 + fi + ''; +} diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index a520f8196d8..d59dbae45fe 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -4,11 +4,10 @@ stdenv.mkDerivation { name = "ocaml-extlib-1.5.2"; src = fetchurl { - url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.2.tar.gz"; - sha256 = "ca6d69adeba4242ce41c02a23746ba1e464c0bbec66e2d16b02c3c6e85dc10aa"; + url = http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz; + sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021"; }; - patches = [ ./hashtable-ocaml4-compat.patch ]; buildInputs = [ocaml findlib]; createFindlibDestdir = true; @@ -19,9 +18,9 @@ stdenv.mkDerivation { ''; meta = { - homepage = "http://code.google.com/p/ocaml-extlib/"; + homepage = http://code.google.com/p/ocaml-extlib/; description = "Enhancements to the OCaml Standard Library modules"; - license = "LGPL"; + license = stdenv.lib.licenses.lgpl21; platforms = ocaml.meta.platforms; }; } diff --git a/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch b/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch deleted file mode 100644 index c587f2b6cd3..00000000000 --- a/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch +++ /dev/null @@ -1,12 +0,0 @@ -Revision 396 from the official extlib repository. - ---- extlib/extHashtbl.ml (revision 395) -+++ extlib/extHashtbl.ml (working copy) -@@ -32,6 +32,7 @@ - } - - include Hashtbl -+ let create n = Hashtbl.create (* no seed *) n - - external h_conv : ('a, 'b) t -> ('a, 'b) h_t = "%identity" - external h_make : ('a, 'b) h_t -> ('a, 'b) t = "%identity" \ No newline at end of file diff --git a/pkgs/development/ocaml-modules/lablgtkmathview/configure.patch b/pkgs/development/ocaml-modules/lablgtkmathview/configure.patch deleted file mode 100644 index b841e8f4382..00000000000 --- a/pkgs/development/ocaml-modules/lablgtkmathview/configure.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- configure 2010-09-02 10:58:16.128236964 -0400 -+++ configure.old 2010-09-02 10:57:42.368111615 -0400 -@@ -1637,9 +1637,9 @@ - echo "$as_me:$LINENO: result: $ac_cv_file__usr_include_caml_mlvalues_h" >&5 - echo "${ECHO_T}$ac_cv_file__usr_include_caml_mlvalues_h" >&6 - if test $ac_cv_file__usr_include_caml_mlvalues_h = yes; then -- OCAML_INCLUDE_DIR=/usr/include -+ OCAML_INCLUDE_DIR=/usr/include/caml - else -- OCAML_INCLUDE_DIR=$OCAML_LIB_DIR -+ OCAML_INCLUDE_DIR=$OCAML_LIB_DIR/caml - - fi - diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix index e4dc43743f3..4d9e934b628 100644 --- a/pkgs/development/ocaml-modules/ocamlnet/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix @@ -2,15 +2,14 @@ let ocaml_version = (builtins.parseDrvName ocaml.name).version; - version = "3.1"; in stdenv.mkDerivation { - name = "ocamlnet-${version}"; + name = "ocamlnet-3.6"; src = fetchurl { - url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz"; - sha256 = "0kdc2540ad84j6haj9jxlwryz9cb8q8kjdr48f2wgvcaii38v9f5"; + url = http://download.camlcity.org/download/ocamlnet-3.6.tar.gz; + sha256 = "306c20aee6512be3564c0f39872b70f929c06e1e893cfcf528ac47ae35cf7a69"; }; buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl]; diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix index 8f21ba649bf..533f1ec8d1c 100644 --- a/pkgs/development/ocaml-modules/ounit/default.nix +++ b/pkgs/development/ocaml-modules/ounit/default.nix @@ -5,11 +5,11 @@ let in stdenv.mkDerivation { - name = "ounit-1.1.0"; + name = "ounit-1.1.2"; src = fetchurl { - url = http://forge.ocamlcore.org/frs/download.php/495/ounit-1.1.0.tar.gz; - sha256 = "12vybg9xlw5c8ip23p8cljfzhkdsm25482sf1yh46fcqq8p2jmqx"; + url = http://forge.ocamlcore.org/frs/download.php/886/ounit-1.1.2.tar.gz; + sha256 = "e6bc1b0cdbb5b5552d85bee653e23aafe20bb97fd7cd229c867d01ff999888e3"; }; buildInputs = [ocaml findlib]; @@ -25,7 +25,7 @@ stdenv.mkDerivation { meta = { homepage = http://www.xs4all.nl/~mmzeeman/ocaml/; description = "Unit test framework for OCaml"; - license = "MIT/X11"; + license = stdenv.lib.licenses.mit; platforms = ocaml.meta.platforms; maintainers = [ stdenv.lib.maintainers.z77z diff --git a/pkgs/development/perl-modules/Compress-Raw-Bzip2/default.nix b/pkgs/development/perl-modules/Compress-Raw-Bzip2/default.nix deleted file mode 100644 index 6515efada6f..00000000000 --- a/pkgs/development/perl-modules/Compress-Raw-Bzip2/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ fetchurl, buildPerlPackage, bzip2 }: - -buildPerlPackage rec { - name = "Compress-Raw-Bzip2-2.049"; - - src = fetchurl { - url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz"; - sha256 = "7881473e0ab5ecc6ce609382e4f7466fb32217e928eef27e7084702bb07ac172"; - }; - - # Don't build a private copy of bzip2. - BUILD_BZIP2 = false; - BZIP2_LIB = "${bzip2}/lib"; - BZIP2_INCLUDE = "${bzip2}/include"; -} diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix index c2c7b5f8363..70c2a294d6f 100644 --- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix +++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix @@ -1,11 +1,11 @@ { fetchurl, buildPerlPackage, zlib, stdenv }: buildPerlPackage rec { - name = "Compress-Raw-Zlib-2.051"; + name = "Compress-Raw-Zlib-2.060"; src = fetchurl { url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz"; - sha256 = "16c7e0d2ed339c0b5ffe787bbcc9fc063ce6f2145d8cd6a18d0c79fa68d36c09"; + sha256 = "03z2vqcdpysanqnh9m714fs2mcfshzbkd8i11w359h69h5q0kms3"; }; preConfigure = '' @@ -19,4 +19,8 @@ buildPerlPackage rec { ''; doCheck = !stdenv.isDarwin; + + meta = { + license = "perl5"; + }; } diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix index 0d0cb1accc5..be5faa330ae 100644 --- a/pkgs/development/perl-modules/DBD-Pg/default.nix +++ b/pkgs/development/perl-modules/DBD-Pg/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildPerlPackage, DBI, postgresql }: buildPerlPackage rec { - name = "DBD-Pg-2.19.2"; + name = "DBD-Pg-2.19.3"; src = fetchurl { url = "mirror://cpan/modules/by-module/DBD/${name}.tar.gz"; - sha256 = "0scnhbp0lfclbppbsfzmcyw32z8jhb9calvbg9q3gk4kli1119j9"; + sha256 = "0ai6p2094hrh6kjlwfjvpw2z8wqa3scr4ba3p6rqza3z9c9hsd9p"; }; buildInputs = [ postgresql ]; @@ -13,5 +13,10 @@ buildPerlPackage rec { makeMakerFlags = "POSTGRES_HOME=${postgresql}"; - meta.platforms = stdenv.lib.platforms.linux; + meta = { + homepage = http://search.cpan.org/dist/DBD-Pg/; + description = "DBI PostgreSQL interface"; + license = "perl"; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix index bbe50182b90..5afa889f543 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/default.nix +++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix @@ -17,6 +17,11 @@ buildPerlPackage rec { ./external-sqlite.patch ]; + preBuild = + '' + substituteInPlace Makefile --replace -L/usr/lib "" + ''; + postInstall = '' # Prevent warnings from `strip'. diff --git a/pkgs/development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch b/pkgs/development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch new file mode 100644 index 00000000000..6b634d0d242 --- /dev/null +++ b/pkgs/development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch @@ -0,0 +1,12 @@ +diff -Naur Google-ProtocolBuffers-0.08-orig/lib/Google/ProtocolBuffers/Compiler.pm Google-ProtocolBuffers-0.08/lib/Google/ProtocolBuffers/Compiler.pm +--- Google-ProtocolBuffers-0.08-orig/lib/Google/ProtocolBuffers/Compiler.pm 2008-10-23 13:46:01.000000000 -0400 ++++ Google-ProtocolBuffers-0.08/lib/Google/ProtocolBuffers/Compiler.pm 2013-01-16 13:52:09.855063997 -0500 +@@ -16,7 +16,7 @@ + + my $grammar = <<'END_OF_GRAMMAR'; + +-proto : ++proto : + ## list of top level declarations. + ## Skip empty declarations and ";". + (message | extend | enum | import | package | option | service | syntax | ";")(s) /\Z/ diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh index df2fe853b4a..7c51bf1b591 100644 --- a/pkgs/development/perl-modules/generic/builder.sh +++ b/pkgs/development/perl-modules/generic/builder.sh @@ -33,8 +33,8 @@ postFixup() { # dependencies in the user environment (since Perl modules don't # have something like an RPATH, so the only way to find the # dependencies is to have them in the PERL5LIB variable). - if test -e $out/nix-support/propagated-build-native-inputs; then - ln -s $out/nix-support/propagated-build-native-inputs $out/nix-support/propagated-user-env-packages + if test -e $out/nix-support/propagated-native-build-inputs; then + ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages fi } diff --git a/pkgs/development/perl-modules/starman-dont-change-name.patch b/pkgs/development/perl-modules/starman-dont-change-name.patch deleted file mode 100644 index 82454cfdd16..00000000000 --- a/pkgs/development/perl-modules/starman-dont-change-name.patch +++ /dev/null @@ -1,23 +0,0 @@ -Changing the process name breaks applying libcgroup rules, so don't do it. - -diff -ru -x '*~' Starman-0.2014-orig/lib/Starman/Server.pm Starman-0.2014/lib/Starman/Server.pm ---- Starman-0.2014-orig/lib/Starman/Server.pm 2011-08-27 01:19:43.000000000 +0200 -+++ Starman-0.2014/lib/Starman/Server.pm 2011-11-25 13:30:24.570434653 +0100 -@@ -100,7 +100,7 @@ - - sub run_parent { - my $self = shift; -- $0 = "starman master " . join(" ", @{$self->{options}{argv} || []}); -+ #$0 = "starman master " . join(" ", @{$self->{options}{argv} || []}); - $self->SUPER::run_parent(@_); - } - -@@ -113,7 +113,7 @@ - DEBUG && warn "[$$] Initializing the PSGI app\n"; - $self->{app} = $self->{options}->{psgi_app_builder}->(); - } -- $0 = "starman worker " . join(" ", @{$self->{options}{argv} || []}); -+ #$0 = "starman worker " . join(" ", @{$self->{options}{argv} || []}); - } - - sub post_accept_hook { diff --git a/pkgs/development/perl-modules/template-toolkit-nix-store.patch b/pkgs/development/perl-modules/template-toolkit-nix-store.patch deleted file mode 100644 index 402f1cb41be..00000000000 --- a/pkgs/development/perl-modules/template-toolkit-nix-store.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -rc Template-Toolkit-2.20-orig/lib/Template/Provider.pm Template-Toolkit-2.20/lib/Template/Provider.pm -*** Template-Toolkit-2.20-orig/lib/Template/Provider.pm 2008-08-06 11:32:02.000000000 +0200 ---- Template-Toolkit-2.20/lib/Template/Provider.pm 2008-11-28 16:37:36.000000000 +0100 -*************** -*** 936,942 **** - sub _template_modified { - my $self = shift; - my $template = shift || return; -! return (stat( $template ))[9]; - } - - #------------------------------------------------------------------------ ---- 936,945 ---- - sub _template_modified { - my $self = shift; - my $template = shift || return; -! # Nix specific hack: timestamps of 0 (1-1-1970) should not be -! # treated as undefined, so return 1 instead. -! my $t = (stat( $template ))[9]; -! return (defined $t && $t == 0) ? 1 : $t; - } - - #------------------------------------------------------------------------ diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index 4e0b6100231..f72fbff1806 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -3,12 +3,14 @@ (http://pypi.python.org/pypi/setuptools/), which represents a large number of Python packages nowadays. */ -{ python, setuptools, wrapPython, lib }: +{ python, setuptools, wrapPython, lib, offlineDistutils, recursivePthLoader }: { name, namePrefix ? "python-" , buildInputs ? [] +, propagatedBuildInputs ? [] + , # List of packages that should be added to the PYTHONPATH # environment variable in programs built by this function. Packages # in the standard `propagatedBuildInputs' variable are also added. @@ -19,9 +21,11 @@ , installCommand ? '' - easy_install --prefix="$out" . + easy_install --always-unzip --prefix="$out" . '' - + +, preConfigure ? "true" + , buildPhase ? "true" , doCheck ? true @@ -33,8 +37,11 @@ runHook postCheck '' +, preInstall ? "" , postInstall ? "" +, meta ? {} + , ... } @ attrs: # Keep extra attributes from ATTR, e.g., `patchPhase', etc. @@ -43,26 +50,56 @@ python.stdenv.mkDerivation (attrs // { name = namePrefix + name; + # default to python's platforms and add maintainer(s) to every + # package + meta = { + platforms = python.meta.platforms; + } // meta // { + maintainers = (meta.maintainers or []) ++ [ lib.maintainers.chaoflow ]; + }; + + # checkPhase after installPhase to run tests on installed packages + phases = "unpackPhase patchPhase configurePhase buildPhase installPhase checkPhase fixupPhase distPhase"; + buildInputs = [ python wrapPython setuptools ] ++ buildInputs ++ pythonPath; - pythonPath = [ setuptools] ++ pythonPath; + propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader ]; - # XXX: Should we run `easy_install --always-unzip'? It doesn't seem - # to have a noticeable impact on small scripts. - installPhase = '' + pythonPath = [ setuptools ] ++ pythonPath; + + preConfigure = '' + PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + ${preConfigure} + ''; + + installPhase = preInstall + '' mkdir -p "$out/lib/${python.libPrefix}/site-packages" echo "installing \`${name}' with \`easy_install'..." export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" ${installCommand} + # A pth file might have been generated to load the package from + # within its own site-packages, rename this package not to + # collide with others. + eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth + if [ -e "$eapth" ]; then + # move colliding easy_install.pth to specifically named one + mv "$eapth" $(dirname "$eapth")/${name}.pth + fi + + # Remove any site.py files generated by easy_install as these + # cause collisions. If pth files are to be processed a + # corresponding site.py needs to be included in the PYTHONPATH. + rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* + ${postInstall} ''; postFixup = '' wrapPythonPrograms - + # If a user installs a Python package, she probably also wants its # dependencies in the user environment (since Python modules don't # have something like an RPATH, so the only way to find the @@ -70,5 +107,12 @@ python.stdenv.mkDerivation (attrs // { if test -e $out/nix-support/propagated-build-inputs; then ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages fi + + createBuildInputsPth build-inputs "$buildInputStrings" + for inputsfile in propagated-build-inputs propagated-native-build-inputs; do + if test -e $out/nix-support/$inputsfile; then + createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)" + fi + done ''; }) diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh index 65f3229ca7c..6b02369927b 100644 --- a/pkgs/development/python-modules/generic/wrap.sh +++ b/pkgs/development/python-modules/generic/wrap.sh @@ -37,7 +37,7 @@ _addToPythonPath() { pythonPathsSeen[$dir]=1 addToSearchPath program_PYTHONPATH $dir/lib/@libPrefix@/site-packages addToSearchPath program_PATH $dir/bin - local prop="$dir/nix-support/propagated-build-native-inputs" + local prop="$dir/nix-support/propagated-native-build-inputs" if [ -e $prop ]; then local i for i in $(cat $prop); do @@ -45,3 +45,19 @@ _addToPythonPath() { done fi } + +createBuildInputsPth() { + local category="$1" + local inputs="$2" + if [ foo"$inputs" != foo ]; then + for x in $inputs; do + if $(echo -n $x |grep -q python-recursive-pth-loader); then + continue + fi + if test -d "$x"/lib/@libPrefix@/site-packages; then + echo $x/lib/@libPrefix@/site-packages \ + >> "$out"/lib/@libPrefix@/site-packages/${name}-nix-python-$category.pth + fi + done + fi +} diff --git a/pkgs/development/python-modules/offline-distutils/default.nix b/pkgs/development/python-modules/offline-distutils/default.nix new file mode 100644 index 00000000000..269f67bf5cd --- /dev/null +++ b/pkgs/development/python-modules/offline-distutils/default.nix @@ -0,0 +1,21 @@ +# Used during module installation to prevent easy_install and python +# setup.py install/test from downloading + +{ stdenv, python }: + +stdenv.mkDerivation { + name = "python-offline-distutils-${python.version}"; + + buildInputs = [ python ]; + + unpackPhase = "true"; + installPhase = '' + dst="$out/lib/${python.libPrefix}/site-packages" + ensureDir $dst/distutils + ln -s ${python}/lib/${python.libPrefix}/distutils/* $dst/distutils/ + cat < $dst/distutils/distutils.cfg +[easy_install] +allow-hosts = None +EOF + ''; +} diff --git a/pkgs/development/python-modules/pil/default.nix b/pkgs/development/python-modules/pil/default.nix index 4cf4576c0ce..1dfdfee08fb 100644 --- a/pkgs/development/python-modules/pil/default.nix +++ b/pkgs/development/python-modules/pil/default.nix @@ -1,9 +1,9 @@ -{ fetchurl, stdenv, python, libjpeg, zlib, freetype }: +{ fetchurl, stdenv, python, buildPythonPackage, libjpeg, zlib, freetype }: let version = "1.1.7"; in -stdenv.mkDerivation { - name = "python-imaging-${version}"; +buildPythonPackage { + name = "imaging-${version}"; src = fetchurl { url = "http://effbot.org/downloads/Imaging-${version}.tar.gz"; @@ -23,7 +23,7 @@ stdenv.mkDerivation { buildPhase = "python setup.py build_ext -i"; checkPhase = "python selftest.py"; - installPhase = "python setup.py install --prefix=$out"; + #installPhase = "python setup.py install --prefix=$out"; meta = { homepage = http://www.pythonware.com/products/pil/; diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix index 8aebf1d7829..1e8ceed6878 100644 --- a/pkgs/development/python-modules/pycairo/default.nix +++ b/pkgs/development/python-modules/pycairo/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, python, pkgconfig, cairo, x11}: +{ stdenv, fetchurl, python, pkgconfig, cairo, x11 }: stdenv.mkDerivation { name = "pycairo-1.8.8"; @@ -7,5 +7,5 @@ stdenv.mkDerivation { sha256 = "0q18hd4ai4raljlvd76ylgi30kxpr2qq83ka6gzwh0ya8fcmjlig"; }; - buildInputs = [python pkgconfig cairo x11]; + buildInputs = [ python pkgconfig cairo x11 ]; } diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index 9c756c9ed64..0ad1663da65 100644 --- a/pkgs/development/python-modules/pycrypto/default.nix +++ b/pkgs/development/python-modules/pycrypto/default.nix @@ -1,7 +1,8 @@ -{ stdenv, fetchurl, python, gmp }: +{ stdenv, fetchurl, python, buildPythonPackage, gmp }: -stdenv.mkDerivation rec { +buildPythonPackage rec { name = "pycrypto-2.6"; + namePrefix = ""; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pycrypto/${name}.tar.gz"; @@ -10,14 +11,16 @@ stdenv.mkDerivation rec { buildInputs = [ python gmp ]; - buildPhase = "true"; - - installPhase = + buildPhase = '' python ./setup.py build_ext --library-dirs=${gmp}/lib - python ./setup.py install --prefix=$out ''; +# installPhase = +# '' +# python ./setup.py install --prefix=$out +# ''; + meta = { homepage = "http://www.pycrypto.org/"; description = "Python Cryptography Toolkit"; diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix index 4ef851f5b3e..5575243bd9f 100644 --- a/pkgs/development/python-modules/pygobject/default.nix +++ b/pkgs/development/python-modules/pygobject/default.nix @@ -12,16 +12,12 @@ stdenv.mkDerivation rec { buildInputs = [ python pkgconfig glib ]; + # in a "normal" setup, pygobject and pygtk are installed into the + # same site-packages: we need a pth file for both. pygtk.py would be + # used to select a specific version, in our setup it should have no + # effect, but we leave it in case somebody expects and calls it. postInstall = '' - # All python code is installed into a "gtk-2.0" sub-directory. That - # sub-directory may be useful on systems which share several library - # versions in the same prefix, i.e. /usr/local, but on Nix that directory - # is useless. Furthermore, its existence makes it very hard to guess a - # proper $PYTHONPATH that allows "import gtk" to succeed. - cd $(toPythonPath $out)/gtk-2.0 - for n in *; do - ln -s "gtk-2.0/$n" "../$n" - done + mv $out/lib/${python.libPrefix}/site-packages/{pygtk.pth,${name}.pth} ''; meta = { diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix index 81147fff17d..07d57591f1a 100644 --- a/pkgs/development/python-modules/pygtk/default.nix +++ b/pkgs/development/python-modules/pygtk/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, makeWrapper, python, pkgconfig, glib, gtk, pygobject, pycairo -, libglade ? null }: +{ stdenv, fetchurl, python, pkgconfig, glib, gtk, pygobject, pycairo +, buildPythonPackage, libglade ? null }: -stdenv.mkDerivation rec { +buildPythonPackage rec { name = "pygtk-2.22.0"; src = fetchurl { @@ -10,26 +10,35 @@ stdenv.mkDerivation rec { }; buildInputs = - [ makeWrapper python pkgconfig glib gtk ] + [ pkgconfig glib gtk ] ++ stdenv.lib.optional (libglade != null) libglade; propagatedBuildInputs = [ pygobject pycairo ]; + installCommand = "make install"; + checkPhase = stdenv.lib.optionalString (libglade == null) + '' + sed -i -e "s/glade = importModule('gtk.glade', buildDir)//" \ + tests/common.py + sed -i -e "s/, glade$//" \ + -e "s/.*testGlade.*//" \ + -e "s/.*(glade.*//" \ + tests/test_api.py + '' + '' + sed -i -e "s/sys.path.insert(0, os.path.join(buildDir, 'gtk'))//" \ + -e "s/sys.path.insert(0, buildDir)//" \ + tests/common.py + make check + ''; + # XXX: TypeError: Unsupported type: + # The check phase was not executed in the previous + # non-buildPythonPackage setup - not sure why not. + doCheck = false; + postInstall = '' rm $out/bin/pygtk-codegen-2.0 ln -s ${pygobject}/bin/pygobject-codegen-2.0 $out/bin/pygtk-codegen-2.0 - - # All python code is installed into a "gtk-2.0" sub-directory. That - # sub-directory may be useful on systems which share several library - # versions in the same prefix, i.e. /usr/local, but on Nix that directory - # is useless. Furthermore, its existence makes it very hard to guess a - # proper $PYTHONPATH that allows "import gtk" to succeed. - cd $(toPythonPath $out)/gtk-2.0 - for n in *; do - ln -s "gtk-2.0/$n" "../$n" - done - - wrapProgram $out/bin/pygtk-demo --prefix PYTHONPATH ":" \ - $(toPythonPath "${pygobject} ${pycairo} $out") + ln -s ${pygobject}/lib/${python.libPrefix}/site-packages/${pygobject.name}.pth \ + $out/lib/${python.libPrefix}/site-packages/${name}.pth ''; } diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index 0e282cf71f3..1d4fe53117c 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -2,15 +2,15 @@ a : let fetchurl = a.fetchurl; - version = a.lib.attrByPath ["version"] "0.10" a; + version = a.lib.attrByPath ["version"] "0.13" a; propagatedBuildInputs = with a; [ openssl python ]; in rec { src = fetchurl { - url = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.10.tar.gz"; - sha256 = "4514f8960389042ca2587f9cb801a13f7990387753fc678680b0c084719b5b60"; + url = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${version}.tar.gz"; + sha256 = "21e12b03abaa0e04ecc8cd9c251598f71bae11c9f385304234e4ea5618c6163b"; }; inherit propagatedBuildInputs; diff --git a/pkgs/development/python-modules/python-gudev/default.nix b/pkgs/development/python-modules/python-gudev/default.nix deleted file mode 100644 index c9105555f9d..00000000000 --- a/pkgs/development/python-modules/python-gudev/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{stdenv, fetchgit, python, autoconf, automake, libtool, pygobject, pkgconfig, udev}: - -stdenv.mkDerivation { - name = "python-gudev-147.2"; - src = fetchgit { - url = git://github.com/nzjrs/python-gudev.git; - rev = "refs/tags/147.2"; - sha256 = "5b9766fcb88855a77ac8bb416ca3b51f55ac7d82b0e189f88c59cacb11586c15"; - }; - - buildInputs = [ python autoconf automake libtool pygobject pkgconfig udev ]; - - preConfigure = '' - sed -e 's@/usr/bin/file@file@g' -i configure.ac - sh autogen.sh - ''; - - meta = { - homepage = http://www.freedesktop.org/software/systemd/gudev/; - description = "Python binding to the GUDev udev helper library."; - license = "GPLv3+"; - maintainers = with stdenv.lib.maintainers; [qknight]; - platforms = with stdenv.lib.platforms; all; - }; -} diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/python-sip/default.nix index 34daf294358..7c1eca02745 100644 --- a/pkgs/development/python-modules/python-sip/default.nix +++ b/pkgs/development/python-modules/python-sip/default.nix @@ -4,7 +4,10 @@ stdenv.mkDerivation rec { name = "sip-4.13.2"; src = fetchurl { - url = "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz"; + urls = [ + "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz" + "http://pkgs.fedoraproject.org/repo/pkgs/sip/${name}.tar.gz/5a12ea8e8a09b879ed2b3817e30fbc84/${name}.tar.gz" + ]; sha256 = "1gzff61bi22g6fkdg9iya4q2qfdkwxs19v4rhhf8x4bm7hszbhsb"; }; diff --git a/pkgs/development/python-modules/recursive-pth-loader/default.nix b/pkgs/development/python-modules/recursive-pth-loader/default.nix new file mode 100644 index 00000000000..959882be938 --- /dev/null +++ b/pkgs/development/python-modules/recursive-pth-loader/default.nix @@ -0,0 +1,20 @@ +{ stdenv, python }: + +stdenv.mkDerivation rec { + name = "python-recursive-pth-loader-1.0"; + + unpackPhase = "true"; + + buildInputs = [ python ]; + + installPhase = + '' + dst=$out/lib/${python.libPrefix}/site-packages + mkdir -p $dst + cat ${./sitecustomize.py} >> $dst/sitecustomize.py + ''; + + meta = { + description = "Enable recursive processing of pth files anywhere in sys.path"; + }; +} diff --git a/pkgs/development/python-modules/recursive-pth-loader/sitecustomize.py b/pkgs/development/python-modules/recursive-pth-loader/sitecustomize.py new file mode 100644 index 00000000000..057e779803c --- /dev/null +++ b/pkgs/development/python-modules/recursive-pth-loader/sitecustomize.py @@ -0,0 +1,46 @@ +"""Recursively load pth files in site-packages of sys.path + +- iterate over sys.path +- check for pth in dirs that end in site-packages +- ignore import statements in pth files +- add dirs listed in pth files right after current sys.path element, + they will be processed in next iteration +""" + +import os +import site +import sys + + +for path_idx, sitedir in enumerate(sys.path): + # ignore non-site-packages + if not sitedir.endswith('site-packages'): + continue + + # find pth files + try: + names = os.listdir(sitedir) + except os.error: + continue + dotpth = os.extsep + "pth" + pths = [name for name in names if name.endswith(dotpth)] + + for pth in pths: + fullname = os.path.join(sitedir, pth) + try: + f = open(fullname, "rU") + except IOError: + continue + + with f: + for n, line in enumerate(f): + if line.startswith("#"): + continue + + if line.startswith(("import ", "import\t")): + continue + + line = line.rstrip() + dir, dircase = site.makepath(sitedir, line) + if not dircase in sys.path: + sys.path.insert(path_idx+1, dir) diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix index 50b73aaf8f6..468ea50c924 100644 --- a/pkgs/development/python-modules/setuptools/default.nix +++ b/pkgs/development/python-modules/setuptools/default.nix @@ -1,7 +1,9 @@ { stdenv, fetchurl, python, wrapPython }: stdenv.mkDerivation rec { - name = "setuptools-0.6c11"; + name = "python-setuptools-" + version; + + version = "0.6c11"; src = fetchurl { url = "http://pypi.python.org/packages/source/s/setuptools/${name}.tar.gz"; diff --git a/pkgs/development/python-modules/setuptools/site.nix b/pkgs/development/python-modules/setuptools/site.nix new file mode 100644 index 00000000000..34e7b478595 --- /dev/null +++ b/pkgs/development/python-modules/setuptools/site.nix @@ -0,0 +1,16 @@ +# Propagated by buildPythonPackge to process pth files + +{ stdenv, python, setuptools }: + +stdenv.mkDerivation { + name = "python-setuptools-site-${setuptools.version}"; + + buildInputs = [ python setuptools ]; + + unpackPhase = "true"; + installPhase = '' + dst="$out/lib/${python.libPrefix}/site-packages" + ensureDir $dst + ln -s ${setuptools}/lib/${python.libPrefix}/site-packages/site.* $dst/ + ''; +} diff --git a/pkgs/development/python-modules/virtualenv-change-prefix.patch b/pkgs/development/python-modules/virtualenv-change-prefix.patch index 5093fdbead9..d3e588bd1cd 100644 --- a/pkgs/development/python-modules/virtualenv-change-prefix.patch +++ b/pkgs/development/python-modules/virtualenv-change-prefix.patch @@ -1,29 +1,32 @@ Without this patch `virtualenv --python=python2.7 .` fails with an error because it notices that the python readline.so is not in the same path as python2.7. I assume this is to avoid copying the wrong file on systems where it is possible to find incompatible libraries by accident. Adding "/nix/store" to the prefix fixes this problem. Unfortunately readline is still not available if you just run `virtualenv .`. - ---- virtualenv-1.6.4/virtualenv.py 2012-05-20 00:40:38.070649647 +0200 -+++ virtualenv-1.6.4/virtualenv.py 2012-05-20 00:45:10.596242604 +0200 -@@ -951,13 +951,7 @@ +--- virtualenv-1.8.4/virtualenv.py 2013-01-16 23:43:37.583615220 +0100 ++++ virtualenv-1.8.4/virtualenv.py 2013-01-16 23:44:47.885973431 +0100 +@@ -1135,17 +1135,7 @@ def change_prefix(filename, dst_prefix): - prefixes = [sys.prefix] - -- if sys.platform == "darwin": +- if is_darwin: - prefixes.extend(( - os.path.join("/Library/Python", sys.version[:3], "site-packages"), - os.path.join(sys.prefix, "Extras", "lib", "python"), -- os.path.join("~", "Library", "Python", sys.version[:3], "site-packages"))) +- os.path.join("~", "Library", "Python", sys.version[:3], "site-packages"), +- # Python 2.6 no-frameworks +- os.path.join("~", ".local", "lib","python", sys.version[:3], "site-packages"), +- # System Python 2.7 on OSX Mountain Lion +- os.path.join("~", "Library", "Python", sys.version[:3], "lib", "python", "site-packages"))) + prefixes = ["/nix/store", sys.prefix] if hasattr(sys, 'real_prefix'): prefixes.append(sys.real_prefix) -@@ -968,6 +962,8 @@ - _, relpath = filename.split(src_prefix, 1) - assert relpath[0] == os.sep - relpath = relpath[1:] -+ if src_prefix == "/nix/store": -+ relpath = "/".join(relpath.split("/")[1:]) +@@ -1162,6 +1152,8 @@ + if src_prefix != os.sep: # sys.prefix == "/" + assert relpath[0] == os.sep + relpath = relpath[1:] ++ if src_prefix == "/nix/store": ++ relpath = "/".join(relpath.split("/")[1:]) return join(dst_prefix, relpath) assert False, "Filename %s does not start with any of these prefixes: %s" % \ (filename, prefixes) diff --git a/pkgs/development/python-modules/zope/default.nix b/pkgs/development/python-modules/zope/default.nix deleted file mode 100644 index c01945bf472..00000000000 --- a/pkgs/development/python-modules/zope/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{stdenv, fetchurl, python}: - -stdenv.mkDerivation rec { - version = "3.4.0"; - name = "zope-${version}"; - src = fetchurl { - url = "http://www.zope.org/Products/Zope3/${version}/Zope-${version}.tgz"; - sha256 = "3e834e8749945d8fc0a67bb724f2cf0c671f04f477e24fb8edb74828e331901d"; - }; - patches = [ - ./zope_python-2.4.4.patch - ./zope_python-readline.patch - ]; - buildInputs = [python]; -} diff --git a/pkgs/development/python-modules/zope/zope_python-2.4.4.patch b/pkgs/development/python-modules/zope/zope_python-2.4.4.patch deleted file mode 100644 index 22360412964..00000000000 --- a/pkgs/development/python-modules/zope/zope_python-2.4.4.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -r 8833d4892dfc Zope-3.2.1/configure ---- a/configure Mon Aug 18 14:55:39 2008 +0200 -+++ b/configure Mon Aug 18 14:57:39 2008 +0200 -@@ -21,7 +21,7 @@ prefix="$DEFAULT_PREFIX" - - # Place the optimal target version number (as returned by sys.version) - # below --TARGET="2.4.2" -+TARGET="2.4.4" - - # Order a list of "acceptable" python version numbers (as returned by - # sys.version) below in "best" to "worst" order, not including the diff --git a/pkgs/development/python-modules/zope/zope_python-readline.patch b/pkgs/development/python-modules/zope/zope_python-readline.patch deleted file mode 100644 index 4775cfba49b..00000000000 --- a/pkgs/development/python-modules/zope/zope_python-readline.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -r 8833d4892dfc Zope-3.2.1/Dependencies/zope.publisher-Zope-3.2.1/zope.publisher/http.py ---- a/Dependencies/zope.publisher-Zope-3.2.1/zope.publisher/http.py Mon Aug 18 14:55:39 2008 +0200 -+++ b/Dependencies/zope.publisher-Zope-3.2.1/zope.publisher/http.py Mon Aug 18 16:37:02 2008 +0200 -@@ -198,7 +198,7 @@ class HTTPInputStream(object): - self.cacheStream.write(data) - return data - -- def readline(self): -+ def readline(self, size=None): - data = self.stream.readline() - self.cacheStream.write(data) - return data diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix new file mode 100644 index 00000000000..60ff5ede75a --- /dev/null +++ b/pkgs/development/qtcreator/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, qt4_for_qtcreator }: + +let + version = "2.6.0"; +in + +stdenv.mkDerivation rec { + name = "qtcreator-${version}"; + + src = fetchurl { + url = "http://origin.releases.qt-project.org/qtcreator/${version}/qt-creator-${version}-src.tar.gz"; + md5 = "9bf01098f84a0fe930b2718d11124204"; + }; + + buildInputs = [ qt4_for_qtcreator ]; + + doCheck = false; + + enableParallelBuilding = true; + + preConfigure = '' + qmake -spec linux-g++ "QT_PRIVATE_HEADERS=${qt4_for_qtcreator}/include" qtcreator.pro + ''; + + installFlags = "INSTALL_ROOT=$(out)"; + + meta = { + description = "Qt Creator is a cross-platform IDE tailored to the needs of Qt developers."; + longDescription = '' + Qt Creator is a cross-platform IDE (integrated development environment) tailored to the needs of Qt developers. + It includes features such as an advanced code editor, a visual debugger and a GUI designer. + ''; + homepage = "http://qt-project.org/wiki/Category:Tools::QtCreator"; + license = "LGPL"; + + maintainers = [ stdenv.lib.maintainers.bbenoist ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/tools/analysis/radare/lua.patch b/pkgs/development/tools/analysis/radare/lua.patch deleted file mode 100644 index 3a2ca0d505d..00000000000 --- a/pkgs/development/tools/analysis/radare/lua.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/plug/hack/Makefile b/src/plug/hack/Makefile -index b05d8dd..d6c73f9 100644 ---- a/src/plug/hack/Makefile -+++ b/src/plug/hack/Makefile -@@ -7,7 +7,6 @@ PERL_LIBS=`perl -MExtUtils::Embed -e ldopts` -lncurses - PY_CFLAGS=-I${PREFIX}/include/python2.5/ -I/usr/include/python2.5/ - PY_LIBS=-lpython2.5 - LUA_CFLAGS=-I${PREFIX}/include/lua5.1/ -I/usr/include/lua5.1/ --LUA_LIBS= - RUBY_CFLAGS=-I/usr/lib/ruby/1.8/i386-linux - RUBY_LIBS=-lruby18 - SO=${SHARED_EXT} diff --git a/pkgs/development/tools/analysis/smatch/default.nix b/pkgs/development/tools/analysis/smatch/default.nix new file mode 100644 index 00000000000..1d1bf7a818a --- /dev/null +++ b/pkgs/development/tools/analysis/smatch/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchgit, sqlite, pkgconfig, perl +, buildllvmsparse ? true +, buildc2xml ? true +, llvm ? null, libxml2 ? null +}: + +assert buildllvmsparse -> llvm != null; +assert buildc2xml -> libxml2 != null; + +stdenv.mkDerivation { + name = "smatch"; + + src = fetchgit { + url = git://repo.or.cz/smatch.git; + rev = "23656e3e578b700cbf96d043f039e6341a3ba5b9"; + sha256 = "09a44967d4cff026c67062f778e251d0b432af132e9d59a47b7d3167f379adfa"; + }; + + buildInputs = [sqlite pkgconfig perl] + ++ stdenv.lib.optional buildllvmsparse llvm + ++ stdenv.lib.optional buildc2xml libxml2; + + preBuild = + '' sed -i Makefile \ + -e "s|^PREFIX=.*|PREFIX = $out|g" + ''; + + meta = { + description = "A semantic analysis tool for C"; + homepage = "http://smatch.sourceforge.net/"; + license = "free"; /* OSL, see http://www.opensource.org */ + }; +} diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index a625de6ffdc..e4f04623ebb 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -1,16 +1,18 @@ { stdenv, fetchurl, perl, gdb }: stdenv.mkDerivation (rec { - name = "valgrind-3.7.0"; + name = "valgrind-3.8.1"; src = fetchurl { url = "http://valgrind.org/downloads/${name}.tar.bz2"; - sha256 = "1xnb4jiimscwriw3jd1lkk0m9x4glqpijj9jb4ngx08l1wrw0qjx"; + sha256 = "1nsqk70ry3221sd62s4f0njcrncppszs4xxjcak13lxyfq2y0fs7"; }; + patches = [ ./glibc-2.17.patch ]; + # Perl is needed for `cg_annotate'. # GDB is needed to provide a sane default for `--db-command'. - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin) gdb; configureFlags = diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch new file mode 100644 index 00000000000..bee1abe71f1 --- /dev/null +++ b/pkgs/development/tools/analysis/valgrind/glibc-2.17.patch @@ -0,0 +1,78 @@ +commit 3781ac11ff374b3517011c1710ec517d52f25cd2 +Author: tom +Date: Mon Jan 14 09:48:49 2013 +0000 + + Accept glibc 2.17 as valid. + + + git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13228 a5019735-40e9-0310-863c-91ae7b9d1cf9 + +diff --git a/configure.in b/configure.in +index e0fb12d..0f3b3df 100644 +--- a/configure.in ++++ b/configure.in +@@ -906,6 +906,13 @@ case "${GLIBC_VERSION}" in + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.17) ++ AC_MSG_RESULT(2.17 family) ++ AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + AC_MSG_RESULT(Darwin) + AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) +@@ -919,7 +926,7 @@ case "${GLIBC_VERSION}" in + + *) + AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16]) ++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.17]) + AC_MSG_ERROR([or Darwin libc]) + ;; + esac +diff -ur valgrind-3.8.1/config.h.in valgrind-3.8.1/config.h.in +--- valgrind-3.8.1/config.h.in 2013-01-16 17:15:33.531018561 +0100 ++++ valgrind-3.8.1/config.h.in 2013-01-16 17:19:21.000000000 +0100 +@@ -48,6 +48,9 @@ + /* Define to 1 if you're using glibc 2.16.x */ + #undef GLIBC_2_16 + ++/* Define to 1 if you're using glibc 2.17.x */ ++#undef GLIBC_2_17 ++ + /* Define to 1 if you're using glibc 2.2.x */ + #undef GLIBC_2_2 + +diff -ur valgrind-3.8.1/configure valgrind-3.8.1/configure +--- valgrind-3.8.1/configure 2013-01-16 17:15:33.563018480 +0100 ++++ valgrind-3.8.1/configure 2013-01-16 17:19:21.373643238 +0100 +@@ -6610,6 +6610,16 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.17) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.17 family" >&5 ++$as_echo "2.17 family" >&6; } ++ ++$as_echo "#define GLIBC_2_17 1" >>confdefs.h ++ ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 + $as_echo "Darwin" >&6; } +@@ -6630,7 +6640,7 @@ + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5 + $as_echo "unsupported version ${GLIBC_VERSION}" >&6; } +- as_fn_error "Valgrind requires glibc version 2.2 - 2.16" "$LINENO" 5 ++ as_fn_error "Valgrind requires glibc version 2.2 - 2.17" "$LINENO" 5 + as_fn_error "or Darwin libc" "$LINENO" 5 + ;; + esac diff --git a/pkgs/development/tools/build-managers/apache-ant/core-apache-ant.nix b/pkgs/development/tools/build-managers/apache-ant/core-apache-ant.nix deleted file mode 100644 index 668a6c4d6b5..00000000000 --- a/pkgs/development/tools/build-managers/apache-ant/core-apache-ant.nix +++ /dev/null @@ -1,12 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "core-apache-ant-1.6.5"; - realname = "apache-ant-1.6.5"; - - builder = ./core-builder.sh; - src = fetchurl { - url = http://apache.surfnet.nl/ant/binaries/apache-ant-1.6.5-bin.tar.bz2; - md5 = "26031ee1a2fd248ad0cc2e7f17c44c39"; - }; -} diff --git a/pkgs/development/tools/build-managers/apache-ant/core-builder.sh b/pkgs/development/tools/build-managers/apache-ant/core-builder.sh deleted file mode 100644 index fad5e047f94..00000000000 --- a/pkgs/development/tools/build-managers/apache-ant/core-builder.sh +++ /dev/null @@ -1,51 +0,0 @@ -source $stdenv/setup || exit 1 - -# unpack the binary distribution -tar jxf $src || exit 1 -mkdir -p $out -mv apache-ant-*/* $out || exit 1 - -# remove crap in the root directory - -for file in $out/* -do - if test -f $file ; then - rm $file - fi -done -rm -rf $out/docs - -# prevent the use of hacky scripts. This will be handled in Nix. -rm $out/bin/* || exit 1 - -# add core-ant script. This script is to be invoked with all -# appropiate variables and will try to be clever or user-friendlt=y. - -cat >> $out/bin/core-ant < -Date: Fri, 4 May 2012 10:56:38 +0700 -Subject: [PATCH] lein-pkg: require rlwrap unconditionally, unless run inside - Emacs or a dumb terminal; chmod to 755 as this is an - executable script - ---- - bin/lein-pkg | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - mode change 100644 => 100755 bin/lein-pkg - -diff --git a/bin/lein-pkg b/bin/lein-pkg -old mode 100644 -new mode 100755 -index 8563da6..1b90ebe ---- lein-pkg.orig -+++ lein-pkg -@@ -3,6 +3,11 @@ - # This variant of the lein script is meant for downstream packagers. - # It has all the cross-platform stuff stripped out as well as the - # logic for running from checkouts and self-upgrading. -+# -+# Note to packagers: -+# rlwrap is now required unless running inside Emacs or in a dumb -+# terminal (this is to improve the 'lein repl' experience). -+# Make sure that your packaging pulls in rlwrap as a dependency - - export LEIN_VERSION="1.7.1" - -@@ -103,10 +108,7 @@ fi - - # Use rlwrap if appropriate - if ([ -z $INSIDE_EMACS ] && [ "$TERM" != "dumb" ]); then -- which rlwrap > /dev/null -- if [ $? -eq 0 ]; then -- RLWRAP="rlwrap -r -m -q '\"'" # custom quote chars -- fi -+ RLWRAP="rlwrap -r -m -q '\"'" # custom quote chars - RLWRAP_CLJ_WORDS_FILE=${RLWRAP_CLJ_WORDS_FILE:-"${HOME}/.clj_completions"} - RLWRAP_CLJ_WORDS_OPTION="" - if [ -r "${RLWRAP_CLJ_WORDS_FILE}" ]; then --- -1.7.9.5 - diff --git a/pkgs/development/tools/build-managers/leiningen/lein.patch b/pkgs/development/tools/build-managers/leiningen/lein.patch deleted file mode 100644 index b62701e2519..00000000000 --- a/pkgs/development/tools/build-managers/leiningen/lein.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- lein-pkg 2012-05-04 11:02:41.524912828 +0700 -+++ lein-pkg-nix 2012-05-04 11:03:11.062543558 +0700 -@@ -76,30 +76,14 @@ - LEIN_PLUGIN_PATH="$(echo "$DEV_PLUGINS" | tr \\n :)" - LEIN_USER_PLUGIN_PATH="$(echo "$(unique_user_plugins)" | tr \\n :)" - CLASSPATH="$CLASSPATH:$LEIN_PLUGIN_PATH:$LEIN_USER_PLUGIN_PATH:test/:src/:resources/" --CLOJURE_JAR="/usr/share/java/clojure-1.2.jar:/usr/share/java/asm3.jar:/usr/share/java/asm3-commons.jar" -+CLOJURE_JAR="$(dirname $0)/../lib/*clojure-1.2.1.jar" - - # apply context specific CLASSPATH entries - if [ -f .lein-classpath ]; then - CLASSPATH="`cat .lein-classpath`:$CLASSPATH" - fi - --SHARE_JARS="ant ant-launcher classworlds clojure-1.2 clojure-contrib \ --lucene-memory maven-ant-tasks maven-artifact maven-artifact-manager \ --maven-error-diagnostics maven-model maven-settings maven-project maven-profile \ --maven-repository-metadata plexus-container-default-alpha plexus-interpolation \ --plexus-utils wagon-file wagon-http-lightweight wagon-http-shared wagon-provider-api \ --xml-apis lucene-core lucene-highlighter clucy robert-hooke lancet \ --backport-util-concurrent" # NFI why that last one is necessary --for JAR in $SHARE_JARS; do -- CLASSPATH="$CLASSPATH":"/usr/share/java/$JAR.jar" --done -- --# Do not use installed leiningen jar during self-compilation --if ! { [ "$1" = "compile" ] && -- grep -qsE 'defproject leiningen[[:space:]]+"[[:digit:].]+"' \ -- project.clj ;}; then -- CLASSPATH="$CLASSPATH":/usr/share/java/leiningen-$LEIN_VERSION.jar --fi -+CLASSPATH="$CLASSPATH:$(dirname $0)/../lib/*" - - if [ $DEBUG ]; then - echo $CLASSPATH diff --git a/pkgs/development/tools/build-managers/leiningen/lein_2.0.0.patch b/pkgs/development/tools/build-managers/leiningen/lein_2.0.0.patch new file mode 100644 index 00000000000..23f6b624776 --- /dev/null +++ b/pkgs/development/tools/build-managers/leiningen/lein_2.0.0.patch @@ -0,0 +1,4 @@ +46c47 +< LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar +--- +> LEIN_JAR=$(find $(dirname $0)/../lib -name *-standalone.jar | head -n 1) diff --git a/pkgs/development/tools/casperjs/default.nix b/pkgs/development/tools/casperjs/default.nix new file mode 100644 index 00000000000..f140f0d7862 --- /dev/null +++ b/pkgs/development/tools/casperjs/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchgit, python, phantomjs }: + +stdenv.mkDerivation rec { + name = "casperjs-1.0.0-RC5"; + + src = fetchgit { + url = "git://github.com/n1k0/casperjs.git"; + rev = "refs/tags/1.0.0-RC5"; + sha256 = "e7fd6b94b4b304416159196208dea7f6e8841a667df102eb378a698a92f0f2c7"; + }; + + patchPhase = '' + substituteInPlace bin/casperjs --replace "/usr/bin/env python" "${python}/bin/python" \ + --replace "'phantomjs'" "'${phantomjs}/bin/phantomjs'" + ''; + + installPhase = '' + mkdir -p $out/share/casperjs $out/bin + cp -a . $out/share/casperjs/. + ln -s $out/share/casperjs/bin/casperjs $out/bin + ''; + + meta = { + description = "Navigation scripting & testing utility for PhantomJS."; + longDescription = '' + CasperJS is a navigation scripting & testing utility for PhantomJS. + It eases the process of defining a full navigation scenario and provides useful high-level + functions, methods & syntaxic sugar for doing common tasks such as: + - defining & ordering navigation steps + - filling forms + - clicking links + - capturing screenshots of a page (or an area) + - making assertions on remote DOM + - logging & events + - downloading base64 encoded resources, even binary ones + - catching errors and react accordingly + - writing functional test suites, exporting results as JUnit XML (xUnit) + ''; + + homepage = http://casperjs.org; + license = stdenv.lib.licenses.mit; + + maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/tools/documentation/docutils/default.nix b/pkgs/development/tools/documentation/docutils/default.nix index 1630b0f4072..f6edcf54463 100644 --- a/pkgs/development/tools/documentation/docutils/default.nix +++ b/pkgs/development/tools/documentation/docutils/default.nix @@ -2,7 +2,7 @@ a : let fetchurl = a.fetchurl; - version = a.lib.attrByPath ["version"] "0.5" a; + version = a.lib.attrByPath ["version"] "0.10" a; buildInputs = with a; [ python pil makeWrapper ]; @@ -10,7 +10,7 @@ in rec { src = fetchurl { url = "http://prdownloads.sourceforge.net/docutils/docutils-${version}.tar.gz"; - sha256 = "03k1dakb5j1xi1xd62vqqy7dkgd1fhr4ahmvvmd5g87wxn2gjz3l"; + sha256 = "0gk0733w34zibzvi6paqqfbbajzaxajc4z5i5wpxlwv73gk281ip"; }; inherit buildInputs; diff --git a/pkgs/development/tools/documentation/doxygen/1.7.nix b/pkgs/development/tools/documentation/doxygen/1.7.nix index 86f2e8cf2b2..f530ed70e37 100644 --- a/pkgs/development/tools/documentation/doxygen/1.7.nix +++ b/pkgs/development/tools/documentation/doxygen/1.7.nix @@ -47,6 +47,6 @@ stdenv.mkDerivation { ''; maintainers = [stdenv.lib.maintainers.simons]; - platforms = if (qt4 != null) then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix; + platforms = if qt4 != null then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index 07893987bbf..047da44a793 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -47,6 +47,6 @@ stdenv.mkDerivation { ''; maintainers = [stdenv.lib.maintainers.simons]; - platforms = if (qt4 != null) then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix; + platforms = if qt4 != null then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix index ad1be726578..374002e8d6c 100644 --- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix +++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix @@ -14,5 +14,5 @@ stdenv.mkDerivation { pythonPath = [ libxml2Python ]; postInstall = "wrapPythonPrograms"; - buildNativeInputs = [ pkgconfig intltool pythonPackages.wrapPython ]; + nativeBuildInputs = [ pkgconfig intltool pythonPackages.wrapPython ]; } diff --git a/pkgs/development/tools/documentation/haddock/2.11.0.nix b/pkgs/development/tools/documentation/haddock/2.11.0.nix new file mode 100644 index 00000000000..92dccbf05a6 --- /dev/null +++ b/pkgs/development/tools/documentation/haddock/2.11.0.nix @@ -0,0 +1,18 @@ +{ cabal, alex, Cabal, filepath, ghcPaths, happy, xhtml }: + +cabal.mkDerivation (self: { + pname = "haddock"; + version = "2.11.0"; + sha256 = "0a29n6y9lmk5w78f6j8s7pg0m0k3wm7bx5r2lhk7bnzkr5f7rkcd"; + isLibrary = true; + isExecutable = true; + buildDepends = [ Cabal filepath ghcPaths xhtml ]; + buildTools = [ alex happy ]; + meta = { + homepage = "http://www.haskell.org/haddock/"; + description = "A documentation-generation tool for Haskell libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/tools/documentation/haddock/2.12.0.nix b/pkgs/development/tools/documentation/haddock/2.12.0.nix new file mode 100644 index 00000000000..39610f9a08c --- /dev/null +++ b/pkgs/development/tools/documentation/haddock/2.12.0.nix @@ -0,0 +1,18 @@ +{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml }: + +cabal.mkDerivation (self: { + pname = "haddock"; + version = "2.12.0"; + sha256 = "00kdmpa6vhn6x790641ln40v3pn7aj4ws6pq854n1iyg5ly3ridn"; + isLibrary = true; + isExecutable = true; + buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ]; + buildTools = [ alex happy ]; + meta = { + homepage = "http://www.haskell.org/haddock/"; + description = "A documentation-generation tool for Haskell libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/tools/documentation/haddock/2.13.1.nix b/pkgs/development/tools/documentation/haddock/2.13.1.nix new file mode 100644 index 00000000000..1eed852f537 --- /dev/null +++ b/pkgs/development/tools/documentation/haddock/2.13.1.nix @@ -0,0 +1,18 @@ +{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml }: + +cabal.mkDerivation (self: { + pname = "haddock"; + version = "2.13.1"; + sha256 = "0zsflbc3ayjsn542sa58zl62dd78ykr489f18sh467hrrnaj4pkf"; + isLibrary = true; + isExecutable = true; + buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ]; + buildTools = [ alex happy ]; + meta = { + homepage = "http://www.haskell.org/haddock/"; + description = "A documentation-generation tool for Haskell libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/tools/documentation/haddock/2.7.2.nix b/pkgs/development/tools/documentation/haddock/2.7.2.nix index c94b3e43b7e..0c744d62419 100644 --- a/pkgs/development/tools/documentation/haddock/2.7.2.nix +++ b/pkgs/development/tools/documentation/haddock/2.7.2.nix @@ -17,9 +17,6 @@ cabal.mkDerivation (self : { description = "A documentation-generation tool for Haskell libraries"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ - self.stdenv.lib.maintainers.andres - self.stdenv.lib.maintainers.simons - ]; + maintainers = [ self.stdenv.lib.maintainers.andres ]; }; }) diff --git a/pkgs/development/tools/documentation/haddock/2.9.2.nix b/pkgs/development/tools/documentation/haddock/2.9.2.nix index c6543936ab3..8e5b79cd519 100644 --- a/pkgs/development/tools/documentation/haddock/2.9.2.nix +++ b/pkgs/development/tools/documentation/haddock/2.9.2.nix @@ -19,7 +19,6 @@ cabal.mkDerivation (self : { platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres - self.stdenv.lib.maintainers.simons ]; }; }) diff --git a/pkgs/development/tools/documentation/xdoc/builder.sh b/pkgs/development/tools/documentation/xdoc/builder.sh deleted file mode 100644 index 4bc414ff7bf..00000000000 --- a/pkgs/development/tools/documentation/xdoc/builder.sh +++ /dev/null @@ -1,5 +0,0 @@ -source $stdenv/setup - -configureFlags="--with-aterm=$aterm --with-sglr=$sglr --with-pgen=$pgen - --with-pt-support=$ptsupport --with-asf-library=$asflibrary --with-strategoxt=$strategoxt --with-graphviz=$graphviz --with-svn=$subversion" -genericBuild diff --git a/pkgs/development/tools/documentation/xdoc/default.nix b/pkgs/development/tools/documentation/xdoc/default.nix deleted file mode 100644 index cc56d7e133e..00000000000 --- a/pkgs/development/tools/documentation/xdoc/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, strategoxt, aterm, sdf, subversion, graphviz}: - -stdenv.mkDerivation { - name = "xdoc-0.1"; - src = fetchurl { - url = http://machina.nl/xdoc/xdoc-0.1.tar.gz; - md5 = "6f601254013d5fe3d2fdbd33b827001a"; - }; - builder = ./builder.sh; - inherit aterm strategoxt subversion graphviz ; - inherit (sdf) sglr pgen ptsupport asflibrary; - buildInputs = [aterm sdf.pgen strategoxt]; -} diff --git a/pkgs/development/tools/haskell/BNFC-meta/default.nix b/pkgs/development/tools/haskell/BNFC-meta/default.nix index 1b0397ead1b..d39544342b3 100644 --- a/pkgs/development/tools/haskell/BNFC-meta/default.nix +++ b/pkgs/development/tools/haskell/BNFC-meta/default.nix @@ -2,12 +2,11 @@ cabal.mkDerivation (self: { pname = "BNFC-meta"; - version = "0.3.0.3"; - sha256 = "06k8jnb4gw96gc0ffmczbywn4q2n87zwqa0pl0ada3ldvwaagv4l"; + version = "0.4.0.1"; + sha256 = "0x31a25njbgd3r8shh7rrqa9qq66iqjhh82k538p9bd2hblg30ka"; buildDepends = [ alexMeta happyMeta haskellSrcMeta syb ]; - noHaddock = true; meta = { - description = "Deriving Quasi-Quoters from BNF Grammars"; + description = "Deriving Parsers and Quasi-Quoters from BNF Grammars"; license = self.stdenv.lib.licenses.gpl2; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix index e737a02a4ac..3cb85b86acb 100644 --- a/pkgs/development/tools/haskell/BNFC/default.nix +++ b/pkgs/development/tools/haskell/BNFC/default.nix @@ -1,14 +1,16 @@ -{ cabal, mtl }: +{ cabal, mtl, fetchurl }: cabal.mkDerivation (self: { pname = "BNFC"; - version = "2.4.2.1"; - sha256 = "0a6ic9mqkxk2gql7dzik2bhm5iikgx035wxlz8iafxf45159dl14"; - isLibrary = false; + version = "2.6.0.3"; + sha256 = "0i38rwslkvnicnlxbrxybnwkgfin04lnr4q12lcvli4ldp2ylfjq"; + isLibrary = true; isExecutable = true; buildDepends = [ mtl ]; + patches = [ (fetchurl { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "103l04ylzswgxrmpv5zy6dd0jyr96z21mdkpgk1z4prvn8wjl624"; }) ]; + patchFlags = "-p2"; meta = { - homepage = "http://www.cse.chalmers.se/research/group/Language-technology/BNFC/"; + homepage = "http://bnfc.digitalgrammars.com/"; description = "A compiler front-end generator"; license = "GPL"; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/tools/haskell/SourceGraph/default.nix b/pkgs/development/tools/haskell/SourceGraph/default.nix index 731722126ca..17d19106481 100644 --- a/pkgs/development/tools/haskell/SourceGraph/default.nix +++ b/pkgs/development/tools/haskell/SourceGraph/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "SourceGraph"; - version = "0.7.0.2"; - sha256 = "0cdspzsz15r83fjry9467z67h6vvnjh31fip6gf64k74gdjkfisl"; + version = "0.7.0.5"; + sha256 = "0lbgs5a0ivn44bmc242hynsvczvxq2snz1fyjf13mrpfx8j5n8gk"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/alex-meta/default.nix b/pkgs/development/tools/haskell/alex-meta/default.nix index 661c9c7895b..5bb298e739a 100644 --- a/pkgs/development/tools/haskell/alex-meta/default.nix +++ b/pkgs/development/tools/haskell/alex-meta/default.nix @@ -2,10 +2,9 @@ cabal.mkDerivation (self: { pname = "alex-meta"; - version = "0.3.0.3"; - sha256 = "08w7z2iq2s557vi9kp2x8qp1lwvh49skffbjm8kxrf2bn2il5q48"; + version = "0.3.0.5"; + sha256 = "0f41q5l6z1dcpfx8rxacv4f544zcw7pgvq935mnzzha9fvsxqzk4"; buildDepends = [ haskellSrcMeta QuickCheck ]; - noHaddock = true; meta = { description = "Quasi-quoter for Alex lexers"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/tools/haskell/cabal-dev/default.nix b/pkgs/development/tools/haskell/cabal-dev/default.nix new file mode 100644 index 00000000000..79385bd88a9 --- /dev/null +++ b/pkgs/development/tools/haskell/cabal-dev/default.nix @@ -0,0 +1,21 @@ +{ cabal, Cabal, cabalInstall, filepath, HTTP, mtl, network, tar +, transformers, zlib +}: + +cabal.mkDerivation (self: { + pname = "cabal-dev"; + version = "0.9.1"; + sha256 = "1brz0nw959jdyjrhjqy9sixsb316hjmw4pxxsybfl8vixsivdfh6"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + Cabal filepath HTTP mtl network tar transformers zlib + ]; + buildTools = [ cabalInstall ]; + meta = { + homepage = "http://github.com/creswick/cabal-dev"; + description = "Manage sandboxed Haskell build environments"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix index b5983dec6fb..e3b6378e3d9 100644 --- a/pkgs/development/tools/haskell/cabal2nix/default.nix +++ b/pkgs/development/tools/haskell/cabal2nix/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cabal2nix"; - version = "1.38"; - sha256 = "1kybxrkddbzr1cqpqplbflhakf9njb9hvamhdwvlanlk8985h8jg"; + version = "1.43"; + sha256 = "00blyn8hxj7d0ib7gg0a2gk36scm1isr5m4xsi9nvqay3261b068"; isLibrary = false; isExecutable = true; buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ]; diff --git a/pkgs/development/tools/haskell/happy-meta/default.nix b/pkgs/development/tools/haskell/happy-meta/default.nix index 3b9a6d4c983..a3d885c6008 100644 --- a/pkgs/development/tools/haskell/happy-meta/default.nix +++ b/pkgs/development/tools/haskell/happy-meta/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "happy-meta"; - version = "0.2.0.4"; - sha256 = "1s1inv2l2hwdlvypn6wpiadmi5y5mpcjawiqjb1hv0d8y43dpz54"; + version = "0.2.0.5"; + sha256 = "103hi87azqv11l8lq1rv0v9v88sl227g31snvkn8db6b4cfrwrxk"; buildDepends = [ haskellSrcMeta mtl ]; meta = { description = "Quasi-quoter for Happy parsers"; diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index bb61bbaa7dc..c914e9c8225 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hlint"; - version = "1.8.31"; - sha256 = "0d7m7viqf1cawbafiy4nj67hkavlxkv537qypy2vlhr502fispa4"; + version = "1.8.43"; + sha256 = "0wffswyx60qig1is3ki5asp8i4wvd3gqg2r811rw0zxwi3nrjiv6"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -14,7 +14,7 @@ cabal.mkDerivation (self: { meta = { homepage = "http://community.haskell.org/~ndm/hlint/"; description = "Source code suggestions"; - license = "GPL"; + license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; }; diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix index 4128f6b7d09..4443637def4 100644 --- a/pkgs/development/tools/haskell/hslogger/default.nix +++ b/pkgs/development/tools/haskell/hslogger/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hslogger"; - version = "1.2.0"; - sha256 = "17ipnz7zd403x2gi2086chrgcnk76304hdxr5mv4phg4rm8w226y"; + version = "1.2.1"; + sha256 = "1vfdf7i6fd4mb3rn57z3wn7bhw4z5g47f4vggb4sms5rg4zqqly5"; isLibrary = true; isExecutable = true; buildDepends = [ mtl network time ]; diff --git a/pkgs/development/tools/haskell/jailbreak-cabal/default.nix b/pkgs/development/tools/haskell/jailbreak-cabal/default.nix new file mode 100644 index 00000000000..303e7ceb2c3 --- /dev/null +++ b/pkgs/development/tools/haskell/jailbreak-cabal/default.nix @@ -0,0 +1,17 @@ +{ cabal, Cabal }: + +cabal.mkDerivation (self: { + pname = "jailbreak-cabal"; + version = "1.0"; + sha256 = "10vq592fx1i3fdqiij7daf3dmqq5c8c29ihr2y1rn2pjhkyiy4kk"; + isLibrary = false; + isExecutable = true; + buildDepends = [ Cabal ]; + meta = { + homepage = "http://github.com/peti/jailbreak-cabal"; + description = "Strip version restrictions from build dependencies in Cabal files"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.simons ]; + }; +}) diff --git a/pkgs/development/tools/haskell/splot/default.nix b/pkgs/development/tools/haskell/splot/default.nix new file mode 100644 index 00000000000..4bd47b8decd --- /dev/null +++ b/pkgs/development/tools/haskell/splot/default.nix @@ -0,0 +1,21 @@ +{ cabal, bytestringLexing, cairo, Chart, colour, HUnit, mtl +, strptime, time, vcsRevision +}: + +cabal.mkDerivation (self: { + pname = "splot"; + version = "0.3.8"; + sha256 = "188v9c070wn6gr47k5q55gsiph0lj96d96bss76gz7znknfj9rm3"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + bytestringLexing cairo Chart colour HUnit mtl strptime time + vcsRevision + ]; + meta = { + homepage = "http://www.haskell.org/haskellwiki/Splot"; + description = "A tool for visualizing the lifecycle of many concurrent multi-staged processes"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/tar/0.4.0.0.nix b/pkgs/development/tools/haskell/tar/0.4.0.1.nix similarity index 65% rename from pkgs/development/tools/haskell/tar/0.4.0.0.nix rename to pkgs/development/tools/haskell/tar/0.4.0.1.nix index 7f6b70a52e6..04257960a64 100644 --- a/pkgs/development/tools/haskell/tar/0.4.0.0.nix +++ b/pkgs/development/tools/haskell/tar/0.4.0.1.nix @@ -1,10 +1,10 @@ -{ cabal, filepath }: +{ cabal, filepath, time }: cabal.mkDerivation (self: { pname = "tar"; - version = "0.4.0.0"; - sha256 = "04qijdfyiqb64q58g0bf46qfgaxqjl3kl68x6z31cv36p3hpplx3"; - buildDepends = [ filepath ]; + version = "0.4.0.1"; + sha256 = "0vbsv7h3zgp30mlgsw156jkv1rqy5zbm98as9haf7x15hd6jf254"; + buildDepends = [ filepath time ]; meta = { description = "Reading, writing and manipulating \".tar\" archive files."; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix index f0d80e84c5a..4928c40e129 100644 --- a/pkgs/development/tools/haskell/threadscope/default.nix +++ b/pkgs/development/tools/haskell/threadscope/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "threadscope"; - version = "0.2.1"; - sha256 = "08s9fbwg33rgbqjdx7n90q83livfay9khr2ddjwj8brw8k1wkmxg"; + version = "0.2.2"; + sha256 = "07cmza391hjq77lx8m9g2287bzsh5ffka3s07fr49v6x6hivsic3"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix new file mode 100644 index 00000000000..d95c8cea03f --- /dev/null +++ b/pkgs/development/tools/haskell/timeplot/default.nix @@ -0,0 +1,23 @@ +{ cabal, bytestringLexing, cairo, Chart, colour, dataAccessor +, dataAccessorTemplate, regexTdfa, strptime, time, transformers +, vcsRevision +}: + +cabal.mkDerivation (self: { + pname = "timeplot"; + version = "1.0.19"; + sha256 = "1mwhrcjavx56z3msdf5zqvqlx5m3hbcw85f22h8p9wvfgn79aydx"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + bytestringLexing cairo Chart colour dataAccessor + dataAccessorTemplate regexTdfa strptime time transformers + vcsRevision + ]; + meta = { + homepage = "http://haskell.org/haskellwiki/Timeplot"; + description = "A tool for visualizing time series from log files"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/uuagc/cabal.nix b/pkgs/development/tools/haskell/uuagc/cabal.nix index 24eded529b3..ea981ad423b 100644 --- a/pkgs/development/tools/haskell/uuagc/cabal.nix +++ b/pkgs/development/tools/haskell/uuagc/cabal.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "uuagc-cabal"; - version = "1.0.2.0"; - sha256 = "0nvnyc6c1611rziglpp0ywqkgg9sgfi9ph33ya33k5zv3jxxh1q0"; + version = "1.0.4.0"; + sha256 = "0m6q8lfbrzcdxd923s175x0z1rnniv7gk08ninzpq16fisscr4lf"; buildDepends = [ Cabal filepath mtl uulib ]; meta = { homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome"; diff --git a/pkgs/development/tools/haskell/uuagc/default.nix b/pkgs/development/tools/haskell/uuagc/default.nix index 833189b89ac..4e3214ee1df 100644 --- a/pkgs/development/tools/haskell/uuagc/default.nix +++ b/pkgs/development/tools/haskell/uuagc/default.nix @@ -1,16 +1,12 @@ -{ cabal, filepath, haskellSrcExts, mtl, uuagcBootstrap, uuagcCabal -, uulib -}: +{ cabal, filepath, haskellSrcExts, mtl, uuagcCabal, uulib }: cabal.mkDerivation (self: { pname = "uuagc"; - version = "0.9.40.3"; - sha256 = "053p7cbis843zn0qg8imc77xnfj4kna8wwfanxbj8kcapcqvwihl"; + version = "0.9.42.2"; + sha256 = "1l7w3gimcx079giw5ri4qfr1xfi1wfj93v29r8hvs8q8a6ffjifn"; isLibrary = true; isExecutable = true; - buildDepends = [ - filepath haskellSrcExts mtl uuagcBootstrap uuagcCabal uulib - ]; + buildDepends = [ filepath haskellSrcExts mtl uuagcCabal uulib ]; meta = { homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome"; description = "Attribute Grammar System of Universiteit Utrecht"; diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix index 7c9d06baa54..91c27deb8b8 100644 --- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? true}: +{ stdenv, fetchurl, perl, autoconf, makeWrapper }: stdenv.mkDerivation rec { name = "automake-1.11.6"; @@ -19,8 +19,6 @@ stdenv.mkDerivation rec { buildInputs = [perl autoconf makeWrapper]; - inherit doCheck; - # Disable indented log output from Make, otherwise "make.test" will # fail. preCheck = "unset NIX_INDENT_MAKE"; diff --git a/pkgs/development/tools/misc/automake/automake-1.12.x.nix b/pkgs/development/tools/misc/automake/automake-1.12.x.nix index e2db84d2fc3..bd609c4a40d 100644 --- a/pkgs/development/tools/misc/automake/automake-1.12.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.12.x.nix @@ -1,7 +1,7 @@ -{stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? true}: +{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }: stdenv.mkDerivation rec { - name = "automake-1.12.2"; + name = "automake-1.12.4"; # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is # available upstream; see @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/automake/${name}.tar.xz"; - sha256 = "5fb56e918189b377a22368e19baaf70252bd85a9969ed5f8a8373f49e8faf07f"; + sha256 = "0wppdm0wfizs6nmiwlkigcmh2pn33dywdkl7b407j3pvwn622vsi"; }; buildInputs = [perl autoconf makeWrapper]; diff --git a/pkgs/development/tools/misc/automake/automake-1.13.x.nix b/pkgs/development/tools/misc/automake/automake-1.13.x.nix new file mode 100644 index 00000000000..3556b4f47aa --- /dev/null +++ b/pkgs/development/tools/misc/automake/automake-1.13.x.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }: + +stdenv.mkDerivation rec { + name = "automake-1.13.1"; + + src = fetchurl { + url = "mirror://gnu/automake/${name}.tar.xz"; + sha256 = "12yi1bzkipi7qdmkdy77pazljsa9z7q66hi6c4rq73p7hbv6rkbf"; + }; + + buildInputs = [ perl autoconf ]; + + setupHook = ./setup-hook.sh; + + # Disable indented log output from Make, otherwise "make.test" will + # fail. + preCheck = "unset NIX_INDENT_MAKE"; + inherit doCheck; + + # The test suite can run in parallel. + enableParallelBuilding = true; + + # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the + # "fixed" path in generated files! + dontPatchShebangs = true; + + meta = { + homepage = "http://www.gnu.org/software/automake/"; + description = "GNU Automake, a GNU standard-compliant makefile generator"; + license = "GPLv2+"; + + longDescription = '' + GNU Automake is a tool for automatically generating + `Makefile.in' files compliant with the GNU Coding + Standards. Automake requires the use of Autoconf. + ''; + + maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/development/tools/misc/automake/default.nix b/pkgs/development/tools/misc/automake/default.nix deleted file mode 100644 index c37a829e3bc..00000000000 --- a/pkgs/development/tools/misc/automake/default.nix +++ /dev/null @@ -1 +0,0 @@ -import ./automake-1.10.x.nix diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 353cd9f40bc..c3f9de4bc89 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, noSysDirs, zlib, cross ? null, gold ? false, bison ? null, flex2535 ? null, bc ? null, dejagnu ? null }: -let basename = "binutils-2.21.1a"; in +let basename = "binutils-2.23.1"; in stdenv.mkDerivation rec { name = basename + stdenv.lib.optionalString (cross != null) "-${cross.config}"; src = fetchurl { url = "mirror://gnu/binutils/${basename}.tar.bz2"; - sha256 = "0m7nmd7gc9d9md43wbrv65hz6lbi2crqwryzpigv19ray1lzmv6d"; + sha256 = "06bs5v5ndb4g5qx96d52lc818gkbskd1m0sz57314v887sqfbcia"; }; patches = [ @@ -14,6 +14,11 @@ stdenv.mkDerivation rec { # RUNPATH instead of RPATH on binaries. This is important because # RUNPATH can be overriden using LD_LIBRARY_PATH at runtime. ./new-dtags.patch + + # Since binutils 2.22, DT_NEEDED flags aren't copied for dynamic outputs. + # That requires upstream changes for things to work. So we can patch it to + # get the old behaviour by now. + ./dtneeded.patch ]; buildInputs = diff --git a/pkgs/development/tools/misc/binutils/dtneeded.patch b/pkgs/development/tools/misc/binutils/dtneeded.patch new file mode 100644 index 00000000000..3754ec569ee --- /dev/null +++ b/pkgs/development/tools/misc/binutils/dtneeded.patch @@ -0,0 +1,12 @@ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index 15f8ebf..f71241e 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -298,6 +298,7 @@ main (int argc, char **argv) + lang_init (); + ldemul_before_parse (); + lang_has_input_file = FALSE; ++ input_flags.add_DT_NEEDED_for_dynamic = TRUE; + parse_args (argc, argv); + + if (config.hash_table_size != 0) diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix index 041191640bd..d9be5802fa9 100644 --- a/pkgs/development/tools/misc/cflow/default.nix +++ b/pkgs/development/tools/misc/cflow/default.nix @@ -15,11 +15,10 @@ stdenv.mkDerivation rec { ''; buildInputs = [ gettext ] ++ - # We don't have Emacs/GTK/etc. on {Dar,Cyg}win. stdenv.lib.optional (! (stdenv.lib.lists.any (x: stdenv.system == x) - [ "i686-darwin" "i686-cygwin" ])) + [ "i686-cygwin" ])) emacs; doCheck = true; diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix index 0b5fa4b8d61..d31e2ec5f3b 100644 --- a/pkgs/development/tools/misc/coccinelle/default.nix +++ b/pkgs/development/tools/misc/coccinelle/default.nix @@ -1,9 +1,9 @@ -{ fetchurl, stdenv, python, ncurses, ocamlPackages, makeWrapper }: +{ fetchurl, stdenv, python, ncurses, ocamlPackages, pkgconfig, makeWrapper }: let - name = "coccinelle-1.0.0-rc12"; - sha256 = "03b8930a53623ec79dc2486e9b6a569e373958cf46074c5f1d0028c70708498d"; + name = "coccinelle-1.0.0-rc15"; + sha256 = "07fab4e17512925b958890bb13c0809797074f2e44a1107b0074bdcc156b9596"; in stdenv.mkDerivation { inherit name; @@ -15,12 +15,15 @@ in stdenv.mkDerivation { buildInputs = with ocamlPackages; [ ocaml findlib menhir - ocaml_pcre ocaml_sexplib pycaml - python ncurses makeWrapper + ocaml_pcre pycaml + python ncurses pkgconfig + makeWrapper ]; - configureFlagsArray = [ "--enable-release" ]; - + # TODO: is the generation of this wrapper truly/still needed? + # I don't have a non-NixOS system, so I cannot verify this, but shouldn't + # libpython know where to find its modules? (the path is for example in + # its Sys-module). postInstall = # On non-NixOS systems, Coccinelle would end up looking up Python modules # in the wrong directory. @@ -31,6 +34,8 @@ in stdenv.mkDerivation { done ''; + configureFlags = "--enable-release"; + meta = { description = "Coccinelle, a program to apply C code semantic patches"; diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix index 4fbce76474c..2e419f67eb0 100644 --- a/pkgs/development/tools/misc/cpphs/default.nix +++ b/pkgs/development/tools/misc/cpphs/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cpphs"; - version = "1.14"; - sha256 = "1lscgylcbbny60lx36xwm8y22jmbv23159pfn8n87kbskq6cpk0z"; + version = "1.16"; + sha256 = "1fv91s3h2s76h1hadb3mmnkg0rrfakmbfsrw6q522kshvpk2wmmp"; isLibrary = true; isExecutable = true; meta = { diff --git a/pkgs/development/tools/misc/cscope/default.nix b/pkgs/development/tools/misc/cscope/default.nix index b9d2c10f537..3a83b1ba325 100644 --- a/pkgs/development/tools/misc/cscope/default.nix +++ b/pkgs/development/tools/misc/cscope/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { configureFlags = "--with-ncurses=${ncurses}"; buildInputs = [ ncurses ]; - buildNativeInputs = [ pkgconfig emacs ]; + nativeBuildInputs = [ pkgconfig emacs ]; postInstall = '' # Install Emacs mode. @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { crossAttrs = { postInstall = ""; - propagatedBuildInputs = [ ncurses.hostDrv ]; + propagatedBuildInputs = [ ncurses.crossDrv ]; }; meta = { diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix index a46c7a695f2..565d7835f05 100644 --- a/pkgs/development/tools/misc/distcc/default.nix +++ b/pkgs/development/tools/misc/distcc/default.nix @@ -1,46 +1,77 @@ -{ stdenv, fetchurl, popt, avahi, pkgconfig, python, gtk +{ stdenv, fetchurl, popt, avahi, pkgconfig, python, gtk, runCommand, gcc , sysconfDir ? "" # set this parameter to override the default value $out/etc , static ? false }: -let name = "distcc"; - version = "3.1"; +let + name = "distcc"; + version = "3.1"; + distcc = stdenv.mkDerivation { + name = "${name}-${version}"; + src = fetchurl { + url = "http://distcc.googlecode.com/files/${name}-${version}.tar.bz2"; + sha256 = "f55dbafd76bed3ce57e1bbcdab1329227808890d90f4c724fcd2d53f934ddd89"; + }; + + buildInputs = [popt avahi pkgconfig python gtk]; + preConfigure = + '' + configureFlagsArray=( CFLAGS="-O2 -fno-strict-aliasing" + CXXFLAGS="-O2 -fno-strict-aliasing" + --mandir=$out/share/man + ${if sysconfDir == "" then "" else "--sysconfdir=${sysconfDir}"} + ${if static then "LDFLAGS=-static" else ""} + --with${if static == true || popt == null then "" else "out"}-included-popt + --with${if avahi != null then "" else "out"}-avahi + --with${if gtk != null then "" else "out"}-gtk + --without-gnome + --enable-rfc2553 + --disable-Werror # a must on gcc 4.6 + ) + installFlags="sysconfdir=$out/etc"; + ''; + patches = [ ./20-minute-io-timeout.patch ]; + + # The test suite fails because it uses hard-coded paths, i.e. /usr/bin/gcc. + doCheck = false; + + passthru = { + # A derivation that provides gcc and g++ commands, but that + # will end up calling distcc for the given cacheDir + # + # extraConfig is meant to be sh lines exporting environment + # variables like DISTCC_HOSTS, DISTCC_DIR, ... + links = extraConfig : (runCommand "distcc-links" + { inherit (gcc) langC langCC; } + '' + mkdir -p $out/bin + if [ $langC -eq 1 ]; then + cat > $out/bin/gcc << EOF + #!/bin/sh + ${extraConfig} + exec ${distcc}/bin/distcc gcc "\$@" + EOF + chmod +x $out/bin/gcc + fi + if [ $langCC -eq 1 ]; then + cat > $out/bin/g++ << EOF + #!/bin/sh + ${extraConfig} + exec ${distcc}/bin/distcc g++ "\$@" + EOF + chmod +x $out/bin/g++ + fi + ''); + }; + + meta = { + description = "a fast, free distributed C/C++ compiler"; + homepage = "http://distcc.org"; + license = "GPL"; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; + }; in - -stdenv.mkDerivation { - name = "${name}-${version}"; - src = fetchurl { - url = "http://distcc.googlecode.com/files/${name}-${version}.tar.bz2"; - sha256 = "f55dbafd76bed3ce57e1bbcdab1329227808890d90f4c724fcd2d53f934ddd89"; - }; - - buildInputs = [popt avahi pkgconfig python gtk]; - preConfigure = - '' - configureFlagsArray=( CFLAGS="-O2 -fno-strict-aliasing" - CXXFLAGS="-O2 -fno-strict-aliasing" - --mandir=$out/share/man - ${if sysconfDir == "" then "" else "--sysconfdir=${sysconfDir}"} - ${if static then "LDFLAGS=-static" else ""} - --with${if static == true || popt == null then "" else "out"}-included-popt - --with${if avahi != null then "" else "out"}-avahi - --with${if gtk != null then "" else "out"}-gtk - --without-gnome - --enable-rfc2553 - ) - installFlags="sysconfdir=$out/etc"; - ''; - patches = [ ./20-minute-io-timeout.patch ]; - - # The test suite fails because it uses hard-coded paths, i.e. /usr/bin/gcc. - doCheck = false; - - meta = { - description = "a fast, free distributed C/C++ compiler"; - homepage = "http://distcc.org"; - license = "GPL"; - - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.simons ]; - }; -} + distcc diff --git a/pkgs/development/tools/misc/distcc/masq.nix b/pkgs/development/tools/misc/distcc/masq.nix new file mode 100644 index 00000000000..117480670c3 --- /dev/null +++ b/pkgs/development/tools/misc/distcc/masq.nix @@ -0,0 +1,41 @@ +{ stdenv, gccRaw, binutils }: + +stdenv.mkDerivation { + name = "distcc-masq-${gccRaw.name}"; + + phases = [ "installPhase" ]; + installPhase = '' + ensureDir $out/bin + + bin=${gccRaw}/bin + + shopt -s nullglob + if [ -f $bin/gcc ]; then + ln -s $bin/gcc $out/bin + else + for a in $bin/*-gcc; do + ln -s $bin/*-gcc $out/bin/gcc + ln -s $bin/*-gcc $out/bin/cc + done + fi + + if [ -f $bin/g++ ]; then + ln -s $bin/g++ $out/bin + else + for a in $bin/*-g++; do + ln -sf $bin/*-g++ $out/bin/g++ + ln -sf $bin/*-g++ $out/bin/c++ + done + fi + + bbin=${binutils}/bin + if [ -f $bbin/as ]; then + ln -s $bbin/as $out/bin + else + for a in $bbin/*-as; do + ln -sf $bbin/*-as $out/bin/as + done + fi + + ''; +} diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index 61b4647552d..5a1a19068a7 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -21,14 +21,14 @@ stdenv.mkDerivation rec { # We need bzip2 in NativeInputs because otherwise we can't unpack the src, # as the host-bzip2 will be in the path. - buildNativeInputs = [m4 bison flex gettext bzip2]; + nativeBuildInputs = [m4 bison flex gettext bzip2]; buildInputs = [zlib bzip2]; crossAttrs = { /* Having bzip2 will harm, because anything using elfutils as buildInput cross-building, will not be able to run 'bzip2' */ - propagatedBuildInputs = [ zlib.hostDrv ]; + propagatedBuildInputs = [ zlib.crossDrv ]; # This program does not cross-build fine. So I only cross-build some parts # I need for the linux perf tool. diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 08fde14eb53..a9b3dec5092 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -8,11 +8,11 @@ let - basename = "gdb-7.5"; + basename = "gdb-7.5.1"; # Whether (cross-)building for GNU/Hurd. This is an approximation since - # having `stdenv ? cross' doesn't tell us if we're building `hostDrv' and - # `buildDrv'. + # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and + # `nativeDrv'. isGNU = stdenv.system == "i686-gnu" || (stdenv ? cross && stdenv.cross.config == "i586-pc-gnu"); @@ -27,12 +27,12 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/gdb/${basename}.tar.bz2"; - md5 = "24a6779a9fe0260667710de1b082ef61"; + sha256 = "084xs90545an51biyy4qd53hsw6p1k6arviq2wlz1a4z526q02q7"; }; # I think python is not a native input, but I leave it # here while I will not need it cross building - buildNativeInputs = [ texinfo python ] + nativeBuildInputs = [ texinfo python ] ++ stdenv.lib.optional isGNU mig; buildInputs = [ ncurses readline gmp mpfr expat ] @@ -51,8 +51,8 @@ stdenv.mkDerivation rec { crossAttrs = { # Do not add --with-python here to avoid cross building it. configureFlags = - '' --with-gmp=${gmp.hostDrv} --with-mpfr=${mpfr.hostDrv} --with-system-readline - --with-expat --with-libexpat-prefix=${expat.hostDrv} --without-python + '' --with-gmp=${gmp.crossDrv} --with-mpfr=${mpfr.crossDrv} --with-system-readline + --with-expat --with-libexpat-prefix=${expat.crossDrv} --without-python '' + stdenv.lib.optionalString (target != null) " --target=${target.config}"; }; diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix index 1f026f12f52..d1b0d0e376e 100644 --- a/pkgs/development/tools/misc/gnum4/default.nix +++ b/pkgs/development/tools/misc/gnum4/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { && !stdenv.isSunOS; # XXX: `test-setlocale2.sh' fails # Upstream is aware of it; it may be in the next release. - patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ]; + patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ./no-gets.patch ]; meta = { homepage = http://www.gnu.org/software/m4/; diff --git a/pkgs/development/tools/misc/gnum4/no-gets.patch b/pkgs/development/tools/misc/gnum4/no-gets.patch new file mode 100644 index 00000000000..456c08b56c3 --- /dev/null +++ b/pkgs/development/tools/misc/gnum4/no-gets.patch @@ -0,0 +1,26 @@ +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-devel/m4/files/m4-1.4.16-no-gets.patch?revision=1.1 + +https://bugs.gentoo.org/424978 + +hack until m4 pulls a newer gnulib version + +From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001 +From: Eric Blake +Date: Thu, 29 Mar 2012 13:30:41 -0600 +Subject: [PATCH] stdio: don't assume gets any more + +Gnulib intentionally does not have a gets module, and now that C11 +and glibc have dropped it, we should be more proactive about warning +any user on a platform that still has a declaration of this dangerous +interface. + +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -125,7 +125,6 @@ + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + #undef gets +-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix new file mode 100644 index 00000000000..b2a400a6189 --- /dev/null +++ b/pkgs/development/tools/misc/intltool/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, perl, perlXMLParser, gettext }: +let + s = # Generated upstream information + rec { + baseName="intltool"; + version="0.50.2"; + name="intltool-0.50.2"; + hash="01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7"; + url="https://launchpad.net/intltool/trunk/0.50.2/+download/intltool-0.50.2.tar.gz"; + sha256="01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7"; + }; + propagatedBuildInputs = [perl perlXMLParser]; + buildInputs = []; + in +stdenv.mkDerivation { + inherit (s) name version; + src = fetchurl { + inherit (s) url sha256; + }; + inherit buildInputs; + + # not needed by intltool itself but (probably) needed for its usage + propagatedBuildInputs = propagatedBuildInputs ++ [ gettext ]; + + meta = { + description = "Translation helper tool"; + homepage = "http://launchpad.net/intltool/"; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + inherit (s) version; + }; +} diff --git a/pkgs/development/tools/misc/intltool/default.upstream b/pkgs/development/tools/misc/intltool/default.upstream new file mode 100644 index 00000000000..323bf21f45a --- /dev/null +++ b/pkgs/development/tools/misc/intltool/default.upstream @@ -0,0 +1,2 @@ +attribute_name intltool +url https://launchpad.net/intltool/+download diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix index 403381af485..4c3500c65a2 100644 --- a/pkgs/development/tools/misc/libtool/libtool2.nix +++ b/pkgs/development/tools/misc/libtool/libtool2.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation (rec { sha256 = "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"; }; - buildNativeInputs = [ lzma m4 perl ]; + nativeBuildInputs = [ lzma m4 perl ]; # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index 3589ffb5a07..d5bb2b06e12 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "158iwk0pl2mfw93m1843xb7a2zb8p6lh0qim07rca6f1ff4dk764"; }; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; meta = { homepage = http://strace.sourceforge.net/; diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix new file mode 100644 index 00000000000..f09ab2af7d1 --- /dev/null +++ b/pkgs/development/tools/misc/sysbench/default.nix @@ -0,0 +1,19 @@ +{stdenv, fetchurl, mysql, libxslt, zlib, autoreconfHook }: + +stdenv.mkDerivation rec { + name = "sysbench-0.4.12"; + buildInputs = [ autoreconfHook mysql libxslt zlib ]; + src = fetchurl { + url = mirror://sourceforge/sysbench/sysbench-0.4.12.tar.gz; + sha256 = "17pa4cw7wxvlb4mba943lfs3b3jdi64mlnaf4n8jq09y35j79yl3"; + }; + preAutoreconf = '' + touch NEWS AUTHORS + ''; + + meta = { + description = "SysBench is a modular, cross-platform and multi-threaded benchmark tool."; + license = "GPLv2"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/tools/misc/texinfo/default.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix similarity index 97% rename from pkgs/development/tools/misc/texinfo/default.nix rename to pkgs/development/tools/misc/texinfo/4.13a.nix index 111f2d14200..9a41d296342 100644 --- a/pkgs/development/tools/misc/texinfo/default.nix +++ b/pkgs/development/tools/misc/texinfo/4.13a.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ ncurses ]; - buildNativeInputs = [ lzma ]; + nativeBuildInputs = [ lzma ]; # Disabled because we don't have zdiff in the stdenv bootstrap. #doCheck = true; diff --git a/pkgs/development/tools/misc/texinfo/5.0.nix b/pkgs/development/tools/misc/texinfo/5.0.nix new file mode 100644 index 00000000000..a4fb2e9b468 --- /dev/null +++ b/pkgs/development/tools/misc/texinfo/5.0.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, ncurses, perl }: + +stdenv.mkDerivation rec { + name = "texinfo-5.0"; + + src = fetchurl { + url = "mirror://gnu/texinfo/${name}.tar.xz"; + sha256 = "1p34f68h9ggfj6ckgj0p62qlj7pmz3ha3vc91kh4hr44pnwm1pla"; + }; + + buildInputs = [ ncurses perl ]; + + doCheck = true; + + meta = { + homepage = "http://www.gnu.org/software/texinfo/"; + description = "GNU Texinfo, the GNU documentation system"; + license = stdenv.lib.licenses.gpl3Plus; + + longDescription = '' + Texinfo is the official documentation format of the GNU project. + It was invented by Richard Stallman and Bob Chassell many years + ago, loosely based on Brian Reid's Scribe and other formatting + languages of the time. It is used by many non-GNU projects as + well. + + Texinfo uses a single source file to produce output in a number + of formats, both online and printed (dvi, html, info, pdf, xml, + etc.). This means that instead of writing different documents + for online information and another for a printed manual, you + need write only one document. And when the work is revised, you + need revise only that one document. The Texinfo system is + well-integrated with GNU Emacs. + ''; + }; +} diff --git a/pkgs/development/tools/misc/xxdiff/default.nix b/pkgs/development/tools/misc/xxdiff/default.nix index 1a44cd4bcbf..461c602a886 100644 --- a/pkgs/development/tools/misc/xxdiff/default.nix +++ b/pkgs/development/tools/misc/xxdiff/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "7ae7d81becc25b1adabc9383bb5b9005dddb31510cdc404ce8a0d6ff6c3dc47e"; }; - buildNativeInputs = [ flex bison qt4 ]; + nativeBuildInputs = [ flex bison qt4 ]; buildInputs = [ qt4 ]; diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix new file mode 100644 index 00000000000..d7a203ad3f4 --- /dev/null +++ b/pkgs/development/tools/neoload/default.nix @@ -0,0 +1,93 @@ +{ stdenv, fetchurl, writeTextFile, jre, makeWrapper, licenseAccepted ? false }: + +# If you happen to use this software on the XMonad window manager, you will have issues with +# grey windows, no resizing, menus not showing and other glitches. +# This can be fixed by setting a different WM name: +# http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions#Using_SetWMName + +if !licenseAccepted then throw '' + You have to accept the neoload EULA at + https://www.neotys.com/documents/legal/eula/neoload/eula_en.html + by setting nixpkgs config option 'neoload.accept_license = true'; + '' +else assert licenseAccepted; + +# the installer is very picky and demands 1.7.0.07 +let dotInstall4j = writeTextFile { name = "dot-install4j"; text = '' + JRE_VERSION ${jre} 1 7 0 7 + JRE_INFO ${jre} 94 + ''; }; + + responseVarfile = writeTextFile { name = "response.varfile"; text = '' + sys.programGroupDisabled$Boolean=false + sys.component.Monitor\ Agent$Boolean=true + sys.component.Common$Boolean=true + sys.component.Controller$Boolean=true + sys.languageId=en + sys.component.Load\ Generator$Boolean=true + sys.installationTypeId=Controller + sys.installationDir=INSTALLDIR/lib/neoload + sys.symlinkDir=INSTALLDIR/bin + ''; }; + +in stdenv.mkDerivation rec { + name = "neoload-4.1.1"; + + src = fetchurl ( + if stdenv.system == "x86_64-linux" then + { url = http://www.neotys.com/documents/download/neoload/v4.1/neoload_4_1_1_linux_x64.sh; + sha256 = "1gik80pvrj95jcpvqk16alvldf2zc604zn3xz3nszgmpv9dgmjk6"; } + else + { url = http://www.neotys.com/documents/download/neoload/v4.1/neoload_4_1_1_linux_x86.sh; + sha256 = "1m42xqy2gsk4khcaps287b4bsamn14grcy8wdz07hk8wvcfncd3d"; } ); + + buildInputs = [ makeWrapper ]; + phases = [ "installPhase" ]; + + # TODO: load generator / monitoring agent only builds + + installPhase = '' + mkdir -p $out/lib/neoload + ln -s ${jre} $out/lib/neoload/jre + + # the installer wants to use its internal JRE + # disable this. The extra spaces are needed because the installer carries + # a binary payload, so should not change in size + sed -e 's/^if \[ -f jre.tar.gz/if false /' $src > installer + chmod a+x installer + + cp ${dotInstall4j} .install4j + chmod u+w .install4j + + sed -e "s|INSTALLDIR|$out|" ${responseVarfile} > response.varfile + + export HOME=`pwd` + export INSTALL4J_JAVA_HOME=${jre} + bash -ic './installer -q -varfile response.varfile' + + for i in $out/bin/*; do + wrapProgram $i --run 'cp ${dotInstall4j} ~/.install4j' \ + --run 'chmod u+w ~/.install4j' + done + + mkdir -p $out/share/applications + for i in $out/lib/neoload/*.desktop; do + name=$(basename "$i") + sed -e 's|/lib/neoload/bin|/bin|' "$i" > "$out/share/applications/$name" + done + rm $out/lib/neoload/*.desktop $out/lib/neoload/uninstall + + ''; + + meta = { + description = "load testing software for Web applications to realistically simulate user activity and analyze server behavior."; + + homepage = https://www.neotys.com/product/overview-neoload.html; + + # https://www.neotys.com/documents/legal/eula/neoload/eula_en.html + license = stdenv.lib.licenses.proprietary; + + maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix index 315bca38f36..74b3368293c 100644 --- a/pkgs/development/tools/ocaml/camlp5/default.nix +++ b/pkgs/development/tools/ocaml/camlp5/default.nix @@ -2,28 +2,18 @@ let ocaml_version = (builtins.parseDrvName ocaml.name).version; - pname = "camlp5"; - version = "6.02.3"; - webpage = http://pauillac.inria.fr/~ddr/camlp5/; metafile = ./META; in stdenv.mkDerivation { - name = "${pname}${if transitional then "_transitional" else ""}-${version}"; + name = "camlp5${if transitional then "_transitional" else ""}-6.06"; src = fetchurl { - url = "${webpage}/distrib/src/${pname}-${version}.tgz"; - sha256 = "1z9bwh267117br0vlhirv9yy2niqp2n25zfnl14wg6kgg9bqx7rj"; + url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.06.tgz; + sha256 = "763f89ee6cde4ca063a50708c3fe252d55ea9f8037e3ae9801690411ea6180c5"; }; - patches = fetchurl { - url = "${webpage}/distrib/src/patch-${version}-1"; - sha256 = "159qpvr07mnn72yqwx24c6mw7hs6bl77capsii7apg9dcxar8w7v"; - }; - - patchFlags = "-p 0"; - buildInputs = [ ocaml ]; prefixKey = "-prefix "; @@ -41,8 +31,8 @@ stdenv.mkDerivation { Camlp5 is a preprocessor and pretty-printer for OCaml programs. It also provides parsing and printing tools. ''; - homepage = "${webpage}"; - license = "BSD"; + homepage = http://pauillac.inria.fr/~ddr/camlp5/; + license = stdenv.lib.licenses.bsd3; platforms = ocaml.meta.platforms; maintainers = [ stdenv.lib.maintainers.z77z diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix index 3170712b9ba..aee0040f815 100644 --- a/pkgs/development/tools/ocaml/findlib/default.nix +++ b/pkgs/development/tools/ocaml/findlib/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { buildInputs = [m4 ncurses ocaml]; - patches = [ ./ldconf.patch ]; + patches = [ ./ldconf.patch ./install_topfind.patch ]; dontAddPrefix=true; @@ -24,7 +24,6 @@ stdenv.mkDerivation { -mandir $out/share/man -sitelib $out/lib/ocaml/${ocaml_version}/site-lib -config $out/etc/findlib.conf - -no-topfind ) ''; diff --git a/pkgs/development/tools/ocaml/findlib/install_topfind.patch b/pkgs/development/tools/ocaml/findlib/install_topfind.patch new file mode 100644 index 00000000000..4729885bcef --- /dev/null +++ b/pkgs/development/tools/ocaml/findlib/install_topfind.patch @@ -0,0 +1,12 @@ +--- findlib-1.3.3/src/findlib/Makefile ++++ findlib-1.3.3/src/findlib/Makefile +@@ -82,7 +82,7 @@ clean: + install: all + mkdir -p "$(prefix)$(OCAML_SITELIB)/$(NAME)" + mkdir -p "$(prefix)$(OCAMLFIND_BIN)" +- test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_CORE_STDLIB)" ++ test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_SITELIB)" + files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib.cmxa findlib.a META` && \ + cp $$files "$(prefix)$(OCAML_SITELIB)/$(NAME)" + f="ocamlfind$(EXEC_SUFFIX)"; { test -f ocamlfind_opt$(EXEC_SUFFIX) && f="ocamlfind_opt$(EXEC_SUFFIX)"; }; \ + diff --git a/pkgs/development/tools/parsing/Ebnf2ps/default.nix b/pkgs/development/tools/parsing/Ebnf2ps/default.nix index 81815500c61..f1964e815f6 100644 --- a/pkgs/development/tools/parsing/Ebnf2ps/default.nix +++ b/pkgs/development/tools/parsing/Ebnf2ps/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Ebnf2ps"; - version = "1.0.10"; - sha256 = "0xim32bnfapfs53lvmdz2af08rqd15lp5b0rh6yjqm7n1g2061zs"; + version = "1.0.11"; + sha256 = "0n0maihalnrks3l7ay1i16p6i7f69xv33jxhlsyshzck0v64qivb"; isLibrary = false; isExecutable = true; buildTools = [ happy ]; diff --git a/pkgs/development/tools/parsing/bison/bison-1.875.nix b/pkgs/development/tools/parsing/bison/bison-1.875.nix deleted file mode 100644 index 3ee12a252ce..00000000000 --- a/pkgs/development/tools/parsing/bison/bison-1.875.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, m4}: - -assert m4 != null; - -stdenv.mkDerivation { - name = "bison-1.875"; - src = fetchurl { - url = mirror://gnu/bison/bison-1.875.tar.bz2; - md5 = "b7f8027b249ebd4dd0cc948943a71af0"; - }; - buildInputs = [m4]; - passthru = { glrSupport = true; }; -} diff --git a/pkgs/development/tools/parsing/bison/bison-2.3.nix b/pkgs/development/tools/parsing/bison/bison-2.3.nix deleted file mode 100644 index fcf4ed10795..00000000000 --- a/pkgs/development/tools/parsing/bison/bison-2.3.nix +++ /dev/null @@ -1,38 +0,0 @@ -{stdenv, fetchurl, m4}: - -assert m4 != null; - -stdenv.mkDerivation { - name = "bison-2.3"; - src = fetchurl { - url = mirror://gnu/bison/bison-2.3.tar.bz2; - md5 = "c18640c6ec31a169d351e3117ecce3ec"; - }; - - buildNativeInputs = [m4]; - propagatedBuildInputs = [m4]; - - meta = { - description = "GNU Bison, a Yacc-compatible parser generator"; - - longDescription = '' - Bison is a general-purpose parser generator that converts an - annotated context-free grammar into an LALR(1) or GLR parser for - that grammar. Once you are proficient with Bison, you can use - it to develop a wide range of language parsers, from those used - in simple desk calculators to complex programming languages. - - Bison is upward compatible with Yacc: all properly-written Yacc - grammars ought to work with Bison with no change. Anyone - familiar with Yacc should be able to use Bison with little - trouble. You need to be fluent in C or C++ programming in order - to use Bison. - ''; - - homepage = http://www.gnu.org/software/bison/; - - license = "GPLv2+"; - }; - - passthru = { glrSupport = true; }; -} diff --git a/pkgs/development/tools/parsing/bison/bison-2.4.nix b/pkgs/development/tools/parsing/bison/bison-2.4.nix deleted file mode 100644 index a79a5e96381..00000000000 --- a/pkgs/development/tools/parsing/bison/bison-2.4.nix +++ /dev/null @@ -1,40 +0,0 @@ -{stdenv, fetchurl, m4}: - -stdenv.mkDerivation rec { - name = "bison-2.4.3"; - - src = fetchurl { - url = "mirror://gnu/bison/${name}.tar.bz2"; - sha256 = "019s3pdzggb71g7p7dgajhh53gh0h6nfl4yrzrs0jzsc37ph4lwk"; - }; - - buildNativeInputs = [m4]; - - doCheck = true; - - meta = { - description = "GNU Bison, a Yacc-compatible parser generator"; - - longDescription = '' - Bison is a general-purpose parser generator that converts an - annotated context-free grammar into an LALR(1) or GLR parser for - that grammar. Once you are proficient with Bison, you can use - it to develop a wide range of language parsers, from those used - in simple desk calculators to complex programming languages. - - Bison is upward compatible with Yacc: all properly-written Yacc - grammars ought to work with Bison with no change. Anyone - familiar with Yacc should be able to use Bison with little - trouble. You need to be fluent in C or C++ programming in order - to use Bison. - ''; - - homepage = http://www.gnu.org/software/bison/; - - license = "GPLv3+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; - - passthru = { glrSupport = true; }; -} diff --git a/pkgs/development/tools/parsing/bison/bison-2.5.nix b/pkgs/development/tools/parsing/bison/bison-2.5.nix deleted file mode 100644 index ea50b859020..00000000000 --- a/pkgs/development/tools/parsing/bison/bison-2.5.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ stdenv, fetchurl, m4, perl }: - -stdenv.mkDerivation rec { - name = "bison-2.5"; - - src = fetchurl { - url = "mirror://gnu/bison/${name}.tar.bz2"; - sha256 = "1f1rai3v6k6xjii94964iq0alhc2hxwapqa363nfj8rbxvv0sdqa"; - }; - - buildNativeInputs = [ m4 ] - ++ stdenv.lib.optional doCheck perl; - propagatedBuildInputs = [ m4 ]; - - M4 = "${m4}/bin/m4"; - - doCheck = true; - - meta = { - description = "GNU Bison, a Yacc-compatible parser generator"; - - longDescription = '' - Bison is a general-purpose parser generator that converts an - annotated context-free grammar into an LALR(1) or GLR parser for - that grammar. Once you are proficient with Bison, you can use - it to develop a wide range of language parsers, from those used - in simple desk calculators to complex programming languages. - - Bison is upward compatible with Yacc: all properly-written Yacc - grammars ought to work with Bison with no change. Anyone - familiar with Yacc should be able to use Bison with little - trouble. You need to be fluent in C or C++ programming in order - to use Bison. - ''; - - homepage = http://www.gnu.org/software/bison/; - - license = "GPLv3+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; - - passthru = { glrSupport = true; }; -} diff --git a/pkgs/development/tools/parsing/bison/bison-2.6.nix b/pkgs/development/tools/parsing/bison/default.nix similarity index 87% rename from pkgs/development/tools/parsing/bison/bison-2.6.nix rename to pkgs/development/tools/parsing/bison/default.nix index ea43d30410e..b397a22443a 100644 --- a/pkgs/development/tools/parsing/bison/bison-2.6.nix +++ b/pkgs/development/tools/parsing/bison/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, m4, perl }: stdenv.mkDerivation rec { - name = "bison-2.6.2"; + name = "bison-2.6.5"; src = fetchurl { url = "mirror://gnu/bison/${name}.tar.xz"; - sha256 = "79503f80397c30ac81b62eca5ffeaccaed72fdfeddb76257efcf8c3ca24be03d"; + sha256 = "8640d5b51aad462db6863711f333a9159836853e0b1e79fdef708c6efb5cd52b"; }; - buildNativeInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl; + nativeBuildInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl; propagatedBuildInputs = [ m4 ]; doCheck = true; diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.35.nix b/pkgs/development/tools/parsing/flex/flex-2.5.35.nix index 66ece227c92..21180e7d185 100644 --- a/pkgs/development/tools/parsing/flex/flex-2.5.35.nix +++ b/pkgs/development/tools/parsing/flex/flex-2.5.35.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { sha256 = "0ysff249mwhq0053bw3hxh58djc0gy7vjan2z1krrf9n5d5vvv0b"; }; buildInputs = [yacc]; - propagatedBuildNativeInputs = [m4]; + propagatedNativeBuildInputs = [m4]; crossAttrs = { preConfigure = '' diff --git a/pkgs/development/tools/parsing/happy/1.18.10.nix b/pkgs/development/tools/parsing/happy/1.18.10.nix new file mode 100644 index 00000000000..d342d3381c8 --- /dev/null +++ b/pkgs/development/tools/parsing/happy/1.18.10.nix @@ -0,0 +1,18 @@ +{ cabal, mtl, perl }: + +cabal.mkDerivation (self: { + pname = "happy"; + version = "1.18.10"; + sha256 = "0jq6p5vvdh4wbam80q2d6j2fa6bmbgnbmqk1w9904x06g7vj1jf1"; + isLibrary = false; + isExecutable = true; + buildDepends = [ mtl ]; + buildTools = [ perl ]; + meta = { + homepage = "http://www.haskell.org/happy/"; + description = "Happy is a parser generator for Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix new file mode 100644 index 00000000000..b7ed4fb8934 --- /dev/null +++ b/pkgs/development/tools/parsing/re2c/default.nix @@ -0,0 +1,13 @@ +{stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "re2c-0.13.5"; + src = fetchurl { + url = mirror://sourceforge/re2c/re2c/0.13.5/re2c-0.13.5.tar.gz; + sha256 = "1336c54b3cacjxg3grxdraq6a00yidr04z90605fhxglk89rbagk"; + }; + + meta = { + description = "Re2c is a tool for writing very fast and very flexible scanners."; + }; +} diff --git a/pkgs/development/tools/parsing/toolbuslib/toolbuslib-0.5.1.nix b/pkgs/development/tools/parsing/toolbuslib/toolbuslib-0.5.1.nix deleted file mode 100644 index 4b93aa24baf..00000000000 --- a/pkgs/development/tools/parsing/toolbuslib/toolbuslib-0.5.1.nix +++ /dev/null @@ -1,11 +0,0 @@ -{stdenv, fetchurl, aterm}: - -stdenv.mkDerivation { - name = "toolbuslib-0.5.1"; - src = fetchurl { - url = http://www.cwi.nl/projects/MetaEnv/toolbuslib/toolbuslib-0.5.1.tar.gz; - md5 = "1c7c7cce870f813bef60bbffdf061c90"; - }; - buildInputs = [aterm]; -} - diff --git a/pkgs/development/tools/parsing/toolbuslib/toolbuslib-0.6.nix b/pkgs/development/tools/parsing/toolbuslib/toolbuslib-0.6.nix deleted file mode 100644 index c49ac9f0663..00000000000 --- a/pkgs/development/tools/parsing/toolbuslib/toolbuslib-0.6.nix +++ /dev/null @@ -1,11 +0,0 @@ -{stdenv, fetchurl, aterm}: - -stdenv.mkDerivation { - name = "toolbuslib-0.6"; - src = fetchurl { - url = http://www.cwi.nl/projects/MetaEnv/toolbuslib/toolbuslib-0.6.tar.gz; - md5 = "e117c574b428408ad172b1ad904ff430"; - }; - buildInputs = [aterm]; -} - diff --git a/pkgs/development/tools/phantomjs/default.nix b/pkgs/development/tools/phantomjs/default.nix new file mode 100644 index 00000000000..5d9433cc5ca --- /dev/null +++ b/pkgs/development/tools/phantomjs/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchurl, upx, freetype, fontconfig }: + +assert stdenv.lib.elem stdenv.system [ "i686-linux" "x86_64-linux" ]; + +stdenv.mkDerivation rec { + name = "phantomjs-1.7.0"; + + # I chose to use the binary build for now. + # The source version is quite nasty to compile + # because it has bundled a lot of external libraries (like QT and Webkit) + # and no easy/nice way to use the system versions of these + + src = if stdenv.system == "i686-linux" then + fetchurl { + url = "http://phantomjs.googlecode.com/files/${name}-linux-i686.tar.bz2"; + sha256 = "045d80lymjxnsssa0sgp5pgkahm651jk69ibk3mjczk3ykc1k91f"; + } + else # x86_64-linux + fetchurl { + url = "http://phantomjs.googlecode.com/files/${name}-linux-x86_64.tar.bz2"; + sha256 = "1m14czhi3b388didn0a881glsx8bnsg9gnxgj5lghr4l5mgqyrd7"; + }; + + nativeBuildInputs = stdenv.lib.optional (stdenv.system == "x86_64-linux") upx; + + buildPhase = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") '' + upx -d bin/phantomjs + '' + '' + patchelf \ + --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${freetype}/lib:${fontconfig}/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib \ + bin/phantomjs + ''; + + dontStrip = true; + + installPhase = '' + mkdir -p $out/share/doc/phantomjs + cp -a bin $out + cp -a ChangeLog examples LICENSE.BSD README.md third-party.txt $out/share/doc/phantomjs + ''; + + meta = { + description = "Headless WebKit with JavaScript API"; + longDescription = '' + PhantomJS is a headless WebKit with JavaScript API. + It has fast and native support for various web standards: + DOM handling, CSS selector, JSON, Canvas, and SVG. + + PhantomJS is an optimal solution for: + - Headless Website Testing + - Screen Capture + - Page Automation + - Network Monitoring + ''; + + homepage = http://phantomjs.org/; + license = stdenv.lib.licenses.bsd3; + + maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; + platforms = ["i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix index 154561e27e1..b6750f88937 100644 --- a/pkgs/development/tools/profiling/sysprof/default.nix +++ b/pkgs/development/tools/profiling/sysprof/default.nix @@ -1,44 +1,24 @@ -{ fetchurl, stdenv, kernel, binutils +{ fetchurl, stdenv, binutils , pkgconfig, gtk, glib, pango, libglade }: stdenv.mkDerivation rec { - name = "sysprof-1.0.12-${kernel.version}"; + name = "sysprof-1.2.0"; src = fetchurl { - url = "http://www.daimi.au.dk/~sandmann/sysprof/sysprof-1.0.12.tar.gz"; - sha256 = "0f0z1dh97swlrkw3cbv5k2jhy5rk7wxv55hp7yhysw3idgp8wbmz"; + url = "http://www.sysprof.com/sysprof-1.2.0.tar.gz"; + sha256 = "1wb4d844rsy8qjg3z5m6rnfm72da4xwzrrkkb1q5r10sq1pkrw5s"; }; buildInputs = [ binutils pkgconfig gtk glib pango libglade ]; - patches = [ ./configure.patch ]; - - preConfigure = '' - kernelVersion=$(cd "${kernel}/lib/modules" && echo *) - echo "assuming Linux kernel version \`$kernelVersion'" - - sed -i "module/Makefile" \ - -e"s|^[[:blank:]]*KDIR[[:blank:]]*:=.*$|KDIR := ${kernel}/lib/modules/$kernelVersion/build|g ; - s|\$(KMAKE) modules_install|install sysprof-module.ko $out/share/sysprof/module|g ; - s|\\[ -e /sbin/depmod.*$|true|g" - - # XXX: We won't run `depmod' after installing the module. - ''; - - configureFlags = "--enable-kernel-module"; - - preInstall = '' - mkdir -p "$out/share/sysprof/module" - ''; - meta = { - homepage = http://www.daimi.au.dk/~sandmann/sysprof/; + homepage = http://sysprof.com/; description = "Sysprof, a system-wide profiler for Linux"; license = "GPLv2+"; longDescription = '' - Sysprof is a sampling CPU profiler for Linux that uses a kernel - module to profile the entire system, not just a single + Sysprof is a sampling CPU profiler for Linux that uses the perf_event_open + system call to profile the entire system, not just a single application. Sysprof handles shared libraries and applications do not need to be recompiled. In fact they don't even have to be restarted. diff --git a/pkgs/development/tools/pydb/default.nix b/pkgs/development/tools/pydb/default.nix index 7aa2d57955f..23f0dea4453 100644 --- a/pkgs/development/tools/pydb/default.nix +++ b/pkgs/development/tools/pydb/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "pydb-1.26"; src = fetchurl { - url = "mirror://sourceforge.net/sourceforge/bashdb/pydb-1.26.tar.bz2"; + url = "mirror://sourceforge/sourceforge/bashdb/pydb-1.26.tar.bz2"; sha256 = "1wlkz1hd5d4gkzhkjkzcm650c1lchj28hj36jx96mklglm41h4q1"; }; diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix index 98136709170..e90e9446846 100644 --- a/pkgs/development/web/nodejs/build-node-package.nix +++ b/pkgs/development/web/nodejs/build-node-package.nix @@ -1,7 +1,16 @@ -{ stdenv, nodejs }: +{ stdenv, runCommand, nodejs, neededNatives}: -args @ { src, deps, ... }: +args @ { src, deps ? [], flags ? [], ... }: +with stdenv.lib; + +let npmFlags = concatStringsSep " " (map (v: "--${v}") flags); + sources = runCommand "node-sources" {} '' + tar xf ${nodejs.src} + mv *node* $out + ''; + +in stdenv.mkDerivation ({ unpackPhase = "true"; @@ -17,10 +26,12 @@ stdenv.mkDerivation ({ buildPhase = '' runHook preBuild - ${nodejs}/bin/npm --registry http://www.example.com install ${src} + ${nodejs}/bin/npm --registry http://www.example.com --nodedir=${sources} install ${src} ${npmFlags} runHook postBuild ''; + nativeBuildInputs = neededNatives; + installPhase = '' runHook preInstall mkdir $out diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix index 75e0df0e89e..7f1aafa64f7 100644 --- a/pkgs/development/web/nodejs/default.nix +++ b/pkgs/development/web/nodejs/default.nix @@ -1,21 +1,12 @@ -{ stdenv, fetchurl, openssl, python, zlib, v8, linkV8Headers ? false, utillinux }: - -let - - espipe_patch = fetchurl { - url = https://github.com/joyent/libuv/commit/0ac2fdc55455794e057e4999a2e785ca8fbfb1b2.patch; - sha256 = "0mqgbsz23b3zp19dwk12ys14b031hssmlp40dylb7psj937qcpzi"; - }; - -in +{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux }: stdenv.mkDerivation rec { - version = "0.8.8"; + version = "0.8.15"; name = "nodejs-${version}"; src = fetchurl { url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz"; - sha256 = "0cri5r191l5pw8a8pf3gs7hfjm3rrz6kdnm3l8wghmp9p12p0aq9"; + sha256 = "1ccjaw0lqspnrmzcb9jbnh1mf74ny7874m2q4vz83q7kdnf66n0p"; }; configureFlags = [ @@ -26,24 +17,22 @@ stdenv.mkDerivation rec { "--shared-v8-libpath=${v8}/lib" ]; - patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch; + #patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch; prePatch = '' sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf} configure - pushd deps/uv - patch -p 1 < ${espipe_patch} - popd ''; postInstall = '' + sed -e 's|^#!/usr/bin/env node$|#!'$out'/bin/node|' -i $out/lib/node_modules/npm/bin/npm-cli.js - '' + stdenv.lib.optionalString linkV8Headers '' # helps binary npms - ln -s ${v8}/include/* $out/include '' + stdenv.lib.optionalString stdenv.isDarwin '' install_name_tool -change libv8.dylib ${v8}/lib/libv8.dylib $out/bin/node ''; buildInputs = [ python openssl v8 zlib ] ++ stdenv.lib.optional stdenv.isLinux utillinux; + + setupHook = ./setup-hook.sh; meta = with stdenv.lib; { description = "Event-driven I/O framework for the V8 JavaScript engine"; diff --git a/pkgs/development/web/nodejs/setup-hook.sh b/pkgs/development/web/nodejs/setup-hook.sh new file mode 100644 index 00000000000..c2888471044 --- /dev/null +++ b/pkgs/development/web/nodejs/setup-hook.sh @@ -0,0 +1,5 @@ +addNodePath () { + addToSearchPath NODE_PATH $1/node_modules +} + +envHooks=(${envHooks[@]} addNodePath) diff --git a/pkgs/development/web/plone/default.nix b/pkgs/development/web/plone/default.nix new file mode 100644 index 00000000000..b53254d2968 --- /dev/null +++ b/pkgs/development/web/plone/default.nix @@ -0,0 +1,10151 @@ + +{ pkgs, python, buildPythonPackage }: + +let plone42Packages = python.modules // rec { + inherit python; + inherit (pkgs) fetchurl stdenv; + + + + accesscontrol = buildPythonPackage rec { + name = "AccessControl-2.13.11"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/A/AccessControl/${name}.zip"; + md5 = "7e622d99fb17914b4708d26f245cb696"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + acquisition = buildPythonPackage rec { + name = "Acquisition-2.13.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/A/Acquisition/${name}.zip"; + md5 = "8c33160c157b50649e2b2b3224622579"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + archetypes_kss = buildPythonPackage rec { + name = "archetypes.kss-1.7.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/a/archetypes.kss/${name}.zip"; + md5 = "a8502140123b74f1b7ed4f36d3e56ff3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + archetypes_querywidget = buildPythonPackage rec { + name = "archetypes.querywidget-1.0.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/a/archetypes.querywidget/${name}.zip"; + md5 = "cbe134f2806191fd35066bbb7c85bfcc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + archetypes_referencebrowserwidget = buildPythonPackage rec { + name = "archetypes.referencebrowserwidget-2.4.16"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/a/archetypes.referencebrowserwidget/${name}.zip"; + md5 = "7dd3b0d4e188828701a291449c7495f4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + archetypes_schemaextender = buildPythonPackage rec { + name = "archetypes.schemaextender-2.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/a/archetypes.schemaextender/${name}.zip"; + md5 = "865aa5b4b6b26e3bb650d89ddfe77c87"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + argparse = buildPythonPackage rec { + name = "argparse-1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/a/argparse/${name}.zip"; + md5 = "087399b73047fa5a6482037411ddc968"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + borg_localrole = buildPythonPackage rec { + name = "borg.localrole-3.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/b/borg.localrole/${name}.zip"; + md5 = "04082694dfda9ae5cda62747b8ac7ccf"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + buildout_dumppickedversions = buildPythonPackage rec { + name = "buildout.dumppickedversions-0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/b/buildout.dumppickedversions/${name}.tar.gz"; + md5 = "e81cffff329aaaaf8dd0d1c6bd63c8b0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + clientform = buildPythonPackage rec { + name = "ClientForm-0.2.10"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/C/ClientForm/${name}.zip"; + md5 = "33826886848f89c67a5c8a30b931bd97"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + collective_monkeypatcher = buildPythonPackage rec { + name = "collective.monkeypatcher-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/collective.monkeypatcher/${name}.zip"; + md5 = "4d4f20f9b8bb84b24afadc4f56f6dc2c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + collective_recipe_omelette = buildPythonPackage rec { + name = "collective.recipe.omelette-0.15"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/collective.recipe.omelette/${name}.zip"; + md5 = "088bcf60754bead215573ce114207939"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + collective_testcaselayer = buildPythonPackage rec { + name = "collective.testcaselayer-1.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/collective.testcaselayer/${name}.zip"; + md5 = "fd8387d6b6ebd8645ec92f5f1e512450"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + collective_xmltestreport = buildPythonPackage rec { + name = "collective.xmltestreport-1.2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/collective.xmltestreport/${name}.tar.gz"; + md5 = "f247d47a019b44694660d785f70c05b3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + collective_z3cform_datagridfield = buildPythonPackage rec { + name = "collective.z3cform.datagridfield-0.11"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/collective.z3cform.datagridfield/${name}.zip"; + md5 = "c9210337b91305314864da42c12d04c2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + collective_z3cform_datagridfield_demo = buildPythonPackage rec { + name = "collective.z3cform.datagridfield-demo-0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/collective.z3cform.datagridfield/collective.z3cform.datagridfield-0.11.zip"; + md5 = "c9210337b91305314864da42c12d04c2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + collective_z3cform_datetimewidget = buildPythonPackage rec { + name = "collective.z3cform.datetimewidget-1.2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/collective.z3cform.datetimewidget/${name}.zip"; + md5 = "89daf27c7f0f235f9c001f0ee50d76e5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + coverage = buildPythonPackage rec { + name = "coverage-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/coverage/${name}.tar.gz"; + md5 = "28c43d41b13f8987ea14d7b1d4a4e3ec"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + datetime = buildPythonPackage rec { + name = "DateTime-2.12.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/D/DateTime/${name}.zip"; + md5 = "72a8bcf80b52211ae7fdfe36c693d70c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + diazo = buildPythonPackage rec { + name = "diazo-1.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/d/diazo/${name}.zip"; + md5 = "d3c2b017af521db4c86fb360c86e0bc8"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + documenttemplate = buildPythonPackage rec { + name = "DocumentTemplate-2.13.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/D/DocumentTemplate/${name}.zip"; + md5 = "07bb086c77c1dfe94125ad2efbba94b7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + docutils = buildPythonPackage rec { + name = "docutils-0.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/d/docutils/${name}.1.tar.gz"; + md5 = "b0d5cd5298fedf9c62f5fd364a274d56"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + elementtree = buildPythonPackage rec { + name = "elementtree-1.2.7-20070827-preview"; + + src = fetchurl { + url = "http://effbot.org/media/downloads/elementtree-1.2.7-20070827-preview.zip"; + md5 = "30e2fe5edd143f347e03a8baf5d60f8a"; + }; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + experimental_cssselect = buildPythonPackage rec { + name = "experimental.cssselect-0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/e/experimental.cssselect/${name}.zip"; + md5 = "3fecdcf1fbc3ea6025e115a56a262957"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + extensionclass = buildPythonPackage rec { + name = "ExtensionClass-2.13.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/E/ExtensionClass/${name}.zip"; + md5 = "0236e6d7da9e8b87b9ba45f1b8f930b8"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + feedparser = buildPythonPackage rec { + name = "feedparser-5.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/feedparser/${name}.tar.bz2"; + md5 = "702835de74bd4a578524f311e62c2877"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + five_customerize = buildPythonPackage rec { + name = "five.customerize-1.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/five.customerize/${name}.zip"; + md5 = "32f597c2fa961f7dcc84b23e655d928e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + five_formlib = buildPythonPackage rec { + name = "five.formlib-1.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/five.formlib/${name}.zip"; + md5 = "09fcecbb7e0ed4a31a4f19787c1a78b4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + five_globalrequest = buildPythonPackage rec { + name = "five.globalrequest-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/five.globalrequest/${name}.tar.gz"; + md5 = "87f8996bd21d4aa156aa26e7d21b8744"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + five_grok = buildPythonPackage rec { + name = "five.grok-1.2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/five.grok/${name}.zip"; + md5 = "b99c3017f3a487dc2a8b7b0b310ee8cf"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + five_intid = buildPythonPackage rec { + name = "five.intid-1.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/five.intid/${name}.zip"; + md5 = "60c6726c07a1c1bf557aeec0ddcee369"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + five_localsitemanager = buildPythonPackage rec { + name = "five.localsitemanager-2.0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/five.localsitemanager/${name}.zip"; + md5 = "5e3a658e6068832bd802018ebc83f2d4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + grokcore_annotation = buildPythonPackage rec { + name = "grokcore.annotation-1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grokcore.annotation/${name}.tar.gz"; + md5 = "a28ccb4b7c86198923d9cce40953314f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + grokcore_component = buildPythonPackage rec { + name = "grokcore.component-1.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grokcore.component/${name}.tar.gz"; + md5 = "24b05b6b132787dbca18acd244c23ffb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + grokcore_formlib = buildPythonPackage rec { + name = "grokcore.formlib-1.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grokcore.formlib/${name}.tar.gz"; + md5 = "dced4aba77053ed78a358a1f5e85d9c4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + grokcore_security = buildPythonPackage rec { + name = "grokcore.security-1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grokcore.security/${name}.tar.gz"; + md5 = "1e668b7e423814fa069c69f2a4014876"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + grokcore_site = buildPythonPackage rec { + name = "grokcore.site-1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grokcore.site/${name}.tar.gz"; + md5 = "bd16753e6d4f1c0ff38266d2ae79633d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + grokcore_view = buildPythonPackage rec { + name = "grokcore.view-1.13.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grokcore.view/${name}.tar.gz"; + md5 = "304363398aa752d5e1479bab39b93e4e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + grokcore_viewlet = buildPythonPackage rec { + name = "grokcore.viewlet-1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/grokcore.viewlet/${name}.tar.gz"; + md5 = "5e53b3c77941f9ad0ff2aeb7c1b6dd7d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + initgroups = buildPythonPackage rec { + name = "initgroups-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/i/initgroups/${name}.zip"; + md5 = "38e842dcab8445f65e701fec75213acd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + jinja2 = buildPythonPackage rec { + name = "Jinja2-2.5.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/J/Jinja2/${name}.tar.gz"; + md5 = "83b20c1eeb31f49d8e6392efae91b7d5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + kss_core = buildPythonPackage rec { + name = "kss.core-1.6.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/k/kss.core/${name}.zip"; + md5 = "87e66e78c3bbd7af3ecce5b2fef935ae"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + mailinglogger = buildPythonPackage rec { + name = "mailinglogger-3.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/mailinglogger/${name}.tar.gz"; + md5 = "f865f0df6059ce23062b7457d01dbac5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + manuel = buildPythonPackage rec { + name = "manuel-1.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/manuel/${name}.tar.gz"; + md5 = "8cd560cf6e8720ecb129c4e5be605fbb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + markdown = buildPythonPackage rec { + name = "Markdown-2.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/M/Markdown/${name}.zip"; + md5 = "122418893e21e91109edbf6e082f830d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + martian = buildPythonPackage rec { + name = "martian-0.11.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/martian/${name}.tar.gz"; + md5 = "865646fcd9dd31613204d5f4c2db943b"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + mechanize = buildPythonPackage rec { + name = "mechanize-0.2.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/mechanize/${name}.zip"; + md5 = "a497ad4e875f7506ffcf8ad3ada4c2fc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + missing = buildPythonPackage rec { + name = "Missing-2.13.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/M/Missing/${name}.zip"; + md5 = "9823cff54444cbbcaef8fc45d8e42572"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + mocker = buildPythonPackage rec { + name = "mocker-1.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/mocker/${name}.tar.bz2"; + md5 = "0bd9f83268e16aef2130fa89e2a4839f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + mr_developer = buildPythonPackage rec { + name = "mr.developer-1.21"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/mr.developer/${name}.zip"; + md5 = "5f832f1709714b09cd7490603afd2365"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + multimapping = buildPythonPackage rec { + name = "MultiMapping-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/M/MultiMapping/${name}.zip"; + md5 = "d69c5904c105b9f2f085d4103e0f0586"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + nose = buildPythonPackage rec { + name = "nose-1.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; + md5 = "144f237b615e23f21f6a50b2183aa817"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + nt_svcutils = buildPythonPackage rec { + name = "nt-svcutils-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/n/nose/nose-1.1.2.tar.gz"; + md5 = "144f237b615e23f21f6a50b2183aa817"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + ordereddict = buildPythonPackage rec { + name = "ordereddict-1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/o/ordereddict/${name}.tar.gz"; + md5 = "a0ed854ee442051b249bfad0f638bbec"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + paste = buildPythonPackage rec { + name = "Paste-1.7.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Paste/${name}.tar.gz"; + md5 = "7ea5fabed7dca48eb46dc613c4b6c4ed"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + pastedeploy = buildPythonPackage rec { + name = "PasteDeploy-1.3.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/PasteDeploy/${name}.tar.gz"; + md5 = "eb4b3e2543d54401249c2cbd9f2d014f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + pastescript = buildPythonPackage rec { + name = "PasteScript-1.7.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/PasteScript/${name}.tar.gz"; + md5 = "4c72d78dcb6bb993f30536842c16af4d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + propagatedBuildInputs = [ paste pastedeploy ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + persistence = buildPythonPackage rec { + name = "Persistence-2.13.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Persistence/${name}.zip"; + md5 = "92693648ccdc59c8fc71f7f06b1d228c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + pil = buildPythonPackage rec { + name = "PIL-1.1.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Persistence/Persistence-2.13.2.zip"; + md5 = "92693648ccdc59c8fc71f7f06b1d228c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone = buildPythonPackage rec { + name = "Plone-4.2.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Plone/${name}.zip"; + md5 = "688438bd541e7cb2ab650c8c59282b85"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_alterego = buildPythonPackage rec { + name = "plone.alterego-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.alterego/${name}.zip"; + md5 = "b7b6dbcbba00505d98d5aba83e016408"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_blob = buildPythonPackage rec { + name = "plone.app.blob-1.5.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.blob/${name}.zip"; + md5 = "8d6ba6f360b6bfd40f87914132339660"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_caching = buildPythonPackage rec { + name = "plone.app.caching-1.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.caching/${name}.zip"; + md5 = "83a52efeb7604d4c5b4afbc6c1365c6f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_collection = buildPythonPackage rec { + name = "plone.app.collection-1.0.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.collection/${name}.zip"; + md5 = "40c9035472e386fc9d0ec1b9a9a3d4f6"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_content = buildPythonPackage rec { + name = "plone.app.content-2.0.12"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.content/${name}.zip"; + md5 = "2f14a85fb66d73e0b699b839caaaad26"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_contentlisting = buildPythonPackage rec { + name = "plone.app.contentlisting-1.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.contentlisting/${name}.zip"; + md5 = "fa6eb45c4ffd0eb3817ad4813ca24916"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_contentmenu = buildPythonPackage rec { + name = "plone.app.contentmenu-2.0.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.contentmenu/${name}.zip"; + md5 = "b1c7e5a37c659ba30b3a077e149b1752"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_contentrules = buildPythonPackage rec { + name = "plone.app.contentrules-2.1.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.contentrules/${name}.zip"; + md5 = "74d2fed9095a7c5f890b6f27de78dafc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_controlpanel = buildPythonPackage rec { + name = "plone.app.controlpanel-2.2.11"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.controlpanel/${name}.zip"; + md5 = "401c8880865f398c281953f5837108b9"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_customerize = buildPythonPackage rec { + name = "plone.app.customerize-1.2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.customerize/${name}.zip"; + md5 = "6a3802c4e8fbd955597adc6a8298febf"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_dexterity = buildPythonPackage rec { + name = "plone.app.dexterity-1.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.dexterity/${name}.zip"; + md5 = "25ccd382f9e08cfdfe4a9b7e455030bc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_discussion = buildPythonPackage rec { + name = "plone.app.discussion-2.1.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.discussion/${name}.zip"; + md5 = "b0cb1fbdf8a7a238cf5a58fb10c24731"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_folder = buildPythonPackage rec { + name = "plone.app.folder-1.0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.folder/${name}.zip"; + md5 = "8ea860daddb4c93c0b7f2b5f7106fef0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_form = buildPythonPackage rec { + name = "plone.app.form-2.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.form/${name}.zip"; + md5 = "8017f8f782d992825ed71d16b126c4e7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_i18n = buildPythonPackage rec { + name = "plone.app.i18n-2.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.i18n/${name}.zip"; + md5 = "a10026573463dfc1899bf4062cebdbf2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_imaging = buildPythonPackage rec { + name = "plone.app.imaging-1.0.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.imaging/${name}.zip"; + md5 = "8d494cd69b3f6be7fcb9e21c20277765"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_intid = buildPythonPackage rec { + name = "plone.app.intid-1.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.intid/${name}.tar.gz"; + md5 = "863077002bd272ff11c47de0f7f9db1a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_iterate = buildPythonPackage rec { + name = "plone.app.iterate-2.1.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.iterate/${name}.zip"; + md5 = "db598cfc0986737145ddc7e6b70a1794"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_jquery = buildPythonPackage rec { + name = "plone.app.jquery-1.4.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.jquery/${name}.zip"; + md5 = "a12d56f3dfd2ba6840bf21a6bd860b90"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_jquerytools = buildPythonPackage rec { + name = "plone.app.jquerytools-1.3.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.jquerytools/${name}.zip"; + md5 = "326470a34e07aa98c40d75ec22484572"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_kss = buildPythonPackage rec { + name = "plone.app.kss-1.7.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.kss/${name}.zip"; + md5 = "97a35086fecfe25e55b65042eb35e796"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_layout = buildPythonPackage rec { + name = "plone.app.layout-2.2.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.layout/${name}.zip"; + md5 = "90ea408f5e01aeb01517d55eb6b6063a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_linkintegrity = buildPythonPackage rec { + name = "plone.app.linkintegrity-1.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.linkintegrity/${name}.zip"; + md5 = "41810cc85ca05921a329aac5bc4cf403"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_locales = buildPythonPackage rec { + name = "plone.app.locales-4.2.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.locales/${name}.zip"; + md5 = "baf48a0a5278a18fa1c2848d3470464f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_lockingbehavior = buildPythonPackage rec { + name = "plone.app.lockingbehavior-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.lockingbehavior/${name}.tar.gz"; + md5 = "a25745f1f40c6298da1b228ccd95ee27"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_openid = buildPythonPackage rec { + name = "plone.app.openid-2.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.openid/${name}.tar.gz"; + md5 = "ae0748f91cab0612a498926d405d8edd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_portlets = buildPythonPackage rec { + name = "plone.app.portlets-2.3.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.portlets/${name}.zip"; + md5 = "534be67a7a17a71ca1e76f6f149ff2ac"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_querystring = buildPythonPackage rec { + name = "plone.app.querystring-1.0.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.querystring/${name}.zip"; + md5 = "b501910b23def9b58e8309d1e469eb6f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_redirector = buildPythonPackage rec { + name = "plone.app.redirector-1.1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.redirector/${name}.zip"; + md5 = "7d441340a83b8ed72a03bc16148a5f21"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_referenceablebehavior = buildPythonPackage rec { + name = "plone.app.referenceablebehavior-0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.referenceablebehavior/${name}.zip"; + md5 = "2359140966f753204d5091bb49fce85c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_registry = buildPythonPackage rec { + name = "plone.app.registry-1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.registry/${name}.zip"; + md5 = "0fdbb01e9ff71108f1be262c39b41b81"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_relationfield = buildPythonPackage rec { + name = "plone.app.relationfield-1.2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.relationfield/${name}.zip"; + md5 = "d19888741677cd457ac7f22dde97ded0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_search = buildPythonPackage rec { + name = "plone.app.search-1.0.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.search/${name}.zip"; + md5 = "bd5a1f4b5016a6d0a8697e7a9cc04833"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_stagingbehavior = buildPythonPackage rec { + name = "plone.app.stagingbehavior-0.1b4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.stagingbehavior/${name}.zip"; + md5 = "0f9589ec056c303ea0c81a804dd411eb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_testing = buildPythonPackage rec { + name = "plone.app.testing-4.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.testing/${name}.zip"; + md5 = "1a40df72c8beda9520b83dc449a97a3c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_textfield = buildPythonPackage rec { + name = "plone.app.textfield-1.2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.textfield/${name}.zip"; + md5 = "f832887a40826d6f68c48b48f071fb9c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_theming = buildPythonPackage rec { + name = "plone.app.theming-1.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.theming/${name}.zip"; + md5 = "2da6d810e0d5f295dd0daa2b60731a1b"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_upgrade = buildPythonPackage rec { + name = "plone.app.upgrade-1.2.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.upgrade/${name}.zip"; + md5 = "2798dd50863d8c25624400b988a0acdd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_users = buildPythonPackage rec { + name = "plone.app.users-1.1.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.users/${name}.zip"; + md5 = "97895d8dbdf885784be1afbf5b8b364c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_uuid = buildPythonPackage rec { + name = "plone.app.uuid-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.uuid/${name}.zip"; + md5 = "9ca8dcfb09a8a0d6bbee0f28073c3d3f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_versioningbehavior = buildPythonPackage rec { + name = "plone.app.versioningbehavior-1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.versioningbehavior/${name}.zip"; + md5 = "6c153e3fa10b9ffea9742d0dad7b3b85"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_viewletmanager = buildPythonPackage rec { + name = "plone.app.viewletmanager-2.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.viewletmanager/${name}.zip"; + md5 = "1dbc51c7664ce3e6ca4dcca1b7b86082"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_vocabularies = buildPythonPackage rec { + name = "plone.app.vocabularies-2.1.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.vocabularies/${name}.zip"; + md5 = "34d4eb9c95879811fec0875aa3235ed3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_workflow = buildPythonPackage rec { + name = "plone.app.workflow-2.0.10"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.workflow/${name}.zip"; + md5 = "350ea680ccf7eb9b1598927cafad4f38"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_app_z3cform = buildPythonPackage rec { + name = "plone.app.z3cform-0.6.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.app.z3cform/${name}.zip"; + md5 = "2e77f5e03d48a6fb2eb9994edb871917"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_autoform = buildPythonPackage rec { + name = "plone.autoform-1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.autoform/${name}.zip"; + md5 = "4cb2935ba9cda3eb3ee801ad8cda7c60"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_behavior = buildPythonPackage rec { + name = "plone.behavior-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.behavior/${name}.zip"; + md5 = "a18feb9ec744b2a64028c366a8835d59"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_browserlayer = buildPythonPackage rec { + name = "plone.browserlayer-2.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.browserlayer/${name}.zip"; + md5 = "bce02f4907a4f29314090c525e5fc28e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_cachepurging = buildPythonPackage rec { + name = "plone.cachepurging-1.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.cachepurging/${name}.zip"; + md5 = "886814ac4deef0f1ed99a2eb60864264"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_caching = buildPythonPackage rec { + name = "plone.caching-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.caching/${name}.zip"; + md5 = "2c2e3b27d13b9101c92dfed222fde36c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_contentrules = buildPythonPackage rec { + name = "plone.contentrules-2.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.contentrules/${name}.zip"; + md5 = "a32370656c4fd58652fcd8a234db69c5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_dexterity = buildPythonPackage rec { + name = "plone.dexterity-1.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.dexterity/${name}.zip"; + md5 = "c8f495e368ada3a4566d99995d09e64c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_directives_dexterity = buildPythonPackage rec { + name = "plone.directives.dexterity-1.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.directives.dexterity/${name}.zip"; + md5 = "713b87644e3591b60b4a8ebd52987477"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_directives_form = buildPythonPackage rec { + name = "plone.directives.form-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.directives.form/${name}.zip"; + md5 = "e40a4b3fdde3768a137a450374934565"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_fieldsets = buildPythonPackage rec { + name = "plone.fieldsets-2.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.fieldsets/${name}.zip"; + md5 = "4158c8a1f784fcb5cecbd63deda7222f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_folder = buildPythonPackage rec { + name = "plone.folder-1.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.folder/${name}.zip"; + md5 = "1674ff18b7a9452d0c2063cf11c679b7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_formwidget_autocomplete = buildPythonPackage rec { + name = "plone.formwidget.autocomplete-1.2.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.formwidget.autocomplete/${name}.zip"; + md5 = "06b3bfed9ea51fe2e93827f539fc7f07"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_formwidget_contenttree = buildPythonPackage rec { + name = "plone.formwidget.contenttree-1.0.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.formwidget.contenttree/${name}.zip"; + md5 = "2ea222d53ca856de7c6df831707f4ac1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_formwidget_namedfile = buildPythonPackage rec { + name = "plone.formwidget.namedfile-1.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.formwidget.namedfile/${name}.zip"; + md5 = "9274db2f5d7b4d07748fabfd125e49d0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_i18n = buildPythonPackage rec { + name = "plone.i18n-2.0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.i18n/${name}.zip"; + md5 = "ef36aa9a294d507abb37787f9f7700bd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_indexer = buildPythonPackage rec { + name = "plone.indexer-1.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.indexer/${name}.zip"; + md5 = "538aeee1f9db78bc8c85ae1bcb0153ed"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_intelligenttext = buildPythonPackage rec { + name = "plone.intelligenttext-2.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.intelligenttext/${name}.zip"; + md5 = "51688fa0815b49e00334e3ef948328ba"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_keyring = buildPythonPackage rec { + name = "plone.keyring-2.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.keyring/${name}.zip"; + md5 = "f3970e9bddb2cc65e461a2c62879233f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_locking = buildPythonPackage rec { + name = "plone.locking-2.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.locking/${name}.zip"; + md5 = "a7f8b8db78f57272d351d7fe0d067eb2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_memoize = buildPythonPackage rec { + name = "plone.memoize-1.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.memoize/${name}.zip"; + md5 = "d07cd14b976160e1f26a859e3370147e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_mocktestcase = buildPythonPackage rec { + name = "plone.mocktestcase-1.0b3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.mocktestcase/${name}.tar.gz"; + md5 = "6de66da6d610537d1f5c31e2ab0f36ee"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_namedfile = buildPythonPackage rec { + name = "plone.namedfile-1.0.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.namedfile/${name}.zip"; + md5 = "06f5bfa7079f889307ac5760e4cb4a7b"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_openid = buildPythonPackage rec { + name = "plone.openid-2.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.openid/${name}.zip"; + md5 = "d4c36926a6dbefed035ed92c29329ce1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_outputfilters = buildPythonPackage rec { + name = "plone.outputfilters-1.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.outputfilters/${name}.zip"; + md5 = "a5ef28580f7fa7f2dc1768893995b0f7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_portlet_collection = buildPythonPackage rec { + name = "plone.portlet.collection-2.1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.portlet.collection/${name}.zip"; + md5 = "5f0006dbb3e0b56870383dfdedc49228"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_portlet_static = buildPythonPackage rec { + name = "plone.portlet.static-2.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.portlet.static/${name}.zip"; + md5 = "ec0dc691b4191a41ff97779b117f9985"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_portlets = buildPythonPackage rec { + name = "plone.portlets-2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.portlets/${name}.zip"; + md5 = "12b9a33f787756a48617c2d2dd63c538"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_protect = buildPythonPackage rec { + name = "plone.protect-2.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.protect/${name}.zip"; + md5 = "74925ffb08782e72f9b1e850fa78fffa"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_recipe_alltests = buildPythonPackage rec { + name = "plone.recipe.alltests-1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.recipe.alltests/${name}.zip"; + md5 = "c4ba0f67a2fdd259bd0e7d946bd35674"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_recipe_zeoserver = buildPythonPackage rec { + name = "plone.recipe.zeoserver-1.2.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.recipe.zeoserver/${name}.zip"; + md5 = "cd58899a7d534fe2d0ef42990a07c499"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_registry = buildPythonPackage rec { + name = "plone.registry-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.registry/${name}.zip"; + md5 = "6be3d2ec7e2d170e29b8c0bc65049aff"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_reload = buildPythonPackage rec { + name = "plone.reload-2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.reload/${name}.zip"; + md5 = "49eab593c81b78a9b80d54786aa4ad72"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_resource = buildPythonPackage rec { + name = "plone.resource-1.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.resource/${name}.zip"; + md5 = "594d41e3acd913ae92f2e9ef96503b9f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_rfc822 = buildPythonPackage rec { + name = "plone.rfc822-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.rfc822/${name}.zip"; + md5 = "b5b79bb5a9181da624a7e88940a45424"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_scale = buildPythonPackage rec { + name = "plone.scale-1.2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.scale/${name}.zip"; + md5 = "7c59522b4806ee24f5e0a5fa69c523a5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_schemaeditor = buildPythonPackage rec { + name = "plone.schemaeditor-1.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.schemaeditor/${name}.zip"; + md5 = "0b0fb4b20d9463b3fef82c2079a897d7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_session = buildPythonPackage rec { + name = "plone.session-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.session/${name}.zip"; + md5 = "2f9d3b88e813a47135af56a4da8bbde1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_stringinterp = buildPythonPackage rec { + name = "plone.stringinterp-1.0.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.stringinterp/${name}.zip"; + md5 = "81909716210c6ac3fd0ee87f45ea523d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_subrequest = buildPythonPackage rec { + name = "plone.subrequest-1.6.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.subrequest/${name}.zip"; + md5 = "cc12f68a22565415b10dbeef0020baa4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_supermodel = buildPythonPackage rec { + name = "plone.supermodel-1.1.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.supermodel/${name}.zip"; + md5 = "00b3d723bb1a48116fe3bf8754f17085"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_synchronize = buildPythonPackage rec { + name = "plone.synchronize-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.synchronize/${name}.zip"; + md5 = "d25e86ace8daa0816861296c3288c4fb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_testing = buildPythonPackage rec { + name = "plone.testing-4.0.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.testing/${name}.zip"; + md5 = "fa40f6d3e3e254409c486c1c2c3e8804"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_theme = buildPythonPackage rec { + name = "plone.theme-2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.theme/${name}.zip"; + md5 = "c592d0d095e9fc76cc81597cdf6d0c37"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_transformchain = buildPythonPackage rec { + name = "plone.transformchain-1.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.transformchain/${name}.zip"; + md5 = "f5fb7ca894249e3e666501c4fae52a6c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_uuid = buildPythonPackage rec { + name = "plone.uuid-1.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.uuid/${name}.zip"; + md5 = "183fe2911a7d6c9f6b3103855e98ad8a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plone_z3cform = buildPythonPackage rec { + name = "plone.z3cform-0.7.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plone.z3cform/${name}.zip"; + md5 = "da891365156a5d5824d4e504465886a2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plonetheme_classic = buildPythonPackage rec { + name = "plonetheme.classic-1.2.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plonetheme.classic/${name}.zip"; + md5 = "9dc15871937f9cdf94cdfdb9be77a221"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + plonetheme_sunburst = buildPythonPackage rec { + name = "plonetheme.sunburst-1.2.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/plonetheme.sunburst/${name}.zip"; + md5 = "be02660c869e04ac8cf6ade3559f2516"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_archetypes = buildPythonPackage rec { + name = "Products.Archetypes-1.8.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.Archetypes/${name}.zip"; + md5 = "74be68879b27228c084a9be869132a98"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_atcontenttypes = buildPythonPackage rec { + name = "Products.ATContentTypes-2.1.11"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ATContentTypes/${name}.zip"; + md5 = "abfb5209ffa11dc2c1a15c488e75d89c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_atreferencebrowserwidget = buildPythonPackage rec { + name = "Products.ATReferenceBrowserWidget-3.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ATReferenceBrowserWidget/${name}.zip"; + md5 = "157bdd32155c8353450c17c649aad042"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_btreefolder2 = buildPythonPackage rec { + name = "Products.BTreeFolder2-2.13.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.BTreeFolder2/${name}.tar.gz"; + md5 = "f57c85673036af7ccd34c3fa251f6bb2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfactionicons = buildPythonPackage rec { + name = "Products.CMFActionIcons-2.1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFActionIcons/${name}.tar.gz"; + md5 = "ab1dc62404ed11aea84dc0d782b2235e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + propagatedBuildInputs = [ eggtestinfo ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfcalendar = buildPythonPackage rec { + name = "Products.CMFCalendar-2.2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFCalendar/${name}.tar.gz"; + md5 = "49458e68dc3b6826ea9a3576ac014419"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + propagatedBuildInputs = [ eggtestinfo ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfcore = buildPythonPackage rec { + name = "Products.CMFCore-2.2.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFCore/${name}.tar.gz"; + md5 = "9320a4023b8575097feacfd4a400e930"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfdefault = buildPythonPackage rec { + name = "Products.CMFDefault-2.2.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFDefault/${name}.tar.gz"; + md5 = "fe7d2d3906ee0e3b484e4a02401576ab"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + propagatedBuildInputs = [ eggtestinfo ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfdifftool = buildPythonPackage rec { + name = "Products.CMFDiffTool-2.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFDiffTool/${name}.zip"; + md5 = "7b7ed9b8f7b4f438e92e299823f92c86"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfdynamicviewfti = buildPythonPackage rec { + name = "Products.CMFDynamicViewFTI-4.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFDynamicViewFTI/${name}.zip"; + md5 = "7d39d416b41b2d93954bc73d9d0e077f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfeditions = buildPythonPackage rec { + name = "Products.CMFEditions-2.2.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFEditions/${name}.zip"; + md5 = "7dc744b3b896c1b212d9ba37b1752b65"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfformcontroller = buildPythonPackage rec { + name = "Products.CMFFormController-3.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFFormController/${name}.zip"; + md5 = "6573df7dcb39e3b63ba22abe2acd639e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfplacefulworkflow = buildPythonPackage rec { + name = "Products.CMFPlacefulWorkflow-1.5.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFPlacefulWorkflow/${name}.zip"; + md5 = "9041e1f52eab5b348c0dfa85be438722"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfplone = buildPythonPackage rec { + name = "Products.CMFPlone-4.2.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFPlone/${name}.zip"; + md5 = "9c9663cb2b68c07e3d9a2fceaa97eaa1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfquickinstallertool = buildPythonPackage rec { + name = "Products.CMFQuickInstallerTool-3.0.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFQuickInstallerTool/${name}.tar.gz"; + md5 = "af34adb87ddf2b6da48eff8b70ca2989"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmftestcase = buildPythonPackage rec { + name = "Products.CMFTestCase-0.9.12"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFTestCase/${name}.zip"; + md5 = "fbfdfe7bdb2158419d9899b4ab8c43eb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmftopic = buildPythonPackage rec { + name = "Products.CMFTopic-2.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFTopic/${name}.tar.gz"; + md5 = "4abeeaafe6b6b1d2f2936bf5431cccba"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + propagatedBuildInputs = [ eggtestinfo ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_cmfuid = buildPythonPackage rec { + name = "Products.CMFUid-2.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.CMFUid/${name}.tar.gz"; + md5 = "e20727959351dffbf0bac80613eee110"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + propagatedBuildInputs = [ eggtestinfo ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_contentmigration = buildPythonPackage rec { + name = "Products.contentmigration-2.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.contentmigration/${name}.zip"; + md5 = "1cef33faec03e655b7c52c317db50ed2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_dcworkflow = buildPythonPackage rec { + name = "Products.DCWorkflow-2.2.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.DCWorkflow/${name}.tar.gz"; + md5 = "c90a16c4f3611015592ba8173a5f1863"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + propagatedBuildInputs = [ eggtestinfo ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_extendedpathindex = buildPythonPackage rec { + name = "Products.ExtendedPathIndex-3.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ExtendedPathIndex/${name}.zip"; + md5 = "00c048a4b103200bdcbda61fa22c66df"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_externaleditor = buildPythonPackage rec { + name = "Products.ExternalEditor-1.1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ExternalEditor/${name}.zip"; + md5 = "475fea6e0b958c0c51cfdbfef2f4e623"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_externalmethod = buildPythonPackage rec { + name = "Products.ExternalMethod-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ExternalMethod/${name}.zip"; + md5 = "15ba953ef6cb632eb571977651252ea6"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_genericsetup = buildPythonPackage rec { + name = "Products.GenericSetup-1.7.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.GenericSetup/${name}.tar.gz"; + md5 = "c48967c81c880ed33ee16a14caab3b11"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_i18ntestcase = buildPythonPackage rec { + name = "Products.i18ntestcase-1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.i18ntestcase/${name}.zip"; + md5 = "f72f72e573975f15adfabfeef34fd721"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_kupu = buildPythonPackage rec { + name = "Products.kupu-1.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.kupu/${name}.zip"; + md5 = "b884fcc7f510426974d8d3c4333da4f4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_mailhost = buildPythonPackage rec { + name = "Products.MailHost-2.13.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.MailHost/${name}.zip"; + md5 = "1102e523435d8bf78a15b9ddb57478e1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_marshall = buildPythonPackage rec { + name = "Products.Marshall-2.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.Marshall/${name}.zip"; + md5 = "bde4d7f75195c1ded8371554b04d2541"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_mimetools = buildPythonPackage rec { + name = "Products.MIMETools-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.MIMETools/${name}.zip"; + md5 = "ad5372fc1190599a19493db0864448ec"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_mimetypesregistry = buildPythonPackage rec { + name = "Products.MimetypesRegistry-2.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.MimetypesRegistry/${name}.zip"; + md5 = "898166bb2aaececc8238ad4ee4826793"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_ofsp = buildPythonPackage rec { + name = "Products.OFSP-2.13.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.OFSP/${name}.zip"; + md5 = "c76d40928753c2ee56db873304e65bd5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_passwordresettool = buildPythonPackage rec { + name = "Products.PasswordResetTool-2.0.11"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PasswordResetTool/${name}.zip"; + md5 = "8dfd65f06c3f4a4b0742d1b44b65f014"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_placelesstranslationservice = buildPythonPackage rec { + name = "Products.PlacelessTranslationService-2.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PlacelessTranslationService/${name}.zip"; + md5 = "a94635eb712563c5a002520713f5d6dc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_plonelanguagetool = buildPythonPackage rec { + name = "Products.PloneLanguageTool-3.2.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PloneLanguageTool/${name}.zip"; + md5 = "bd9eb6278bf76e8cbce99437ca362164"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_plonepas = buildPythonPackage rec { + name = "Products.PlonePAS-4.0.15"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PlonePAS/${name}.zip"; + md5 = "c19241b558c994ff280a2e1f50aa1f19"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_plonetestcase = buildPythonPackage rec { + name = "Products.PloneTestCase-0.9.15"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PloneTestCase/${name}.zip"; + md5 = "ddd5810937919ab5233ebd64893c8bae"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_pluggableauthservice = buildPythonPackage rec { + name = "Products.PluggableAuthService-1.9.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PluggableAuthService/${name}.tar.gz"; + md5 = "f78f16e46d016c2848bc84254fa66596"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_pluginregistry = buildPythonPackage rec { + name = "Products.PluginRegistry-1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PluginRegistry/${name}.tar.gz"; + md5 = "5b166193ca1eb84dfb402051f779ebab"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_portaltransforms = buildPythonPackage rec { + name = "Products.PortalTransforms-2.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PortalTransforms/${name}.zip"; + md5 = "9f429f3c3b9e0019d0f6c9b7a8a9376e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_pythonscripts = buildPythonPackage rec { + name = "Products.PythonScripts-2.13.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.PythonScripts/${name}.zip"; + md5 = "04c86f2c45a29a162297a80dac61d14f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_resourceregistries = buildPythonPackage rec { + name = "Products.ResourceRegistries-2.2.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ResourceRegistries/${name}.zip"; + md5 = "9cf6efbcf2a6510033c06e1d3af94080"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_securemailhost = buildPythonPackage rec { + name = "Products.SecureMailHost-1.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.SecureMailHost/${name}.zip"; + md5 = "7db0f1fa867bd0df972082f502a7a707"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_standardcachemanagers = buildPythonPackage rec { + name = "Products.StandardCacheManagers-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.StandardCacheManagers/${name}.zip"; + md5 = "c5088b2b62bd26d63d9579a04369cb73"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_statusmessages = buildPythonPackage rec { + name = "Products.statusmessages-4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.statusmessages/${name}.zip"; + md5 = "265324b0a58a032dd0ed038103ed0473"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_tinymce = buildPythonPackage rec { + name = "Products.TinyMCE-1.2.15"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.TinyMCE/${name}.zip"; + md5 = "108b919bfcff711d2116e41eccbede58"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_validation = buildPythonPackage rec { + name = "Products.validation-2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.validation/${name}.zip"; + md5 = "afa217e2306637d1dccbebf337caa8bf"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_zcatalog = buildPythonPackage rec { + name = "Products.ZCatalog-2.13.23"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ZCatalog/${name}.zip"; + md5 = "d425171516dfc70e543a4e2b852301cb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_zctextindex = buildPythonPackage rec { + name = "Products.ZCTextIndex-2.13.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ZCTextIndex/${name}.zip"; + md5 = "8bbfa5fcd3609246990a9314d6f826b4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_zopeversioncontrol = buildPythonPackage rec { + name = "Products.ZopeVersionControl-1.1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ZopeVersionControl/${name}.zip"; + md5 = "238239102f3ac798ee4f4c53343a561f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + products_zsqlmethods = buildPythonPackage rec { + name = "Products.ZSQLMethods-2.13.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Products.ZSQLMethods/${name}.zip"; + md5 = "bd1ad8fd4a9d4f8b4681401dd5b71dc1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + py = buildPythonPackage rec { + name = "py-1.3.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/py/${name}.tar.gz"; + md5 = "b64d73a04121c1c4e27c7ec335ef87c8"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + pygments = buildPythonPackage rec { + name = "Pygments-1.3.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz"; + md5 = "54be67c04834f13d7e255e1797d629a5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + python_dateutil = buildPythonPackage rec { + name = "python-dateutil-1.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/python-dateutil/${name}.tar.gz"; + md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + python_gettext = buildPythonPackage rec { + name = "python-gettext-1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/python-gettext/${name}.zip"; + md5 = "cd4201d440126d1296d1d2bc2b4795f3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + python_openid = buildPythonPackage rec { + name = "python-openid-2.2.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/python-openid/${name}.zip"; + md5 = "f89d9d4f4dccfd33b5ce34eb4725f751"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + pytz = buildPythonPackage rec { + name = "pytz-2012c"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pytz/pytz-2012c.tar.gz"; + md5 = "1aa85f072e3d34ae310665967a0ce053"; + }; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + record = buildPythonPackage rec { + name = "Record-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/R/Record/${name}.zip"; + md5 = "cfed6a89d4fb2c9cb995e9084c3071b7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + repoze_retry = buildPythonPackage rec { + name = "repoze.retry-1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/repoze.retry/${name}.tar.gz"; + md5 = "55f9dbde5d7f939d93c352fef0f2ce8b"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + repoze_tm2 = buildPythonPackage rec { + name = "repoze.tm2-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/repoze.tm2/${name}.tar.gz"; + md5 = "c645a878874c8876c9c6b3467246afbc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + repoze_who = buildPythonPackage rec { + name = "repoze.who-2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/repoze.who/${name}.tar.gz"; + md5 = "eab01991b6a2979678ce6015815262e2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + repoze_xmliter = buildPythonPackage rec { + name = "repoze.xmliter-0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/repoze.xmliter/${name}.zip"; + md5 = "99da76bcbad6fbaced4a273bde29b10e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + restrictedpython = buildPythonPackage rec { + name = "RestrictedPython-3.6.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/R/RestrictedPython/${name}.zip"; + md5 = "aa75a7dcc7fbc966357837cc66cacec6"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + roman = buildPythonPackage rec { + name = "roman-1.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/roman/${name}.tar.gz"; + md5 = "4f8832ed4108174b159c2afb4bd1d1dd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + rwproperty = buildPythonPackage rec { + name = "rwproperty-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/rwproperty/${name}.tar.gz"; + md5 = "050bdf066492b3cd82a3399f8efea6b1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + simplejson = buildPythonPackage rec { + name = "simplejson-2.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz"; + md5 = "d7a7acf0bd7681bd116b5c981d2f7959"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + sphinx = buildPythonPackage rec { + name = "Sphinx-1.1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz"; + md5 = "8f55a6d4f87fc6d528120c5d1f983e98"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + tempstorage = buildPythonPackage rec { + name = "tempstorage-2.12.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/t/tempstorage/${name}.zip"; + md5 = "7a2b76b39839e229249b1bb175604480"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + tl_eggdeps = buildPythonPackage rec { + name = "tl.eggdeps-0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/t/tl.eggdeps/${name}.tar.gz"; + md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + transaction = buildPythonPackage rec { + name = "transaction-1.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/t/transaction/${name}.tar.gz"; + md5 = "30b062baa34fe1521ad979fb088c8c55"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + unidecode = buildPythonPackage rec { + name = "Unidecode-0.04.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/U/Unidecode/${name}2.tar.gz"; + md5 = "351dc98f4512bdd2e93f7a6c498730eb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + unittest2 = buildPythonPackage rec { + name = "unittest2-0.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/u/unittest2/${name}.tar.gz"; + md5 = "a0af5cac92bbbfa0c3b0e99571390e0f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + webob = buildPythonPackage rec { + name = "WebOb-1.0.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/W/WebOb/${name}.zip"; + md5 = "9809f9fb64fca8690a7da533fa29a272"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + wicked = buildPythonPackage rec { + name = "wicked-1.1.10"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/w/wicked/${name}.zip"; + md5 = "f65611f11d547d7dc8e623bf87d3929d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + wsgi_intercept = buildPythonPackage rec { + name = "wsgi-intercept-0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/w/wicked/wicked-1.1.10.zip"; + md5 = "f65611f11d547d7dc8e623bf87d3929d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_autoinclude = buildPythonPackage rec { + name = "z3c.autoinclude-0.3.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.autoinclude/${name}.zip"; + md5 = "6a615ae18c12b459bceb3ae28e8e7709"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_batching = buildPythonPackage rec { + name = "z3c.batching-1.1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.batching/${name}.tar.gz"; + md5 = "d1dc834781d228127ca6d15301757863"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_blobfile = buildPythonPackage rec { + name = "z3c.blobfile-0.1.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.blobfile/${name}.zip"; + md5 = "2e806640aa2f3b51e4578f35c44f567a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_caching = buildPythonPackage rec { + name = "z3c.caching-2.0a1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.caching/${name}.tar.gz"; + md5 = "17f250b5084c2324a7d15c6810ee628e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_checkversions = buildPythonPackage rec { + name = "z3c.checkversions-0.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.checkversions/${name}.tar.gz"; + md5 = "907f3a28aac04ad98fb3c4c5879a1eaf"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_coverage = buildPythonPackage rec { + name = "z3c.coverage-1.2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.coverage/${name}.tar.gz"; + md5 = "d7f323a6c89f848fab38209f2162294d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_form = buildPythonPackage rec { + name = "z3c.form-2.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.form/${name}.tar.gz"; + md5 = "f029f83dd226f695f55049ed1ecee95e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_formwidget_query = buildPythonPackage rec { + name = "z3c.formwidget.query-0.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.formwidget.query/${name}.zip"; + md5 = "d9f7960b1a5a81d8ba5241530f496522"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_objpath = buildPythonPackage rec { + name = "z3c.objpath-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.objpath/${name}.tar.gz"; + md5 = "63641934441b255ebeeaeabc618f01ed"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_ptcompat = buildPythonPackage rec { + name = "z3c.ptcompat-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.ptcompat/${name}.tar.gz"; + md5 = "bfe1ba6f9a38679705bd3eb5a5a2d7c4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_recipe_compattest = buildPythonPackage rec { + name = "z3c.recipe.compattest-0.12.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.recipe.compattest/${name}.tar.gz"; + md5 = "ed5a1bde7ce384154721913846c736c7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_recipe_depgraph = buildPythonPackage rec { + name = "z3c.recipe.depgraph-0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.recipe.depgraph/${name}.zip"; + md5 = "eb734419815146eb5b7080b5e17346dc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_recipe_sphinxdoc = buildPythonPackage rec { + name = "z3c.recipe.sphinxdoc-0.0.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.recipe.sphinxdoc/${name}.tar.gz"; + md5 = "86e6965c919b43fa1de07588580f8790"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_relationfield = buildPythonPackage rec { + name = "z3c.relationfield-0.6.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.relationfield/${name}.zip"; + md5 = "e34a6230cdfbd4a0bc1c90a77600e0e7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_template = buildPythonPackage rec { + name = "z3c.template-1.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.template/${name}.tar.gz"; + md5 = "330e2dba8cd064d5790392afd9f460dd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + z3c_zcmlhook = buildPythonPackage rec { + name = "z3c.zcmlhook-1.0b1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/z3c.zcmlhook/${name}.tar.gz"; + md5 = "7b6c80146f5930409eb0b355ddf3daeb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zc_lockfile = buildPythonPackage rec { + name = "zc.lockfile-1.0.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.lockfile/${name}.tar.gz"; + md5 = "6cf83766ef9935c33e240b0904c7a45e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zc_recipe_egg = buildPythonPackage rec { + name = "zc.recipe.egg-1.3.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.recipe.egg/${name}.tar.gz"; + md5 = "1cb6af73f527490dde461d3614a36475"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zc_recipe_testrunner = buildPythonPackage rec { + name = "zc.recipe.testrunner-1.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.recipe.testrunner/${name}.tar.gz"; + md5 = "1be4a1518e5b94890634468118242850"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zc_relation = buildPythonPackage rec { + name = "zc.relation-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.relation/${name}.tar.gz"; + md5 = "7e479095954fc6d8f648951434695837"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zc_resourcelibrary = buildPythonPackage rec { + name = "zc.resourcelibrary-1.3.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.resourcelibrary/${name}.tar.gz"; + md5 = "bebe49f3e930f896a8ea75531bf3fae8"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zc_sourcefactory = buildPythonPackage rec { + name = "zc.sourcefactory-0.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.sourcefactory/${name}.tar.gz"; + md5 = "532dfd0a72489023268c19e3788b105d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zconfig = buildPythonPackage rec { + name = "ZConfig-2.9.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/Z/ZConfig/${name}.zip"; + md5 = "5c932690a70c8907efd240cdd76a7bc4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zdaemon = buildPythonPackage rec { + name = "zdaemon-2.0.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zdaemon/${name}.tar.gz"; + md5 = "291a875f82e812110557eb6704af8afe"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zexceptions = buildPythonPackage rec { + name = "zExceptions-2.13.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zExceptions/${name}.zip"; + md5 = "4c679696c959040d8e656ef85ae40136"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zlog = buildPythonPackage rec { + name = "zLOG-2.11.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zLOG/${name}.tar.gz"; + md5 = "68073679aaa79ac5a7b6a5c025467147"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zodb3 = buildPythonPackage rec { + name = "ZODB3-3.10.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/Z/ZODB3/${name}.tar.gz"; + md5 = "6f180c6897a1820948fee2a6290503cd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zodbcode = buildPythonPackage rec { + name = "zodbcode-3.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zodbcode/${name}.tar.gz"; + md5 = "9b128f89aa2a2117fae4f74757eefeff"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope2 = buildPythonPackage rec { + name = "Zope2-2.13.19"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/Z/Zope2/${name}.zip"; + md5 = "26fee311aace7c12e406543ea91eb42a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_annotation = buildPythonPackage rec { + name = "zope.annotation-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.annotation/${name}.tar.gz"; + md5 = "4238153279d3f30ab5613438c8e76380"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_apidoc = buildPythonPackage rec { + name = "zope.app.apidoc-3.7.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.apidoc/${name}.zip"; + md5 = "91e969b2d1089bb0a6a303990d269f0a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_applicationcontrol = buildPythonPackage rec { + name = "zope.app.applicationcontrol-3.5.10"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.applicationcontrol/${name}.tar.gz"; + md5 = "f785c13698192c83024fda75f1f3d822"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_appsetup = buildPythonPackage rec { + name = "zope.app.appsetup-3.14.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.appsetup/${name}.tar.gz"; + md5 = "2c3da1f514e6793e2bf612cb06ad9076"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_authentication = buildPythonPackage rec { + name = "zope.app.authentication-3.8.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.authentication/${name}.tar.gz"; + md5 = "f8eb74fbdeebfd32c5e15c0f03aa3623"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_basicskin = buildPythonPackage rec { + name = "zope.app.basicskin-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.basicskin/${name}.tar.gz"; + md5 = "75915a315f336a5b614db67df1093eb3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_broken = buildPythonPackage rec { + name = "zope.app.broken-3.6.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.broken/${name}.tar.gz"; + md5 = "e6a7efdd1ea1facfd8c5ba4b25d395cb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_cache = buildPythonPackage rec { + name = "zope.app.cache-3.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.cache/${name}.zip"; + md5 = "8dd74574e869ce236ced0de7e349bb5c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_catalog = buildPythonPackage rec { + name = "zope.app.catalog-3.8.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.catalog/${name}.tar.gz"; + md5 = "1ce21dee4e8256cfe254f8ee24c6ecef"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_component = buildPythonPackage rec { + name = "zope.app.component-3.9.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.component/${name}.tar.gz"; + md5 = "bc2dce245d2afe462529c350956711e0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_container = buildPythonPackage rec { + name = "zope.app.container-3.9.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.container/${name}.tar.gz"; + md5 = "1e286c59f0166e517d67ddd723641c84"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_content = buildPythonPackage rec { + name = "zope.app.content-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.content/${name}.tar.gz"; + md5 = "0ac6a6fcb5dd6f845759f998d8e8cbb3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_dav = buildPythonPackage rec { + name = "zope.app.dav-3.5.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.dav/${name}.tar.gz"; + md5 = "19ec8dc5f7ad21468dea1c46e86d95dd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_debug = buildPythonPackage rec { + name = "zope.app.debug-3.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.debug/${name}.tar.gz"; + md5 = "1a9d349b14d91137b57da52a2b9d185f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_debugskin = buildPythonPackage rec { + name = "zope.app.debugskin-3.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.debugskin/${name}.tar.gz"; + md5 = "bd95d2848aa3108e53717d13b3c0924d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_dependable = buildPythonPackage rec { + name = "zope.app.dependable-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.dependable/${name}.zip"; + md5 = "5f180620a880e6ec754e3a34bd110891"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_error = buildPythonPackage rec { + name = "zope.app.error-3.5.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.error/${name}.tar.gz"; + md5 = "bab82dd06233e9b5e34e9709e8993ace"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_exception = buildPythonPackage rec { + name = "zope.app.exception-3.6.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.exception/${name}.tar.gz"; + md5 = "af161d3e7c17db7f56f7816a6f2d980c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_file = buildPythonPackage rec { + name = "zope.app.file-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.file/${name}.tar.gz"; + md5 = "fff140c36a2872c85b55433835ac3b98"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_folder = buildPythonPackage rec { + name = "zope.app.folder-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.folder/${name}.tar.gz"; + md5 = "5ba3a2a7ec527a7eb0cc3c2eb7bb75e9"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_form = buildPythonPackage rec { + name = "zope.app.form-4.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.form/${name}.tar.gz"; + md5 = "3d2b164d9d37a71490a024aaeb412e91"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_ftp = buildPythonPackage rec { + name = "zope.app.ftp-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.ftp/${name}.tar.gz"; + md5 = "b0769f90023156a86cb3f46040e6b5b0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_generations = buildPythonPackage rec { + name = "zope.app.generations-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.generations/${name}.tar.gz"; + md5 = "ca74e0f4a01ad8767e1bba6332c39aa2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_http = buildPythonPackage rec { + name = "zope.app.http-3.9.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.http/${name}.tar.gz"; + md5 = "26f73a3affecefc3aff960cd8b088681"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_i18n = buildPythonPackage rec { + name = "zope.app.i18n-3.6.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.i18n/${name}.tar.gz"; + md5 = "c8573307ba08926214b7944a05e43632"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_interface = buildPythonPackage rec { + name = "zope.app.interface-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.interface/${name}.tar.gz"; + md5 = "b15522275a435c609bd44f2f019bd13c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_interpreter = buildPythonPackage rec { + name = "zope.app.interpreter-3.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.interpreter/${name}.tar.gz"; + md5 = "fb8a2aa57dcfa3af2f30801dfafc78c4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_intid = buildPythonPackage rec { + name = "zope.app.intid-3.7.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.intid/${name}.tar.gz"; + md5 = "0d2c1daf5d1d6fd09351b652042a2dac"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_keyreference = buildPythonPackage rec { + name = "zope.app.keyreference-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.keyreference/${name}.tar.gz"; + md5 = "78539e472016a8ca57b34b6ea0ab7d9d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_locales = buildPythonPackage rec { + name = "zope.app.locales-3.6.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.locales/${name}.tar.gz"; + md5 = "bd2b4c6040e768f33004b1210d3207fa"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_localpermission = buildPythonPackage rec { + name = "zope.app.localpermission-3.7.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.localpermission/${name}.tar.gz"; + md5 = "121509781b19ce55ebe890fa408702fc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_locking = buildPythonPackage rec { + name = "zope.app.locking-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.locking/${name}.tar.gz"; + md5 = "4edce1ba26f6c56b0eb79f703d8a80fe"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_onlinehelp = buildPythonPackage rec { + name = "zope.app.onlinehelp-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.onlinehelp/${name}.tar.gz"; + md5 = "67d0be66965e34b24ef18c269da62e4c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_pagetemplate = buildPythonPackage rec { + name = "zope.app.pagetemplate-3.11.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.pagetemplate/${name}.tar.gz"; + md5 = "2d304729c0d6a9ab67dd5ea852f19476"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_preference = buildPythonPackage rec { + name = "zope.app.preference-3.8.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.preference/${name}.tar.gz"; + md5 = "ab6906261854c61ff9f0a13c7612d3e8"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_preview = buildPythonPackage rec { + name = "zope.app.preview-3.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.preview/${name}.tar.gz"; + md5 = "e698c10b043fb944150a825af9af536e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_principalannotation = buildPythonPackage rec { + name = "zope.app.principalannotation-3.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.principalannotation/${name}.tar.gz"; + md5 = "29c6bf8e817330b0d29de253686a68f2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_publication = buildPythonPackage rec { + name = "zope.app.publication-3.12.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.publication/${name}.zip"; + md5 = "d8c521287f52fb9f40fa9b8c2acb4675"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_publisher = buildPythonPackage rec { + name = "zope.app.publisher-3.10.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.publisher/${name}.zip"; + md5 = "66e9110e2967d8d204a65a98e2227404"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_renderer = buildPythonPackage rec { + name = "zope.app.renderer-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.renderer/${name}.tar.gz"; + md5 = "1cc605baf5dab7db50b0a0fd218566f3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_rotterdam = buildPythonPackage rec { + name = "zope.app.rotterdam-3.5.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.rotterdam/${name}.tar.gz"; + md5 = "4cb3c53844bc7481f9b7d60f3c5e3a85"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_schema = buildPythonPackage rec { + name = "zope.app.schema-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.schema/${name}.tar.gz"; + md5 = "92b7c3f4512f3433acc931ecb6ffc936"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_security = buildPythonPackage rec { + name = "zope.app.security-3.7.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.security/${name}.tar.gz"; + md5 = "c7cec00f6d8379b93180faf6ffaa89ea"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_securitypolicy = buildPythonPackage rec { + name = "zope.app.securitypolicy-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.securitypolicy/${name}.tar.gz"; + md5 = "e3c6ef1db3228dbbb60a452c1a2a8f27"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_server = buildPythonPackage rec { + name = "zope.app.server-3.6.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.server/${name}.tar.gz"; + md5 = "d3a75eaf2a3f4759352dd3243dfb1d50"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_session = buildPythonPackage rec { + name = "zope.app.session-3.6.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.session/${name}.tar.gz"; + md5 = "93467bf6854d714b53e71f36a9d770f3"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_skins = buildPythonPackage rec { + name = "zope.app.skins-3.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.skins/${name}.tar.gz"; + md5 = "a0bc210720ee50e40adb93e9c685e884"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_testing = buildPythonPackage rec { + name = "zope.app.testing-3.7.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.testing/${name}.tar.gz"; + md5 = "6fd3eb11e24973a3dbdf5f1ab655c0d4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_tree = buildPythonPackage rec { + name = "zope.app.tree-3.6.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.tree/${name}.tar.gz"; + md5 = "fbde3403c682bc7cf7b73d43cd2eed3a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_twisted = buildPythonPackage rec { + name = "zope.app.twisted-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.twisted/${name}.tar.gz"; + md5 = "9e98868b8be8a0c4f720036366364a67"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_undo = buildPythonPackage rec { + name = "zope.app.undo-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.undo/${name}.tar.gz"; + md5 = "7a40060aa0451a635a31d6e12d17a82e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_wsgi = buildPythonPackage rec { + name = "zope.app.wsgi-3.9.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.wsgi/${name}.tar.gz"; + md5 = "9c766908b720d777e02e0b0a9ac8a8a1"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_zcmlfiles = buildPythonPackage rec { + name = "zope.app.zcmlfiles-3.7.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.zcmlfiles/${name}.tar.gz"; + md5 = "0e8991d2bed71ee6b98a2c48d21e1126"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_zopeappgenerations = buildPythonPackage rec { + name = "zope.app.zopeappgenerations-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.zopeappgenerations/${name}.tar.gz"; + md5 = "4c8a0bc409677f8b17dc57737d41f919"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_app_zptpage = buildPythonPackage rec { + name = "zope.app.zptpage-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.app.zptpage/${name}.tar.gz"; + md5 = "aed8ec49e10911bd1e9d2c9d467fd098"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_applicationcontrol = buildPythonPackage rec { + name = "zope.applicationcontrol-3.5.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.applicationcontrol/${name}.tar.gz"; + md5 = "5e4bb54afe55185e15bd9d1ba3750857"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_authentication = buildPythonPackage rec { + name = "zope.authentication-3.7.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.authentication/${name}.zip"; + md5 = "7d6bb340610518f2fc71213cfeccda68"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_broken = buildPythonPackage rec { + name = "zope.broken-3.6.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.broken/${name}.zip"; + md5 = "eff24d7918099a3e899ee63a9c31bee6"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_browser = buildPythonPackage rec { + name = "zope.browser-1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip"; + md5 = "4ff0ddbf64c45bfcc3189e35f4214ded"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_browsermenu = buildPythonPackage rec { + name = "zope.browsermenu-3.9.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.browsermenu/${name}.zip"; + md5 = "a47c7b1e786661c912a1150bf8d1f83f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_browserpage = buildPythonPackage rec { + name = "zope.browserpage-3.12.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.browserpage/${name}.tar.gz"; + md5 = "a543ef3cb1b42f7233b3fca23dc9ea60"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_browserresource = buildPythonPackage rec { + name = "zope.browserresource-3.10.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.browserresource/${name}.zip"; + md5 = "dbfde30e82dbfa1a74c5da0cb5a4772d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_cachedescriptors = buildPythonPackage rec { + name = "zope.cachedescriptors-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.cachedescriptors/${name}.zip"; + md5 = "263459a95238fd61d17e815d97ca49ce"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_catalog = buildPythonPackage rec { + name = "zope.catalog-3.8.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.catalog/${name}.tar.gz"; + md5 = "f9baff3997e337f0a23ac158258c8842"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_component = buildPythonPackage rec { + name = "zope.component-3.9.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.component/${name}.tar.gz"; + md5 = "22780b445b1b479701c05978055d1c82"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_componentvocabulary = buildPythonPackage rec { + name = "zope.componentvocabulary-1.0.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.componentvocabulary/${name}.tar.gz"; + md5 = "1c8fa82ca1ab1f4b0bd2455a31fde22b"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_configuration = buildPythonPackage rec { + name = "zope.configuration-3.7.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.configuration/${name}.zip"; + md5 = "5b0271908ef26c05059eda76928896ea"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_container = buildPythonPackage rec { + name = "zope.container-3.11.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz"; + md5 = "fc66d85a17b8ffb701091c9328983dcc"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_contentprovider = buildPythonPackage rec { + name = "zope.contentprovider-3.7.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.contentprovider/${name}.tar.gz"; + md5 = "1bb2132551175c0123f17939a793f812"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_contenttype = buildPythonPackage rec { + name = "zope.contenttype-3.5.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.zip"; + md5 = "c6ac80e6887de4108a383f349fbdf332"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_copy = buildPythonPackage rec { + name = "zope.copy-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.copy/${name}.tar.gz"; + md5 = "a9836a5d36cd548be45210eb00407337"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_copypastemove = buildPythonPackage rec { + name = "zope.copypastemove-3.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.copypastemove/${name}.tar.gz"; + md5 = "f335940686d15cfc5520c42f2494a924"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_datetime = buildPythonPackage rec { + name = "zope.datetime-3.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.datetime/${name}.tar.gz"; + md5 = "4dde22d34f41a0a4f0c5a345e6d11ee9"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_deferredimport = buildPythonPackage rec { + name = "zope.deferredimport-3.5.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.deferredimport/${name}.tar.gz"; + md5 = "68fce3bf4f011d4a840902fd763884ee"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_deprecation = buildPythonPackage rec { + name = "zope.deprecation-3.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz"; + md5 = "8a47b0f8e1fa4e833007e5b8351bb1d4"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_documenttemplate = buildPythonPackage rec { + name = "zope.documenttemplate-3.4.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.documenttemplate/${name}.tar.gz"; + md5 = "d5c302534ee0913c39bdc227e1592cb7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_dottedname = buildPythonPackage rec { + name = "zope.dottedname-3.4.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.dottedname/${name}.tar.gz"; + md5 = "62d639f75b31d2d864fe5982cb23959c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_dublincore = buildPythonPackage rec { + name = "zope.dublincore-3.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.dublincore/${name}.tar.gz"; + md5 = "2e34e42e454d896feb101ac74af62ded"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_error = buildPythonPackage rec { + name = "zope.error-3.7.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.error/${name}.tar.gz"; + md5 = "281445a906458ff5f18f56923699a127"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_event = buildPythonPackage rec { + name = "zope.event-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz"; + md5 = "6e8af2a16157a74885d4f0d88137cefb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_exceptions = buildPythonPackage rec { + name = "zope.exceptions-3.6.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.exceptions/${name}.tar.gz"; + md5 = "d7234d99d728abe3d9275346e8d24fd9"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_file = buildPythonPackage rec { + name = "zope.file-0.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.file/${name}.tar.gz"; + md5 = "5df3b63c678f4b445be345f1dff1bc9b"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_filerepresentation = buildPythonPackage rec { + name = "zope.filerepresentation-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.filerepresentation/${name}.tar.gz"; + md5 = "4a7a434094f4bfa99a7f22e75966c359"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_formlib = buildPythonPackage rec { + name = "zope.formlib-4.0.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.formlib/${name}.zip"; + md5 = "eed9c94382d11a4dececd0a48ac1d3f2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_globalrequest = buildPythonPackage rec { + name = "zope.globalrequest-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.globalrequest/${name}.zip"; + md5 = "ae6ff02db5ba89c1fb96ed7a73ca1cfa"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_hookable = buildPythonPackage rec { + name = "zope.hookable-3.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.hookable/${name}.tar.gz"; + md5 = "fe6713aef5b6c0f4963fb984bf326da0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_html = buildPythonPackage rec { + name = "zope.html-2.1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.html/${name}.tar.gz"; + md5 = "868cb987e400b9a290355a1207d47143"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_i18n = buildPythonPackage rec { + name = "zope.i18n-3.7.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz"; + md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_i18nmessageid = buildPythonPackage rec { + name = "zope.i18nmessageid-3.5.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/${name}.tar.gz"; + md5 = "cb84bf61c2b7353e3b7578057fbaa264"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_index = buildPythonPackage rec { + name = "zope.index-3.6.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.index/${name}.tar.gz"; + md5 = "65c34f446f54ffd711e34ede9eb89dad"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_interface = buildPythonPackage rec { + name = "zope.interface-3.6.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.zip"; + md5 = "9df962180fbbb54eb1875cff9fe436e5"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_intid = buildPythonPackage rec { + name = "zope.intid-3.7.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.intid/${name}.zip"; + md5 = "241f2fe62fb60f6319d9902b12bc333d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_keyreference = buildPythonPackage rec { + name = "zope.keyreference-3.6.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.keyreference/${name}.tar.gz"; + md5 = "3774c90f236f880547f4c042ee0997e9"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_kgs = buildPythonPackage rec { + name = "zope.kgs-1.2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.kgs/${name}.tar.gz"; + md5 = "15ed01a270bddcf253b1c08479549692"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_lifecycleevent = buildPythonPackage rec { + name = "zope.lifecycleevent-3.6.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz"; + md5 = "3ba978f3ba7c0805c81c2c79ea3edb33"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_location = buildPythonPackage rec { + name = "zope.location-3.9.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.location/${name}.tar.gz"; + md5 = "1684a8f986099d15296f670c58e713d8"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_login = buildPythonPackage rec { + name = "zope.login-1.0.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.login/${name}.zip"; + md5 = "4eceb766329125a80aee1b4b4809869a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_mimetype = buildPythonPackage rec { + name = "zope.mimetype-1.3.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.mimetype/${name}.tar.gz"; + md5 = "c865758c896707287f86ba603f06a84b"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_minmax = buildPythonPackage rec { + name = "zope.minmax-1.1.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.minmax/${name}.tar.gz"; + md5 = "0c3fbac9623f402ed758dace80080d55"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_mkzeoinstance = buildPythonPackage rec { + name = "zope.mkzeoinstance-3.9.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.mkzeoinstance/${name}.tar.gz"; + md5 = "2c2dcf7cc7de58f7d009ca3294f54377"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_modulealias = buildPythonPackage rec { + name = "zope.modulealias-3.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.modulealias/${name}.tar.gz"; + md5 = "77f4603524b578a5c6b4b4fdde58a484"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_pagetemplate = buildPythonPackage rec { + name = "zope.pagetemplate-3.6.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.pagetemplate/${name}.zip"; + md5 = "834a4bf702c05fba1e669677b4dc871f"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_password = buildPythonPackage rec { + name = "zope.password-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.password/${name}.tar.gz"; + md5 = "230f93a79020c8a3dc01d79832546e3c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_pluggableauth = buildPythonPackage rec { + name = "zope.pluggableauth-1.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.pluggableauth/${name}.tar.gz"; + md5 = "85d16cb2e5b41bf2a438828857719566"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_preference = buildPythonPackage rec { + name = "zope.preference-3.8.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.preference/${name}.tar.gz"; + md5 = "bb8b1c9f65387a51be429407528cc453"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_principalannotation = buildPythonPackage rec { + name = "zope.principalannotation-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.principalannotation/${name}.tar.gz"; + md5 = "652685ca13cefaad78dbc5c6507fc9ab"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_principalregistry = buildPythonPackage rec { + name = "zope.principalregistry-3.7.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.principalregistry/${name}.tar.gz"; + md5 = "9b90adc7915d9bbed4237db432fc70c2"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_processlifetime = buildPythonPackage rec { + name = "zope.processlifetime-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.processlifetime/${name}.tar.gz"; + md5 = "69604bfd668a01ebebdd616a8f26ccfe"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_proxy = buildPythonPackage rec { + name = "zope.proxy-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.proxy/${name}.zip"; + md5 = "a400b0a26624b17fa889dbcaa989d440"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_ptresource = buildPythonPackage rec { + name = "zope.ptresource-3.9.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.ptresource/${name}.tar.gz"; + md5 = "f4645e51c15289d3fdfb4139039e18e9"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_publisher = buildPythonPackage rec { + name = "zope.publisher-3.12.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.publisher/${name}.tar.gz"; + md5 = "495131970cc7cb14de8e517fb3857ade"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_ramcache = buildPythonPackage rec { + name = "zope.ramcache-1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.ramcache/${name}.zip"; + md5 = "87289e15f0e51f50704adda1557c02a7"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_rdb = buildPythonPackage rec { + name = "zope.rdb-3.5.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.rdb/${name}.tar.gz"; + md5 = "2068b469c07c9c0b41392cd9839e3728"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_schema = buildPythonPackage rec { + name = "zope.schema-4.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.zip"; + md5 = "bfa0460b68df0dbbf7a5dc793b0eecc6"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_security = buildPythonPackage rec { + name = "zope.security-3.7.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.security/${name}.tar.gz"; + md5 = "072ab8d11adc083eace11262da08630c"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_securitypolicy = buildPythonPackage rec { + name = "zope.securitypolicy-3.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.securitypolicy/${name}.tar.gz"; + md5 = "fe9ba029384c0640b2ba175ba1805cd8"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_sendmail = buildPythonPackage rec { + name = "zope.sendmail-3.7.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.sendmail/${name}.tar.gz"; + md5 = "8a513ecf2b41cad849f6607bf16d6818"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_sequencesort = buildPythonPackage rec { + name = "zope.sequencesort-3.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.sequencesort/${name}.tar.gz"; + md5 = "cfc35fc426a47f5c0ee43c416224b864"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_server = buildPythonPackage rec { + name = "zope.server-3.6.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.server/${name}.tar.gz"; + md5 = "2a758720fd6d9bdfb1cea8d644c27923"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_session = buildPythonPackage rec { + name = "zope.session-3.9.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.session/${name}.tar.gz"; + md5 = "2934e9f2daa01555e9a7a1f9945c3493"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_site = buildPythonPackage rec { + name = "zope.site-3.9.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.site/${name}.tar.gz"; + md5 = "36a0b8dfbd713ed452ce6973ab0a3ddb"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_size = buildPythonPackage rec { + name = "zope.size-3.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz"; + md5 = "55d9084dfd9dcbdb5ad2191ceb5ed03d"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_structuredtext = buildPythonPackage rec { + name = "zope.structuredtext-3.5.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.structuredtext/${name}.tar.gz"; + md5 = "eabbfb983485d0879322bc878d2478a0"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_tal = buildPythonPackage rec { + name = "zope.tal-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.tal/${name}.zip"; + md5 = "13869f292ba36b294736b7330b1396fd"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_tales = buildPythonPackage rec { + name = "zope.tales-3.5.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.tales/${name}.tar.gz"; + md5 = "1c5060bd766a0a18632b7879fc9e4e1e"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_testbrowser = buildPythonPackage rec { + name = "zope.testbrowser-3.11.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.testbrowser/${name}.tar.gz"; + md5 = "64abbee892121e7f1a91aed12cfc155a"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_testing = buildPythonPackage rec { + name = "zope.testing-3.9.7"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz"; + md5 = "8999f3d143d416dc3c8b2a5bd6f33e28"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_thread = buildPythonPackage rec { + name = "zope.thread-3.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.thread/${name}.tar.gz"; + md5 = "3567037865b746c933d4af86e5aefa35"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_traversing = buildPythonPackage rec { + name = "zope.traversing-3.13.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip"; + md5 = "eaad8fc7bbef126f9f8616b074ec00aa"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_viewlet = buildPythonPackage rec { + name = "zope.viewlet-3.7.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.viewlet/${name}.tar.gz"; + md5 = "367e03096df57e2f9b74fff43f7901f9"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zope_xmlpickle = buildPythonPackage rec { + name = "zope.xmlpickle-3.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.xmlpickle/${name}.tar.gz"; + md5 = "b579f35546b095aec2c890d3f8a46911"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + zopeundo = buildPythonPackage rec { + name = "ZopeUndo-2.12.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/Z/ZopeUndo/${name}.zip"; + md5 = "2b8da09d1b98d5558f62e12f6e52c401"; + }; + + # ignore dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + buildInputs = [ pkgs.unzip ]; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + + + eggtestinfo = buildPythonPackage rec { + name = "eggtestinfo-0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/e/eggtestinfo/${name}.tar.gz"; + md5 = "6f0507aee05f00c640c0d64b5073f840"; + }; + + # circular dependencies + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ + stdenv.lib.maintainers.chaoflow + stdenv.lib.maintainers.garbas + stdenv.lib.maintainers.goibhniu + ]; + }; + }; + +}; in plone42Packages + +# Not Found: ['nt-svcutils', 'PIL', 'wsgi-intercept'] +# Version Error: ['collective.z3cform.datagridfield-demo'] diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix index f7375172f06..48c4809e5cd 100644 --- a/pkgs/games/LambdaHack/default.nix +++ b/pkgs/games/LambdaHack/default.nix @@ -1,15 +1,19 @@ -{ cabal, binary, ConfigFile, filepath, gtk, mtl, random, zlib }: +{ cabal, binary, ConfigFile, filepath, gtk, miniutter, mtl, random +, text, zlib +}: cabal.mkDerivation (self: { pname = "LambdaHack"; - version = "0.2.1"; - sha256 = "1d2mnpy8fl9m5584rbskgary18mqibivwmlz9gfv87gg0lzhw2ab"; + version = "0.2.6.5"; + sha256 = "114s3adqs5mh566dbn0bb20v088wgg8arsm6m8hs9vx8j3jc8nx5"; isLibrary = true; isExecutable = true; - buildDepends = [ binary ConfigFile filepath gtk mtl random zlib ]; + buildDepends = [ + binary ConfigFile filepath gtk miniutter mtl random text zlib + ]; meta = { homepage = "http://github.com/kosmikus/LambdaHack"; - description = "A roguelike game engine in early and very active development"; + description = "A roguelike game engine in early and active development"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/games/andyetitmoves/default.nix b/pkgs/games/andyetitmoves/default.nix index 6234d3702f7..cf3f6e1563b 100644 --- a/pkgs/games/andyetitmoves/default.nix +++ b/pkgs/games/andyetitmoves/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { cp -r * $out/opt/andyetitmoves/ fullPath=${stdenv.gcc.gcc}/lib64 - for i in $buildNativeInputs; do + for i in $nativeBuildInputs; do fullPath=$fullPath''${fullPath:+:}$i/lib done diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix new file mode 100644 index 00000000000..d2e438dfa7b --- /dev/null +++ b/pkgs/games/anki/default.nix @@ -0,0 +1,67 @@ +{ stdenv, lib, fetchurl +, python, pyqt4, pythonPackages +# This little flag adds a huge number of dependencies, but we assume that +# everyone wants Anki to draw plots with statistics by default. +, plotsSupport ? true }: + +let + py = pythonPackages; +in + +stdenv.mkDerivation rec { + name = "anki-2.0.3"; + src = fetchurl { + url = "http://ankisrs.net/download/mirror/${name}.tgz"; + sha256 = "f40ee4ef29c91101cf9978ce7bd4c513f13ca7c77497a3fb50b8128adf3a5178"; + }; + + pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy ] + ++ lib.optional plotsSupport py.matplotlib; + + buildInputs = [ python py.wrapPython ]; + + preConfigure = '' + substituteInPlace anki \ + --replace /usr/share/ $out/share/ + + substituteInPlace Makefile \ + --replace PREFIX=/usr PREFIX=$out \ + --replace /local/bin/ /bin/ + + sed -i '/xdg-mime/ d' Makefile + ''; + + preInstall = '' + mkdir -p $out/bin + mkdir -p $out/share/pixmaps + mkdir -p $out/share/applications + mkdir -p $out/share/man/man1 + ''; + + postInstall = '' + wrapPythonPrograms + ''; + + meta = { + homepage = http://ankisrs.net/; + description = "Spaced repetition flashcard program"; + # Copy-pasted from the homepage + longDescription = '' + Anki is a program which makes remembering things easy. Because it is a lot + more efficient than traditional study methods, you can either greatly + decrease your time spent studying, or greatly increase the amount you learn. + + Anyone who needs to remember things in their daily life can benefit from + Anki. Since it is content-agnostic and supports images, audio, videos and + scientific markup (via LaTeX), the possibilities are endless. For example: + + * learning a language + * studying for medical and law exams + * memorizing people's names and faces + * brushing up on geography + * mastering long poems + * even practicing guitar chords! + ''; + license = "GPLv3"; + }; +} diff --git a/pkgs/games/bsdgames/default.nix b/pkgs/games/bsdgames/default.nix index 38a32da9537..59423d7a5a6 100644 --- a/pkgs/games/bsdgames/default.nix +++ b/pkgs/games/bsdgames/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ncurses, openssl, flex, bison, miscfiles}: +{stdenv, fetchurl, ncurses, openssl, flex, bison, less, miscfiles}: stdenv.mkDerivation { name = "bsd-games-2.17"; @@ -26,12 +26,19 @@ stdenv.mkDerivation { bsd_games_cfg_fortune_dir=$out/share/games/fortune bsd_games_cfg_quiz_dir=$out/share/games/quiz bsd_games_cfg_gamesdir=$out/bin + bsd_games_cfg_sbindir=$out/bin + bsd_games_cfg_usrbindir=$out/bin + bsd_games_cfg_libexecdir=$out/lib/games/dm + bsd_games_cfg_docdir=$out/share/doc/bsd-games + bsd_games_cfg_sharedir=$out/share/games + bsd_games_cfg_varlibdir=. bsd_games_cfg_non_interactive=y bsd_games_cfg_no_build_dirs="dab hack phantasia sail" bsd_games_cfg_dictionary_src=${miscfiles}/share/dict/words + bsd_games_cfg_pager=${less} EOF - sed -e s/getline/sdgames_local_getline/g -i $(grep getline -rl .) + sed -e s/getline/bsdgames_local_getline/g -i $(grep getline -rl .) ''; postConfigure = '' diff --git a/pkgs/games/exult/snapshot.nix b/pkgs/games/exult/snapshot.nix deleted file mode 100644 index 95643af6a62..00000000000 --- a/pkgs/games/exult/snapshot.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, unzip -, autoconf, automake, libtool, bison, flex -}: - -stdenv.mkDerivation { - name = "exult-1.4-pre-svn-20080712-0500"; - - builder = ./builder.sh; - - src = fetchurl { - url = http://www.math.leidenuniv.nl/~wpalenst/cvs/exult-20080712-0500.tar.gz; - sha256 = "186z8qb713yr1wfasfbpgz2wfqwmbh2d6lmgz1v8lhmwmfpkzgc4"; - }; - - buildInputs = [ - SDL SDL_mixer zlib libpng unzip - # The following are only needed because we're building from SVN. - autoconf automake libtool bison flex - ]; - - NIX_CFLAGS_COMPILE = "-I${SDL_mixer}/include/SDL"; - - preConfigure = '' - ./autogen.sh - ''; - - # Digital recordings of the music on an original Roland MT-32. So - # we don't need actual MIDI playback capability. - musicFiles = [ - (fetchurl { - url = mirror://sourceforge/exult/U7MusicOGG_1of2.zip; - md5 = "7746d1a9164fd67509107797496553bf"; - }) - (fetchurl { - url = mirror://sourceforge/exult/U7MusicOGG_2of2.zip; - md5 = "cdae5956d7c52f35e90317913a660123"; - }) - ]; - - meta = { - homepage = http://exult.sourceforge.net/; - description = "A reimplementation of the Ultima VII game engine (pre-release)"; - }; -} diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix index 7aaf3238308..049f10ad15b 100644 --- a/pkgs/games/freeciv/default.nix +++ b/pkgs/games/freeciv/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { sha256 = "1n3ak0y9hj9kha0r3cdbi8zb47vrgal1jsbblamqgwwwgzy8cri3"; }; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ zlib bzip2 ] ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype ] diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix index ba6b65d602b..7a9dc110540 100644 --- a/pkgs/games/fsg/default.nix +++ b/pkgs/games/fsg/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation { name = "fsg-4.4"; src = fetchurl { - url = http://www.piettes.com/fallingsandgame/fsg-src-4.4.tar.gz; + #url = http://www.piettes.com/fallingsandgame/fsg-src-4.4.tar.gz; + url = http://www.sourcefiles.org/Games/Simulation/Other/fsg-src-4.4.tar.gz; sha256 = "1756y01rkvd3f1pkj88jqh83fqcfl2fy0c48mcq53pjzln9ycv8c"; }; @@ -38,7 +39,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -p $out/bin $out/libexec cp sand $out/libexec - echo -e '#! /bin/sh\nLC_ALL=C '$out'/libexec/sand "$@"' >$out/bin/fsg + echo -e '#!${stdenv.shell}\nLC_ALL=C '$out'/libexec/sand "$@"' >$out/bin/fsg chmod a+x $out/bin/fsg ''; diff --git a/pkgs/games/gnuchess/default.nix b/pkgs/games/gnuchess/default.nix index 24556d83148..8a706896ba5 100644 --- a/pkgs/games/gnuchess/default.nix +++ b/pkgs/games/gnuchess/default.nix @@ -1,36 +1,29 @@ -{builderDefsPackage, flex} @ x: -builderDefsPackage -(a : -let - fetchurl = a.fetchurl; - - version = a.lib.attrByPath ["version"] "5.07" a; - buildInputs = with a; [ +{stdenv, fetchurl, flex}: +let + s = # Generated upstream information + rec { + baseName="gnuchess"; + version="6.0.2"; + name="${baseName}-${version}"; + hash="1xd3g28glz2xyjnca0zfw3k0jl5vhgd7wvy4n9km5wnn9z7287l2"; + url="http://ftp.gnu.org/gnu/chess/gnuchess-6.0.2.tar.gz"; + sha256="1xd3g28glz2xyjnca0zfw3k0jl5vhgd7wvy4n9km5wnn9z7287l2"; + }; + buildInputs = [ flex ]; in -rec { +stdenv.mkDerivation rec { + inherit (s) name version; src = fetchurl { - url = "mirror://gnu/chess/gnuchess-${version}.tar.gz"; - sha256 = "0zh15m35fzbsrk1aann9pwlkv54dwb00snx99pk3xbg5bwkf125k"; + inherit (s) url sha256; }; - inherit buildInputs; - configureFlags = []; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "preBuild" "doMakeInstall"]; - - preBuild = a.fullDepEntry ('' - sed -i src/input.c -e 's/static pthread_t/pthread_t/' - sed -i "s@gnuchess@$out/bin/gnuchess@" -i src/gnuchessx - - - sed -e s/getline/gnuchess_local_getline/g -i $(grep getline -rl .) - '') ["minInit" "doUnpack"]; - - name = "gnuchess-" + version; meta = { - description = "GNU Chess playing program"; + inherit (s) version; + description = "GNU Chess engine"; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl3Plus; }; -}) x +} diff --git a/pkgs/games/gnuchess/default.upstream b/pkgs/games/gnuchess/default.upstream new file mode 100644 index 00000000000..e1d1d5f2eeb --- /dev/null +++ b/pkgs/games/gnuchess/default.upstream @@ -0,0 +1 @@ +url http://ftp.gnu.org/gnu/chess/ diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix new file mode 100644 index 00000000000..4e886466777 --- /dev/null +++ b/pkgs/games/lincity/ng.nix @@ -0,0 +1,35 @@ +{stdenv, fetchurl +, zlib, jam, pkgconfig, gettext, libxml2, libxslt, xproto, libX11, mesa, SDL +, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, physfs +}: +let s = # Generated upstream information + rec { + baseName="lincity"; + version="2.0"; + name="lincity-2.0"; + hash="01k6n304qj0z5zmqr49gqirp0jmx2b0cpisgkxk1ga67vyjhdcm6"; + url="http://download.berlios.de/lincity-ng/lincity-ng-2.0.tar.bz2"; + sha256="01k6n304qj0z5zmqr49gqirp0jmx2b0cpisgkxk1ga67vyjhdcm6"; + }; + buildInputs = [zlib jam pkgconfig gettext libxml2 libxslt xproto libX11 mesa + SDL SDL_mixer SDL_image SDL_ttf SDL_gfx physfs]; +in +stdenv.mkDerivation rec { + inherit (s) name version; + src = fetchurl { + inherit (s) url sha256; + }; + + inherit buildInputs; + + buildPhase = "jam"; + installPhase="jam install"; + + meta = { + documentation = ''City building game''; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [stdenv.lib.maintainers.raskin]; + inherit (s) version; + }; +} diff --git a/pkgs/games/lincity/ng.upstream b/pkgs/games/lincity/ng.upstream new file mode 100644 index 00000000000..d73d1a2c419 --- /dev/null +++ b/pkgs/games/lincity/ng.upstream @@ -0,0 +1,5 @@ +target ng.nix +attribute_name lincity_ng +url https://fedorahosted.org/LinCity-NG/wiki/Downloads +version_link tar.bz2 +version_link tar.bz2 diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix index 3281f07335b..1f80998da92 100644 --- a/pkgs/games/minecraft/default.nix +++ b/pkgs/games/minecraft/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm -, mesa, openal}: +, mesa, openal, alsaOss }: stdenv.mkDerivation { - name = "minecraft-1.3.1"; + name = "minecraft-1.4.7"; src = fetchurl { url = "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar"; - sha256 = "0j8a889w174vwgcxl4yqgp2kbqqha3x505fn7izz38srlx59gnwj"; + sha256 = "92db974aa759a3f17f3cd61550fa5010e335c57dd813dad9e39b9cc013420a49"; }; phases = "installPhase"; @@ -21,7 +21,7 @@ stdenv.mkDerivation { # wrapper for minecraft export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${jre}/lib/${jre.architecture}/:${libX11}/lib/:${libXext}/lib/:${libXcursor}/lib/:${libXrandr}/lib/:${libXxf86vm}/lib/:${mesa}/lib/:${openal}/lib/ - ${jre}/bin/java -jar $out/minecraft.jar + ${alsaOss}/bin/aoss ${jre}/bin/java -jar $out/minecraft.jar EOF chmod +x $out/bin/minecraft diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix new file mode 100644 index 00000000000..3b06cd8694c --- /dev/null +++ b/pkgs/games/minetest/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchgit, cmake, irrlicht3843, libpng12, bzip2, + libjpeg, libXxf86vm, mesa, openal, libvorbis, x11 }: + +let + version = "0.4.4"; + sources = { + src = fetchgit { + url = "https://github.com/celeron55/minetest.git"; + rev = "ab06fca4bed26f3dc97d5e5cff437d075d7acff8"; + }; + data = fetchgit { + url = "https://github.com/celeron55/minetest_game.git"; + rev = "3928eccf74af0288d12ffb14f8222fae479bc06b"; + }; + }; +in stdenv.mkDerivation { + name = "minetest-${version}"; + + src = sources.src; + + cmakeFlags = [ + "-DIRRLICHT_INCLUDE_DIR=${irrlicht3843}/include/irrlicht" + ]; + + buildInputs = [ + cmake irrlicht3843 libpng12 bzip2 libjpeg + libXxf86vm mesa openal libvorbis x11 + ]; + + postInstall = '' + mkdir -pv $out/share/minetest/games/minetest_game/ + cp -rv ${sources.data}/* $out/share/minetest/games/minetest_game/ + ''; + + meta = { + homepage = "http://minetest.net/"; + description = "Minetest is an infinite-world block sandbox game."; + license = "LGPLv2.1+"; + }; +} diff --git a/pkgs/games/naev/default.nix b/pkgs/games/naev/default.nix index 36ccbf98274..4516afaef6d 100644 --- a/pkgs/games/naev/default.nix +++ b/pkgs/games/naev/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation { buildInputs = [ SDL SDL_mixer openal libxml2 libvorbis libpng mesa zlib ]; - buildNativeInputs = [ pkgconfig makeWrapper ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; NIX_CFLAGS_COMPILE="-include ${zlib}/include/zlib.h"; @@ -36,6 +36,6 @@ stdenv.mkDerivation { homepage = http://www.naev.org; license = "GPLv3+"; maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + #platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix index 4605f04e3ae..339c3bbd1a8 100644 --- a/pkgs/games/oilrush/default.nix +++ b/pkgs/games/oilrush/default.nix @@ -1,11 +1,12 @@ -{ stdenv, getConfig, fetchurl, libX11, libXext, libXinerama, libXrandr +{ stdenv, config, fetchurl, libX11, libXext, libXinerama, libXrandr , libXrender, fontconfig, freetype, openal }: + stdenv.mkDerivation { name = "oilrush"; src = let - url = getConfig [ "oilrush" "url" ] null; - sha256 = getConfig [ "oilrush" "sha256" ] null; + url = config.oilrush.url or null; + sha256 = config.oilrush.sha256 or null; in assert url != null && sha256 != null; fetchurl { inherit url sha256; }; diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 66c296b487a..616adf00224 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -1,22 +1,42 @@ -{stdenv, fetchurl, SDL, libpng, zlib}: +{stdenv, fetchurl, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig}: stdenv.mkDerivation rec { name = "openttd-${version}"; - version = "0.6.0"; + version = "1.2.2"; src = fetchurl { - url = "mirror://sf/openttd/${name}-source.tar.bz2"; - md5 = "dcf63687c73ff56887049fedaf6c6019"; + url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; + sha256 = "158znfx389bhs9gd2hadnbc2a32z4ma1vz8704cmw9yh0fmhbcap"; }; - buildInputs = [SDL libpng]; + buildInputs = [SDL libpng pkgconfig xz zlib freetype fontconfig]; prefixKey = "--prefix-dir="; - configureFlags = "--with-zlib=${zlib}/lib/libz.a"; + + configureFlags = '' + --with-zlib=${zlib}/lib/libz.a + --without-liblzo2 + ''; + makeFlags = "INSTALL_PERSONAL_DIR="; + postInstall = '' + mv $out/games/ $out/bin + ''; + meta = { description = ''OpenTTD is an open source clone of the Microprose game "Transport Tycoon Deluxe".''; + longDescription = '' + OpenTTD is a transportation economics simulator. In single player mode, + players controll a transportation business, and use rail, road, sea, and air + transport to move goods and people around the simulated world. + + In multiplayer networked mode, players may: + - play competitively as different businesses + - play cooperatively controling the same business + - observe as spectators + ''; homepage = http://www.openttd.org/; license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; }; } diff --git a/pkgs/games/pingus/default.nix b/pkgs/games/pingus/default.nix new file mode 100644 index 00000000000..43cdc2031bf --- /dev/null +++ b/pkgs/games/pingus/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, scons, SDL, SDL_image, boost, libpng, SDL_mixer, pkgconfig +, mesa}: +let + buildInputs = [scons SDL SDL_image boost libpng SDL_mixer pkgconfig mesa]; + s = # Generated upstream information + rec { + baseName="pingus"; + version="0.7.6"; + name="pingus-0.7.6"; + hash="0q34d2k6anzqvb0mf67x85q92lfx9jr71ry13dlp47jx0x9i573m"; + url="http://pingus.googlecode.com/files/pingus-0.7.6.tar.bz2"; + sha256="0q34d2k6anzqvb0mf67x85q92lfx9jr71ry13dlp47jx0x9i573m"; + }; +in +stdenv.mkDerivation rec { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + makeFlags = '' PREFIX="$(out)" ''; + meta = { + inherit (s) version; + description = ''A puzzle game with mechanics similar to Lemmings''; + platforms = stdenv.lib.platforms.linux; + maintainers = [stdenv.lib.maintainers.raskin]; + license = stdenv.lib.licenses.gpl3; + }; +} diff --git a/pkgs/games/pingus/default.upstream b/pkgs/games/pingus/default.upstream new file mode 100644 index 00000000000..6b4eb31aa5f --- /dev/null +++ b/pkgs/games/pingus/default.upstream @@ -0,0 +1 @@ +url http://pingus.seul.org/download.html diff --git a/pkgs/games/prboom/default.nix b/pkgs/games/prboom/default.nix index f66e2295a22..95ad53cb1ae 100644 --- a/pkgs/games/prboom/default.nix +++ b/pkgs/games/prboom/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { buildInputs = [ SDL SDL_mixer SDL_net mesa ]; crossAttrs = { - propagatedBuildInputs = [ SDL.hostDrv SDL_mixer.hostDrv SDL_net.hostDrv ]; + propagatedBuildInputs = [ SDL.crossDrv SDL_mixer.crossDrv SDL_net.crossDrv ]; configureFlags = "--disable-gl --disable-cpu-opt --without-x --disable-sdltest ac_cv_type_uid_t=yes ac_cv_type_gid_t=yes"; diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix new file mode 100644 index 00000000000..934213279fa --- /dev/null +++ b/pkgs/games/rili/default.nix @@ -0,0 +1,31 @@ +{stdenv, fetchurl, SDL_mixer, SDL, autoconf, automake}: + +stdenv.mkDerivation { + name = "ri_li-2.0.1"; + + src = fetchurl { + url = mirror://sourceforge/ri-li/Ri-li-2.0.1.tar.bz2; + sha256 = "f71ccc20c37c601358d963e087ac0d524de8c68e96df09c3aac1ae65edd38dbd"; + }; + + patches = [ ./moderinze_cpp.patch ]; + + preConfigure = '' + export CPPFLAGS="-I${SDL}/include -I${SDL}/include/SDL -I${SDL_mixer}/include" + autoreconf -i + ''; + + buildInputs = [SDL SDL_mixer autoconf automake]; + + meta = { + homepage = http://ri-li.sourceforge.net; + license = "GPL2+"; + description = "A children's train game"; + longDescription = '' + Ri-li is an arcade game licensed under the GPL (General Public License). +You drive a toy wood engine in many levels and you must collect all the coaches +to win. + ''; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/games/rili/moderinze_cpp.patch b/pkgs/games/rili/moderinze_cpp.patch new file mode 100644 index 00000000000..3d076afb39e --- /dev/null +++ b/pkgs/games/rili/moderinze_cpp.patch @@ -0,0 +1,391 @@ +diff -r -u Ri-li-2.0.1.orig/src/audio.cc Ri-li-2.0.1/src/audio.cc +--- Ri-li-2.0.1.orig/src/audio.cc 2012-01-22 00:40:56.928609371 -0800 ++++ Ri-li-2.0.1/src/audio.cc 2012-01-22 00:28:33.360636539 -0800 +@@ -22,8 +22,8 @@ + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + #include +-#include +-#include ++#include ++#include + + #include "audio.h" + #include "utils.h" +@@ -57,7 +57,7 @@ + char PathFile[512]; + + if(Mix_OpenAudio(22050,AUDIO_S16,1,1024)) { +- cerr <<"Enable to init Sound card ! "< ++#include + #include + #include + #include +diff -r -u Ri-li-2.0.1.orig/src/editeur.cc Ri-li-2.0.1/src/editeur.cc +--- Ri-li-2.0.1.orig/src/editeur.cc 2007-11-02 04:48:17.000000000 -0700 ++++ Ri-li-2.0.1/src/editeur.cc 2012-01-22 00:28:59.632635579 -0800 +@@ -25,10 +25,10 @@ + #include + #endif + +-#include ++#include + #include + #include +-#include ++#include + #include + #include + +@@ -374,7 +374,7 @@ + + // Sauve le niveau + if(Niveau.Save()==false) { +- cerr <<"ERREUR Saving levels!"< + #endif + +-#include ++#include + #include + #include +-#include ++#include + #include + #include + +diff -r -u Ri-li-2.0.1.orig/src/loco.cc Ri-li-2.0.1/src/loco.cc +--- Ri-li-2.0.1.orig/src/loco.cc 2007-11-02 04:48:18.000000000 -0700 ++++ Ri-li-2.0.1/src/loco.cc 2012-01-22 00:14:17.878797797 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include ++#include + #include + #include +-#include ++#include + #include + #include "preference.h" + #include "loco.h" +diff -r -u Ri-li-2.0.1.orig/src/main.cc Ri-li-2.0.1/src/main.cc +--- Ri-li-2.0.1.orig/src/main.cc 2007-11-02 04:48:19.000000000 -0700 ++++ Ri-li-2.0.1/src/main.cc 2012-01-22 00:29:40.080634136 -0800 +@@ -23,8 +23,8 @@ + + #include + #include +-#include +-#include ++#include ++#include + #include + #include + +@@ -115,7 +115,7 @@ + + // Initilise SDL + if( SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO|SDL_INIT_NOPARACHUTE) < 0 ) { +- cerr <<"Impossible d'initialiser SDL:"<vfmt->BitsPerPixel==8) { +- cerr <<"Impossible d'utiliser 8bits pour la vido !"<vfmt->BitsPerPixel,vOption); + + if(sdlVideo==NULL) { +- cerr <<"Impossible de passer dans le mode vido 800x600 !"< ++#include + #include + #include +-#include ++#include + #include "preference.h" + #include "menu.h" + #include "sprite.h" +@@ -92,7 +92,7 @@ + // Teste la resolution video + sdlVideoInfo=(SDL_VideoInfo*)SDL_GetVideoInfo(); + if(sdlVideoInfo->vfmt->BitsPerPixel==8) { +- cerr <<"Impossible d'utiliser 8bits pour la vido !"<vfmt->BitsPerPixel,vOption); + if(sdlVideo==NULL) { +- cerr <<"Impossible de passer dans le mode vido 800x600 !"< ++#include + #include + #include "mouse.h" + #include "preference.h" +diff -r -u Ri-li-2.0.1.orig/src/sprite.cc Ri-li-2.0.1/src/sprite.cc +--- Ri-li-2.0.1.orig/src/sprite.cc 2007-11-02 04:48:20.000000000 -0700 ++++ Ri-li-2.0.1/src/sprite.cc 2012-01-22 00:30:43.640631779 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include ++#include + #include + #include +-#include ++#include + #include + #include "sprite.h" + #include "preference.h" +@@ -84,7 +84,7 @@ + strcpy(PathFile,Langue[Pref.Langue]); + GetPath(PathFile); + if(FileExiste(PathFile)==false) { +- cerr <<"Impossible de trouver "< ++#include + #include + #include + #include "preference.h" +diff -r -u Ri-li-2.0.1.orig/src/utils.cc Ri-li-2.0.1/src/utils.cc +--- Ri-li-2.0.1.orig/src/utils.cc 2007-11-02 04:48:22.000000000 -0700 ++++ Ri-li-2.0.1/src/utils.cc 2012-01-22 00:31:30.944630051 -0800 +@@ -21,10 +21,10 @@ + // with this program; if not, write to the Free Software Foundation, Inc., + // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +-#include ++#include + #include + #include +-#include ++#include + + #ifdef WINDOWS + #include +@@ -77,7 +77,7 @@ + + file=fopen(Path,"r"); + if(!file) { +- cerr <<"ERREUR: Impossible d'ouvrir '"<1024) { + AfficheChargeur(); + if( fread(Po,1,1024,file) != 1024 ) { +- cerr <<"ERREUR de lecture du fichier '"<512) { + if( fwrite(Buf,1,512,file) != 512 ) { +- cerr <<"ERREUR d'ecriture du fichier '"<0) { + if( fwrite(Buf,1,(size_t)L,file) != (size_t)L ) { +- cerr <<"ERREUR d'ecriture du fichier '"< config.default - installPhase = '' - # Erase the source distribution object definitions, will be replaced with langtab. - rm -r simutrans + # Different default data dir + sed -i -e 's:argv\[0\]:"'$out'/share/simutrans/":' \ + simmain.cc - # Default pakset and binary release core objects. - unzip ${pak64} - unzip ${langtab} + # Use ~/.simutrans instead of ~/simutrans ##not working + #sed -i -e 's@%s/simutrans@%s/.simutrans@' simsys_s.cc - mv sim simutrans/ - - mkdir -p $out/simutrans - cp -r simutrans $out - - mkdir -p $out/bin - ln -s $out/simutrans/sim $out/bin/simutrans - ''; - - meta = { - description = "Simutrans is a simulation game in which the player strives to run a successful transport system."; - longDescription = '' - Simutrans is a cross-platform simulation game in which the - player strives to run a successful transport system by - transporting goods, passengers, and mail between - places. Simutrans is an open source remake of Transport Tycoon. + # No optimization overriding + sed -i -e '/-O$/d' Makefile ''; - homepage = http://www.simutrans.com/; - license = "Artistic"; - maintainers = [ stdenv.lib.maintainers.kkallio ]; - platforms = stdenv.lib.platforms.linux; + installPhase = '' + mkdir -p $out/share/ + mv simutrans $out/share/ + + mkdir -p $out/bin/ + mv build/default/sim $out/bin/simutrans + ''; + + meta = { + description = "A simulation game in which the player strives to run a successful transport system"; + longDescription = '' + Simutrans is a cross-platform simulation game in which the + player strives to run a successful transport system by + transporting goods, passengers, and mail between + places. Simutrans is an open source remake of Transport Tycoon. + ''; + + homepage = http://www.simutrans.com/; + license = "Artistic"; + maintainers = [ stdenv.lib.maintainers.kkallio ]; + platforms = stdenv.lib.platforms.linux; + }; }; -} + +in result diff --git a/pkgs/games/six/default.nix b/pkgs/games/six/default.nix deleted file mode 100644 index a95ed6c50c6..00000000000 --- a/pkgs/games/six/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ stdenv, fetchurl, arts, kdelibs, libX11, libXext, libXt, perl, qt3, zlib }: - -let - - versionNumber = "0.5.3"; - -in - -stdenv.mkDerivation { - - name = "six-${versionNumber}"; - - src = fetchurl { - url = "http://six.retes.hu/download/six-${versionNumber}.tar.gz"; - sha256 = "0hialm0kxr11rp5z452whjmxp2vaqqj668d0dfs32fd10ggi8wj4"; - }; - - meta = { - description = "Six - A Hex playing program for KDE"; - homepage = http://six.retes.hu/; - license = "GPLv2"; - platforms = stdenv.lib.platforms.linux; - }; - - buildInputs = [ arts kdelibs libX11 libXext libXt perl qt3 zlib ]; - - # Supress some warnings which are less useful to us when making packages. - NIX_CFLAGS_COMPILE = "-Wno-conversion -Wno-parentheses"; - - # Without "--x-libraries=", we get the error - # "impure path `/usr/lib' used in link". - configureFlags = "--x-libraries="; - - patches = [ ./gcc43-includes.patch ]; -} diff --git a/pkgs/games/six/gcc43-includes.patch b/pkgs/games/six/gcc43-includes.patch deleted file mode 100644 index 83096bb0da2..00000000000 --- a/pkgs/games/six/gcc43-includes.patch +++ /dev/null @@ -1,38 +0,0 @@ -This patch makes six compile with gcc 4.3 by including more header files. It -is based on the advice at . - ---- a/six/carrier.h -+++ b/six/carrier.h -@@ -2,6 +2,7 @@ - #ifndef CARRIER_H - #define CARRIER_H - -+#include - #include - #include - -diff --git a/six/hexgame.cpp b/six/hexgame.cpp -index 720e977..5d0dafe 100644 ---- a/six/hexgame.cpp -+++ b/six/hexgame.cpp -@@ -3,6 +3,7 @@ - #include - #include - #include -+#include - - #include - -diff --git a/six/main.cpp b/six/main.cpp -index 7fb5c21..b925a0c 100644 ---- a/six/main.cpp -+++ b/six/main.cpp -@@ -4,6 +4,8 @@ - #include "carrier.h" - #include "misc.h" - -+#include -+ - #include - #include - #include diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix index 09eb41f7267..3cb79e94631 100644 --- a/pkgs/games/spring/default.nix +++ b/pkgs/games/spring/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "spring-${version}"; - version = "0.88.0"; + version = "0.91.0"; src = fetchurl { - url = "mirror://sourceforge/springrts/spring_88.0_src.tar.lzma"; - sha256 = "f203114b849a83795fe2d413d01c843b6f5b50df0832ce570bc476502f89e6fa"; + url = "mirror://sourceforge/springrts/spring_91.0_src.tar.lzma"; + sha256 = "0ycn9yxpbw58a8p3j3wf3r0x102k665l27bfp1vxq7kpwlk6314l"; }; buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix index 69609b1bbfb..31fd25a5150 100644 --- a/pkgs/games/stuntrally/default.nix +++ b/pkgs/games/stuntrally/default.nix @@ -1,15 +1,33 @@ -{ fetchurl, stdenv, cmake, boost, ogre, myguiSvn, ois, SDL, libvorbis, pkgconfig -, makeWrapper }: +{ fetchgit, stdenv, cmake, boost, ogre, mygui, ois, SDL, libvorbis, pkgconfig +, makeWrapper, enet, libXcursor }: stdenv.mkDerivation rec { - name = "stunt-rally-1.4"; + name = "stunt-rally-1.8"; - src = fetchurl { - url = mirror://sourceforge/stuntrally/StuntRally-1.4-sources.tar.bz2; - sha256 = "1am5af4l1qliyrq1183sqvwzqwcjx0v6gkzsxhfmk6ygp7yhw7kq"; + src = fetchgit { + url = git://github.com/stuntrally/stuntrally.git; + rev = "refs/tags/1.8"; + sha256 = "0p8p83xx8q33kymsqnmxqca4jdfyg9rwrsac790z56gdbc7gnahm"; }; - buildInputs = [ cmake boost ogre myguiSvn ois SDL libvorbis pkgconfig makeWrapper ]; + tracks = fetchgit { + url = git://github.com/stuntrally/tracks.git; + rev = "refs/tags/1.8"; + sha256 = "1gcrs21nn0v3hvhrw8dc0wh1knn5qh66cjx7a1igiciiadmi2s3l"; + }; + + patchPhase = '' + sed -i 's/materials/materials material_templates/' data/CMakeLists.txt + ''; + + preConfigure = '' + mkdir data/tracks + cp -R $tracks/* data/tracks + ''; + + buildInputs = [ cmake boost ogre mygui ois SDL libvorbis pkgconfig makeWrapper enet + libXcursor + ]; # I think they suppose cmake should give them OGRE_PLUGIN_DIR defined, but # the cmake code I saw is not ready for that. Therefore, we use the env var. diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix index 0c92ffbcdbb..46f22d332cc 100644 --- a/pkgs/games/super-tux-kart/default.nix +++ b/pkgs/games/super-tux-kart/default.nix @@ -1,24 +1,27 @@ -{ fetchurl, stdenv, plib, SDL, openal, freealut, mesa -, libvorbis, libogg, gettext, irrlicht3843, libXxf86vm, curl, pkgconfig -, fribidi }: +{ fetchurl, cmake, stdenv, plib, SDL, openal, freealut, mesa +, libvorbis, libogg, gettext, libXxf86vm, curl, pkgconfig +, fribidi, autoconf, automake, libtool }: stdenv.mkDerivation rec { - name = "supertuxkart-0.7.3"; + name = "supertuxkart-0.8"; src = fetchurl { url = "mirror://sourceforge/supertuxkart/${name}-src.tar.bz2"; - sha256 = "0njrs2qyhbiqdbsqk9jx0sl8nhdwmipf1i91k23rv1biwrim9yq7"; + sha256 = "12sbml4wxg2x2wgnnkxfisj96a9gcsaj3fj27kdk8yj524ikv7xr"; }; buildInputs = [ - plib SDL openal freealut mesa libvorbis libogg gettext irrlicht3843 - libXxf86vm curl pkgconfig fribidi + plib SDL openal freealut mesa libvorbis libogg gettext + libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake ]; - configureFlags = [ "--with-irrlicht=${irrlicht3843}" ]; + enableParallelBuilding = true; - postInstall = '' - mv $out/games $out/bin + preConfigure = '' + echo Building internal Irrlicht + cd lib/irrlicht/source/Irrlicht/ + NDEBUG=1 make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} + cd - ''; meta = { diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix index 5fc5e9be84e..979fcd1a48c 100644 --- a/pkgs/games/the-butterfly-effect/default.nix +++ b/pkgs/games/the-butterfly-effect/default.nix @@ -41,7 +41,7 @@ rec { mkdir -p "$out/share/tbe" cp -r . "$out/share/tbe/build-dir" mkdir -p "$out/bin" - echo '#! /bin/sh' >> "$out/bin/tbe" + echo '#!${a.stdenv.shell}' >> "$out/bin/tbe" echo "$out/share/tbe/build-dir/tbe \"\$@\"" >> "$out/bin/tbe" chmod a+x "$out/bin/tbe" '' ["minInit" "doMake" "defEnsureDir"]; diff --git a/pkgs/games/torcs/default.nix b/pkgs/games/torcs/default.nix index cf740def511..f5b713ae337 100644 --- a/pkgs/games/torcs/default.nix +++ b/pkgs/games/torcs/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ mesa freeglut libX11 plib openal freealut libXrandr xproto libXext libSM libICE libXi libXt libXrender libXxf86vm libpng zlib libvorbis ]; - buildNativeInputs = [ bash ]; + nativeBuildInputs = [ bash ]; installTargets = "install datainstall"; @@ -26,6 +26,6 @@ stdenv.mkDerivation rec { homepage = http://torcs.sourceforge.net/; license = "GPLv2+"; maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + #platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix index 85440f88901..80f3d72c579 100644 --- a/pkgs/games/ufoai/default.nix +++ b/pkgs/games/ufoai/default.nix @@ -1,51 +1,33 @@ -{stdenv, fetchurl, SDL, mesa, SDL_image, SDL_ttf, SDL_mixer, libpng, libjpeg, zlib -, curl, libvorbis, libtheora, xvidcore, pkgconfig, gtk, glib, libxml2, gtksourceview -, gtkglext, openal, gettext, p7zip }: +{ stdenv, fetchurl, libtheora, xvidcore, mesa, SDL, SDL_ttf, SDL_mixer +, curl, libjpeg, libpng, gettext, cunit, enableEditor?false }: stdenv.mkDerivation rec { - name = "ufoai-2.3"; + name = "ufoai-2.4"; src = fetchurl { - url = mirror://sourceforge/ufoai/ufoai-2.3-source.tar.bz2; - sha256 = "1pb41q5wx180l6xv8gm1sw8b7cji42znnb6qpjaap6vpgc8k3hp9"; + url = "mirror://sourceforge/ufoai/${name}-source.tar.bz2"; + sha256 = "0kxrbcjrharcwz319s90m789i4my9285ihp5ax6kfhgif2vn2ji5"; }; srcData = fetchurl { - url = mirror://sourceforge/ufoai/ufoai-2.3-data.tar; - sha256 = "0952kx6cbi4y89fbz1ig32rvsmfhzqpvdf79rq4axag9d3i5qlqf"; + url = "mirror://sourceforge/ufoai/${name}-data.tar"; + sha256 = "1drhh08cqqkwv1yz3z4ngkplr23pqqrdx6cp8c3isy320gy25cvb"; }; - srcI18n = fetchurl { - url = mirror://sourceforge/ufoai/ufoai-2.3-i18n.tar.bz2; - sha256 = "14fzv8a4xng6kfl6aw8yzz6vl2j5vryxija5b2yz75jbfpa94i09"; - }; + preConfigure = ''tar xvf "${srcData}"''; - # for the xvidcore static lib - NIX_CFLAGS_COMPILE = "-pthread -lm"; + configureFlags = [ "--enable-release" "--enable-sse" ] + ++ stdenv.lib.optional enableEditor "--enable-uforadiant"; - # Order is important, x libs include a libpng version that fails for ufoai - buildInputs = [ libpng SDL mesa SDL_image SDL_ttf SDL_mixer libjpeg zlib curl libvorbis - libtheora xvidcore pkgconfig glib gtk gtkglext gtksourceview libxml2 openal gettext - p7zip ]; + buildInputs = [ + libtheora xvidcore mesa SDL SDL_ttf SDL_mixer + curl libjpeg libpng gettext cunit + ]; - enableParallelBuilding = true; - - preConfigure = '' - tar xvf $srcI18n - ''; - - configureFlags = "--enable-release"; - - postInstall = '' - pushd $out/share/ufoai - tar xvf $srcData - popd - ''; - - installTargets = "install_exec"; + NIX_CFLAGS_LINK = "-lgcc_s"; # to avoid occasional runtime error in finding libgcc_s.so.1 meta = { - homepage = http://www.ultimatestunts.nl/; - description = "Squad-based tactical strategy game in the tradition of X-Com"; + homepage = http://ufoai.org; + description = "A squad-based tactical strategy game in the tradition of X-Com"; license = "GPLv2+"; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix new file mode 100644 index 00000000000..a9fe9d596c7 --- /dev/null +++ b/pkgs/games/uqm/default.nix @@ -0,0 +1,78 @@ +{stdenv, fetchurl +, pkgconfig, mesa +, SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod, unzip +}: + +stdenv.mkDerivation rec { + name = "uqm-${version}"; + version = "0.7.0"; + + src = fetchurl { + url = "mirror://sourceforge/sc2/uqm-${version}-source.tgz"; + sha256 = "a3695c5f7f0be7ec9c0f80ec569907b382023a1fee6e635532bd53b7b53bb221"; + }; + + content = fetchurl { + url = "mirror://sourceforge/sc2/uqm-${version}-content.uqm"; + sha256 = "b8f6db8ba29f0628fb1d5c233830896b19f441aee3744bda671ea264b44da3bf"; + }; + + voice = fetchurl { + url = "mirror://sourceforge/sc2/uqm-${version}-voice.uqm"; + sha256 = "bcccf801b4ba37594ff6217b292744ea586ee2d447e927804842ccae8b73c979"; + }; + + music = fetchurl { + url = "mirror://sourceforge/sc2/uqm-${version}-3domusic.uqm"; + sha256 = "c57085e64dad4bddf8a679a9aa2adf63f2156d5f6cbabe63af80519033dbcb82"; + }; + + + /* uses pthread_cancel(), which requires libgcc_s.so.1 to be + loadable at run-time. Adding the flag below ensures that the + library can be found. Obviously, though, this is a hack. */ + NIX_LDFLAGS="-lgcc_s"; + + buildInputs = [SDL SDL_image libpng libvorbis libogg libmikmod unzip pkgconfig mesa]; + + postUnpack = '' + mkdir -p uqm-${version}/content/packages + mkdir -p uqm-${version}/content/addons + cp $content uqm-${version}/content/packages/uqm-0.7.0-content.uqm + cp $music uqm-${version}/content/addons/uqm-0.7.0-3domusic.uqm + cp $voice uqm-${version}/content/addons/uqm-0.7.0-voice.uqm + ''; + + /* uqm has a 'unique' build system with a root script incidentally called + * 'build.sh'. */ + + configurePhase = '' + echo "INPUT_install_prefix_VALUE='$out'" >> config.state + echo "INPUT_install_bindir_VALUE='$out/bin'" >> config.state + echo "INPUT_install_libdir_VALUE='$out/lib'" >> config.state + echo "INPUT_install_sharedir_VALUE='$out/share'" >> config.state + PREFIX=$out ./build.sh uqm config + ''; + + buildPhase = '' + ./build.sh uqm + ''; + + installPhase = '' + ./build.sh uqm install + sed -i $out/bin/uqm -e "s%/usr/local/games/%$out%g" + ''; + + meta = { + description = "Remake of Star Control II"; + longDescription = '' + The goals for the The Ur-Quan Masters project are: + - to bring Star Control II to modern platforms, thereby making a lot of people happy + - to make game translations easy, thereby making even more people happy + - to adapt the code so that people can more easily make their own spin-offs, thereby making zillions more people happy! + ''; + homepage = http://sc2.sourceforge.net/; + license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix index 875dfc93bb1..535e575fdc4 100644 --- a/pkgs/games/urbanterror/default.nix +++ b/pkgs/games/urbanterror/default.nix @@ -1,72 +1,49 @@ { stdenv, fetchurl, unzip, SDL, mesa, openal, curl }: stdenv.mkDerivation rec { name = "urbanterror-${version}"; - version = "4.1"; - src1 = fetchurl { - url = "http://ftp.snt.utwente.nl/pub/games/urbanterror/UrbanTerror_41_FULL.zip"; - sha256 = "0pr6xpwq8zllc0xsdxl8cfd0zz5fhggw5fsbrizygr6hhdvra1jp"; - }; - src2 = fetchurl { - url = "http://ftp.snt.utwente.nl/pub/games/urbanterror/iourbanterror/source/complete/ioUrbanTerrorSource_2007_12_20.zip"; - sha256 = "1s1wq9m7shhvvk7s4400yrmz7dys501i4c9ln1mglc9dhmi8dmcn"; - }; + version = "4.2.009"; + srcs = + [ (fetchurl { + url = "http://download.urbanterror.info/urt/42/zips/UrbanTerror42_full_009.zip"; + sha256 = "0m423zy6l1z4kxz55knlh1ypnqq58ghh08i8ziv4lm00ygm6mx2i"; + }) + (fetchurl { + url = "https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-4.2.007.tar.gz"; + sha256 = "1299j0i94697m2bbcgraxfbb7q1g6nc43l1xqlgqvcsjp799mwwn"; + }) + ]; buildInputs = [ unzip SDL mesa openal curl ]; - unpackPhase = '' - mkdir urbanterror - cd urbanterror - unzip $src1 - unzip $src2 - ''; - patches = [ ./l_script.patch ]; - patchPhase = '' - for d in ioUrbanTerrorClientSource ioUrbanTerrorServerSource - do - cd "$d" - patch -p 0 < "''${patches[0]}" - cd .. - done - ''; + sourceRoot = "ioq3-for-UrbanTerror-4-release-4.2.007"; configurePhase = '' - cd ioUrbanTerrorClientSource echo "USE_OPENAL = 1" > Makefile.local echo "USE_OPENAL_DLOPEN = 0" >> Makefile.local echo "USE_CURL = 1" >> Makefile.local echo "USE_CURL_DLOPEN = 0" >> Makefile.local - substituteInPlace code/tools/asm/Makefile --replace -Werror "" - cd .. - ''; - buildPhase = '' - for d in ioUrbanTerrorClientSource ioUrbanTerrorServerSource - do - cd $d - make - cd .. - done ''; installPhase = '' destDir="$out/opt/urbanterror" mkdir -p "$destDir" mkdir -p "$out/bin" - cp -v ioUrbanTerrorClientSource/build/release-linux-*/ioUrbanTerror.* \ - "$destDir/ioUrbanTerror" - cp -v ioUrbanTerrorServerSource/build/release-linux-*/ioUrTded.* \ - "$destDir/ioUrTded" - cp -rv UrbanTerror/q3ut4 "$destDir" + cp -v build/release-linux-*/Quake3-UrT.* \ + "$destDir/Quake3-UrT" + cp -v build/release-linux-*/Quake3-UrT-Ded.* \ + "$destDir/Quake3-UrT-Ded" + cp -rv ../UrbanTerror42/q3ut4 "$destDir" cat << EOF > "$out/bin/urbanterror" - #!/bin/sh + #! ${stdenv.shell} cd "$destDir" - exec ./ioUrbanTerror "\$@" + exec ./Quake3-UrT "\$@" EOF chmod +x "$out/bin/urbanterror" cat << EOF > "$out/bin/urbanterror-ded" - #!/bin/sh + #! ${stdenv.shell} cd "$destDir" - exec ./ioUrTded "\$@" + exec ./Quake3-UrT-Ded "\$@" EOF chmod +x "$out/bin/urbanterror-ded" ''; postFixup = '' - p=$out/opt/urbanterror/ioUrbanTerror + p=$out/opt/urbanterror/Quake3-UrT cur_rpath=$(patchelf --print-rpath $p) patchelf --set-rpath $cur_rpath:${mesa}/lib $p ''; @@ -82,6 +59,6 @@ stdenv.mkDerivation rec { homepage = http://www.urbanterror.net; license = [ "unfree-redistributable" ]; maintainers = with stdenv.lib.maintainers; [ astsmtl ]; - platforms = with stdenv.lib.platforms; linux; + #platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/games/urbanterror/l_script.patch b/pkgs/games/urbanterror/l_script.patch deleted file mode 100644 index 8aa176cca8c..00000000000 --- a/pkgs/games/urbanterror/l_script.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ur code/botlib/l_script.c kode/botlib/l_script.c ---- code/botlib/l_script.c 2007-10-09 02:47:26.000000000 +0400 -+++ kode/botlib/l_script.c 2012-04-16 02:02:55.170360236 +0400 -@@ -1118,7 +1118,7 @@ - { - if (*string == '\"') - { -- strcpy(string, string+1); -+ memmove(string, string+1, strlen(string) - 1); - } //end if - if (string[strlen(string)-1] == '\"') - { -@@ -1135,7 +1135,7 @@ - { - if (*string == '\'') - { -- strcpy(string, string+1); -+ memmove(string, string+1, strlen(string) - 1); - } //end if - if (string[strlen(string)-1] == '\'') - { diff --git a/pkgs/games/vessel/default.nix b/pkgs/games/vessel/default.nix new file mode 100644 index 00000000000..e6f3523fa24 --- /dev/null +++ b/pkgs/games/vessel/default.nix @@ -0,0 +1,84 @@ +{ stdenv, requireFile, SDL, pulseaudio, alsaLib }: + +stdenv.mkDerivation rec { + name = "vessel-12082012"; + + goBuyItNow = '' + We cannot download the full version automatically, as you require a license. + Once you bought a license, you need to add your downloaded version to the nix store. + You can do this by using "nix-prefetch-url file://${name}-bin" in the + directory where you saved it. + ''; + + src = if (stdenv.isi686) then + requireFile { + message = goBuyItNow; + name = "${name}-bin"; + sha256 = "1vpwcrjiln2mx43h7ib3jnccyr3chk7a5x2bw9kb4lw8ycygvg96"; + } else throw "unsupported platform ${stdenv.s:ystem} only i686-linux supported for now."; + + phases = "installPhase"; + ld_preload = ./isatty.c; + + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ] + + ":" + stdenv.lib.makeLibraryPath [ SDL pulseaudio alsaLib ] ; + + installPhase = '' + ensureDir $out/libexec/strangeloop/vessel/ + ensureDir $out/bin + + # allow scripting of the mojoinstaller + gcc -fPIC -shared -o isatty.so $ld_preload + + echo @@@ + echo @@@ this next step appears to hang for a while + echo @@@ + + # if we call ld.so $(bin) we don't need to set the ELF interpreter, and save a patchelf step. + LD_PRELOAD=./isatty.so $(cat $NIX_GCC/nix-support/dynamic-linker) $src << IM_A_BOT + n + $out/libexec/strangeloop/vessel/ + IM_A_BOT + + # use nix SDL libraries + rm $out/libexec/strangeloop/vessel/x86/libSDL* + rm $out/libexec/strangeloop/vessel/x86/libstdc++* + + # props to Ethan Lee (the Vessel porter) for understanding + # how $ORIGIN works in rpath. There is hope for humanity. + patchelf \ + --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $libPath:$out/libexec/strangeloop/vessel/x86/ \ + $out/libexec/strangeloop/vessel/x86/vessel.x86 + + # we need to libs to find their deps + for lib in $out/libexec/strangeloop/vessel/x86/lib* ; do + patchelf \ + --set-rpath $libPath:$out/libexec/strangeloop/vessel/x86/ \ + $lib + done + + cat > $out/bin/Vessel << EOW + #!/bin/sh + cd $out/libexec/strangeloop/vessel/ + exec ./x86/vessel.x86 + EOW + + chmod +x $out/bin/Vessel + ''; + + meta = { + description = "A fluid physics based puzzle game"; + longDescription = '' + Living liquid machines have overrun this world of unstoppable progress, + and it is the role of their inventor, Arkwright, to stop the chaos they are + causing. Vessel is a game about a man with the power to bring ordinary matter + to life, and all the consequences that ensue. + ''; + homepage = http://www.strangeloopgames.com; + license = [ "unfree" ]; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + platforms = [ "i686-linux"] ; + }; + +} diff --git a/pkgs/games/vessel/isatty.c b/pkgs/games/vessel/isatty.c new file mode 100644 index 00000000000..38ee2b6ce2e --- /dev/null +++ b/pkgs/games/vessel/isatty.c @@ -0,0 +1,6 @@ +// We override isatty to help 'automate' installers. + +// Some installers (mojoinstall) have a stdio GUI that refuses to run if you +// feed it a file on stdin. This should help that. + +int isatty(int fd) { return 1; } diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix index c584319bdc9..aeb7e37cd7e 100644 --- a/pkgs/games/warsow/default.nix +++ b/pkgs/games/warsow/default.nix @@ -1,43 +1,45 @@ -{ stdenv, fetchurl, unzip, pkgconfig, zlib, curl, libjpeg, libvorbis -, libXxf86dga, libXxf86vm, libXinerama, SDL, mesa, openal +{ stdenv, fetchurl, unzip, pkgconfig, zlib, curl, libjpeg, libpng, libvorbis +, libtheora, libXxf86dga, libXxf86vm, libXinerama, SDL, mesa, openal, freetype +, makeWrapper }: stdenv.mkDerivation rec { name = "warsow-${version}"; - version = "0.62"; - mversion = "0.61"; # sometimes only engine is updated + version = "1.03"; + mversion = "1.02"; # sometimes only engine is updated src1 = fetchurl { - url = "http://www.zcdn.org/dl/warsow_${version}_sdk.zip"; - sha256 = "0nb1z55lzmwarnn71dcyg9b3k7r7wxagqxks8a7rnlq7acsnra71"; + url = "http://www.warsow.net:1337/~warsow/${version}/warsow_${version}_sdk.tar.gz"; + sha256 = "0z6r5v30p8fxbszmkxssv5fnnjw7w5wfn7wfgbwvmy87ayi7mkcq"; }; src2 = fetchurl { - url = "http://www.zcdn.org/dl/warsow_${mversion}_unified.zip"; - sha256 = "1b5bv4dsly7i7c4fqlkckv4da1knxl9m3kg8nlgkgr8waczgvazv"; + url = "http://www.warsow.net:1337/~warsow/${mversion}/warsow_${mversion}.tar.gz"; + sha256 = "0ai5v1h5g9nq21ixz23v0qsj9dr7dbiz7l8r34mq4c3z6ili8zpy"; }; unpackPhase = '' - mkdir warsow_${version}_sdk + tar xf "$src1" cd warsow_${version}_sdk - unzip $src1 - unzip $src2 + tar xf "$src2" mkdir -p source/release/ - mv warsow_${mversion}_unified/basewsw source/release/ + mv warsow_${mversion}/basewsw source/release/ cd source ''; patchPhase = '' substituteInPlace snd_openal/snd_main.c --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 ''; - buildInputs = [ unzip pkgconfig zlib curl libjpeg libvorbis libXxf86dga - libXxf86vm libXinerama SDL mesa openal ]; + buildInputs = [ unzip pkgconfig zlib curl libjpeg libpng libvorbis libtheora + libXxf86dga libXxf86vm libXinerama SDL mesa openal makeWrapper + ]; installPhase = '' dest=$out/opt/warsow cd release - for f in warsow wsw_server wswtv_server; do - substituteInPlace $f --replace BINARY_DIR= BINARY_DIR=$dest - done mkdir -p $dest mkdir -p $out/bin - cp -v {warsow,wsw_server,wswtv_server}.* $dest + cp -v {warsow,wsw_server,wswtv_server}* $dest cp -rv basewsw libs $dest - cp -v warsow wsw_server wswtv_server $out/bin + # Since 1.03 some modules are _always_ downloaded from server, thus + makeWrapper $dest/warsow $out/bin/warsow \ + --suffix-each LD_LIBRARY_PATH ':' "${freetype}/lib" + makeWrapper $dest/wsw_server $out/bin/wsw_server + makeWrapper $dest/wswtv_server $out/bin/wswtv_server ''; postFixup = '' p=$out/opt/warsow/warsow.* diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix index 2bac3cba198..b8e53b0cefb 100644 --- a/pkgs/games/wesnoth/default.nix +++ b/pkgs/games/wesnoth/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "wesnoth"; - version = "1.10.2"; + version = "1.10.5"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2"; - sha256 = "0hawzq85sq0kdddj0s7y6kpx043g1hsl7cvyw1xcxqh45hkgw2ix"; + sha256 = "1rvlr8c3vzhgd33vzc1hfhiil6d7hc3px8r8p79vmp3kwi3d49zn"; }; buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf pango gettext zlib boost fribidi diff --git a/pkgs/games/widelands/boost_and_cmake_die_die_die.patch b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch new file mode 100644 index 00000000000..f008be35e37 --- /dev/null +++ b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch @@ -0,0 +1,11 @@ +--- widelands-build17-src.old/CMakeLists.txt 2012-04-23 02:46:49.000000000 -0700 ++++ widelands-build17-src/CMakeLists.txt 2012-07-14 19:49:14.000000000 -0700 +@@ -140,8 +140,6 @@ + else (WL_UNIT_TESTS) + message(STATUS "Disabled Unit Tests") + set (Boost_FIND_COMPONENTS signals) +- set (Boost_USE_STATIC_LIBS ON) +- set (Boost_USE_MULTITHREADED ON) + set (Boost_DETAILED_FAILURE_MSG ON) + find_package(Boost 1.35.0 COMPONENTS signals REQUIRED) + endif (WL_UNIT_TESTS) diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix index 74d1f87e0be..e20adc8faa7 100644 --- a/pkgs/games/widelands/default.nix +++ b/pkgs/games/widelands/default.nix @@ -13,11 +13,11 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="widelands"; - version="build16"; + version="build17"; name="${baseName}-${version}"; project="${baseName}"; - url="http://launchpad.net/${project}/${version}/${version}/+download/${name}-src.tar.bz2"; - hash="0pb2d73c6hynhp1x54rcfbibrrri7lyxjybd1hicn503qcakrnyq"; + url="https://launchpadlibrarian.net/102893896/widelands-build17-src.tar.bz2"; + hash="be48b3b8f342a537b39a3aec2f7702250a6a47e427188ba3bece67d7d90f3cc5"; }; in rec { @@ -30,7 +30,9 @@ rec { inherit buildInputs; /* doConfigure should be removed if not needed */ - phaseNames = ["killBuildDir" "doCmake" "doMakeInstall" "createScript"]; + phaseNames = ["killBuildDir" "doPatch" "doCmake" "doMakeInstall" "createScript"]; + + patches = [ ./boost_and_cmake_die_die_die.patch ]; killBuildDir = a.fullDepEntry '' rm -r build @@ -38,6 +40,7 @@ rec { cmakeFlags = [ "-DLUA_LIBRARIES=-llua" + "-DWL_PORTABLE=true" ]; createScript = a.fullDepEntry '' @@ -50,12 +53,18 @@ rec { meta = { description = "Widelands RTS with multiple-goods economy"; + longDescription = '' + Widelands is a real time strategy game based on "The Settlers" and "The + Settlers II". It has a single player campaign mode, as well as a networked + multiplayer mode. + ''; + maintainers = with a.lib.maintainers; [ raskin + jcumming ]; - platforms = with a.lib.platforms; - linux; + #platforms = a.lib.platforms.linux; license = a.lib.licenses.gpl2Plus; }; passthru = { diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix new file mode 100644 index 00000000000..216ec0d8041 --- /dev/null +++ b/pkgs/games/worldofgoo/default.nix @@ -0,0 +1,83 @@ +{ stdenv, config, requireFile, fetchurl +, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, mesa +, demo ? false }: + +# TODO: add i686 support + +stdenv.mkDerivation rec { + name = if demo + then "WorldOfGooDemo-1.41" + else "WorldofGoo-1.41"; + + arch = if stdenv.system == "x86_64-linux" then "supported" + else throw "Sorry. World of Goo only is only supported on x86_64 now."; + + goBuyItNow = '' + We cannot download the full version automatically, as you require a license. + Once you bought a license, you need to add your downloaded version to the nix store. + You can do this by using "nix-prefetch-url file://WorldOfGooSetup.1.41.tar.gz" in the + directory where you saved it. + + Or you can install the demo version: 'nix-env -i -A pkgs.worldofgoo_demo'. + ''; + + getTheDemo = '' + We cannot download the demo version automatically, please go to + http://worldofgoo.com/dl2.php?lk=demo, then add it to your nix store. + You can do this by using "nix-prefetch-url file://WorldOfGooDemo.1.41.tar.gz" in the + directory where you saved it. + ''; + + src = if demo + then + requireFile { + message = getTheDemo; + name = "WorldOfGooDemo.1.41.tar.gz"; + sha256 = "0ndcix1ckvcj47sgndncr3hxjcg402cbd8r16rhq4cc43ibbaxri"; + } + else + requireFile { + message = goBuyItNow; + name = "WorldOfGooSetup.1.41.tar.gz"; + sha256 = "0rj5asx4a2x41ncwdby26762my1lk1gaqar2rl8dijfnpq8qlnk7"; + }; + + phases = "unpackPhase installPhase"; + + # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64 + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc stdenv.gcc.libc ] + + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis mesa ] + + ":" + stdenv.gcc.gcc + "/lib64"; + + installPhase = '' + ensureDir $out/libexec/2dboy/WorldOfGoo/ + ensureDir $out/bin + + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath $libPath ./WorldOfGoo.bin64 + + cp -r * $out/libexec/2dboy/WorldOfGoo/ + + #makeWrapper doesn't do cd. :( + + cat > $out/bin/WorldofGoo << EOF + #!/bin/sh + cd $out/libexec/2dboy/WorldOfGoo + exec ./WorldOfGoo.bin64 + EOF + chmod +x $out/bin/WorldofGoo + ''; + + meta = { + description = "A physics based puzzle game"; + longDescription = '' + World of Goo is a physics based puzzle / construction game. The millions of Goo + Balls who live in the beautiful World of Goo don't know that they are in a + game, or that they are extremely delicious. + ''; + homepage = http://worldofgoo.com; + license = [ "unfree" ]; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + platforms = [ "x86_64-linux"] ; + }; + +} diff --git a/pkgs/games/xboard/default.nix b/pkgs/games/xboard/default.nix index a1a65165326..ab74d56dbcc 100644 --- a/pkgs/games/xboard/default.nix +++ b/pkgs/games/xboard/default.nix @@ -1,33 +1,32 @@ -a: -let - fetchurl = a.fetchurl; - - buildInputs = with a; [ +{stdenv, fetchurl, libX11, xproto, libXt, libXaw, libSM, libICE, libXmu +, libXext, gnuchess, texinfo, libXpm +}: +let + s = # Generated upstream information + rec { + baseName="xboard"; + version="4.6.2"; + name="${baseName}-${version}"; + hash="1pw90fh1crf0nkqyql54z728vn2093hwdh2v5i5703z9qv9g4mrf"; + url="http://ftp.gnu.org/gnu/xboard/xboard-4.6.2.tar.gz"; + sha256="1pw90fh1crf0nkqyql54z728vn2093hwdh2v5i5703z9qv9g4mrf"; + }; + buildInputs = [ libX11 xproto libXt libXaw libSM libICE libXmu libXext gnuchess texinfo libXpm ]; - - s = import ./src-for-default.nix; in -rec { - src = fetchurl { - inherit(s) url; - sha256 = s.hash; - }; - +stdenv.mkDerivation { + inherit (s) name version; inherit buildInputs; - configureFlags = []; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "preBuild" "doMakeInstall"]; - - preBuild = a.fullDepEntry('' - sed -e '/FIRST_CHESS_PROGRAM/s@gnuchessx@${a.gnuchess}/bin/gnuchessx@' -i xboard.h - sed -e '/SECOND_CHESS_PROGRAM/s@gnuchessx@${a.gnuchess}/bin/gnuchessx@' -i xboard.h - '') ["doUnpack" "minInit"]; - - inherit(s) name; + src = fetchurl { + inherit (s) url sha256; + }; meta = { - description = "XBoard - a chess board compatible with GNU Chess"; + inherit (s) version; + description = ''GUI for chess engines''; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl3Plus; }; } diff --git a/pkgs/games/xboard/default.upstream b/pkgs/games/xboard/default.upstream new file mode 100644 index 00000000000..1e649bba505 --- /dev/null +++ b/pkgs/games/xboard/default.upstream @@ -0,0 +1 @@ +url http://ftp.gnu.org/gnu/xboard/ diff --git a/pkgs/games/xboard/src-for-default.nix b/pkgs/games/xboard/src-for-default.nix deleted file mode 100644 index d648dfe5abb..00000000000 --- a/pkgs/games/xboard/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="4.4.2"; - name="xboard-4.4.2"; - hash="1ihg39nnwp90w410rzwxj9layadavz08gc9m2b1jg5z5c6ky28zp"; - url="http://ftp.gnu.org/gnu/xboard/xboard-${version}.tar.gz"; - advertisedUrl="http://ftp.gnu.org/gnu/xboard/xboard-4.4.2.tar.gz"; - - -} diff --git a/pkgs/games/xboard/src-info-for-default.nix b/pkgs/games/xboard/src-info-for-default.nix deleted file mode 100644 index 8d0386671a1..00000000000 --- a/pkgs/games/xboard/src-info-for-default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - downloadPage = "http://ftp.gnu.org/gnu/xboard/?C=T,M;O=D"; - baseName = "xboard"; -} diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix index 229d58029de..ed37227bb03 100644 --- a/pkgs/games/xmoto/default.nix +++ b/pkgs/games/xmoto/default.nix @@ -15,9 +15,7 @@ rec { configureFlags = []; /* doConfigure should be removed if not needed */ - phaseNames = [ "doPatch" "doConfigure" "doMakeInstall"]; - - patches = [ ./r3402.patch ]; + phaseNames = [ "doConfigure" "doMakeInstall"]; meta = { description = "X-Moto - obstacled race game"; diff --git a/pkgs/games/xmoto/r3402.patch b/pkgs/games/xmoto/r3402.patch deleted file mode 100644 index 787e5625b5f..00000000000 --- a/pkgs/games/xmoto/r3402.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: a/src/image/tim_png.cpp -=================================================================== ---- a/src/image/tim_png.cpp (revision 3401) -+++ b/src/image/tim_png.cpp (revision 3402) -@@ -25,7 +25,8 @@ - #include - #include - #include "tim.h" --#include "png.h" -+#include -+#include - - /*============================================================================== - Types -Index: ChangeLog -=================================================================== ---- a/ChangeLog (revision 3401) -+++ b/ChangeLog (revision 3402) -@@ -1,3 +1,7 @@ -+X-Moto 0.5.10 2012- -+-------------------------------- -+ * libpng patch by Kelly Anderson -+ - X-Moto 0.5.9 2011-11-13 - -------------------------------- - * fix a compilation error with libxml diff --git a/pkgs/games/xmoto/src-for-default.nix b/pkgs/games/xmoto/src-for-default.nix index 7d85cdbe528..60de24e16c7 100644 --- a/pkgs/games/xmoto/src-for-default.nix +++ b/pkgs/games/xmoto/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="0.5.9"; - name="xmoto-0.5.9"; - hash="1r1kl3w2scncw754lgsfa7i6hh4mg39zc3bcvd1iqcmdfr25gmvl"; + version="0.5.10"; + name="xmoto-0.5.10"; + hash="07lyvwb8v75hzp4iqvnxzabzrmwkd3ignfzpm4dgr9asd3j3h91d"; url="http://download.tuxfamily.org/xmoto/xmoto/${version}/xmoto-${version}-src.tar.gz"; - advertisedUrl="http://download.tuxfamily.org/xmoto/xmoto/0.5.9/xmoto-0.5.9-src.tar.gz"; + advertisedUrl="http://download.tuxfamily.org/xmoto/xmoto/0.5.10/xmoto-0.5.10-src.tar.gz"; } diff --git a/pkgs/games/xsokoban/default.nix b/pkgs/games/xsokoban/default.nix index b8917b4d41c..b8c6096b756 100644 --- a/pkgs/games/xsokoban/default.nix +++ b/pkgs/games/xsokoban/default.nix @@ -20,6 +20,7 @@ rec { phaseNames = ["preConfigure" "doConfigure" "preBuild" "doMakeInstall"]; preConfigure = a.fullDepEntry ('' + sed -e 's/getline/my_getline/' -i score.c export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${a.libXpm}/include/X11" for i in $NIX_CFLAGS_COMPILE; do echo $i; ls ''${i#-I}; done chmod a+rw config.h @@ -28,8 +29,8 @@ rec { echo '#define OWNER "'$(whoami)'"' >> config.h echo '#define ROOTDIR "'$out/lib/xsokoban'"' >> config.h echo '#define ANYLEVEL 1' >> config.h - echo '#define SCOREFILE "/tmp/.xsokoban-score"' >> config.h - echo '#define LOCKFILE "/tmp/.xsokoban-score-lock"' >> config.h + echo '#define SCOREFILE ".xsokoban-score"' >> config.h + echo '#define LOCKFILE ".xsokoban-score-lock"' >> config.h sed -e 's/getpass[(][^)]*[)]/PASSWORD/' -i main.c sed -e '/if [(]owner[)]/iowner=1;' -i main.c diff --git a/pkgs/games/zdoom/default.nix b/pkgs/games/zdoom/default.nix index 4bf8c526f58..59a88191d2e 100644 --- a/pkgs/games/zdoom/default.nix +++ b/pkgs/games/zdoom/default.nix @@ -1,11 +1,19 @@ -{stdenv, fetchsvn, cmake, SDL, nasm, p7zip, zlib, flac, fmod, libjpeg}: +{stdenv, fetchurl, cmake, SDL, nasm, p7zip, zlib, flac, fmod, libjpeg}: stdenv.mkDerivation { - name = "zdoom-svn-1424"; - src = fetchsvn { - url = http://mancubus.net/svn/hosted/zdoom/zdoom/trunk; - rev = 1424; + name = "zdoom-2.6.1"; + src = fetchurl { + url = http://zdoom.org/files/zdoom/2.6/zdoom-2.6.1-src.7z; + sha256 = "1ha7hygwf243vkgw0dfh4dxphf5vffb3kkci1p1p75a7r1g1bir8"; }; + + # XXX: shouldn't inclusion of p7zip handle this? + unpackPhase = '' + mkdir zdoom + cd zdoom + 7z x $src + ''; + buildInputs = [cmake nasm SDL p7zip zlib flac fmod libjpeg]; cmakeFlags = [ "-DSDL_INCLUDE_DIR=${SDL}/include/SDL" ]; diff --git a/pkgs/games/zoom/default.nix b/pkgs/games/zoom/default.nix index 1ca39ebc73b..fdf3aa91e2b 100644 --- a/pkgs/games/zoom/default.nix +++ b/pkgs/games/zoom/default.nix @@ -3,11 +3,11 @@ # !!! assert freetype == xlibs.freetype stdenv.mkDerivation { - name = "zoom-1.0.2alpha1"; + name = "zoom-1.1.5"; src = fetchurl { - url = http://www.logicalshift.demon.co.uk/unix/zoom/zoom-1.0.2alpha1.tar.gz; - md5 = "91b2fe444028178aa3b23bd0e3ae1a61"; + url = http://www.logicalshift.co.uk/unix/zoom/zoom-1.1.5.tar.gz; + sha256 = "1g6van7f7sg3zfcz80mncnnbccyg2hnm0hq4x558vpsm0lf7z5pj"; }; buildInputs = [perl expat x11 freetype]; diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix index de6eccbec1f..fcdc3c31f29 100644 --- a/pkgs/lib/attrsets.nix +++ b/pkgs/lib/attrsets.nix @@ -5,7 +5,8 @@ with { inherit (import ./trivial.nix) or; inherit (import ./default.nix) fold; inherit (import ./strings.nix) concatStringsSep; - inherit (import ./lists.nix) concatMap concatLists; + inherit (import ./lists.nix) concatMap concatLists all deepSeqList; + inherit (import ./misc.nix) maybeAttr; }; rec { @@ -23,7 +24,7 @@ rec { then attrByPath (tail attrPath) default (getAttr attr e) else default; - + /* Return nested attribute set in which an attribute is set. For instance ["x" "y"] applied with some value v returns `x.y = v;' */ setAttrByPath = attrPath: value: @@ -36,7 +37,7 @@ rec { getAttrFromPath = attrPath: set: let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'"; in attrByPath attrPath (abort errorMsg) set; - + /* Return the specified attributes from a set. @@ -79,6 +80,18 @@ rec { listToAttrs (fold (n: ys: let v = getAttr n set; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set)); + /* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list: + foldAttrs (n: a: [n] ++ a) [] [{ a = 2; } { a = 3; }] + => { a = [ 2 3 ]; } + */ + foldAttrs = op: nul: list_of_attrs: + fold (n: a: + fold (name: o: + o // (listToAttrs [{inherit name; value = op (getAttr name n) (maybeAttr name nul a); }]) + ) a (attrNames n) + ) {} list_of_attrs; + + /* Recursively collect sets that verify a given predicate named `pred' from the set `attrs'. The recursion is stopped when the predicate is verified. @@ -108,7 +121,7 @@ rec { builtins.listToAttrs. */ nameValuePair = name: value: { inherit name value; }; - + /* Apply a function to each element in an attribute set. The function takes two arguments --- the attribute name and its value --- and returns the new value for the attribute. The result is a @@ -126,7 +139,7 @@ rec { /* Like `mapAttrs', but allows the name of each attribute to be changed in addition to the value. The applied function should return both the new name and value as a `nameValuePair'. - + Example: mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value)) { x = "a"; y = "b"; } @@ -134,11 +147,11 @@ rec { */ mapAttrs' = f: set: listToAttrs (map (attr: f attr (getAttr attr set)) (attrNames set)); - + /* Call a function for each attribute in the given set and return the result in a list. - + Example: mapAttrsToList (name: value: name + value) { x = "a"; y = "b"; } @@ -146,7 +159,7 @@ rec { */ mapAttrsToList = f: attrs: map (name: f name (getAttr name attrs)) (attrNames attrs); - + /* Like `mapAttrs', except that it recursively applies itself to attribute sets. Also, the first argument of the argument @@ -163,7 +176,7 @@ rec { */ mapAttrsRecursive = mapAttrsRecursiveCond (as: true); - + /* Like `mapAttrsRecursive', but it takes an additional predicate function that tells it whether to recursive into an attribute set. If it returns false, `mapAttrsRecursiveCond' does not @@ -247,7 +260,7 @@ rec { returns: { foo.bar = 1; # 'foo.*' from the second set - foo.quz = 2; # + foo.quz = 2; # bar = 3; # 'bar' from the first set baz = 4; # 'baz' from the second set } @@ -264,9 +277,9 @@ rec { ); in f [] [rhs lhs]; - /* Does the same as the update operator '//' and keep siblings attribute. - This recusion stop when one of the attribute value is not an attribute - set, in which case the right hand side value takes precedence over the + /* A recursive variant of the update operator ‘//’. The recusion + stops when one of the attribute values is not an attribute set, + in which case the right hand side value takes precedence over the left hand side value. Example: @@ -301,4 +314,5 @@ rec { overrideExisting = old: new: old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] (getAttr attr old) new)) (attrNames old)); + deepSeqAttrs = x: y: deepSeqList (attrValues x) y; } diff --git a/pkgs/lib/customisation.nix b/pkgs/lib/customisation.nix index 54965ffb580..18cec3209f9 100644 --- a/pkgs/lib/customisation.nix +++ b/pkgs/lib/customisation.nix @@ -34,7 +34,7 @@ rec { overrideDerivation = drv: f: let # Filter out special attributes. - drop = [ "meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv" "type" "override" "deepOverride" "origArgs" "drvAttrs" "outputName" "all" "out" ] + drop = [ "meta" "passthru" "outPath" "drvPath" "crossDrv" "nativeDrv" "type" "override" "deepOverride" "origArgs" "drvAttrs" "outputName" "all" "out" ] # also drop functions such as .merge .override etc ++ lib.filter (n: isFunction (getAttr n drv)) (attrNames drv); attrs = removeAttrs drv drop; @@ -44,10 +44,10 @@ rec { passthru = if drv ? passthru then drv.passthru else {}; } // - (if (drv ? hostDrv && drv ? buildDrv) + (if (drv ? crossDrv && drv ? nativeDrv) then { - hostDrv = overrideDerivation drv.hostDrv f; - buildDrv = overrideDerivation drv.buildDrv f; + crossDrv = overrideDerivation drv.crossDrv f; + nativeDrv = overrideDerivation drv.nativeDrv f; } else { }); diff --git a/pkgs/lib/debug.nix b/pkgs/lib/debug.nix index b78f946c5d4..d627bc861ab 100644 --- a/pkgs/lib/debug.nix +++ b/pkgs/lib/debug.nix @@ -95,7 +95,7 @@ rec { else if isInt x then true else if x == null then true else true; # a (store) path? - in if (traverse x) then x else throw "else never reached"; + in if traverse x then x else throw "else never reached"; # example: (traceCallXml "myfun" id 3) will output something like # calling myfun arg 1: 3 result: 3 diff --git a/pkgs/lib/licenses.nix b/pkgs/lib/licenses.nix index dc88f887cc7..e1743bddf69 100644 --- a/pkgs/lib/licenses.nix +++ b/pkgs/lib/licenses.nix @@ -34,6 +34,12 @@ url = https://fedoraproject.org/wiki/Licensing/BSD; }; + cddl = { + shortName = "CDDL"; + fullName = "Common Development Distribution License "; + url = http://www.opensolaris.org/os/licensing/cddllicense.txt; + }; + cpl10 = { shortName = "CPL 1.0"; fullName = "Common Public License version 1.0"; @@ -175,6 +181,12 @@ shortName = "Proprietary"; fullName = "Proprietary (non redistributable) license"; }; + + tcltk = { + shortName = "Tcl/Tk"; + fullName = "Tcl/Tk license"; + url = http://www.tcl.tk/software/tcltk/license.html; + }; zlib = { shortName = "zlib"; diff --git a/pkgs/lib/lists.nix b/pkgs/lib/lists.nix index b9eba9ab478..0916355568c 100644 --- a/pkgs/lib/lists.nix +++ b/pkgs/lib/lists.nix @@ -1,4 +1,7 @@ # General list operations. +with { + inherit (import ./trivial.nix) deepSeq; +}; rec { inherit (builtins) head tail length isList add sub lessThan; @@ -190,7 +193,7 @@ rec { else let part = partition (strictLess (head l)) (tail l); in - qs part.wrong ([(head l)] ++ qs part.right []); + qs part.wrong ([(head l)] ++ qs part.right concat); in qs list []; @@ -220,4 +223,5 @@ rec { ++ zipTwoLists (tail xs) (tail ys) else []; + deepSeqList = xs: y: if any (x: deepSeq x false) xs then y else y; } diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix index 127295a2feb..76aa2de723d 100644 --- a/pkgs/lib/maintainers.nix +++ b/pkgs/lib/maintainers.nix @@ -10,14 +10,18 @@ andres = "Andres Loeh "; antono = "Antono Vasiljev "; astsmtl = "Alexander Tsamutali "; + aszlig = "aszlig "; + bbenoist = "Baptist BENOIST "; bjg = "Brian Gough "; bluescreen303 = "Mathijs Kwik "; chaoflow = "Florian Friesdorf "; coconnor = "Corey O'Connor "; - eelco = "Eelco Dolstra "; + eelco = "Eelco Dolstra "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; guibert = "David Guibert "; + iElectric = "Domen Kozar "; + jcumming = "Jack Cummings "; kkallio = "Karn Kallio "; ludo = "Ludovic Courtès "; marcweber = "Marc Weber "; @@ -35,6 +39,7 @@ sander = "Sander van der Burg "; shlevy = "Shea Levy "; simons = "Peter Simons "; + smironov = "Sergey Mironov "; thammers = "Tobias Hammerschmidt "; urkud = "Yury G. Kudryashov "; viric = "Lluís Batlle i Rossell "; diff --git a/pkgs/lib/misc.nix b/pkgs/lib/misc.nix index 39a3ad258b0..79504f7d886 100644 --- a/pkgs/lib/misc.nix +++ b/pkgs/lib/misc.nix @@ -53,7 +53,7 @@ rec { f : # the function applied to the arguments initial : # you pass attrs, the functions below are passing a function taking the fix argument let - takeFixed = if (isFunction initial) then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument + takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument tidy = args : let # apply all functions given in "applyPreTidy" in sequence applyPreTidyFun = fold ( n : a : x : n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args); @@ -106,11 +106,11 @@ rec { # shortcut for attrByPath ["name"] default attrs maybeAttrNullable = name: default: attrs: if attrs == null then default else - if (__hasAttr name attrs) then (__getAttr name attrs) else default; + if __hasAttr name attrs then (__getAttr name attrs) else default; # shortcut for attrByPath ["name"] default attrs maybeAttr = name: default: attrs: - if (__hasAttr name attrs) then (__getAttr name attrs) else default; + if __hasAttr name attrs then (__getAttr name attrs) else default; # Return the second argument if the first one is true or the empty version @@ -120,14 +120,14 @@ rec { else if builtins.isList val then [] else if builtins.isAttrs val then {} # else if builtins.isString val then "" - else if (val == true || val == false) then false + else if val == true || val == false then false else null; # Return true only if there is an attribute and it is true. checkFlag = attrSet: name: - if (name == "true") then true else - if (name == "false") then false else + if name == "true" then true else + if name == "false" then false else if (elem name (attrByPath ["flags"] [] attrSet)) then true else attrByPath [name] false attrSet ; @@ -170,7 +170,7 @@ rec { uniqListExt = {inputList, outputList ? [], getter ? (x : x), compare ? (x: y: x==y)}: - if (inputList == []) then outputList else + if inputList == [] then outputList else let x=head inputList; isX = y: (compare (getter y) (getter x)); newOutputList = outputList ++ @@ -226,7 +226,7 @@ rec { in innerClosePropagation acc' (uniqList { inputList = (maybeAttrNullable "propagatedBuildInputs" [] y) - ++ (maybeAttrNullable "propagatedBuildNativeInputs" [] y) + ++ (maybeAttrNullable "propagatedNativeBuildInputs" [] y) ++ ys; acc = acc'; } @@ -317,7 +317,7 @@ rec { mergeAttrsByFuncDefaults = foldl mergeAttrByFunc { inherit mergeAttrBy; }; # sane defaults (same name as attr name so that inherit can be used) mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; } - listToAttrs (map (n : nameValuePair n lib.concat) [ "buildNativeInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" ]) + listToAttrs (map (n : nameValuePair n lib.concat) [ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" ]) // listToAttrs (map (n : nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ]) // listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ]) ; @@ -362,7 +362,7 @@ rec { cfgWithDefaults = (listToAttrs (map (n : nameValuePair (flagName n) false) (attrNames args2.flags))) // args2.cfg; opts = attrValues (mapAttrs (a : v : - let v2 = if (v ? set || v ? unset) then v else { set = v; }; + let v2 = if v ? set || v ? unset then v else { set = v; }; n = if (getAttr (flagName a) cfgWithDefaults) then "set" else "unset"; attr = maybeAttr n {} v2; in if (maybeAttr "assertion" true attr) diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix index 25cb956a0ea..286178a0fa7 100644 --- a/pkgs/lib/modules.nix +++ b/pkgs/lib/modules.nix @@ -21,22 +21,26 @@ rec { || builtins.isList x ); + importIfPath = path: if isPath path then import path else path; + applyIfFunction = f: arg: if builtins.isFunction f then f arg else f; + isModule = m: (m ? config && isAttrs m.config && ! isOption m.config) || (m ? options && isAttrs m.options && ! isOption m.options); + # Convert module to a set which has imports / options and config # attributes. unifyModuleSyntax = m: @@ -88,8 +92,7 @@ rec { # used by generic closure to avoid duplicated imports. key = if isPath m then m - else if m' ? key then m'.key - else newModuleName origin index; + else m'.key or (newModuleName origin index); }; getImports = m: m.imports or []; @@ -107,15 +110,6 @@ rec { operator = m: imap (moduleImport m) (getImports m); }); - selectDeclsAndDefs = modules: - lib.concatMap (m: - if m ? config || m ? options then - [ (m.options or {}) ] - ++ [ (m.config or {}) ] - else - [ m ] - ) modules; - moduleApply = funs: module: lib.mapAttrs (name: value: @@ -126,6 +120,7 @@ rec { value ) module; + # Handle mkMerge function left behind after a delay property. moduleFlattenMerge = module: if module ? config && @@ -137,6 +132,7 @@ rec { else [ module ]; + # Handle mkMerge attributes which are left behind by previous delay # properties and convert them into a list of modules. Delay properties # inside the config attribute of a module and create a second module if a @@ -146,8 +142,9 @@ rec { delayModule = module: map (moduleApply { config = delayProperties; }) (moduleFlattenMerge module); + evalDefinitions = opt: values: - if opt ? type && opt.type.delayOnGlobalEval then + if opt.type.delayOnGlobalEval or false then map (delayPropertiesWithIter opt.type.iter opt.name) (evalLocalProperties values) else @@ -171,17 +168,20 @@ rec { map (selectModule name) modules ); + modulesNames = modules: lib.concatMap (m: [] ++ optionals (m ? options) (lib.attrNames m.options) ++ optionals (m ? config) (lib.attrNames m.config) ) modules; + moduleZip = funs: modules: lib.mapAttrs (name: fun: fun (catAttrs name modules) ) funs; + moduleMerge = path: modules: let modules_ = modules; in let @@ -234,7 +234,6 @@ rec { source = m.key; }) declarations; - hasOptions = values != []; isOption = any lib.isOption values; @@ -303,8 +302,7 @@ rec { let opt = option.decl; in opt.apply ( if isNotDefined then - if opt ? default then opt.default - else throw "Not defined." + opt.default or (throw "Not defined.") else opt.merge defs ) ); @@ -342,16 +340,16 @@ rec { fixMergeModules = initModules: {...}@args: lib.fix (result: - # This trick avoid an infinite loop because names of attribute are - # know and it is not require to evaluate the result of moduleMerge to - # know which attribute are present as argument. + # This trick avoids an infinite loop because names of attribute + # are know and it is not required to evaluate the result of + # moduleMerge to know which attributes are present as arguments. let module = { inherit (result) options config; }; in - moduleMerge "" ( moduleClosure initModules (module // args) ) ); + # Visit all definitions to raise errors related to undeclared options. checkModule = path: {config, options, ...}@m: let diff --git a/pkgs/lib/platforms.nix b/pkgs/lib/platforms.nix index 45e863458d4..8be37d7ed1e 100644 --- a/pkgs/lib/platforms.nix +++ b/pkgs/lib/platforms.nix @@ -2,9 +2,8 @@ let lists = import ./lists.nix; in rec { gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */ - linux = ["i686-linux" "x86_64-linux" "powerpc-linux" "armv5tel-linux" - "armv7l-linux" "mips64el-linux"]; - darwin = ["i686-darwin" "powerpc-darwin" "x86_64-darwin"]; + linux = ["i686-linux" "x86_64-linux" "powerpc-linux" "armv5tel-linux" "armv7l-linux" "mips64el-linux"]; + darwin = ["x86_64-darwin"]; freebsd = ["i686-freebsd" "x86_64-freebsd" "powerpc-freebsd"]; openbsd = ["i686-openbsd" "x86_64-openbsd"]; netbsd = ["i686-netbsd" "x86_64-netbsd"]; @@ -13,5 +12,5 @@ rec { all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd; none = []; allBut = platform: lists.filter (x: platform != x) all; - mesaPlatforms = linux; + mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux"]; } diff --git a/pkgs/lib/properties.nix b/pkgs/lib/properties.nix index 0d864b0c553..eeac27ae70c 100644 --- a/pkgs/lib/properties.nix +++ b/pkgs/lib/properties.nix @@ -25,7 +25,7 @@ rec { # contains a _type attribute and a list of functions which are used to # evaluate this property. The content attribute is used to stack properties # on top of each other. - # + # # The optional functions which may be contained in the property attribute # are: # - onDelay: run on a copied property. @@ -41,7 +41,7 @@ rec { # property and call the function `nul' on the final value which is not a # property. The stack is traversed in reversed order. The `op' function # should expect a property with a content which have been modified. - # + # # Warning: The `op' function expects only one argument in order to avoid # calls to mkProperties as the argument is already a valid property which # contains the result of the folding inside the content attribute. @@ -100,12 +100,10 @@ rec { triggerPropertiesDelay = name: attrs: let callOnDelay = p@{property, ...}: - lib.addErrorContext "while calling an `onDelay' function:" ( - if property ? onDelay then - property.onDelay name p - else - p - ); + if property ? onDelay then + property.onDelay name p + else + p; in foldProperty callOnDelay id attrs; @@ -123,9 +121,7 @@ rec { }; callOnGlobalDelay = property: content: - lib.addErrorContext "while calling an `onGlobalDelay' function:" ( - property.onGlobalDelay name content - ); + property.onGlobalDelay name content; in fold callOnGlobalDelay attrs globalDelayFuns; @@ -136,28 +132,25 @@ rec { evalProperties = valList: if valList != [] then filter (x: !isNotdef x) ( - lib.addErrorContext "while evaluating properties:" ( - triggerPropertiesGlobalEval ( - evalLocalProperties valList - ))) + triggerPropertiesGlobalEval ( + evalLocalProperties valList + ) + ) else valList; evalLocalProperties = valList: filter (x: !isNotdef x) ( - lib.addErrorContext "while evaluating local properties:" ( - map triggerPropertiesEval valList - )); + map triggerPropertiesEval valList + ); # Call onEval function triggerPropertiesEval = val: foldProperty (p@{property, ...}: - lib.addErrorContext "while calling an `onEval' function:" ( - if property ? onEval then - property.onEval p - else - p - ) + if property ? onEval then + property.onEval p + else + p ) id val; # Call onGlobalEval function @@ -176,10 +169,7 @@ rec { ) [] valList; }; - callOnGlobalEval = property: valList: - lib.addErrorContext "while calling an `onGlobalEval' function:" ( - property.onGlobalEval valList - ); + callOnGlobalEval = property: valList: property.onGlobalEval valList; in fold callOnGlobalEval valList globalEvalFuns; @@ -225,45 +215,11 @@ rec { inherit content; }; - # Create a "ThenElse" property which contains choices being chosen by - # the evaluation of an "If" statement. - isThenElse = attrs: (typeOf attrs) == "then-else"; - mkThenElse = attrs: - assert attrs ? thenPart && attrs ? elsePart; - __trace "Obsolete usage of mkThenElse, replace it by mkMerge." - mkProperty { - property = { - _type = "then-else"; - onEval = val: throw "Missing mkIf statement."; - inherit (attrs) thenPart elsePart; - }; - content = mkNotdef; - }; - - # Create an "Always" property removing/ ignoring all "If" statement. - isAlways = attrs: (typeOf attrs) == "always"; - mkAlways = value: - mkProperty { - property = { - _type = "always"; - onEval = p@{content, ...}: content; - inherit value; - }; - content = mkNotdef; - }; - mkAssert = assertion: message: content: mkIf (if assertion then true else throw "\nFailed assertion: ${message}") content; - # Remove all "If" statement defined on a value. - rmIf = foldProperty ( - foldFilter isIf - ({content, ...}: content) - id - ) id; - # Evaluate the "If" statements when either "ThenElse" or "Always" # statement is encountered. Otherwise it removes multiple If statements and # replaces them by one "If" statement where the condition is the list of all @@ -274,8 +230,8 @@ rec { # in the attribute list and attrs. ifProps = foldProperty - (foldFilter (p: isIf p || isThenElse p || isAlways p) - # then, push the codition inside the list list + (foldFilter (p: isIf p) + # then, push the condition inside the list list (p@{property, content, ...}: { inherit (content) attrs; list = [property] ++ content.list; @@ -297,19 +253,7 @@ rec { mkIf condition content else let p = head list; in - - # evaluate the condition. - if isThenElse p then - if condition then - copyProperties content p.thenPart - else - copyProperties content p.elsePart - # ignore the condition. - else if isAlways p then - copyProperties content p.value - # otherwise (isIf) - else - evalIf content (condition && p.condition) (tail list); + evalIf content (condition && p.condition) (tail list); in evalIf ifProps.attrs true ifProps.list; diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix index fb2752d97c1..4d899927887 100644 --- a/pkgs/lib/strings.nix +++ b/pkgs/lib/strings.nix @@ -109,6 +109,13 @@ rec { stringAsChars subst s; + # Case conversion utilities + lowerChars = stringToCharacters "abcdefghijklmnopqrstuvwxyz"; + upperChars = stringToCharacters "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + toLower = replaceChars upperChars lowerChars; + toUpper = replaceChars lowerChars upperChars; + + # Compares strings not requiring context equality # Obviously, a workaround but works on all Nix versions eqStrings = a: b: (a+(substring 0 0 b)) == ((substring 0 0 a)+b); @@ -155,4 +162,20 @@ rec { # Return true iff string v1 denotes a version older than v2. versionOlder = v1: v2: builtins.compareVersions v2 v1 == 1; + + # Get the version of the specified derivation, as specified in its + # ‘name’ attribute. + getVersion = drv: (builtins.parseDrvName drv.name).version; + + + # Extract name with version from URL. Ask for separator which is + # supposed to start extension + nameFromURL = url: sep: let + components = splitString "/" url; + filename = lib.last components; + name = builtins.head (splitString sep filename); + in + assert ! eqStrings name filename; + name; + } diff --git a/pkgs/lib/tests.nix b/pkgs/lib/tests.nix index 835298ddb9e..298bdffc379 100644 --- a/pkgs/lib/tests.nix +++ b/pkgs/lib/tests.nix @@ -58,6 +58,13 @@ runTests { ([ 1 2 3 ] == (take 4 [ 1 2 3 ])) ]; + testFoldAttrs = { + expr = foldAttrs (n: a: [n] ++ a) [] [ + { a = 2; b = 7; } + { a = 3; c = 8; } + ]; + expected = { a = [ 2 3 ]; b = [7]; c = [8];}; + }; testOverridableDelayableArgsTest = { expr = @@ -97,5 +104,10 @@ runTests { ]; expected = true; }; + + testSort = { + expr = sort builtins.lessThan [ 40 2 30 42 ]; + expected = [2 30 40 42]; + }; } diff --git a/pkgs/lib/trivial.nix b/pkgs/lib/trivial.nix index af47a8c8841..8af3474f2a6 100644 --- a/pkgs/lib/trivial.nix +++ b/pkgs/lib/trivial.nix @@ -1,3 +1,8 @@ +with { + inherit (import ./lists.nix) deepSeqList; + inherit (import ./attrsets.nix) deepSeqAttrs; +}; + rec { # Identity function. @@ -22,4 +27,12 @@ rec { # evaluation of its first argument. seq = x: y: if x == null then y else y; + # Like `seq', but recurses into lists and attribute sets to force evaluation + # of all list elements/attributes. + deepSeq = x: y: + if builtins.isList x + then deepSeqList x y + else if builtins.isAttrs x + then deepSeqAttrs x y + else seq x y; } diff --git a/pkgs/lib/types.nix b/pkgs/lib/types.nix index 38ae7b43630..6ddac61d91b 100644 --- a/pkgs/lib/types.nix +++ b/pkgs/lib/types.nix @@ -11,7 +11,7 @@ with import ./trivial.nix; rec { hasType = x: isAttrs x && x ? _type; - typeOf = x: if hasType x then x._type else ""; + typeOf = x: x._type or ""; setType = typeName: value: value // { _type = typeName; @@ -68,6 +68,14 @@ rec { merge = lib.concatStrings; }; + # Like ‘string’, but add newlines between every value. Useful for + # configuration file contents. + lines = mkOptionType { + name = "string"; + check = lib.traceValIfNot builtins.isString; + merge = lib.concatStringsSep "\n"; + }; + envVar = mkOptionType { name = "environment variable"; inherit (string) check; @@ -176,6 +184,20 @@ rec { fold = op: nul: v: if v == null then nul else elemType.fold op nul v; }; + functionTo = elemType: mkOptionType { + name = "function that evaluates to a(n) ${elemType.name}"; + check = lib.traceValIfNot builtins.isFunction; + merge = fns: + args: elemType.merge (map (fn: fn args) fns); + # These are guesses, I don't fully understand iter, fold, delayOnGlobalEval + iter = f: path: v: + args: elemType.iter f path (v args); + fold = op: nul: v: + args: elemType.fold op nul (v args); + inherit (elemType) delayOnGlobalEval; + hasOptions = false; + }; + # !!! this should be a type constructor that takes the options as # an argument. optionSet = mkOptionType { diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index bf4e4d1d7e5..6cc13aa3013 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -1,9 +1,8 @@ { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl -, dbus, libusb, acl }: +, dbus, libusb1, acl }: + +let version = "1.5.4"; in -let - version = "1.5.2"; -in stdenv.mkDerivation { name = "cups-${version}"; @@ -11,10 +10,10 @@ stdenv.mkDerivation { src = fetchurl { url = "http://ftp.easysw.com/pub/cups/${version}/cups-${version}-source.tar.bz2"; - sha256 = "1yw7l5rq93zg91akqf68b871frrs4q0krc9cx43ly7v3ih8all5i"; + md5 = "de3006e5cf1ee78a9c6145ce62c4e982"; }; - buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ] + buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb1 ] ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus acl ] ; propagatedBuildInputs = [ openssl ]; @@ -44,6 +43,6 @@ stdenv.mkDerivation { description = "A standards-based printing system for UNIX"; license = stdenv.lib.licenses.gpl2; # actually LGPL for the library and GPL for the rest maintainers = [ stdenv.lib.maintainers.urkud stdenv.lib.maintainers.simons ]; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/misc/cups/drivers/samsung/builder.sh b/pkgs/misc/cups/drivers/samsung/builder.sh new file mode 100644 index 00000000000..58e1c0cd781 --- /dev/null +++ b/pkgs/misc/cups/drivers/samsung/builder.sh @@ -0,0 +1,35 @@ +source $stdenv/setup + +arch=$(uname -m) +# replace i[3456]86 with i386 +echo arch | egrep -q '^i[3456]86$' && arch=i386 +arch=i386 +unpackPhase +patchPhase + +set -v + +echo $arch +cd cdroot/Linux +mkdir -p $out/opt +cp -r $arch/at_root/* $out +cp -r $arch/at_opt/* $out/opt +#cp -r noarch/at_root/* $out +cp -r noarch/at_opt/* $out/opt + +cd $out +#test -d usr/lib64 && ln -s usr/lib64 lib || +ln -s usr/lib lib +mkdir -p share/cups +cd share/cups +ln -s ../../opt/share/* . +ln -s ppd model + +cd $out/lib/cups/filter +for i in $(ls); do + echo patching $i... + patchelf --set-interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) $i || echo "(couldn't set interpreter)" + patchelf --set-rpath $cups/lib:$gcc/lib:$glibc/lib $i # This might not be necessary. +done + +ln -s $ghostscript/bin/gs $out/lib/cups/filter diff --git a/pkgs/misc/cups/drivers/samsung/default.nix b/pkgs/misc/cups/drivers/samsung/default.nix new file mode 100644 index 00000000000..ab0c0dc25e4 --- /dev/null +++ b/pkgs/misc/cups/drivers/samsung/default.nix @@ -0,0 +1,35 @@ +# Tested on linux-x86_64. Might work on linux-i386. Probably won't work on anything else. + +# To use this driver in NixOS, add it to printing.drivers in configuration.nix. +# configuration.nix might look like this when you're done: +# { pkgs, ... }: { +# printing = { +# enable = true; +# drivers = [ pkgs.samsungUnifiedLinuxDriver ]; +# }; +# (more stuff) +# } +# (This advice was tested on 2010 August 2.) + +{stdenv, fetchurl, cups, gcc, ghostscript, glibc, patchelf}: + +stdenv.mkDerivation rec { + name = "samsung-UnifiedLinuxDriver-0.92"; + + src = fetchurl { + url = "http://downloadcenter.samsung.com/content/DR/200911/20091103171827750/UnifiedLinuxDriver_0.92.tar.gz"; + sha256 = "0p2am0p8xvm339mad07c4j77gz31m63z76sy6d9hgwmxy2prbqfq"; + }; + + buildInputs = [ cups gcc ghostscript glibc patchelf ]; + + inherit cups gcc ghostscript glibc; + + builder = ./builder.sh; + + meta = { + description = "Samsung's Linux drivers; includes binaries without source code"; + homepage = "http://www.samsung.com/"; + license = "samsung"; # Binary-only + }; +} diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix index 867f4f440d5..ff03770014d 100644 --- a/pkgs/misc/drivers/foomatic-filters/default.nix +++ b/pkgs/misc/drivers/foomatic-filters/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, perl, cups, coreutils, gnused }: +{ stdenv, fetchurl, pkgconfig, perl, cups, dbus }: stdenv.mkDerivation rec { - name = "foomatic-filters-4.0.6"; + name = "foomatic-filters-4.0.12"; src = fetchurl { url = "http://www.openprinting.org/download/foomatic/${name}.tar.gz"; - sha256 = "0wa9hlq7s99sh50kl6bj8j0vxrz7pcbwdnqs1yfjjhqshfh7hsav"; + sha256 = "17w26r15094j4fqifa7f7i7jad4gsy9zdlq69kffrykcw31qx3q8"; }; - buildInputs = [ perl cups ]; + buildInputs = [ pkgconfig perl cups dbus ]; preConfigure = '' diff --git a/pkgs/misc/drivers/gutenprint/bin.nix b/pkgs/misc/drivers/gutenprint/bin.nix index d78e1674d87..1def4b7d1c9 100644 --- a/pkgs/misc/drivers/gutenprint/bin.nix +++ b/pkgs/misc/drivers/gutenprint/bin.nix @@ -56,6 +56,9 @@ stdenv.mkDerivation { patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ --set-rpath $libPath $p done + + mkdir $out/lib + ln -s $out/cups/lib $out/lib/cups ''; meta = { diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix index 514655bd727..5b9ef87a129 100644 --- a/pkgs/misc/drivers/hplip/default.nix +++ b/pkgs/misc/drivers/hplip/default.nix @@ -1,5 +1,5 @@ -{stdenv, fetchurl, cups, zlib, libjpeg, libusb, python, saneBackends, dbus -, pkgconfig, polkit, qtSupport ? true, qt4 +{stdenv, fetchurl, cups, zlib, libjpeg, libusb, pythonPackages, saneBackends, dbus +, pkgconfig, polkit, qtSupport ? true, qt4, pythonDBus, pyqt4, net_snmp }: stdenv.mkDerivation rec { @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { prePatch = '' sed -i s,/etc/sane.d,$out/etc/sane.d/, Makefile.in + sed -i s,/etc/hp/,$out/etc/hp/, base/g.py ''; # --disable-network-build Until we have snmp @@ -28,7 +29,7 @@ stdenv.mkDerivation rec { --with-systraydir=$out/xdg/autostart --with-mimedir=$out/etc/cups --enable-policykit - --disable-network-build" + " export makeFlags=" halpredir=$out/share/hal/fdi/preprobe/10osvendor @@ -41,8 +42,27 @@ stdenv.mkDerivation rec { "; ''; - buildInputs = [libjpeg cups libusb python saneBackends dbus pkgconfig] ++ - stdenv.lib.optional qtSupport qt4; + postInstall = '' + wrapPythonPrograms + ''; + + buildInputs = [ + libjpeg + cups + libusb + pythonPackages.python + pythonPackages.wrapPython + saneBackends + dbus + pkgconfig + net_snmp + ] ++ stdenv.lib.optional qtSupport qt4; + + pythonPath = with pythonPackages; [ + pythonDBus + pygobject + recursivePthLoader + ] ++ stdenv.lib.optional qtSupport pyqt4; meta = with stdenv.lib; { description = "Print, scan and fax HP drivers for Linux"; diff --git a/pkgs/misc/emulators/dlx/default.nix b/pkgs/misc/emulators/dlx/default.nix new file mode 100644 index 00000000000..c23b60c29b3 --- /dev/null +++ b/pkgs/misc/emulators/dlx/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation { + name = "dlx-2012.07.08"; + + src = fetchurl { + url = "http://www.davidviner.com/zip/dlx/dlx.zip"; + sha256 = "0q5hildq2xcig7yrqi26n7fqlanyssjirm7swy2a9icfxpppfpkn"; + }; + + buildInputs = [ unzip ]; + + makeFlags = "LINK=gcc CFLAGS=-O2"; + + installPhase = '' + mkdir -p $out/include/dlx $out/share/dlx/{examples,doc} $out/bin + mv -v masm mon dasm $out/bin/ + mv -v *.i auto.a $out/include/dlx/ + mv -v *.a *.m $out/share/dlx/examples/ + mv -v README.txt MANUAL.TXT $out/share/dlx/doc/ + ''; + + meta = { + homepage = "http://www.davidviner.com/dlx.php"; + description = "DLX Simulator"; + license = "GPL-2"; + }; +} diff --git a/pkgs/misc/emulators/wine/build_winetricks.sh b/pkgs/misc/emulators/wine/build_winetricks.sh new file mode 100644 index 00000000000..2d19e749f2d --- /dev/null +++ b/pkgs/misc/emulators/wine/build_winetricks.sh @@ -0,0 +1,17 @@ +#!bash +source $stdenv/setup +mkdir -p $out/bin +cp $src/src/winetricks $out/bin/winetricks +chmod +x $out/bin/winetricks +cd $out/bin +patch -u -p0 < $patch + +mkdir -p "$out/share/man/man1" +cp "$src/src/winetricks.1" "$out/share/man/man1/" + +patchShebangs "$out" + +substituteInPlace "$out/bin/winetricks" --replace "/usr/bin/perl" `which perl` + +# add stuff to PATH +sed -i "2i PATH=\"${pathAdd}:\${PATH}\"" "$out/bin/winetricks" diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix index b35660daf5e..010e65f62eb 100644 --- a/pkgs/misc/emulators/wine/default.nix +++ b/pkgs/misc/emulators/wine/default.nix @@ -1,22 +1,23 @@ { stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib , ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge -, libxml2, libxslt, openssl, gnutls +, libxml2, libxslt, openssl, gnutls, cups }: assert stdenv.isLinux; assert stdenv.gcc.gcc != null; stdenv.mkDerivation rec { - name = "wine-1.5.10"; + version = "1.5.23"; + name = "wine-${version}"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "04wydwc8q49bw8brlklx2nbgr453lx7bbfass5zn88xbz997lppk"; + sha256 = "1wgs2bdl3sn3j0za7fk9zfjlii1x6qkvmyw4jxzz1mfw6nizswzr"; }; gecko = fetchurl { - url = "mirror://sourceforge/wine/wine_gecko-1.5-x86.msi"; - sha256 = "2e372a1b87ff2a22ad5127400ece4b09e55591d9f84e00bb562d294898a49b5c"; + url = "mirror://sourceforge/wine/wine_gecko-1.9-x86.msi"; + sha256 = "10p7djsf85xjk8rzg3hgw5fskrn8402y2aijy701xwm4hy9ga79g"; }; buildInputs = [ @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite alsaLib ncurses libpng libjpeg lcms fontforge - libxml2 libxslt openssl gnutls + libxml2 libxslt openssl gnutls cups ]; # Wine locates a lot of libraries dynamically through dlopen(). Add @@ -34,7 +35,7 @@ stdenv.mkDerivation rec { freetype fontconfig stdenv.gcc.gcc mesa mesa.libdrm xlibs.libXinerama xlibs.libXrender xlibs.libXrandr xlibs.libXcursor xlibs.libXcomposite libpng libjpeg - openssl gnutls + openssl gnutls cups ]; # Don't shrink the ELF RPATHs in order to keep the extra RPATH diff --git a/pkgs/misc/emulators/wine/default.upstream b/pkgs/misc/emulators/wine/default.upstream new file mode 100644 index 00000000000..e23f341c28a --- /dev/null +++ b/pkgs/misc/emulators/wine/default.upstream @@ -0,0 +1,8 @@ +url http://sourceforge.net/projects/wine/files/Source/ +version_link '[.]tar[.][^./]+/download$' +SF_redirect +do_overwrite () { + ensure_hash + set_var_value version "$CURRENT_VERSION" + set_var_value sha256 "$CURRENT_HASH" +} diff --git a/pkgs/misc/emulators/wine/wine-warcraft.nix b/pkgs/misc/emulators/wine/wine-warcraft.nix deleted file mode 100644 index 3573c0ba4fe..00000000000 --- a/pkgs/misc/emulators/wine/wine-warcraft.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, fetchgit, xlibs, flex, bison, mesa, alsaLib -, ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge -, libxml2, libxslt, openssl, gnutls -}: - -assert stdenv.isLinux; -assert stdenv.gcc.gcc != null; - -stdenv.mkDerivation rec { - name = "wine-warcraft-${version}"; - version = "1.1.19"; - - src = fetchgit { - url = git://repo.or.cz/wine/warcraft3.git; - rev = "38faaffd99331b71284d8da5f76f38625107ed6d"; - }; - - buildInputs = [ - xlibs.xlibs flex bison xlibs.libXi mesa - xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr - xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite - xlibs.xf86vidmodeproto - alsaLib ncurses libpng libjpeg lcms fontforge - libxml2 libxslt openssl gnutls - ]; - - # Wine locates a lot of libraries dynamically through dlopen(). Add - # them to the RPATH so that the user doesn't have to set them in - # LD_LIBRARY_PATH. - NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [ - freetype fontconfig stdenv.gcc.gcc mesa mesa.libdrm - xlibs.libXinerama xlibs.libXrender xlibs.libXrandr - xlibs.libXcursor xlibs.libXcomposite xlibs.libXxf86vm - xlibs.xf86vidmodeproto - openssl gnutls - ]; - - # Don't shrink the ELF RPATHs in order to keep the extra RPATH - # elements specified above. - dontPatchELF = true; - - meta = with stdenv.lib; { - homepage = "http://www.winehq.org/"; - license = "LGPL"; - description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix with patches for Warcraft 3"; - maintainers = [ maintainers.phreedom ]; - platforms = [ "i686-linux" ]; - }; -} diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix new file mode 100644 index 00000000000..8a0901ddb80 --- /dev/null +++ b/pkgs/misc/emulators/wine/winetricks.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchsvn, wine, perl, which, coreutils, zenity, curl, cabextract, unzip, p7zip } : + +stdenv.mkDerivation rec { + rev = "939"; + name = "winetricks-${rev}"; + + src = fetchsvn { + url = "http://winetricks.googlecode.com/svn/trunk"; + inherit rev; + }; + + buildInputs = [ perl which ]; + + pathAdd = stdenv.lib.concatStringsSep "/bin:" # coreutils is for sha1sum + [ wine perl which coreutils zenity curl cabextract unzip p7zip ] + + "/bin"; + + patch = ./winetricks.patch; + + builder = ./build_winetricks.sh; + + meta = { + description = "A script to install DLLs needed to work around problems in Wine"; + license = "LGPLv2.1"; + homepage = http://code.google.com/p/winetricks/; + }; +} + diff --git a/pkgs/misc/emulators/wine/winetricks.patch b/pkgs/misc/emulators/wine/winetricks.patch new file mode 100644 index 00000000000..f419a0dcee4 --- /dev/null +++ b/pkgs/misc/emulators/wine/winetricks.patch @@ -0,0 +1,21 @@ +--- upstream-winetricks 2013-01-12 13:26:12.333076904 -0800 ++++ winetricks 2013-01-12 14:37:39.675092352 -0800 +@@ -3398,7 +3398,7 @@ + WINETRICKS_OPT_SHAREDPREFIX=${WINETRICKS_OPT_SHAREDPREFIX:-0} + + # Mac folks tend to not have sha1sum, but we can make do with openssl +- if [ -x "`which sha1sum 2>/dev/null`" ] ++ if [ -e "`which sha1sum 2>/dev/null`" ] + then + WINETRICKS_SHA1SUM="sha1sum" + elif [ -x "`which openssl 2>/dev/null`" ] +@@ -3628,7 +3628,7 @@ + if ! test "$WINETRICKS_LIB" + then + WINETRICKS_SRCDIR=`dirname "$0"` +- WINETRICKS_SRCDIR=`cd "$WINETRICKS_SRCDIR"; /bin/pwd` ++ WINETRICKS_SRCDIR=`cd "$WINETRICKS_SRCDIR"; pwd` + + # Which GUI helper to use (none/zenity/kdialog). See winetricks_detect_gui. + WINETRICKS_GUI=none + diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix index 0a028660f7f..cf2c40f785e 100644 --- a/pkgs/misc/ghostscript/default.nix +++ b/pkgs/misc/ghostscript/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl, lcms, freetype +{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl +, lcms2, freetype, libpaper, jbig2dec, expat , x11Support, x11 ? null , cupsSupport ? false, cups ? null , gnuFork ? true @@ -8,8 +9,8 @@ assert x11Support -> x11 != null; assert cupsSupport -> cups != null; let - meta = { - homepage = http://www.gnu.org/software/ghostscript/; + meta_common = { + homepage = "http://www.gnu.org/software/ghostscript/"; description = "GNU Ghostscript, a PostScript interpreter"; longDescription = '' @@ -27,35 +28,38 @@ let maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.viric ]; }; - gnuForkData = rec { + gnuForkSrc = rec { name = "ghostscript-9.04.1"; src = fetchurl { url = "mirror://gnu/ghostscript/gnu-${name}.tar.bz2"; sha256 = "0zqa6ggbkdqiszsywgrra4ij0sddlmrfa50bx2mh568qid4ga0a2"; }; - inherit meta; + meta = meta_common; patches = [ ./purity.patch ]; }; - mainlineData = { - name = "ghostscript-9.05"; + mainlineSrc = rec { + name = "ghostscript-9.06"; src = fetchurl { - url = http://downloads.ghostscript.com/public/ghostscript-9.05.tar.bz2; - sha256 = "1b6fi76x6pn9dmr9k9lh8kimn968dmh91k824fmm59d5ycm22h8g"; + url = "http://downloads.ghostscript.com/public/${name}.tar.bz2"; + sha256 = "014f10rxn4ihvcr1frby4szd1jvkrwvmdhnbivpp55c9fssx3b05"; }; - meta = meta // { - homepage = http://www.ghostscript.com/; + meta = meta_common // { + homepage = "http://www.ghostscript.com/"; description = "GPL Ghostscript, a PostScript interpreter"; }; preConfigure = '' - rm -R libpng jpeg lcms tiff freetype + rm -R libpng jpeg lcms{,2} tiff freetype jbig2dec expat jasper openjpeg + + substituteInPlace base/unix-aux.mak --replace "INCLUDE=/usr/include" "INCLUDE=/no-such-path" + sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@" -i base/unix-aux.mak ''; - patches = [ ./purity-9.05.patch ]; + patches = []; }; - variant = if gnuFork then gnuForkData else mainlineData; + variant = if gnuFork then gnuForkSrc else mainlineSrc; in @@ -64,19 +68,23 @@ stdenv.mkDerivation rec { fonts = [ (fetchurl { - url = mirror://gnu/ghostscript/gnu-gs-fonts-std-6.0.tar.gz; - sha256 = "1lxr1y52r26qjif8kdqkfhsb5llakdcx3f5b9ppdyn59bb83ivsc"; + url = "mirror://sourceforge/gs-fonts/ghostscript-fonts-std-8.11.tar.gz"; + sha256 = "00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf"; }) (fetchurl { - url = mirror://gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz; + url = "mirror://gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz"; sha256 = "1cxaah3r52qq152bbkiyj2f7dx1rf38vsihlhjmrvzlr8v6cqil1"; }) # ... add other fonts here ]; - buildInputs = [libjpeg libpng libtiff zlib pkgconfig fontconfig openssl lcms] - ++ stdenv.lib.optionals x11Support [x11 freetype] - ++ stdenv.lib.optional cupsSupport cups; + buildInputs = [ + libjpeg libpng libtiff zlib pkgconfig fontconfig openssl lcms2 + libpaper jbig2dec expat + ] ++ stdenv.lib.optionals x11Support [x11 freetype] + ++ stdenv.lib.optional cupsSupport cups + # [] # maybe sometimes jpeg2000 support + ; CFLAGS = "-fPIC"; NIX_LDFLAGS = @@ -92,7 +100,7 @@ stdenv.mkDerivation rec { makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups) '' + stdenv.lib.optionalString (variant ? preConfigure) variant.preConfigure; - configureFlags = + configureFlags = [ "--with-system-libtiff" ] ++ (if x11Support then [ "--with-x" ] else [ "--without-x" ]) ++ (if cupsSupport then [ "--enable-cups" "--with-install-cups" ] else [ "--disable-cups" ]); @@ -100,6 +108,7 @@ stdenv.mkDerivation rec { installTargets="install soinstall"; + # ToDo: web says the fonts should be already included postInstall = '' for i in $fonts; do (cd $out/share/ghostscript && tar xvfz $i) diff --git a/pkgs/misc/ghostscript/libpng-1.5.patch b/pkgs/misc/ghostscript/libpng-1.5.patch deleted file mode 100644 index b00305804a0..00000000000 --- a/pkgs/misc/ghostscript/libpng-1.5.patch +++ /dev/null @@ -1,198 +0,0 @@ -$NetBSD: patch-ak,v 1.5 2011/01/15 14:08:10 wiz Exp $ - -Fix build with png-1.5. From John Bowler. - -See also http://bugs.ghostscript.com/show_bug.cgi?id=692060 - ---- a/base/gdevpng.c.orig 2008-07-17 02:34:01.000000000 +0000 -+++ b/base/gdevpng.c -@@ -36,12 +36,14 @@ - #include "gdevpccm.h" - #include "gscdefs.h" - --#define PNG_INTERNAL - /* - * libpng versions 1.0.3 and later allow disabling access to the stdxxx - * files while retaining support for FILE * I/O. -+ * -+ * This is a misunderstanding - this is a build time option for libpng, -+ * it has no effect on a user of libpng. - */ --#define PNG_NO_CONSOLE_IO -+/*#define PNG_NO_CONSOLE_IO*/ - /* - * Earlier libpng versions require disabling FILE * I/O altogether. - * This produces a compiler warning about no prototype for png_init_io. -@@ -280,7 +282,7 @@ png_print_page(gx_device_printer * pdev, - goto done; - } - /* set error handling */ -- if (setjmp(png_ptr->jmpbuf)) { -+ if (setjmp(png_jmpbuf(png_ptr))) { - /* If we get here, we had a problem reading the file */ - code = gs_note_error(gs_error_VMerror); - goto done; -@@ -290,19 +292,12 @@ png_print_page(gx_device_printer * pdev, - png_init_io(png_ptr, file); - - /* set the file information here */ -- info_ptr->width = pdev->width; -- info_ptr->height = pdev->height; -- /* resolution is in pixels per meter vs. dpi */ -- info_ptr->x_pixels_per_unit = -- (png_uint_32) (pdev->HWResolution[0] * (100.0 / 2.54)); -- info_ptr->y_pixels_per_unit = -- (png_uint_32) (pdev->HWResolution[1] * (100.0 / 2.54)); -- info_ptr->phys_unit_type = PNG_RESOLUTION_METER; -- info_ptr->valid |= PNG_INFO_pHYs; - switch (depth) { - case 32: -- info_ptr->bit_depth = 8; -- info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA; -+ png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height, -+ 8, PNG_COLOR_TYPE_RGB_ALPHA, -+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, -+ PNG_FILTER_TYPE_DEFAULT); - png_set_invert_alpha(png_ptr); - { gx_device_pngalpha *ppdev = (gx_device_pngalpha *)pdev; - png_color_16 background; -@@ -315,57 +310,69 @@ png_print_page(gx_device_printer * pdev, - } - break; - case 48: -- info_ptr->bit_depth = 16; -- info_ptr->color_type = PNG_COLOR_TYPE_RGB; -+ png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height, -+ 16, PNG_COLOR_TYPE_RGB, -+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, -+ PNG_FILTER_TYPE_DEFAULT); - #if defined(ARCH_IS_BIG_ENDIAN) && (!ARCH_IS_BIG_ENDIAN) - png_set_swap(png_ptr); - #endif - break; - case 24: -- info_ptr->bit_depth = 8; -- info_ptr->color_type = PNG_COLOR_TYPE_RGB; -+ png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height, -+ 8, PNG_COLOR_TYPE_RGB, -+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, -+ PNG_FILTER_TYPE_DEFAULT); - break; - case 8: -- info_ptr->bit_depth = 8; -- if (gx_device_has_color(pdev)) -- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; -- else -- info_ptr->color_type = PNG_COLOR_TYPE_GRAY; -+ png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height, -+ 8, gx_device_has_color(pdev) ? -+ PNG_COLOR_TYPE_PALETTE : PNG_COLOR_TYPE_GRAY, -+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, -+ PNG_FILTER_TYPE_DEFAULT); - break; - case 4: -- info_ptr->bit_depth = 4; -- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; -+ png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height, -+ 4, PNG_COLOR_TYPE_PALETTE, -+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, -+ PNG_FILTER_TYPE_DEFAULT); - break; - case 1: -- info_ptr->bit_depth = 1; -- info_ptr->color_type = PNG_COLOR_TYPE_GRAY; -+ png_set_IHDR(png_ptr, info_ptr, pdev->width, pdev->height, -+ 1, PNG_COLOR_TYPE_GRAY, -+ PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, -+ PNG_FILTER_TYPE_DEFAULT); - /* invert monocrome pixels */ - png_set_invert_mono(png_ptr); - break; -+ default: -+ png_error(png_ptr, "invalid bit depth"); - } - -+ /* resolution is in pixels per meter vs. dpi */ -+ png_set_pHYs(png_ptr, info_ptr, -+ (png_uint_32) (pdev->HWResolution[0] * (100.0 / 2.54)), -+ (png_uint_32) (pdev->HWResolution[1] * (100.0 / 2.54)), -+ PNG_RESOLUTION_METER); -+ - /* set the palette if there is one */ -- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) { -+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) { - int i; - int num_colors = 1 << depth; - gx_color_value rgb[3]; -+ png_color palette[256]; -+ -+ if (num_colors > 256) -+ num_colors = 256; - -- info_ptr->palette = -- (void *)gs_alloc_bytes(mem, 256 * sizeof(png_color), -- "png palette"); -- if (info_ptr->palette == 0) { -- code = gs_note_error(gs_error_VMerror); -- goto done; -- } -- info_ptr->num_palette = num_colors; -- info_ptr->valid |= PNG_INFO_PLTE; - for (i = 0; i < num_colors; i++) { - (*dev_proc(pdev, map_color_rgb)) ((gx_device *) pdev, - (gx_color_index) i, rgb); -- info_ptr->palette[i].red = gx_color_value_to_byte(rgb[0]); -- info_ptr->palette[i].green = gx_color_value_to_byte(rgb[1]); -- info_ptr->palette[i].blue = gx_color_value_to_byte(rgb[2]); -+ palette[i].red = gx_color_value_to_byte(rgb[0]); -+ palette[i].green = gx_color_value_to_byte(rgb[1]); -+ palette[i].blue = gx_color_value_to_byte(rgb[2]); - } -+ png_set_PLTE(png_ptr, info_ptr, palette, num_colors); - } - /* add comment */ - strncpy(software_key, "Software", sizeof(software_key)); -@@ -375,15 +382,14 @@ png_print_page(gx_device_printer * pdev, - text_png.key = software_key; - text_png.text = software_text; - text_png.text_length = strlen(software_text); -- info_ptr->text = &text_png; -- info_ptr->num_text = 1; -+ png_set_text(png_ptr, info_ptr, &text_png, 1); - - /* write the file information */ - png_write_info(png_ptr, info_ptr); - - /* don't write the comments twice */ -- info_ptr->num_text = 0; -- info_ptr->text = NULL; -+ /*info_ptr->num_text = 0;*/ -+ /*info_ptr->text = NULL;*/ - - /* Write the contents of the image. */ - for (y = 0; y < height; y++) { -@@ -395,7 +401,7 @@ png_print_page(gx_device_printer * pdev, - png_write_end(png_ptr, info_ptr); - - /* if you alloced the palette, free it here */ -- gs_free_object(mem, info_ptr->palette, "png palette"); -+ /*gs_free_object(mem, info_ptr->palette, "png palette");*/ - - done: - /* free the structures */ -@@ -405,6 +411,7 @@ png_print_page(gx_device_printer * pdev, - return code; - } - -+#if 0 /* not required in 1.5 */ - /* - * Patch around a static reference to a never-used procedure. - * This could be avoided if we were willing to edit pngconf.h to -@@ -422,6 +429,7 @@ png_push_fill_buffer(png_structp png_ptr - { - } - #endif -+#endif - - static int - pngalpha_open(gx_device * pdev) diff --git a/pkgs/misc/ghostscript/purity-9.05.patch b/pkgs/misc/ghostscript/purity-9.05.patch deleted file mode 100644 index cae9df7110b..00000000000 --- a/pkgs/misc/ghostscript/purity-9.05.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/base/unix-aux.mak b/base/unix-aux.mak -index 18745bc..0a67942 100644 ---- a/base/unix-aux.mak -+++ b/base/unix-aux.mak -@@ -111,15 +111,15 @@ $(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(MAKEDIRS) - # The "else true;" is required because Ultrix's implementation of sh -e - # terminates execution of a command if any error occurs, even if the command - # traps the error with ||. --INCLUDE=/usr/include -+INCLUDE=/no-such-path - $(gconfig__h): $(UNIX_AUX_MAK) $(ECHOGS_XE) - $(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 2a2f -- if ( test -f $(INCLUDE)/dirent.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi -- if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi -- if ( test -f $(INCLUDE)/sys/dir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi -- if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi -- if ( test -f $(INCLUDE)/sys/time.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 ifndef HAVE_SYS_TIME_H ; \ -+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi -+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi -+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi -+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi -+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 ifndef HAVE_SYS_TIME_H ; \ - $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H ; \ - $(ECHOGS_XE) -a $(gconfig__h) -x 23 endif; else true; fi -- if ( test -f $(INCLUDE)/sys/times.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi -+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi - if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define DONT_HAVE_JMEMSYS_H; fi diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index 7447421fc94..826924b8e8e 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -1,16 +1,18 @@ { stdenv, fetchurl, alsaLib, dbus, expat, libsamplerate , libsndfile, makeWrapper, pkgconfig, python, pythonDBus -, firewireSupport ? false, ffado ? null }: +, firewireSupport ? false, ffado ? null, bash }: assert firewireSupport -> ffado != null; stdenv.mkDerivation rec { name = "jackdbus-${version}"; - version = "1.9.8"; + version = "1.9.9.5"; src = fetchurl { - url = "http://www.grame.fr/~letz/jack-1.9.8.tgz"; - sha256 = "0788092zxrivcfnfg15brpjkf14x8ma8cwjz4k0b9xdxajn2wwac"; + urls = [ + https://dl.dropbox.com/u/28869550/jack-1.9.9.5.tar.bz2 + ]; + sha256 = "1ggba69jsfg7dmjzlyqz58y2wa92lm3vwdy4r15bs7mvxb65mvv5"; }; buildInputs = @@ -18,8 +20,11 @@ stdenv.mkDerivation rec { pkgconfig python pythonDBus ] ++ (stdenv.lib.optional firewireSupport ffado); + patchPhase = '' + substituteInPlace svnversion_regenerate.sh --replace /bin/bash ${bash}/bin/bash + ''; + configurePhase = '' - cd jack-1.9.8 python waf configure --prefix=$out --dbus --alsa ${if firewireSupport then "--firewire" else ""} ''; diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix index 990606668fe..85499e893f8 100644 --- a/pkgs/misc/my-env/default.nix +++ b/pkgs/misc/my-env/default.nix @@ -63,8 +63,8 @@ mkDerivation { # The setup.sh script from stdenv will expect the native build inputs in - # the buildNativeInputs environment variable. - buildNativeInputs = [ ] ++ buildInputs; + # the nativeBuildInputs environment variable. + nativeBuildInputs = [ ] ++ buildInputs; # Trick to bypass the stdenv usual change of propagatedBuildInputs => propagatedNativeBuildInputs propagatedBuildInputs2 = propagatedBuildInputs; @@ -87,7 +87,7 @@ mkDerivation { -e 's@trap.*@@' \ -i "$s" cat >> "$out/dev-envs/''${name/env-/}" << EOF - buildNativeInputs="$buildNativeInputs" + nativeBuildInputs="$nativeBuildInputs" propagatedBuildInputs="$propagatedBuildInputs2" # the setup-new script wants to write some data to a temp file.. so just let it do that and tidy up afterwards tmp="\$("${pkgs.coreutils}/bin/mktemp" -d)" @@ -95,6 +95,8 @@ mkDerivation { phases= # only do all the setup stuff in nix-support/* set +e + # This prevents having -rpath /lib in NIX_LDFLAGS + export NIX_NO_SELF_RPATH=1 if [[ -z "\$ZSH_VERSION" ]]; then source "$s" else diff --git a/pkgs/misc/rosegarden/default.nix b/pkgs/misc/rosegarden/default.nix deleted file mode 100644 index dd4e351a020..00000000000 --- a/pkgs/misc/rosegarden/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -x@{builderDefsPackage - , automake, pkgconfig, libX11, libSM, imake, qt4, alsaLib, jackaudio - , ladspaH, liblrdf, dssi, liblo, fftwSinglePrec, libsndfile, libsamplerate - , xproto, libICE, perl, makedepend, librdf_raptor, lilypond, flac, libunwind - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; - - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="rosegarden"; - version="10.10"; - project="${baseName}"; - name="${baseName}-${version}"; - url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.bz2"; - hash="1ia74kzkw1yr3h8q4lrccx49hcy2961rni3h4css7r6hdl9xq909"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; - }; - - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - - configureFlags = [ - "--with-qtdir=${qt4}" - ]; - - setVars = a.noDepEntry '' - export NIX_LDFLAGS="$NIX_LDFLAGS -lz -ldl -lX11" - ''; - - meta = { - description = "A music editor and MIDI sequencer"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.gpl2; - }; - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/rosegarden/files/rosegarden/"; - }; - }; -}) x - diff --git a/pkgs/misc/sane-backends/default.nix b/pkgs/misc/sane-backends/default.nix deleted file mode 100644 index 31372aa8418..00000000000 --- a/pkgs/misc/sane-backends/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null -, gt68xxFirmware ? null }: -let - firmware = gt68xxFirmware {inherit fetchurl;}; -in -assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"); - -stdenv.mkDerivation { - name = "sane-backends-1.0.22"; - - src = fetchurl { - url = http://alioth.debian.org/frs/download.php/3503/sane-backends-1.0.22.tar.gz; - sha256 = "0m0cz4ljw9asqvpryl6gx1ndwf7ll2qinlvql9whnzs901la314z"; - }; - - udevSupport = hotplugSupport; - - buildInputs = if libusb != null then [libusb] else []; - - postInstall = '' - if test "$udevSupport" = "1"; then - mkdir -p $out/etc/udev/rules.d/ - ./tools/sane-desc -m udev > $out/etc/udev/rules.d/60-libsane.rules || \ - cp tools/udev/libsane.rules $out/etc/udev/rules.d/60-libsane.rules - fi - ''; - - preInstall = - if gt68xxFirmware != null then - "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw + - " \${out}/share/sane/gt68xx/" + firmware.name - else ""; -} diff --git a/pkgs/misc/sane-backends/snapshot.nix b/pkgs/misc/sane-backends/snapshot.nix deleted file mode 100644 index 636ae37ec05..00000000000 --- a/pkgs/misc/sane-backends/snapshot.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null -, gt68xxFirmware ? null }: -let - firmware = gt68xxFirmware {inherit fetchurl;}; -in -assert hotplugSupport -> stdenv.system == "i686-linux"; - -stdenv.mkDerivation { - name = "sane-backends-1.0.22.git201111204"; - - src = fetchurl { - url = http://www.sane-project.org/snapshots/sane-backends-git20111204.tar.gz; - sha256 = "00b3fi8zjrq3in0wndz1xcz228mgfhwhh2knmyjsikr88hal0m47"; - }; - - udevSupport = hotplugSupport; - - buildInputs = if libusb != null then [libusb] else []; - - postInstall = '' - if test "$udevSupport" = "1"; then - mkdir -p $out/etc/udev/rules.d/ - ./tools/sane-desc -m udev > $out/etc/udev/rules.d/60-libsane.rules || \ - cp tools/udev/libsane.rules $out/etc/udev/rules.d/60-libsane.rules - fi - ''; - - preInstall = - if gt68xxFirmware != null then - "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw + - " \${out}/share/sane/gt68xx/" + firmware.name - else ""; -} diff --git a/pkgs/misc/sane-front/default.nix b/pkgs/misc/sane-front/default.nix deleted file mode 100644 index 9427d17ac64..00000000000 --- a/pkgs/misc/sane-front/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{stdenv, fetchurl, saneBackends, libX11, gtk, - pkgconfig, libusb ? null}: -stdenv.mkDerivation { - name = "sane-frontend"; - - src = fetchurl { - url = ftp://ftp.sane-project.org/pub/sane/sane-frontends-1.0.14/sane-frontends-1.0.14.tar.gz; - md5 = "c63bf7b0bb5f530cf3c08715db721cd3"; - }; - - preConfigure = '' - sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/gtkglue.c - ''; - - buildInputs = [saneBackends libX11 gtk pkgconfig] ++ - (if (libusb != null) then [libusb] else []); -} diff --git a/pkgs/misc/screensavers/rss-glx/builder.sh b/pkgs/misc/screensavers/rss-glx/builder.sh deleted file mode 100644 index a0c138d5e04..00000000000 --- a/pkgs/misc/screensavers/rss-glx/builder.sh +++ /dev/null @@ -1,31 +0,0 @@ -source $stdenv/setup - -# This is a very dirty hack to prevent the binaries from putting the -# Mesa libraries in their RPATHs. -mkdir -p $out/tmp -ln -s $mesa/lib/* $out/tmp/ -mkdir -p $out/lib -ln -s $mesa/lib/libGLU* $out/lib/ -export NIX_LDFLAGS="-L$out/tmp $NIX_LDFLAGS" - -genericBuild - -rm -rf $out/tmp - - -# Add a wrapper around each program to use the appropriate OpenGL driver. -mkdir -p $out/bin/.orig - -for i in $(cd $out/bin && ls); do - mv $out/bin/$i $out/bin/.orig/$i - cat >$out/bin/$i < ++ * Written-by: Gérald Kerma ++ * ++ * (C) Copyright 2003 ++ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it 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. ++ * ++ * This program is distributed in the hope that it 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; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#ifdef CONFIG_KIRKWOOD ++#include ++#endif ++#include "mv_sdio.h" ++ ++#ifdef CONFIG_MMC ++ ++#define DRIVER_NAME "mv-sdio" ++ ++#ifdef DEBUG ++#define pr_debug(fmt, args...) printf(fmt, ##args) ++#else ++#define pr_debug(...) do { } while(0) ++#endif ++ ++//static mv_sdio_t *mvsd = (mv_sdio_t *)mmc->priv; ++static mv_sdio_t *mvsd = (mv_sdio_t *)MV_SDIO_BASE; ++ ++static int is_sdhc; ++extern int fat_register_device(block_dev_desc_t *dev_desc, int part_no); ++static block_dev_desc_t mmc_dev; ++block_dev_desc_t * mmc_get_dev(int dev) ++{ ++ return ((block_dev_desc_t *)&mmc_dev); ++} ++ ++/* ++ * FIXME needs to read cid and csd info to determine block size ++ * and other parameters ++ */ ++static uchar mmc_buf[MMC_BLOCK_SIZE]; ++static mv_mmc_csd_t mv_mmc_csd; ++static int mmc_ready = 0; ++ ++/* MMC_DEFAULT_RCA should probably be just 1, but this may break other code ++ that expects it to be shifted. */ ++static u_int16_t rca = 0; ++ ++/* used for debug */ ++static u_int32_t mv_mmc_size(const struct mv_mmc_csd *csd) ++{ ++ u_int32_t block_len, mult, blocknr; ++ ++ block_len = csd->read_bl_len << 12; ++ mult = csd->c_size_mult1 << 8; ++ blocknr = (csd->c_size+1) * mult; ++ ++ return blocknr * block_len; ++} ++ ++static int isprint (unsigned char ch) ++{ ++ if (ch >= 32 && ch < 127) ++ return (1); ++ ++ return (0); ++} ++ ++static int toprint(char *dst, char c) ++{ ++ if (isprint(c)) { ++ *dst = c; ++ return 1; ++ } ++ ++ return sprintf(dst,"\\x%02x", c); ++ ++} ++ ++static void print_mmc_cid(mv_mmc_cid_t *cid) ++{ ++ printf("MMC found. Card desciption is:\n"); ++ printf("Manufacturer ID = %02x%02x%02x\n", ++ cid->id[0], cid->id[1], cid->id[2]); ++ printf("HW/FW Revision = %x %x\n",cid->hwrev, cid->fwrev); ++ cid->hwrev = cid->fwrev = 0; /* null terminate string */ ++ printf("Product Name = %s\n",cid->name); ++ printf("Serial Number = %02x%02x%02x\n", ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ printf("Month = %d\n",cid->month); ++ printf("Year = %d\n",1997 + cid->year); ++} ++ ++static void print_sd_cid(mv_sd_cid_t *cid) ++{ ++ int len; ++ char tbuf[64]; ++ ++ printf("SD%s found. Card desciption is:\n", is_sdhc?"HC":""); ++ ++ len = 0; ++ len += toprint(&tbuf[len], cid->oid_0); ++ len += toprint(&tbuf[len], cid->oid_1); ++ tbuf[len] = 0; ++ ++ printf("Manufacturer: 0x%02x, OEM \"%s\"\n", ++ cid->mid, tbuf); ++ ++ len = 0; ++ len += toprint(&tbuf[len], cid->pnm_0); ++ len += toprint(&tbuf[len], cid->pnm_1); ++ len += toprint(&tbuf[len], cid->pnm_2); ++ len += toprint(&tbuf[len], cid->pnm_3); ++ len += toprint(&tbuf[len], cid->pnm_4); ++ tbuf[len] = 0; ++ ++ printf("Product name: \"%s\", revision %d.%d\n", ++ tbuf, ++ cid->prv >> 4, cid->prv & 15); ++ ++ printf("Serial number: %u\n", ++ cid->psn_0 << 24 | cid->psn_1 << 16 | cid->psn_2 << 8 | ++ cid->psn_3); ++ printf("Manufacturing date: %d/%d\n", ++ cid->mdt_1 & 15, ++ 2000+((cid->mdt_0 & 15) << 4)+((cid->mdt_1 & 0xf0) >> 4)); ++ ++ printf("CRC: 0x%02x, b0 = %d\n", ++ cid->crc >> 1, cid->crc & 1); ++} ++ ++static void mvsdio_set_clock(unsigned int clock) ++{ ++ unsigned int m; ++ ++ m = MVSDMMC_BASE_FAST_CLOCK/(2*clock) - 1; ++ ++ pr_debug("mvsdio_set_clock: dividor = 0x%x clock=%d\n", ++ m, clock); ++ ++ ++ writew(m & 0x7ff, &mvsd->CLK_DIV); ++ ++ if (isprint(1)) ++ udelay(10*1000); ++} ++ ++/****************************************************/ ++static ulong * mv_mmc_cmd(ulong cmd, ulong arg, ushort xfermode, ushort resptype, ushort waittype) ++/****************************************************/ ++{ ++ static ulong resp[4]; ++ ushort done ; ++ int err = 0 ; ++ ulong curr, start, diff, hz; ++ ushort response[8]; ++ ++ pr_debug("mv_mmc_cmd %x, arg: %x,xfer: %x,resp: %x, wait : %x\n" ++ , (unsigned int)cmd, (unsigned int)arg, xfermode, resptype, waittype); ++ ++ ++ /* clear status */ ++ writew(0xffff, &mvsd->NOR_INTR_STATUS); ++ writew(0xffff, &mvsd->ERR_INTR_STATUS); ++ ++ start = get_timer(0); ++ hz = CONFIG_SYS_HZ; ++ ++ while((readw(&mvsd->PRESENT_STATE0) & CARD_BUSY)) { ++ curr = get_timer(0); ++ diff = (long) curr - (long) start; ++ if (diff > (3*hz)) ++ { ++ /* 3 seconds timeout, card busy, can't sent cmd */ ++ printf("card too busy \n"); ++ return 0; ++ } ++ } ++ ++ writew((ushort)(arg&0xffff), &mvsd->ARG_LOW); ++ writew((ushort)(arg>>16), &mvsd->ARG_HI); ++ writew(xfermode, &mvsd->XFER_MODE); ++ if( (cmd == MMC_CMD_READ_BLOCK) || (cmd == 25) ) ++ { ++ writew(((cmd << 8) | resptype | 0x3c ) , &mvsd->CMD); ++ pr_debug("cmd reg : %x\n", readw(&mvsd->CMD)) ; ++ ++ } ++ else ++ { ++ writew(((cmd << 8) | resptype ), &mvsd->CMD); ++ } ++ ++ done = readw(&mvsd->NOR_INTR_STATUS) & waittype; ++ start = get_timer(0); ++ ++ while( done!=waittype) ++ { ++ done = readw(&mvsd->NOR_INTR_STATUS) & waittype; ++ ++ if( readw(&mvsd->NOR_INTR_STATUS) & 0x8000 ) ++ { ++ pr_debug("Error! cmd : %d, err : %04x\n", (unsigned int)cmd, readw(&mvsd->ERR_INTR_STATUS)) ; ++ ++ return 0 ; /* error happen */ ++ } ++ ++ curr = get_timer(0); ++ diff = (long) curr - (long) start; ++ if (diff > (3*hz)) ++ { ++ pr_debug("cmd timeout, status : %04x\n", readw(&mvsd->NOR_INTR_STATUS)); ++ pr_debug("xfer mode : %04x\n", readw(&mvsd->XFER_MODE)); ++ ++ err = 1 ; ++ break; ++ } ++ } ++ ++ response[0] = readw(&mvsd->RSP0); ++ response[1] = readw(&mvsd->RSP1); ++ response[2] = readw(&mvsd->RSP2); ++ response[3] = readw(&mvsd->RSP3); ++ response[4] = readw(&mvsd->RSP4); ++ response[5] = readw(&mvsd->RSP5); ++ response[6] = readw(&mvsd->RSP6); ++ response[7] = readw(&mvsd->RSP7); ++ ++ memset(resp, 0, sizeof(resp)); ++ ++ switch (resptype & 0x3) { ++ case SDIO_CMD_RSP_48: ++ case SDIO_CMD_RSP_48BUSY: ++ resp[0] = ((response[2] & 0x3f) << (8 - 8)) | ++ ((response[1] & 0xffff) << (14 - 8)) | ++ ((response[0] & 0x3ff) << (30 - 8)); ++ resp[1] = ((response[0] & 0xfc00) >> 10); ++ break; ++ ++ case SDIO_CMD_RSP_136: ++ resp[3] = ((response[7] & 0x3fff) << 8) | ++ ((response[6] & 0x3ff) << 22); ++ resp[2] = ((response[6] & 0xfc00) >> 10) | ++ ((response[5] & 0xffff) << 6) | ++ ((response[4] & 0x3ff) << 22); ++ resp[1] = ((response[4] & 0xfc00) >> 10) | ++ ((response[3] & 0xffff) << 6) | ++ ((response[2] & 0x3ff) << 22); ++ resp[0] = ((response[2] & 0xfc00) >> 10) | ++ ((response[1] & 0xffff) << 6) | ++ ((response[0] & 0x3ff) << 22); ++ break; ++ default: ++ return 0; ++ } ++ int i; ++ pr_debug("MMC resp :"); ++ for (i=0; i<4; ++i ) { ++ pr_debug(" %08x", (unsigned int)resp[i]); ++ } ++ pr_debug("\n"); ++ if( err ) ++ return NULL ; ++ else ++ return resp; ++} ++ ++/****************************************************/ ++static int mv_mmc_block_read(uchar *dst, ulong src, ulong len) ++/****************************************************/ ++{ ++ ulong *resp; ++ ++ if (len == 0) { ++ return 0; ++ } ++ ++ if (is_sdhc) { ++ /* SDHC: use block address */ ++ src >>= 9; ++ } ++ ++ pr_debug("mmc_block_rd dst %lx src %lx len %d\n", (ulong)dst, src, (int)len); ++ ++ /* prepare for dma transfer */ ++ writew(((ulong)(dst))&0xffff,&mvsd->SYS_ADDR_LOW); ++ writew(((ulong)(dst)>>16)&0xffff,&mvsd->SYS_ADDR_HI); ++ writew(len,&mvsd->BLK_SIZE); ++ writew(1,&mvsd->BLK_COUNT); ++ ++ /* send read command */ ++ resp = mv_mmc_cmd(MMC_CMD_READ_BLOCK, src, 0x10 , ++ SDIO_CMD_RSP_48, SDIO_NOR_XFER_DONE); ++ if (!resp) { ++ pr_debug("mv_mmc_block_read: mmc read block cmd fails\n"); ++ return -EIO; ++ } ++ ++ return 0; ++} ++ ++/****************************************************/ ++int mv_mmc_read(ulong src, uchar *dst, int size) ++/****************************************************/ ++{ ++ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; ++ ulong mmc_block_size, mmc_block_address; ++ ++ if (size == 0) { ++ return 0; ++ } ++ ++ if (!mmc_ready) { ++ printf("Please initial the MMC first\n"); ++ return -1; ++ } ++ ++ mmc_block_size = MMC_BLOCK_SIZE; ++ mmc_block_address = ~(mmc_block_size - 1); ++ ++ end = src + size; ++ part_start = ~mmc_block_address & src; ++ part_end = ~mmc_block_address & end; ++ aligned_start = mmc_block_address & src; ++ aligned_end = mmc_block_address & end; ++ ++ /* all block aligned accesses */ ++ pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if (part_start) { ++ part_len = mmc_block_size - part_start; ++ pr_debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf+part_start, part_len); ++ dst += part_len; ++ src += part_len; ++ } ++ pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ for (; src < aligned_end; aligned_start +=mmc_block_size, src += mmc_block_size, dst += mmc_block_size) { ++ pr_debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ printf("mmc block read error\n"); ++ return -1; ++ } ++ memcpy(dst, mmc_buf, mmc_block_size); ++ } ++ pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if (part_end && src < end) { ++ pr_debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf, part_end); ++ } ++ return 0; ++} ++ ++/****************************************************/ ++static ulong mv_mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong *dst) ++/****************************************************/ ++{ ++ int mmc_block_size = MMC_BLOCK_SIZE; ++ ulong src = blknr * mmc_block_size; ++ ++ mv_mmc_read(src, (uchar *)dst, blkcnt*mmc_block_size); ++ return blkcnt; ++} ++ ++/****************************************************/ ++int mmc_legacy_init(int verbose) ++/****************************************************/ ++{ ++ int retries, rc = -ENODEV; ++ ulong *resp; ++ int sd_ver20; ++ int is_sd; ++ ushort reg; ++ uchar cidbuf[64]; ++ ++ sd_ver20 = 0; ++ is_sdhc = 0; ++ is_sd = 0; ++ ++ /* Initial Host Ctrl : Timeout : max , Normal Speed mode, 4-bit data mode */ ++ /* Big Endian, SD memory Card, Push_pull CMD Line */ ++ writew( SDIO_HOST_CTRL_TMOUT(0xf) | ++ SDIO_HOST_CTRL_DATA_WIDTH_4_BITS | ++ SDIO_HOST_CTRL_BIG_ENDIAN | ++ SDIO_HOST_CTRL_PUSH_PULL_EN | ++ SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY , ++ &mvsd->HOST_CTRL); ++ ++ writew( 0, &mvsd->CLK_CTRL); ++ ++ /* enable status */ ++ writew( 0xffff, &mvsd->NOR_STATUS_EN); ++ writew( 0xffff, &mvsd->ERR_STATUS_EN); ++ ++ /* disable interrupts */ ++ writew( 0, &mvsd->NOR_INTR_EN); ++ writew( 0, &mvsd->ERR_INTR_EN); ++ ++ writew( 0x100, &mvsd->SW_RESET); ++ udelay(10000); ++ ++ mv_mmc_csd.c_size = 0; ++ ++ /* reset */ ++ retries = 10; ++ resp = mv_mmc_cmd(0, 0, 0, SDIO_CMD_RSP_NONE, SDIO_NOR_CMD_DONE ); ++ pr_debug("cmd 0 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ pr_debug ("trying to detect SD card version\n"); ++ ++ resp = mv_mmc_cmd(8, 0x000001aa, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ pr_debug("cmd 8 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ if (resp && (resp[0] & 0x1ff)==0x1aa) { ++ pr_debug ("SD version 2.0 card detected\n"); ++ ++ sd_ver20 = 1; ++ } ++ ++ if (sd_ver20) ++ retries = 50; ++ else ++ retries = 10; ++ ++ while (retries--) { ++ resp = mv_mmc_cmd(55, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ pr_debug("cmd 55 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (sd_ver20) ++ resp = mv_mmc_cmd(41, 0x40300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ else ++ resp = mv_mmc_cmd(41, 0x00300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ ++ pr_debug("cmd 41 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (resp && (resp[0] & 0x80000000)) { ++ pr_debug ("detected SD card\n"); ++ ++ is_sd = 1; ++ break; ++ } ++ ++ udelay(100*1000); ++ } ++ ++ if (retries <= 0 && !is_sd) { ++ pr_debug ("failed to detect SD card, trying MMC\n"); ++ ++ retries = 10; ++ while (retries--) { ++ resp = mv_mmc_cmd(1, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ pr_debug("cmd 01 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (resp && (resp[0] & 0x80000000)) { ++ printf ("detected MMC card\n"); ++ reg = readw(&mvsd->HOST_CTRL); ++ reg &= ~(0x3<<1); ++ reg |= SDIO_HOST_CTRL_CARD_TYPE_IO_MMC; ++ writew( reg, &mvsd->HOST_CTRL); ++ break; ++ } ++ ++ udelay(100*1000); ++ } ++ } ++ ++ if (retries <= 0) { ++ pr_debug ("detect fails\n"); ++ ++ return -ENODEV; ++ } ++ ++ /* try to get card id */ ++ resp = mv_mmc_cmd(2, 0, 0, SDIO_CMD_RSP_136, SDIO_NOR_CMD_DONE ); ++ pr_debug("cmd 2 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (resp == NULL) { ++ pr_debug ("read cid fails\n"); ++ ++ return -ENODEV; ++ } ++ ++ if (is_sd) { ++ mv_sd_cid_t *cid = (mv_sd_cid_t *) resp; ++ ++ memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); ++ ++ sprintf((char *) mmc_dev.vendor, ++ "Man %02x OEM %c%c \"%c%c%c%c%c\"", ++ cid->mid, cid->oid_0, cid->oid_1, ++ cid->pnm_0, cid->pnm_1, cid->pnm_2, cid->pnm_3, cid->pnm_4); ++ ++ sprintf((char *) mmc_dev.product, "%d", ++ (cid->psn_0 << 24) | (cid->psn_1 <<16) | (cid->psn_2 << 8) | (cid->psn_3 << 8)); ++ ++ sprintf((char *) mmc_dev.revision, "%d.%d", cid->prv>>4, cid->prv & 0xff); ++ ++ } else { ++ /* TODO configure mmc driver depending on card attributes */ ++ mv_mmc_cid_t *cid = (mv_mmc_cid_t *) resp; ++ ++ memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); ++ ++ ++ sprintf((char *) mmc_dev.vendor, ++ "Man %02x%02x%02x Snr %02x%02x%02x", ++ cid->id[0], cid->id[1], cid->id[2], ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ sprintf((char *) mmc_dev.product, "%s", cid->name); ++ sprintf((char *) mmc_dev.revision, "%x %x", cid->hwrev, cid->fwrev); ++ } ++ ++ /* fill in device description */ ++ mmc_dev.if_type = IF_TYPE_MMC; ++ mmc_dev.part_type = PART_TYPE_DOS; ++ mmc_dev.dev = 0; ++ mmc_dev.lun = 0; ++ mmc_dev.type = 0; ++ ++ /* FIXME fill in the correct size (is set to 128MByte) */ ++ mmc_dev.blksz = MMC_BLOCK_SIZE; ++ mmc_dev.lba = 0x10000; ++ ++ mmc_dev.removable = 0; ++ mmc_dev.block_read = (unsigned long) mv_mmc_bread; ++ ++ /* MMC exists, get CSD too */ ++ resp = mv_mmc_cmd(MMC_CMD_SET_RCA, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (resp == NULL) { ++ pr_debug ("set rca fails\n"); ++ ++ return -ENODEV; ++ } ++ pr_debug("cmd3 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ ++ if (is_sd) ++ rca = resp[0] >> 16; ++ else ++ rca = 0; ++ ++ resp = mv_mmc_cmd(MMC_CMD_SEND_CSD, rca<<16, 0, SDIO_CMD_RSP_136,SDIO_NOR_CMD_DONE ); ++ pr_debug("cmd 9 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ if (resp == NULL) { ++ pr_debug ("read csd fails\n"); ++ ++ return -ENODEV; ++ } ++ ++ memcpy(&mv_mmc_csd, (mv_mmc_csd_t *) resp, sizeof(mv_mmc_csd_t)); ++ rc = 0; ++ mmc_ready = 1; ++ ++ /* FIXME add verbose printout for csd */ ++ pr_debug ("size = %u\n", mv_mmc_size(&mv_mmc_csd)); ++ ++ ++ resp = mv_mmc_cmd(7, rca<<16, 0, SDIO_CMD_RSP_48BUSY, SDIO_NOR_CMD_DONE); ++ if (resp == NULL) { ++ pr_debug ("select card fails\n"); ++ ++ return -ENODEV; ++ } ++ pr_debug("cmd 7 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (is_sd) { ++ resp = mv_mmc_cmd(55, rca<<16, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (resp == NULL) { ++ pr_debug ("cmd55 fails\n"); ++ ++ return -ENODEV; ++ } ++ pr_debug("cmd55 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ ++ resp = mv_mmc_cmd(6, (rca<<16) | 0x2 , 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (resp == NULL) { ++ pr_debug ("cmd55 fails\n"); ++ ++ return -ENODEV; ++ } ++ pr_debug("cmd6 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ } ++ ++ resp = (ulong *) &mv_mmc_csd; ++ pr_debug("csd: 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ ++ /* check SDHC */ ++ if ((resp[0]&0xf0000000)==0x40000000) ++ is_sdhc = 1; ++ ++ /* set block len */ ++ resp = mv_mmc_cmd(MMC_CMD_SET_BLOCKLEN, MMC_BLOCK_SIZE, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (!resp) { ++ pr_debug("mv_mmc_block_read: set blk len fails\n"); ++ return -ENODEV; ++ } ++ ++ if (verbose) { ++ if (is_sd) ++ print_sd_cid((mv_sd_cid_t *) cidbuf); ++ else ++ print_mmc_cid((mv_mmc_cid_t *) cidbuf); ++ } ++ ++ mvsdio_set_clock(CONFIG_SYS_MMC_CLK_PP); ++ ++ fat_register_device(&mmc_dev,1); /* partitions start counting with 1 */ ++ ++ return 0; ++} ++ ++#endif /* CONFIG_MMC */ +diff --git a/drivers/mmc/mv_sdio.h b/drivers/mmc/mv_sdio.h +new file mode 100644 +index 0000000..9707000 +--- /dev/null ++++ b/drivers/mmc/mv_sdio.h +@@ -0,0 +1,310 @@ ++/* ++ * (C) Copyright 2009 ++ * Marvell Semiconductor ++ * Written-by: Gérald Kerma ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it 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. ++ * ++ * This program is distributed in the hope that it 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; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ++ * MA 02110-1301 USA ++ */ ++ ++#ifndef _MVSDIO_INCLUDE ++#define _MVSDIO_INCLUDE ++ ++//#define SDIO_REG(x) (MV_SDIO_BASE + (x)) ++ ++#define MVSDMMC_DMA_SIZE 65536 ++#define MVSDMMC_CMD_TIMEOUT 2 /* 100 usec*/ ++ ++/* ++ * Clock rates ++ */ ++ ++#define MVSD_CLOCKRATE_MAX 50000000 ++#define MVSD_BASE_DIV_MAX 0x7ff ++ ++#define CONFIG_SYS_MMC_CLK_PP 25000000 ++ ++/* ++ * The base MMC clock rate ++ */ ++ ++#define MVSDMMC_CLOCKRATE_MIN 100000 ++#define MVSDMMC_CLOCKRATE_MAX MVSD_CLOCKRATE_MAX ++#define MVSDMMC_BASE_FAST_CLOCK CONFIG_SYS_TCLK ++ ++ ++/* ++ * SDIO register ++ */ ++#ifndef __ASSEMBLY__ ++ ++/* ++ * Structure for struct SoC access. ++ * Names starting with '_' are fillers. ++ */ ++typedef struct mv_sdio { ++ /* reg Offset */ ++ u32 SYS_ADDR_LOW; /* 0x00 */ ++ u32 SYS_ADDR_HI; /* 0x04 */ ++ u32 BLK_SIZE; /* 0x08 */ ++ u32 BLK_COUNT; /* 0x0c */ ++ u32 ARG_LOW; /* 0x10 */ ++ u32 ARG_HI; /* 0x14 */ ++ u32 XFER_MODE; /* 0x18 */ ++ u32 CMD; /* 0x1c */ ++ u32 RSP0; /* 0x20 */ ++ u32 RSP1; /* 0x24 */ ++ u32 RSP2; /* 0x28 */ ++ u32 RSP3; /* 0x2c */ ++ u32 RSP4; /* 0x30 */ ++ u32 RSP5; /* 0x34 */ ++ u32 RSP6; /* 0x38 */ ++ u32 RSP7; /* 0x3c */ ++ u32 BUF_DATA_PORT; /* 0x40 */ ++ u32 RSVED; /* 0x44 */ ++ u32 PRESENT_STATE0; /* 0x48 */ ++ u32 PRESENT_STATE1; /* 0x4c */ ++ u32 HOST_CTRL; /* 0x50 */ ++ u32 BLK_GAP_CTRL; /* 0x54 */ ++ u32 CLK_CTRL; /* 0x58 */ ++ u32 SW_RESET; /* 0x5c */ ++ u32 NOR_INTR_STATUS; /* 0x60 */ ++ u32 ERR_INTR_STATUS; /* 0x64 */ ++ u32 NOR_STATUS_EN; /* 0x68 */ ++ u32 ERR_STATUS_EN; /* 0x6c */ ++ u32 NOR_INTR_EN; /* 0x70 */ ++ u32 ERR_INTR_EN; /* 0x74 */ ++ u32 AUTOCMD12_ERR_STATUS; /* 0x78 */ ++ u32 CURR_BYTE_LEFT; /* 0x7c */ ++ u32 CURR_BLK_LEFT; /* 0x80 */ ++ u32 AUTOCMD12_ARG_LOW; /* 0x84 */ ++ u32 AUTOCMD12_ARG_HI; /* 0x88 */ ++ u32 AUTOCMD12_INDEX; /* 0x8c */ ++ u32 AUTO_RSP0; /* 0x90 */ ++ u32 AUTO_RSP1; /* 0x94 */ ++ u32 AUTO_RSP2; /* 0x98 */ ++ u32 _9c; /* 0x9c */ ++ u32 _a0[0x78]; /* 0xa0 */ ++ u32 CLK_DIV; /* 0x128 */ ++ ++} mv_sdio_t; ++ ++#endif /* __ASSEMBLY__ */ ++ ++/* ++ * SDIO_PRESENT_STATE ++ */ ++ ++#define CARD_BUSY (1 << 1) ++#define CMD_INHIBIT (1 << 0) ++#define CMD_TXACTIVE (1 << 8) ++#define CMD_RXACTIVE (1 << 9) ++#define CMD_AUTOCMD12ACTIVE (1 << 14) ++ ++#define CMD_BUS_BUSY (CMD_AUTOCMD12ACTIVE| \ ++ CMD_RXACTIVE| \ ++ CMD_TXACTIVE| \ ++ CMD_INHIBIT| \ ++ CARD_BUSY) ++ ++/* ++ * SDIO_CMD ++ */ ++ ++#define SDIO_CMD_RSP_NONE (0 << 0) ++#define SDIO_CMD_RSP_136 (1 << 0) ++#define SDIO_CMD_RSP_48 (2 << 0) ++#define SDIO_CMD_RSP_48BUSY (3 << 0) ++ ++#define SDIO_CMD_CHECK_DATACRC16 (1 << 2) ++#define SDIO_CMD_CHECK_CMDCRC (1 << 3) ++#define SDIO_CMD_INDX_CHECK (1 << 4) ++#define SDIO_CMD_DATA_PRESENT (1 << 5) ++#define SDIO_UNEXPECTED_RESP (1 << 7) ++ ++ ++/* ++ * SDIO_XFER_MODE ++ */ ++ ++#define SDIO_XFER_MODE_STOP_CLK (1 << 5) ++#define SDIO_XFER_MODE_HW_WR_DATA_EN (1 << 1) ++#define SDIO_XFER_MODE_AUTO_CMD12 (1 << 2) ++#define SDIO_XFER_MODE_INT_CHK_EN (1 << 3) ++#define SDIO_XFER_MODE_TO_HOST (1 << 4) ++ ++ ++/* ++ * SDIO_HOST_CTRL ++ */ ++ ++#define SDIO_HOST_CTRL_PUSH_PULL_EN (1 << 0) ++ ++#define SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY (0 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_IO_ONLY (1 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_IO_MEM_COMBO (2 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_IO_MMC (3 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_MASK (3 << 1) ++ ++#define SDIO_HOST_CTRL_BIG_ENDIAN (1 << 3) ++#define SDIO_HOST_CTRL_LSB_FIRST (1 << 4) ++#define SDIO_HOST_CTRL_ID_MODE_LOW_FREQ (1 << 5) ++#define SDIO_HOST_CTRL_HALF_SPEED (1 << 6) ++#define SDIO_HOST_CTRL_DATA_WIDTH_4_BITS (1 << 9) ++#define SDIO_HOST_CTRL_HI_SPEED_EN (1 << 10) ++ ++ ++#define SDIO_HOST_CTRL_TMOUT_MASK (0xf << 11) ++#define SDIO_HOST_CTRL_TMOUT_MAX (0xf << 11) ++#define SDIO_HOST_CTRL_TMOUT(x) ((x) << 11) ++#define SDIO_HOST_CTRL_TMOUT_EN (1 << 15) ++ ++#define SDIO_HOST_CTRL_DFAULT_OPEN_DRAIN \ ++ (SDIO_HOST_CTRL_TMOUT(x)(0xf)) ++#define SDIO_HOST_CTRL_DFAULT_PUSH_PULL \ ++ (SDIO_HOST_CTRL_TMOUT(x)(0xf) | SDIO_HOST_CTRL_PUSH_PULL_EN) ++ ++ ++/* ++ * NOR status bits ++ */ ++ ++#define SDIO_NOR_ERROR (1 << 15) ++#define SDIO_NOR_UNEXP_RSP (1 << 14) ++#define SDIO_NOR_AUTOCMD12_DONE (1 << 13) ++#define SDIO_NOR_SUSPEND_ON (1 << 12) ++#define SDIO_NOR_LMB_FF_8W_AVAIL (1 << 11) ++#define SDIO_NOR_LMB_FF_8W_FILLED (1 << 10) ++#define SDIO_NOR_READ_WAIT_ON (1 << 9) ++#define SDIO_NOR_CARD_INT (1 << 8) ++#define SDIO_NOR_READ_READY (1 << 5) ++#define SDIO_NOR_WRITE_READY (1 << 4) ++#define SDIO_NOR_DMA_INI (1 << 3) ++#define SDIO_NOR_BLK_GAP_EVT (1 << 2) ++#define SDIO_NOR_XFER_DONE (1 << 1) ++#define SDIO_NOR_CMD_DONE (1 << 0) ++ ++ ++/* ++ * ERR status bits ++ */ ++ ++#define SDIO_ERR_CRC_STATUS (1 << 14) ++#define SDIO_ERR_CRC_STARTBIT (1 << 13) ++#define SDIO_ERR_CRC_ENDBIT (1 << 12) ++#define SDIO_ERR_RESP_TBIT (1 << 11) ++#define SDIO_ERR_SIZE (1 << 10) ++#define SDIO_ERR_CMD_STARTBIT (1 << 9) ++#define SDIO_ERR_AUTOCMD12 (1 << 8) ++#define SDIO_ERR_DATA_ENDBIT (1 << 6) ++#define SDIO_ERR_DATA_CRC (1 << 5) ++#define SDIO_ERR_DATA_TIMEOUT (1 << 4) ++#define SDIO_ERR_CMD_INDEX (1 << 3) ++#define SDIO_ERR_CMD_ENDBIT (1 << 2) ++#define SDIO_ERR_CMD_CRC (1 << 1) ++#define SDIO_ERR_CMD_TIMEOUT (1 << 0) ++ ++#define SDIO_ERR_INTR_MASK 0xFFFF ++ ++ ++#define MMC_BLOCK_SIZE 512 ++#define MMC_CMD_RESET 0 ++#define MMC_CMD_SEND_OP_COND 1 ++#define MMC_CMD_ALL_SEND_CID 2 ++#define MMC_CMD_SET_RCA 3 ++#define MMC_CMD_SELECT_CARD 7 ++#define MMC_CMD_SEND_CSD 9 ++#define MMC_CMD_SEND_CID 10 ++#define MMC_CMD_SEND_STATUS 13 ++#define MMC_CMD_SET_BLOCKLEN 16 ++#define MMC_CMD_READ_BLOCK 17 ++#define MMC_CMD_RD_BLK_MULTI 18 ++#define MMC_CMD_WRITE_BLOCK 24 ++#define MMC_MAX_BLOCK_SIZE 512 ++ ++typedef struct mv_mmc_cid ++{ ++ /* FIXME: BYTE_ORDER */ ++ uchar year:4, ++ month:4; ++ uchar sn[3]; ++ uchar fwrev:4, ++ hwrev:4; ++ uchar name[6]; ++ uchar id[3]; ++} mv_mmc_cid_t; ++ ++typedef struct mv_mmc_csd ++{ ++ uchar ecc:2, ++ file_format:2, ++ tmp_write_protect:1, ++ perm_write_protect:1, ++ copy:1, ++ file_format_grp:1; ++ uint64_t content_prot_app:1, ++ rsvd3:4, ++ write_bl_partial:1, ++ write_bl_len:4, ++ r2w_factor:3, ++ default_ecc:2, ++ wp_grp_enable:1, ++ wp_grp_size:5, ++ erase_grp_mult:5, ++ erase_grp_size:5, ++ c_size_mult1:3, ++ vdd_w_curr_max:3, ++ vdd_w_curr_min:3, ++ vdd_r_curr_max:3, ++ vdd_r_curr_min:3, ++ c_size:12, ++ rsvd2:2, ++ dsr_imp:1, ++ read_blk_misalign:1, ++ write_blk_misalign:1, ++ read_bl_partial:1; ++ ushort read_bl_len:4, ++ ccc:12; ++ uchar tran_speed; ++ uchar nsac; ++ uchar taac; ++ uchar rsvd1:2, ++ spec_vers:4, ++ csd_structure:2; ++} mv_mmc_csd_t; ++ ++typedef struct { ++ char pnm_0; /* product name */ ++ char oid_1; /* OEM/application ID */ ++ char oid_0; ++ uint8_t mid; /* manufacturer ID */ ++ char pnm_4; ++ char pnm_3; ++ char pnm_2; ++ char pnm_1; ++ uint8_t psn_2; /* product serial number */ ++ uint8_t psn_1; ++ uint8_t psn_0; /* MSB */ ++ uint8_t prv; /* product revision */ ++ uint8_t crc; /* CRC7 checksum, b0 is unused and set to 1 */ ++ uint8_t mdt_1; /* manufacturing date, LSB, RRRRyyyy yyyymmmm */ ++ uint8_t mdt_0; /* MSB */ ++ uint8_t psn_3; /* LSB */ ++} mv_sd_cid_t; ++ ++#endif /* _MVSDIO_INCLUDE */ +diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h +index 83dd8ff..7c8497c 100644 +--- a/include/configs/sheevaplug.h ++++ b/include/configs/sheevaplug.h +@@ -1,3 +1,4 @@ ++ + /* + * (C) Copyright 2009 + * Marvell Semiconductor +@@ -47,7 +48,9 @@ + #define CONFIG_CMD_DHCP + #define CONFIG_CMD_ENV + #define CONFIG_CMD_MII ++#define CONFIG_CMD_MMC + #define CONFIG_CMD_NAND ++#define CONFIG_JFFS2_NAND + #define CONFIG_CMD_PING + #define CONFIG_CMD_USB + /* +@@ -70,8 +73,8 @@ + * it has to be rounded to sector size + */ + #define CONFIG_ENV_SIZE 0x20000 /* 128k */ +-#define CONFIG_ENV_ADDR 0x60000 +-#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */ ++#define CONFIG_ENV_ADDR 0xa0000 ++#define CONFIG_ENV_OFFSET 0xa0000 /* env starts here */ + + /* + * Default environment variables +@@ -81,10 +84,11 @@ + "${x_bootcmd_usb}; bootm 0x6400000;" + + #define CONFIG_MTDPARTS "orion_nand:512k(uboot)," \ +- "3m@1m(kernel),1m@4m(psm),13m@5m(rootfs) rw\0" ++ "0x1ff00000@512k(rootfs) rw\0" + + #define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ + "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ ++ "mtdids=nand0=orion_nand\0" \ + "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \ + "x_bootcmd_usb=usb start\0" \ + "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0" diff --git a/pkgs/misc/uboot/sheevaplug.nix b/pkgs/misc/uboot/sheevaplug.nix index ad8029d9020..4d4f61c40a7 100644 --- a/pkgs/misc/uboot/sheevaplug.nix +++ b/pkgs/misc/uboot/sheevaplug.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation { fi ''; - buildNativeInputs = [ unzip ]; + nativeBuildInputs = [ unzip ]; dontStrip = true; diff --git a/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix new file mode 100644 index 00000000000..cee03741dce --- /dev/null +++ b/pkgs/os-specific/darwin/native-x11-and-opengl/default.nix @@ -0,0 +1,12 @@ +{ stdenv, writeScript }: + +assert stdenv.isDarwin; + +stdenv.mkDerivation rec { + name = "darwin-native-x11-and-opengl"; + + builder = writeScript "${name}-builder.sh" '' + /bin/mkdir -p $out + /bin/ln -sv /usr/X11/{bin,lib,include,share} $out/ + ''; +} diff --git a/pkgs/os-specific/gnu/default.nix b/pkgs/os-specific/gnu/default.nix index 0a42b83a46f..27b1cdd3e8a 100644 --- a/pkgs/os-specific/gnu/default.nix +++ b/pkgs/os-specific/gnu/default.nix @@ -3,7 +3,7 @@ args@{ fetchgit, stdenv, autoconf, automake, automake111x, libtool , texinfo, glibcCross, hurdPartedCross, libuuid, samba_light , gccCrossStageStatic, gccCrossStageFinal -, forceBuildDrv, forceSystem, newScope, platform, config, crossSystem +, forceNativeDrv, forceSystem, newScope, platform, config, crossSystem , overrides ? {} }: with args; @@ -12,18 +12,18 @@ let callPackage = newScope gnu; gnu = { - hurdCross = forceBuildDrv(callPackage ./hurd { + hurdCross = forceNativeDrv (callPackage ./hurd { inherit fetchgit stdenv autoconf libtool texinfo glibcCross hurdPartedCross; inherit (gnu) machHeaders mig; - libuuid = libuuid.hostDrv; + libuuid = libuuid.crossDrv; automake = automake111x; headersOnly = false; cross = assert crossSystem != null; crossSystem; gccCross = gccCrossStageFinal; }); - hurdCrossIntermediate = forceBuildDrv(callPackage ./hurd { + hurdCrossIntermediate = forceNativeDrv (callPackage ./hurd { inherit fetchgit stdenv autoconf libtool texinfo glibcCross; inherit (gnu) machHeaders mig; hurdPartedCross = null; @@ -58,7 +58,7 @@ let hurd = null; }; - libpthreadCross = forceBuildDrv(callPackage ./libpthread { + libpthreadCross = forceNativeDrv (callPackage ./libpthread { inherit fetchgit stdenv autoconf automake libtool glibcCross; inherit (gnu) machHeaders hurdHeaders; hurd = gnu.hurdCrossIntermediate; @@ -85,7 +85,7 @@ let stdenv = (forceSystem "i686-linux").stdenv; }; - # XXX: Use this one for its `.hostDrv'. Using the one above from + # XXX: Use this one for its `.crossDrv'. Using the one above from # `x86_64-linux' leads to building a different cross-toolchain because of # the `forceSystem'. mig_raw = callPackage ./mig {}; diff --git a/pkgs/os-specific/gnu/libpthread/default.nix b/pkgs/os-specific/gnu/libpthread/default.nix index 08838f17aff..3eaa6336ec2 100644 --- a/pkgs/os-specific/gnu/libpthread/default.nix +++ b/pkgs/os-specific/gnu/libpthread/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation ({ inherit rev; }; - buildNativeInputs = [ autoconf automake libtool ]; + nativeBuildInputs = [ autoconf automake libtool ]; buildInputs = [ machHeaders hurdHeaders ] ++ stdenv.lib.optional (!headersOnly) hurd ++ stdenv.lib.optional (gccCross != null) gccCross; diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix index f5120fca478..54c6429955b 100644 --- a/pkgs/os-specific/gnu/mach/default.nix +++ b/pkgs/os-specific/gnu/mach/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation ({ # . ++ [ "--enable-dependency-tracking" ]; - buildNativeInputs = [ autoconf automake texinfo ] + nativeBuildInputs = [ autoconf automake texinfo ] ++ stdenv.lib.optional (mig != null) mig; preConfigure = "autoreconf -vfi"; diff --git a/pkgs/os-specific/gnu/mig/default.nix b/pkgs/os-specific/gnu/mig/default.nix index f7b798a7624..9ee188b0c8c 100644 --- a/pkgs/os-specific/gnu/mig/default.nix +++ b/pkgs/os-specific/gnu/mig/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { patches = [ ./noyywrap.patch ]; - buildNativeInputs = [ autoconf automake flex bison machHeaders ]; + nativeBuildInputs = [ autoconf automake flex bison machHeaders ]; preConfigure = "autoreconf -vfi"; @@ -25,7 +25,7 @@ stdenv.mkDerivation { postInstall = # Fix the shebang to point to the cross-built shell. '' sed -i "$out/bin/mig" \ - -e 's|^#!/.*|#!${bash.hostDrv}/bin/sh|g' + -e 's|^#!/.*|#!${bash.crossDrv}/bin/sh|g' ''; }; diff --git a/pkgs/os-specific/gnu/unionfs/default.nix b/pkgs/os-specific/gnu/unionfs/default.nix index f35fed282b6..946e4c0c109 100644 --- a/pkgs/os-specific/gnu/unionfs/default.nix +++ b/pkgs/os-specific/gnu/unionfs/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { makeFlags = [ "CC=i586-pc-gnu-gcc" ]; buildInputs = [ hurd machHeaders ]; - buildNativeInputs = [ mig ]; + nativeBuildInputs = [ mig ]; installPhase = '' mkdir -p "$out/hurd" diff --git a/pkgs/os-specific/linux/acpi/default.nix b/pkgs/os-specific/linux/acpi/default.nix index 84ee4486807..6bb44d7db44 100644 --- a/pkgs/os-specific/linux/acpi/default.nix +++ b/pkgs/os-specific/linux/acpi/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "acpi-1.5"; - + name = "acpi-${version}"; + version = "1.6"; + src = fetchurl { - url = "http://ftp.de.debian.org/debian/pool/main/a/acpi/acpi_1.5.orig.tar.gz"; - sha256 = "1pb020j627ldjm1askqfzp6cjxrs79ail8svihanv7pgbg5r3zsp"; + url = "mirror://sourceforge/acpiclient/${version}/${name}.tar.gz"; + sha256 = "0cawznhkzb51yxa599d1xkw05nklmjrrmd79vmjkkzf4002d4qgd"; }; meta = { @@ -15,7 +16,7 @@ stdenv.mkDerivation rec { the "old" `apm' command on ACPI systems. It includes battery and thermal information. ''; - homepage = http://grahame.angrygoats.net/acpi.shtml; + homepage = http://sourceforge.net/projects/acpiclient/; license = "GPLv2+"; }; } diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix index 40db323c522..fe1792478d6 100644 --- a/pkgs/os-specific/linux/acpid/default.nix +++ b/pkgs/os-specific/linux/acpid/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "acpid-1.0.10"; - + name = "acpid-2.0.17"; + src = fetchurl { - url = "mirror://sourceforge/acpid/${name}.tar.gz"; - sha256 = "0q27adx0c0bzvy9f9zfny69iaay3b4b79b693fhaq1bkvph3qw12"; + url = "http://tedfelix.com/linux/${name}.tar.xz"; + sha256 = "0gksl6z3sb6yyk7bdmldxsrncvprd3rny0i8ggl4m95nvv3x5drn"; }; preBuild = '' @@ -13,8 +13,8 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://acpid.sourceforge.net/; + homepage = http://tedfelix.com/linux/acpid-netlink.html; description = "A daemon for delivering ACPI events to userspace programs"; - license = "GPLv2+"; + license = stdenv.lib.licenses.gpl2Plus; }; } diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix index 36d9fa2ba9e..3be6d0c3c33 100644 --- a/pkgs/os-specific/linux/alsa-lib/default.nix +++ b/pkgs/os-specific/linux/alsa-lib/default.nix @@ -1,11 +1,14 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "alsa-lib-1.0.25"; + name = "alsa-lib-1.0.26"; src = fetchurl { - url = "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"; - sha256 = "1rl6wa06d1jiqnrshyqh5qb1lwg6dh8m1ilyaink21j1y1f806js"; + urls = [ + "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2" + "http://alsa.cybermirror.org/lib/${name}.tar.bz2" + ]; + sha256 = "0zbfkwqn7ixa71lsna9llq6i2gic540h8r8r0rjdphrwc1hq37wc"; }; configureFlags = "--disable-xmlto"; diff --git a/pkgs/os-specific/linux/alsa-oss/default.nix b/pkgs/os-specific/linux/alsa-oss/default.nix new file mode 100644 index 00000000000..98bf4374b4f --- /dev/null +++ b/pkgs/os-specific/linux/alsa-oss/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}: + +stdenv.mkDerivation rec { + name = "alsa-oss-1.0.25"; + + src = fetchurl { + url = "ftp://ftp.alsa-project.org/pub/oss-lib/${name}.tar.bz2"; + # url = "http://alsa.cybermirror.org/oss-lib/${name}.tar.bz2"; + sha256 = "ed823b8e42599951d896c1709615d4cf7cb1cb3a7c55c75ccee82e24ccaf28e3"; + }; + + buildInputs = [ alsaLib ncurses libsamplerate ]; + nativeBuildInputs = [ gettext ]; + + configureFlags = "--disable-xmlto"; + + installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy"; + + preConfigure = + '' + ''; + + meta = { + description = "ALSA, the Advanced Linux Sound Architecture alsa-oss emulation"; + + longDescription = '' + The Advanced Linux Sound Architecture (ALSA) provides audio and + MIDI functionality to the Linux-based operating system. + ''; + + homepage = http://www.alsa-project.org/; + }; +} diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index 180f9153043..fb17b47b506 100644 --- a/pkgs/os-specific/linux/alsa-plugins/default.nix +++ b/pkgs/os-specific/linux/alsa-plugins/default.nix @@ -1,11 +1,14 @@ { stdenv, fetchurl, lib, pkgconfig, alsaLib, pulseaudio ? null, jackaudio ? null }: stdenv.mkDerivation rec { - name = "alsa-plugins-1.0.25"; + name = "alsa-plugins-1.0.26"; src = fetchurl { - url = "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2"; - sha256 = "1assar5k8zb2srqdcph6a54daqfymlyygdm5fcs6isaydpyp9qx0"; + urls = [ + "ftp://ftp.alsa-project.org/pub/plugins/${name}.tar.bz2" + "http://alsa.cybermirror.org/plugins/${name}.tar.bz2" + ]; + sha256 = "07wz3kl6isabk15ddpzz820pqlgvw6q0m7knnbgv9780s8s52l83"; }; buildInputs = diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix index ca3a45bddfd..c121b227eee 100644 --- a/pkgs/os-specific/linux/alsa-utils/default.nix +++ b/pkgs/os-specific/linux/alsa-utils/default.nix @@ -1,20 +1,27 @@ -{stdenv, fetchurl, alsaLib, gettext, ncurses}: +{stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}: stdenv.mkDerivation rec { - name = "alsa-utils-1.0.25"; - + name = "alsa-utils-1.0.26"; + src = fetchurl { - url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"; - sha256 = "0b1hbdq1bdkbz72zdfy5cgp75jqpysb0mqb0n9wy5gsbccpnlrrf"; + # url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"; + url = "http://alsa.cybermirror.org/utils/${name}.tar.bz2"; + sha256 = "1rw1n3w8syqky9i7kwy5xd2rzfdbihxas32vwfxpb177lqx2lpzq"; }; - - buildInputs = [ alsaLib ncurses ]; - buildNativeInputs = [ gettext ]; - + + buildInputs = [ alsaLib ncurses libsamplerate ]; + nativeBuildInputs = [ gettext ]; + configureFlags = "--disable-xmlto --with-udev-rules-dir=$(out)/lib/udev/rules.d"; installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy"; + preConfigure = + '' + # Ensure that ‘90-alsa-restore.rules.in’ gets rebuilt. + rm alsactl/90-alsa-restore.rules + ''; + meta = { description = "ALSA, the Advanced Linux Sound Architecture utils"; diff --git a/pkgs/os-specific/linux/atheros/inj.patch b/pkgs/os-specific/linux/atheros/inj.patch deleted file mode 100644 index baae9b88aa4..00000000000 --- a/pkgs/os-specific/linux/atheros/inj.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -Naur madwifi/ath/if_ath.c madwifi_rawtx/ath/if_ath.c ---- madwifi/ath/if_ath.c 2008-06-24 17:20:58.000000000 -0400 -+++ madwifi_rawtx/ath/if_ath.c 2008-06-24 17:20:12.000000000 -0400 -@@ -2950,6 +2950,7 @@ - ath_tx_startraw(struct net_device *dev, struct ath_buf *bf, struct sk_buff *skb) - { - struct ath_softc *sc = dev->priv; -+ struct ieee80211com *ic = &sc->sc_ic; - struct ath_hal *ah = sc->sc_ah; - struct ieee80211_phy_params *ph = &(SKB_CB(skb)->phy); - const HAL_RATE_TABLE *rt; -@@ -2962,7 +2963,8 @@ - struct ieee80211_frame *wh; - - wh = (struct ieee80211_frame *)skb->data; -- try0 = ph->try[0]; -+// try0 = ph->try[0]; -+ try0 = (ic->ic_opmode == IEEE80211_M_MONITOR) ? 1 : ph->try[0]; - rt = sc->sc_currates; - txrate = dot11_to_ratecode(sc, rt, ph->rate[0]); - power = ph->power > 60 ? 60 : ph->power; -@@ -2986,7 +2988,8 @@ - rt = sc->sc_currates; - KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode)); - -- if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { -+ if (IEEE80211_IS_MULTICAST(wh->i_addr1) || ((ic->ic_opmode == -+IEEE80211_M_MONITOR) && (skb->data[1]&3) != 0x01) ) { - flags |= HAL_TXDESC_NOACK; /* no ack on broad/multicast */ - sc->sc_stats.ast_tx_noack++; - try0 = 1; - diff --git a/pkgs/os-specific/linux/atheros/r3867.nix b/pkgs/os-specific/linux/atheros/r3867.nix deleted file mode 100644 index 95a834dd67a..00000000000 --- a/pkgs/os-specific/linux/atheros/r3867.nix +++ /dev/null @@ -1,45 +0,0 @@ -args : with args; - let localDefs = builderDefs.passthru.function { - src = fetchurl { - url = http://snapshots.madwifi.org/madwifi-trunk/madwifi-trunk-r3867-20080924.tar.gz; - sha256 = "0m48p5mqx1d3aimjjiy251fii7x7y15ch5n74hvq4hygc6bcjf79"; - }; - - buildInputs = []; - configureFlags = []; - makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out'']; - hal20080528 = fetchurl { - url = http://people.freebsd.org/~sam/ath_hal-20080528.tgz; - sha256 = "1a6glkd8n46876hl48ib08p81qwsvrk4153j4b9xrxgid6f8bar9"; - }; - injectionPatchFile = ./inj.patch; - }; - in with localDefs; -let -preBuild = fullDepEntry ('' - echo Replacing HAL. - tar xvf ${hal20080528} - rm -r hal - mv ath_hal-* hal -'') ["minInit" "doUnpack"]; -postInstall = fullDepEntry ('' - ln -s $out/usr/local/bin $out/bin -'') [minInit doMakeInstall]; -in -stdenv.mkDerivation rec { - name = "atheros-"+version; - patches = lib.optional - (lib.attrByPath ["injectionPatch"] false args) - injectionPatchFile; - builder = writeScript (name + "-builder") - (textClosure localDefs - ((lib.optional - (lib.attrByPath ["freshHAL"] false args) - preBuild) - ++ [doPatch doMakeInstall postInstall - doForceShare doPropagate])); - meta = { - description = "Atheros WiFi driver"; - inherit src; - }; -} diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index b05093d8915..abb78549cee 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -2,13 +2,14 @@ # TODO gentoo removes some tools because there are xorg sources (?) source $stdenv/setup +set -x die(){ echo $@; exit 1; } - # custom unpack: -cp $src archive -sh archive --extract . +unzip $src +run_file=$(echo amd-driver-installer-*) +sh $run_file --extract . kernelVersion=$(cd ${kernel}/lib/modules && ls) @@ -68,7 +69,7 @@ setModVersions(){ # On kernels with the fix, use arch_compat_alloc_user_space instead # of compat_alloc_user_space since the latter is GPL-only -COMPAT_ALLOC_USER_SPACE=compat_alloc_user_space +COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space for src_file in \ $kernelBuild/arch/x86/include/asm/compat.h \ @@ -123,6 +124,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" echo .lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.GCC4.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a.GCC4' > lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd + sed -i -e "s@COMPAT_ALLOC_USER_SPACE@$COMPAT_ALLOC_USER_SPACE@" ../kcl_ioctl.c + make CC=${CC} \ LIBIP_PREFIX=$(echo "$LIBIP_PREFIX" | sed -e 's|^\([^/]\)|../\1|') \ MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \ @@ -143,12 +146,12 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" cp -r common/usr/share $out cp -r common/usr/X11R6 $out - cp -r arch/$arch/lib $out/lib + # cp -r arch/$arch/lib $out/lib # what are those files used for? cp -r common/etc $out - DIR_DEPENDING_ON_XORG_VERSION=x750_64a + DIR_DEPENDING_ON_XORG_VERSION=xpic_64a cp -r $DIR_DEPENDING_ON_XORG_VERSION/usr/X11R6/$lib_arch/* $out/lib/xorg t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc @@ -164,12 +167,18 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri $out/lib cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri/* $out/lib cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/*.so.* $out/lib + cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/fglrx/fglrx-libGL.so.1.2 $out/lib/fglrx-libGL.so.1.2 + cp -r $TMP/arch/$arch/usr/$lib_arch/* $out/lib # cp -r $TMP/arch/$arch/usr/$lib_arch/* $out/lib ln -s libatiuki.so.1.0 $out/lib/libatiuki.so.1 - ln -s libGL.so.1.2 $out/lib/libGL.so.1 + ln -s fglrx-libGL.so.1.2 $out/lib/libGL.so.1 + ln -s fglrx-libGL.so.1.2 $out/lib/libGL.so + ln -s libfglrx_gamma.so.1.0 $out/lib/libfglrx_gamma.so.1 + # make xorg use the ati version + ln -s $out/lib/xorg/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so} } diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index a53058de6a0..c30d18fe75b 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -2,6 +2,7 @@ , mesa # for fgl_glxgears , libXxf86vm, xf86vidmodeproto # for fglrx_gamma , xorg, makeWrapper, glibc, patchelf +, unzip }: # If you want to use a different Xorg version probably @@ -16,6 +17,9 @@ # http://wiki.cchtml.com/index.php/Main_Page +# There is one issue left: +# /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so + assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation rec { @@ -27,18 +31,23 @@ stdenv.mkDerivation rec { inherit libXxf86vm xf86vidmodeproto; src = fetchurl { - url = https://www2.ati.com/drivers/linux/ati-driver-installer-10-11-x86.x86_64.run; - sha256 = "1z33w831ayx1j5lm9d1xv6whkmzsz9v8li3s8c96hwnwki6zpimr"; + url = http://www2.ati.com/drivers/linux/amd-driver-installer-12-8-x86.x86_64.zip; + sha256 = "0hdv89vdap6v0dnwhddizfmlkwyh0j910sp4wyj2lq5pn9rm2lk2"; + + # beta + # url = "http://www2.ati.com/drivers/beta/amd-driver-installer-12-9-beta-x86.x86_64.zip"; + # sha256 = "02dmflzfrgr07fa1hv34m7ad8pra21xv7qbk500gqm6v8s9vbplk"; }; buildInputs = [ xlibs.libXext xlibs.libX11 xlibs.libXrandr which imake makeWrapper patchelf + unzip ]; - + inherit kernel glibc /* glibc only used for setting interpreter */; - + LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" [ "${xorg.libXrandr}/lib" "${xorg.libXrender}/lib" @@ -49,11 +58,11 @@ stdenv.mkDerivation rec { inherit mesa; # only required to build examples meta = { - description = "ati drivers"; + description = "ATI drivers"; homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx; license = "unfree"; maintainers = [stdenv.lib.maintainers.marcweber]; - platforms = [ "x86_64-linux" ]; + #platforms = [ "x86_64-linux" ]; }; # moved assertions here because the name is evaluated when the NixOS manual is generated diff --git a/pkgs/os-specific/linux/atop/default.nix b/pkgs/os-specific/linux/atop/default.nix index 0e2df1e25fb..39ba5dc3973 100644 --- a/pkgs/os-specific/linux/atop/default.nix +++ b/pkgs/os-specific/linux/atop/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, zlib, ncurses}: stdenv.mkDerivation rec { - version = "1.27-3"; + version = "2.0.2"; name = "atop-${version}"; src = fetchurl { url = "http://www.atoptool.nl/download/atop-${version}.tar.gz"; - sha256 = "bce36e0b50f0e03995d86d25dbc9ab4a289f6755ce3558844f96d41b0bba563f"; + sha256 = "029lfa2capz1lg3m3rnyrgb8v6jm4znin84vjh2f0zkwvvhdn856"; }; buildInputs = [zlib ncurses]; diff --git a/pkgs/os-specific/linux/aufs-util/2.1.nix b/pkgs/os-specific/linux/aufs-util/2.1.nix deleted file mode 100644 index 87541def9ad..00000000000 --- a/pkgs/os-specific/linux/aufs-util/2.1.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchgit, kernel, aufs }: - -assert aufs != null; - -let version = "20110217"; in - -stdenv.mkDerivation { - name = "aufs2.1-util-${version}-${kernel.version}"; - - src = fetchgit { - url = "git://git.c3sl.ufpr.br/aufs/aufs2-util.git"; - rev = "0f0cf3f2ae39906fd4b5376cdaa24e9fe64a03f4"; - sha256 = "0fce5601b67efe8b5652a813ae612348bf4503aa71056cd31a5ed0406632e364"; - }; - - buildInputs = [ aufs ]; - - makeFlags = - [ "KDIR=${kernel}/lib/modules/${kernel.version}/build" - "Install=install" - "DESTDIR=$(out)" - ]; - - postInstall = - '' - mv $out/usr/* $out - rmdir $out/usr - - cp aufs.shlib $out/lib/ - - substituteInPlace $out/bin/aubrsync \ - --replace /sbin/mount $out/sbin/mount \ - --replace /usr/lib/aufs.shlib $out/lib/aufs.shlib - ''; - - meta = { - description = "Utilities for AUFS2.1"; - homepage = http://aufs.sourceforge.net/; - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/aufs-util/3.nix b/pkgs/os-specific/linux/aufs-util/3.nix index 8eefc1b0f4a..d75f51d38c9 100644 --- a/pkgs/os-specific/linux/aufs-util/3.nix +++ b/pkgs/os-specific/linux/aufs-util/3.nix @@ -34,8 +34,7 @@ stdenv.mkDerivation { meta = { description = "Utilities for AUFS3"; homepage = http://aufs.sourceforge.net/; - maintainers = [ stdenv.lib.maintainers.eelco - stdenv.lib.maintainers.shlevy ]; + maintainers = [ stdenv.lib.maintainers.eelco ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/aufs/2.1.nix b/pkgs/os-specific/linux/aufs/2.1.nix deleted file mode 100644 index 1539775a2a1..00000000000 --- a/pkgs/os-specific/linux/aufs/2.1.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ stdenv, kernel, fetchgit, perl }: - -assert kernel.features ? aufsBase; - -let version = - if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.38") 0) - then "20110303" - else "20110408"; in - -stdenv.mkDerivation { - name = "aufs2.1-${version}-${kernel.version}"; - - src = - if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.38") 0) - then - fetchgit { - url = "git://git.c3sl.ufpr.br/aufs/aufs2-standalone.git"; - rev = "aceef6c84dbe5798bf46904252727b9588eafaf6"; - sha256 = "50a8cb39af5fee82e88b65351cac52b6ab95a68c45e0a98da9fa1925b28f048d"; - } - else - fetchgit { - url = "git://git.c3sl.ufpr.br/aufs/aufs2-standalone.git"; - rev = "01cb6101f477339bc95e6b47e3618bb29ecc68db"; - sha256 = "4af3c4b1e99ef58abe8530665309021d541ee840ee54f442606cc418646a1faf"; - }; - - buildInputs = [ perl ]; - - makeFlags = "KDIR=${kernel}/lib/modules/${kernel.version}/build"; - - installPhase = - '' - mkdir -p $out/lib/modules/${kernel.version}/misc - cp -v aufs.ko $out/lib/modules/${kernel.version}/misc - - # Install the headers because aufs2.1-util requires them. - cp -av usr/include $out/ - ''; - - meta = { - description = "Another Unionfs implementation for Linux (second generation)"; - homepage = http://aufs.sourceforge.net/; - maintainers = [ stdenv.lib.maintainers.eelco - stdenv.lib.maintainers.raskin ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/aufs/3.nix b/pkgs/os-specific/linux/aufs/3.nix index 83de1faa8fe..255804a31de 100644 --- a/pkgs/os-specific/linux/aufs/3.nix +++ b/pkgs/os-specific/linux/aufs/3.nix @@ -33,12 +33,12 @@ stdenv.mkDerivation { ''; passthru = { inherit patch; }; + meta = { description = "Another Unionfs implementation for Linux (third generation)"; homepage = http://aufs.sourceforge.net/; maintainers = [ stdenv.lib.maintainers.eelco - stdenv.lib.maintainers.raskin - stdenv.lib.maintainers.shlevy ]; + stdenv.lib.maintainers.raskin ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix index 8c77cffe177..9c2821d7776 100644 --- a/pkgs/os-specific/linux/blcr/default.nix +++ b/pkgs/os-specific/linux/blcr/default.nix @@ -1,15 +1,17 @@ { stdenv, fetchurl, kernel, perl, makeWrapper }: # BLCR 0.8.4 works for kernel version up to 2.6.38 (including 2.6.38.x) +# BLCR 0.8.5 should works for kernel version up to 3.7.1 + assert stdenv.isLinux; -assert builtins.compareVersions "2.6.39" kernel.version == 1; +assert builtins.compareVersions "3.7.2" kernel.version == 1; stdenv.mkDerivation { - name = "blcr-0.8.4-${kernel.version}"; + name = "blcr_${kernel.version}-0.8.5"; src = fetchurl { - url = https://ftg.lbl.gov/assets/projects/CheckpointRestart/downloads/blcr-0.8.4.tar.gz; - sha256 = "d851da66627d9212ac37bc9ea2aba40008ff2dc51d45dbd395ca2e403c3d78cf"; + url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz; + sha256 = "01a809nfbr715pnidlslv55pxadm3021l97p98zkqy8chyrnkjb0"; }; buildInputs = [ perl makeWrapper ]; diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index 10187986111..3b876322f1f 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -9,11 +9,11 @@ let in stdenv.mkDerivation rec { - name = "bluez-4.98"; + name = "bluez-4.101"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${name}.tar.gz"; - sha256 = "9a5b655bada7c7a1921cb3bac83b8a32bbe49893e4c7a1377cdc1b0d35f7d233"; + sha256 = "11vldy255zkmmpj0g0a1m6dy9bzsmyd7vxy02cdfdw79ml888wsr"; }; buildInputs = diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index 0848cb33253..a24e0fd2307 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -44,6 +44,9 @@ stdenv.mkDerivation rec { sha256 = "10k8kgrprll9hxfm9gc3jl7kkq79g6l2pygn5snqwqg5v80zy4zb"; }; + # Remove this patch after the next busybox update. + patches = [ ./include-missing-sys-resource-header.patch ]; + configurePhase = '' make defconfig ${configParser} @@ -60,7 +63,7 @@ stdenv.mkDerivation rec { extraCrossConfig = '' CONFIG_CROSS_COMPILER_PREFIX "${stdenv.cross.config}-" '' + - (if (stdenv.cross.platform.kernelMajor == "2.4") then '' + (if stdenv.cross.platform.kernelMajor == "2.4" then '' CONFIG_IONICE n '' else ""); }; diff --git a/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch b/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch new file mode 100644 index 00000000000..8163a86e3cd --- /dev/null +++ b/pkgs/os-specific/linux/busybox/include-missing-sys-resource-header.patch @@ -0,0 +1,12 @@ +diff --git a/include/libbb.h b/include/libbb.h +index f12800f..e7806c2 100644 +--- a/include/libbb.h ++++ b/include/libbb.h +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix index 63eafb93e30..9e761b90a05 100644 --- a/pkgs/os-specific/linux/cifs-utils/default.nix +++ b/pkgs/os-specific/linux/cifs-utils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: - + stdenv.mkDerivation rec { - name = "cifs-utils-5.3"; - + name = "cifs-utils-5.6"; + src = fetchurl { url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2"; - sha256 = "68e969c4107a872e2848992732dc11eafc7bdf084bec894c0ba677572de49b32"; + sha256 = "0f619nw1163bcmfc83mmqj31qdkl68wfm81vynx3d8q0m0k1ll7i"; }; makeFlags = "root_sbindir=$(out)/sbin"; @@ -13,6 +13,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.samba.org/linux-cifs/cifs-utils/; description = "Tools for managing Linux CIFS client filesystems"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/conky/curl-types-h.patch b/pkgs/os-specific/linux/conky/curl-types-h.patch deleted file mode 100644 index ba99da23b46..00000000000 --- a/pkgs/os-specific/linux/conky/curl-types-h.patch +++ /dev/null @@ -1,25 +0,0 @@ -curl removed header -diff --git a/src/ccurl_thread.c b/src/ccurl_thread.c -index 10e73a6..9bea299 100644 ---- a/src/ccurl_thread.c -+++ b/src/ccurl_thread.c -@@ -33,7 +33,6 @@ - #endif /* DEBUG */ - - #include --#include - #include - - /* -diff --git a/src/eve.c b/src/eve.c -index dc07264..f62a5f6 100644 ---- a/src/eve.c -+++ b/src/eve.c -@@ -37,7 +37,6 @@ - #include - - #include --#include - #include - - #include diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index fda361d6c74..086b792b4cd 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -1,24 +1,26 @@ -{stdenv, fetchurl, pkgconfig, libxml2, curl, wirelesstools, glib, openssl}: +{ stdenv, fetchurl, pkgconfig, libxml2, curl, wirelesstools, glib, openssl +, ncurses }: stdenv.mkDerivation rec { - name = "conky-1.8.1"; + name = "conky-1.9.0"; src = fetchurl { url = "mirror://sourceforge/conky/${name}.tar.bz2"; - sha256 = "0hsybra4qzaqzny6n66m7768vbwkikajcvcbsqgnnnb9527jfnpq"; + sha256 = "0vxvjmi3cdvnp994sv5zcdyncfn0mlxa71p2wm9zpyrmy58bbwds"; }; - buildInputs = [ pkgconfig libxml2 curl wirelesstools glib openssl ]; - configureFlags = - (map (x: "--disable-${x}") [ "x11" "xdamage" "own-window" "xft" "lua" "ncurses" ]) - ++ (map (x: "--enable-${x}") [ "mpd" "double-buffer" "wlan" "rss" ]); + patches = [ ./stdbool.patch ]; - patches = [ ./curl-types-h.patch ]; + buildInputs = [ pkgconfig libxml2 curl wirelesstools glib openssl ncurses ]; + configureFlags = + (map (x: "--disable-${x}") [ "x11" "xdamage" "own-window" "xft" "lua" ]) + ++ (map (x: "--enable-${x}") [ "mpd" "double-buffer" "wlan" "rss" + "weather-metar" "weather-xoap" ]); meta = { homepage = http://conky.sourceforge.net/; description = "Conky is an advanced, highly configurable system monitor complied without X based on torsmo"; maintainers = [ stdenv.lib.maintainers.guibert ]; + license = stdenv.lib.licenses.gpl3Plus; }; } - diff --git a/pkgs/os-specific/linux/conky/stdbool.patch b/pkgs/os-specific/linux/conky/stdbool.patch new file mode 100644 index 00000000000..3f0b714a1f0 --- /dev/null +++ b/pkgs/os-specific/linux/conky/stdbool.patch @@ -0,0 +1,12 @@ +diff --git a/src/conky.c b/src/conky.c +index 5848b61..69a3d45 100644 +--- a/src/conky.c ++++ b/src/conky.c +@@ -34,6 +34,7 @@ + #include "common.h" + #include "timed_thread.h" + #include ++#include + #include + #include + #include diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix new file mode 100644 index 00000000000..537cc386402 --- /dev/null +++ b/pkgs/os-specific/linux/consoletools/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchgit, SDL }: + +stdenv.mkDerivation rec { + name = "linuxconsoletools-${version}"; + version = "1.4.3"; + + src = fetchgit { + url = "git://linuxconsole.git.sourceforge.net/gitroot/linuxconsole/linuxconsole"; + rev = "dac2cae0e5795ddc27b76a92767dd9e07a10621e"; + sha256 = "350b008e614923dbd548fcaaf2842b39433acdcf595e2ce8aaf1599f076d331d"; + }; + + buildInputs = [ SDL ]; + makeFlags = [ "PREFIX=$(out)" ]; + + meta = { + homepage = "https://sourceforge.net/projects/linuxconsole/"; + description = "A set of tools for joysticks and serial peripherals"; + license = stdenv.lib.licenses.gpl2Plus; + + longDescription = '' + The included tools are: + + ffcfstress(1) - force-feedback stress test + ffmvforce(1) - force-feedback orientation test + ffset(1) - force-feedback configuration tool + fftest(1) - general force-feedback test + jstest(1) - joystick test + jscal(1) - joystick calibration tool + inputattach(1) - connects legacy serial devices to the input layer + ''; + }; +} diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix index 35bf57c269e..e9e0a36f156 100644 --- a/pkgs/os-specific/linux/cpufrequtils/default.nix +++ b/pkgs/os-specific/linux/cpufrequtils/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation { name = "cpufrequtils-008"; src = fetchurl { - url = "mirror://kernel/linux/utils/kernel/cpufreq/cpufrequtils-008.tar.gz"; + url = http://ftp.be.debian.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-008.tar.gz; md5 = "52d3e09e47ffef634833f7fab168eccf"; }; diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix new file mode 100644 index 00000000000..b9e5690e80e --- /dev/null +++ b/pkgs/os-specific/linux/cryptodev/default.nix @@ -0,0 +1,30 @@ +{ fetchurl, stdenv, kernel, onlyHeaders ? false }: + +stdenv.mkDerivation rec { + pname = "cryptodev-linux-1.5"; + name = "${pname}-${kernel.version}"; + + src = fetchurl { + url = "http://download.gna.org/cryptodev-linux/${pname}.tar.gz"; + sha256 = "13hybl5p0ck0vgi2gxmiwa2810gcfk78kdy17ai8nczj8il15mn0"; + }; + + buildPhase = if !onlyHeaders then '' + make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \ + SUBDIRS=`pwd` INSTALL_PATH=$out + '' else ":"; + + installPhase = stdenv.lib.optionalString (!onlyHeaders) '' + make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \ + INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install + '' + '' + mkdir -p $out/include/crypto + cp crypto/cryptodev.h $out/include/crypto + ''; + + meta = { + description = "Device that allows access to Linux kernel cryptographic drivers"; + homepage = http://home.gna.org/cryptodev-linux/; + license = "GPLv2+"; + }; +} diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix index 9e762f64904..6d612f8cdbd 100644 --- a/pkgs/os-specific/linux/cryptsetup/default.nix +++ b/pkgs/os-specific/linux/cryptsetup/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt }: stdenv.mkDerivation rec { - name = "cryptsetup-1.5.0"; + name = "cryptsetup-1.5.1"; src = fetchurl { url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2"; - sha256 = "1l7qcmaq092k28k8sbw845hs6jwn0f05h68rmb7iwh52232m8wa0"; + sha256 = "0dib3nw6ifd7d7hr9k4iyaha3hz0pkzairqa38l3fndkr9w3zlhn"; }; configureFlags = "--enable-cryptsetup-reencrypt"; diff --git a/pkgs/os-specific/linux/ebtables/default.nix b/pkgs/os-specific/linux/ebtables/default.nix index 1f0539add93..eec456ff5ad 100644 --- a/pkgs/os-specific/linux/ebtables/default.nix +++ b/pkgs/os-specific/linux/ebtables/default.nix @@ -1,22 +1,27 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "ebtables-2.0.9-2"; + name = "ebtables-${version}"; + version = "2.0.10-4"; src = fetchurl { - url = mirror://sourceforge/ebtables/ebtables-v2.0.9-2.tar.gz; - sha256 = "18yni9zzhfi1ygkgifzj8qpn95cwwiw7j6b3wsl1bij39mj5z1cq"; + url = "mirror://sourceforge/ebtables/ebtables-v${version}.tar.gz"; + sha256 = "0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw"; }; makeFlags = - "LIBDIR=$(out)/lib BINDIR=$(out)/sbin MANDIR=$(out)/share/man " + - "ETCDIR=$(out)/etc INITDIR=$(TMPDIR) SYSCONFIGDIR=$(out)/etc/sysconfig"; + [ "LIBDIR=$(out)/lib" "BINDIR=$(out)/sbin" "MANDIR=$(out)/share/man" + "ETCDIR=$(out)/etc" "INITDIR=$(TMPDIR)" "SYSCONFIGDIR=$(out)/etc/sysconfig" + "LOCALSTATEDIR=/var" + ]; preBuild = '' substituteInPlace Makefile --replace '-o root -g root' "" ''; + NIX_CFLAGS_COMPILE = "-Wno-error"; + preInstall = "mkdir -p $out/etc/sysconfig"; meta = { diff --git a/pkgs/os-specific/linux/eject/default.nix b/pkgs/os-specific/linux/eject/default.nix deleted file mode 100644 index eec1ec5342c..00000000000 --- a/pkgs/os-specific/linux/eject/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{stdenv, fetchurl, gettext}: - -stdenv.mkDerivation { - name = "eject-2.1.5"; - #builder = ./builder.sh; - src = fetchurl { - url = http://ca.geocities.com/jefftranter@rogers.com/eject-2.1.5.tar.gz; - sha256 = "0mgy5wp40rsalfkxs6mvsg3s7yaqf2iq49iv4axf9zac9037k7zg"; - }; - buildInputs = [gettext]; - preBuild = " - makeFlagsArray=(PREFIX=$out) - "; -} diff --git a/pkgs/os-specific/linux/fbterm/default.nix b/pkgs/os-specific/linux/fbterm/default.nix index 0201422cdf9..59f93e836c4 100644 --- a/pkgs/os-specific/linux/fbterm/default.nix +++ b/pkgs/os-specific/linux/fbterm/default.nix @@ -1,37 +1,33 @@ -a : -let - fetchurl = a.fetchurl; - - buildInputs = with a; [ - gpm freetype fontconfig pkgconfig ncurses - ]; - s = import ./src-for-default.nix; +{stdenv, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses}: +let + s = # Generated upstream information + rec { + baseName="fbterm"; + version="1.7.0"; + name="fbterm-1.7.0"; + hash="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; + url="http://fbterm.googlecode.com/files/fbterm-1.7.0.tar.gz"; + sha256="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj"; + }; + buildInputs = [gpm freetype fontconfig pkgconfig ncurses]; in -rec { - src = a.fetchUrlFromSrcInfo s; - inherit(s) name; +stdenv.mkDerivation { + inherit (s) name version; + src = fetchurl { + inherit (s) url sha256; + }; inherit buildInputs; - configureFlags = []; - - fixInc = a.fullDepEntry ('' + preConfigure = '' sed -e '/ifdef SYS_signalfd/atypedef long long loff_t;' -i src/fbterm.cpp - '') ["doUnpack" "minInit"]; - - fixMakeInstall = a.fullDepEntry ('' sed -e '/install-exec-hook:/,/^[^\t]/{d}; /.NOEXPORT/iinstall-exec-hook:\ ' -i src/Makefile.in - '') ["doUnpack" "minInit"]; - - setVars = a.noDepEntry ('' export HOME=$PWD; export NIX_LDFLAGS="$NIX_LDFLAGS -lfreetype" - '') ; - - /* doConfigure should be removed if not needed */ - phaseNames = ["setVars" "fixInc" "fixMakeInstall" "doConfigure" "doMakeInstall"]; - + ''; meta = { + inherit (s) version; description = "Framebuffer terminal emulator"; - maintainers = [a.lib.maintainers.raskin]; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/fbterm/default.upstream b/pkgs/os-specific/linux/fbterm/default.upstream new file mode 100644 index 00000000000..387ef8862fb --- /dev/null +++ b/pkgs/os-specific/linux/fbterm/default.upstream @@ -0,0 +1,3 @@ +url http://code.google.com/p/fbterm/downloads/list +version_link '[.]tar[.][a-z0-9]+$' +process 'code[.]google[.]com//' '' diff --git a/pkgs/os-specific/linux/fbterm/src-for-default.nix b/pkgs/os-specific/linux/fbterm/src-for-default.nix deleted file mode 100644 index 6705404ac9f..00000000000 --- a/pkgs/os-specific/linux/fbterm/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="1.7"; - name="fbterm-1.7"; - hash="19qjb2zb4gwr1jlybmalaw3y3zybvc8vliwj85dfabmill1k1afh"; - url="http://fbterm.googlecode.com/files/fbterm-${version}.tar.gz"; - advertisedUrl="http://fbterm.googlecode.com/files/fbterm-1.7.tar.gz"; - - -} diff --git a/pkgs/os-specific/linux/fbterm/src-info-for-default.nix b/pkgs/os-specific/linux/fbterm/src-info-for-default.nix deleted file mode 100644 index b0c439714fb..00000000000 --- a/pkgs/os-specific/linux/fbterm/src-info-for-default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - downloadPage = "http://code.google.com/p/fbterm/"; - baseName = "fbterm"; -} diff --git a/pkgs/os-specific/linux/fbterm/stdenv.nix b/pkgs/os-specific/linux/fbterm/stdenv.nix deleted file mode 100644 index e257a7d46eb..00000000000 --- a/pkgs/os-specific/linux/fbterm/stdenv.nix +++ /dev/null @@ -1,35 +0,0 @@ -# Quick version to be able to cross-build fbterm meanwhile builderDefs cannot -# cross-build with an equivalent to the stdenvCross adapter. -{ stdenv, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses }: - -let - version="1.7"; - name="fbterm-1.7"; - hash="19qjb2zb4gwr1jlybmalaw3y3zybvc8vliwj85dfabmill1k1afh"; - url="http://fbterm.googlecode.com/files/fbterm-${version}.tar.gz"; -in - -stdenv.mkDerivation { - inherit name; - - src = fetchurl { - inherit url; - sha256 = hash; - }; - - buildNativeInputs = [ ncurses ]; - buildInputs = [ gpm freetype fontconfig pkgconfig ]; - - preConfigure = '' - sed -e '/ifdef SYS_signalfd/atypedef long long loff_t;' -i src/fbterm.cpp - - sed -e '/install-exec-hook:/,/^[^\t]/{d}; /.NOEXPORT/iinstall-exec-hook:\ - ' -i src/Makefile.in - - export HOME=$PWD; - - export NIX_LDFLAGS="$NIX_LDFLAGS -lfreetype" - # This is only relevant cross-building - export NIX_CROSS_LDFLAGS="$NIX_CROSS_LDFLAGS -lfreetype" - ''; -} diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix index a78599c6a20..834f98960df 100644 --- a/pkgs/os-specific/linux/ffado/default.nix +++ b/pkgs/os-specific/linux/ffado/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchsvn, dbus, dbus_cplusplus, expat, glibmm, libconfig +{ stdenv, fetchurl, dbus, dbus_cplusplus, expat, glibmm, libconfig , libavc1394, libiec61883, libraw1394, libxmlxx, makeWrapper, pkgconfig , pyqt4, python, pythonDBus, qt4, scons }: stdenv.mkDerivation rec { - name = "libffado-svn-1995"; + name = "libffado-${version}"; + version = "2.1.0"; - src = fetchsvn { - url = "http://subversion.ffado.org/ffado/trunk/libffado"; - rev = "1995"; + src = fetchurl { + url = "http://www.ffado.org/files/${name}.tgz"; + sha256 = "11cxmy31c19720j2171l735rpg7l8i41icsgqscfd2vkbscfmh6y"; }; buildInputs = @@ -18,13 +19,16 @@ stdenv.mkDerivation rec { patches = [ ./enable-mixer-and-dbus.patch ]; - preBuild = "export PYLIBSUFFIX=lib/${python.libPrefix}/site-packages"; - # TODO fix ffado-diag, it doesn't seem to use PYPKGDIR - buildPhase = "scons PYPKGDIR=$out/$PYLIBSUFFIX"; + buildPhase = '' + export PYLIBSUFFIX=lib/${python.libPrefix}/site-packages + scons PYPKGDIR=$out/$PYLIBSUFFIX DEBUG=False + sed -e "s#/usr/local#$out#" -i support/mixer-qt4/ffado/config.py + ''; + installPhase = '' scons PREFIX=$out LIBDIR=$out/lib SHAREDIR=$out/share/libffado \ - PYPKGDIR=$out/$PYLIBSUFFIX install + PYPKGDIR=$out/$PYLIBSUFFIX UDEVDIR=$out/lib/udev/rules.d install sed -e "s#/usr/local#$out#g" -i $out/bin/ffado-diag diff --git a/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch b/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch index 44c0b991e0a..480e0f45a92 100644 --- a/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch +++ b/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch @@ -1,24 +1,25 @@ ---- libffado-r2117/SConstruct 1970-01-01 01:00:01.000000000 +0100 -+++ libffado-r2117/SConstruct 2012-04-06 18:26:45.521100690 +0200 -@@ -314,10 +314,8 @@ +--- libffado-2.1.0/SConstruct 1970-01-01 01:00:01.000000000 +0100 ++++ libffado-2.1.0/SConstruct 2012-09-30 16:50:23.603283095 +0000 +@@ -349,11 +349,9 @@ + # Optional checks follow: # - # PyQT checks +-# PyQT checks -build_mixer = False -if conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus' ) and conf.CheckForPyModule( 'PyQt4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' ): - env['PYUIC4'] = True - build_mixer = True +env['PYUIC4'] = True +build_mixer = True ++ if conf.CheckForApp( 'xdg-desktop-menu --help' ): env['XDG_TOOLS'] = True -@@ -348,7 +346,8 @@ +@@ -384,7 +382,7 @@ name2 = pkg.replace("+","").replace(".","").replace("-","").upper() env['%s_FLAGS' % name2] = conf.GetPKGFlags( pkg, pkgs[pkg] ) -if not env['DBUS1_FLAGS'] or not env['DBUSC1_FLAGS'] or not conf.CheckForApp('which dbusxx-xml2cpp'): -+ +if False: env['DBUS1_FLAGS'] = "" env['DBUSC1_FLAGS'] = "" diff --git a/pkgs/os-specific/linux/firmware/amd-ucode/default.nix b/pkgs/os-specific/linux/firmware/amd-ucode/default.nix index 685b44a1651..dc5959d400d 100644 --- a/pkgs/os-specific/linux/firmware/amd-ucode/default.nix +++ b/pkgs/os-specific/linux/firmware/amd-ucode/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { - name = "amd-ucode-2012-01-17"; + name = "amd-ucode-2012-09-10"; src = fetchurl { url = "http://www.amd64.org/pub/microcode/${name}.tar"; - sha256 = "0mqnbs87khv6p874cbyf9nb8i4gc592ws67lyzhc4chmwvc9ln47"; + sha256 = "065phvhx5hx5ssdd1x2p5m1yv26ak7l5aaw6yk6h95x9mxn5r111"; }; installPhase = '' diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index e2ba47abb9a..f6173fcf5f5 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -6,25 +6,26 @@ { stdenv, fetchurl, buildEnv, dpkg }: let - version = "0.35"; + version = "0.36"; + packages = [ - { name = "linux-nonfree"; sha256 = "8c0701500e5252e3e05ad0e5403cc5295899ccb2d6d731380b5f4c2d90003ed1"; } - { name = "atheros"; sha256 = "df411d76e3d55cb256b0974df16cf18f316c1325f33670fbc9e36abba5aa46c0"; } - { name = "bnx2"; sha256 = "124e74aa6ce477f7b6a0b5eff3870b0104fd885b4bdfb9977175e75bdb9a7525"; } - { name = "bnx2x"; sha256 = "4cbcf3422a9aaa6e31704770c724179765dceabd2e6867e24cf47039925e6545"; } - { name = "brcm80211"; sha256 = "eefba7ba31c018d514ea15878cfd7bca36a65b0df3e9024fc3875a990678a684"; } - { name = "intelwimax"; sha256 = "436a3bd128224f43988630318aa3e74abfbe838916e1e10a602ddc468b75d843"; } - { name = "ipw2x00"; sha256 = "9c214e3a9f7f7d710b5cb30282d5ca2b2ccafc3bb208dfe7e18de16d3aadc7a3"; } - { name = "ivtv"; sha256 = "ced47d8b87ff8ff70a8c32492cc4fb5818860ef018b5c04a4415ab26c9b16300"; } - { name = "iwlwifi"; sha256 = "5d9615ec128b59cc5834e0261ea74127c0bc64bafabdaef1028a8f1acf611568"; } - { name = "libertas"; sha256 = "b109fb5c392928ac5495f8ce1d0f41d123b193031f8b548e8b68e9563db37016"; } - { name = "linux"; sha256 = "8e87f75c120904f2ca5fd9017e4503c23d8705b9ccaeb570374d1747163620ab"; } - { name = "myricom"; sha256 = "4c9e19d8b2cea97eb05f9d577537dba81aa36ac06c6da9bbed0bfa20434b7acc"; } - { name = "netxen"; sha256 = "3bd129229cf548a533c79cb55deefa7e4919e09fcc1f655773f4fa5078d81b9b"; } - { name = "qlogic"; sha256 = "213d098435c657115d2754ef5ead52e64f5fa05be4dcbcb0d5d3ca745376959c"; } - { name = "ralink"; sha256 = "51f3001ed15ca72bb088297b9e6e4a821ba6250f0ccc8886d77d2f5386a21836"; } - { name = "realtek"; sha256 = "a6338f5cd8bbe9627fa994016ebb0a91b40914021bec280ddc8f8a56eab22287"; } + { name = "linux-nonfree"; sha256 = "668d262dfcf18ffef2fe2a0b853b81bf5855f49fd2133203cbda097b1507c953"; } + { name = "atheros"; sha256 = "27cbd2099ce28c742f42833b09a61bdc7fb5b2ebcf5b35a52e750160ea1001b6"; } + { name = "bnx2"; sha256 = "32730fdeb0fb15a36e0ca046bde69e1a6fece8561af57afc7d9f1cf978fd25ab"; } + { name = "bnx2x"; sha256 = "22f23f4abb4aa2dac22718f12cf3bbd3fd2d63870b13e81c8401e6f841a719e8"; } + { name = "brcm80211"; sha256 = "17055c4199cc7e2aaa7d1d76dd5e718d24dbebb84020bb2d95ffab03bcfc7e8a"; } + { name = "intelwimax"; sha256 = "cc1b894990d3074e93b3f79b2b617614aab554b5e832d34993b5a16f64bdb84a"; } + { name = "ipw2x00"; sha256 = "2ef0810e2e037f7d536b24cc35527c456ff13b7aa5fd2df607b7035227553c9d"; } + { name = "ivtv"; sha256 = "7bf30e142679d53ad376002f29026bbe28de51e1cb71bcc3ec5c5f5f119a7118"; } + { name = "iwlwifi"; sha256 = "46ce0915583674ec10bfde3840b66ff450237edf604804ff51b9872fe767c1bb"; } + { name = "libertas"; sha256 = "c5d370d244f1c3a42f0a0280ed0cab067dbf36fa2926d387c9d10cf4ccd1b000"; } + { name = "linux"; sha256 = "e19bedc2cacf2cd7a1fc38e25820effe9e58fdc56608e9f7c320c85b80cba6ea"; } + { name = "myricom"; sha256 = "038bd618c00e852206a8a1443ba47ea644c04052bd8f10af9392c716ebf16b3c"; } + { name = "netxen"; sha256 = "29e3c1707dab6439f391318a223e5d4b6508d493c8d8bad799aef4f35b4704e7"; } + { name = "qlogic"; sha256 = "cc43c6016f2b7661d39e1d678ac0e8ca70081be8a0c76c2ec4d2e71493afa7d8"; } + { name = "ralink"; sha256 = "4db8dc6b98821c59f008c8bf7464317443b031cebf6d7e56c06f0824e69e3922"; } + { name = "realtek"; sha256 = "c39e65e5a589325ceb365d11b9ea10b0244134b7e5b3b05fd91fe6ad66b2f093"; } ]; fetchPackage = diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix index 2660c0b2493..8acb75c3ed6 100644 --- a/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix +++ b/pkgs/os-specific/linux/firmware/iwlwifi-1000-ucode/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation rec { name = "iwlwifi-1000-ucode-128.50.3.1"; src = fetchurl { - url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz"; + url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz"; + name = "${name}.tgz"; sha256 = "7e81ddad18acec19364c9df22496e8afae99a2e1490b2b178e420b52d443728d"; }; @@ -26,6 +27,6 @@ stdenv.mkDerivation rec { driver found in recent kernels. ''; - homepage = http://intellinuxwireless.org/; + homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi; }; } diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-2030-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-2030-ucode/default.nix new file mode 100644 index 00000000000..bc9c8efe063 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/iwlwifi-2030-ucode/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "iwlwifi-2030-ucode-18.168.6.1"; + + src = fetchurl { + url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz"; + name = "${name}.tgz"; + sha256 = "0b69jpb46fk63ybyyb8lbh99j1d29ayp8fl98l18iqy3q7mx4ry8"; + }; + + buildPhase = "true"; + + installPhase = '' + mkdir -p "$out" + chmod -x * + cp * "$out" + ''; + + meta = { + description = "Firmware for the Intel 2030 Series wireless card"; + + longDescription = '' + This package provides the Intel 2030 Series wireless card + firmware. It contains the `iwlwifi-2030-6.ucode' file. + ''; + + homepage = http://intellinuxwireless.org/; + }; +} diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix index 3e3ad74adb3..266c7795d23 100644 --- a/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix +++ b/pkgs/os-specific/linux/firmware/iwlwifi-4965-ucode/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation rec { name = "iwlwifi-4965-ucode-228.57.1.21"; src = fetchurl { - url = "http://intellinuxwireless.org/iwlwifi/downloads/" + name + ".tgz"; + url = "wireless.kernel.org/en/users/Drivers/iwlegacy?action=AttachFile&do=get&target=${name}.tgz"; + name = "${name}.tgz"; sha256 = "1rry0kpzszxk60h5gb94advzi009010xb332iyvfpaiwbj6aiyas"; }; diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix index 0d409bd8427..dca427cbff5 100644 --- a/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix +++ b/pkgs/os-specific/linux/firmware/iwlwifi-5150-ucode/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation rec { name = "iwlwifi-5150-ucode-8.24.2.2"; src = fetchurl { - url = "http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-5150-ucode-8.24.2.2.tgz"; + url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz"; + name = "${name}.tgz"; sha256 = "d253e6ff6624639aded67c82df98b2bc4a66eb66400848d5614921d513540cf9"; }; @@ -24,6 +25,6 @@ stdenv.mkDerivation rec { firmware. It contains the `iwlwifi-5150-2.ucode' file. ''; - homepage = http://intellinuxwireless.org/; + homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi; }; } diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix index e5f3effa4b7..2e88f1bba74 100644 --- a/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix +++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000-ucode/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation rec { name = "iwlwifi-6000-ucode-9.221.4.1"; src = fetchurl { - url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz"; + url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz"; + name = "${name}.tgz"; sha256 = "7f04623231663dc4ee63df32fd890bfa9514dce1fab9dc7a25fda90350da836b"; }; @@ -24,6 +25,6 @@ stdenv.mkDerivation rec { firmware. It contains the `iwlwifi-6000-4.ucode' file. ''; - homepage = http://intellinuxwireless.org/; + homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi; }; } diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix index e5fe73ca498..ef259b70975 100644 --- a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix +++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix @@ -1,11 +1,12 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "iwlwifi-6000g2a-ucode-17.168.5.3"; + name = "iwlwifi-6000g2a-ucode-18.168.6.1"; src = fetchurl { - url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz"; - sha256 = "febbbc0851db17296d35e5ca1d9266c1a14e9a9ae6ce41a36578c44971ae79f9"; + url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz"; + name = "${name}.tgz"; + sha256 = "a7f2615756addafbf3e6912cb0265f9650b2807d1ccdf54b620735772725bbe9"; }; buildPhase = "true"; @@ -17,13 +18,12 @@ stdenv.mkDerivation rec { ''; meta = { + homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi; description = "Firmware for the Intel 6000 Series Gen2 wireless card"; longDescription = '' This package provides the Intel 6000 Series wireless card firmware. It contains the `iwlwifi-6000g2a-5.ucode' file. ''; - - homepage = http://intellinuxwireless.org/; }; } diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix index b3a2a810bf7..0fee3acd0a3 100644 --- a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix +++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2b-ucode/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation rec { name = "iwlwifi-6000g2b-ucode-17.168.5.2"; src = fetchurl { - url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz"; + url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=${name}.tgz"; + name = "${name}.tgz"; sha256 = "5e4afdf070bfef549e50e62187f22dc2e40f5d9fe8b9a77561f8f3efb0d1d052"; }; @@ -24,6 +25,6 @@ stdenv.mkDerivation rec { firmware. It contains the `iwlwifi-6000g2b-4.ucode' file. ''; - homepage = http://intellinuxwireless.org/; + homepage = http://wireless.kernel.org/en/users/Drivers/iwlwifi; }; } diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix new file mode 100644 index 00000000000..02d7194b500 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "raspberrypi-firmware-20160106"; + + src = fetchurl { + url = "https://github.com/raspberrypi/firmware/archive/4ade27942e.tar.gz"; + sha256 = "0f4p920vr7dcj4hprgil8baqqbnsjx1jykz0pkdx29mqy0n0xanl"; + }; + + installPhase = '' + mkdir -p $out/share/raspberrypi/boot + cp -R boot/* $out/share/raspberrypi/boot + cp -R hardfp/opt/vc/* $out + cp opt/vc/LICENCE $out/share/raspberrypi + ''; + + meta = { + description = "Firmware for the Raspberry Pi board"; + homepage = https://github.com/raspberrypi; + license = "non-free"; + }; +} diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index 2a0dfb220ec..bd2507ec1bc 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, utillinux }: stdenv.mkDerivation rec { - name = "fuse-2.8.7"; + name = "fuse-2.9.2"; builder = ./builder.sh; src = fetchurl { url = "mirror://sourceforge/fuse/${name}.tar.gz"; - sha256 = "17dlp6p7kcd8kav3rylmn1a1rqbnri4iawl78mmcm1szllck6w90"; + sha256 = "1z6fg593hy1j7mynhckx43gqkkg2nwpmwwv860337nl77zxji9w1"; }; configureFlags = "--disable-kernel-module"; diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix index d1a4bf9feb6..4328eb36b6d 100644 --- a/pkgs/os-specific/linux/gogoclient/default.nix +++ b/pkgs/os-specific/linux/gogoclient/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { name = "${baseName}-${version}"; src = fetchurl { - url = http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz; + #url = http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz; + url = http://pkgs.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz; sha256 = "a0ef45c0bd1fc9964dc8ac059b7d78c12674bf67ef641740554e166fa99a2f49"; }; patches = [./gcc46-include-fix.patch ./config-paths.patch ]; @@ -28,6 +29,7 @@ stdenv.mkDerivation rec { --replace "/sbin/route" "${nettools}/sbin/route" \ --replace "/sbin/ip" "${iproute}/sbin/ip" \ --replace "/sbin/sysctl" "${procps}/sbin/sysctl" + sed -i -e 's/^.*Exec \$route -A.*$/& metric 128/' $out/template/linux.sh ''; meta = { diff --git a/pkgs/os-specific/linux/hal/default.nix b/pkgs/os-specific/linux/hal/default.nix deleted file mode 100644 index f1757be94cf..00000000000 --- a/pkgs/os-specific/linux/hal/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, python, pciutils, expat -, libusb, dbus, dbus_glib, glib, libuuid, perl -, perlXMLParser, gettext, zlib, gperf, consolekit, policykit -, libsmbios, dmidecode, udev, utillinux, pmutils, usbutils -, eject, upstart -}: - -assert stdenv ? glibc; - -let - isPC = stdenv.isi686 || stdenv.isx86_64; - changeDmidecode = if isPC then - "--replace /usr/sbin/dmidecode ${dmidecode}/sbin/dmidecode" - else ""; -in -stdenv.mkDerivation rec { - name = "hal-0.5.14"; - - src = fetchurl { - url = "http://hal.freedesktop.org/releases/${name}.tar.gz"; - sha256 = "00ld3afcbh4ckb8sli63mm2w69zh6ip4axhy1lxyybgiabxaqfij"; - }; - - buildInputs = [ - pkgconfig python pciutils expat libusb dbus.libs dbus_glib glib - libuuid perl perlXMLParser gettext zlib gperf - consolekit policykit - ]; - - # !!! Hm, maybe the pci/usb.ids location should be in /etc, so that - # we don't have to rebuild HAL when we update the PCI/USB IDs. - configureFlags = '' - --with-pci-ids=${pciutils}/share - --with-usb-ids=${usbutils}/share - --localstatedir=/var - --with-eject=${eject}/bin/eject - --with-linux-input-header=${stdenv.glibc}/include/linux/input.h - --enable-umount-helper - ''; - - propagatedBuildInputs = [ libusb ] - ++ stdenv.lib.optional isPC libsmbios; - - preConfigure = '' - for i in hald/linux/probing/probe-smbios.c hald/linux/osspec.c \ - hald/linux/coldplug.c hald/linux/blockdev.c \ - tools/hal-storage-mount.c ./tools/hal-storage-shared.c \ - tools/hal-system-power-pm-is-supported.c \ - tools/linux/hal-*-linux - do - substituteInPlace $i \ - ${changeDmidecode} \ - ${if udev != null then "--replace /sbin/udevadm ${udev}/sbin/udevadm" else ""} \ - --replace /bin/mount ${utillinux}/bin/mount \ - --replace /bin/umount ${utillinux}/bin/umount \ - --replace /usr/bin/pm-is-supported ${pmutils}/bin/pm-is-supported \ - --replace /usr/sbin/pm ${pmutils}/sbin/pm \ - --replace /sbin/shutdown ${upstart}/sbin/shutdown - done - ''; - - installFlags = "slashsbindir=$(out)/sbin"; -} diff --git a/pkgs/os-specific/linux/hal/hal-evt.nix b/pkgs/os-specific/linux/hal/hal-evt.nix deleted file mode 100644 index a49f4fcc0f8..00000000000 --- a/pkgs/os-specific/linux/hal/hal-evt.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, libxml2, pkgconfig, boolstuff, hal, dbus_glib }: - -stdenv.mkDerivation { - name = "hal-evt-0.1.4"; - - src = fetchurl { - url = http://savannah.nongnu.org/download/halevt/halevt-0.1.4.tar.gz; - sha256 = "173dphyzpicjz5pnw0d6wmibvib5h99nh1gmyvcqpgvf8la5vrps"; - }; - - buildInputs = [ libxml2 pkgconfig boolstuff hal dbus_glib ]; - - meta = { - description = "Execute commands on hal events"; - homepage = http://www.nongnu.org/halevt/; - license = "GPLv2"; - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/hal/info.nix b/pkgs/os-specific/linux/hal/info.nix deleted file mode 100644 index 1a4e41c776f..00000000000 --- a/pkgs/os-specific/linux/hal/info.nix +++ /dev/null @@ -1,15 +0,0 @@ -{stdenv, fetchurl, pkgconfig}: - -stdenv.mkDerivation rec { - name = "hal-info-20091130"; - - src = fetchurl { - url = "http://hal.freedesktop.org/releases/${name}.tar.gz"; - sha256 = "092jhzpxa2h8djf8pijql92m70q87yds22686ryrfna3xbm90niv"; - }; - - meta = { - homepage = http://www.freedesktop.org/wiki/Software/hal; - description = "Hardware data and quirks for HAL"; - }; -} diff --git a/pkgs/os-specific/linux/hal/synaptics.nix b/pkgs/os-specific/linux/hal/synaptics.nix deleted file mode 100644 index 20c4d1ec24f..00000000000 --- a/pkgs/os-specific/linux/hal/synaptics.nix +++ /dev/null @@ -1,19 +0,0 @@ -{stdenv}: -stdenv.mkDerivation { - name = "hal-info-synaptics"; - buildCommand = '' - mkdir -p $out/share/hal/fdi/information/15-osvendor/ - cat << EOF > $out/share/hal/fdi/information/15-osvendor/10-x11-synaptics.fdi - - - - - synaptics - true - event - - - -EOF - ''; -} diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix index 39f92d99b7f..f13a1033f8b 100644 --- a/pkgs/os-specific/linux/hostapd/default.nix +++ b/pkgs/os-specific/linux/hostapd/default.nix @@ -1,21 +1,22 @@ -{ stdenv, fetchurl, libnl1, openssl }: +{ stdenv, fetchurl, libnl, openssl, pkgconfig }: stdenv.mkDerivation rec { name = "hostapd-${version}"; - version = "0.7.3"; + version = "1.0"; src = fetchurl { - url = http://w1.fi/releases/hostapd-0.7.3.tar.gz; - sha256 = "0rqmjs4k50qjp2d0k71lg5vsh34w07w985cxjqklq6kyyf0jgsri"; + url = "http://w1.fi/releases/${name}.tar.gz"; + sha256 = "1k6z2g0g324593a7ybd76bywvj0gnf9cybqaj2sq5ks6gv5rsbh0"; }; - buildInputs = [ libnl1 openssl ]; + buildInputs = [ libnl openssl pkgconfig ]; configurePhase = '' cd hostapd - substituteInPlace defconfig --replace "#CONFIG_DRIVER_NL80211" "CONFIG_DRIVER_NL80211" - substituteInPlace Makefile --replace "/usr/local/bin/" "$out/bin/" + substituteInPlace Makefile --replace "/usr/local/bin" "$out/bin" mv defconfig .config + echo CONFIG_LIBNL32=y | tee -a .config + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags libnl-3.0)" ''; preInstall = "mkdir -p $out/bin"; diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index cc5339ba900..2b22f4a2881 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -1,11 +1,11 @@ -{fetchurl, stdenv, flex, bison, db4, iptables}: +{ fetchurl, stdenv, flex, bison, db4, iptables, pkgconfig }: stdenv.mkDerivation rec { - name = "iproute2-2.6.35"; + name = "iproute2-3.6.0"; src = fetchurl { - url = "http://pkgs.fedoraproject.org/repo/pkgs/iproute/iproute2-2.6.35.tar.bz2/b0f281b3124bf04669e18f5fe16d4934/iproute2-2.6.35.tar.bz2"; - sha256 = "18why1wy0v859axgrlfxn80zmskss0410hh9rf5gn9cr29zg9cla"; + url = http://kernel.org/pub/linux/utils/net/iproute2/iproute2-3.6.0.tar.xz; + sha256 = "0d05av2s7p552yszgj6glz6d74jlmg392s7n74hicgqfl16m85rd"; }; patches = [ ./vpnc.patch ]; @@ -15,20 +15,25 @@ stdenv.mkDerivation rec { patchShebangs ./configure sed -e '/ARPDDIR/d' -i Makefile ''; + postConfigure = "cat Config"; makeFlags = "DESTDIR= LIBDIR=$(out)/lib SBINDIR=$(out)/sbin" - + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}" - + " MANDIR=$(out)/share/man"; + + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}" + + " MANDIR=$(out)/share/man"; - buildInputs = [db4 iptables]; - buildNativeInputs = [bison flex db4]; + buildInputs = [ db4 iptables ]; + nativeBuildInputs = [ bison flex pkgconfig ]; + + enableParallelBuilding = true; + + # Get rid of useless TeX/SGML docs. + postInstall = "rm -rf $out/share/doc"; meta = { - homepage = - http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2; - description = "A collection of utilities for controlling TCP / IP" - + " networking and traffic control in Linux"; + homepage = http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2; + description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux"; platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; }; } diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix new file mode 100644 index 00000000000..00676319b03 --- /dev/null +++ b/pkgs/os-specific/linux/ipsec-tools/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, linuxHeaders, readline, openssl, flex, krb5, pam }: + +# TODO: These tools are supposed to work under NetBSD and FreeBSD as +# well, so I guess it's not appropriate to place this expression in +# "os-specific/linux/ipsec-tools". Since I cannot verify that the +# expression actually builds on those platforms, I'll leave it here for +# the time being. + +stdenv.mkDerivation rec { + name = "ipsec-tools-0.8.0"; + + src = fetchurl { + url = "mirror://sourceforge/ipsec-tools/${name}.tar.bz2"; + sha256 = "2359a24aa8eda9ca7043fc47950c8e6b7f58a07c5d5ad316aa7de2bc5e3a8717"; + }; + + buildInputs = [ readline openssl flex krb5 pam ]; + + patches = [ ./dont-create-localstatedir-during-install.patch ]; + + configureFlags = '' + --sysconfdir=/etc --localstatedir=/var + --with-kernel-headers=${linuxHeaders}/include + --disable-security-context + --enable-adminport + --enable-dpd + --enable-frag + --enable-gssapi + --enable-hybrid + --enable-natt + --enable-shared + --enable-stats + ''; + + meta = { + homepage = "http://ipsec-tools.sourceforge.net/"; + description = "Port of KAME's IPsec utilities to the Linux-2.6 IPsec implementation"; + + platforms = stdenv.lib.platforms.linux; + maintainers = [stdenv.lib.maintainers.simons]; + }; +} diff --git a/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch b/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch new file mode 100644 index 00000000000..16b80c36d6a --- /dev/null +++ b/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch @@ -0,0 +1,13 @@ +diff -ubr ipsec-tools-0.8.0-orig/src/racoon/Makefile.in ipsec-tools-0.8.0/src/racoon/Makefile.in +--- ipsec-tools-0.8.0-orig/src/racoon/Makefile.in 2012-10-20 13:01:07.700903316 +0200 ++++ ipsec-tools-0.8.0/src/racoon/Makefile.in 2012-10-20 13:01:13.177832616 +0200 +@@ -1085,9 +1085,6 @@ + uninstall-sbinPROGRAMS + + +-install-exec-local: +- ${mkinstalldirs} $(DESTDIR)${adminsockdir} +- + # special object rules + crypto_openssl_test.o: crypto_openssl.c + $(COMPILE) -DEAYDEBUG -o crypto_openssl_test.o -c $(srcdir)/crypto_openssl.c diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index a1dace598fe..78d8ee52fb1 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "iptables-1.4.10"; + name = "iptables-1.4.16.2"; src = fetchurl { url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2"; - md5 = "f382fe693f0b59d87bd47bea65eca198"; + md5 = "57220bb26866a713073e5614f88071fc"; }; # Install header files required by miniupnpd. diff --git a/pkgs/os-specific/linux/jujuutils/default.nix b/pkgs/os-specific/linux/jujuutils/default.nix index c52aae291eb..7c688943ea8 100644 --- a/pkgs/os-specific/linux/jujuutils/default.nix +++ b/pkgs/os-specific/linux/jujuutils/default.nix @@ -1,18 +1,18 @@ -{stdenv, fetchurl, linuxHeaders}: +{ stdenv, fetchurl, linuxHeaders }: stdenv.mkDerivation { name = "jujuutils-0.2"; src = fetchurl { - url = http://jujuutils.googlecode.com/files/jujuutils-0.2.tar.gz; + url = "http://jujuutils.googlecode.com/files/jujuutils-0.2.tar.gz"; sha256 = "1r74m7s7rs9d6y7cffi7mdap3jf96qwm1v6jcw53x5cikgmfxn4x"; }; buildInputs = [ linuxHeaders ]; meta = { + homepage = "http://code.google.com/p/jujuutils/"; description = "Utilities around FireWire devices connected to a Linux computer"; license = "GPLv2"; - homepage = http://code.google.com/p/jujuutils/; }; } diff --git a/pkgs/os-specific/linux/kernel-headers/2.4.nix b/pkgs/os-specific/linux/kernel-headers/2.4.nix index c5926ff2e47..9457769f5ef 100644 --- a/pkgs/os-specific/linux/kernel-headers/2.4.nix +++ b/pkgs/os-specific/linux/kernel-headers/2.4.nix @@ -4,7 +4,7 @@ assert cross == null -> stdenv.isLinux; let version = "2.4.37.9"; - kernelHeadersBaseConfig = if (cross == null) then + kernelHeadersBaseConfig = if cross == null then stdenv.platform.kernelHeadersBaseConfig else cross.platform.kernelHeadersBaseConfig; @@ -18,7 +18,7 @@ stdenv.mkDerivation { sha256 = "08rca9lcb5l5w483hgaqk8pi2njd7cmwpkifjqxwlb3g8liz4r5g"; }; - targetConfig = if (cross != null) then cross.config else null; + targetConfig = if cross != null then cross.config else null; platform = if cross != null then cross.platform.kernelArch else diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix b/pkgs/os-specific/linux/kernel-headers/2.6.28.nix index b576b68773c..1ba03010f8a 100644 --- a/pkgs/os-specific/linux/kernel-headers/2.6.28.nix +++ b/pkgs/os-specific/linux/kernel-headers/2.6.28.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation { sha256 = "0hifjh75sinifr5138v22zwbpqln6lhn65k8b57a1dyzlqca7cl9"; }; - targetConfig = if (cross != null) then cross.config else null; + targetConfig = if cross != null then cross.config else null; platform = if cross != null then cross.arch else diff --git a/pkgs/os-specific/linux/kernel-headers/2.6.32.nix b/pkgs/os-specific/linux/kernel-headers/2.6.32.nix index a2fc597eaac..100dd0c611b 100644 --- a/pkgs/os-specific/linux/kernel-headers/2.6.32.nix +++ b/pkgs/os-specific/linux/kernel-headers/2.6.32.nix @@ -4,7 +4,7 @@ assert cross == null -> stdenv.isLinux; let version = "2.6.32.16"; - kernelHeadersBaseConfig = if (cross == null) then + kernelHeadersBaseConfig = if cross == null then stdenv.platform.kernelHeadersBaseConfig else cross.platform.kernelHeadersBaseConfig; @@ -18,7 +18,7 @@ stdenv.mkDerivation { sha256 = "1ndvqvfaxachsklzzr5db1bzvfhnzz8diddrm1zlv7171fzmn13j"; }; - targetConfig = if (cross != null) then cross.config else null; + targetConfig = if cross != null then cross.config else null; platform = if cross != null then cross.platform.kernelArch else diff --git a/pkgs/os-specific/linux/kernel-headers/3.3.5.nix b/pkgs/os-specific/linux/kernel-headers/3.7.nix similarity index 74% rename from pkgs/os-specific/linux/kernel-headers/3.3.5.nix rename to pkgs/os-specific/linux/kernel-headers/3.7.nix index f4dd28dab03..4371bf7df9c 100644 --- a/pkgs/os-specific/linux/kernel-headers/3.3.5.nix +++ b/pkgs/os-specific/linux/kernel-headers/3.7.nix @@ -3,22 +3,25 @@ assert cross == null -> stdenv.isLinux; let - version = "3.3.5"; - kernelHeadersBaseConfig = if cross == null then - stdenv.platform.kernelHeadersBaseConfig - else - cross.platform.kernelHeadersBaseConfig; + + version = "3.7.1"; + + kernelHeadersBaseConfig = + if cross == null + then stdenv.platform.kernelHeadersBaseConfig + else cross.platform.kernelHeadersBaseConfig; + in stdenv.mkDerivation { name = "linux-headers-${version}"; src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0i74jn47f6vs5kcvk8abvz3k08z32c9bbqw0sdjkdxwvr4jbczpv"; + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2"; + sha256 = "1bb1dxj1i6j7pj926kfy6pz58kw03swyyikl9f3fq3jnswispaj2"; }; - targetConfig = if (cross != null) then cross.config else null; + targetConfig = if cross != null then cross.config else null; platform = if cross != null then cross.platform.kernelArch else @@ -33,15 +36,15 @@ stdenv.mkDerivation { extraIncludeDirs = if cross != null then - (if cross.arch == "powerpc" then ["ppc"] else []) + (if cross.arch == "powerpc" then ["ppc"] else []) else if stdenv.system == "powerpc-linux" then ["ppc"] else []; buildPhase = '' if test -n "$targetConfig"; then export ARCH=$platform fi - make ${kernelHeadersBaseConfig} - make mrproper headers_check + make ${kernelHeadersBaseConfig} SHELL=bash + make mrproper headers_check SHELL=bash ''; installPhase = '' diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix deleted file mode 100644 index 3fb5ef8ef2d..00000000000 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ stdenv, fetchurl, perl, cross ? null }: - -assert cross == null -> stdenv.isLinux; - -let - version = "2.6.35.14"; - kernelHeadersBaseConfig = if cross == null then - stdenv.platform.kernelHeadersBaseConfig - else - cross.platform.kernelHeadersBaseConfig; -in - -stdenv.mkDerivation { - name = "linux-headers-${version}"; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.35/linux-${version}.tar.bz2"; - sha256 = "1wzml7s9karfbk2yi36g1r8fyaq4d4f16yizc68zgchv0xzj39zl"; - }; - - targetConfig = if (cross != null) then cross.config else null; - - platform = - if cross != null then cross.platform.kernelArch else - if stdenv.system == "i686-linux" then "i386" else - if stdenv.system == "x86_64-linux" then "x86_64" else - if stdenv.system == "powerpc-linux" then "powerpc" else - if stdenv.isArm then "arm" else - if stdenv.platform ? kernelArch then stdenv.platform.kernelArch else - abort "don't know what the kernel include directory is called for this platform"; - - buildInputs = [perl]; - - extraIncludeDirs = - if cross != null then - (if cross.arch == "powerpc" then ["ppc"] else []) - else if stdenv.system == "powerpc-linux" then ["ppc"] else []; - - buildPhase = '' - if test -n "$targetConfig"; then - export ARCH=$platform - fi - make ${kernelHeadersBaseConfig} - make mrproper headers_check - ''; - - installPhase = '' - make INSTALL_HDR_PATH=$out headers_install - - # Some builds (e.g. KVM) want a kernel.release. - mkdir -p $out/include/config - echo "${version}-default" > $out/include/config/kernel.release - ''; - - # !!! hacky - fixupPhase = '' - ln -s asm $out/include/asm-$platform - if test "$platform" = "i386" -o "$platform" = "x86_64"; then - ln -s asm $out/include/asm-x86 - fi - ''; -} diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh index 4c095bf8bbc..14d8108ba16 100644 --- a/pkgs/os-specific/linux/kernel/builder.sh +++ b/pkgs/os-specific/linux/kernel/builder.sh @@ -140,6 +140,10 @@ installPhase() { (cd arch/$archDir/include && cp -a asm/* $includeDir/asm/ || true) (cd arch/$archDir/include && cp -a generated/asm/* $includeDir/asm/ || true) (cd arch/$archDir/include/asm/mach-generic && cp -a * $includeDir/ || true) + # include files for special arm architectures + if [ "$archDir" == "arm" ]; then + cp -a --parents arch/arm/mach-*/include $out/lib/modules/$version/build + fi fi fi diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 9e8ee74acb1..eecf52b1ddf 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -27,9 +27,6 @@ # optionally be compressed with gzip or bzip2. kernelPatches ? [] -, # Whether to build a User-Mode Linux kernel. - userModeLinux ? false - , # Allows you to set your own kernel version suffix (e.g., # "-my-kernel"). localVersion ? "" @@ -63,7 +60,7 @@ let in stdenv.mkDerivation { - name = if userModeLinux then "user-mode-linux-${version}" else "linux-${version}"; + name = "linux-${version}"; enableParallelBuilding = true; @@ -84,9 +81,9 @@ stdenv.mkDerivation { kernelConfig = kernelConfigFun config; # For UML and non-PC, just ignore all options that don't apply (We are lazy). - ignoreConfigErrors = (userModeLinux || stdenv.platform.name != "pc"); + ignoreConfigErrors = stdenv.platform.name != "pc"; - buildNativeInputs = [ perl mktemp ]; + nativeBuildInputs = [ perl mktemp ]; buildInputs = lib.optional (stdenv.platform.uboot != null) (ubootChooser stdenv.platform.uboot); @@ -98,7 +95,6 @@ stdenv.mkDerivation { # Should we trust platform.kernelArch? We can only do # that once we differentiate i686/x86_64 in platforms. arch = - if userModeLinux then "um" else if stdenv.system == "i686-linux" then "i386" else if stdenv.system == "x86_64-linux" then "x86_64" else if stdenv.isArm then "arm" else @@ -123,16 +119,13 @@ stdenv.mkDerivation { # The substitution of crossAttrs happens *after* the stdenv cross adapter sets # the parameters for the usual stdenv. Thus, we need to specify - # the ".hostDrv" in the buildInputs here. - buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot).hostDrv; + # the ".crossDrv" in the buildInputs here. + buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv; }; meta = { description = - (if userModeLinux then - "User-Mode Linux" - else - "The Linux kernel") + + "The Linux kernel" + (if kernelPatches == [] then "" else " (with patches: " + lib.concatStrings (lib.intersperse ", " (map (x: x.name) kernelPatches)) @@ -141,6 +134,7 @@ stdenv.mkDerivation { homepage = http://www.kernel.org/; maintainers = [ lib.maintainers.eelco + lib.maintainers.shlevy lib.maintainers.chaoflow ]; platforms = lib.platforms.linux; diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.32-xen.nix b/pkgs/os-specific/linux/kernel/linux-2.6.32-xen.nix deleted file mode 100644 index 20e14ccf5e2..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-2.6.32-xen.nix +++ /dev/null @@ -1,222 +0,0 @@ -{ stdenv, fetchurl, extraConfig ? "", ... } @ args: - -let - configWithPlatform = kernelPlatform: - '' - # Don't include any debug features. - DEBUG_KERNEL n - - # Support drivers that need external firmware. - STANDALONE n - - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - NUMA? n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI y - MTD_COMPLEX_MAPPINGS y # needed for many devices - NET_POCKET y # enable pocket and portable adapters - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR y # support promiscuous mode - IWLWIFI_LEDS? y - IWLWIFI_SPECTRUM_MEASUREMENT y - IWL3945_SPECTRUM_MEASUREMENT y - IWL4965 y # Intel Wireless WiFi 4965AGN - IWL5000 y # Intel Wireless WiFi 5000AGN - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # The intel drivers already require KMS - DRM_I915_KMS y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - OCFS2_FS_POSIX_ACL y - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - CIFS_XATTR y - CIFS_POSIX y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - B43_PCMCIA y - BLK_DEV_BSG n - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_RFCOMM_TTY y # RFCOMM TTY support - CPU_FREQ_DEBUG n - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS y # we use udev - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - KALLSYMS_EXTRA_PASS n - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PCI_LEGACY y - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - - # Enable Xen Dom0 support. - XEN_DOM0 y - XEN_PCI_PASSTHROUGH y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "2.6.32.24-xen-179eca5"; - localVersion = "-xen-179eca5"; - - src = fetchurl { - url = "http://nixos.org/tarballs/linux-${version}.tar.bz2"; - sha256 = "09a7xh4hvw0hzq67dqdxn8p4rkd907937xvshx30rg4ab6717scf"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - - meta.description = "Linux kernel suitable for Xen Domain 0"; - } - - // removeAttrs args ["extraConfig"] -) diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix index a7cb499a993..57b16c791cf 100644 --- a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix +++ b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix @@ -198,11 +198,11 @@ in import ./generic.nix ( rec { - version = "2.6.32.57"; - + version = "2.6.32.60"; + src = fetchurl { url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.32/linux-${version}.tar.bz2"; - sha256 = "1pbwjdignv5qdzpiv3ijs5g95l86ss7jrslak12jfxly13lanzzh"; + sha256 = "0iyg5z76g8wnh73aq6p6j4xb3043skpa14fb3dwgbpdpx710x5nf"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix index e2ed7fc8c5d..b7ccdde367c 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.0.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix @@ -1,4 +1,4 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" +args @ { stdenv, fetchurl, extraConfig ? "" , perl, mktemp, module_init_tools , ... }: @@ -230,15 +230,15 @@ in import ./generic.nix ( rec { - version = "3.0.31"; - + version = "3.0.65"; + preConfigure = '' substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" ''; src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2"; - sha256 = "1b5ix1fc55m6vsr28dh5xi89fphl3m3kmvaniq9div5rj8f6kv0f"; + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1vmk0bmg0djwbh9scrhpyljan01ygkwn4q0j1ydn8snag7sn4x8y"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/linux-3.1.nix b/pkgs/os-specific/linux/kernel/linux-3.1.nix deleted file mode 100644 index 76e2942c6a3..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-3.1.nix +++ /dev/null @@ -1,251 +0,0 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" -, perl, mktemp, module_init_tools -, ... }: - -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - USB_SUSPEND y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n - - # Support drivers that need external firmware. - STANDALONE n - - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - NUMA? n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI y - MTD_COMPLEX_MAPPINGS y # needed for many devices - NET_POCKET y # enable pocket and portable adapters - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - CIFS_XATTR y - CIFS_POSIX y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_L2CAP y - BT_SCO y # audio support - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS y # we use udev - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - CGROUP_MEM_RES_CTLR? y - CGROUP_MEM_RES_CTLR_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Devtmpfs support. - DEVTMPFS y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.1.10"; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2"; - sha256 = "1vcpbh7wnc9smw2l5ci27a5p0rgmc1a5dc6a1aljm6f6wcfic8lz"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - } - - // removeAttrs args ["extraConfig"] -) diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index bea68decf64..afa62fe7798 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -1,4 +1,4 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" +args @ { stdenv, fetchurl, extraConfig ? "" , perl, mktemp, module_init_tools , ... }: @@ -146,8 +146,10 @@ let NFSD_V3 y NFSD_V3_ACL y NFSD_V4 y + NFS_FSCACHE y CIFS_XATTR y CIFS_POSIX y + CIFS_FSCACHE y # Security related features. STRICT_DEVMEM y # Filter access to /dev/mem @@ -237,7 +239,7 @@ in import ./generic.nix ( rec { - version = "3.2.28"; + version = "3.2.38"; testing = false; modDirVersion = version; @@ -248,7 +250,7 @@ import ./generic.nix ( src = fetchurl { url = "mirror://kernel/linux/kernel/v3.0/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "0v4mbqf0mgnshhkq3symlliaz1jwa7vx7195r3qls390plc9g0nl"; + sha256 = "10hm4cy56xjl5ckv3jj3grw31qfhwrgia0wq71c34dw0mv3bix8w"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/linux-3.3.nix b/pkgs/os-specific/linux/kernel/linux-3.3.nix deleted file mode 100644 index c56df955b79..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-3.3.nix +++ /dev/null @@ -1,259 +0,0 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" -, perl, mktemp, module_init_tools -, ... }: - -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - USB_SUSPEND y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT? n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n - - # Support drivers that need external firmware. - STANDALONE n - - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Enable NUMA. - NUMA? y - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI? y - MTD_COMPLEX_MAPPINGS y # needed for many devices - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - CIFS_XATTR y - CIFS_POSIX y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS y # we use udev - EFI_STUB y # EFI bootloader in the bzImage itself - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - CGROUP_MEM_RES_CTLR? y - CGROUP_MEM_RES_CTLR_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Tracing - FTRACE y - FUNCTION_TRACER y - FTRACE_SYSCALLS y - SCHED_TRACER y - - # Devtmpfs support. - DEVTMPFS y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.3.8"; - testing = false; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "0bgppngf711mlxp0jcsnv5xc0xxc8vs5rzc1czkv2igrfb1kvrnz"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - features.efiBootStub = true; - } - - // removeAttrs args ["extraConfig"] -) diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index 7d421af4917..0e032935900 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,4 +1,4 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" +args @ { stdenv, fetchurl, extraConfig ? "" , perl, mktemp, module_init_tools , ... }: @@ -148,8 +148,10 @@ let NFSD_V3 y NFSD_V3_ACL y NFSD_V4 y + NFS_FSCACHE y CIFS_XATTR y CIFS_POSIX y + CIFS_FSCACHE y # Security related features. STRICT_DEVMEM y # Filter access to /dev/mem @@ -231,6 +233,9 @@ let # Devtmpfs support. DEVTMPFS y + # Easier debug of NFS issues + SUNRPC_DEBUG y + ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} ${extraConfig} ''; @@ -239,7 +244,7 @@ in import ./generic.nix ( rec { - version = "3.4.9"; + version = "3.4.32"; testing = false; preConfigure = '' @@ -248,7 +253,7 @@ import ./generic.nix ( src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "02rnzpnfs7hfsglrgwr1450ssj47da1w079rmvzh1k0apy7qdpzm"; + sha256 = "0z218ibz36lpdyjjch94jx12fcghj376x3fkmgxmwdjaz7zngn4i"; }; config = configWithPlatform stdenv.platform; @@ -256,6 +261,8 @@ import ./generic.nix ( features.iwlwifi = true; features.efiBootStub = true; + features.needsCifsUtils = true; + features.netfilterRPFilter = true; } // removeAttrs args ["extraConfig"] diff --git a/pkgs/os-specific/linux/kernel/linux-3.5.nix b/pkgs/os-specific/linux/kernel/linux-3.7.nix similarity index 92% rename from pkgs/os-specific/linux/kernel/linux-3.5.nix rename to pkgs/os-specific/linux/kernel/linux-3.7.nix index 8e347595f22..9c96c2a8fd2 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.5.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.7.nix @@ -1,4 +1,4 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" +args @ { stdenv, fetchurl, extraConfig ? "" , perl, mktemp, module_init_tools , ... }: @@ -71,7 +71,7 @@ let # Wireless networking. IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR y # support promiscuous mode + IPW2200_MONITOR? y # support promiscuous mode HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver HOSTAP_FIRMWARE_NVRAM y ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus @@ -148,8 +148,10 @@ let NFSD_V3 y NFSD_V3_ACL y NFSD_V4 y + NFS_FSCACHE y CIFS_XATTR y CIFS_POSIX y + CIFS_FSCACHE y # Security related features. STRICT_DEVMEM y # Filter access to /dev/mem @@ -173,7 +175,7 @@ let BT_RFCOMM_TTY y # RFCOMM TTY support CRASH_DUMP n DMAR? n # experimental - DVB_DYNAMIC_MINORS y # we use udev + DVB_DYNAMIC_MINORS? y # we use udev EFI_STUB y # EFI bootloader in the bzImage itself FUSION y # Fusion MPT device support IDE_GD_ATAPI y # ATAPI floppy support @@ -186,7 +188,7 @@ let LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback LOGO n # not needed - MEDIA_ATTACH y + MEDIA_ATTACH? y MEGARAID_NEWGEN y MICROCODE_AMD y MODVERSIONS y @@ -232,6 +234,14 @@ let # Devtmpfs support. DEVTMPFS y + # Media support + MEDIA_CAMERA_SUPPORT? y + MEDIA_RC_SUPPORT? y + MEDIA_USB_SUPPORT y + + # Easier debug of NFS issues + SUNRPC_DEBUG y + ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} ${extraConfig} ''; @@ -240,7 +250,7 @@ in import ./generic.nix ( rec { - version = "3.5.2"; + version = "3.7.9"; testing = false; preConfigure = '' @@ -249,7 +259,7 @@ import ./generic.nix ( src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "13dzx7gqm0n7s73bq87ibhmydrfsngyps9sczkcy1sh56rrkv0x6"; + sha256 = "1d9834flw0jyfn0lq1l0ahp8v12p227qn6z39v1pk53dap1zl0v1"; }; config = configWithPlatform stdenv.platform; @@ -257,6 +267,9 @@ import ./generic.nix ( features.iwlwifi = true; features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; } // removeAttrs args ["extraConfig"] diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix new file mode 100644 index 00000000000..b425f2792b4 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix @@ -0,0 +1,42 @@ +args @ { + stdenv, fetchurl, extraConfig ? "" , perl, mktemp, module_init_tools, ... +}: + +let + configWithPlatform = kernelPlatform : + '' + ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} + ${extraConfig} + ''; + + rev = "91a3be5b2b"; +in + +import ./generic.nix ( + + rec { + version = "3.6.y-${rev}"; + testing = false; + + preConfigure = '' + substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" + ''; + + src = fetchurl { + url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}"; + name = "linux-raspberrypi-${version}.tar.gz"; + sha256 = "04370b1da7610622372940decdc13ddbba2a58c9da3c3bd3e7df930a399f140d"; + }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform stdenv.cross.platform; + + features.iwlwifi = true; + #features.efiBootStub = true; + #features.needsCifsUtils = true; + #features.canDisableNetfilterConntrackHelpers = true; + #features.netfilterRPFilter = true; + } + + // removeAttrs args ["extraConfig"] +) diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 52e284827d0..5d84dee0a28 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -8,16 +8,13 @@ let readConfig = configFile: let configAttrs = import "${runCommand "config.nix" {} '' - (. ${configFile} - echo "{" - for var in `set`; do - if [[ "$var" =~ ^CONFIG_ ]]; then - IFS="=" - set -- $var - echo "\"$1\" = \"''${*:2}\";" - fi - done - echo "}") > $out + echo "{" > "$out" + while IFS='=' read key val; do + [ "x''${key#CONFIG_}" != "x$key" ] || continue + no_firstquote="''${val#\"}"; + echo ' "'"$key"'" = "'"''${no_firstquote%\"}"'";' >> "$out" + done < "${configFile}" + echo "}" >> $out ''}"; config = configAttrs // rec { @@ -125,7 +122,7 @@ stdenv.mkDerivation { runHook postConfigure ''; - buildNativeInputs = [ perl nettools ]; + nativeBuildInputs = [ perl nettools ]; makeFlags = commonMakeFlags ++ [ "INSTALLKERNEL=${installkernel stdenv.platform.kernelTarget}" diff --git a/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch b/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch new file mode 100644 index 00000000000..fcb6f9177c7 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch @@ -0,0 +1,17 @@ +Dirty patch that makes ext3 work again on 3.5 and 3.6 kernels, +on mips n32. + +http://www.linux-mips.org/archives/linux-mips/2012-11/msg00030.html + +diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c +index 92490e9..bf63d7b 100644 +--- a/fs/ext3/dir.c ++++ b/fs/ext3/dir.c +@@ -228,6 +228,7 @@ out: + + static inline int is_32bit_api(void) + { ++ return 1; + #ifdef CONFIG_COMPAT + return is_compat_task(); + #else diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 7aa365a67de..5288050d70d 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -107,27 +107,13 @@ rec { aufs3_0 = rec { name = "aufs3.0"; - version = "3.0"; - utilRev = "cabe3601001ab3838215116c32715c9de9412e62"; - utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f"; + version = "3.0.20121210"; + utilRev = "91af15f977d12e02165759620005f6ce1a4d7602"; + utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996"; patch = makeAufs3StandalonePatch { inherit version; - rev = "517b27621cdfb793959acac849dae9888338526a"; - sha256 = "8085200ac78d0c1e082d4c721a09f4a4c1d96ae86e307075836d09c3e7d502df"; - }; - features.aufsBase = true; - features.aufs3 = true; - }; - - aufs3_1 = rec { - name = "aufs3.1"; - version = "3.1"; - utilRev = "cabe3601001ab3838215116c32715c9de9412e62"; - utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f"; - patch = makeAufs3StandalonePatch { - inherit version; - rev = "7386b57432ec5e73632a5375804239b02b6c00f0"; - sha256 = "af4e9ad890e1b72d14170c97d8ead53291f09e275db600932724e6181530be2d"; + rev = "0627c706d69778f5c74be982f28c746153b8cdf7"; + sha256 = "7008ff64f5adc2b3a30fcbb090bcbfaac61b778af38493b6144fc7d768a6514d"; }; features.aufsBase = true; features.aufs3 = true; @@ -135,27 +121,13 @@ rec { aufs3_2 = rec { name = "aufs3.2"; - version = "3.2"; - utilRev = "a953b0218667e06b722f4c41df29edacd8dc8e1f"; - utilHash = "28ac4c1a07b2c30fb61a6facc9cedcf67b14f303baedf1b121aeb6293ea49eb4"; - patch = makeAufs3StandalonePatch { - inherit version; - rev = "9c4bbeb58f0ecc235ea820ae320efa2c0006e033"; - sha256 = "5363a7f5fbadaef9457e743a5781f2525332c4bbb91693ca2596ab2d8f7860ea"; - }; - features.aufsBase = true; - features.aufs3 = true; - }; - - aufs3_3 = rec { - name = "aufs3.3"; - version = "3.3.20120730"; + version = "3.2.20121210"; utilRev = "91af15f977d12e02165759620005f6ce1a4d7602"; utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996"; patch = makeAufs3StandalonePatch { inherit version; - rev = "ff0c9f1c002ef564d7bd52dd56a9b72f4ee7ce0c"; - sha256 = "cfa1a06669c984e1b8755da649aac40152e8018ee87939c5f0825100e45e196e"; + rev = "0bf50c3b82f98e2ddc4c9ba0657f28ebfa8d15cb"; + sha256 = "bc4b65cb77c62744db251da98488fdf4962f14a144c045cea6cbbbd42718ff89"; }; features.aufsBase = true; features.aufs3 = true; @@ -163,27 +135,28 @@ rec { aufs3_4 = rec { name = "aufs3.4"; - version = "3.4.20120730"; + version = "3.4.20121210"; utilRev = "91af15f977d12e02165759620005f6ce1a4d7602"; utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996"; patch = makeAufs3StandalonePatch { inherit version; - rev = "8d7338df43d5e5372424813679c7531cf96ec260"; - sha256 = "37880124df88791d51089277230df0816fc5545c9752be3fa5173385489362c6"; + rev = "2faacd9baffb37df3b9062cc554353eebe68df1e"; + sha256 = "3ecf97468f5e85970d9fd2bfc61e38c7f5ae2c6dde0045d5a17de085c411d452"; }; features.aufsBase = true; features.aufs3 = true; }; - aufs3_5 = rec { - name = "aufs3.5"; - version = "3.5.20120813"; + # not officially released yet, but 3.x seems to work fine + aufs3_7 = rec { + name = "aufs3.7"; + version = "3.x.20121210"; utilRev = "91af15f977d12e02165759620005f6ce1a4d7602"; utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996"; patch = makeAufs3StandalonePatch { inherit version; - rev = "85b5f7059bc8a1759989408a13fc56f92e0d6d31"; - sha256 = "2be13407a2291c7e69658f10a6fb7672751c906a27ac700a2e5e05dbada97cc5"; + rev = "8d24d728c7eb54dd624bccd8e87afa826670142c"; + sha256 = "02dcb46e02b2a6b90c1601b5747614276074488c9308625c3a52ab74cad997a5"; }; features.aufsBase = true; features.aufs3 = true; @@ -226,11 +199,6 @@ rec { patch = ./dell-rfkill.patch; }; - perf3_5 = - { name = "perf-3.5"; - patch = ./perf-3.5.patch; - }; - sheevaplug_modules_2_6_35 = { name = "sheevaplug_modules-2.6.35"; patch = ./sheevaplug_modules-2.6.35.patch; @@ -246,6 +214,11 @@ rec { patch = ./mips-fpu-sigill.patch; }; + mips_ext3_n32 = + { name = "mips-ext3-n32"; + patch = ./mips-ext3-n32.patch; + }; + guruplug_defconfig = { # Default configuration for the GuruPlug. From # . diff --git a/pkgs/os-specific/linux/kernel/perf-3.5.patch b/pkgs/os-specific/linux/kernel/perf-3.5.patch deleted file mode 100644 index 6d62a1db80e..00000000000 --- a/pkgs/os-specific/linux/kernel/perf-3.5.patch +++ /dev/null @@ -1,17 +0,0 @@ -http://permalink.gmane.org/gmane.linux.kernel.perf.user/960 - -Fix to build perf. - -diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c -index 9f6cebd..d5491f1 100644 ---- a/tools/perf/util/evsel.c -+++ b/tools/perf/util/evsel.c -@@ -15,7 +15,7 @@ - #include "cpumap.h" - #include "thread_map.h" - #include "target.h" --#include "../../include/linux/perf_event.h" -+#include "../../../include/linux/perf_event.h" - - #define FD(e, x, y) (*(int *)xyarray__entry(e->fd, x, y)) - #define GROUP_FD(group_fd, cpu) (*(int *)xyarray__entry(group_fd, cpu, 0)) diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 01d989e75b1..8f2db1b15bd 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { ''; # perf refers both to newt and slang - buildNativeInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt flex bison ]; + nativeBuildInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt flex bison ]; buildInputs = [ elfutils python perl newt slang pkgconfig] ++ stdenv.lib.optional withGtk gtk; @@ -27,9 +27,9 @@ stdenv.mkDerivation { crossAttrs = { /* I don't want cross-python or cross-perl - I don't know if cross-python even works */ - propagatedBuildInputs = [ elfutils.hostDrv newt.hostDrv ]; + propagatedBuildInputs = [ elfutils.crossDrv newt.crossDrv ]; makeFlags = "CROSS_COMPILE=${stdenv.cross.config}-"; - elfutils = elfutils.hostDrv; + elfutils = elfutils.crossDrv; }; meta = { diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 781bb67edca..42fd6097da0 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -70,5 +70,5 @@ stdenv.mkDerivation { cp usr/dash/sh $dir/ ''; - buildNativeInputs = [ perl bison mktemp ]; + nativeBuildInputs = [ perl bison mktemp ]; } diff --git a/pkgs/os-specific/linux/kudzu/builder.sh b/pkgs/os-specific/linux/kudzu/builder.sh deleted file mode 100644 index 002bac8a1db..00000000000 --- a/pkgs/os-specific/linux/kudzu/builder.sh +++ /dev/null @@ -1,13 +0,0 @@ -source $stdenv/setup - -export DESTDIR=$out - -preInstall() { - mkdir -p $out - mkdir -p $out/etc - mkdir -p $out/sbin - mkdir -p $out/usr - make install-program -} - -genericBuild diff --git a/pkgs/os-specific/linux/kudzu/default.nix b/pkgs/os-specific/linux/kudzu/default.nix deleted file mode 100644 index 5cc8161bd94..00000000000 --- a/pkgs/os-specific/linux/kudzu/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, pciutils, python, popt, gettext}: - -stdenv.mkDerivation { - name = "kudzu-1.2.16"; - builder = ./builder.sh; - src = fetchurl { - url = http://losser.labs.cs.uu.nl/~armijn/.nix/kudzu-1.2.16.tar.gz; - md5 = "5fc786dd558064fd9c9cb3e5be10e799"; - }; - buildInputs = [pciutils python popt gettext]; - inherit python; - patches = [./kudzu-python.patch]; -} diff --git a/pkgs/os-specific/linux/kudzu/kudzu-python.patch b/pkgs/os-specific/linux/kudzu/kudzu-python.patch deleted file mode 100644 index 553d998f517..00000000000 --- a/pkgs/os-specific/linux/kudzu/kudzu-python.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ruN kudzu-1.2.16/Makefile kudzu-1.2.16.new/Makefile ---- kudzu-1.2.16/Makefile 2005-10-28 21:57:55.000000000 +0200 -+++ kudzu-1.2.16.new/Makefile 2005-12-23 19:55:12.000000000 +0100 -@@ -17,7 +17,7 @@ - - CVSTAG = kudzu-r$(subst .,-,$(VERSION)) - --PYTHONVERS = $(shell ls /usr/include/python*/Python.h | sed "s|/usr/include/||g"| sed "s|/Python.h||g") -+PYTHONVERS = $(shell ls $(python)/include/python*/Python.h | sed "s|$(python)/include/||g"| sed "s|/Python.h||g") - - CFLAGS += -I. -DVERSION=\"$(VERSION)\" - -@@ -84,7 +84,7 @@ - for ver in $(PYTHONVERS) ; do \ - if [ ! -f "$$ver/_kudzumodule.so" -o libkudzu.a -nt "$$ver/_kudzumodule.so" ]; then \ - mkdir -p $$ver ;\ -- $(CC) $(CFLAGS) -I/usr/include/$$ver -fpic -c -o $$ver/kudzumodule.o kudzumodule.c ;\ -+ $(CC) $(CFLAGS) -I$(python)/include/$$ver -fpic -c -o $$ver/kudzumodule.o kudzumodule.c ;\ - $(CC) -o $$ver/_kudzumodule.so $$ver/kudzumodule.o -shared -Wl,-soname,_kudzumodule.so -L. -lkudzu -lpci ;\ - fi ; \ - done diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix index 667fe63bba7..92f15c1ade3 100644 --- a/pkgs/os-specific/linux/libcap/default.nix +++ b/pkgs/os-specific/linux/libcap/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "03q50j6bg65cc501q87qh328ncav1i8qw2bjig99vxmmfx4bvsvk"; }; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; propagatedBuildInputs = [ attr ]; preConfigure = "cd libcap"; diff --git a/pkgs/os-specific/linux/libcgroup/default.nix b/pkgs/os-specific/linux/libcgroup/default.nix index 0246f6729b1..6323d8c4f23 100644 --- a/pkgs/os-specific/linux/libcgroup/default.nix +++ b/pkgs/os-specific/linux/libcgroup/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { buildInputs = [ pam ]; - buildNativeInputs = [ yacc flex ]; + nativeBuildInputs = [ yacc flex ]; meta = { description = "Library and tools to manage Linux's cgroup resource management system"; diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix index 35f05e9d009..6fe31c63178 100644 --- a/pkgs/os-specific/linux/libnl/default.nix +++ b/pkgs/os-specific/linux/libnl/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, bison, flex}: stdenv.mkDerivation rec { - name = "libnl-3.0"; + name = "libnl-3.2.13"; src = fetchurl { url = "${meta.homepage}files/${name}.tar.gz"; - sha256 = "1vac10m3w0m5lsypjcrhs2dzwng82nkbzqz8g8kyzkxb3qz5ql3s"; + sha256 = "1ydw42lsd572qwrfgws97n76hyvjdpanwrxm03lysnhfxkna1ssd"; }; buildInputs = [ bison flex ]; diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-flags.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-flags.patch deleted file mode 100644 index bb09b362660..00000000000 --- a/pkgs/os-specific/linux/libnl/libnl-1.1-flags.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libnl-1.1/lib/Makefile.orig 2008-01-14 16:48:45.000000000 +0100 -+++ libnl-1.1/lib/Makefile 2009-05-26 09:47:42.000000000 +0200 -@@ -48,7 +48,7 @@ - - $(OUT_SLIB): ../Makefile.opts $(OBJ) - @echo " LD $(OUT_SLIB)"; \ -- $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc -+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc - @echo " LN $(OUT_SLIB) $(LN1_SLIB)"; \ - rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB) - @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \ diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch deleted file mode 100644 index 79dd039a338..00000000000 --- a/pkgs/os-specific/linux/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch +++ /dev/null @@ -1,13 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=225393 - ---- libnl-1.1/include/netlink-local.h 2008-06-09 07:54:20 +0000 -+++ libnl-1.1/include/netlink-local.h 2008-06-09 07:54:47 +0000 -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include - #include - diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-minor-leaks.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-minor-leaks.patch deleted file mode 100644 index 855a6ab3912..00000000000 --- a/pkgs/os-specific/linux/libnl/libnl-1.1-minor-leaks.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Patrick McHardy -Date: Fri, 18 Jan 2008 16:55:49 +0000 (+0100) -Subject: [LIBNL]: Fix minor memleaks on exit -X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=b64f15d6f947839236fa276d473d238f8c9b9d57;hp=e91bb2ffb090955d443e643a25b250bf3d33534a - -[LIBNL]: Fix minor memleaks on exit - -Make valgrind happy ... - -Signed-off-by: Patrick McHardy ---- - -diff --git a/lib/route/route_utils.c b/lib/route/route_utils.c -index a12d169..1386cda 100644 ---- a/lib/route/route_utils.c -+++ b/lib/route/route_utils.c -@@ -63,6 +63,11 @@ static void __init init_routing_table_names(void) - add_routing_table_name(RT_TABLE_LOCAL, "local"); - }; - -+static void __exit release_routing_table_names(void) -+{ -+ __trans_list_clear(&table_names); -+} -+ - int rtnl_route_read_table_names(const char *path) - { - __trans_list_clear(&table_names); -@@ -104,6 +109,11 @@ static void __init init_proto_names(void) - add_proto_name(RTPROT_STATIC, "static"); - }; - -+static void __exit release_proto_names(void) -+{ -+ __trans_list_clear(&proto_names); -+} -+ - int rtnl_route_read_protocol_names(const char *path) - { - __trans_list_clear(&proto_names); diff --git a/pkgs/os-specific/linux/libnl/libnl-1.1-vlan-header.patch b/pkgs/os-specific/linux/libnl/libnl-1.1-vlan-header.patch deleted file mode 100644 index c4c2fc6382d..00000000000 --- a/pkgs/os-specific/linux/libnl/libnl-1.1-vlan-header.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: Patrick McHardy -Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100) -Subject: [LIBNL]: Add if_vlan.h -X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958 - -[LIBNL]: Add if_vlan.h - -vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in -older if_vlan.h versions. Add the current version from the kernel. - -Signed-off-by: Patrick McHardy ---- - -diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h -new file mode 100644 -index 0000000..068cd7b ---- /dev/null -+++ include/linux/if_vlan.h -@@ -0,0 +1,61 @@ -+/* -+ * VLAN An implementation of 802.1Q VLAN tagging. -+ * -+ * Authors: Ben Greear -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it 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. -+ * -+ */ -+ -+#ifndef _LINUX_IF_VLAN_H_ -+#define _LINUX_IF_VLAN_H_ -+ -+ -+/* VLAN IOCTLs are found in sockios.h */ -+ -+/* Passed in vlan_ioctl_args structure to determine behaviour. */ -+enum vlan_ioctl_cmds { -+ ADD_VLAN_CMD, -+ DEL_VLAN_CMD, -+ SET_VLAN_INGRESS_PRIORITY_CMD, -+ SET_VLAN_EGRESS_PRIORITY_CMD, -+ GET_VLAN_INGRESS_PRIORITY_CMD, -+ GET_VLAN_EGRESS_PRIORITY_CMD, -+ SET_VLAN_NAME_TYPE_CMD, -+ SET_VLAN_FLAG_CMD, -+ GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */ -+ GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */ -+}; -+ -+enum vlan_flags { -+ VLAN_FLAG_REORDER_HDR = 0x1, -+}; -+ -+enum vlan_name_types { -+ VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */ -+ VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */ -+ VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */ -+ VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */ -+ VLAN_NAME_TYPE_HIGHEST -+}; -+ -+struct vlan_ioctl_args { -+ int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */ -+ char device1[24]; -+ -+ union { -+ char device2[24]; -+ int VID; -+ unsigned int skb_priority; -+ unsigned int name_type; -+ unsigned int bind_type; -+ unsigned int flag; /* Matches vlan_dev_info flags */ -+ } u; -+ -+ short vlan_qos; -+}; -+ -+#endif /* !(_LINUX_IF_VLAN_H_) */ diff --git a/pkgs/os-specific/linux/libnl/v1.nix b/pkgs/os-specific/linux/libnl/v1.nix deleted file mode 100644 index f3f7f3fa732..00000000000 --- a/pkgs/os-specific/linux/libnl/v1.nix +++ /dev/null @@ -1,27 +0,0 @@ -{stdenv, fetchurl, bison, flex}: - -stdenv.mkDerivation rec { - name = "libnl-1.1"; - - src = fetchurl { - url = "${meta.homepage}files/${name}.tar.gz"; - sha256 = "1hzd48z8h8abkclq90wb7cciynpg3pwgyd0gzb5g12ndnv7s9kim"; - }; - - buildInputs = [ bison flex ]; - postConfigure = "type -tp flex"; - - patches = [ - ./libnl-1.1-flags.patch - ./libnl-1.1-glibc-2.8-ULONG_MAX.patch - ./libnl-1.1-minor-leaks.patch - ./libnl-1.1-vlan-header.patch - ]; - - meta = { - homepage = "http://www.infradead.org/~tgr/libnl/"; - description = "Linux NetLink interface library"; - maintainers = [ stdenv.lib.maintainers.urkud ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/libnl/v2.nix b/pkgs/os-specific/linux/libnl/v2.nix deleted file mode 100644 index cb5c022c3d4..00000000000 --- a/pkgs/os-specific/linux/libnl/v2.nix +++ /dev/null @@ -1,19 +0,0 @@ -{stdenv, fetchurl, bison, flex}: - -stdenv.mkDerivation rec { - name = "libnl-2.0"; - - src = fetchurl { - url = "${meta.homepage}files/${name}.tar.gz"; - sha256 = "173sr25xpsakdvjcg62790v6kwcgxj5r0js2lx6hg89w7n8dqh2s"; - }; - - buildInputs = [ bison flex ]; - - meta = { - homepage = "http://www.infradead.org/~tgr/libnl/"; - description = "Linux NetLink interface library"; - maintainers = [ stdenv.lib.maintainers.urkud ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/lvm2/assume-uevent-generated.patch b/pkgs/os-specific/linux/lvm2/assume-uevent-generated.patch new file mode 100644 index 00000000000..4098d042fd5 --- /dev/null +++ b/pkgs/os-specific/linux/lvm2/assume-uevent-generated.patch @@ -0,0 +1,39 @@ +Work around LVM/cryptsetup errors like: + + semid 32768: semop failed for cookie 0xd4d41f4: incorrect semaphore state + Failed to set a proper state for notification semaphore identified by cookie value 223166964 (0xd4d41f4) to initialize waiting for incoming notifications. + +and (when running "cryptsetup --debug"): + + Uevent not generated! Calling udev_complete internally to avoid process lock-up. + +Here for some reason libdm *thinks* that the uevent hasn't been +emitted, so it calls udev_complete. But the uevent actually *has* +been emitted, so udev calls ‘dmsetup udevcomplete’ as well, leading to +a race. + +This is probably a reoccurence of the problem described here: + + http://www.redhat.com/archives/dm-devel/2011-August/msg00075.html + http://www.redhat.com/archives/linux-lvm/2011-September/msg00023.html + +which was fixed in the kernel, so it's not clear why it's surfacing +again. Maybe netlink_broadcast_filtered() has started returning some +other bogus error code. + +diff -ru -x '*~' LVM2.2.02.98/libdm/ioctl/libdm-iface.c LVM2.2.02.98-new/libdm/ioctl/libdm-iface.c +--- LVM2.2.02.98/libdm/ioctl/libdm-iface.c 2012-10-15 10:24:58.000000000 -0400 ++++ LVM2.2.02.98-new/libdm/ioctl/libdm-iface.c 2012-10-15 14:19:06.774363736 -0400 +@@ -1754,9 +1754,12 @@ + + if (ioctl_with_uevent && dm_udev_get_sync_support() && + !_check_uevent_generated(dmi)) { ++ log_debug("warning: Uevent might not be generated!"); ++#if 0 + log_debug("Uevent not generated! Calling udev_complete " + "internally to avoid process lock-up."); + _udev_complete(dmt); ++#endif + } + + if (!_dm_ioctl_unmangle_names(dmt->type, dmi)) diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 1ebebfd634b..ec68304c935 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }: let - v = "2.02.97"; + v = "2.02.98"; in stdenv.mkDerivation { @@ -9,9 +9,11 @@ stdenv.mkDerivation { src = fetchurl { url = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${v}.tgz"; - sha256 = "0azwa555dgvixbdw055yj8cj1q6kd0a36nms005iz7la5q0q5npd"; + sha256 = "0r6q6z8ip6q5qgkzng0saljassp4912k6i21ra10vq7pzrc0l0vi"; }; + patches = [ ./assume-uevent-generated.patch ]; + configureFlags = "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib"; diff --git a/pkgs/applications/virtualization/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix similarity index 81% rename from pkgs/applications/virtualization/lxc/default.nix rename to pkgs/os-specific/linux/lxc/default.nix index 26180b84368..8f60ff2554b 100644 --- a/pkgs/applications/virtualization/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -1,17 +1,14 @@ -{ stdenv, fetchurl, libcap, perl, docbook2x, docbook_xml_dtd_45 }: +{ stdenv, fetchurl, libcap, apparmor, perl, docbook2x, docbook_xml_dtd_45 }: -let - name = "lxc-0.7.5"; -in -stdenv.mkDerivation{ - inherit name; +stdenv.mkDerivation rec { + name = "lxc-0.8.0"; src = fetchurl { url = "http://lxc.sf.net/download/lxc/${name}.tar.gz"; - sha256 = "019ec63f250c874bf7625b1f1bf555b1a6e3a947937a4fca73100abddf829b1c"; + sha256 = "0b3912mal1n56i1v5f3aplm7shqnlz24p0znpva27r4l1drk7j7a"; }; - buildInputs = [ libcap perl docbook2x ]; + buildInputs = [ libcap apparmor perl docbook2x ]; patches = [ ./dont-run-ldconfig.patch @@ -42,7 +39,6 @@ stdenv.mkDerivation{ mechanisms to Linux’s existing process management infrastructure. ''; - platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.simons ]; }; diff --git a/pkgs/applications/virtualization/lxc/dont-run-ldconfig.patch b/pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch similarity index 100% rename from pkgs/applications/virtualization/lxc/dont-run-ldconfig.patch rename to pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch diff --git a/pkgs/applications/virtualization/lxc/fix-documentation-build.patch b/pkgs/os-specific/linux/lxc/fix-documentation-build.patch similarity index 100% rename from pkgs/applications/virtualization/lxc/fix-documentation-build.patch rename to pkgs/os-specific/linux/lxc/fix-documentation-build.patch diff --git a/pkgs/applications/virtualization/lxc/fix-sgml-documentation.patch b/pkgs/os-specific/linux/lxc/fix-sgml-documentation.patch similarity index 53% rename from pkgs/applications/virtualization/lxc/fix-sgml-documentation.patch rename to pkgs/os-specific/linux/lxc/fix-sgml-documentation.patch index 4d2cce0dd62..60c9027cca5 100644 --- a/pkgs/applications/virtualization/lxc/fix-sgml-documentation.patch +++ b/pkgs/os-specific/linux/lxc/fix-sgml-documentation.patch @@ -1,7 +1,8 @@ -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-cgroup.sgml.in lxc-0.7.5/doc/lxc-cgroup.sgml.in ---- lxc-0.7.5-orig/doc/lxc-cgroup.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-cgroup.sgml.in 2011-09-26 10:05:01.753873426 +0200 -@@ -23,7 +23,7 @@ +diff --git a/doc/lxc-attach.sgml.in b/doc/lxc-attach.sgml.in +index 7092f16..021da41 100644 +--- a/doc/lxc-attach.sgml.in ++++ b/doc/lxc-attach.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -10,10 +11,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-cgroup.sgml.in lxc-0.7.5/ -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-checkpoint.sgml.in lxc-0.7.5/doc/lxc-checkpoint.sgml.in ---- lxc-0.7.5-orig/doc/lxc-checkpoint.sgml.in 2011-02-17 10:07:44.000000000 +0100 -+++ lxc-0.7.5/doc/lxc-checkpoint.sgml.in 2011-09-26 10:05:01.753873426 +0200 -@@ -23,7 +23,7 @@ +diff --git a/doc/lxc-cgroup.sgml.in b/doc/lxc-cgroup.sgml.in +index 5acd313..856a544 100644 +--- a/doc/lxc-cgroup.sgml.in ++++ b/doc/lxc-cgroup.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -22,10 +24,110 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-checkpoint.sgml.in lxc-0. -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.conf.sgml.in lxc-0.7.5/doc/lxc.conf.sgml.in ---- lxc-0.7.5-orig/doc/lxc.conf.sgml.in 2011-08-09 16:51:01.000000000 +0200 -+++ lxc-0.7.5/doc/lxc.conf.sgml.in 2011-09-26 10:05:01.754873476 +0200 -@@ -23,7 +23,7 @@ +diff --git a/doc/lxc-checkpoint.sgml.in b/doc/lxc-checkpoint.sgml.in +index bf0efd9..eeb0039 100644 +--- a/doc/lxc-checkpoint.sgml.in ++++ b/doc/lxc-checkpoint.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-console.sgml.in b/doc/lxc-console.sgml.in +index 606c868..62f9e07 100644 +--- a/doc/lxc-console.sgml.in ++++ b/doc/lxc-console.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-create.sgml.in b/doc/lxc-create.sgml.in +index a3cca83..d59106d 100644 +--- a/doc/lxc-create.sgml.in ++++ b/doc/lxc-create.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +@@ -141,6 +141,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + filesystem) of size SIZE rather than the default, which is 1G. + + ++ + + + +diff --git a/doc/lxc-destroy.sgml.in b/doc/lxc-destroy.sgml.in +index e75de57..05f53d6 100644 +--- a/doc/lxc-destroy.sgml.in ++++ b/doc/lxc-destroy.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-execute.sgml.in b/doc/lxc-execute.sgml.in +index 77d132a..1e58bef 100644 +--- a/doc/lxc-execute.sgml.in ++++ b/doc/lxc-execute.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-freeze.sgml.in b/doc/lxc-freeze.sgml.in +index 798ccf4..f0d0485 100644 +--- a/doc/lxc-freeze.sgml.in ++++ b/doc/lxc-freeze.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-kill.sgml.in b/doc/lxc-kill.sgml.in +index 5bec922..1f48820 100644 +--- a/doc/lxc-kill.sgml.in ++++ b/doc/lxc-kill.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-ls.sgml.in b/doc/lxc-ls.sgml.in +index 3ffd4f8..b11d211 100644 +--- a/doc/lxc-ls.sgml.in ++++ b/doc/lxc-ls.sgml.in +@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -34,10 +136,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.conf.sgml.in lxc-0.7.5/do ]> -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-console.sgml.in lxc-0.7.5/doc/lxc-console.sgml.in ---- lxc-0.7.5-orig/doc/lxc-console.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-console.sgml.in 2011-09-26 10:05:01.754873476 +0200 -@@ -23,7 +23,7 @@ +diff --git a/doc/lxc-monitor.sgml.in b/doc/lxc-monitor.sgml.in +index 9d8711c..b492968 100644 +--- a/doc/lxc-monitor.sgml.in ++++ b/doc/lxc-monitor.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -46,70 +149,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-console.sgml.in lxc-0.7.5 -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-create.sgml.in lxc-0.7.5/doc/lxc-create.sgml.in ---- lxc-0.7.5-orig/doc/lxc-create.sgml.in 2011-07-25 00:27:10.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-create.sgml.in 2011-09-26 10:05:01.755873526 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-destroy.sgml.in lxc-0.7.5/doc/lxc-destroy.sgml.in ---- lxc-0.7.5-orig/doc/lxc-destroy.sgml.in 2010-10-08 11:54:53.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-destroy.sgml.in 2011-09-26 10:05:01.755873526 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-execute.sgml.in lxc-0.7.5/doc/lxc-execute.sgml.in ---- lxc-0.7.5-orig/doc/lxc-execute.sgml.in 2011-07-25 00:27:10.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-execute.sgml.in 2011-09-26 10:05:01.755873526 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-freeze.sgml.in lxc-0.7.5/doc/lxc-freeze.sgml.in ---- lxc-0.7.5-orig/doc/lxc-freeze.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-freeze.sgml.in 2011-09-26 10:05:01.755873526 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-kill.sgml.in lxc-0.7.5/doc/lxc-kill.sgml.in ---- lxc-0.7.5-orig/doc/lxc-kill.sgml.in 2010-10-08 11:54:53.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-kill.sgml.in 2011-09-26 10:05:01.756873576 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-ls.sgml.in lxc-0.7.5/doc/lxc-ls.sgml.in ---- lxc-0.7.5-orig/doc/lxc-ls.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-ls.sgml.in 2011-09-26 10:05:01.756873576 +0200 -@@ -24,7 +24,7 @@ +diff --git a/doc/lxc-ps.sgml.in b/doc/lxc-ps.sgml.in +index bb7b5a6..05ed59f 100644 +--- a/doc/lxc-ps.sgml.in ++++ b/doc/lxc-ps.sgml.in +@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -118,10 +162,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-ls.sgml.in lxc-0.7.5/doc/ ]> -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-monitor.sgml.in lxc-0.7.5/doc/lxc-monitor.sgml.in ---- lxc-0.7.5-orig/doc/lxc-monitor.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-monitor.sgml.in 2011-09-26 10:05:01.756873576 +0200 -@@ -23,7 +23,7 @@ +diff --git a/doc/lxc-restart.sgml.in b/doc/lxc-restart.sgml.in +index eb556d9..d158cc7 100644 +--- a/doc/lxc-restart.sgml.in ++++ b/doc/lxc-restart.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -130,22 +175,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-monitor.sgml.in lxc-0.7.5 -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-ps.sgml.in lxc-0.7.5/doc/lxc-ps.sgml.in ---- lxc-0.7.5-orig/doc/lxc-ps.sgml.in 2011-08-11 17:54:57.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-ps.sgml.in 2011-09-26 10:05:01.756873576 +0200 -@@ -24,7 +24,7 @@ - - --> - -- - ]> -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-restart.sgml.in lxc-0.7.5/doc/lxc-restart.sgml.in ---- lxc-0.7.5-orig/doc/lxc-restart.sgml.in 2011-02-17 10:07:44.000000000 +0100 -+++ lxc-0.7.5/doc/lxc-restart.sgml.in 2011-09-26 10:05:01.757873626 +0200 -@@ -23,7 +23,7 @@ +diff --git a/doc/lxc-start.sgml.in b/doc/lxc-start.sgml.in +index 4504d58..f268185 100644 +--- a/doc/lxc-start.sgml.in ++++ b/doc/lxc-start.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -154,10 +188,50 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-restart.sgml.in lxc-0.7.5 -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.sgml.in lxc-0.7.5/doc/lxc.sgml.in ---- lxc-0.7.5-orig/doc/lxc.sgml.in 2010-10-26 18:07:35.000000000 +0200 -+++ lxc-0.7.5/doc/lxc.sgml.in 2011-09-26 10:05:01.758873676 +0200 -@@ -23,7 +23,7 @@ +diff --git a/doc/lxc-stop.sgml.in b/doc/lxc-stop.sgml.in +index d15e649..51179c4 100644 +--- a/doc/lxc-stop.sgml.in ++++ b/doc/lxc-stop.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-unfreeze.sgml.in b/doc/lxc-unfreeze.sgml.in +index bb00d85..3f8f59b 100644 +--- a/doc/lxc-unfreeze.sgml.in ++++ b/doc/lxc-unfreeze.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc-wait.sgml.in b/doc/lxc-wait.sgml.in +index 97a4c39..0c7c589 100644 +--- a/doc/lxc-wait.sgml.in ++++ b/doc/lxc-wait.sgml.in +@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + +diff --git a/doc/lxc.conf.sgml.in b/doc/lxc.conf.sgml.in +index 9edabf8..daa2ff8 100644 +--- a/doc/lxc.conf.sgml.in ++++ b/doc/lxc.conf.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> @@ -166,7 +240,20 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.sgml.in lxc-0.7.5/doc/lxc ]> -@@ -280,7 +280,7 @@ +diff --git a/doc/lxc.sgml.in b/doc/lxc.sgml.in +index 1b30fed..d98ca21 100644 +--- a/doc/lxc.sgml.in ++++ b/doc/lxc.sgml.in +@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + --> + +- + ]> +@@ -280,7 +280,7 @@ rootfs @@ -175,7 +262,7 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.sgml.in lxc-0.7.5/doc/lxc --------- | STOPPED |<--------------- --------- | -@@ -305,7 +305,7 @@ +@@ -305,7 +305,7 @@ rootfs ---------- | | | --------------------- @@ -184,7 +271,7 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.sgml.in lxc-0.7.5/doc/lxc -@@ -570,7 +570,7 @@ +@@ -570,7 +570,7 @@ rootfs to the background. @@ -193,7 +280,7 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.sgml.in lxc-0.7.5/doc/lxc # launch lxc-wait in background lxc-wait -n foo -s STOPPED & LXC_WAIT_PID=$! -@@ -583,7 +583,7 @@ +@@ -583,7 +583,7 @@ rootfs # is STOPPED wait $LXC_WAIT_PID echo "'foo' is finished" @@ -202,51 +289,3 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.sgml.in lxc-0.7.5/doc/lxc -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-start.sgml.in lxc-0.7.5/doc/lxc-start.sgml.in ---- lxc-0.7.5-orig/doc/lxc-start.sgml.in 2011-02-01 15:12:40.000000000 +0100 -+++ lxc-0.7.5/doc/lxc-start.sgml.in 2011-09-26 10:05:01.758873676 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-stop.sgml.in lxc-0.7.5/doc/lxc-stop.sgml.in ---- lxc-0.7.5-orig/doc/lxc-stop.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-stop.sgml.in 2011-09-26 10:05:01.758873676 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-unfreeze.sgml.in lxc-0.7.5/doc/lxc-unfreeze.sgml.in ---- lxc-0.7.5-orig/doc/lxc-unfreeze.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-unfreeze.sgml.in 2011-09-26 10:05:01.759873726 +0200 -@@ -23,7 +23,7 @@ - - --> - -- - -diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-wait.sgml.in lxc-0.7.5/doc/lxc-wait.sgml.in ---- lxc-0.7.5-orig/doc/lxc-wait.sgml.in 2010-06-07 10:51:51.000000000 +0200 -+++ lxc-0.7.5/doc/lxc-wait.sgml.in 2011-09-26 10:05:01.759873726 +0200 -@@ -24,7 +24,7 @@ - - --> - -- - diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix index 82c502ede72..b60b6134fdd 100644 --- a/pkgs/os-specific/linux/mcelog/default.nix +++ b/pkgs/os-specific/linux/mcelog/default.nix @@ -25,9 +25,13 @@ in stdenv.mkDerivation { makeFlags = "prefix=$(out) etcprefix=$(out) DOCDIR=$(out)/share/doc"; + preInstall = '' + ensureDir $out/share/doc + ''; + meta = { description = "Tool to display logged machine check exceptions"; homepage = http://mcelog.org/; license = stdenv.lib.licenses.gpl2; }; -} \ No newline at end of file +} diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index a88107ae73d..1653c018ce1 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { # Enable incremental activation of swraid arrays from udev. patches = [ ./udev.patch ]; - buildNativeInputs = [ groff ]; + nativeBuildInputs = [ groff ]; preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile"; diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix index 077d08f899d..240150b09dd 100644 --- a/pkgs/os-specific/linux/module-init-tools/default.nix +++ b/pkgs/os-specific/linux/module-init-tools/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { src = [ (fetchurl { - url = mirror://kernel/linux/utils/kernel/module-init-tools/module-init-tools-3.16.tar.bz2; + url = http://ftp.be.debian.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.16.tar.bz2; sha256 = "0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"; }) diff --git a/pkgs/os-specific/linux/modutils/default.nix b/pkgs/os-specific/linux/modutils/default.nix deleted file mode 100644 index 3a063408a2f..00000000000 --- a/pkgs/os-specific/linux/modutils/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{stdenv, fetchurl, bison, flex}: - -stdenv.mkDerivation { - name = "modutils-2.4.27"; - src = fetchurl { - url = mirror://kernel/linux/utils/kernel/modutils/v2.4/modutils-2.4.27.tar.bz2; - md5 = "bac989c74ed10f3bf86177fc5b4b89b6"; - }; - buildInputs = [bison flex]; -} diff --git a/pkgs/os-specific/linux/mountall/default.nix b/pkgs/os-specific/linux/mountall/default.nix index 67d7801fdb2..4cad810cc5f 100644 --- a/pkgs/os-specific/linux/mountall/default.nix +++ b/pkgs/os-specific/linux/mountall/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libnih, dbus, udev, autoconf, automake, libtool, gettext }: +{ stdenv, fetchurl, pkgconfig, libnih, dbus, udev, gettext, autoreconfHook }: stdenv.mkDerivation { name = "mountall-2.35"; @@ -10,9 +10,7 @@ stdenv.mkDerivation { patches = [ ./no-plymouth.patch ./fix-usr1-race.patch ]; - preConfigure = "rm -R aclocal.m4; gettextize -f; autoreconf -vfi"; - - buildInputs = [ pkgconfig libnih dbus.libs udev autoconf automake libtool gettext ]; + buildInputs = [ pkgconfig libnih dbus.libs udev gettext autoreconfHook ]; makeFlags = "initramfshookdir=$(out)/share/initramfs-tools/hooks upstart_jobs_initramfs_configdir=$(out)/share/initramfs-tools/event-driven/upstart-jobs"; diff --git a/pkgs/os-specific/linux/net-tools/config.h b/pkgs/os-specific/linux/net-tools/config.h index b060bea12c2..dedaac6247d 100644 --- a/pkgs/os-specific/linux/net-tools/config.h +++ b/pkgs/os-specific/linux/net-tools/config.h @@ -38,6 +38,7 @@ #define HAVE_AFECONET 0 #define HAVE_AFDECnet 0 #define HAVE_AFASH 0 +#define HAVE_AFBLUETOOTH 0 /* * @@ -49,20 +50,23 @@ #define HAVE_HWSLIP 1 #define HAVE_HWPPP 1 #define HAVE_HWTUNNEL 1 -#define HAVE_HWSTRIP 1 -#define HAVE_HWTR 1 +#define HAVE_HWSTRIP 0 +#define HAVE_HWTR 0 #define HAVE_HWAX25 0 #define HAVE_HWROSE 0 #define HAVE_HWNETROM 1 #define HAVE_HWX25 0 #define HAVE_HWFR 1 -#define HAVE_HWSIT 0 +#define HAVE_HWSIT 1 #define HAVE_HWFDDI 0 #define HAVE_HWHIPPI 0 #define HAVE_HWASH 0 #define HAVE_HWHDLCLAPB 0 #define HAVE_HWIRDA 1 #define HAVE_HWEC 0 +#define HAVE_HWEC 0 +#define HAVE_HWEUI64 1 +#define HAVE_HWIB 1 /* * @@ -72,3 +76,4 @@ #define HAVE_FW_MASQUERADE 0 #define HAVE_IP_TOOLS 0 #define HAVE_MII 0 +#define HAVE_SELINUX 0 diff --git a/pkgs/os-specific/linux/net-tools/default.nix b/pkgs/os-specific/linux/net-tools/default.nix index 59af976a71b..9386b50969f 100644 --- a/pkgs/os-specific/linux/net-tools/default.nix +++ b/pkgs/os-specific/linux/net-tools/default.nix @@ -1,15 +1,13 @@ { stdenv, fetchurl }: -stdenv.mkDerivation { - name = "net-tools-1.60"; - +stdenv.mkDerivation rec { + name = "net-tools-1.60_p20120127084908"; + src = fetchurl { - url = http://www.tazenda.demon.co.uk/phil/net-tools/net-tools-1.60.tar.bz2; - md5 = "888774accab40217dde927e21979c165"; + url = "mirror://gentoo/distfiles/${name}.tar.xz"; + sha256 = "408a51964aa142a4f45c4cffede2478abbd5630a7c7346ba0d3611059a2a3c94"; }; - patches = [ ./net-tools-labels.patch ]; - preBuild = '' cp ${./config.h} config.h diff --git a/pkgs/os-specific/linux/net-tools/net-tools-labels.patch b/pkgs/os-specific/linux/net-tools/net-tools-labels.patch deleted file mode 100644 index 82c3a27d9c6..00000000000 --- a/pkgs/os-specific/linux/net-tools/net-tools-labels.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -ruN net-tools-1.60/hostname.c net-tools-1.60-new/hostname.c ---- net-tools-1.60/hostname.c 2001-04-08 19:04:23.000000000 +0200 -+++ net-tools-1.60-new/hostname.c 2004-12-17 14:48:15.624174382 +0100 -@@ -98,6 +98,7 @@ - fprintf(stderr, _("%s: name too long\n"), program_name); - break; - default: -+ break; - } - exit(1); - }; -@@ -117,6 +118,7 @@ - fprintf(stderr, _("%s: name too long\n"), program_name); - break; - default: -+ break; - } - exit(1); - }; -@@ -174,6 +176,7 @@ - printf("%s\n", hp->h_name); - break; - default: -+ break; - } - } - -diff -ruN net-tools-1.60/lib/inet_sr.c net-tools-1.60-new/lib/inet_sr.c ---- net-tools-1.60/lib/inet_sr.c 2000-02-20 22:46:45.000000000 +0100 -+++ net-tools-1.60-new/lib/inet_sr.c 2004-12-17 14:37:15.416349441 +0100 -@@ -105,6 +105,7 @@ - case 2: - isnet = 0; break; - default: -+ break; - } - - /* Fill in the other fields. */ diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index 6429d8092cf..42bacd41be0 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, tcpWrapper, utillinux, libcap, libtirpc, libevent, libnfsidmap +{ fetchurl, stdenv, tcp_wrappers, utillinux, libcap, libtirpc, libevent, libnfsidmap , lvm2, e2fsprogs }: stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ tcpWrapper utillinux libcap libtirpc libevent libnfsidmap + [ tcp_wrappers utillinux libcap libtirpc libevent libnfsidmap lvm2 e2fsprogs ]; @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { ''; # One test fails on mips. - doCheck = if stdenv.isMips then false else true; + doCheck = !stdenv.isMips; meta = { description = "Linux user-space NFS utilities"; diff --git a/pkgs/os-specific/linux/nvidia-x11/acpixf.patch b/pkgs/os-specific/linux/nvidia-x11/acpixf.patch deleted file mode 100644 index c94641c6919..00000000000 --- a/pkgs/os-specific/linux/nvidia-x11/acpixf.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -pur 96.43.20/conftest.sh 96.43.20-3.4/conftest.sh ---- 96.43.20/conftest.sh 2011-07-18 10:51:11.000000000 +0400 -+++ 96.43.20-3.4/conftest.sh 2012-06-16 00:04:22.870746239 +0400 -@@ -908,6 +908,7 @@ compile_test() { - # - echo "$CONFTEST_PREAMBLE - #include -+ #include - void conftest_acpi_walk_namespace(void) { - acpi_walk_namespace(); - }" > conftest$$.c -@@ -923,6 +924,7 @@ compile_test() { - - echo "$CONFTEST_PREAMBLE - #include -+ #include - void conftest_acpi_walk_namespace(void) { - acpi_walk_namespace(0, NULL, 0, NULL, NULL, NULL, NULL); - }" > conftest$$.c -@@ -939,6 +941,7 @@ compile_test() { - - echo "$CONFTEST_PREAMBLE - #include -+ #include - void conftest_acpi_walk_namespace(void) { - acpi_walk_namespace(0, NULL, 0, NULL, NULL, NULL); - }" > conftest$$.c diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh new file mode 100755 index 00000000000..bb8beab29c5 --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy304.sh @@ -0,0 +1,101 @@ +source $stdenv/setup + +dontPatchELF=1 # must keep libXv, $out in RPATH + + +unpackFile() { + sh $src -x +} + + +buildPhase() { + if test -z "$libsOnly"; then + # Create the module. + echo "Building linux driver against kernel: $kernel"; + cd kernel + kernelVersion=$(cd $kernel/lib/modules && ls) + sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/) + unset src # used by the nv makefile + # Hack necessary to compile on 2.6.28. + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default -I$sysSrc/include/generated" + make SYSSRC=$sysSrc module + cd .. + fi +} + + +installPhase() { + + # Install libGL and friends. + mkdir -p $out/lib/vendors + + for f in \ + libcuda libGL libnvcuvid libnvidia-cfg libnvidia-compiler \ + libnvidia-glcore libnvidia-ml libnvidia-opencl \ + libnvidia-tls libOpenCL libnvidia-tls libvdpau_nvidia + do + cp -prd $f.* $out/lib/ + ln -snf $f.so.$versionNumber $out/lib/$f.so + ln -snf $f.so.$versionNumber $out/lib/$f.so.1 + done + + cp -p nvidia.icd $out/lib/vendors/ + cp -prd tls $out/lib/ + cp -prd libOpenCL.so.1.0.0 $out/lib/ + ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so + ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so.1 + + patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.* + patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.* + patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.* + + if test -z "$libsOnly"; then + + # Install the kernel module. + mkdir -p $out/lib/modules/$kernelVersion/misc + cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc + + # Install the X driver. + mkdir -p $out/lib/xorg/modules + cp -p libnvidia-wfb.* $out/lib/xorg/modules/ + mkdir -p $out/lib/xorg/modules/drivers + cp -p nvidia_drv.so $out/lib/xorg/modules/drivers + mkdir -p $out/lib/xorg/modules/extensions + cp -p libglx.so.* $out/lib/xorg/modules/extensions + + ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1 + ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so + + patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.* + + # Install the programs. + mkdir -p $out/bin + + for i in nvidia-settings nvidia-xconfig; do + cp $i $out/bin/$i + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $out/lib:$programPath:$glPath $out/bin/$i + done + + # Header files etc. + mkdir -p $out/include/nvidia + cp -p *.h $out/include/nvidia + + mkdir -p $out/share/man/man1 + cp -p *.1.gz $out/share/man/man1 + + mkdir -p $out/share/applications + cp -p *.desktop $out/share/applications + + mkdir -p $out/share/pixmaps + cp -p nvidia-settings.png $out/share/pixmaps + + # Patch the `nvidia-settings.desktop' file. + substituteInPlace $out/share/applications/nvidia-settings.desktop \ + --replace '__UTILS_PATH__' $out/bin \ + --replace '__PIXMAP_PATH__' $out/share/pixmaps + fi +} + + +genericBuild diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index ace9d50cdee..c0ba9d88554 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -27,28 +27,31 @@ buildPhase() { installPhase() { # Install libGL and friends. - mkdir -p $out/lib - cp -prd libcuda.* libGL.* libnvidia-cfg.* libnvidia-compiler.* libnvidia-tls.* libnvidia-glcore.* libOpenCL.* libXv* libvdpau_nvidia* tls $out/lib/ - - ln -snf libnvidia-glcore.so.$versionNumber $out/lib/libnvidia-glcore.so - ln -snf libnvidia-glcore.so.$versionNumber $out/lib/libnvidia-glcore.so.1 - ln -snf libGL.so.$versionNumber $out/lib/libGL.so - ln -snf libGL.so.$versionNumber $out/lib/libGL.so.1 - ln -snf libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1 - ln -snf libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1 - ln -snf libnvidia-tls.so.$versionNumber $out/lib/tls/libnvidia-tls.so.1 - ln -snf libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA_dynamic.so.1 - ln -snf libcuda.so.$versionNumber $out/lib/libcuda.so.1 - ln -snf libcuda.so.1 $out/lib/libcuda.so - ln -snf libvdpau_nvidia.so.$versionNumber $out/lib/libvdpau_nvidia.so + mkdir -p $out/lib/vendors + + for f in \ + libcuda libGL libnvcuvid libnvidia-cfg libnvidia-compiler \ + libnvidia-encode libnvidia-glcore libnvidia-ml libnvidia-opencl \ + libnvidia-tls libOpenCL libnvidia-tls libvdpau_nvidia + do + cp -prd $f.* $out/lib/ + ln -snf $f.so.$versionNumber $out/lib/$f.so + ln -snf $f.so.$versionNumber $out/lib/$f.so.1 + done + + cp -p nvidia.icd $out/lib/vendors/ + cp -prd tls $out/lib/ + cp -prd libOpenCL.so.1.0.0 $out/lib/ + ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so + ln -snf libOpenCL.so.1.0.0 $out/lib/libOpenCL.so.1 patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.* - patchelf --set-rpath $out/lib:$glPath $out/lib/libXvMCNVIDIA.so.*.* patchelf --set-rpath $out/lib:$glPath $out/lib/libvdpau_nvidia.so.*.* patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.* - + patchelf --set-rpath $openclPath $out/lib/libnvidia-opencl.so.*.* + if test -z "$libsOnly"; then - + # Install the kernel module. mkdir -p $out/lib/modules/$kernelVersion/misc cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc @@ -74,7 +77,7 @@ installPhase() { patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ --set-rpath $out/lib:$programPath:$glPath $out/bin/$i done - + # Header files etc. mkdir -p $out/include/nvidia cp -p *.h $out/include/nvidia diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 8714c342f1a..c965ef01c72 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -8,23 +8,25 @@ with stdenv.lib; -let versionNumber = "304.37"; in +let versionNumber = "310.32"; in stdenv.mkDerivation { name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}"; - + builder = ./builder.sh; - + + patches = [ ./version-test.patch ]; + src = if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; - sha256 = "0dxka66vp15xgm7z9v6x01gdvyvj3l9c33sa7zyahdxbr6h78cdb"; + sha256 = "13dc2s312h4k4bp7qb2ymdafr739jxbh0f3h1ilrkyjkd945cgnl"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run"; - sha256 = "1xjg91sh7zyn6djdm78wdfas8j7cqn96nyy5zavsnd9jh7v1i0gp"; + sha256 = "1wk0lcm712glffdmwpk4drrwb0fjva7qhpxylnqs7fl7d3acnsvq"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; @@ -38,6 +40,8 @@ stdenv.mkDerivation { cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc]; + openclPath = stdenv.lib.makeLibraryPath [zlib]; + programPath = optionalString (!libsOnly) (stdenv.lib.makeLibraryPath [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] ); diff --git a/pkgs/os-specific/linux/nvidia-x11/generated.patch b/pkgs/os-specific/linux/nvidia-x11/generated.patch deleted file mode 100644 index 6cf7a93c644..00000000000 --- a/pkgs/os-specific/linux/nvidia-x11/generated.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -pur 173.14.31/conftest.sh 173.14.31-3.3/conftest.sh ---- 173.14.31/conftest.sh 2011-07-18 09:49:58.000000000 +0400 -+++ 173.14.31-3.3/conftest.sh 2012-04-09 19:33:34.407928432 +0400 -@@ -123,7 +123,7 @@ build_cflags() { - CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS" - - if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then -- CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include" -+ CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$SOURCES/arch/x86/include/generated" - fi - if [ -n "$BUILD_PARAMS" ]; then - CFLAGS="$CFLAGS -D$BUILD_PARAMS" diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix index 0112270f3bf..90ff989b759 100644 --- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix +++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix @@ -2,7 +2,7 @@ let - versionNumber = "173.14.35"; + versionNumber = "173.14.36"; in @@ -15,12 +15,12 @@ stdenv.mkDerivation { if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; - sha256 = "16kjxj2bn78cgyb4xq39zajjv1hx1z5dw50n9r17w14ifq7i09id"; + sha256 = "19wnikms9wradf1kmaywnp7hykrdm4xqz2ka7az66s3ma096y95c"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; - sha256 = "0mk7pj7in090dx2v5yzkd7qkaf0qvz3jv4cmpiflpmzmg9p15x8n"; + sha256 = "1xf1w6qvqw0a3vd807hp3cgqmzm1wkpz2by52p0qgpjqld421k2s"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix new file mode 100644 index 00000000000..c88eb77c12f --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl +, gtk, atk, pango, glib, gdk_pixbuf +, # Whether to build the libraries only (i.e. not the kernel module or + # nvidia-settings). Used to support 32-bit binaries on 64-bit + # Linux. + libsOnly ? false +}: + +with stdenv.lib; + +let versionNumber = "304.64"; in + +stdenv.mkDerivation { + name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}"; + + builder = ./builder-legacy304.sh; + + src = + if stdenv.system == "i686-linux" then + fetchurl { + url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; + sha256 = "0li27nlhx9bbln9424xpxw46sarjdch2fxpn4kvh0npaywll2ii3"; + } + else if stdenv.system == "x86_64-linux" then + fetchurl { + url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run"; + sha256 = "1x33f6b9zcsnpjcxlv38l1w0blimsv1y3bbrrzg48wwwb5wvynxl"; + } + else throw "nvidia-x11 does not support platform ${stdenv.system}"; + + inherit versionNumber libsOnly; + + kernel = if libsOnly then null else kernel; + + dontStrip = true; + + glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr]; + + cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc]; + + programPath = optionalString (!libsOnly) (stdenv.lib.makeLibraryPath + [ gtk atk pango glib gdk_pixbuf xlibs.libXv ] ); + + buildInputs = [ perl ]; + + meta = { + homepage = http://www.nvidia.com/object/unix.html; + description = "X.org driver and kernel module for NVIDIA graphics cards"; + license = "unfree"; + }; +} diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix index fd27a989c07..8e1fb784ae3 100644 --- a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix +++ b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix @@ -2,7 +2,7 @@ let - versionNumber = "96.43.20"; + versionNumber = "96.43.23"; in @@ -15,27 +15,17 @@ stdenv.mkDerivation { if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; - sha256 = "05vm36jnydp4cfdkfvrvxczd64i3f0pp0yp7dn8y8pklrxi80xxw"; + sha256 = "0hi10h26l51mknr57zsdg0zaxcqdz1lp3hsz0hi1c1vkpbsavrji"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; - sha256 = "0a8ninp4wyql3xh6z93dzhbacvz7g0h8gs4pg5279a0i6h05wb1w"; + sha256 = "09vynha40rsxpklj1m0qjfg853ckdpi9g87h06irikh405x57kzp"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; inherit versionNumber kernel; - # Only for kernels 3.4 and over - # Patches taken from arch linux AUR - # https://aur.archlinux.org/packages.php?ID=57698 - kpatches = stdenv.lib.optionals (stdenv.lib.strings.versionOlder "3.4" kernel.version) - [ ./acpixf.patch - ./generated.patch - ./patchlevel.patch - ./switch_to.patch - ]; - dontStrip = true; glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr]; diff --git a/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch b/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch deleted file mode 100644 index 256922ca966..00000000000 --- a/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff -pur 96.43.20-t1/conftest.sh 96.43.20-t2/conftest.sh ---- 96.43.20-t1/conftest.sh 2012-06-16 17:14:47.206589267 +0400 -+++ 96.43.20-t2/conftest.sh 2012-06-16 15:35:45.049203248 +0400 -@@ -1303,10 +1303,14 @@ case "$5" in - MAKEFILE=$HEADERS/../Makefile - - if [ -f $MAKEFILE ]; then -+ VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3) - PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3) - -- if [ -z "$PATCHLEVEL" ]; then -+ if [ -z "$PATCHLEVEL" -o -z "$VERSION" ]; then - exit 1 -+ elif [ "$VERSION" = '3' ]; then -+ echo 6 -+ exit 0 - else - echo $PATCHLEVEL - exit 0 -@@ -1426,10 +1430,11 @@ case "$5" in - # kernel older than 2.6.6, that's all we require to - # build the module. - # -+ VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3) - PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3) - SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3) - -- if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \ -+ if [ "$VERSION" = '2' -a -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \ - -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then - SELECTED_MAKEFILE=Makefile.kbuild - RET=0 -@@ -1525,11 +1530,12 @@ case "$5" in - # This source tree is not configured, but includes - # the top-level Makefile. - # -+ VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3) - PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3) - SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3) - -- if [ -n "$PATCHLEVEL" -a -n "$SUBLEVEL" ]; then -- echo 2.$PATCHLEVEL.$SUBLEVEL -+ if [ -n "$VERSION" -a -n "$PATCHLEVEL" -a -n "$SUBLEVEL" ]; then -+ echo $VERSION.$PATCHLEVEL.$SUBLEVEL - RET=0 - fi - fi -diff -pur 96.43.20-t1/Makefile.kbuild 96.43.20-t2/Makefile.kbuild ---- 96.43.20-t1/Makefile.kbuild 2011-07-18 10:51:11.000000000 +0400 -+++ 96.43.20-t2/Makefile.kbuild 2012-06-16 17:08:11.694605133 +0400 -@@ -132,7 +132,7 @@ MODULE_ROOT := /lib/modules/$(KERNEL_UNA - # - - TOPDIR ?= $(KERNEL_SOURCES) --PATCHLEVEL ?= $(shell $(CONFTEST) kernel_patch_level) -+PATCHLEVEL := $(shell $(CONFTEST) kernel_patch_level) - - # - # Linux 2.4 uses the .o module extension. Linux 2.6, however, uses the .ko diff --git a/pkgs/os-specific/linux/nvidia-x11/switch_to.patch b/pkgs/os-specific/linux/nvidia-x11/switch_to.patch deleted file mode 100644 index 51ffa7f83f1..00000000000 --- a/pkgs/os-specific/linux/nvidia-x11/switch_to.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -pur 173.14.31-3.3/conftest.sh 173.14.31-3.4/conftest.sh ---- 173.14.31-3.3/conftest.sh 2012-04-09 19:33:34.407928432 +0400 -+++ 173.14.31-3.4/conftest.sh 2012-04-10 19:50:36.052346728 +0400 -@@ -465,7 +465,7 @@ compile_test() { - # and if it as an 'event' member. - # - echo "$CONFTEST_PREAMBLE -- #include -+ #include - #include - void conftest_pm_message_t(pm_message_t state) { - pm_message_t *p = &state; -diff -pur 173.14.31-3.3/nv-linux.h 173.14.31-3.4/nv-linux.h ---- 173.14.31-3.3/nv-linux.h 2011-07-18 09:49:58.000000000 +0400 -+++ 173.14.31-3.4/nv-linux.h 2012-04-10 19:53:04.853776013 +0400 -@@ -92,7 +92,7 @@ - #include - - #include /* do_div() */ --#include /* cli, sli, save_flags */ -+#include /* cli, sli, save_flags */ - #include /* ioremap, virt_to_phys */ - #include /* access_ok */ - #include /* PAGE_OFFSET */ diff --git a/pkgs/os-specific/linux/nvidia-x11/version-test.patch b/pkgs/os-specific/linux/nvidia-x11/version-test.patch new file mode 100644 index 00000000000..9b6908ee5c0 --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/version-test.patch @@ -0,0 +1,19 @@ +diff -Naur NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh NVIDIA-patched/kernel/conftest.sh +--- NVIDIA-Linux-x86_64-310.32-no-compat32/kernel/conftest.sh 2013-01-14 18:11:17.000000000 -0430 ++++ NVIDIA-patched/kernel/conftest.sh 2013-02-05 14:44:50.757999124 -0430 +@@ -1699,11 +1699,13 @@ + # kernel older than 2.6.6, that's all we require to + # build the module. + # ++ VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3) + PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3) + SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3) + +- if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \ +- -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then ++ if [ -n "$VERSION" -a -n "$PATCHLEVEL" -a -n "$SUBLEVEL" \ ++ -a "$VERSION" -ge 3 -o "$VERSION" -eq 2 -a "$PATCHLEVEL" -ge 7 \ ++ -o "$PATCHLEVEL" -eq 6 -a "$SUBLEVEL" -ge 6 ]; then + SELECTED_MAKEFILE=Makefile.kbuild + RET=0 + fi diff --git a/pkgs/os-specific/linux/ov511/default.nix b/pkgs/os-specific/linux/ov511/default.nix deleted file mode 100644 index 628261e6c5f..00000000000 --- a/pkgs/os-specific/linux/ov511/default.nix +++ /dev/null @@ -1 +0,0 @@ -import ./ov511-2.30-default.nix diff --git a/pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh b/pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh deleted file mode 100644 index 21a2ac725ca..00000000000 --- a/pkgs/os-specific/linux/ov511/ov511-2.30-builder.sh +++ /dev/null @@ -1,18 +0,0 @@ -source $stdenv/setup - -hashname=$(basename $kernel) -echo $hashname -if echo "$hashname" | grep -q '^[a-z0-9]\{32\}-'; then - hashname=$(echo "$hashname" | cut -c -32) -fi - -stripHash $kernel -version=$(echo $strippedName | cut -c 7-)-$hashname - -echo "version $version" - -export version - -mkdir -p $out/lib/modules/$version/kernel/drivers/usb/media/ - -genericBuild diff --git a/pkgs/os-specific/linux/ov511/ov511-2.30-default.nix b/pkgs/os-specific/linux/ov511/ov511-2.30-default.nix deleted file mode 100644 index 4b2cd1ed5b2..00000000000 --- a/pkgs/os-specific/linux/ov511/ov511-2.30-default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, kernel}: - -stdenv.mkDerivation { - name = "ov511-2.30"; - builder = ./ov511-2.30-builder.sh; - src = fetchurl { - url = http://nixos.org/tarballs/ov511-2.30.tar.bz2; - md5 = "9eacf9e54f2f54a59ddbf14221a53f2a"; - }; - patches = [./ov511-kernel.patch ./ov511-2.32-kdir.patch]; - inherit kernel; - NIX_GLIBC_FLAGS_SET=1; -} diff --git a/pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh b/pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh deleted file mode 100644 index 636b19a95af..00000000000 --- a/pkgs/os-specific/linux/ov511/ov511-2.32-builder.sh +++ /dev/null @@ -1,22 +0,0 @@ -source $stdenv/setup - -hashname=$(basename $kernel) -echo $hashname -if echo "$hashname" | grep -q '^[a-z0-9]\{32\}-'; then - hashname=$(echo "$hashname" | cut -c -32) -fi - -stripHash $kernel -version=$(echo $strippedName | cut -c 7-)-$hashname - -echo "version $version" - -export version - -mkdir -p $out/lib/modules/$version/kernel/drivers/usb/media/ - -genericBuild - -echo "b0rken" - -exit 1 diff --git a/pkgs/os-specific/linux/ov511/ov511-2.32-default.nix b/pkgs/os-specific/linux/ov511/ov511-2.32-default.nix deleted file mode 100644 index 6af69d882db..00000000000 --- a/pkgs/os-specific/linux/ov511/ov511-2.32-default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, kernel}: - -stdenv.mkDerivation { - name = "ov511-2.32"; - builder = ./ov511-2.32-builder.sh; - src = fetchurl { - url = http://www.ovcam.org/ov511/download/2.xx/distros/ov511-2.32.tar.bz2; - md5 = "6a08025311649356242761641a1df0f2"; - }; - patches = [./ov511-kernel.patch ./ov511-2.32.patch ./ov511-2.32-kdir.patch]; - inherit kernel; - NIX_GLIBC_FLAGS_SET=1; -} diff --git a/pkgs/os-specific/linux/ov511/ov511-2.32-kdir.patch b/pkgs/os-specific/linux/ov511/ov511-2.32-kdir.patch deleted file mode 100644 index e0a1175a7ff..00000000000 --- a/pkgs/os-specific/linux/ov511/ov511-2.32-kdir.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -rc ov511-2.32/Makefile ov511-2.32.new/Makefile -*** ov511-2.32/Makefile 2006-03-28 17:47:31.000000000 +0200 ---- ov511-2.32.new/Makefile 2006-07-17 09:46:17.000000000 +0200 -*************** -*** 114,120 **** - - else # We were called from command line - -! KDIR := /lib/modules/$(shell uname -r)/build - PWD := $(shell pwd) - - default: ---- 114,120 ---- - - else # We were called from command line - -! KDIR := $(kernel)/lib/modules/$(version)/build - PWD := $(shell pwd) - - default: diff --git a/pkgs/os-specific/linux/ov511/ov511-2.32.patch b/pkgs/os-specific/linux/ov511/ov511-2.32.patch deleted file mode 100644 index 55e78afaeaa..00000000000 --- a/pkgs/os-specific/linux/ov511/ov511-2.32.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -rc ov511-2.32/tuner.c ov511-2.32.new/tuner.c -*** ov511-2.32/tuner.c Mon Apr 3 15:16:27 2006 ---- ov511-2.32.new/tuner.c Mon Jul 17 00:26:57 2006 -*************** -*** 1029,1035 **** - static struct i2c_client client_template = - { - .name = "(tuner unset)", -- .flags = I2C_CLIENT_ALLOW_USE, - .driver = &driver, - }; - ---- 1029,1034 ---- diff --git a/pkgs/os-specific/linux/ov511/ov511-kernel.patch b/pkgs/os-specific/linux/ov511/ov511-kernel.patch deleted file mode 100644 index eca39e90fce..00000000000 --- a/pkgs/os-specific/linux/ov511/ov511-kernel.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -rc ov511-2.32/do_install.sh ov511-2.32.new/do_install.sh -*** ov511-2.32/do_install.sh 2003-11-12 09:24:29.000000000 +0100 ---- ov511-2.32.new/do_install.sh 2006-07-16 19:44:56.000000000 +0200 -*************** -*** 8,15 **** - - UNAME=`uname -r` - -! INSTALL_PATH_2_4=/lib/modules/$UNAME/kernel/drivers/usb/ -! INSTALL_PATH_2_6=/lib/modules/$UNAME/kernel/drivers/usb/media/ - - MAJMIN=`echo $UNAME | cut -d . -f 1-2` - ---- 8,15 ---- - - UNAME=`uname -r` - -! INSTALL_PATH_2_4=$out/lib/modules/$version/kernel/drivers/usb/ -! INSTALL_PATH_2_6=$out/lib/modules/$version/kernel/drivers/usb/media/ - - MAJMIN=`echo $UNAME | cut -d . -f 1-2` - -*************** -*** 35,41 **** - install $MODULE $INSTALL_PATH - done - -! echo Finding module dependencies -! /sbin/depmod -ae - - echo All done! ---- 35,41 ---- - install $MODULE $INSTALL_PATH - done - -! #echo Finding module dependencies -! #/sbin/depmod -ae - - echo All done! diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index c18ea2b1f2b..43300425c00 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -1,24 +1,21 @@ -{ stdenv, fetchurl, flex, cracklib, libxcrypt }: +{ stdenv, fetchurl, flex, cracklib }: stdenv.mkDerivation rec { - name = "linux-pam-1.1.1"; + name = "linux-pam-1.1.6"; src = fetchurl { - url = mirror://kernel/linux/libs/pam/library/Linux-PAM-1.1.1.tar.bz2; - sha256 = "015r3xdkjpqwcv4lvxavq0nybdpxhfjycqpzbx8agqd5sywkx3b0"; + url = https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-1.1.6.tar.bz2; + sha256 = "1hlz2kqvbjisvwyicdincq7nz897b9rrafyzccwzqiqg53b8gf5s"; }; - buildNativeInputs = [ flex ]; - buildInputs = [ cracklib ] - ++ stdenv.lib.optional - (!stdenv.isArm && stdenv.system != "mips64el-linux") - libxcrypt; + nativeBuildInputs = [ flex ]; + + buildInputs = [ cracklib ]; crossAttrs = { - # Skip libxcrypt cross-building, as it fails for mips and arm - propagatedBuildInputs = [ flex.hostDrv cracklib.hostDrv ]; + propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ]; preConfigure = preConfigure + '' - ar x ${flex.hostDrv}/lib/libfl.a + ar x ${flex.crossDrv}/lib/libfl.a mv libyywrap.o libyywrap-target.o ar x ${flex}/lib/libfl.a mv libyywrap.o libyywrap-host.o @@ -27,13 +24,13 @@ stdenv.mkDerivation rec { ''; postConfigure = '' sed -e "s@ $PWD/libyywrap-target.o@ $PWD/libyywrap-host.o@" -i doc/specs/Makefile - ''; + ''; }; postInstall = '' mv -v $out/sbin/unix_chkpwd{,.orig} ln -sv /var/setuid-wrappers/unix_chkpwd $out/sbin/unix_chkpwd - ''; + ''; preConfigure = '' configureFlags="$configureFlags --includedir=$out/include/security" diff --git a/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix b/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix index 34600870671..eae62c9e197 100644 --- a/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix +++ b/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix @@ -1,15 +1,23 @@ { stdenv, fetchurl, pam, openssl, perl }: stdenv.mkDerivation rec { - name = "pam_ssh_agent_auth-0.9.3"; + name = "pam_ssh_agent_auth-0.9.4"; src = fetchurl { url = "mirror://sourceforge/pamsshagentauth/${name}.tar.bz2"; - sha256 = "19p5mzplnr9g9vlp16nipf5rjw4v8zncvimarwgix958yml7j08h"; + sha256 = "1a8cv223f30mvkxnyh9hk6kya0ynkwwkc5nhlz3rcqhxfw0fcva9"; }; + patches = + [ # Allow multiple colon-separated authorized keys files to be + # specified in the file= option. + ./multiple-key-files.patch + ]; + buildInputs = [ pam openssl perl ]; + enableParallelBuilding = true; + meta = { homepage = http://pamsshagentauth.sourceforge.net/; description = "PAM module for authentication through the SSH agent"; diff --git a/pkgs/os-specific/linux/pam_ssh_agent_auth/multiple-key-files.patch b/pkgs/os-specific/linux/pam_ssh_agent_auth/multiple-key-files.patch new file mode 100644 index 00000000000..dc97b7d54f7 --- /dev/null +++ b/pkgs/os-specific/linux/pam_ssh_agent_auth/multiple-key-files.patch @@ -0,0 +1,338 @@ +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/iterate_ssh_agent_keys.c pam_ssh_agent_auth-0.9.4/iterate_ssh_agent_keys.c +--- pam_ssh_agent_auth-0.9.4-orig/iterate_ssh_agent_keys.c 2012-06-28 01:47:49.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/iterate_ssh_agent_keys.c 2012-12-17 19:29:16.014226336 +0000 +@@ -69,14 +69,14 @@ + return cookie; + } + +-int ++const char * + pamsshagentauth_find_authorized_keys(uid_t uid) + { + Identity *id; + Key *key; + AuthenticationConnection *ac; + char *comment; +- uint8_t retval = 0; ++ const char *key_file = 0; + + OpenSSL_add_all_digests(); + session_id2 = pamsshagentauth_session_id2_gen(); +@@ -90,13 +90,11 @@ + id->key = key; + id->filename = comment; + id->ac = ac; +- if(userauth_pubkey_from_id(id)) { +- retval = 1; +- } ++ key_file = userauth_pubkey_from_id(id); + pamsshagentauth_xfree(id->filename); + pamsshagentauth_key_free(id->key); + pamsshagentauth_xfree(id); +- if(retval == 1) ++ if(key_file) + break; + } + } +@@ -107,5 +105,5 @@ + } + pamsshagentauth_xfree(session_id2); + EVP_cleanup(); +- return retval; ++ return key_file; + } +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/iterate_ssh_agent_keys.h pam_ssh_agent_auth-0.9.4/iterate_ssh_agent_keys.h +--- pam_ssh_agent_auth-0.9.4-orig/iterate_ssh_agent_keys.h 2012-06-28 01:47:49.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/iterate_ssh_agent_keys.h 2012-12-17 19:28:57.454334806 +0000 +@@ -31,6 +31,6 @@ + #ifndef _ITERATE_SSH_AGENT_KEYS_H + #define _ITERATE_SSH_AGENT_KEYS_H + +-int pamsshagentauth_find_authorized_keys(uid_t); ++const char * pamsshagentauth_find_authorized_keys(uid_t); + + #endif +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/pam_ssh_agent_auth.c pam_ssh_agent_auth-0.9.4/pam_ssh_agent_auth.c +--- pam_ssh_agent_auth-0.9.4-orig/pam_ssh_agent_auth.c 2012-06-28 01:47:49.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/pam_ssh_agent_auth.c 2012-12-17 19:30:24.013830673 +0000 +@@ -60,7 +60,6 @@ + + #define strncasecmp_literal(A,B) strncasecmp( A, B, sizeof(B) - 1) + +-char *authorized_keys_file = NULL; + uint8_t allow_user_owned_authorized_keys_file = 0; + + #if ! HAVE___PROGNAME || HAVE_BUNDLE +@@ -161,15 +160,13 @@ + goto cleanexit; + } + +- if(authorized_keys_file_input && user) { +- /* +- * user is the name of the target-user, and so must be used for validating the authorized_keys file +- */ +- parse_authorized_key_file(user, authorized_keys_file_input); +- } else { +- pamsshagentauth_verbose("Using default file=/etc/security/authorized_keys"); +- authorized_keys_file = pamsshagentauth_xstrdup("/etc/security/authorized_keys"); +- } ++ if (!authorized_keys_file_input || !user) ++ authorized_keys_file_input = "/etc/security/authorized_keys"; ++ ++ /* ++ * user is the name of the target-user, and so must be used for validating the authorized_keys file ++ */ ++ parse_authorized_key_files(user, authorized_keys_file_input); + + /* + * PAM_USER and PAM_RUSER do not necessarily have to get set by the calling application, and we may be unable to divine the latter. +@@ -177,16 +174,17 @@ + */ + + if(user && strlen(ruser) > 0) { +- pamsshagentauth_verbose("Attempting authentication: `%s' as `%s' using %s", ruser, user, authorized_keys_file); ++ pamsshagentauth_verbose("Attempting authentication: `%s' as `%s' using %s", ruser, user, authorized_keys_file_input); + + /* + * this pw_uid is used to validate the SSH_AUTH_SOCK, and so must be the uid of the ruser invoking the program, not the target-user + */ +- if(pamsshagentauth_find_authorized_keys(getpwnam(ruser)->pw_uid)) { +- pamsshagentauth_logit("Authenticated: `%s' as `%s' using %s", ruser, user, authorized_keys_file); ++ const char *key_file; ++ if((key_file = pamsshagentauth_find_authorized_keys(getpwnam(ruser)->pw_uid))) { ++ pamsshagentauth_logit("Authenticated: `%s' as `%s' using %s", ruser, user, key_file); + retval = PAM_SUCCESS; + } else { +- pamsshagentauth_logit("Failed Authentication: `%s' as `%s' using %s", ruser, user, authorized_keys_file); ++ pamsshagentauth_logit("Failed Authentication: `%s' as `%s' using %s", ruser, user, authorized_keys_file_input); + } + } else { + pamsshagentauth_logit("No %s specified, cannot continue with this form of authentication", (user) ? "ruser" : "user" ); +@@ -198,7 +196,7 @@ + free(__progname); + #endif + +- free(authorized_keys_file); ++ free_authorized_key_files(); + + return retval; + } +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/pam_ssh_agent_auth.pod pam_ssh_agent_auth-0.9.4/pam_ssh_agent_auth.pod +--- pam_ssh_agent_auth-0.9.4-orig/pam_ssh_agent_auth.pod 2012-06-28 01:47:49.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/pam_ssh_agent_auth.pod 2012-12-17 19:52:35.968965448 +0000 +@@ -26,7 +26,7 @@ + + =item file= + +-Specify the path to the authorized_keys file(s) you would like to use for authentication. Subject to tilde and % EXPANSIONS (below) ++Specify the path(s) to the authorized_keys file(s) you would like to use for authentication. Subject to tilde and % EXPANSIONS (below). Paths are separated using colons. + + =item allow_user_owned_authorized_keys_file + +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/pam_user_authorized_keys.c pam_ssh_agent_auth-0.9.4/pam_user_authorized_keys.c +--- pam_ssh_agent_auth-0.9.4-orig/pam_user_authorized_keys.c 2012-06-28 01:47:49.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/pam_user_authorized_keys.c 2012-12-17 19:32:20.830157313 +0000 +@@ -79,66 +79,96 @@ + + #include "identity.h" + #include "pam_user_key_allowed2.h" ++#include "pam_user_authorized_keys.h" + +-extern char *authorized_keys_file; ++#define MAX_AUTHORIZED_KEY_FILES 16 ++ ++char *authorized_keys_files[MAX_AUTHORIZED_KEY_FILES]; ++unsigned int nr_authorized_keys_files = 0; + extern uint8_t allow_user_owned_authorized_keys_file; + uid_t authorized_keys_file_allowed_owner_uid; + + void +-parse_authorized_key_file(const char *user, const char *authorized_keys_file_input) ++parse_authorized_key_files(const char *user, const char *authorized_keys_file_input) + { +- char fqdn[HOST_NAME_MAX] = ""; ++ const char *pos = authorized_keys_file_input; + char hostname[HOST_NAME_MAX] = ""; +- char auth_keys_file_buf[4096] = ""; +- char *slash_ptr = NULL; +- char owner_uname[128] = ""; +- size_t owner_uname_len = 0; +- +- /* +- * temporary copy, so that both tilde expansion and percent expansion both get to apply to the path +- */ +- strncat(auth_keys_file_buf, authorized_keys_file_input, sizeof(auth_keys_file_buf) - 1); ++ char fqdn[HOST_NAME_MAX] = ""; ++ ++#if HAVE_GETHOSTNAME ++ *hostname = '\0'; ++ gethostname(fqdn, HOST_NAME_MAX); ++ strncat(hostname, fqdn, strcspn(fqdn,".")); ++#endif + +- if(allow_user_owned_authorized_keys_file) +- authorized_keys_file_allowed_owner_uid = getpwnam(user)->pw_uid; ++ while (pos) { ++ const char *colon = strchr(pos, ':'); ++ char auth_keys_file_buf[4096] = ""; ++ char *slash_ptr = NULL; ++ char owner_uname[128] = ""; ++ size_t owner_uname_len = 0; ++ ++ strncat(auth_keys_file_buf, pos, sizeof(auth_keys_file_buf) - 1); ++ if (colon) { ++ auth_keys_file_buf[colon - pos] = 0; ++ pos = colon + 1; ++ } else { ++ pos = 0; ++ } + +- if(*auth_keys_file_buf == '~') { +- if(*(auth_keys_file_buf+1) == '/') { ++ if(allow_user_owned_authorized_keys_file) + authorized_keys_file_allowed_owner_uid = getpwnam(user)->pw_uid; ++ ++ if(*auth_keys_file_buf == '~') { ++ if(*(auth_keys_file_buf+1) == '/') { ++ authorized_keys_file_allowed_owner_uid = getpwnam(user)->pw_uid; ++ } ++ else { ++ slash_ptr = strchr(auth_keys_file_buf,'/'); ++ if(!slash_ptr) ++ pamsshagentauth_fatal("cannot expand tilde in path without a `/'"); ++ ++ owner_uname_len = slash_ptr - auth_keys_file_buf - 1; ++ if(owner_uname_len > (sizeof(owner_uname) - 1) ) ++ pamsshagentauth_fatal("Username too long"); ++ ++ strncat(owner_uname, auth_keys_file_buf + 1, owner_uname_len); ++ if(!authorized_keys_file_allowed_owner_uid) ++ authorized_keys_file_allowed_owner_uid = getpwnam(owner_uname)->pw_uid; ++ } ++ char *tmp = pamsshagentauth_tilde_expand_filename(auth_keys_file_buf, authorized_keys_file_allowed_owner_uid); ++ strncpy(auth_keys_file_buf, tmp, sizeof(auth_keys_file_buf) - 1 ); ++ pamsshagentauth_xfree(tmp); + } +- else { +- slash_ptr = strchr(auth_keys_file_buf,'/'); +- if(!slash_ptr) +- pamsshagentauth_fatal("cannot expand tilde in path without a `/'"); +- +- owner_uname_len = slash_ptr - auth_keys_file_buf - 1; +- if(owner_uname_len > (sizeof(owner_uname) - 1) ) +- pamsshagentauth_fatal("Username too long"); +- +- strncat(owner_uname, auth_keys_file_buf + 1, owner_uname_len); +- if(!authorized_keys_file_allowed_owner_uid) +- authorized_keys_file_allowed_owner_uid = getpwnam(owner_uname)->pw_uid; ++ ++ if(strstr(auth_keys_file_buf, "%h")) { ++ authorized_keys_file_allowed_owner_uid = getpwnam(user)->pw_uid; + } +- authorized_keys_file = pamsshagentauth_tilde_expand_filename(auth_keys_file_buf, authorized_keys_file_allowed_owner_uid); +- strncpy(auth_keys_file_buf, authorized_keys_file, sizeof(auth_keys_file_buf) - 1 ); +- pamsshagentauth_xfree(authorized_keys_file) /* when we percent_expand later, we'd step on this, so free it immediately */; +- } + +- if(strstr(auth_keys_file_buf, "%h")) { +- authorized_keys_file_allowed_owner_uid = getpwnam(user)->pw_uid; ++ if (nr_authorized_keys_files >= MAX_AUTHORIZED_KEY_FILES) ++ pamsshagentauth_fatal("Too many authorized key files"); ++ authorized_keys_files[nr_authorized_keys_files++] = ++ pamsshagentauth_percent_expand(auth_keys_file_buf, "h", getpwnam(user)->pw_dir, "H", hostname, "f", fqdn, "u", user, NULL); + } ++} + +-#if HAVE_GETHOSTNAME +- *hostname = '\0'; +- gethostname(fqdn, HOST_NAME_MAX); +- strncat(hostname, fqdn, strcspn(fqdn,".")); +-#endif +- authorized_keys_file = pamsshagentauth_percent_expand(auth_keys_file_buf, "h", getpwnam(user)->pw_dir, "H", hostname, "f", fqdn, "u", user, NULL); ++void ++free_authorized_key_files() ++{ ++ unsigned int n; ++ for (n = 0; n < nr_authorized_keys_files; n++) ++ free(authorized_keys_files[n]); ++ nr_authorized_keys_files = 0; + } + +-int ++const char * + pam_user_key_allowed(Key * key) + { +- return pam_user_key_allowed2(getpwuid(authorized_keys_file_allowed_owner_uid), key, authorized_keys_file) +- || pam_user_key_allowed2(getpwuid(0), key, authorized_keys_file); ++ unsigned int n; ++ for (n = 0; n < nr_authorized_keys_files; n++) { ++ if (pam_user_key_allowed2(getpwuid(authorized_keys_file_allowed_owner_uid), key, authorized_keys_files[n]) ++ || pam_user_key_allowed2(getpwuid(0), key, authorized_keys_files[n])) ++ return authorized_keys_files[n]; ++ } ++ return 0; + } +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/pam_user_authorized_keys.h pam_ssh_agent_auth-0.9.4/pam_user_authorized_keys.h +--- pam_ssh_agent_auth-0.9.4-orig/pam_user_authorized_keys.h 2010-01-13 02:17:01.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/pam_user_authorized_keys.h 2012-12-17 19:24:34.477894517 +0000 +@@ -28,11 +28,12 @@ + */ + + +-#ifndef _PAM_USER_KEY_ALLOWED_H +-#define _PAM_USER_KEY_ALLOWED_H ++#ifndef _PAM_USER_AUTHORIZED_KEYS_H ++#define _PAM_USER_AUTHORIZED_KEYS_H + + #include "identity.h" +-int pam_user_key_allowed(Key *); +-void parse_authorized_key_file(const char *, const char *); ++const char * pam_user_key_allowed(Key *); ++void parse_authorized_key_files(const char *, const char *); ++void free_authorized_key_files(); + + #endif +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/userauth_pubkey_from_id.c pam_ssh_agent_auth-0.9.4/userauth_pubkey_from_id.c +--- pam_ssh_agent_auth-0.9.4-orig/userauth_pubkey_from_id.c 2012-06-28 01:47:49.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/userauth_pubkey_from_id.c 2012-12-17 19:27:30.813843933 +0000 +@@ -51,7 +51,7 @@ + extern u_char *session_id2; + extern uint8_t session_id_len; + +-int ++const char * + userauth_pubkey_from_id(Identity * id) + { + Buffer b = { 0 }; +@@ -59,11 +59,12 @@ + u_char *pkblob = NULL, *sig = NULL; + u_int blen = 0, slen = 0; + int authenticated = 0; ++ const char *key_file; + + pkalg = (char *) key_ssh_name(id->key); + + /* first test if this key is even allowed */ +- if(! pam_user_key_allowed(id->key)) ++ if(!(key_file = pam_user_key_allowed(id->key))) + goto user_auth_clean_exit; + + if(pamsshagentauth_key_to_blob(id->key, &pkblob, &blen) == 0) +@@ -96,5 +97,5 @@ + if(pkblob != NULL) + pamsshagentauth_xfree(pkblob); + CRYPTO_cleanup_all_ex_data(); +- return authenticated; ++ return authenticated ? key_file : 0; + } +diff -ru -x '*~' pam_ssh_agent_auth-0.9.4-orig/userauth_pubkey_from_id.h pam_ssh_agent_auth-0.9.4/userauth_pubkey_from_id.h +--- pam_ssh_agent_auth-0.9.4-orig/userauth_pubkey_from_id.h 2010-01-13 02:17:01.000000000 +0000 ++++ pam_ssh_agent_auth-0.9.4/userauth_pubkey_from_id.h 2012-12-17 19:25:54.893412987 +0000 +@@ -32,6 +32,6 @@ + #define _USERAUTH_PUBKEY_FROM_ID_H + + #include +-int userauth_pubkey_from_id(Identity *); ++const char * userauth_pubkey_from_id(Identity *); + + #endif diff --git a/pkgs/os-specific/linux/pam_unix2/default.nix b/pkgs/os-specific/linux/pam_unix2/default.nix deleted file mode 100644 index c2eec4a2e4b..00000000000 --- a/pkgs/os-specific/linux/pam_unix2/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ stdenv, fetchurl, pam, libxcrypt }: - -stdenv.mkDerivation { - name = "pam_unix2-2.6"; - - src = fetchurl { - url = ftp://ftp.suse.com/pub/people/kukuk/pam/pam_unix2/pam_unix2-2.6.tar.bz2; - sha256 = "067xnyd3q8ik73glxwyx1lydk4bgl78lzq44mnqqp4jrpnpd04ml"; - }; - - buildInputs = [ pam ] ++ stdenv.lib.optional (!stdenv.isArm) libxcrypt; - - meta = { - homepage = ftp://ftp.suse.com/pub/people/kukuk/pam/pam_unix2; - }; -} diff --git a/pkgs/os-specific/linux/pm-utils/default.nix b/pkgs/os-specific/linux/pm-utils/default.nix index f20cadabc53..e3b6168be9b 100644 --- a/pkgs/os-specific/linux/pm-utils/default.nix +++ b/pkgs/os-specific/linux/pm-utils/default.nix @@ -8,8 +8,8 @@ let sbinPath = stdenv.lib.makeSearchPath "sbin" [ procps ]; - -in + +in stdenv.mkDerivation rec { name = "pm-utils-1.4.1"; @@ -30,15 +30,26 @@ stdenv.mkDerivation rec { substituteInPlace pm/pm-functions.in --replace '/sbin:/usr/sbin:/bin:/usr/bin' '$PATH:${binPath}:${sbinPath}' substituteInPlace src/pm-action.in --replace 'tr ' '${coreutils}/bin/tr ' - + substituteInPlace pm/sleep.d/00logging --replace /bin/uname "$(type -P uname)" substituteInPlace pm/sleep.d/90clock --replace /sbin/hwclock hwclock ''; + postInstall = + '' + # Remove some hooks that have doubtful usefulness. See + # http://zinc.canonical.com/~cking/power-benchmarking/pm-utils-results/results.txt. + # In particular, journal-commit breaks things if you have + # read-only bind mounts, since it ends up remounting the + # underlying filesystem read-only. + rm $out/lib/pm-utils/power.d/{journal-commit,readahead} + ''; + meta = { homepage = http://pm-utils.freedesktop.org/wiki/; description = "A small collection of scripts that handle suspend and resume on behalf of HAL"; license = "GPLv2"; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/pmtools/default.nix b/pkgs/os-specific/linux/pmtools/default.nix new file mode 100644 index 00000000000..13a6e87319e --- /dev/null +++ b/pkgs/os-specific/linux/pmtools/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "pmtools-20071116"; + + src = fetchurl { + url = "http://www.lesswatts.org/patches/linux_acpi/${name}.tar.gz"; + sha256 = "91751774976e39f6237efd0326eb35196a9346220b92ad35894a33283e872748"; + }; + + installPhase = '' + mkdir -p $out/bin $out/share/pmtools + cp acpidump/acpidump acpixtract/acpixtract madt/madt $out/bin/ + cp README $out/share/pmtools/ + ''; + + meta = { + homepage = http://www.lesswatts.org/projects/acpi/utilities.php; + description = "Linux ACPI utilities"; + license = "GPLv2"; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix index d175c5f0478..4de8ad6db0f 100644 --- a/pkgs/os-specific/linux/powertop/default.nix +++ b/pkgs/os-specific/linux/powertop/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchurl, gettext, libnl1, ncurses, pciutils, pkgconfig, zlib }: +{ stdenv, fetchurl, gettext, libnl, ncurses, pciutils, pkgconfig, zlib }: stdenv.mkDerivation rec { - name = "powertop-2.0"; + name = "powertop-2.2"; + src = fetchurl { - url = "https://01.org/powertop/sites/default/files/downloads/${name}.tar.bz2"; - sha256 = "7af51d320856b3446bcc314c9414385f3b05b9360f650883b0210cd3b12c5c1c"; + url = "https://01.org/powertop/sites/default/files/downloads/${name}.tar.gz"; + sha256 = "0a5haxawcjrlwwxx4j5kd4ad05gjmcr13v8gswfwfxcn7fyf2f8k"; }; - buildInputs = [ gettext libnl1 ncurses pciutils pkgconfig zlib ]; + buildInputs = [ gettext libnl ncurses pciutils pkgconfig zlib ]; meta = { description = "Analyze power consumption on Intel-based laptops"; diff --git a/pkgs/os-specific/linux/procps-ng/default.nix b/pkgs/os-specific/linux/procps-ng/default.nix new file mode 100644 index 00000000000..6099505f1d6 --- /dev/null +++ b/pkgs/os-specific/linux/procps-ng/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, ncurses }: + +stdenv.mkDerivation { + name = "procps-ng-3.3.6"; + + src = fetchurl { + url = mirror://sourceforge/procps-ng/procps-ng-3.3.6.tar.xz; + sha256 = "0k0j3ilzfpw8n3y058ymgfmafdfqqqwpqm7nh7a35xlk6zgw96nh"; + }; + + buildInputs = [ ncurses ]; + + makeFlags = "usrbin_execdir=$(out)/bin"; + + enableParallelBuilding = true; + + crossAttrs = { + CC = stdenv.cross.config + "-gcc"; + }; + + meta = { + homepage = http://sourceforge.net/projects/procps-ng/; + description = "Utilities that give information about processes using the /proc filesystem"; + priority = 10; # less than coreutils, which also provides "kill" and "uptime" + }; +} diff --git a/pkgs/os-specific/linux/pwdutils/default.nix b/pkgs/os-specific/linux/pwdutils/default.nix deleted file mode 100644 index 98b9ab70735..00000000000 --- a/pkgs/os-specific/linux/pwdutils/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ stdenv, fetchurl, pam, gnutls, libnscd }: - -stdenv.mkDerivation rec { - name = "pwdutils-3.2.6"; - - src = fetchurl { - url = "mirror://kernel/linux/utils/net/NIS/${name}.tar.bz2"; - sha256 = "1pyawvv9x0hiachn1mb257s6hm92dh1ykczgp7ik8z6jl020z3n7"; - }; - - buildInputs = [ pam gnutls libnscd ]; - - patches = [ ./sys-stat-h.patch ]; - - postPatch = - '' for i in src/tst-* - do - sed -i "$i" -e's|/bin/bash|/bin/sh|g' - done - ''; - - configureFlags = "--disable-ldap --enable-gnutls --exec-prefix=$(out)"; - - # FIXME: The test suite seems to make assumptions that don't hold in Nix - # chroots. - doCheck = false; - - meta = { - description = "Linux pwdutils, utilities to manage passwd information"; - - longDescription = - '' Pwdutils is a collection of utilities to manage the passwd - information stored in local files, NIS, NIS+ or LDAP and can replace - the shadow suite complete. - ''; - - license = "GPLv2"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/os-specific/linux/pwdutils/sys-stat-h.patch b/pkgs/os-specific/linux/pwdutils/sys-stat-h.patch deleted file mode 100644 index 5b5bc8440d5..00000000000 --- a/pkgs/os-specific/linux/pwdutils/sys-stat-h.patch +++ /dev/null @@ -1,37 +0,0 @@ -Fix builds with current glibc git, which appears to be stricter -about . - ---- pwdutils-3.2.6/src/useradd.c~ 2008-10-16 13:46:07.000000000 +0200 -+++ pwdutils-3.2.6/src/useradd.c 2010-04-26 11:24:43.000000000 +0200 -@@ -18,6 +18,7 @@ - #include "config.h" - #endif - -+#include - #include - #include - #include - ---- pwdutils-3.2.6/src/userdel.c~ 2006-11-29 14:20:39.000000000 +0100 -+++ pwdutils-3.2.6/src/userdel.c 2010-04-26 11:26:08.000000000 +0200 -@@ -18,6 +18,7 @@ - #include "config.h" - #endif - -+#include - #include - #include - #include - -diff -ubB --show-c-function pwdutils-3.2.6/src/usermod.c\~ pwdutils-3.2.6/src/usermod.c ---- pwdutils-3.2.6/src/usermod.c~ 2006-11-29 14:20:41.000000000 +0100 -+++ pwdutils-3.2.6/src/usermod.c 2010-04-26 11:27:41.000000000 +0200 -@@ -18,6 +18,7 @@ - #include "config.h" - #endif - -+#include - #include - #include - #include - diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix index f6709bb439f..a26ea540808 100644 --- a/pkgs/os-specific/linux/qemu-kvm/default.nix +++ b/pkgs/os-specific/linux/qemu-kvm/default.nix @@ -1,41 +1,47 @@ { stdenv, fetchurl, attr, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2 -, libjpeg, libpng, ncurses, python, glib, libaio, mesa }: +, libjpeg, libpng, ncurses, python, glib, libaio, mesa +, spice, spice_protocol, spiceSupport ? false }: assert stdenv.isLinux; -let version = "1.0.1"; in +let version = "1.2.0"; in stdenv.mkDerivation rec { name = "qemu-kvm-${version}"; src = fetchurl { url = "mirror://sourceforge/kvm/qemu-kvm/${version}/${name}.tar.gz"; - sha256 = "0kxzwaw8h71mqcm46angpyx8gd58ascrxnr861k068xg89ix5g2p"; + sha256 = "018vb5nmk2fsm143bs2bl2wirhasd4b10d7jchl32zik4inbk2p9"; }; - patches = [ ./smb-tmpdir.patch ./qemu-img-fix-corrupt-vdi.patch ]; + patches = [ ./fix-librt-check.patch ]; postPatch = - '' for i in $(find kvm -type f) + '' for i in $(find . -type f) do sed -i "$i" \ -e 's|/bin/bash|/bin/sh|g ; s|/usr/bin/python|${python}/bin/python|g ; s|/bin/rm|rm|g' done + '' + stdenv.lib.optionalString spiceSupport '' + for i in configure spice-qemu-char.c ui/spice-input.c ui/spice-core.c ui/qemu-spice.h + do + substituteInPlace $i --replace '#include ' '#include ' + done ''; configureFlags = [ "--audio-drv-list=alsa" "--smbd=smbd" # use `smbd' from $PATH - ]; + ] ++ stdenv.lib.optional spiceSupport "--enable-spice"; enableParallelBuilding = true; buildInputs = [ attr zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng ncurses python glib libaio mesa - ]; + ] ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ]; postInstall = '' diff --git a/pkgs/os-specific/linux/qemu-kvm/fix-librt-check.patch b/pkgs/os-specific/linux/qemu-kvm/fix-librt-check.patch new file mode 100644 index 00000000000..57de288723e --- /dev/null +++ b/pkgs/os-specific/linux/qemu-kvm/fix-librt-check.patch @@ -0,0 +1,72 @@ +commit 8bacde8d86a09699207d85d4bab06162aed18dc4 +Author: Natanael Copa +Date: Wed Sep 12 09:06:51 2012 +0000 + + configure: properly check if -lrt and -lm is needed + + Fixes build against uClibc. + + uClibc provides 2 versions of clock_gettime(), one with realtime + support and one without (this is so you can avoid linking in -lrt + unless actually needed). This means that the clock_gettime() don't + need -lrt. We still need it for timer_create() so we check for this + function in addition. + + We also need check if -lm is needed for isnan(). + + Both -lm and -lrt are needed for libs_qga. + + Signed-off-by: Natanael Copa + Signed-off-by: Blue Swirl + +diff --git a/configure b/configure +index 7656c32..9ab13db 100755 +--- a/configure ++++ b/configure +@@ -2671,17 +2671,44 @@ fi + + + ########################################## ++# Do we need libm ++cat > $TMPC << EOF ++#include ++int main(void) { return isnan(sin(0.0)); } ++EOF ++if compile_prog "" "" ; then ++ : ++elif compile_prog "" "-lm" ; then ++ LIBS="-lm $LIBS" ++ libs_qga="-lm $libs_qga" ++else ++ echo ++ echo "Error: libm check failed" ++ echo ++ exit 1 ++fi ++ ++########################################## + # Do we need librt ++# uClibc provides 2 versions of clock_gettime(), one with realtime ++# support and one without. This means that the clock_gettime() don't ++# need -lrt. We still need it for timer_create() so we check for this ++# function in addition. + cat > $TMPC < + #include +-int main(void) { return clock_gettime(CLOCK_REALTIME, NULL); } ++int main(void) { ++ timer_create(CLOCK_REALTIME, NULL, NULL); ++ return clock_gettime(CLOCK_REALTIME, NULL); ++} + EOF + + if compile_prog "" "" ; then + : +-elif compile_prog "" "-lrt" ; then ++# we need pthread for static linking. use previous pthread test result ++elif compile_prog "" "-lrt $pthread_lib" ; then + LIBS="-lrt $LIBS" ++ libs_qga="-lrt $libs_qga" + fi + + if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \ diff --git a/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch b/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch deleted file mode 100644 index 446a69a146b..00000000000 --- a/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch +++ /dev/null @@ -1,27 +0,0 @@ -From http://patchwork.ozlabs.org/patch/137186/ - -diff -ru qemu-kvm-0.15.1-orig/block/vdi.c qemu-kvm-0.15.1/block/vdi.c ---- qemu-kvm-0.15.1-orig/block/vdi.c 2011-10-19 15:54:48.000000000 +0200 -+++ qemu-kvm-0.15.1/block/vdi.c 2012-02-25 18:15:36.114574574 +0100 -@@ -1,7 +1,7 @@ - /* - * Block driver for the Virtual Disk Image (VDI) format - * -- * Copyright (c) 2009 Stefan Weil -+ * Copyright (c) 2009, 2012 Stefan Weil - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by -@@ -767,8 +767,12 @@ - acb->header_modified = 1; - } - acb->bmap_last = block_index; -+ /* Copy data to be written to new block and zero unused parts. */ -+ memset(block, 0, sector_in_block * SECTOR_SIZE); - memcpy(block + sector_in_block * SECTOR_SIZE, - acb->buf, n_sectors * SECTOR_SIZE); -+ memset(block + (sector_in_block + n_sectors) * SECTOR_SIZE, 0, -+ (s->block_sectors - n_sectors - sector_in_block) * SECTOR_SIZE); - acb->hd_iov.iov_base = (void *)block; - acb->hd_iov.iov_len = s->block_size; - qemu_iovec_init_external(&acb->hd_qiov, &acb->hd_iov, 1); diff --git a/pkgs/os-specific/linux/qemu-kvm/smb-tmpdir.patch b/pkgs/os-specific/linux/qemu-kvm/smb-tmpdir.patch deleted file mode 100644 index 6d6c7831d15..00000000000 --- a/pkgs/os-specific/linux/qemu-kvm/smb-tmpdir.patch +++ /dev/null @@ -1,33 +0,0 @@ -Honour $TMPDIR for the qemu-smb temporary directory. - -diff -rc -x '*~' qemu-kvm-0.12.2-orig/net/slirp.c qemu-kvm-0.12.2/net/slirp.c -*** qemu-kvm-0.12.2-orig/net/slirp.c 2010-02-01 19:05:24.000000000 +0100 ---- qemu-kvm-0.12.2/net/slirp.c 2010-02-01 19:05:54.000000000 +0100 -*************** -*** 476,486 **** - struct in_addr vserver_addr) - { - static int instance; -! char smb_conf[128]; -! char smb_cmdline[128]; - FILE *f; - -! snprintf(s->smb_dir, sizeof(s->smb_dir), "/tmp/qemu-smb.%ld-%d", - (long)getpid(), instance++); - if (mkdir(s->smb_dir, 0700) < 0) { - qemu_error("could not create samba server dir '%s'\n", s->smb_dir); ---- 476,489 ---- - struct in_addr vserver_addr) - { - static int instance; -! char smb_conf[1024]; -! char smb_cmdline[1024]; - FILE *f; - -! char *tmpdir = getenv("TMPDIR"); -! -! snprintf(s->smb_dir, sizeof(s->smb_dir), "%s/qemu-smb.%ld-%d", -! tmpdir ? tmpdir : "/tmp", - (long)getpid(), instance++); - if (mkdir(s->smb_dir, 0700) < 0) { - qemu_error("could not create samba server dir '%s'\n", s->smb_dir); diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix new file mode 100644 index 00000000000..573f1a578c7 --- /dev/null +++ b/pkgs/os-specific/linux/reptyr/default.nix @@ -0,0 +1,17 @@ +{stdenv, fetchgit}: +stdenv.mkDerivation rec { + version = "0.4"; + name = "reptyr-${version}"; + src = fetchgit { + url = "https://github.com/nelhage/reptyr.git"; + rev = "refs/tags/${name}"; + sha256 = "2d2814c210e4bde6f9bcf3aa20477287d7e4a5aa7ee09110b37d2eaaf7e5ecae"; + }; + makeFlags = ["PREFIX=$(out)"]; + meta = { + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [raskin]; + license = stdenv.lib.licenses.mit; + description = ''A Linux tool to change controlling pty of a process''; + }; +} diff --git a/pkgs/os-specific/linux/sepolgen/default.nix b/pkgs/os-specific/linux/sepolgen/default.nix deleted file mode 100644 index a17a4153c47..00000000000 --- a/pkgs/os-specific/linux/sepolgen/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenv, fetchurl, python }: -stdenv.mkDerivation rec { - - name = "sepolgen-${version}"; - version = "1.0.23"; - - src = fetchurl { - url = http://userspace.selinuxproject.org/releases/20101221/devel/sepolgen-1.0.23.tar.gz; - sha256 = "04d11l091iclp8lnay9as7y473ydrjz7171h95ddsbn0ihj5if2p"; - }; - - buildInputs = [ python ]; - preBuild = '' makeFlags="$makeFlags DESTDIR=$out PACKAGEDIR=$out/lib/${python.libPrefix}/site-packages/sepolgen" ''; - - meta = with stdenv.lib; { - homepage = http://userspace.selinuxproject.org/; - description = "Python module for SELinux policy generation"; - license = licenses.gpl2; - maintainers = [ maintainers.phreedom ]; - platforms = platforms.linux; - }; -} \ No newline at end of file diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index d401a04e6b9..1055fccd8aa 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -7,6 +7,11 @@ let then glibcCross else assert stdenv ? glibc; stdenv.glibc; + dots_in_usernames = fetchurl { + url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/shadow/files/shadow-4.1.3-dots-in-usernames.patch; + sha256 = "1fj3rg6x3jppm5jvi9y7fhd2djbi4nc5pgwisw00xlh4qapgz692"; + }; + in stdenv.mkDerivation rec { @@ -19,7 +24,7 @@ stdenv.mkDerivation rec { buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam; - patches = [ ./keep-path.patch ]; + patches = [ ./keep-path.patch dots_in_usernames ]; # Assume System V `setpgrp (void)', which is the default on GNU variants # (`AC_FUNC_SETPGRP' is not cross-compilation capable.) diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix new file mode 100644 index 00000000000..c95060a5ffb --- /dev/null +++ b/pkgs/os-specific/linux/spl/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }: + +stdenv.mkDerivation { + name = "spl-0.6.0-rc14-${kernel.version}"; + src = fetchurl { + url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc14.tar.gz; + sha256 = "00wyamf13z8ins4s14xf0b3hfjfz4w084mr17hs3k5xifb5jxa8g"; + }; + + patches = [ ./install_prefix.patch ./install_prefix_2.patch ./module_prefix.patch ]; + + buildInputs = [ perl kernel autoconf automake libtool ]; + + NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated"; + + preConfigure = '' + ./autogen.sh + + substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid + substituteInPlace ./module/spl/spl-module.c --replace /bin/mknod mknod + + substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin" + substituteInPlace ./module/spl/spl-module.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" + substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" + ''; + + configureFlags = '' + --with-linux=${kernel}/lib/modules/${kernel.version}/build + --with-linux-obj=${kernel}/lib/modules/${kernel.version}/build + ''; + + meta = { + description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)"; + + longDescription = '' + This kernel module is a porting layer for ZFS to work inside the linux + kernel. + ''; + + homepage = http://zfsonlinux.org/; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/os-specific/linux/spl/install_prefix.patch b/pkgs/os-specific/linux/spl/install_prefix.patch new file mode 100644 index 00000000000..9a7393b7170 --- /dev/null +++ b/pkgs/os-specific/linux/spl/install_prefix.patch @@ -0,0 +1,19 @@ +*** spl-0.6.0-rc10/Makefile.am.old Fri Aug 17 14:49:16 2012 +--- spl-0.6.0-rc10/Makefile.am Fri Aug 17 14:51:06 2012 +*************** +*** 32,38 **** + if CONFIG_KERNEL + install-data-local: + release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \ +! instdest=$(DESTDIR)/usr/src/spl-$$release/$(LINUX_VERSION); \ + for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \ + $(INSTALL) -D $$instfile $$instdest/$$instfile; \ + done +--- 32,38 ---- + if CONFIG_KERNEL + install-data-local: + release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \ +! instdest=$(DESTDIR)/@libexecdir@/spl/$(LINUX_VERSION); \ + for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \ + $(INSTALL) -D $$instfile $$instdest/$$instfile; \ + done diff --git a/pkgs/os-specific/linux/spl/install_prefix_2.patch b/pkgs/os-specific/linux/spl/install_prefix_2.patch new file mode 100644 index 00000000000..6068ad1d69c --- /dev/null +++ b/pkgs/os-specific/linux/spl/install_prefix_2.patch @@ -0,0 +1,32 @@ +*** git-export/include/Makefile.am Tue Mar 6 00:05:28 2012 +--- git-export/include/Makefile.am.new Tue Mar 6 00:04:46 2012 +*************** +*** 16,22 **** + + install-data-local: + release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \ +! instdest=$(DESTDIR)/usr/src/spl-$$release/$(LINUX_VERSION); \ + instfiles=`find . -name '*.h'`; \ + for instfile in $$instfiles; do \ + $(INSTALL) -D $$instfile $$instdest/$$instfile; \ +--- 16,22 ---- + + install-data-local: + release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \ +! instdest=$(DESTDIR)/@libexecdir@/spl/$(LINUX_VERSION); \ + instfiles=`find . -name '*.h'`; \ + for instfile in $$instfiles; do \ + $(INSTALL) -D $$instfile $$instdest/$$instfile; \ +*************** +*** 24,28 **** + + uninstall-local: + release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \ +! instdest=$(DESTDIR)/usr/src/spl-$$release/$(LINUX_VERSION); \ + $(RM) -R $$instdest +--- 24,28 ---- + + uninstall-local: + release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \ +! instdest=$(DESTDIR)/@libexecdir@/spl/$(LINUX_VERSION); \ + $(RM) -R $$instdest diff --git a/pkgs/os-specific/linux/spl/module_prefix.patch b/pkgs/os-specific/linux/spl/module_prefix.patch new file mode 100644 index 00000000000..dd40711ccdb --- /dev/null +++ b/pkgs/os-specific/linux/spl/module_prefix.patch @@ -0,0 +1,33 @@ +*** git-export/module/Makefile.in Wed Dec 31 16:00:01 1969 +--- git-export/module/Makefile.in.new Sat Jan 28 21:42:06 2012 +*************** +*** 17,30 **** + modules_install: + @# Install the kernel modules + $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \ +! INSTALL_MOD_PATH=$(DESTDIR) \ + INSTALL_MOD_DIR=addon/spl $@ + @# Remove extraneous build products when packaging +! if [ -n "$(DESTDIR)" ]; then \ +! find $(DESTDIR)/lib/modules/@LINUX_VERSION@ \ + -name 'modules.*' | xargs $(RM); \ + fi +! sysmap=$(DESTDIR)/boot/System.map-@LINUX_VERSION@; \ + if [ -f $$sysmap ]; then \ + depmod -ae -F $$sysmap @LINUX_VERSION@; \ + fi +--- 17,30 ---- + modules_install: + @# Install the kernel modules + $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \ +! INSTALL_MOD_PATH=@prefix@ \ + INSTALL_MOD_DIR=addon/spl $@ + @# Remove extraneous build products when packaging +! if [ -n "@prefix@" ]; then \ +! find @prefix@/lib/modules/@LINUX_VERSION@ \ + -name 'modules.*' | xargs $(RM); \ + fi +! sysmap=@prefix@/boot/System.map-@LINUX_VERSION@; \ + if [ -f $$sysmap ]; then \ + depmod -ae -F $$sysmap @LINUX_VERSION@; \ + fi diff --git a/pkgs/os-specific/linux/sysfsutils/default.nix b/pkgs/os-specific/linux/sysfsutils/default.nix index cecb65f50a2..bf6dafae10a 100644 --- a/pkgs/os-specific/linux/sysfsutils/default.nix +++ b/pkgs/os-specific/linux/sysfsutils/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "sysfsutils-2.1.0"; src = fetchurl { - url = "http://kent.dl.sourceforge.net/sourceforge/linux-diag/${name}.tar.gz"; + url = "mirror://sourceforge/linux-diag/${name}.tar.gz"; sha256 = "e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a"; }; diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix index 1287da097ca..98917f943f5 100644 --- a/pkgs/os-specific/linux/syslinux/default.nix +++ b/pkgs/os-specific/linux/syslinux/default.nix @@ -1,16 +1,18 @@ -{ stdenv, fetchurl, nasm, perl }: +{ stdenv, fetchurl, nasm, perl, libuuid }: stdenv.mkDerivation rec { - name = "syslinux-4.03"; - + name = "syslinux-4.06"; + src = fetchurl { url = "mirror://kernel/linux/utils/boot/syslinux/4.xx/${name}.tar.bz2"; - sha256 = "0f6s1cnibw6j0jh9bn5qsx3vsar9l1w9b3xfjkvzglgr4kinfmf6"; + sha256 = "09md61npd5z64rv5s3knl4qsn2bqsn57irm5izk6snf46r77gdyv"; }; patches = [ ./perl-deps.patch ]; - - buildInputs = [ nasm perl ]; + + buildInputs = [ nasm perl libuuid ]; + + enableParallelBuilding = true; preBuild = '' @@ -18,4 +20,9 @@ stdenv.mkDerivation rec { substituteInPlace gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl) makeFlagsArray=(BINDIR=$out/bin SBINDIR=$out/sbin LIBDIR=$out/lib INCDIR=$out/include DATADIR=$out/share MANDIR=$out/share/man PERL=perl) ''; + + meta = { + homepage = http://www.syslinux.org/; + description = "A lightweight bootloader"; + }; } diff --git a/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch b/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch new file mode 100644 index 00000000000..9afa7543e57 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch @@ -0,0 +1,26 @@ +From 0085f49cd0ba889e3db9102f328f6044ae3a2c18 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 8 Jan 2013 15:44:33 +0100 +Subject: [PATCH 1/6] Make "systemctl daemon-reexec" do the right thing on + NixOS + +--- + src/core/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/main.c b/src/core/main.c +index 1ee3c9c..1686f60 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -1858,7 +1858,7 @@ finish: + char_array_0(sfd); + + i = 0; +- args[i++] = SYSTEMD_BINARY_PATH; ++ args[i++] = "/run/current-system/systemd/lib/systemd/systemd"; + if (switch_root_dir) + args[i++] = "--switched-root"; + args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user"; +-- +1.8.0.1 + diff --git a/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch b/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch new file mode 100644 index 00000000000..76160a1f7cc --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0002-Ignore-duplicate-paths-in-systemctl-start.patch @@ -0,0 +1,30 @@ +From 2b0a9106d3aabb365af0cc34b595a1e697120f37 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 8 Jan 2013 15:45:01 +0100 +Subject: [PATCH 2/6] Ignore duplicate paths in "systemctl start" + +--- + src/systemctl/systemctl.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 2ebfff8..9f99df5 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -1591,8 +1591,11 @@ static int start_unit_one( + + r = set_put(s, p); + if (r < 0) { +- log_error("Failed to add path to set."); +- return r; ++ free(p); ++ if (r != -EEXIST) { ++ log_error("Failed to add path %s to set.", p); ++ return r; ++ } + } + + p = NULL; +-- +1.8.0.1 + diff --git a/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch b/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch new file mode 100644 index 00000000000..a16a2672feb --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0003-Start-device-units-for-uninitialised-encrypted-devic.patch @@ -0,0 +1,32 @@ +From a013beb84f135cebf1c8c9363d5676c1c0a6be7a Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 8 Jan 2013 15:46:30 +0100 +Subject: [PATCH 3/6] Start device units for uninitialised encrypted devices + +This is necessary because the NixOS service that initialises the +filesystem depends on the appearance of the device unit. Also, this +makes more sense to me: the device is ready; it's the filesystem +that's not, but taking care of that is the responsibility of the mount +unit. (However, this ignores the fsck unit, so it's not perfect...) +--- + rules/99-systemd.rules.in | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in +index d17bdd9..040b10e 100644 +--- a/rules/99-systemd.rules.in ++++ b/rules/99-systemd.rules.in +@@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd" + SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd" + SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0" + +-# Ignore encrypted devices with no identified superblock on it, since +-# we are probably still calling mke2fs or mkswap on it. +-SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0" +- + # Ignore raid devices that are not yet assembled and started + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" + SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" +-- +1.8.0.1 + diff --git a/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch b/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch new file mode 100644 index 00000000000..beab35d63a0 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0004-Set-switch-to-configuration-hints-for-some-units.patch @@ -0,0 +1,74 @@ +From b40d8783f94666035baae567882c0d4be82cda01 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 8 Jan 2013 15:48:19 +0100 +Subject: [PATCH 4/6] Set switch-to-configuration hints for some units +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Target units like local-fs.target need ‘X-StopOnReconfiguration=yes’ +to ensure dependencies *on* that target properly take into account the +dependencies *of* the target. + +‘X-RestartIfChanged=no’ is necessary for systemd-journald.service +because restarting it causes services connected to journald to stop +logging. + +‘X-RestartIfChanged=no’ is necessary for systemd-user-sessions.service +to prevent all user sessions from being killed when this unit changes. +--- + units/local-fs.target | 2 ++ + units/remote-fs.target | 2 ++ + units/systemd-journald.service.in | 5 +++++ + units/systemd-user-sessions.service.in | 3 +++ + 4 files changed, 12 insertions(+) + +diff --git a/units/local-fs.target b/units/local-fs.target +index dd92b17..dfcbc7b 100644 +--- a/units/local-fs.target ++++ b/units/local-fs.target +@@ -10,3 +10,5 @@ Description=Local File Systems + Documentation=man:systemd.special(7) + OnFailure=emergency.target + OnFailureIsolate=yes ++ ++X-StopOnReconfiguration=yes +diff --git a/units/remote-fs.target b/units/remote-fs.target +index 9e68878..85a53d7 100644 +--- a/units/remote-fs.target ++++ b/units/remote-fs.target +@@ -9,5 +9,7 @@ + Description=Remote File Systems + Documentation=man:systemd.special(7) + ++X-StopOnReconfiguration=yes ++ + [Install] + WantedBy=multi-user.target +diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in +index ab2e50c..9563a7d 100644 +--- a/units/systemd-journald.service.in ++++ b/units/systemd-journald.service.in +@@ -24,3 +24,8 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_SYSLOG C + # Increase the default a bit in order to allow many simultaneous + # services being run since we keep one fd open per service. + LimitNOFILE=16384 ++ ++# Don't restart journald, since that causes services connected to ++# journald to stop logging (see ++# https://bugs.freedesktop.org/show_bug.cgi?id=56043). ++X-RestartIfChanged=no +diff --git a/units/systemd-user-sessions.service.in b/units/systemd-user-sessions.service.in +index 0869e73..b6ed958 100644 +--- a/units/systemd-user-sessions.service.in ++++ b/units/systemd-user-sessions.service.in +@@ -15,3 +15,6 @@ Type=oneshot + RemainAfterExit=yes + ExecStart=@rootlibexecdir@/systemd-user-sessions start + ExecStop=@rootlibexecdir@/systemd-user-sessions stop ++ ++# Restart kills all active sessions. ++X-RestartIfChanged=no +-- +1.8.0.1 + diff --git a/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch b/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch new file mode 100644 index 00000000000..4403e6f56aa --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch @@ -0,0 +1,33 @@ +From c5c8ac3a0420fb42ba2f629368fd5bd6ea1e753b Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 8 Jan 2013 15:56:03 +0100 +Subject: [PATCH 5/6] sysinit.target: Drop the dependency on local-fs.target + and swap.target + +Having all services with DefaultDependencies=yes depend on +local-fs.target is annoying, because some of those services might be +necessary to mount local filesystems. For instance, Charon's +send-keys feature requires sshd to be running in order to receive LUKS +encryption keys, which in turn requires dhcpcd, and so on. So we drop +this dependency (and swap.target as well for consistency). If +services require a specific mount, they should use RequiresMountsFor +in any case. +--- + units/sysinit.target | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/units/sysinit.target b/units/sysinit.target +index 8f4fb8f..e0f0147 100644 +--- a/units/sysinit.target ++++ b/units/sysinit.target +@@ -9,6 +9,5 @@ + Description=System Initialization + Documentation=man:systemd.special(7) + Conflicts=emergency.service emergency.target +-Wants=local-fs.target swap.target +-After=local-fs.target swap.target emergency.service emergency.target ++After=emergency.service emergency.target + RefuseManualStart=yes +-- +1.8.0.1 + diff --git a/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch b/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch new file mode 100644 index 00000000000..250a751fe0c --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0006-Don-t-call-plymouth-quit.patch @@ -0,0 +1,38 @@ +From d3caa154098e215145679f38fa92a8bd482107be Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 8 Jan 2013 18:36:28 +0100 +Subject: [PATCH 6/6] Don't call "plymouth quit" + +NixOS doesn't use Plymouth (yet). +--- + units/emergency.service.in | 1 - + units/rescue.service.m4.in | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/units/emergency.service.in b/units/emergency.service.in +index 442f0e0..6b7eafd 100644 +--- a/units/emergency.service.in ++++ b/units/emergency.service.in +@@ -15,7 +15,6 @@ Before=shutdown.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' + ExecStart=-/sbin/sulogin + ExecStopPost=@SYSTEMCTL@ --fail --no-block default +diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in +index 269797a..2c640f4 100644 +--- a/units/rescue.service.m4.in ++++ b/units/rescue.service.m4.in +@@ -16,7 +16,6 @@ Before=shutdown.target + [Service] + Environment=HOME=/root + WorkingDirectory=/root +-ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.' + ExecStart=-/sbin/sulogin + ExecStopPost=-@SYSTEMCTL@ --fail --no-block default +-- +1.8.0.1 + diff --git a/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch b/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch new file mode 100644 index 00000000000..1a8d294fd22 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0007-Ignore-IPv6-link-local-addresses.patch @@ -0,0 +1,37 @@ +From ab889004b8972258a87798133451f99dfce21823 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Mon, 4 Feb 2013 12:41:14 +0100 +Subject: [PATCH 7/8] Ignore IPv6 link-local addresses + +Returning IPv6 link-local addresses is a bad idea, because they only +work if an application connects specifically over the corresponding +interface. So you get errors like: + + $ curl -6 http://my-machine/ + curl: (7) Failed to connect to fe80::d6be:d9ff:fe1b:8477: Invalid argument + +To prevent this, this patch filters out link-local addresses. So if +you don't have a routable IPv6 address, nss-myhostname will fall back +to returning ::1. +--- + src/nss-myhostname/netlink.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c +index 53c3b50..621ca1d 100644 +--- a/src/nss-myhostname/netlink.c ++++ b/src/nss-myhostname/netlink.c +@@ -155,6 +155,10 @@ int ifconf_acquire_addresses(struct address **_list, unsigned *_n_list) { + ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE) + continue; + ++ if (ifaddrmsg->ifa_family == AF_INET6 && ++ ifaddrmsg->ifa_scope == RT_SCOPE_LINK) ++ continue; ++ + if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED) + continue; + +-- +1.8.1 + diff --git a/pkgs/os-specific/linux/systemd/0008-Fix-a-segfault-in-nscd-when-using-nss-myhostname.patch b/pkgs/os-specific/linux/systemd/0008-Fix-a-segfault-in-nscd-when-using-nss-myhostname.patch new file mode 100644 index 00000000000..6937c6c594e --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0008-Fix-a-segfault-in-nscd-when-using-nss-myhostname.patch @@ -0,0 +1,42 @@ +From ef9b259ae24e7bf4ebec04b0b0a44964bc661bb5 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Mon, 4 Feb 2013 12:43:08 +0100 +Subject: [PATCH 8/8] Fix a segfault in nscd when using nss-myhostname +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Nscd expects that an NSS module's gethostbyname4_r function returns +its first result in the pre-allocated gaih_addrtuple denoted by **pat. +(See nscd/aicache.c in the Glibc sources.) However, nss-myhostname +doesn't fill in **pat but allocates the first result in ‘buffer’, then +sets *pat. So nscd crashes (e.g. when running ‘getent ahosts +my-machine’). + +Hard to tell if this is a bug in nscd, since there doesn't seem to be +a proper API spec for gethostbyname4_r. But in any case, this patch +fixes the crash by copying the first result to **pat. +--- + src/nss-myhostname/nss-myhostname.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c +index 834a806..b0fb832 100644 +--- a/src/nss-myhostname/nss-myhostname.c ++++ b/src/nss-myhostname/nss-myhostname.c +@@ -176,7 +176,11 @@ enum nss_status _nss_myhostname_gethostbyname4_r( + /* Verify the size matches */ + assert(idx == ms); + +- *pat = r_tuple_prev; ++ /* Nscd expects us to store the first record in **pat. */ ++ if (*pat) ++ **pat = *r_tuple_prev; ++ else ++ *pat = r_tuple_prev; + + if (ttlp) + *ttlp = 0; +-- +1.8.1 + diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index e6e5822c9ea..9e64bb7ed40 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,66 +1,89 @@ { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod -, xz, pam, acl, cryptsetup, libuuid, m4, utillinux, usbutils, pciutils -, glib, kbd +, xz, pam, acl, cryptsetup, libuuid, m4, utillinux +, glib, kbd, libxslt, coreutils, libgcrypt, sysvtools }: assert stdenv.gcc.libc or null != null; stdenv.mkDerivation rec { - name = "systemd-188"; + name = "systemd-197"; src = fetchurl { url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz"; - sha256 = "0nr1cg1mizbwcafjcqw3c30mx6xdv596jpbgjlxr6myvc5hfsfg8"; + sha256 = "1dbljyyc3w4a1af99f15f3sqnfx7mfmc5x5hwxb70kg23ai7x1g6"; }; - patches = [ ./fail-after-reaching-respawn-limit.patch ]; + patches = + [ ./0001-Make-systemctl-daemon-reexec-do-the-right-thing-on-N.patch + ./0002-Ignore-duplicate-paths-in-systemctl-start.patch + ./0003-Start-device-units-for-uninitialised-encrypted-devic.patch + ./0004-Set-switch-to-configuration-hints-for-some-units.patch + ./0005-sysinit.target-Drop-the-dependency-on-local-fs.targe.patch + ./0006-Don-t-call-plymouth-quit.patch + ./0007-Ignore-IPv6-link-local-addresses.patch + ./0008-Fix-a-segfault-in-nscd-when-using-nss-myhostname.patch + ] ++ stdenv.lib.optional stdenv.isArm ./libc-bug-accept4-arm.patch; buildInputs = [ pkgconfig intltool gperf libcap dbus kmod xz pam acl - /* cryptsetup */ libuuid m4 usbutils pciutils glib + /* cryptsetup */ libuuid m4 glib libxslt libgcrypt ]; configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" - "--with-distro=other" "--with-rootprefix=$(out)" + "--with-kbd-loadkeys=${kbd}/bin/loadkeys" + "--with-kbd-setfont=${kbd}/bin/setfont" "--with-rootprefix=$(out)" "--with-dbusinterfacedir=$(out)/share/dbus-1/interfaces" "--with-dbuspolicydir=$(out)/etc/dbus-1/system.d" "--with-dbussystemservicedir=$(out)/share/dbus-1/system-services" "--with-dbussessionservicedir=$(out)/share/dbus-1/services" "--with-firmware-path=/root/test-firmware:/var/run/current-system/firmware" - "--with-pci-ids-path=${pciutils}/share/pci.ids" "--with-tty-gid=3" # tty in NixOS has gid 3 ]; preConfigure = '' # FIXME: patch this in systemd properly (and send upstream). - for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c; do + # FIXME: use sulogin from util-linux once updated. + for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c units/emergency.service.in units/rescue.service.m4.in; do test -e $i substituteInPlace $i \ --replace /bin/mount ${utillinux}/bin/mount \ --replace /bin/umount ${utillinux}/bin/umount \ --replace /sbin/swapon ${utillinux}/sbin/swapon \ --replace /sbin/swapoff ${utillinux}/sbin/swapoff \ - --replace /sbin/fsck ${utillinux}/sbin/fsck + --replace /sbin/fsck ${utillinux}/sbin/fsck \ + --replace /bin/echo ${coreutils}/bin/echo \ + --replace /sbin/sulogin ${sysvtools}/sbin/sulogin done + + substituteInPlace src/journal/catalog.c \ + --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/ ''; + PYTHON_BINARY = "${coreutils}/bin/env python"; # don't want a build time dependency on Python + NIX_CFLAGS_COMPILE = - [ "-DKBD_LOADKEYS=\"${kbd}/bin/loadkeys\"" - "-DKBD_SETFONT=\"${kbd}/bin/setfont\"" - # Can't say ${polkit}/bin/pkttyagent here because that would + [ # Can't say ${polkit}/bin/pkttyagent here because that would # lead to a cyclic dependency. "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\"" "-fno-stack-protector" + # Work around our kernel headers being too old. FIXME: remove + # this after the next stdenv update. + "-DFS_NOCOW_FL=0x00800000" ]; - makeFlags = "CPPFLAGS=-I${stdenv.gcc.libc}/include"; + # Use /var/lib/udev rather than /etc/udev for the generated hardware + # database. Upstream doesn't want this (see commit + # 1e1954f53386cb773e2a152748dd31c4d36aa2d8) because using /var is + # forbidden in early boot, but in NixOS the initrd guarantees that + # /var is mounted. + makeFlags = "CPPFLAGS=-I${stdenv.gcc.libc}/include hwdb_bin=/var/lib/udev/hwdb.bin"; - installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc"; + installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc sysvinitdir=$(TMPDIR)/etc/init.d"; # Get rid of configuration-specific data. postInstall = @@ -75,7 +98,14 @@ stdenv.mkDerivation rec { for i in init halt poweroff runlevel reboot shutdown; do ln -s $out/bin/systemctl $out/sbin/$i done - ''; + + # Fix reference to /bin/false in the D-Bus services. + for i in $out/share/dbus-1/system-services/*.service; do + substituteInPlace $i --replace /bin/false ${coreutils}/bin/false + done + + rm -rf $out/etc/rpm + ''; # */ enableParallelBuilding = true; @@ -88,7 +118,9 @@ stdenv.mkDerivation rec { passthru.interfaceVersion = 2; meta = { - homepage = http://www.freedesktop.org/wiki/Software/systemd; + homepage = "http://www.freedesktop.org/wiki/Software/systemd"; description = "A system and service manager for Linux"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch b/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch deleted file mode 100644 index 7271b5578d5..00000000000 --- a/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/core/service.c b/src/core/service.c -index 1c127bd..eafdbe5 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -2487,6 +2487,7 @@ static int service_start(Unit *u) { - r = service_start_limit_test(s); - if (r < 0) { - service_notify_sockets_dead(s, true); -+ service_set_state(s, SERVICE_FAILED); - return r; - } - diff --git a/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch b/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch new file mode 100644 index 00000000000..7cde2260189 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/libc-bug-accept4-arm.patch @@ -0,0 +1,81 @@ +Based on a patch for udev in +nixpkgs(upstart)/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch + +It was taken from: +https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/udev-oxnas/pre-accept4-kernel.patch + +Basically, ARM implemented accept4() only in 2.6.36. Nixpkgs now uses +linux headers from 2.6.35. And the particular nixpkgs glibc version had a bug, +not checking about 2.6.36 for accept4 on arm. + +diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c +index 7b88f74..a9f7b62 100644 +--- a/src/journal/journald-stream.c ++++ b/src/journal/journald-stream.c +@@ -347,10 +347,12 @@ int stdout_stream_new(Server *s) { + int fd, r; + socklen_t len; + struct epoll_event ev; ++ int flgs; + + assert(s); + +- fd = accept4(s->stdout_fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC); ++ //fd = accept4(s->stdout_fd, NULL, NULL, SOCK_NONBLOCK|SOCK_CLOEXEC); ++ fd = accept(s->stdout_fd, NULL, NULL); + if (fd < 0) { + if (errno == EAGAIN) + return 0; +@@ -359,6 +361,11 @@ int stdout_stream_new(Server *s) { + return -errno; + } + ++ // Since we don't have accept4 ++ flgs = fcntl(fd, F_GETFL, NULL); ++ if(flgs >= 0) fcntl(fd, F_SETFL, flgs | O_NONBLOCK); ++ fcntl(fd, F_SETFD, FD_CLOEXEC); ++ + if (s->n_stdout_streams >= STDOUT_STREAMS_MAX) { + log_warning("Too many stdout streams, refusing connection."); + close_nointr_nofail(fd); +diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c +index a235912..c05e4b4 100644 +--- a/src/udev/udev-ctrl.c ++++ b/src/udev/udev-ctrl.c +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -181,6 +182,7 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl) + struct ucred ucred; + socklen_t slen; + const int on = 1; ++ int flgs; + + conn = calloc(1, sizeof(struct udev_ctrl_connection)); + if (conn == NULL) +@@ -188,13 +190,19 @@ struct udev_ctrl_connection *udev_ctrl_get_connection(struct udev_ctrl *uctrl) + conn->refcount = 1; + conn->uctrl = uctrl; + +- conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); ++ //conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); ++ conn->sock = accept(uctrl->sock, NULL, NULL); + if (conn->sock < 0) { + if (errno != EINTR) + log_error("unable to receive ctrl connection: %m\n"); + goto err; + } + ++ // Since we don't have accept4 ++ flgs = fcntl(conn->sock, F_GETFL, NULL); ++ if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK); ++ fcntl(conn->sock, F_SETFD, FD_CLOEXEC); ++ + /* check peer credential of connection */ + slen = sizeof(ucred); + if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) { diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix index 7b3ea62ea2d..99aebd11667 100644 --- a/pkgs/os-specific/linux/sysvinit/default.nix +++ b/pkgs/os-specific/linux/sysvinit/default.nix @@ -4,12 +4,12 @@ let version = "2.88dsf"; in stdenv.mkDerivation { name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version; - + src = fetchurl { url = "mirror://savannah/sysvinit/sysvinit-${version}.tar.bz2"; sha256 = "068mvzaz808a673zigyaqb63xc8bndh2klk16zi5c83rw70wifv0"; }; - + prePatch = '' # Patch some minimal hard references, so halt/shutdown work sed -i -e "s,/sbin/,$out/sbin/," src/halt.c src/init.c src/paths.h @@ -27,16 +27,17 @@ stdenv.mkDerivation { ''; postInstall = stdenv.lib.optionalString withoutInitTools - '' + '' mv $out/sbin/killall5 $out/bin ln -sf killall5 $out/bin/pidof - rm -rf $out/sbin + shopt -s extglob + rm -rf $out/sbin/!(sulogin) rm -rf $out/include rm -rf $out/share/man/man5 rm $(for i in $out/share/man/man8/*; do echo $i; done | grep -v 'pidof\|killall5') rm $out/bin/{mountpoint,wall} $out/share/man/man1/{mountpoint.1,wall.1} ''; - + meta = { homepage = http://www.nongnu.org/sysvinit/; description = "Utilities related to booting and shutdown"; diff --git a/pkgs/os-specific/linux/tcp-wrapper/builder.sh b/pkgs/os-specific/linux/tcp-wrappers/builder.sh similarity index 100% rename from pkgs/os-specific/linux/tcp-wrapper/builder.sh rename to pkgs/os-specific/linux/tcp-wrappers/builder.sh diff --git a/pkgs/os-specific/linux/tcp-wrapper/default.nix b/pkgs/os-specific/linux/tcp-wrappers/default.nix similarity index 100% rename from pkgs/os-specific/linux/tcp-wrapper/default.nix rename to pkgs/os-specific/linux/tcp-wrappers/default.nix diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index 1ad392ad6fa..e7cce315e8c 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -33,8 +33,8 @@ let } ''; - archMakeFlag = if (cross != null) then "ARCH=${cross.arch}" else ""; - crossMakeFlag = if (cross != null) then "CROSS=${cross.config}-" else ""; + archMakeFlag = if cross != null then "ARCH=${cross.arch}" else ""; + crossMakeFlag = if cross != null then "CROSS=${cross.config}-" else ""; # UCLIBC_SUSV4_LEGACY defines 'tmpnam', needed for gcc libstdc++ builds. nixConfig = '' @@ -74,7 +74,7 @@ stdenv.mkDerivation { ''; # Cross stripping hurts. - dontStrip = if (cross != null) then true else false; + dontStrip = cross != null; makeFlags = [ crossMakeFlag "VERBOSE=1" ]; diff --git a/pkgs/os-specific/linux/udev/173.nix b/pkgs/os-specific/linux/udev/173.nix deleted file mode 100644 index 795826cf6bf..00000000000 --- a/pkgs/os-specific/linux/udev/173.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ stdenv, fetchurl, gperf, pkgconfig, glib, acl -, libusb, usbutils, pciutils }: - -assert stdenv ? glibc; - -stdenv.mkDerivation rec { - name = "udev-173"; - - src = fetchurl { - url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2"; - sha256 = "1bxadi4bi11v8ipzj22wknv8hsb0wgdb99bx3w9w33rgl4aq78bh"; - }; - - buildInputs = [ gperf pkgconfig glib acl libusb usbutils ]; - - configureFlags = - '' - --with-pci-ids-path=${pciutils}/share/pci.ids - --enable-udev_acl --enable-edd - --disable-introspection --libexecdir=$(out)/lib/udev - --with-firmware-path=/root/test-firmware:/var/run/current-system/firmware - ''; - - # Workaround for the Linux kernel headers being too old. - NIX_CFLAGS_COMPILE = "-DBTN_TRIGGER_HAPPY=0x2c0"; - - postInstall = - '' - # The path to rule_generator.functions in write_cd_rules and - # write_net_rules is broken. Also, don't store the mutable - # persistant rules in /etc/udev/rules.d but in - # /var/lib/udev/rules.d. - for i in $out/lib/udev/write_cd_rules $out/lib/udev/write_net_rules; do - substituteInPlace $i \ - --replace /lib/udev $out/lib/udev \ - --replace /etc/udev/rules.d /var/lib/udev/rules.d - done - - # Don't set PATH to /bin:/sbin; won't work in NixOS. - sed -e '/PATH=/d' -i $out/lib/udev/rule_generator.functions - - ln -sv $out/lib/ConsoleKit $out/etc/ConsoleKit - - rm -frv $out/share/gtk-doc - ''; - - patches = [ ./custom-rules.patch ] ++ - [(fetchurl { - url = https://bugs.archlinux.org/task/25356?getfile=7281; - sha256 = "01xib1pfdbwacgx8dqxgrf67a0mwkpm4kxy9f9v3df93v0m4pmbm"; - })] ++ - stdenv.lib.optional stdenv.isArm ./pre-accept4-kernel.patch; - - meta = { - homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html; - description = "Udev manages the /dev filesystem"; - }; -} diff --git a/pkgs/os-specific/linux/udev/custom-rules.patch b/pkgs/os-specific/linux/udev/custom-rules.patch deleted file mode 100644 index 647691acfb1..00000000000 --- a/pkgs/os-specific/linux/udev/custom-rules.patch +++ /dev/null @@ -1,91 +0,0 @@ -commit c49ec33ba0f1a7f11b188913bb4895360ced67f8 -Author: Yury G. Kudryashov -Date: Tue Aug 16 16:28:56 2011 +0400 - - Upstream considers presence of rules_dir=... in udev.conf as a very special case. - In particular, they disable /dev/.udev/*. Re-enable it. - -diff --git a/udev/udev-rules.c b/udev/udev-rules.c -index 6bf2726..c1ae1f3 100644 ---- a/udev/udev-rules.c -+++ b/udev/udev-rules.c -@@ -1812,6 +1812,7 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) - struct udev_list file_list; - struct udev_list_entry *file_loop; - struct token end_token; -+ char runpathrules[UTIL_PATH_SIZE]; - - rules = calloc(1, sizeof(struct udev_rules)); - if (rules == NULL) -@@ -1854,22 +1855,21 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names) - rules->trie_nodes_cur = 1; - - if (udev_get_rules_path(udev) == NULL) { -- char filename[UTIL_PATH_SIZE]; - - /* /lib/udev -- default/package rules */ - add_matching_files(udev, &file_list, LIBEXECDIR "/rules.d", ".rules"); - - /* /etc/udev -- system-specific/user/admin rules */ - add_matching_files(udev, &file_list, SYSCONFDIR "/udev/rules.d", ".rules"); -- -- /* /run/udev -- throw-away/temporary rules */ -- util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL); -- add_matching_files(udev, &file_list, filename, ".rules"); - } else { - /* custom rules files location for testing */ - add_matching_files(udev, &file_list, udev_get_rules_path(udev), ".rules"); - } - -+ /* /run/udev -- throw-away/temporary rules */ -+ util_strscpyl(runpathrules, sizeof(runpathrules), udev_get_run_path(udev), "/rules.d", NULL); -+ add_matching_files(udev, &file_list, runpathrules, ".rules"); -+ - /* add all filenames to the string buffer */ - udev_list_entry_foreach(file_loop, udev_list_get_entry(&file_list)) { - const char *filename = udev_list_entry_get_value(file_loop); -diff --git a/udev/udevd.c b/udev/udevd.c -index f1a31e7..45d10b6 100644 ---- a/udev/udevd.c -+++ b/udev/udevd.c -@@ -1198,6 +1198,8 @@ int main(int argc, char *argv[]) - struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker; - struct udev_ctrl_connection *ctrl_conn = NULL; - int rc = 1; -+ char filename[UTIL_PATH_SIZE]; -+ struct stat statbuf; - - udev = udev_new(); - if (udev == NULL) -@@ -1480,23 +1482,21 @@ int main(int argc, char *argv[]) - inotify_add_watch(fd_inotify, udev_get_rules_path(udev), - IN_DELETE | IN_MOVE | IN_CLOSE_WRITE); - } else { -- char filename[UTIL_PATH_SIZE]; -- struct stat statbuf; - - inotify_add_watch(fd_inotify, LIBEXECDIR "/rules.d", - IN_DELETE | IN_MOVE | IN_CLOSE_WRITE); - inotify_add_watch(fd_inotify, SYSCONFDIR "/udev/rules.d", - IN_DELETE | IN_MOVE | IN_CLOSE_WRITE); -+ } - -- /* watch dynamic rules directory */ -- util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL); -- if (stat(filename, &statbuf) != 0) { -- util_create_path(udev, filename); -- mkdir(filename, 0755); -- } -- inotify_add_watch(fd_inotify, filename, -- IN_DELETE | IN_MOVE | IN_CLOSE_WRITE); -+ /* watch dynamic rules directory */ -+ util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL); -+ if (stat(filename, &statbuf) != 0) { -+ util_create_path(udev, filename); -+ mkdir(filename, 0755); - } -+ inotify_add_watch(fd_inotify, filename, -+ IN_DELETE | IN_MOVE | IN_CLOSE_WRITE); - udev_watch_restore(udev); - - /* block and listen to all signals on signalfd */ diff --git a/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch b/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch deleted file mode 100644 index 2cf549d99a7..00000000000 --- a/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: -https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/udev-oxnas/pre-accept4-kernel.patch - -diff -urN a/udev/udev-ctrl.c b/udev/udev-ctrl.c ---- a/udev/udev-ctrl.c 2011-10-09 17:10:32.000000000 -0600 -+++ b/udev/udev-ctrl.c 2011-10-25 15:11:09.000000000 -0600 -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -182,6 +183,7 @@ - struct ucred ucred; - socklen_t slen; - const int on = 1; -+ int flgs; - - conn = calloc(1, sizeof(struct udev_ctrl_connection)); - if (conn == NULL) -@@ -189,13 +191,19 @@ - conn->refcount = 1; - conn->uctrl = uctrl; - -- conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); -+// conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK); -+ conn->sock = accept(uctrl->sock, NULL, NULL); - if (conn->sock < 0) { - if (errno != EINTR) - err(uctrl->udev, "unable to receive ctrl connection: %m\n"); - goto err; - } - -+// Since we don't have accept4 -+ flgs = fcntl(conn->sock, F_GETFL, NULL); -+ if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK); -+ fcntl(conn->sock, F_SETFD, FD_CLOEXEC); -+ - /* check peer credential of connection */ - slen = sizeof(ucred); - if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) { diff --git a/pkgs/os-specific/linux/udisks/default.nix b/pkgs/os-specific/linux/udisks/default.nix index 4987e90429c..b53af52755f 100644 --- a/pkgs/os-specific/linux/udisks/default.nix +++ b/pkgs/os-specific/linux/udisks/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5"; }; - patches = [ ./purity.patch ]; + patches = [ ./purity.patch ./no-pci-db.patch ]; postPatch = '' @@ -26,15 +26,10 @@ stdenv.mkDerivation rec { lvm2 libatasmart intltool libuuid libxslt docbook_xsl ]; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; configureFlags = "--localstatedir=/var --enable-lvm2"; - preConfigure = - '' - # Ensure that udisks can find the necessary programs. - ''; - meta = { homepage = http://www.freedesktop.org/wiki/Software/udisks; description = "A daemon and command-line utility for querying and manipulating storage devices"; diff --git a/pkgs/os-specific/linux/udisks/no-pci-db.patch b/pkgs/os-specific/linux/udisks/no-pci-db.patch new file mode 100644 index 00000000000..b323b515c40 --- /dev/null +++ b/pkgs/os-specific/linux/udisks/no-pci-db.patch @@ -0,0 +1,13 @@ +Systemd no longer has the pci-db program. + +diff -ru -x '*~' udisks-1.0.4-orig/data/80-udisks.rules udisks-1.0.4/data/80-udisks.rules +--- udisks-1.0.4-orig/data/80-udisks.rules 2011-08-25 23:31:20.000000000 +0200 ++++ udisks-1.0.4/data/80-udisks.rules 2012-12-13 13:06:52.189650854 +0100 +@@ -3,7 +3,6 @@ + + # import names for PCI storage controllers + # +-SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p" + + # Set eSATA port type for known eSATA CardBus adapters - first we want to ensure + # the device is on a cardbus controller (upper PCI device) - then we check diff --git a/pkgs/os-specific/linux/uml-utilities/builder.sh b/pkgs/os-specific/linux/uml-utilities/builder.sh deleted file mode 100644 index 00b40278889..00000000000 --- a/pkgs/os-specific/linux/uml-utilities/builder.sh +++ /dev/null @@ -1,17 +0,0 @@ -buildinputs="" -source $stdenv/setup - -tar xvfj $src -cd tools -[ -n "$tunctl" ] && sed -e '1s/.*/TUNCTL = tunctl/' -i Makefile -[ -z "$mconsole" ] && sed -e 's/mconsole//' -i Makefile - -mkdir $out -mkdir $out/bin -mkdir $out/lib -mkdir $out/lib/uml -make BIN_DIR=$out/bin LIB_DIR=$out/lib/uml -make BIN_DIR=$out/bin LIB_DIR=$out/lib/uml install -ln -s $out/lib/uml/port-helper $out/bin/port-helper -[ -z "$tunctl" ] || [ -f $out/bin/tunctl ] || fail_no_tunctl -[ -z "$mconsole" ] || [ -f $out/bin/uml_mconsole ] || fail_no_mconsole diff --git a/pkgs/os-specific/linux/uml-utilities/default.nix b/pkgs/os-specific/linux/uml-utilities/default.nix deleted file mode 100644 index 4ed7c6e8a3a..00000000000 --- a/pkgs/os-specific/linux/uml-utilities/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{lib, stdenv, fetchurl, linuxHeaders , readline, tunctl ? false, mconsole ? false}: - -stdenv.mkDerivation { - inherit tunctl mconsole; - buildInputs = lib.optional tunctl linuxHeaders - ++ lib.optional mconsole readline; - name = "uml-utilities-20040114"; - builder = ./builder.sh; - src = fetchurl { - url = http://nixos.org/tarballs/uml_utilities_20040114.tar.bz2; - md5 = "1fd5b791ef32c6a3ed4ae42c4a53a316"; - }; -} diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix index 2f870e5d999..8f244c3d645 100644 --- a/pkgs/os-specific/linux/upower/default.nix +++ b/pkgs/os-specific/linux/upower/default.nix @@ -1,23 +1,23 @@ { stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit , intltool, libxslt, docbook_xsl, udev, libusb1, pmutils -, useSystemd ? false, systemd ? null +, useSystemd ? true, systemd }: assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "upower-0.9.18"; + name = "upower-0.9.19"; src = fetchurl { url = "http://upower.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "13q6cw2d45qp077g3bjng4yhrvm6g1y9347dkf53kscm5xfm18d1"; + sha256 = "053yahks5c7nwdxwx8q6nqp3mxbqldmc844mzyvc3ws9635zmisl"; }; buildInputs = [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 ] ++ stdenv.lib.optional useSystemd systemd; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; configureFlags = [ "--with-backend=linux" "--localstatedir=/var" ] diff --git a/pkgs/os-specific/linux/upstart/cfgdir.patch b/pkgs/os-specific/linux/upstart/cfgdir.patch deleted file mode 100644 index 2a29b36412c..00000000000 --- a/pkgs/os-specific/linux/upstart/cfgdir.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -rc upstart-0.3.0-orig/init/main.c upstart-0.3.0/init/main.c -*** upstart-0.3.0-orig/init/main.c 2006-10-13 14:35:16.000000000 +0200 ---- upstart-0.3.0/init/main.c 2006-11-19 21:41:01.000000000 +0100 -*************** -*** 206,215 **** - control_open (); - - /* Read configuration */ -! cfg_watch_dir (NULL, CFG_DIR, NULL); - - /* Set the PATH environment variable */ -! setenv ("PATH", PATH, TRUE); - - - /* Generate and run the startup event or read the state from the ---- 206,217 ---- - control_open (); - - /* Read configuration */ -! char *cfg_dir = getenv("UPSTART_CFG_DIR"); -! if (!cfg_dir) cfg_dir = CFG_DIR; -! cfg_watch_dir (NULL, cfg_dir, NULL); - - /* Set the PATH environment variable */ -! /* setenv ("PATH", PATH, TRUE); */ - - - /* Generate and run the startup event or read the state from the -diff -rc upstart-0.3.0-orig/util/initctl.c upstart-0.3.0/util/initctl.c -*** upstart-0.3.0-orig/util/initctl.c 2006-10-13 16:18:06.000000000 +0200 ---- upstart-0.3.0/util/initctl.c 2006-11-20 16:53:21.000000000 +0100 -*************** -*** 95,105 **** - } else if (! strcmp (command->command, "stop")) { - msg.type = UPSTART_JOB_STOP; - msg.job_stop.name = *arg; -- break; - } else if (! strcmp (command->command, "status")) { - msg.type = UPSTART_JOB_QUERY; - msg.job_stop.name = *arg; -- break; - } - - /* Send the message */ ---- 95,103 ---- diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix index 96ae5b93aa8..5af28876dc1 100644 --- a/pkgs/os-specific/linux/usbutils/default.nix +++ b/pkgs/os-specific/linux/usbutils/default.nix @@ -1,25 +1,25 @@ -{ stdenv, fetchurl, pkgconfig, libusb }: +{ stdenv, fetchurl, pkgconfig, libusb1 }: let # Obtained from http://www.linux-usb.org/usb.ids.bz2. usbids = fetchurl { - url = http://nixos.org/tarballs/usb.ids.20100720.bz2; - sha256 = "0krncssk0b10z6grw305824zma953l3g2rb7jkk25mb78pw5fd5d"; + url = http://nixos.org/tarballs/usb.ids.20120920.bz2; + sha256 = "0sz860g7grf6kx22p49s6j8h85c69ymcw16a8110klzfl9hl9hli"; }; in stdenv.mkDerivation rec { - name = "usbutils-0.86"; - + name = "usbutils-006"; + src = fetchurl { - url = "mirror://kernel/linux/utils/usb/usbutils/${name}.tar.gz"; - sha256 = "1x0jkiwrgdb8qwy21iwhxpc8k61apxqp1901h866d1ydsakbxcmk"; + url = mirror://kernel/linux/utils/usb/usbutils/usbutils-006.tar.xz; + sha256 = "03pd57vv8c6x0hgjqcbrxnzi14h8hcghmapg89p8k5zpwpkvbdfr"; }; - - buildInputs = [ pkgconfig libusb ]; - + + buildInputs = [ pkgconfig libusb1 ]; + preBuild = "bunzip2 < ${usbids} > usb.ids"; meta = { diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index ae5727568f2..d42424e6fc8 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,17 +1,13 @@ -{ stdenv, fetchurl, zlib, ncurses ? null, perl ? null }: +{ stdenv, fetchurl, zlib, ncurses ? null, perl ? null, pam }: stdenv.mkDerivation rec { - name = "util-linux-2.20.1"; + name = "util-linux-2.22.2"; src = fetchurl { - # This used to be mirror://kernel/linux/utils/util-linux, but it - # disappeared in the kernel.org meltdown. - url = "mirror://gentoo/distfiles/${name}.tar.bz2"; - sha256 = "1q5vjcvw4f067c63vj2n3xggvk5prm11571x6vnqiav47vdbqvni"; + url = "http://www.kernel.org/pub/linux/utils/util-linux/v2.22/${name}.tar.bz2"; + sha256 = "0vf3ifb45gr4cd27pmmxk8y5b3r0920mv16fv0vfwz5705xa2qvl"; }; - patches = [ ./linux-specific-header.patch ]; - crossAttrs = { # Work around use of `AC_RUN_IFELSE'. preConfigure = "export scanf_cv_type_modifier=ms"; @@ -21,13 +17,27 @@ stdenv.mkDerivation rec { # (/sbin/mount.*) through an environment variable, but that's # somewhat risky because we have to consider that mount can setuid # root... + # --enable-libmount-mount fixes the behaviour being /etc/mtab a symlink to /proc/monunts + # http://pl.digipedia.org/usenet/thread/19513/1924/ configureFlags = '' - --disable-use-tty-group --enable-write + --enable-last + --enable-mesg + --enable-ddate + --disable-use-tty-group --enable-fs-paths-default=/var/setuid-wrappers:/var/run/current-system/sw/sbin:/sbin ${if ncurses == null then "--without-ncurses" else ""} ''; - buildInputs = [ zlib ] ++ stdenv.lib.optional (ncurses != null) ncurses - ++ stdenv.lib.optional (perl != null) perl; + buildInputs = + [ zlib pam ] + ++ stdenv.lib.optional (ncurses != null) ncurses + ++ stdenv.lib.optional (perl != null) perl; + + enableParallelBuilding = true; + + meta = { + homepage = http://www.kernel.org/pub/linux/utils/util-linux/; + description = "A set of system utilities for Linux"; + }; } diff --git a/pkgs/os-specific/linux/util-linux/linux-specific-header.patch b/pkgs/os-specific/linux/util-linux/linux-specific-header.patch deleted file mode 100644 index 8d0b57dea3f..00000000000 --- a/pkgs/os-specific/linux/util-linux/linux-specific-header.patch +++ /dev/null @@ -1,16 +0,0 @@ -The header is Linux-only and breaks GNU/Hurd builds. - ---- util-linux-2.20.1/term-utils/write.c 2012-03-07 23:06:14.000000000 +0100 -+++ util-linux-2.20.1/term-utils/write.c 2012-03-07 23:06:19.000000000 +0100 -@@ -57,7 +57,9 @@ - #include - #include - #include --#include -+#ifdef __linux__ -+# include -+#endif - #include - #include "c.h" - #include "carefulputc.h" - diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index ea63dadc8bd..8e6584465d0 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -4,30 +4,22 @@ assert withQt4 -> qt4 != null; stdenv.mkDerivation rec { - name = "v4l-utils-0.8.8"; + name = "v4l-utils-0.9.3"; src = fetchurl { url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2"; - sha256 = "0zx8f1npsl6g5vjah1gwydg1j5azl74kr83ifbjhshgmnvscd92z"; + sha256 = "0gaag38x47wlvmp4j60wgf9ma1rxzfyg7i12zxxxi4m3cpcb0bah"; }; - buildInputs = [ libjpeg which ] ++ stdenv.lib.optional withQt4 qt4; + buildInputs = [ which ]; + propagatedBuildInputs = [ libjpeg ] ++ stdenv.lib.optional withQt4 qt4; - # The keytable wants to touch /etc files and udev scripts in /lib. - # I skip it. - patchPhase = '' - sed -i s/keytable// utils/Makefile - ''; - - installPhase = '' - make PREFIX=$out install - ''; + preConfigure = ''configureFlags="--with-udevdir=$out/lib/udev"''; meta = { homepage = http://linuxtv.org/projects.php; description = "V4L utils and libv4l, that provides common image formats regardless of the v4l device"; - # (The libs are of LGPLv2.1+, some other pieces are GPL) - license = "free"; + license = "free"; # The libs are of LGPLv2.1+, some other pieces are GPL. maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; }; diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix index aedfe9ac686..f0f7fcbb9ce 100644 --- a/pkgs/os-specific/linux/v86d/default.nix +++ b/pkgs/os-specific/linux/v86d/default.nix @@ -1,10 +1,11 @@ {stdenv, fetchurl, klibc, kernel, withKlibc ? true}: stdenv.mkDerivation rec { - name = "v86d-0.1.10-${kernel.version}"; + name = "v86d-${version}-${kernel.version}"; + version = "0.1.10"; src = fetchurl { - url = "http://dev.gentoo.org/~spock/projects/uvesafb/archive/${name}.tar.bz2"; + url = "mirror://gentoo/distfiles//v86d-${version}.tar.bz2"; sha256 = "0p3kwqjis941pns9948dxfnjnl5lwd8f2b6x794whs7g32p68jb3"; }; diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 522478ed5b7..b3d94e26396 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -1,43 +1,48 @@ -{ stdenv, fetchurl, openssl, dbus_libs, pkgconfig, libnl1 }: +{ stdenv, fetchurl, lib, openssl, dbus_libs, pkgconfig, libnl +, readlineSupport ? true, readline +}: + +assert readlineSupport -> readline != null; stdenv.mkDerivation rec { - version = "0.7.3"; - + version = "1.1"; + name = "wpa_supplicant-${version}"; src = fetchurl { - url = "http://hostap.epitest.fi/releases/wpa_supplicant-${version}.tar.gz"; - sha256 = "0hwlsn512q2ps8wxxjmkjfdg3vjqqb9mxnnwfv1wqijkm3551kfh"; + url = "http://hostap.epitest.fi/releases/${name}.tar.gz"; + sha256 = "00lyifj8cz7qyal6dy1dxbpk3g3bywvdarik8gbj9ds7zmfbwkd5"; }; - + + extraConfig = + '' + CONFIG_DEBUG_SYSLOG=y + CONFIG_CTRL_IFACE_DBUS=y + CONFIG_CTRL_IFACE_DBUS_NEW=y + CONFIG_CTRL_IFACE_DBUS_INTRO=y + CONFIG_DRIVER_NL80211=y + CONFIG_LIBNL32=y + ${stdenv.lib.optionalString readlineSupport "CONFIG_READLINE=y"} + ''; + preBuild = '' cd wpa_supplicant cp -v defconfig .config - echo CONFIG_DEBUG_SYSLOG=y | tee -a .config - echo CONFIG_CTRL_IFACE_DBUS=y | tee -a .config - echo CONFIG_CTRL_IFACE_DBUS_NEW=y | tee -a .config - echo CONFIG_CTRL_IFACE_DBUS_INTRO=y | tee -a .config - echo CONFIG_DRIVER_NL80211=y | tee -a .config + echo "$extraConfig" >> .config + cat .config substituteInPlace Makefile --replace /usr/local $out ''; - buildInputs = [ openssl dbus_libs libnl1 ]; + buildInputs = [ openssl dbus_libs libnl ] + ++ lib.optional readlineSupport readline; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; patches = - [ # Upstream patch required for NetworkManager-0.9 - (fetchurl { - url = "http://w1.fi/gitweb/gitweb.cgi?p=hostap-07.git;a=commitdiff_plain;h=b80b5639935d37b95d00f86b57f2844a9c775f57"; - name = "wpa_supplicant-nm-0.9.patch"; - sha256 = "1pqba0l4rfhba5qafvvbywi9x1qmphs944p704bh1flnx7cz6ya8"; - }) - # wpa_supplicant crashes when controlled through dbus (wicd/nm) - # see: https://bugzilla.redhat.com/show_bug.cgi?id=678625 - (fetchurl { - url = "https://bugzilla.redhat.com/attachment.cgi?id=491018"; - name = "dbus-assertion-fix.patch"; - sha256 = "6206d79bcd800d56cae73e2a01a27ac2bee961512f77e5d62a59256a9919077a"; + [ (fetchurl { + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/hostap_allow-linking-with-libnl-3.2.patch?h=packages/wpa_supplicant"; + name = "hostap_allow-linking-with-libnl-3.2.patch"; + sha256 = "0iwvjq0apc6mv1r03k5pnyjgda3q47yx36c4lqvv8i8q1vn7kbf2"; }) ]; @@ -45,10 +50,11 @@ stdenv.mkDerivation rec { mkdir -p $out/share/man/man5 $out/share/man/man8 cp -v doc/docbook/*.5 $out/share/man/man5/ cp -v doc/docbook/*.8 $out/share/man/man8/ - mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services + mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system cp -v dbus/*service $out/share/dbus-1/system-services sed -e "s@/sbin/wpa_supplicant@$out&@" -i $out/share/dbus-1/system-services/* cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d + cp -v systemd/*.service $out/etc/systemd/system ''; # */ meta = { diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix index 12ec08361a6..29591bf0335 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { buildInputs = [ qt4 ]; - buildNativeInputs = [ inkscape ]; + nativeBuildInputs = [ inkscape ]; prePatch = "cd wpa_supplicant/wpa_gui-qt4"; diff --git a/pkgs/os-specific/linux/x86info/default.nix b/pkgs/os-specific/linux/x86info/default.nix new file mode 100644 index 00000000000..297991ff4d9 --- /dev/null +++ b/pkgs/os-specific/linux/x86info/default.nix @@ -0,0 +1,35 @@ +{stdenv, fetchurl, pciutils, python}: + +stdenv.mkDerivation rec { + version = "1.30"; + name = "x86info-${version}"; + + src = fetchurl { + url = "http://codemonkey.org.uk/projects/x86info/${name}.tgz"; + sha256 = "0a4lzka46nabpsrg3n7akwr46q38f96zfszd73xcback1s2hjc7y"; + }; + + preConfigure = "patchShebangs ."; + + buildInputs = [ pciutils python ]; + + installPhase = '' + ensureDir $out/bin + cp x86info lsmsr $out/bin + ''; + + meta = { + description = "An identification utility for the x86 series of processors."; + longDescription = + '' + x86info will identify all Intel/AMD/Centaur/Cyrix/VIA CPUs. It leverages + the cpuid kernel module where possible. it supports parsing model specific + registers (MSRs) via the msr kernel module. it will approximate processor + frequency, and identify the cache sizes and layout. + ''; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl2; + homepage = http://codemonkey.org.uk/projects/x86info/; + maintainers = with stdenv.lib.maintainers; [jcumming]; + }; +} diff --git a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix index 405f722f70f..4f74ce57ea8 100644 --- a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix +++ b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix @@ -10,10 +10,11 @@ , xorgserver , xproto , inputproto +, pixman }: stdenv.mkDerivation { - name = "xf86-input-mtrack-0.2.0"; + name = "xf86-input-mtrack-0.3.0"; preConfigure = "autoreconf -vfi"; @@ -27,12 +28,15 @@ stdenv.mkDerivation { xorgserver xproto inputproto + pixman ]; + CFLAGS = "-I${pixman}/include/pixman-1"; + src = fetchurl { name = "xf86-input-mtrack.tar.gz"; - url = "https://github.com/BlueDragonX/xf86-input-mtrack/tarball/v0.2.0"; - sha256 = "1zvd68dxpjn44ys7ysi3yc95xdjw1rz0s3xwlh3fzpw1ib3wrr3x"; + url = "https://github.com/BlueDragonX/xf86-input-mtrack/tarball/v0.3.0"; + sha256 = "174rdw7gv0wsnjgmwpx4pgjn1zfbylflda4k2dzff6phzxj9yl6v"; }; meta = { @@ -45,3 +49,4 @@ stdenv.mkDerivation { maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } + diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix index 4bcf82a7052..e043b12e820 100644 --- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix +++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl -, file, inputproto, libX11, libXext, libXi, libXrandr, libXrender, libXinerama -, ncurses, pkgconfig, randrproto, xorgserver, xproto, udev }: +, file, inputproto, libX11, libXext, libXi, libXrandr, libXrender +, ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }: stdenv.mkDerivation rec { name = "xf86-input-wacom-0.16.0"; @@ -10,8 +10,8 @@ stdenv.mkDerivation rec { sha256 = "0sc0hmbs3l3ad68iwglbwjv9lg1vd333n1lv72j4nqmk7g57yrii"; }; - buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender libXinerama - ncurses pkgconfig randrproto xorgserver xproto udev ]; + buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender + ncurses pkgconfig randrproto xorgserver xproto udev libXinerama pixman ]; preConfigure = '' mkdir -p $out/share/X11/xorg.conf.d @@ -19,6 +19,8 @@ stdenv.mkDerivation rec { --with-sdkdir=$out/include/xorg --with-xorg-conf-dir=$out/share/X11/xorg.conf.d" ''; + CFLAGS = "-I${pixman}/include/pixman-1"; + meta = with stdenv.lib; { maintainers = [ maintainers.goibhniu maintainers.urkud ]; description = "Wacom digitizer driver for X11"; diff --git a/pkgs/os-specific/linux/xf86-video-nested/default.nix b/pkgs/os-specific/linux/xf86-video-nested/default.nix index 6ed04f490c0..b3cad227d27 100644 --- a/pkgs/os-specific/linux/xf86-video-nested/default.nix +++ b/pkgs/os-specific/linux/xf86-video-nested/default.nix @@ -1,30 +1,31 @@ { stdenv, fetchgit, autoconf, automake, fontsproto, libX11, libXext -, libtool, pkgconfig, renderproto, utilmacros, xorgserver +, libtool, pixman, pkgconfig, renderproto, utilmacros, xorgserver }: stdenv.mkDerivation { - name = "xf86-video-nested-2011-09-12"; + name = "xf86-video-nested-2012-06-15"; - # Breaks at 8d80f2e415e9e58ca481fe52ae8f2290e25de898 for Xorg 7.6 src = fetchgit { url = git://anongit.freedesktop.org/xorg/driver/xf86-video-nested; - rev = "fceee1716625badf698ca27dd5788a4deb8533bc"; - sha256 = "6b3544ddcf40602364fd0e528f6e677c37ef8d08f6c4e756caea7e29abf200f7"; + rev = "ad48dc6eb98776a8a886f26f31c0110352fa1da4"; + sha256 = "43a102405acdcdb346ab197b33c8fa724d2140f33754f8ee3941a0eea152735c"; }; - # Fixed in e123277d10337a1c3b853118df0d1becdddf3b77 - patchPhase = "sed -e 's/Werror/Werror -Wno-extra-portability/g' -i configure.ac"; - - buildInputs = - [ autoconf automake fontsproto libX11 libXext libtool pkgconfig - renderproto utilmacros xorgserver + buildInputs = + [ autoconf automake fontsproto libX11 libXext libtool pixman + pkgconfig renderproto utilmacros xorgserver ]; - configureScript = "./autogen.sh"; + + configurePhase = '' + autoreconf -fvi + ./configure --prefix=$out CFLAGS="-I${pixman}/include/pixman-1" + ''; meta = { homepage = git://anongit.freedesktop.org/xorg/driver/xf86-video-nested; description = "Driver to run Xorg on top of Xorg or something else"; maintainers = [ stdenv.lib.maintainers.goibhniu ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix index e92b7f8003d..876daa7a1ec 100644 --- a/pkgs/os-specific/linux/xf86-video-nouveau/default.nix +++ b/pkgs/os-specific/linux/xf86-video-nouveau/default.nix @@ -3,7 +3,7 @@ , autoconf , automake , libtool -, xorgserver, xproto, fontsproto, xf86driproto, renderproto, videoproto +, xorgserver, xproto, fontsproto, xf86driproto, renderproto, videoproto, pixman , utilmacros , libdrm , pkgconfig }: @@ -21,12 +21,14 @@ stdenv.mkDerivation { autoconf automake libtool - xorgserver xproto fontsproto xf86driproto renderproto videoproto + xorgserver xproto fontsproto xf86driproto renderproto videoproto pixman utilmacros libdrm pkgconfig ]; + NIX_CFLAGS_COMPILE = "-I${pixman}/include/pixman-1"; + preConfigure = "autoreconf -vfi"; meta = { diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix new file mode 100644 index 00000000000..4769d78a2fd --- /dev/null +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }: + +stdenv.mkDerivation { + name = "zfs-0.6.0-rc14-${kernel.version}"; + + src = fetchurl { + url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc14.tar.gz; + sha256 = "0ny2lbhyfsfwfcasa1iv2hz12hzcskx9mv641955d844dh32z9fg"; + }; + + patches = [ ./module_perm_prefix.patch ./mount_zfs_prefix.patch ./kerneldir_path.patch ./no_absolute_paths_to_coreutils.patch ]; + + buildInputs = [ kernel spl perl autoconf automake libtool zlib libuuid coreutils ]; + + # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_CFLAGS_LINK = "-lgcc_s"; + NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated"; + + preConfigure = '' + ./autogen.sh + + substituteInPlace ./module/zfs/zfs_ctldir.c --replace "umount -t zfs" "${utillinux}/bin/umount -t zfs" + substituteInPlace ./module/zfs/zfs_ctldir.c --replace "mount -t zfs" "${utillinux}/bin/mount -t zfs" + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount" "${utillinux}/bin/mount" + substituteInPlace ./udev/rules.d/* --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id" + substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/ztest" "$out/sbin/ztest" + substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/zdb" "$out/sbin/zdb" + ''; + + configureFlags = '' + --with-linux=${kernel}/lib/modules/${kernel.version}/build + --with-linux-obj=${kernel}/lib/modules/${kernel.version}/build + --with-spl=${spl}/libexec/spl/${kernel.version} + ${if stdenv.system == "i686-linux" then "--enable-atomic-spinlocks" else ""} + ''; + + meta = { + description = "ZFS Filesystem Linux Kernel module"; + longDescription = '' + ZFS is a filesystem that combines a logical volume manager with a + Copy-On-Write filesystem with data integrity detection and repair, + snapshotting, cloning, block devices, deduplication, and more. + ''; + homepage = http://zfsonlinux.org/; + license = stdenv.lib.licenses.cddl; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/os-specific/linux/zfs/kerneldir_path.patch b/pkgs/os-specific/linux/zfs/kerneldir_path.patch new file mode 100644 index 00000000000..4503ac4ca48 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/kerneldir_path.patch @@ -0,0 +1,85 @@ +diff --git a/Makefile.am b/Makefile.am +index 9ffd6be..8e51412 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -34,7 +34,7 @@ distclean-local:: + if CONFIG_KERNEL + install-data-local: + release=$(ZFS_META_VERSION)-$(ZFS_META_RELEASE); \ +- instdest=$(DESTDIR)/usr/src/zfs-$$release/$(LINUX_VERSION); \ ++ instdest=$(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION); \ + for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \ + $(INSTALL) -D $$instfile $$instdest/$$instfile; \ + done +diff --git a/include/Makefile.am b/include/Makefile.am +index 8f9c8d7..5fc44d5 100644 +--- a/include/Makefile.am ++++ b/include/Makefile.am +@@ -27,6 +27,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H) + endif + + if CONFIG_KERNEL +-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION) ++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION) + kernel_HEADERS = $(COMMON_H) $(KERNEL_H) + endif +diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am +index 6e481a1..1107809 100644 +--- a/include/linux/Makefile.am ++++ b/include/linux/Makefile.am +@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H) + endif + + if CONFIG_KERNEL +-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/linux ++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION) + kernel_HEADERS = $(COMMON_H) $(KERNEL_H) + endif +diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am +index 651e68b..b80bb55 100644 +--- a/include/sys/Makefile.am ++++ b/include/sys/Makefile.am +@@ -89,6 +89,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H) + endif + + if CONFIG_KERNEL +-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys ++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION) + kernel_HEADERS = $(COMMON_H) $(KERNEL_H) + endif +diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am +index 900ed93..8d9bed2 100644 +--- a/include/sys/fm/Makefile.am ++++ b/include/sys/fm/Makefile.am +@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H) + endif + + if CONFIG_KERNEL +-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fm ++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION) + kernel_HEADERS = $(COMMON_H) $(KERNEL_H) + endif +diff --git a/include/sys/fm/fs/Makefile.am b/include/sys/fm/fs/Makefile.am +index d82d076..b4ae3ee 100644 +--- a/include/sys/fm/fs/Makefile.am ++++ b/include/sys/fm/fs/Makefile.am +@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H) + endif + + if CONFIG_KERNEL +-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fm/fs ++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION) + kernel_HEADERS = $(COMMON_H) $(KERNEL_H) + endif +diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am +index b702679..3c747f4 100644 +--- a/include/sys/fs/Makefile.am ++++ b/include/sys/fs/Makefile.am +@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H) + endif + + if CONFIG_KERNEL +-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fs ++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION) + kernel_HEADERS = $(COMMON_H) $(KERNEL_H) + endif diff --git a/pkgs/os-specific/linux/zfs/module_perm_prefix.patch b/pkgs/os-specific/linux/zfs/module_perm_prefix.patch new file mode 100644 index 00000000000..07cd04d1dde --- /dev/null +++ b/pkgs/os-specific/linux/zfs/module_perm_prefix.patch @@ -0,0 +1,70 @@ +*** git-export/module/Makefile.in.orig Wed Dec 31 16:00:01 1969 +--- git-export/module/Makefile.in Tue Mar 6 00:23:07 2012 +*************** +*** 11,19 **** + @# installed devel headers, or they may be in the module + @# subdirectory when building against the spl source tree. + @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \ +! /bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \ + elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \ +! /bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \ + else \ + echo -e "\n" \ + "*** Missing spl symbols ensure you have built the spl:\n" \ +--- 11,21 ---- + @# installed devel headers, or they may be in the module + @# subdirectory when building against the spl source tree. + @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \ +! /bin/cp -f @SPL_OBJ@/@SPL_SYMBOLS@ .; \ +! chmod +w @SPL_SYMBOLS@ .; \ + elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \ +! /bin/cp -f @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \ +! chmod +w @SPL_SYMBOLS@ .; \ + else \ + echo -e "\n" \ + "*** Missing spl symbols ensure you have built the spl:\n" \ +*************** +*** 35,55 **** + modules_install: + @# Install the kernel modules + $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \ +! INSTALL_MOD_PATH=$(DESTDIR) \ + INSTALL_MOD_DIR=addon/zfs $@ + @# Remove extraneous build products when packaging +! if [ -n "$(DESTDIR)" ]; then \ +! find $(DESTDIR)/lib/modules/@LINUX_VERSION@ \ + -name 'modules.*' | xargs $(RM); \ + fi +! sysmap=$(DESTDIR)/boot/System.map-@LINUX_VERSION@; \ + if [ -f $$sysmap ]; then \ + depmod -ae -F $$sysmap @LINUX_VERSION@; \ + fi + + modules_uninstall: + @# Uninstall the kernel modules +! $(RM) -R $(DESTDIR)/lib/modules/@LINUX_VERSION@/addon/zfs + + distdir: + +--- 37,57 ---- + modules_install: + @# Install the kernel modules + $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \ +! INSTALL_MOD_PATH=@prefix@ \ + INSTALL_MOD_DIR=addon/zfs $@ + @# Remove extraneous build products when packaging +! if [ -n "@prefix@" ]; then \ +! find @prefix@/lib/modules/@LINUX_VERSION@ \ + -name 'modules.*' | xargs $(RM); \ + fi +! sysmap=@prefix@/boot/System.map-@LINUX_VERSION@; \ + if [ -f $$sysmap ]; then \ + depmod -ae -F $$sysmap @LINUX_VERSION@; \ + fi + + modules_uninstall: + @# Uninstall the kernel modules +! $(RM) -R @prefix@/lib/modules/@LINUX_VERSION@/addon/zfs + + distdir: + diff --git a/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch b/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch new file mode 100644 index 00000000000..49ad88fc3a4 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch @@ -0,0 +1,24 @@ +diff -crN '--exclude=.git' zfs-0.60-rc11/cmd/mount_zfs/Makefile.am zfs/cmd/mount_zfs/Makefile.am +*** zfs-0.60-rc11/cmd/mount_zfs/Makefile.am 2012-10-22 10:26:07.066205000 -0700 +--- zfs/cmd/mount_zfs/Makefile.am 2012-10-22 11:16:21.859286000 -0700 +*************** +*** 7,14 **** + # + # Ignore the prefix for the mount helper. It must be installed in /sbin/ + # because this path is hardcoded in the mount(8) for security reasons. + # +- sbindir=/sbin + sbin_PROGRAMS = mount.zfs + + mount_zfs_SOURCES = \ +--- 7,16 ---- + # + # Ignore the prefix for the mount helper. It must be installed in /sbin/ + # because this path is hardcoded in the mount(8) for security reasons. ++ # ++ # ... except on nixos, where it really is /var/run/current-system/sw/sbin, ++ # which is where this will end up if we put it in ${out}/sbin. + # + sbin_PROGRAMS = mount.zfs + + mount_zfs_SOURCES = \ diff --git a/pkgs/os-specific/linux/zfs/no_absolute_paths_to_coreutils.patch b/pkgs/os-specific/linux/zfs/no_absolute_paths_to_coreutils.patch new file mode 100644 index 00000000000..e223e34c3a4 --- /dev/null +++ b/pkgs/os-specific/linux/zfs/no_absolute_paths_to_coreutils.patch @@ -0,0 +1,25 @@ +*** git-export/module/Makefile.in.old Tue Mar 6 01:04:48 2012 +--- git-export/module/Makefile.in Tue Mar 6 01:04:59 2012 +*************** +*** 11,20 **** + @# installed devel headers, or they may be in the module + @# subdirectory when building against the spl source tree. + @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \ +! /bin/cp -f @SPL_OBJ@/@SPL_SYMBOLS@ .; \ + chmod +w @SPL_SYMBOLS@ .; \ + elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \ +! /bin/cp -f @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \ + chmod +w @SPL_SYMBOLS@ .; \ + else \ + echo -e "\n" \ +--- 11,20 ---- + @# installed devel headers, or they may be in the module + @# subdirectory when building against the spl source tree. + @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \ +! cp -f @SPL_OBJ@/@SPL_SYMBOLS@ .; \ + chmod +w @SPL_SYMBOLS@ .; \ + elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \ +! cp -f @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \ + chmod +w @SPL_SYMBOLS@ .; \ + else \ + echo -e "\n" \ diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix index 2cdd63cc0eb..8f8477d1864 100644 --- a/pkgs/os-specific/windows/jom/default.nix +++ b/pkgs/os-specific/windows/jom/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { }; buildInputs = [ qt48 ]; - buildNativeInputs = [ flex /*cmake*/ ]; + nativeBuildInputs = [ flex /*cmake*/ ]; QTDIR = qt48; configurePhase = '' @@ -22,7 +22,7 @@ stdenv.mkDerivation { crossAttrs = { # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cross.config}-windres"; - QTDIR = qt48.hostDrv; + QTDIR = qt48.crossDrv; preBuild = '' export NIX_CROSS_CFLAGS_COMPILE=-fpermissive ''; diff --git a/pkgs/os-specific/windows/w32api/default.nix b/pkgs/os-specific/windows/w32api/default.nix index a4f4245125d..2a5af71b5ec 100644 --- a/pkgs/os-specific/windows/w32api/default.nix +++ b/pkgs/os-specific/windows/w32api/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation ({ sha256 = "09rhnl6zikmdyb960im55jck0rdy5z9nlg3akx68ixn7khf3j8wb"; }; - buildNativeInputs = [ xz ]; + nativeBuildInputs = [ xz ]; } // (if onlyHeaders then { diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index cdd8704739b..54fa398a8e9 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -1,15 +1,14 @@ { stdenv, fetchurl, openssl, libtool, perl, libxml2 }: -let - version = "9.7.6-P1"; -in +let version = "9.9.2"; in + stdenv.mkDerivation rec { name = "bind-${version}"; src = fetchurl { url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz"; - sha256 = "1xp7c3fpi3b6y1bz77mf7c98ic7rxp5lpwlmzqwsdrllip33qw1k"; + sha256 = "0j4v01ch4xkgnsnngmh6bpapzi53n4k79gbbhmxf44nmk2qk0rby"; }; patchPhase = '' @@ -21,7 +20,7 @@ stdenv.mkDerivation rec { /* Why --with-libtool? */ configureFlags = [ "--with-libtool" "--with-openssl=${openssl}" "--localstatedir=/var" ]; - + meta = { homepage = http://www.isc.org/software/bind; description = "ISC BIND: a domain name server"; diff --git a/pkgs/servers/ftp/vsftpd/default.nix b/pkgs/servers/ftp/vsftpd/default.nix index 0fc1531056b..39b78958b03 100644 --- a/pkgs/servers/ftp/vsftpd/default.nix +++ b/pkgs/servers/ftp/vsftpd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl, sslEnable ? false, libcap, pam }: stdenv.mkDerivation (rec { - name = "vsftpd-2.3.4"; + name = "vsftpd-3.0.2"; src = fetchurl { - url = "ftp://vsftpd.beasts.org/users/cevans/${name}.tar.gz"; - sha256 = "0nhsqwnb8qkbxx5wjahara1ln85hp151v656psra5brpckwysrml"; + url = "https://security.appspot.com/downloads/${name}.tar.gz"; + sha256 = "0mjy345wszskz1vnk83360c1y37arwgap3gwz8hy13sjqpig0imy"; }; # The gcc-wrappers use -idirafter for glibc, and vsftpd also, and @@ -14,9 +14,13 @@ stdenv.mkDerivation (rec { sed -i -e 's/-idirafter.*//' Makefile ''; - preBuild ='' - makeFlagsArray=( "LIBS=${if sslEnable then "-lcrypt -lssl -lcrypto " else ""}-lpam -lcap" ) - ''; + preBuild = let + sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto " else ""; + in '' + makeFlagsArray=( "LIBS=${sslLibs}-lpam -lcap -fstack-protector" ) + ''; + + # It won't link without this flag, used in CFLAGS buildInputs = [ openssl libcap pam ]; diff --git a/pkgs/servers/gpm/1.99.6.nix b/pkgs/servers/gpm/1.99.6.nix deleted file mode 100644 index 3874e4adfbd..00000000000 --- a/pkgs/servers/gpm/1.99.6.nix +++ /dev/null @@ -1,23 +0,0 @@ -args : with args; -rec { - src = fetchurl { - url = http://linux.schottelius.org/gpm/archives/gpm-1.99.6.tar.lzma; - sha256 = "14zxx7nx40k8b0bmwhxfyv20xrdi8cg9fxmv8ylsx661lvizqsg3"; - }; - - buildInputs = [lzma flex bison ncurses]; - configureFlags = []; - - /* doConfigure should be specified separately */ - phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"]; - - preConfigure = fullDepEntry ('' - sed -e 's/[$](MKDIR)/mkdir -p /' -i doc/Makefile.in - sed -e 's/gpm2//' -i Makefile.in - '') ["addInputs" "doUnpack" "minInit"]; - - name = "gpm-" + version; - meta = { - description = "Mouse daemon"; - }; -} diff --git a/pkgs/servers/gpm/default.nix b/pkgs/servers/gpm/default.nix index cb664eac253..7c16153e9b5 100644 --- a/pkgs/servers/gpm/default.nix +++ b/pkgs/servers/gpm/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1990i19ddzn8gg5xwm53yn7d0mya885f48sd2hyvr7dvzyaw7ch8"; }; - buildNativeInputs = [ flex bison ]; + nativeBuildInputs = [ flex bison ]; buildInputs = [ ncurses ]; preConfigure = diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix index 31c9deaf3af..25051167ca5 100644 --- a/pkgs/servers/gpsd/default.nix +++ b/pkgs/servers/gpsd/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "1bjhyjg561kwp6zc2wg58njdvpnsj5yaa2slz8g3ga1176jl68w3"; }; - buildNativeInputs = [ makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl + nativeBuildInputs = [ makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl xmlto bc pythonPackages.wrapPython ]; pythonPath = [ pythonPackages.curses ]; diff --git a/pkgs/servers/http/4store/default.nix b/pkgs/servers/http/4store/default.nix index 08d671d960e..4854f9e18dd 100644 --- a/pkgs/servers/http/4store/default.nix +++ b/pkgs/servers/http/4store/default.nix @@ -3,8 +3,8 @@ x@{builderDefsPackage glib, libxml2, pcre, avahi, readline, ncurses, expat, zlib, pkgconfig, which, - perl, - db_dir ? "/var/lib/4store" + perl, libuuid, gmp, mpfr + , db_dir ? "/var/lib/4store" , ...}: builderDefsPackage (a : @@ -28,9 +28,9 @@ rec { doFixConfigure = a.fullDepEntry '' sed -e 's@#! */bin/bash@#! ${a.stdenv.shell}@' -i configure find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';' - sed -e '/\/var\/lib\/4store/d' -i src/utilities/Makefile sed -e 's@/var/lib/4store@${db_dir}@g' -i src/common/params.h src/utilities/* + sed -e '/FS_STORE_ROOT/d' -i src/utilities/Makefile* '' ["minInit" "doUnpack"]; fixInterpreter = (a.doPatchShebangs "$out/bin"); @@ -46,4 +46,3 @@ rec { linux; }; }) x - diff --git a/pkgs/servers/http/4store/src-for-default.nix b/pkgs/servers/http/4store/src-for-default.nix index a8624ab40ab..7076b921911 100644 --- a/pkgs/servers/http/4store/src-for-default.nix +++ b/pkgs/servers/http/4store/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="v1.0.3"; - name="4store-v1.0.3"; - hash="1d3n2xgqrq2kgigql3slxw1w2bml3b57xa7h6x9dbngxcz11xg22"; + version="v1.1.5"; + name="4store-v1.1.5"; + hash="0nwckvf8xqwvc2h3v6s1rvmxvcx2xrjy6yapghc052180jw6zp9b"; url="http://4store.org/download/4store-${version}.tar.gz"; - advertisedUrl="http://4store.org/download/4store-v1.0.3.tar.gz"; + advertisedUrl="http://4store.org/download/4store-v1.1.5.tar.gz"; } diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix index f2a21ee28be..d4def35c09f 100644 --- a/pkgs/servers/http/apache-httpd/2.2.nix +++ b/pkgs/servers/http/apache-httpd/2.2.nix @@ -12,12 +12,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null; assert mpm == "prefork" || mpm == "worker" || mpm == "event"; stdenv.mkDerivation rec { - version = "2.2.22"; + version = "2.2.23"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - sha1 = "766cd0843050a8dfb781e48b976f3ba6ebcf8696"; + sha1 = "2776145201068045d4ed83157a0e2e1c28c4c453"; }; buildInputs = [perl apr aprutil pcre] ++ diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index c9161bf5909..507ced85998 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -14,17 +14,17 @@ assert sslSupport -> aprutil.sslSupport && openssl != null; assert ldapSupport -> aprutil.ldapSupport && openldap != null; stdenv.mkDerivation rec { - version = "2.4.2"; + version = "2.4.3"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - sha1 = "8d391db515edfb6623c0c7c6ce5c1b2e1f7c64c2"; + sha256 = "17i4zdcjfvxks0p1fbqvab37kr8d6zscqaqan8pqkw8iq6wh48fq"; }; buildInputs = [perl] ++ optional ldapSupport openldap ++ # there is no --with-ldap flag - optional libxml2Support libxml2; # there is --with-libxml2, but it doesn't work + optional libxml2Support libxml2; # Required for ‘pthread_cancel’. NIX_LDFLAGS = "-lgcc_s"; @@ -38,9 +38,13 @@ stdenv.mkDerivation rec { --disable-debugger-mode --enable-mods-shared=all --enable-mpms-shared=all + --enable-cern-meta + --enable-imagemap + --enable-cgi ${optionalString proxySupport "--enable-proxy"} ${optionalString sslSupport "--enable-ssl --with-ssl=${openssl}"} ${optionalString luaSupport "--enable-lua --with-lua=${lua5}"} + ${optionalString libxml2Support "--with-libxml2=${libxml2}/include/libxml2"} ''; postInstall = '' diff --git a/pkgs/servers/http/couchdb/src-for-default.nix b/pkgs/servers/http/couchdb/src-for-default.nix index 0c174feed8d..6e07077d333 100644 --- a/pkgs/servers/http/couchdb/src-for-default.nix +++ b/pkgs/servers/http/couchdb/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="1.1.1"; - name="couchdb-1.1.1"; - hash="9d6592aacd4bc139f8c1ccb0ed80f30021cee50eb7f8a1feddf46b6eb963891c"; - url="mirror://apache/couchdb/${version}/apache-couchdb-${version}.tar.gz"; - advertisedUrl="http://www.apache.org/dist/couchdb/${version}/apache-couchdb-${version}.tar.gz"; - - + version="1.2.0"; + name="couchdb-1.2.0"; + hash="0dswinmg32zn217049dkbx3pab3qwihzmlbc7i6vq7a7lbg4s98g"; + url="mirror://apache/couchdb/releases/1.2.0/apache-couchdb-${version}.tar.gz"; + advertisedUrl="http://www.apache.org/dist/couchdb/releases/1.2.0/apache-couchdb-1.2.0.tar.gz"; + + } diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix index f23a6ce73eb..6ca5caba944 100644 --- a/pkgs/servers/http/joseki/default.nix +++ b/pkgs/servers/http/joseki/default.nix @@ -81,8 +81,8 @@ rec { sed -e 's/\r//g' -i "$TARGET/bin"/* - echo -e '#! /bin/sh\nls "'"$TARGET"'"/bin' > "$out/bin/jena-list-commands" - echo '#! /bin/sh' >> "$out/bin/jena-command" + echo -e '#! ${a.stdenv.shell}\nls "'"$TARGET"'"/bin' > "$out/bin/jena-list-commands" + echo '#! ${a.stdenv.shell}' >> "$out/bin/jena-command" echo 'export JENAROOT="'"$TARGET"'"' >> "$out/bin/jena-command" echo 'export JOSEKIROOT="'"$TARGET"'"' >> "$out/bin/jena-command" echo 'export TDBROOT="'"$TARGET"'"' >> "$out/bin/jena-command" diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix index a6ae56b6534..f853b3ebacc 100644 --- a/pkgs/servers/http/mini-httpd/default.nix +++ b/pkgs/servers/http/mini-httpd/default.nix @@ -1,14 +1,16 @@ -{ stdenv, fetchurl, boost }: +{ stdenv, fetchurl, boostHeaders }: -stdenv.mkDerivation { - name = "mini-httpd-1.1"; +stdenv.mkDerivation rec { + name = "mini-httpd-1.2"; src = fetchurl { - url = "mirror://savannah/mini-httpd/mini-httpd-1.1.tar.gz"; - sha256 = "12hqvh67hgxmc9b3fhb8gb5ash7j6f7d0mxv47zkmjl7k3vw3ny7"; + url = "mirror://savannah/mini-httpd/${name}.tar.gz"; + sha256 = "1547312rg2phxwny9vm1bkyid251n7wy4p1mgs6f5yq6ypwrsr6p"; }; - buildInputs = [ boost ]; + buildInputs = [ boostHeaders ]; + + enableParallelBuilding = true; meta = { homepage = "http://mini-httpd.nongnu.org/"; diff --git a/pkgs/servers/http/myserver/installable-binary.patch b/pkgs/servers/http/myserver/installable-binary.patch deleted file mode 100644 index 346e76afd5e..00000000000 --- a/pkgs/servers/http/myserver/installable-binary.patch +++ /dev/null @@ -1,14 +0,0 @@ -We actually want the `myserver' binary to be installable. Failing to do that -it gets an RPATH pointing to $top_builddir/src/.libs. - ---- myserver-0.10/src/Makefile.in 2010-10-14 12:45:42.000000000 +0200 -+++ myserver-0.10/src/Makefile.in 2011-03-03 22:23:05.000000000 +0100 -@@ -1307,7 +1307,6 @@ libmyserver_la_LIBADD = \ - $(INTLLIBS) $(LDFLAGS) - - myserver_CXXFLAGS = $(AM_CXXFLAGS) $(CXXFLAGS) -DHOST_STR=\"$(build)\" -DPREFIX=\"$(prefix)\" --myserver_LDFLAGS = -static -no-install - myserver_LDADD = libmyserver.la $(PTHREAD_LIB) $(IDN_LIB) \ - $(XNET_LIB) $(DL_LIB) $(ZLIB_LIB) \ - $(XML_LIBS) $(INTLLIBS) $(LDFLAGS) - diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix index 4a1c0be649f..5c0b1c2d723 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/default.nix @@ -1,10 +1,13 @@ { stdenv, fetchurl, openssl, zlib, pcre, libxml2, libxslt }: + stdenv.mkDerivation rec { - name = "nginx-1.1.7"; + name = "nginx-1.2.4"; + src = fetchurl { url = "http://nginx.org/download/${name}.tar.gz"; - sha256 = "1y0bzmrgnyqw8ghc508nipy5k46byrxc2sycqp35fdx0jmjz3h51"; + sha256 = "0hvcv4lgfcrsl40azkd3rxhf73l05jzzgflclpkdvjd95xgw51y5"; }; + buildInputs = [ openssl zlib pcre libxml2 libxslt ]; configureFlags = [ @@ -15,7 +18,7 @@ stdenv.mkDerivation rec { "--with-http_gzip_static_module" "--with-http_secure_link_module" # Install destination problems - # "--with-http_perl_module" + # "--with-http_perl_module" ]; preConfigure = '' @@ -27,11 +30,8 @@ stdenv.mkDerivation rec { ''; meta = { - description = "nginx - 'engine x' - reverse proxy and lightweight webserver"; - maintainers = [ - stdenv.lib.maintainers.raskin - ]; - platforms = with stdenv.lib.platforms; - all; + description = "A reverse proxy and lightweight webserver"; + maintainers = [ stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/servers/icecast/default.nix b/pkgs/servers/icecast/default.nix new file mode 100644 index 00000000000..24ae245a8a0 --- /dev/null +++ b/pkgs/servers/icecast/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl +, libxml2, libxslt, curl +, libvorbis, libtheora, speex, libkate }: + +stdenv.mkDerivation rec { + name = "icecast-2.3.3"; + + src = fetchurl { + url = "http://downloads.xiph.org/releases/icecast/${name}.tar.gz"; + sha256 = "0vf38mk13z1czpbj0g8va4rzjf201slqmiwcs8y9i6iwz3shc78v"; + }; + + buildInputs = [ libxml2 libxslt curl libvorbis libtheora speex libkate ]; + + meta = { + description = "icecast is free server software for streaming multimedia."; + + longDescription = '' + Icecast is a streaming media server which currently supports Ogg Vorbis and MP3 + audio streams. It can be used to create an Internet radio station or a + privately running jukebox and many things in between. It is very versatile in + that new formats can be added relatively easily and supports open standards for + commuincation and interaction. + ''; + + + homepage = http://www.icecast.org; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} + diff --git a/pkgs/servers/mail/dovecot/1.1.1.nix b/pkgs/servers/mail/dovecot/1.1.1.nix deleted file mode 100644 index 103f79652fd..00000000000 --- a/pkgs/servers/mail/dovecot/1.1.1.nix +++ /dev/null @@ -1,20 +0,0 @@ -{stdenv, fetchurl - , openssl - , pam -}: - -let - version = "1.1.1"; -in - -stdenv.mkDerivation { - name = "dovecot-${version}"; - - buildInputs = [openssl pam]; - - src = fetchurl { - url = "http://dovecot.org/releases/1.1/dovecot-${version}.tar.gz"; - sha256 = "0plzrzz07k0cylk9323gs9fzlv176y6nd6am660b6dch4p884sck"; - }; - -} diff --git a/pkgs/servers/mail/dovecot/2.x.nix b/pkgs/servers/mail/dovecot/2.x.nix deleted file mode 100644 index 1b4fbe7c7cc..00000000000 --- a/pkgs/servers/mail/dovecot/2.x.nix +++ /dev/null @@ -1,27 +0,0 @@ -{stdenv, fetchurl, openssl, pam, bzip2, zlib, inotifyTools, openldap}: - -stdenv.mkDerivation rec { - name = "dovecot-2.1.8"; - - buildInputs = [openssl pam bzip2 zlib inotifyTools openldap]; - - src = fetchurl { - url = "http://dovecot.org/releases/2.1/${name}.tar.gz"; - sha256 = "03801f4agcwdpqyg6dfxlga3750pnhk4gaf8m7sjq1qmz2277028"; - }; - - # It will hardcode this for /var/lib/dovecot. - # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 - configureFlags = [ - "--localstatedir=/var" - "--with-ldap" - ]; - - meta = { - homepage = http://dovecot.org/; - description = "Open source IMAP and POP3 email server written with security primarily in mind"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; - }; - -} diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix index 70e84fa51b0..cb29c9ebc89 100644 --- a/pkgs/servers/mail/dovecot/default.nix +++ b/pkgs/servers/mail/dovecot/default.nix @@ -1,16 +1,27 @@ -{stdenv, fetchurl - , openssl - , pam -}: +{stdenv, fetchurl, openssl, pam, bzip2, zlib, inotifyTools, openldap}: -stdenv.mkDerivation { - name = "dovecot-1.0.3"; +stdenv.mkDerivation rec { + name = "dovecot-2.1.8"; - buildInputs = [openssl pam]; + buildInputs = [openssl pam bzip2 zlib inotifyTools openldap]; src = fetchurl { - url = http://dovecot.org/releases/1.0/dovecot-1.0.3.tar.gz; - sha256 = "14b3sbvj9xpm5mjwfavwrcwmzfdgian51ncspl8j83cd8j01jdjz"; + url = "http://dovecot.org/releases/2.1/${name}.tar.gz"; + sha256 = "03801f4agcwdpqyg6dfxlga3750pnhk4gaf8m7sjq1qmz2277028"; }; - + + # It will hardcode this for /var/lib/dovecot. + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 + configureFlags = [ + "--localstatedir=/var" + "--with-ldap" + ]; + + meta = { + homepage = "http://dovecot.org/"; + description = "Open source IMAP and POP3 email server written with security primarily in mind"; + maintainers = with stdenv.lib.maintainers; [viric simons]; + platforms = with stdenv.lib.platforms; linux; + }; + } diff --git a/pkgs/servers/mail/freepops/default.nix b/pkgs/servers/mail/freepops/default.nix index d5866029762..c80d0f04bda 100644 --- a/pkgs/servers/mail/freepops/default.nix +++ b/pkgs/servers/mail/freepops/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "freepops-0.2.9"; src = fetchurl { - url = mirror://sf/freepops/0.2.9/freepops-0.2.9.tar.gz; + url = mirror://sourceforge/freepops/0.2.9/freepops-0.2.9.tar.gz; sha256 = "3a065e30cafed03d9b6fdb28251ae5bf0d8aeb62181746154beecd25dc0c9cae"; }; buildInputs = [pkgconfig openssl lua5 curl readline bison expat]; diff --git a/pkgs/servers/mail/petidomo/default.nix b/pkgs/servers/mail/petidomo/default.nix new file mode 100644 index 00000000000..6c6cde8a46a --- /dev/null +++ b/pkgs/servers/mail/petidomo/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, flex, bison, sendmailPath ? "/var/setuid-wrappers/sendmail" }: + +stdenv.mkDerivation rec { + name = "petidomo-4.3"; + + src = fetchurl { + url = "mirror://sourceforge/petidomo/${name}.tar.gz"; + sha256 = "0x4dbxc4fcfg1rw5ywpcypvylnzn3y4rh0m6fz4h4cdnzb8p1lvm"; + }; + + buildInputs = [ flex bison ]; + + configureFlags = "--with-mta=${sendmailPath}"; + + enableParallelBuilding = true; + + doCheck = true; + + meta = { + homepage = "http://petidomo.sourceforge.net/"; + description = "a simple and easy to administer mailing list server"; + license = stdenv.lib.licenses.gpl3Plus; + + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/servers/mail/popa3d/default.nix b/pkgs/servers/mail/popa3d/default.nix new file mode 100644 index 00000000000..25ac0d5f9e3 --- /dev/null +++ b/pkgs/servers/mail/popa3d/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, openssl }: + +stdenv.mkDerivation rec { + + name = "popa3d-1.0.2"; + + src = fetchurl { + url = "http://www.openwall.com/popa3d/${name}.tar.gz"; + sha256 = "0zvspgnlrx4jhhkb5b1p280nsf9d558jijgpvwfyvdp4q4v460z7"; + }; + + buildInputs = [ openssl ]; + + patches = [ + ./fix-mail-spool-path.patch + ./use-openssl.patch + ./use-glibc-crypt.patch + ./enable-standalone-mode.patch + ]; + + configurePhase = ''makeFlags="PREFIX=$out MANDIR=$out/share/man"''; + + meta = { + homepage = "http://www.openwall.com/popa3d/"; + description = "tiny POP3 daemon with security as the primary goal"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/servers/mail/popa3d/enable-standalone-mode.patch b/pkgs/servers/mail/popa3d/enable-standalone-mode.patch new file mode 100644 index 00000000000..763ede102f2 --- /dev/null +++ b/pkgs/servers/mail/popa3d/enable-standalone-mode.patch @@ -0,0 +1,12 @@ +diff -ubr popa3d-1.0.2-orig/params.h popa3d-1.0.2/params.h +--- popa3d-1.0.2-orig/params.h 2012-09-19 01:19:56.698098130 +0200 ++++ popa3d-1.0.2/params.h 2012-09-19 01:37:06.749130665 +0200 +@@ -13,7 +13,7 @@ + /* + * Are we going to be a standalone server or start via an inetd clone? + */ +-#define POP_STANDALONE 0 ++#define POP_STANDALONE 1 + + #if POP_STANDALONE + diff --git a/pkgs/servers/mail/popa3d/fix-mail-spool-path.patch b/pkgs/servers/mail/popa3d/fix-mail-spool-path.patch new file mode 100644 index 00000000000..4f440ae5966 --- /dev/null +++ b/pkgs/servers/mail/popa3d/fix-mail-spool-path.patch @@ -0,0 +1,12 @@ +diff -ubr popa3d-1.0.2-orig/params.h popa3d-1.0.2/params.h +--- popa3d-1.0.2-orig/params.h 2012-09-19 01:19:56.698098130 +0200 ++++ popa3d-1.0.2/params.h 2012-09-19 01:21:13.748065132 +0200 +@@ -191,7 +191,7 @@ + * + * #undef this for qmail-style $HOME/Mailbox mailboxes. + */ +-#define MAIL_SPOOL_PATH "/var/mail" ++#define MAIL_SPOOL_PATH "/var/spool/mail" + + #ifndef MAIL_SPOOL_PATH + /* diff --git a/pkgs/servers/mail/popa3d/use-glibc-crypt.patch b/pkgs/servers/mail/popa3d/use-glibc-crypt.patch new file mode 100644 index 00000000000..35843a38bb3 --- /dev/null +++ b/pkgs/servers/mail/popa3d/use-glibc-crypt.patch @@ -0,0 +1,12 @@ +diff -ubr popa3d-1.0.2-orig/Makefile popa3d-1.0.2/Makefile +--- popa3d-1.0.2-orig/Makefile 2012-09-19 01:19:56.698098130 +0200 ++++ popa3d-1.0.2/Makefile 2012-09-19 01:24:33.871750473 +0200 +@@ -9,7 +9,7 @@ + LDFLAGS = -s + LIBS = + # Linux with glibc, FreeBSD, NetBSD +-#LIBS += -lcrypt ++LIBS += -lcrypt + # HP-UX trusted system + #LIBS += -lsec + # Solaris (POP_STANDALONE, POP_VIRTUAL) diff --git a/pkgs/servers/mail/popa3d/use-openssl.patch b/pkgs/servers/mail/popa3d/use-openssl.patch new file mode 100644 index 00000000000..54301dd873b --- /dev/null +++ b/pkgs/servers/mail/popa3d/use-openssl.patch @@ -0,0 +1,21 @@ +diff -ubr popa3d-1.0.2-orig/Makefile popa3d-1.0.2/Makefile +--- popa3d-1.0.2-orig/Makefile 2012-09-19 01:19:56.698098130 +0200 ++++ popa3d-1.0.2/Makefile 2012-09-19 01:23:00.309636423 +0200 +@@ -5,7 +5,7 @@ + INSTALL = install -c + CFLAGS = -Wall -O2 -fomit-frame-pointer + # You may use OpenSSL's MD5 routines instead of the ones supplied here +-#CFLAGS += -DHAVE_OPENSSL ++CFLAGS += -DHAVE_OPENSSL + LDFLAGS = -s + LIBS = + # Linux with glibc, FreeBSD, NetBSD +@@ -21,7 +21,7 @@ + # libwrap may also want this + #LIBS += -lnsl + # OpenSSL (-DHAVE_OPENSSL) +-#LIBS += -lcrypto ++LIBS += -lcrypto + + DESTDIR = + PREFIX = /usr/local diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index 16d9127e556..a435eea8663 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -4,31 +4,22 @@ assert stdenv.isLinux; -stdenv.mkDerivation { - name = "postfix-2.8.6"; - +stdenv.mkDerivation rec { + name = "postfix-2.8.12"; + src = fetchurl { - url = ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/postfix-2.8.6.tar.gz; - sha256 = "1rfsfhna5hy5lc6hkg1zc2862pdc5c1y9z6aiy8rinlmzrfplhlb"; + url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz"; + sha256 = "11z07mjy53l1fnl7k4101yk4ilibgqr1164628mqcbmmr8bh2szl"; }; - installTargets = ["non-interactive-package"]; - - installFlags = [" install_root=$out "]; - - preInstall = '' - sed -e '/^PATH=/d' -i postfix-install - ''; - - postInstall = '' - mkdir -p $out - mv ut/$out/* $out/ + buildInputs = [db4 openssl cyrus_sasl bison perl]; - mkdir $out/share/postfix/conf - cp conf/* $out/share/postfix/conf - sed -e 's@PATH=.*@PATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin@' -i $out/share/postfix/conf/post-install $out/libexec/postfix/post-install - sed -e '2aPATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin' -i $out/share/postfix/conf/postfix-script $out/libexec/postfix/postfix-script - chmod a+x $out/share/postfix/conf/{postfix-script,post-install} + patches = [ ./postfix-2.2.9-db.patch ./postfix-2.2.9-lib.patch ./db-linux3.patch ]; + + postPatch = '' + sed -i -e s,/usr/bin,/var/run/current-system/sw/bin, \ + -e s,/usr/sbin,/var/run/current-system/sw/sbin, \ + -e s,:/sbin,, src/util/sys_defs.h ''; preBuild = '' @@ -46,15 +37,29 @@ stdenv.mkDerivation { make makefiles CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl' AUXLIBS='-lssl -lcrypto -lsasl2 -ldb -lnsl' ''; - buildInputs = [db4 openssl cyrus_sasl bison perl]; - - patches = [ ./postfix-2.2.9-db.patch ./postfix-2.2.9-lib.patch ./db-linux3.patch ]; + installPhase = '' + sed -e '/^PATH=/d' -i postfix-install + $SHELL postfix-install install_root=out -non-interactive -package - postPatch = '' - sed -i -e s,/usr/bin,/var/run/current-system/sw/bin, \ - -e s,/usr/sbin,/var/run/current-system/sw/sbin, \ - -e s,:/sbin,, src/util/sys_defs.h + mkdir -p $out + mv -v "out$out/"* $out/ + + mkdir -p $out/share/postfix + mv conf $out/share/postfix/ + mv LICENSE TLS_LICENSE $out/share/postfix/ + + sed -e 's@^PATH=.*@PATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin@' -i $out/share/postfix/conf/post-install $out/libexec/postfix/post-install + sed -e '2aPATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin' -i $out/share/postfix/conf/postfix-script $out/libexec/postfix/postfix-script + chmod a+x $out/share/postfix/conf/{postfix-script,post-install} ''; - + inherit glibc; + + meta = { + homepage = "http://www.postfix.org/"; + description = "a fast, easy to administer, and secure mail server"; + license = stdenv.lib.licenses.bsdOriginal; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; } diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix index 0f5cefb84c2..dc316267e6c 100644 --- a/pkgs/servers/mail/spamassassin/default.nix +++ b/pkgs/servers/mail/spamassassin/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, buildPerlPackage, perl, HTMLParser, NetDNS, NetAddrIP, DBFile -, HTTPDate, MailDKIM, makeWrapper +, HTTPDate, MailDKIM, LWP, IOSocketSSL, makeWrapper, gnupg1 }: -# TODO: +# TODO: Add the Perl modules ... +# +# DBI +# Encode::Detect +# IP::Country::Fast +# Mail::SPF +# Net::Ident +# Razor2::Client::Agent # -# - Mail::SPF -# - IP::Country -# - Razor2 -# - Net::Ident -# - DBI -# - LWP::UserAgent -# - Encode::Detect buildPerlPackage rec { name = "SpamAssassin-3.3.2"; @@ -20,18 +20,22 @@ buildPerlPackage rec { sha256 = "01d2jcpy423zfnhg123wlhzysih1hmb93nxfspiaajzh9r5rn8y7"; }; - buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate - MailDKIM ]; + buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM + LWP IOSocketSSL ]; # Enabling 'taint' mode is desirable, but that flag disables support # for the PERL5LIB environment variable. Needs further investigation. makeFlags = "PERL_BIN=${perl}/bin/perl PERL_TAINT=no"; + makeMakerFlags = "CONFDIR=/etc/spamassassin LOCALSTATEDIR=/var/lib/spamassassin"; + doCheck = false; postInstall = '' + mv "rules/"* $out/share/spamassassin/ + for n in "$out/bin/"*; do - wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" + wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : "${gnupg1}/bin" done ''; diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix index 36ce54b53ef..17c674b4d06 100644 --- a/pkgs/servers/memcached/default.nix +++ b/pkgs/servers/memcached/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, cyrus_sasl, libevent}: stdenv.mkDerivation { - name = "memcached-1.4.13"; + name = "memcached-1.4.15"; src = fetchurl { - url = http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz; - sha256 = "0abyy9agjinac56bb1881j3qs6xny7r12slh4wihv2apma3qn2yb"; + url = http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz; + sha256 = "1d7205cp49s379fdy2qz1gz2a5v4nnv18swzmvbascbmgamj35qn"; }; buildInputs = [cyrus_sasl libevent]; diff --git a/pkgs/servers/monitoring/zabbix/2.0.nix b/pkgs/servers/monitoring/zabbix/2.0.nix new file mode 100644 index 00000000000..6b0a22962a3 --- /dev/null +++ b/pkgs/servers/monitoring/zabbix/2.0.nix @@ -0,0 +1,70 @@ +{ stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext }: + +let + + version = "2.0.4"; + + src = fetchurl { + url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; + sha256 = "0l8038j6ldsv0ywrs2j69ybjl2zv4qw42791glqvcabjj8x24m3m"; + }; + + preConfigure = + '' + substituteInPlace ./configure \ + --replace " -static" "" \ + ${stdenv.lib.optionalString (stdenv.gcc.libc != null) '' + --replace /usr/include/iconv.h ${stdenv.gcc.libc}/include/iconv.h + ''} + ''; + +in + +{ + + server = stdenv.mkDerivation { + name = "zabbix-${version}"; + + inherit src preConfigure; + + configureFlags = "--enable-agent --enable-server --with-postgresql --with-libcurl --with-gettext"; + + buildInputs = [ pkgconfig postgresql curl openssl zlib ]; + + postInstall = + '' + mkdir -p $out/share/zabbix + cp -prvd frontends/php $out/share/zabbix/php + mkdir -p $out/share/zabbix/db/data + cp -prvd database/postgresql/data.sql $out/share/zabbix/db/data/data.sql + cp -prvd database/postgresql/images.sql $out/share/zabbix/db/data/images_pgsql.sql + mkdir -p $out/share/zabbix/db/schema + cp -prvd database/postgresql/schema.sql $out/share/zabbix/db/schema/postgresql.sql + ''; + + meta = { + description = "An enterprise-class open source distributed monitoring solution"; + homepage = http://www.zabbix.com/; + license = "GPL"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; + }; + }; + + agent = stdenv.mkDerivation { + name = "zabbix-agent-${version}"; + + inherit src preConfigure; + + configureFlags = "--enable-agent"; + + meta = { + description = "An enterprise-class open source distributed monitoring solution (client-side agent)"; + homepage = http://www.zabbix.com/; + license = "GPL"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.all; + }; + }; + +} diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix index 864f11bee3e..0189f3dd8fd 100644 --- a/pkgs/servers/monitoring/zabbix/default.nix +++ b/pkgs/servers/monitoring/zabbix/default.nix @@ -2,11 +2,11 @@ let - version = "1.8.10"; - + version = "1.8.15"; + src = fetchurl { url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; - sha256 = "0jx5i1ps1zr908g8gh1zisajiblg40x8cchmgbpdviz85hzx4rfr"; + sha256 = "0358syx6vck6l8j9wwlsb78faivh4qxrgy3jlkmjqr99xi6h3r3f"; }; preConfigure = @@ -49,7 +49,7 @@ in platforms = stdenv.lib.platforms.linux; }; }; - + agent = stdenv.mkDerivation { name = "zabbix-agent-${version}"; @@ -65,5 +65,5 @@ in platforms = stdenv.lib.platforms.all; }; }; - + } diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix index 0c3257d61c3..54c9d160565 100644 --- a/pkgs/servers/mpd/default.nix +++ b/pkgs/servers/mpd/default.nix @@ -1,34 +1,90 @@ -{ stdenv, fetchurl, pkgconfig, glib, alsaSupport ? true, alsaLib -, flacSupport ? true, flac, vorbisSupport ? true, libvorbis -, madSupport ? true, libmad, id3tagSupport ? true, libid3tag -, mikmodSupport ? true, libmikmod, cueSupport ? true, libcue +{ stdenv, fetchurl, pkgconfig, glib, systemd +, alsaSupport ? true, alsaLib +, flacSupport ? true, flac +, vorbisSupport ? true, libvorbis +, madSupport ? true, libmad +, id3tagSupport ? true, libid3tag +, mikmodSupport ? true, libmikmod +, shoutSupport ? true, libshout +, sqliteSupport ? true, sqlite +, curlSupport ? true, curl +, soupSupport ? true, libsoup +, audiofileSupport ? true, audiofile +, bzip2Support ? true, bzip2 +, ffadoSupport ? true, ffado +, ffmpegSupport ? true, ffmpeg +, fluidsynthSupport ? true, fluidsynth +, zipSupport ? true, zziplib +, samplerateSupport ? true, libsamplerate +, mmsSupport ? true, libmms +, mpg123Support ? true, mpg123 +, aacSupport ? true, faad2 }: + let + opt = stdenv.lib.optional; -in -stdenv.mkDerivation rec { - name = "mpd-0.16.3"; + + mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}"; + +in stdenv.mkDerivation rec { + name = "mpd-0.17.3"; src = fetchurl { url = "mirror://sourceforge/musicpd/${name}.tar.bz2"; - sha256 = "1liihxj58f944gapdqg15firl6phbxh3y3vjxq9m8dlvm37pkpsq"; + sha256 = "1iilimlyhw22lpbqiab4qprznxg9c4d68fkrr9jww765b4c7x1ip"; }; - buildInputs = [ pkgconfig glib ] + + buildInputs = [ pkgconfig glib systemd ] ++ opt alsaSupport alsaLib ++ opt flacSupport flac ++ opt vorbisSupport libvorbis ++ opt madSupport libmad ++ opt id3tagSupport libid3tag ++ opt mikmodSupport libmikmod - ++ opt cueSupport libcue; - configureFlags = '' - ${if alsaSupport then "--enable-alsa" else "--disable-alsa"} - ${if flacSupport then "--enable-flac" else "--disable-flac"} - ${if vorbisSupport then "--enable-vorbis" else "--disable-vorbis"} - ${if madSupport then "--enable-mad" else "--disable-mad"} - ${if mikmodSupport then "--enable-mikmod" else "--disable-mikmod"} - ${if id3tagSupport then "--enable-id3" else "--disable-id3"} - ${if cueSupport then "--enable-cue" else "--disable-cue"} + ++ opt shoutSupport libshout + ++ opt sqliteSupport sqlite + ++ opt curlSupport curl + ++ opt soupSupport libsoup + ++ opt bzip2Support bzip2 + ++ opt audiofileSupport audiofile + ++ opt ffadoSupport ffado + ++ opt ffmpegSupport ffmpeg + ++ opt fluidsynthSupport fluidsynth + ++ opt samplerateSupport libsamplerate + ++ opt mmsSupport libmms + ++ opt mpg123Support mpg123 + ++ opt aacSupport faad2 + ++ opt zipSupport zziplib; + + configureFlags = [ + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + (mkFlag alsaSupport "alsa") + (mkFlag flacSupport "flac") + (mkFlag vorbisSupport "vorbis") + (mkFlag vorbisSupport "vorbis-encoder") + (mkFlag madSupport "mad") + (mkFlag mikmodSupport "mikmod") + (mkFlag id3tagSupport "id3") + (mkFlag shoutSupport "shout") + (mkFlag sqliteSupport "sqlite") + (mkFlag curlSupport "curl") + (mkFlag soupSupport "soup") + (mkFlag audiofileSupport "audiofile") + (mkFlag bzip2Support "bzip2") + (mkFlag ffadoSupport "ffado") + (mkFlag ffmpegSupport "ffmpeg") + (mkFlag fluidsynthSupport "fluidsynth") + (mkFlag zipSupport "zzip") + (mkFlag samplerateSupport "lsr") + (mkFlag mmsSupport "mms") + (mkFlag mpg123Support "mpg123") + (mkFlag aacSupport "aac") + ]; + + NIX_LDFLAGS = '' + ${if shoutSupport then "-lshout" else ""} ''; + meta = { description = "A flexible, powerful daemon for playing music"; longDescription = '' diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index 685aeb05ce7..345234ba25e 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -1,39 +1,42 @@ -{ stdenv, fetchurl, scons, which, boost, gnutar, v8 ? null, useV8 ? false}: - -assert useV8 -> v8 != null; +{ stdenv, fetchurl, scons, which, v8, useV8 ? false}: with stdenv.lib; +let installerPatch = fetchurl { + url = "https://jira.mongodb.org/secure/attachment/18160/SConscript.client.patch"; + sha256 = "0n60fh2r8i7m6g113k0iw4adc8jv2by4ahrd780kxg47kzfgw06a"; + }; + +in stdenv.mkDerivation rec { - name = "mongodb-2.0.6"; + name = "mongodb-2.2.0"; src = fetchurl { - url = "http://downloads.mongodb.org/src/mongodb-src-r2.0.6.tar.gz"; - sha256 = "0kiiz8crx318sdn0wd9d88pzx9s1c6ak2dhd0zw7kl63gmd74wm9"; + url = http://downloads.mongodb.org/src/mongodb-src-r2.2.0.tar.gz; + sha256 = "12v0cpq9j2gmagr9pbw08karqwqgl4j9r223w7x7sx5cfvj2cih8"; }; - buildInputs = [scons which boost] ++ stdenv.lib.optional useV8 v8; + nativeBuildInputs = [ scons which ]; + + patches = [ installerPatch ]; enableParallelBuilding = true; - patchPhase = '' - substituteInPlace SConstruct --replace "Environment( MSVS_ARCH=msarch , tools = [\"default\", \"gch\"], toolpath = '.' )" "Environment( MSVS_ARCH=msarch , tools = [\"default\", \"gch\"], toolpath = '.', ENV = os.environ )" - substituteInPlace SConstruct --replace "../v8" "${v8}" - substituteInPlace SConstruct --replace "LIBPATH=[\"${v8}/\"]" "LIBPATH=[\"${v8}/lib\"]" + postPatch = '' + substituteInPlace SConstruct --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" + '' + optionalString useV8 '' + substituteInPlace SConstruct --replace "#/../v8" "${v8}" \ + --replace "[\"${v8}/\"]" "[\"${v8}/lib\"]" ''; buildPhase = '' - export TERM="" - scons all --cc=`which gcc` --cxx=`which g++` --libpath=${boost}/lib --cpppath=${boost}/include \ - ${optionalString useV8 "--usev8"} + echo $PATH + scons all --cc=`which gcc` --cxx=`which g++` ${optionalString useV8 "--usev8"} ''; installPhase = '' - scons install --cc=`which gcc` --cxx=`which g++` --libpath=${boost}/lib --cpppath=${boost}/include \ - ${optionalString useV8 "--usev8"} --full --prefix=$out - if [ -d $out/lib64 ]; then - mv $out/lib64 $out/lib - fi + scons install --cc=`which gcc` --cxx=`which g++` ${optionalString useV8 "--usev8"} --full --prefix=$out + rm -rf $out/lib64 # exact same files as installed in $out/lib ''; meta = { @@ -42,7 +45,6 @@ stdenv.mkDerivation rec { license = "AGPLv3"; maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; - platforms = stdenv.lib.platforms.all; + platforms = stdenv.lib.platforms.linux; }; } - diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix index e2e111a81fb..1992164b3d1 100644 --- a/pkgs/servers/nosql/redis/default.nix +++ b/pkgs/servers/nosql/redis/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - pname = "redis"; - version = "2.4.7"; - name = "${pname}-${version}"; + name = "redis-2.6.9"; src = fetchurl { - url = "http://redis.googlecode.com/files/redis-2.4.7.tar.gz"; - sha256 = "f91956377b7ff23cc23e0c8758e0b873032f36545c61d88436ebb741bf4dd5e1"; + url = "http://redis.googlecode.com/files/${name}.tar.gz"; + sha256 = "12bl3inq7xr2lqlqbxjxa3v9s5v7xn2pxlbm72ivxbiq43zpx5jd"; }; makeFlags = "PREFIX=$(out)"; + enableParallelBuilding = true; + meta = { homepage = http://redis.io; description = "An open source, advanced key-value store"; diff --git a/pkgs/servers/portmap/default.nix b/pkgs/servers/portmap/default.nix index d7a05261ff2..f2152b65df3 100644 --- a/pkgs/servers/portmap/default.nix +++ b/pkgs/servers/portmap/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, lib, tcpWrapper +{ fetchurl, stdenv, lib, tcp_wrappers , daemonUser ? false, daemonUID ? false, daemonGID ? false }: assert daemonUser -> (!daemonUID && !daemonGID); @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ++ lib.optional (daemonUID != false) "DAEMON_UID=${toString daemonUID}" ++ lib.optional (daemonGID != false) "DAEMON_GID=${toString daemonGID}"; - buildInputs = [ tcpWrapper ]; + buildInputs = [ tcp_wrappers ]; installPhase = '' mkdir -p "$out/sbin" "$out/man/man8" diff --git a/pkgs/servers/prayer/default.nix b/pkgs/servers/prayer/default.nix index c67d2c8a010..f105920ab81 100644 --- a/pkgs/servers/prayer/default.nix +++ b/pkgs/servers/prayer/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ openssl db4 zlib uwimap htmlTidy pam ]; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; NIX_LDFLAGS = "-lpam"; diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 21112250597..e315f788904 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -4,16 +4,17 @@ , jackaudioSupport ? false, jackaudio ? null , x11Support ? false, xlibs , json_c +, useSystemd ? false, systemd ? null }: assert jackaudioSupport -> jackaudio != null; stdenv.mkDerivation rec { - name = "pulseaudio-1.1"; + name = "pulseaudio-2.1"; src = fetchurl { - url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-1.1.tar.xz"; - sha256 = "1vpm0681zj2jvhbabvnmrmfxr3172k4x58kjb39y5g3fdw9k3rbg"; + url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-2.1.tar.xz"; + sha256 = "0zyal2mix7lzhxmr3pxlmss5kjca061iapvrh20bkgvsyixk8szg"; }; # Since `libpulse*.la' contain `-lgdbm', it must be propagated. @@ -26,13 +27,10 @@ stdenv.mkDerivation rec { #gtk gconf ] ++ stdenv.lib.optional jackaudioSupport jackaudio - ++ stdenv.lib.optionals x11Support [ xlibs.xlibs xlibs.libXtst xlibs.libXi ]; + ++ stdenv.lib.optionals x11Support [ xlibs.xlibs xlibs.libXtst xlibs.libXi ] + ++ stdenv.lib.optional useSystemd systemd; preConfigure = '' - # Change the `padsp' script so that it contains the full path to - # `libpulsedsp.so'. - sed -i "src/utils/padsp" \ - -e "s|libpulsedsp\.so|$out/lib/libpulsedsp.so|g" # Move the udev rules under $(prefix). sed -i "src/Makefile.in" \ diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix new file mode 100644 index 00000000000..e817151e778 --- /dev/null +++ b/pkgs/servers/restund/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, zlib, openssl, libre, librem, mysql}: +stdenv.mkDerivation rec { + version = "0.4.2"; + name = "restund-${version}"; + src=fetchurl { + url = "http://www.creytiv.com/pub/restund-${version}.tar.gz"; + sha256 = "db5260939d40cb2ce531075bef02b9d6431067bdd52f3168a6f25246bdf7b9f2"; + }; + buildInputs = [zlib openssl libre librem mysql]; + makeFlags = [ + "LIBRE_MK=${libre}/share/re/re.mk" + "LIBRE_INC=${libre}/include/re" + "LIBRE_SO=${libre}/lib" + "LIBREM_PATH=${librem}" + ''PREFIX=$(out)'' + "USE_MYSQL=1" + ] + ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}" + ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}" + ; + NIX_LDFLAGS='' -L${mysql}/lib/mysql ''; + meta = { + homepage = "http://www.creytiv.com/restund.html"; + platforms = with stdenv.lib.platforms; linux; + maintainers = with stdenv.lib.maintainers; [raskin]; + license = with stdenv.lib.licenses; bsd3; + }; +} diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix index 7a73a041798..059b1c1a217 100644 --- a/pkgs/servers/samba/default.nix +++ b/pkgs/servers/samba/default.nix @@ -18,11 +18,11 @@ assert useKerberos -> kerberos != null; stdenv.mkDerivation rec { - name = "samba-3.6.7"; + name = "samba-3.6.8"; src = fetchurl { url = "http://us3.samba.org/samba/ftp/stable/${name}.tar.gz"; - sha256 = "1jnl9v6axz30ymh6in1fwan7zjy9n5n7x70vi1afazxs27qa0n5q"; + sha256 = "1phl6mmrc72jyvbyrw6cv6b92cxq3v2pbn1fh97nnb4hild1fnjg"; }; patches = @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { postPatch = # XXX: Awful hack to allow cross-compilation. '' sed -i source3/configure \ - -e 's/^as_fn_error \("cannot run test program while cross compiling\)/$as_echo \1/g' + -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g' ''; # " preConfigure = @@ -68,11 +68,17 @@ stdenv.mkDerivation rec { '' mkdir -p $out mv $TMPDIR/inst/$out/* $out/ - + mkdir -pv $out/lib/cups/backend ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb mkdir -pv $out/etc/openldap/schema cp ../examples/LDAP/samba.schema $out/etc/openldap/schema '' # */ + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf"; + + meta = { + homepage = http://www.samba.org/; + description = "The standard Windows interoperability suite of programs for Linux and Unix"; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix index 6779ac9e0c3..db6f94d3826 100644 --- a/pkgs/servers/shishi/default.nix +++ b/pkgs/servers/shishi/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "13c6w9rpaqb3am65nrn86byvmll5r78pld2vb0i68491vww4fzlx"; }; + patches = [ ./no-gets.patch ]; + buildInputs = [ libtasn1 libgcrypt gnutls ] ; doCheck = true; @@ -17,14 +19,14 @@ stdenv.mkDerivation rec { longDescription = '' GNU Shishi is an implementation of the Kerberos 5 network - authentication system, as specified in RFC 4120. Shishi can be - used to authenticate users in distributed systems. + authentication system, as specified in RFC 4120. Shishi can be + used to authenticate users in distributed systems. - Shishi contains a library (`libshishi') that can be used by - application developers to add support for Kerberos 5. Shishi - contains a command line utility (1shishi') that is used by - users to acquire and manage tickets (and more). The server - side, a Key Distribution Center, is implemented by `shishid'. + Shishi contains a library (`libshishi') that can be used by + application developers to add support for Kerberos 5. Shishi + contains a command line utility (1shishi') that is used by + users to acquire and manage tickets (and more). The server + side, a Key Distribution Center, is implemented by `shishid'. ''; homepage = http://www.gnu.org/software/shishi/; diff --git a/pkgs/servers/shishi/no-gets.patch b/pkgs/servers/shishi/no-gets.patch new file mode 100644 index 00000000000..12137204f45 --- /dev/null +++ b/pkgs/servers/shishi/no-gets.patch @@ -0,0 +1,20 @@ +diff --git a/gl/stdio.in.h b/gl/stdio.in.h +index 06d9780..fa04a10 100644 +--- a/gl/stdio.in.h ++++ b/gl/stdio.in.h +@@ -713,10 +713,13 @@ _GL_CXXALIAS_SYS (gets, char *, (char *s)); + # endif + _GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ ++ so any use of gets warrants an unconditional warning; besides C11 ++ removed it. */ ++#ifdef gets ++#undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif ++#endif + + + #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix index 5b341b7deb9..a1d9940c887 100644 --- a/pkgs/servers/sip/freeswitch/default.nix +++ b/pkgs/servers/sip/freeswitch/default.nix @@ -1,21 +1,16 @@ -{ fetchgit, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg -, libzrtpcpp, autoconf, automake, libtool }: +{ fetchurl, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg +, libzrtpcpp }: stdenv.mkDerivation rec { - name = "freeswitch-git-0db52e6"; + name = "freeswitch-1.2.3"; - src = fetchgit { - url = "git://git.freeswitch.org/freeswitch.git"; - rev = "0db52e6e556fce584f1850c3a3b87c8f46ff87c5"; - sha256 = "5cc7161c1ba64c5faf3dda2669e9aafd529eaa66be2fd83f284304444bcab9ff"; + src = fetchurl { + url = http://files.freeswitch.org/freeswitch-1.2.3.tar.bz2; + sha256 = "0kfvn5f75c6r6yp18almjz9p6llvpm66gpbxcjswrg3ddgbkzg0k"; }; - preConfigure = '' - ./bootstrap.sh - ''; - buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg - autoconf automake libtool libzrtpcpp ]; + libzrtpcpp ]; meta = { description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch"; diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix index 7fa9a62e5e3..097dde325f1 100644 --- a/pkgs/servers/sip/sipwitch/default.nix +++ b/pkgs/servers/sip/sipwitch/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }: stdenv.mkDerivation rec { - name = "sipwitch-1.2.3"; + name = "sipwitch-1.2.4"; src = fetchurl { url = "mirror://gnu/sipwitch/${name}.tar.gz"; - sha256 = "0vc7x061m2jdj8hwpw56yiz8ij07x058vm1rm1dz7w98slpkcj6d"; + sha256 = "1c826832xi9p85l7c9va33xx8hx01m3jq49s0d1xl4c8kvri7bsj"; }; buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ]; diff --git a/pkgs/servers/sql/mysql/jdbc/default.nix b/pkgs/servers/sql/mysql/jdbc/default.nix index 0f411b43f9f..07c4d6a0aba 100644 --- a/pkgs/servers/sql/mysql/jdbc/default.nix +++ b/pkgs/servers/sql/mysql/jdbc/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl, ant, unzip}: stdenv.mkDerivation { - name = "mysql-connector-java-5.1.17"; + name = "mysql-connector-java-5.1.22"; builder = ./builder.sh; src = fetchurl { - url = ftp://mirror.leaseweb.com/mysql/Downloads/Connector-J/mysql-connector-java-5.1.17.zip; - sha256 = "1c4hsx0qwb3rp66a1dllnah2zi9gqqnr4aqm9p59yrqj5jr22ldp"; + url = http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.22.zip; + sha256 = "0hfx1znq0iqclkc8visca7x67lvlk3cswni69ghi2c5cpa2d4ijm"; }; buildInputs = [ unzip ant ]; diff --git a/pkgs/servers/sql/mysql55/default.nix b/pkgs/servers/sql/mysql55/default.nix index 3f26ea1f98b..81514494c07 100644 --- a/pkgs/servers/sql/mysql55/default.nix +++ b/pkgs/servers/sql/mysql55/default.nix @@ -2,20 +2,32 @@ # Note: zlib is not required; MySQL can use an internal zlib. -stdenv.mkDerivation { - name = "mysql-5.5.23"; +stdenv.mkDerivation rec { + name = "mysql-${version}"; + version = "5.5.28"; src = fetchurl { - url = ftp://ftp.inria.fr/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.23.tar.gz; - sha256 = "0sklcz6miff7nb6bi1pqncgjv819255y7if6jxcqgiqs50z319i0"; + urls = [ + "mirror://sourceforge/mysql.mirror/${name}.tar.gz" + "http://mysql.linux.cz/Downloads/MySQL-5.5/${name}.tar.gz" + "http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${name}.tar.gz" + ]; + sha256 = "13y7bhjmx4daidvyqjz88yffbswb6rc1khkmiqm896fx3lglkcpr"; }; - buildInputs = [ cmake bison ncurses openssl readline zlib ]; + buildInputs = [ cmake bison ncurses openssl readline zlib ] + ++ stdenv.lib.optional stdenv.isDarwin perl; + + + enableParallelBuilding = true; cmakeFlags = "-DWITH_SSL=yes -DWITH_READLINE=yes -DWITH_EMBEDDED_SERVER=yes -DWITH_ZLIB=yes -DINSTALL_SCRIPTDIR=bin -DHAVE_IPV6=yes"; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; + prePatch = '' + sed -i -e "s|/usr/bin/libtool|libtool|" cmake/libutils.cmake + ''; postInstall = '' sed -i -e "s|basedir=\"\"|basedir=\"$out\"|" $out/bin/mysql_install_db rm -rf $out/mysql-test $out/sql-bench diff --git a/pkgs/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix index d4ddb36d4fe..b7f2d7d2a50 100644 --- a/pkgs/servers/sql/postgresql/8.3.x.nix +++ b/pkgs/servers/sql/postgresql/8.3.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, ncurses, readline }: -let version = "8.3.20"; in +let version = "8.3.23"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "0qqic4wx59lgbyfmdfcgip9nrcpk10zdb91bw9b96wr1vijn2awj"; + sha256 = "1n8qj1bvyx83jsn2x2l8xzk53c014gkz8hwvswvnzcdyvlbnd90p"; }; buildInputs = [ zlib ncurses readline ]; diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix index e1150543f36..37713d87fd5 100644 --- a/pkgs/servers/sql/postgresql/8.4.x.nix +++ b/pkgs/servers/sql/postgresql/8.4.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, ncurses, readline }: -let version = "8.4.13"; in +let version = "8.4.16"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "1fccqkni64vg1pi4zzcl67bm9g2brrlzjn1vh6qlyfpsld139p90"; + sha256 = "0bv10jh9pg523rzgbqjq4lzq4ai3275pqhkg0qkr40ap756xj0wd"; }; buildInputs = [ zlib ncurses readline ]; diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix index a28e5c33779..c0766ba2813 100644 --- a/pkgs/servers/sql/postgresql/9.0.x.nix +++ b/pkgs/servers/sql/postgresql/9.0.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, readline }: -let version = "9.0.9"; in +let version = "9.0.12"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "12nslml1mg3lyvrhmdvv5g15n7vj5fk1blx1dfllylqg38c7shc7"; + sha256 = "090m5cxw7jv9q2jgwbs3qm57z6ldf0mcavc0wsmqk1ywrdrniw40"; }; buildInputs = [ zlib readline ]; diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix index 14488d4649e..18716707fd9 100644 --- a/pkgs/servers/sql/postgresql/9.1.x.nix +++ b/pkgs/servers/sql/postgresql/9.1.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, readline }: -let version = "9.1.5"; in +let version = "9.1.8"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "0i6fssldjp65xfxz9dcmkhz6bk4rpw9g26zbqbc6iz164h9rr20b"; + sha256 = "0vacnhqs9mrjrx9vh4r66a9smwl1d4qrmjlsq3ydnqj0lbfzk20x"; }; buildInputs = [ zlib readline ]; diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix new file mode 100644 index 00000000000..45173ad6511 --- /dev/null +++ b/pkgs/servers/sql/postgresql/9.2.x.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, zlib, readline }: + +let version = "9.2.3"; in + +stdenv.mkDerivation rec { + name = "postgresql-${version}"; + + src = fetchurl { + url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; + sha256 = "0zszqgp64pn7z9ab36bi989apj6hi20yxvcrk26jvhy0j0radxf4"; + }; + + buildInputs = [ zlib readline ]; + + enableParallelBuilding = true; + + LC_ALL = "C"; + + postInstall = + '' + mkdir -p $out/share/man + cp -rvd doc/src/sgml/man1 $out/share/man + ''; + + passthru = { + inherit readline; + psqlSchema = "9.1"; + }; + + meta = { + homepage = http://www.postgresql.org/; + description = "A powerful, open source object-relational database system"; + license = "bsd"; + }; +} diff --git a/pkgs/servers/sql/postgresql/psqlodbc/default.nix b/pkgs/servers/sql/postgresql/psqlodbc/default.nix new file mode 100644 index 00000000000..ce57c214183 --- /dev/null +++ b/pkgs/servers/sql/postgresql/psqlodbc/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, libiodbc, postgresql, openssl }: + +stdenv.mkDerivation rec { + name = "psqlodbc-09.01.0200"; + + src = fetchurl { + url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz"; + sha256 = "0b4w1ahfpp34jpscfk2kv9050lh3xl9pvcysqvaigkcd0vsk1hl9"; + }; + + buildInputs = [ libiodbc postgresql openssl ]; + + configureFlags = "--with-iodbc=${libiodbc}"; + + meta = { + homepage = http://psqlodbc.projects.postgresql.org/; + description = "ODBC driver for PostgreSQL"; + license = "LGPL"; + }; +} diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix index 3e5e4ebbe6f..b349ab617ac 100644 --- a/pkgs/servers/squid/squids.nix +++ b/pkgs/servers/squid/squids.nix @@ -30,16 +30,16 @@ rec { configureFlags = ["--enable-ipv6"]; }; - squid32Beta = squid30.merge rec { - name = "squid-3.2.0.16"; + squid32 = squid30.merge rec { + name = "squid-3.2.2"; src = args.fetchurl { url = "http://www.squid-cache.org/Versions/v3/3.2/${name}.tar.bz2"; - sha256 = "2431f4f9372e4e1a9c5fca5a4fa0c4bb0761ce3e044642ea9362bb1580a36d25"; + sha256 = "13jlx3d6rqq7ajxs8bgn8a0mh932jhq6aa8032q205nxnhqs0l4l"; }; configureFlags = ["--enable-ipv6"]; buildInputs = [openldap pam db4 cyrus_sasl libcap expat libxml2 libtool openssl]; }; - latest = squid32Beta; + latest = squid32; } diff --git a/pkgs/servers/unfs3/default.nix b/pkgs/servers/unfs3/default.nix index e59023c905e..96073645cc1 100644 --- a/pkgs/servers/unfs3/default.nix +++ b/pkgs/servers/unfs3/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "076zkyqkn56q0a8n3h65n1a68fknk4hrrp6mbhajq5s1wp5248j8"; }; - buildNativeInputs = [ flex bison ]; + nativeBuildInputs = [ flex bison ]; configureFlags = [ "--disable-shared" ]; diff --git a/pkgs/servers/x11/xorg/builder.sh b/pkgs/servers/x11/xorg/builder.sh index bb776a5051b..6ba50d24507 100644 --- a/pkgs/servers/x11/xorg/builder.sh +++ b/pkgs/servers/x11/xorg/builder.sh @@ -26,7 +26,7 @@ postInstall() { for p in $nativePkgs; do if test -e $p/lib/pkgconfig/$r.pc; then echo " found requisite $r in $p" - propagatedBuildNativeInputs="$propagatedBuildNativeInputs $p" + propagatedNativeBuildInputs="$propagatedNativeBuildInputs $p" fi done fi @@ -34,7 +34,7 @@ postInstall() { mkdir -p "$out/nix-support" echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" - echo "$propagatedBuildNativeInputs" > "$out/nix-support/propagated-build-native-inputs" + echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs" } diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 4fbc6fbdfda..23600b0e014 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -8,11 +8,11 @@ let xorg = rec { applewmproto = (stdenv.mkDerivation ((if overrides ? applewmproto then overrides.applewmproto else x: x) { - name = "applewmproto-1.4.1"; + name = "applewmproto-1.4.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/applewmproto-1.4.1.tar.bz2; - sha256 = "06fyixmx36qac2qqwmra3l9xr570rankm9kzmk0mgqyhgldrw1h8"; + url = mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2; + sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -21,18 +21,18 @@ let name = "bdftopcf-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/bdftopcf-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2; sha256 = "02hx981f7jfwylxj21s91yvv4h597nqqzz3vd6ar81zyn84b944w"; }; buildInputs = [pkgconfig libXfont ]; })) // {inherit libXfont ;}; bigreqsproto = (stdenv.mkDerivation ((if overrides ? bigreqsproto then overrides.bigreqsproto else x: x) { - name = "bigreqsproto-1.1.1"; + name = "bigreqsproto-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/bigreqsproto-1.1.1.tar.bz2; - sha256 = "16phzxa55lr749rghpaa699h1lcpndmw7izxzgl1bljq5f3qafqw"; + url = mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2; + sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -41,7 +41,7 @@ let name = "compositeproto-0.4.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/compositeproto-0.4.2.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2; sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4"; }; buildInputs = [pkgconfig ]; @@ -51,7 +51,7 @@ let name = "damageproto-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/damageproto-1.2.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2; sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w"; }; buildInputs = [pkgconfig ]; @@ -61,18 +61,18 @@ let name = "dmxproto-2.3.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/dmxproto-2.3.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2; sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; dri2proto = (stdenv.mkDerivation ((if overrides ? dri2proto then overrides.dri2proto else x: x) { - name = "dri2proto-2.6"; + name = "dri2proto-2.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/dri2proto-2.6.tar.bz2; - sha256 = "02drlfqvjm2q7dvkkwli3fs2crb6rdb3kyd13vwx7z0rijrc10md"; + url = mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2; + sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -81,18 +81,18 @@ let name = "encodings-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/encodings-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2; sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; fixesproto = (stdenv.mkDerivation ((if overrides ? fixesproto then overrides.fixesproto else x: x) { - name = "fixesproto-4.1.2"; + name = "fixesproto-5.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/fixesproto-4.1.2.tar.bz2; - sha256 = "0mzq8kh1v1w2mrl4y82qzgv8jzlr3n4jmss56h3r1h9knp6byk6y"; + url = mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2; + sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs"; }; buildInputs = [pkgconfig xextproto ]; })) // {inherit xextproto ;}; @@ -101,47 +101,47 @@ let name = "font-adobe-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-adobe-100dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2; sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontadobe75dpi = (stdenv.mkDerivation ((if overrides ? fontadobe75dpi then overrides.fontadobe75dpi else x: x) { name = "font-adobe-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-adobe-75dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-1.0.3.tar.bz2; sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontadobeutopia100dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia100dpi then overrides.fontadobeutopia100dpi else x: x) { name = "font-adobe-utopia-100dpi-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2; sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontadobeutopia75dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia75dpi then overrides.fontadobeutopia75dpi else x: x) { name = "font-adobe-utopia-75dpi-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2; sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontadobeutopiatype1 = (stdenv.mkDerivation ((if overrides ? fontadobeutopiatype1 then overrides.fontadobeutopiatype1 else x: x) { name = "font-adobe-utopia-type1-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2; sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -151,7 +151,7 @@ let name = "font-alias-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-alias-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-alias-1.0.3.tar.bz2; sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb"; }; buildInputs = [pkgconfig ]; @@ -161,7 +161,7 @@ let name = "font-arabic-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-arabic-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-arabic-misc-1.0.3.tar.bz2; sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -171,47 +171,47 @@ let name = "font-bh-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bh-100dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-1.0.3.tar.bz2; sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontbh75dpi = (stdenv.mkDerivation ((if overrides ? fontbh75dpi then overrides.fontbh75dpi else x: x) { name = "font-bh-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bh-75dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-1.0.3.tar.bz2; sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontbhlucidatypewriter100dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter100dpi then overrides.fontbhlucidatypewriter100dpi else x: x) { name = "font-bh-lucidatypewriter-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2; sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontbhlucidatypewriter75dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter75dpi then overrides.fontbhlucidatypewriter75dpi else x: x) { name = "font-bh-lucidatypewriter-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2; sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontbhttf = (stdenv.mkDerivation ((if overrides ? fontbhttf then overrides.fontbhttf else x: x) { name = "font-bh-ttf-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bh-ttf-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bh-ttf-1.0.3.tar.bz2; sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -221,7 +221,7 @@ let name = "font-bh-type1-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bh-type1-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bh-type1-1.0.3.tar.bz2; sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -231,7 +231,7 @@ let name = "font-bitstream-100dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2; sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -241,7 +241,7 @@ let name = "font-bitstream-75dpi-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2; sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -251,7 +251,7 @@ let name = "font-bitstream-type1-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-bitstream-type1-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-bitstream-type1-1.0.3.tar.bz2; sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -261,7 +261,7 @@ let name = "font-cronyx-cyrillic-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2; sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -271,7 +271,7 @@ let name = "font-cursor-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-cursor-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-cursor-misc-1.0.3.tar.bz2; sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -281,7 +281,7 @@ let name = "font-daewoo-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-daewoo-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-1.0.3.tar.bz2; sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -291,7 +291,7 @@ let name = "font-dec-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-dec-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-dec-misc-1.0.3.tar.bz2; sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -301,7 +301,7 @@ let name = "font-ibm-type1-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-ibm-type1-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-ibm-type1-1.0.3.tar.bz2; sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -311,7 +311,7 @@ let name = "font-isas-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-isas-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-isas-misc-1.0.3.tar.bz2; sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -321,7 +321,7 @@ let name = "font-jis-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-jis-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-jis-misc-1.0.3.tar.bz2; sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -331,7 +331,7 @@ let name = "font-micro-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-micro-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-micro-misc-1.0.3.tar.bz2; sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -341,7 +341,7 @@ let name = "font-misc-cyrillic-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-misc-cyrillic-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-1.0.3.tar.bz2; sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -351,7 +351,7 @@ let name = "font-misc-ethiopic-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-misc-ethiopic-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-1.0.3.tar.bz2; sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -361,7 +361,7 @@ let name = "font-misc-meltho-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-misc-meltho-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-misc-meltho-1.0.3.tar.bz2; sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -371,17 +371,17 @@ let name = "font-misc-misc-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-misc-misc-1.1.2.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-misc-misc-1.1.2.tar.bz2; sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontmuttmisc = (stdenv.mkDerivation ((if overrides ? fontmuttmisc then overrides.fontmuttmisc else x: x) { name = "font-mutt-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-mutt-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2; sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -391,17 +391,17 @@ let name = "font-schumacher-misc-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-schumacher-misc-1.1.2.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2; sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74"; }; - buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; - })) // {inherit bdftopcf fontutil mkfontdir ;}; + buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; + })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; fontscreencyrillic = (stdenv.mkDerivation ((if overrides ? fontscreencyrillic then overrides.fontscreencyrillic else x: x) { name = "font-screen-cyrillic-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-screen-cyrillic-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2; sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -411,18 +411,18 @@ let name = "font-sony-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-sony-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2; sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; })) // {inherit bdftopcf mkfontdir ;}; fontsproto = (stdenv.mkDerivation ((if overrides ? fontsproto then overrides.fontsproto else x: x) { - name = "fontsproto-2.1.1"; + name = "fontsproto-2.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/fontsproto-2.1.1.tar.bz2; - sha256 = "1g1rsvj0lb7744x6fj18d989ymf7zgry3v3fzipnnzljwa0vr6lw"; + url = mirror://xorg/X11R7.7/src/everything/fontsproto-2.1.2.tar.bz2; + sha256 = "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -431,18 +431,18 @@ let name = "font-sun-misc-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-sun-misc-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2; sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; })) // {inherit bdftopcf mkfontdir ;}; fontutil = (stdenv.mkDerivation ((if overrides ? fontutil then overrides.fontutil else x: x) { - name = "font-util-1.2.0"; + name = "font-util-1.3.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-util-1.2.0.tar.bz2; - sha256 = "04lp7xlrcqfyrsnvdgyqbanlnzr13lhn28v0kr2nzpvcmqbwdfnv"; + url = mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2; + sha256 = "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -451,7 +451,7 @@ let name = "font-winitzki-cyrillic-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2; sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb"; }; buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -461,7 +461,7 @@ let name = "font-xfree86-type1-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/font-xfree86-type1-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2; sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya"; }; buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; @@ -478,91 +478,91 @@ let })) // {inherit ;}; glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) { - name = "glproto-1.4.12"; + name = "glproto-1.4.16"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/glproto-1.4.12.tar.bz2; - sha256 = "1pjpnj78hski4krvsbf55pkhhsrahvlb825dwl804q0b36fpmgj8"; + url = mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2; + sha256 = "13arnb4bz5pn89bxbh3shr8gihkhyznpjnq3zzr05msygwx6dpal"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) { - name = "iceauth-1.0.4"; + name = "iceauth-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/iceauth-1.0.4.tar.bz2; - sha256 = "13ck97rz53l490aba3xpgv4psgk4rywh1vi6slg1n4zhai2zvrhf"; + url = mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2; + sha256 = "1aq6v671s2x5rc6zn0rgxb4wddg4vq94mckw3cpwl7ccrjjvd5hl"; }; buildInputs = [pkgconfig libICE xproto ]; })) // {inherit libICE xproto ;}; imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) { - name = "imake-1.0.4"; + name = "imake-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/util/imake-1.0.4.tar.bz2; - sha256 = "1zj6y59yip40hrdvvljjmnsfqddzxpxmbmd8842010rhkvq7zcmc"; + url = mirror://xorg/individual/util/imake-1.0.5.tar.bz2; + sha256 = "1h8ww97aymm10l9qn21n1b9x5ypjrqr10qpf48jjcbc9fg77gklr"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; inputproto = (stdenv.mkDerivation ((if overrides ? inputproto then overrides.inputproto else x: x) { - name = "inputproto-2.0.1"; + name = "inputproto-2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/inputproto-2.0.1.tar.bz2; - sha256 = "0i2a28bnvv68i6z8qx09iw95c1wchqc2migx1s7764pqipc3srk3"; + url = mirror://xorg/X11R7.7/src/everything/inputproto-2.2.tar.bz2; + sha256 = "1c5wqamfsd8g5i8kya5pjfmcac8q5zq1l3vclh6p96f24nmicxfy"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; kbproto = (stdenv.mkDerivation ((if overrides ? kbproto then overrides.kbproto else x: x) { - name = "kbproto-1.0.5"; + name = "kbproto-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/kbproto-1.0.5.tar.bz2; - sha256 = "17glym611bbkca371ihpcnx9ydp4asay4psqq267j00pbr94zfhf"; + url = mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2; + sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; libAppleWM = (stdenv.mkDerivation ((if overrides ? libAppleWM then overrides.libAppleWM else x: x) { - name = "libAppleWM-1.4.0"; + name = "libAppleWM-1.4.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libAppleWM-1.4.0.tar.bz2; - sha256 = "10hw7rvwc2b0v3v6mc6vaq8xs6vim4bg43rnhspf4p26mlb2dsf8"; + url = mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2; + sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y"; }; buildInputs = [pkgconfig applewmproto libX11 libXext xextproto ]; })) // {inherit applewmproto libX11 libXext xextproto ;}; libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) { - name = "libFS-1.0.3"; + name = "libFS-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libFS-1.0.3.tar.bz2; - sha256 = "0694iyc1rdz0fqnalgzpgzmxfaklrdk0jz769fsn1bv88mszjymb"; + url = mirror://xorg/X11R7.7/src/everything/libFS-1.0.4.tar.bz2; + sha256 = "05c3bqgn5m7j4kx8wvy0p36faq6f9jv5yq12m6033m4lflg7cwvh"; }; buildInputs = [pkgconfig fontsproto xproto xtrans ]; })) // {inherit fontsproto xproto xtrans ;}; libICE = (stdenv.mkDerivation ((if overrides ? libICE then overrides.libICE else x: x) { - name = "libICE-1.0.7"; + name = "libICE-1.0.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libICE-1.0.7.tar.bz2; - sha256 = "00drapw7n793nqy23m76vxj5yzlgx7prmprkhzp3qiqs2lpnkcd8"; + url = mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2; + sha256 = "07mp13pb3s73kj7y490gnx619znzwk91mlf8kdw0rzq29ll93a94"; }; buildInputs = [pkgconfig xproto xtrans ]; })) // {inherit xproto xtrans ;}; libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) { - name = "libSM-1.2.0"; + name = "libSM-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libSM-1.2.0.tar.bz2; - sha256 = "1jspgbd9g1d20kl18nnbzv37f1kpfybjff2xn08dmgv7f0dxzn0c"; + url = mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2; + sha256 = "07bzi6xwlhq36f60qfspjbz0qjj7zcgayi1vp4ihgx34kib1vhck"; }; buildInputs = [pkgconfig libICE libuuid xproto xtrans ]; })) // {inherit libICE libuuid xproto xtrans ;}; @@ -571,48 +571,48 @@ let name = "libWindowsWM-1.0.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libWindowsWM-1.0.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2; sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15"; }; buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ]; })) // {inherit windowswmproto libX11 libXext xextproto ;}; libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { - name = "libX11-1.4.1"; + name = "libX11-1.5.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2; - sha256 = "1qiwyqaf9vfn52nwp7nxlbixld3r9jyzsarnkwk0ynk4k3vy1x3h"; + url = mirror://xorg/X11R7.7/src/everything/libX11-1.5.0.tar.bz2; + sha256 = "11jdpl15bxwpwv0knpkh990s8jvlybng3dx477pkrz1bx7byz0n3"; }; buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ]; })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; libXScrnSaver = (stdenv.mkDerivation ((if overrides ? libXScrnSaver then overrides.libXScrnSaver else x: x) { - name = "libXScrnSaver-1.2.1"; + name = "libXScrnSaver-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXScrnSaver-1.2.1.tar.bz2; - sha256 = "16i59gac2sixgi692w4lvq5cp8hkl6rc375bh0ib51gsyvi6cfnf"; + url = mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2; + sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg"; }; buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ]; })) // {inherit scrnsaverproto libX11 libXext xextproto ;}; libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { - name = "libXau-1.0.6"; + name = "libXau-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2; - sha256 = "1z3h07wj2kg2hnzj4gd9pc3rkj4n0mfw6f9skg9w1hfwzrgl317f"; + url = mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2; + sha256 = "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) { - name = "libXaw-1.0.9"; + name = "libXaw-1.0.11"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libXaw-1.0.9.tar.bz2; - sha256 = "0dxh5ldcmzl6afq0a9172ryah1341g0zysm8vk2lmqkqdda7ffd8"; + url = mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2; + sha256 = "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47"; }; buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ]; })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; @@ -621,18 +621,18 @@ let name = "libXcomposite-0.4.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2; sha256 = "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j"; }; buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; })) // {inherit compositeproto libX11 libXfixes xproto ;}; libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) { - name = "libXcursor-1.1.11"; + name = "libXcursor-1.1.13"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXcursor-1.1.11.tar.bz2; - sha256 = "1zpn5dx66l5ql9qv0yz41qlbap4imkkvi0p6j2a6zh72g52zfvm0"; + url = mirror://xorg/X11R7.7/src/everything/libXcursor-1.1.13.tar.bz2; + sha256 = "13xd1dyb06gwdwb0bxb22fkgdlmis6wrljm2xk6fhz0v9bg2g27p"; }; buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ]; })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; @@ -641,88 +641,88 @@ let name = "libXdamage-1.1.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXdamage-1.1.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2; sha256 = "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw"; }; buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) { - name = "libXdmcp-1.1.0"; + name = "libXdmcp-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2; - sha256 = "0wh0q4ih9p3nsxsjjj9a3d03nhiyjggpl7gbavdzsfia36iyk85q"; + url = mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2; + sha256 = "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) { - name = "libXext-1.2.0"; + name = "libXext-1.3.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2; - sha256 = "1xvgvrbg9lc812zi44hsyr461hiiwy05alckq847ki213qhkxvaa"; + url = mirror://xorg/X11R7.7/src/everything/libXext-1.3.1.tar.bz2; + sha256 = "0ng8clhn7srbkadxjc7ih3z3v27v9ny0aa0dqkgddgxpgrhrq8jn"; }; buildInputs = [pkgconfig libX11 xextproto xproto ]; })) // {inherit libX11 xextproto xproto ;}; libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) { - name = "libXfixes-4.0.5"; + name = "libXfixes-5.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2; - sha256 = "0x4drdxrslxf4vgcfyba0f0fbxg98c8x5dfrl7azakhf8qhd0v1f"; + url = mirror://xorg/X11R7.7/src/everything/libXfixes-5.0.tar.bz2; + sha256 = "1qx2rmwhmca2n7rgafy0arp15k5vwhdhhh6v6mx76hlj29328yjk"; }; buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ]; })) // {inherit fixesproto libX11 xextproto xproto ;}; libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) { - name = "libXfont-1.4.3"; + name = "libXfont-1.4.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXfont-1.4.3.tar.bz2; - sha256 = "1k79f8vcibd114ydndvna8axx39bsdaj351f16901lh155jlb4pp"; + url = mirror://xorg/X11R7.7/src/everything/libXfont-1.4.5.tar.bz2; + sha256 = "0w3irg00k6b6mziddnacln9q2rkf5848b04nvjqwv5bb1fw6zydv"; }; buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ]; })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) { - name = "libXft-2.2.0"; + name = "libXft-2.3.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2; - sha256 = "1cprbz7xnxkb7axblw8sdaw9ibkngmz60d0ypk1drhd0dpjmls68"; + url = mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2; + sha256 = "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz"; }; - buildInputs = [pkgconfig fontconfig freetype xproto libXrender ]; - })) // {inherit fontconfig freetype xproto libXrender ;}; + buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ]; + })) // {inherit fontconfig freetype libX11 xproto libXrender ;}; libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) { - name = "libXi-1.4.1"; + name = "libXi-1.6.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2; - sha256 = "19i92if8anv5pg2mwyy93jcllk1mgxx5gchi8zkjlk7r604ir7sr"; + url = mirror://xorg/X11R7.7/src/everything/libXi-1.6.1.tar.bz2; + sha256 = "029ihw4jq8mng8rx7a3jdvq64jm1zdkqidca93zmxv4jf9yn5qzj"; }; buildInputs = [pkgconfig inputproto libX11 libXext xextproto xproto ]; })) // {inherit inputproto libX11 libXext xextproto xproto ;}; libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) { - name = "libXinerama-1.1.1"; + name = "libXinerama-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2; - sha256 = "17vpsscracg1hza0avrczm9fc7xx3229qhicy101mw6cx2hb9qmv"; + url = mirror://xorg/X11R7.7/src/everything/libXinerama-1.1.2.tar.bz2; + sha256 = "1b3aq1762hxzchd9ndavdjlksq93991s0g2z6spf8wl3v0pprrx4"; }; buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ]; })) // {inherit libX11 libXext xextproto xineramaproto ;}; libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) { - name = "libXmu-1.1.0"; + name = "libXmu-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXmu-1.1.0.tar.bz2; - sha256 = "1b9nkml1mk8yi76bv23cikbfrd7hlp48h710yqgcrpkh7cq1za8g"; + url = mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2; + sha256 = "1pbym8rrznxqd60zwf7w4xpf27sa72bky2knginqcfnca32q343h"; }; buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; })) // {inherit libX11 libXext xextproto xproto libXt ;}; @@ -738,91 +738,91 @@ let })) // {inherit printproto libX11 libXau libXext xextproto ;}; libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) { - name = "libXpm-3.5.9"; + name = "libXpm-3.5.10"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXpm-3.5.9.tar.bz2; - sha256 = "07k2zpiadck1p986pgksfm5zfdm6h5vjy6p0hv59h1dbkh103pca"; + url = mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2; + sha256 = "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6"; }; buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; })) // {inherit libX11 libXext xextproto xproto libXt ;}; libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { - name = "libXrandr-1.3.1"; + name = "libXrandr-1.4.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2; - sha256 = "0qf6aywqk2mgd5hw0nr24xxp5k015aa11sax5yycn14wch4agfv2"; + url = mirror://xorg/individual/lib/libXrandr-1.4.0.tar.bz2; + sha256 = "1hzm2ndra4nf8xxzm4lzd225zj05hzbzcq464q2znah15ynd0fh3"; }; buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ]; })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) { - name = "libXrender-0.9.6"; + name = "libXrender-0.9.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2; - sha256 = "0s567qgys8m6782lbrpvpscm8fkk2jm2717g7s3hm7hhcgib2n3z"; + url = mirror://xorg/X11R7.7/src/everything/libXrender-0.9.7.tar.bz2; + sha256 = "1rmvja2gkf5v0k2n1bcghw8v98m2kfn3af0rbmsda5dwr69npd7r"; }; buildInputs = [pkgconfig renderproto libX11 xproto ]; })) // {inherit renderproto libX11 xproto ;}; libXres = (stdenv.mkDerivation ((if overrides ? libXres then overrides.libXres else x: x) { - name = "libXres-1.0.5"; + name = "libXres-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXres-1.0.5.tar.bz2; - sha256 = "0nd032jn3im6ar71xm1wgcmb4pa76c73nl8lavdkih609d30y2x0"; + url = mirror://xorg/X11R7.7/src/everything/libXres-1.0.6.tar.bz2; + sha256 = "1478pm70gdi6l70r4jpkyyg2am9wv6xh53z9ibwq5cg84p4n31pz"; }; buildInputs = [pkgconfig resourceproto libX11 libXext xextproto xproto ]; })) // {inherit resourceproto libX11 libXext xextproto xproto ;}; libXt = (stdenv.mkDerivation ((if overrides ? libXt then overrides.libXt else x: x) { - name = "libXt-1.0.9"; + name = "libXt-1.1.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXt-1.0.9.tar.bz2; - sha256 = "00bbms32fkzrxhdm9kybb2404ad6f3d6v4qgl83py7w09dcipfga"; + url = mirror://xorg/X11R7.7/src/everything/libXt-1.1.3.tar.bz2; + sha256 = "1g85gwnhs7lg5f01gfi1cpb916xc3spm1fjlv2f4xz2zzk1r7dcd"; }; buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ]; })) // {inherit libICE kbproto libSM libX11 xproto ;}; libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) { - name = "libXtst-1.2.0"; + name = "libXtst-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXtst-1.2.0.tar.bz2; - sha256 = "022lx3c57pkkw11j2k5s1f5idf53li5qg291766bvxi1nl90jbks"; + url = mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2; + sha256 = "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky"; }; buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ]; })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;}; libXv = (stdenv.mkDerivation ((if overrides ? libXv then overrides.libXv else x: x) { - name = "libXv-1.0.6"; + name = "libXv-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXv-1.0.6.tar.bz2; - sha256 = "1vpmr9wnbz990ivarsp5rcmdg483fd2nk695plzlzx5h9dcqw3z2"; + url = mirror://xorg/X11R7.7/src/everything/libXv-1.0.7.tar.bz2; + sha256 = "044hllz013afhzywwpxz007l4zjy99bv9im065rqd30zckmllrjx"; }; buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ]; })) // {inherit videoproto libX11 libXext xextproto xproto ;}; libXvMC = (stdenv.mkDerivation ((if overrides ? libXvMC then overrides.libXvMC else x: x) { - name = "libXvMC-1.0.6"; + name = "libXvMC-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXvMC-1.0.6.tar.bz2; - sha256 = "14ik1kgpnds213dsa16i8cf5qg3hc7vccy9jz4a4ml8zqzlq1nix"; + url = mirror://xorg/X11R7.7/src/everything/libXvMC-1.0.7.tar.bz2; + sha256 = "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18"; }; buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ]; })) // {inherit videoproto libX11 libXext xextproto xproto libXv ;}; libXxf86dga = (stdenv.mkDerivation ((if overrides ? libXxf86dga then overrides.libXxf86dga else x: x) { - name = "libXxf86dga-1.1.2"; + name = "libXxf86dga-1.1.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXxf86dga-1.1.2.tar.bz2; - sha256 = "01jsc0jg7mjngfbh3j942595pwbyxf2m9kljy3zb6gyfcbsm59hv"; + url = mirror://xorg/X11R7.7/src/everything/libXxf86dga-1.1.3.tar.bz2; + sha256 = "15291ddhyr54sribwbg8hxx2psgzm5gh0pgkw5yrf3zgvdsa67sm"; }; buildInputs = [pkgconfig libX11 libXext xextproto xf86dgaproto xproto ]; })) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;}; @@ -838,41 +838,41 @@ let })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;}; libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) { - name = "libXxf86vm-1.1.1"; + name = "libXxf86vm-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libXxf86vm-1.1.1.tar.bz2; - sha256 = "17i342h7a2nqfz4lpk8cay0vc0h4i7nxdc6xli9r7mggk8iykji1"; + url = mirror://xorg/X11R7.7/src/everything/libXxf86vm-1.1.2.tar.bz2; + sha256 = "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55"; }; buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ]; })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;}; libdmx = (stdenv.mkDerivation ((if overrides ? libdmx then overrides.libdmx else x: x) { - name = "libdmx-1.1.1"; + name = "libdmx-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libdmx-1.1.1.tar.bz2; - sha256 = "066yndshwq2nzkd0z0w96wq37rnhb23s6vq50bg4kiqb8y3nxpm6"; + url = mirror://xorg/X11R7.7/src/everything/libdmx-1.1.2.tar.bz2; + sha256 = "1fiq73sfxcbyjval118ialwrzxhzb08xsxmg69adcs47i9j0p1x7"; }; buildInputs = [pkgconfig dmxproto libX11 libXext xextproto ]; })) // {inherit dmxproto libX11 libXext xextproto ;}; libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) { - name = "libfontenc-1.1.0"; + name = "libfontenc-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libfontenc-1.1.0.tar.bz2; - sha256 = "1gww1cbi17q15lh2ws6qzspp807issbyk5wlzjmgw6pn880ip2il"; + url = mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2; + sha256 = "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny"; }; buildInputs = [pkgconfig xproto zlib ]; })) // {inherit xproto zlib ;}; libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) { - name = "libpciaccess-0.12.1"; + name = "libpciaccess-0.13.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libpciaccess-0.12.1.tar.bz2; - sha256 = "0i3kdmvl1mcjrkhklpli45sqsy4pvipm6swifbcyxx4cwkqdfiyc"; + url = mirror://xorg/X11R7.7/src/everything/libpciaccess-0.13.1.tar.bz2; + sha256 = "11509lkgd5j4g5wy0g13z4sf31h50hqx3jfwb2i4q6k98pv6iar7"; }; buildInputs = [pkgconfig zlib ]; })) // {inherit zlib ;}; @@ -881,91 +881,91 @@ let name = "libpthread-stubs-0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libpthread-stubs-0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/libpthread-stubs-0.3.tar.bz2; sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { - name = "libxcb-1.7"; + name = "libxcb-1.9"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2; - sha256 = "1pr40wa3i1f0iwx83c8alcycy9sfzd2y1qlc63kr8q56w8sxqxp7"; + url = mirror://xorg/individual/xcb/libxcb-1.9.tar.bz2; + sha256 = "15icn78x610dvvgnji6b3pyn8nd88lz68hq0w73pcadf78mycmw8"; }; buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; libxkbfile = (stdenv.mkDerivation ((if overrides ? libxkbfile then overrides.libxkbfile else x: x) { - name = "libxkbfile-1.0.7"; + name = "libxkbfile-1.0.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/libxkbfile-1.0.7.tar.bz2; - sha256 = "1r9a1xnn57431hfp1am2r5h23pa1zh646482li3vd5ivfc53fzk6"; + url = mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2; + sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca"; }; buildInputs = [pkgconfig kbproto libX11 ]; })) // {inherit kbproto libX11 ;}; lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) { - name = "lndir-1.0.2"; + name = "lndir-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/util/lndir-1.0.2.tar.bz2; - sha256 = "1d988z0ywy2k53s7i43ff0j5qac1cpy9j0gjwmiprq66w8rh24z5"; + url = mirror://xorg/individual/util/lndir-1.0.3.tar.bz2; + sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; luit = (stdenv.mkDerivation ((if overrides ? luit then overrides.luit else x: x) { - name = "luit-1.1.0"; + name = "luit-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/luit-1.1.0.tar.bz2; - sha256 = "1l83b5yknh4svqzwsppvmm2q9l0mvsfwm16ik7q3yss8m5zgvypi"; + url = mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2; + sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h"; }; - buildInputs = [pkgconfig libfontenc zlib ]; - })) // {inherit libfontenc zlib ;}; + buildInputs = [pkgconfig libfontenc ]; + })) // {inherit libfontenc ;}; makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) { - name = "makedepend-1.0.3"; + name = "makedepend-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/makedepend-1.0.3.tar.bz2; - sha256 = "0dxpz376bvphjg8q0nqrcf4y0dbni0c6jj5y16qymr37wlq1s99s"; + url = mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2; + sha256 = "1zpp2b9dfvlnfj2i1mzdyn785rpl7vih5lap7kcpiv80xspbhmmb"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; mkfontdir = (stdenv.mkDerivation ((if overrides ? mkfontdir then overrides.mkfontdir else x: x) { - name = "mkfontdir-1.0.6"; + name = "mkfontdir-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/mkfontdir-1.0.6.tar.bz2; - sha256 = "0nf8p0zsndd9qmrw70h2wdq7sz6j066q73lpp262dlpq21inrmam"; + url = mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2; + sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) { - name = "mkfontscale-1.0.8"; + name = "mkfontscale-1.1.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/mkfontscale-1.0.8.tar.bz2; - sha256 = "1yah41gr5hlihbjm5l1kykdqj1p5rx6y4vrqraxbzvkrrn37gdbf"; + url = mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2; + sha256 = "1539h3ws66vcql6sf2831bcs0r4d9b05lcgpswkw33lvcxighmff"; }; buildInputs = [pkgconfig libfontenc freetype xproto zlib ]; })) // {inherit libfontenc freetype xproto zlib ;}; pixman = (stdenv.mkDerivation ((if overrides ? pixman then overrides.pixman else x: x) { - name = "pixman-0.20.2"; + name = "pixman-0.26.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/pixman-0.20.2.tar.bz2; - sha256 = "1agl6f63y2wiqr6n9slzhisnilcg8byafp2l8wmw713bk8k6yc9h"; + url = mirror://xorg/individual/lib/pixman-0.26.2.tar.bz2; + sha256 = "0z34jb75wpbyj3gxn34icd8j81fk5d6s6qnwp2ncz7m8icf6afqr"; }; - buildInputs = [pkgconfig perl ]; - })) // {inherit perl ;}; + buildInputs = [pkgconfig libpng perl ]; + })) // {inherit libpng perl ;}; printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) { name = "printproto-1.0.5"; @@ -978,21 +978,21 @@ let })) // {inherit libXau ;}; randrproto = (stdenv.mkDerivation ((if overrides ? randrproto then overrides.randrproto else x: x) { - name = "randrproto-1.3.2"; + name = "randrproto-1.4.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/randrproto-1.3.2.tar.bz2; - sha256 = "0wfwcq85wbm0g5r0snc7prgki1wi3kxrxhcxinyr54n45ihh03fr"; + url = mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2; + sha256 = "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; recordproto = (stdenv.mkDerivation ((if overrides ? recordproto then overrides.recordproto else x: x) { - name = "recordproto-1.14.1"; + name = "recordproto-1.14.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/recordproto-1.14.1.tar.bz2; - sha256 = "1389fc3r8h8xqix11y9ngw7a13i1mvw68jkhicgvq676sd1v0zmj"; + url = mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2; + sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -1001,78 +1001,78 @@ let name = "renderproto-0.11.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/renderproto-0.11.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2; sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; resourceproto = (stdenv.mkDerivation ((if overrides ? resourceproto then overrides.resourceproto else x: x) { - name = "resourceproto-1.1.1"; + name = "resourceproto-1.2.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/resourceproto-1.1.1.tar.bz2; - sha256 = "1imqlkvn4mfjsflwvqx8dj0n7i7frdpzkdafq001r25ak6782yc5"; + url = mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2; + sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; scrnsaverproto = (stdenv.mkDerivation ((if overrides ? scrnsaverproto then overrides.scrnsaverproto else x: x) { - name = "scrnsaverproto-1.2.1"; + name = "scrnsaverproto-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/scrnsaverproto-1.2.1.tar.bz2; - sha256 = "1w94c1an7cy9v68289xbqszaj6g5qx5a29qx67fwsvqkmhygglps"; + url = mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2; + sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) { - name = "sessreg-1.0.6"; + name = "sessreg-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/sessreg-1.0.6.tar.bz2; - sha256 = "143ivrs2pbkid4wr1hri9221z4gi9dlkq7x60jarcz9bhiq1dwvk"; + url = mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2; + sha256 = "0lifgjxdvc6lwyjk90slddnr12fsv88ldy6qhklr5av409cfwd47"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; setxkbmap = (stdenv.mkDerivation ((if overrides ? setxkbmap then overrides.setxkbmap else x: x) { - name = "setxkbmap-1.2.0"; + name = "setxkbmap-1.3.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/setxkbmap-1.2.0.tar.bz2; - sha256 = "0fdfvc0fqdp11ly5iywrsi4w7rln4dq02b0b91yjmjm83fzr35cr"; + url = mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2; + sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x"; }; buildInputs = [pkgconfig libX11 libxkbfile ]; })) // {inherit libX11 libxkbfile ;}; smproxy = (stdenv.mkDerivation ((if overrides ? smproxy then overrides.smproxy else x: x) { - name = "smproxy-1.0.4"; + name = "smproxy-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/smproxy-1.0.4.tar.bz2; - sha256 = "0wj4z4ars9j4k5pysl42jpx4zclrz3ifwgqxrcdlmb3l5xvyb4ip"; + url = mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2; + sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67"; }; - buildInputs = [pkgconfig libSM libXmu libXt ]; - })) // {inherit libSM libXmu libXt ;}; + buildInputs = [pkgconfig libICE libSM libXmu libXt ]; + })) // {inherit libICE libSM libXmu libXt ;}; twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) { - name = "twm-1.0.6"; + name = "twm-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/twm-1.0.6.tar.bz2; - sha256 = "1scly9kv3kx8zh8bfljsdd32dsb4j05xzn8c5x270xcshzbwmp77"; + url = mirror://xorg/individual/app/twm-1.0.7.tar.bz2; + sha256 = "0i6dbf5vafi5hm4bcmnj6r412cncjlv9hkkbr6bzlh15qvg56p8g"; }; - buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu libXt ]; - })) // {inherit libICE libSM libX11 libXext libXmu libXt ;}; + buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ]; + })) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;}; utilmacros = (stdenv.mkDerivation ((if overrides ? utilmacros then overrides.utilmacros else x: x) { - name = "util-macros-1.11.0"; + name = "util-macros-1.17"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/util-macros-1.11.0.tar.bz2; - sha256 = "1kya7z5rad93zmc0ij7jhl3shh1k37szmjg1rv75lizqlib4slz8"; + url = mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2; + sha256 = "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -1081,7 +1081,7 @@ let name = "videoproto-2.3.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/videoproto-2.3.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2; sha256 = "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry"; }; buildInputs = [pkgconfig ]; @@ -1091,88 +1091,88 @@ let name = "windowswmproto-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/windowswmproto-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2; sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; x11perf = (stdenv.mkDerivation ((if overrides ? x11perf then overrides.x11perf else x: x) { - name = "x11perf-1.5.3"; + name = "x11perf-1.5.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/x11perf-1.5.3.tar.bz2; - sha256 = "1g91ksfrvj59hvxvfj1xb730aqscg5wdnc3grrab1wz7mxap6k9r"; + url = mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2; + sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4"; }; buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ]; })) // {inherit libX11 libXext libXft libXmu libXrender ;}; xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) { - name = "xauth-1.0.5"; + name = "xauth-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xauth-1.0.5.tar.bz2; - sha256 = "0v3lmm3qil8shgm7731pl0wd32kpq7w73w5d4mjq1bqxzw09a4vd"; + url = mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2; + sha256 = "1382wdfiakgckbw1xxavzh1nm34q21b1zzy96qp7ws66xc48rxw4"; }; buildInputs = [pkgconfig libX11 libXau libXext libXmu ]; })) // {inherit libX11 libXau libXext libXmu ;}; xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) { - name = "xbacklight-1.1.2"; + name = "xbacklight-1.2.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xbacklight-1.1.2.tar.bz2; - sha256 = "02b5jfys2msla2yvg5s0knzyxg2104r25czkwd49i8g8kp804bxg"; + url = mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2; + sha256 = "199n9qszjiz82nbjz6ychh0xl15igm535mv0830wk4m59w9xclji"; }; - buildInputs = [pkgconfig libX11 libXrandr ]; - })) // {inherit libX11 libXrandr ;}; + buildInputs = [pkgconfig libxcb xcbutil ]; + })) // {inherit libxcb xcbutil ;}; xbitmaps = (stdenv.mkDerivation ((if overrides ? xbitmaps then overrides.xbitmaps else x: x) { name = "xbitmaps-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xbitmaps-1.1.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2; sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xcbproto = (stdenv.mkDerivation ((if overrides ? xcbproto then overrides.xcbproto else x: x) { - name = "xcb-proto-1.6"; + name = "xcb-proto-1.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xcb-proto-1.6.tar.bz2; - sha256 = "18jwkgd2ayvd0zzwawnbh86b4xqjq29mgsq44h06yj8jkcaw2azm"; + url = mirror://xorg/individual/xcb/xcb-proto-1.8.tar.bz2; + sha256 = "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93"; }; buildInputs = [pkgconfig python ]; })) // {inherit python ;}; xcbutil = (stdenv.mkDerivation ((if overrides ? xcbutil then overrides.xcbutil else x: x) { - name = "xcb-util-0.3.8"; + name = "xcb-util-0.3.9"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xcb/xcb-util-0.3.8.tar.bz2; - sha256 = "1fa7njhg7dsqbrkwrzbkfszdp1dmggvlsrb05qshkg2h8wldkvn1"; + url = mirror://xorg/individual/xcb/xcb-util-0.3.9.tar.bz2; + sha256 = "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; })) // {inherit gperf m4 libxcb xproto ;}; xcbutilimage = (stdenv.mkDerivation ((if overrides ? xcbutilimage then overrides.xcbutilimage else x: x) { - name = "xcb-util-image-0.3.8"; + name = "xcb-util-image-0.3.9"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xcb/xcb-util-image-0.3.8.tar.bz2; - sha256 = "1nd67105lb8qfa7r2lli5sxnipi1p1wnbwa04l9k30kfq8l0afa0"; + url = mirror://xorg/individual/xcb/xcb-util-image-0.3.9.tar.bz2; + sha256 = "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk"; }; buildInputs = [pkgconfig gperf m4 libxcb xcbutil xproto ]; })) // {inherit gperf m4 libxcb xcbutil xproto ;}; xcbutilkeysyms = (stdenv.mkDerivation ((if overrides ? xcbutilkeysyms then overrides.xcbutilkeysyms else x: x) { - name = "xcb-util-keysyms-0.3.8"; + name = "xcb-util-keysyms-0.3.9"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.8.tar.bz2; - sha256 = "08b1d19gaqv3agpkvh5mgcir11vjy89ywdknva0cb073mzvk4gci"; + url = mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.9.tar.bz2; + sha256 = "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; })) // {inherit gperf m4 libxcb xproto ;}; @@ -1188,51 +1188,51 @@ let })) // {inherit gperf m4 libxcb xproto ;}; xcbutilwm = (stdenv.mkDerivation ((if overrides ? xcbutilwm then overrides.xcbutilwm else x: x) { - name = "xcb-util-wm-0.3.8"; + name = "xcb-util-wm-0.3.9"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xcb/xcb-util-wm-0.3.8.tar.bz2; - sha256 = "01shwv13rfcxycrsla6c5xlrk1qska7kvvj10n7jcibx9jzanmy5"; + url = mirror://xorg/individual/xcb/xcb-util-wm-0.3.9.tar.bz2; + sha256 = "0c30fj33gvwzwhyz1dhsfwni0ai16bxpvxb4l6c6s7vvj7drp3q3"; }; buildInputs = [pkgconfig gperf m4 libxcb xproto ]; })) // {inherit gperf m4 libxcb xproto ;}; xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) { - name = "xclock-1.0.5"; + name = "xclock-1.0.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xclock-1.0.5.tar.bz2; - sha256 = "16jcmsmhz503mqv7wz7daqqhm11phsws0g7fryzlz0gk4jg1daak"; + url = mirror://xorg/individual/app/xclock-1.0.6.tar.bz2; + sha256 = "1l1zxr69p0734fnx9rdqw79ahr273hr050sm8xdc0n51n1bnzfr1"; }; buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu libXrender libXt ]; })) // {inherit libX11 libXaw libXft libxkbfile libXmu libXrender libXt ;}; xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) { - name = "xcmiscproto-1.2.1"; + name = "xcmiscproto-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xcmiscproto-1.2.1.tar.bz2; - sha256 = "05acy1axzkrq6z9xlbmz1kg66lbgfqzky8v4qfdl16gv5gi2f3kk"; + url = mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2; + sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xcmsdb = (stdenv.mkDerivation ((if overrides ? xcmsdb then overrides.xcmsdb else x: x) { - name = "xcmsdb-1.0.3"; + name = "xcmsdb-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xcmsdb-1.0.3.tar.bz2; - sha256 = "102s9lsghdp5n3bsg4chlkhrk0jh0kxvg2g0pyi1zmzfy5hd0dxj"; + url = mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2; + sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74"; }; buildInputs = [pkgconfig libX11 ]; })) // {inherit libX11 ;}; xcursorgen = (stdenv.mkDerivation ((if overrides ? xcursorgen then overrides.xcursorgen else x: x) { - name = "xcursorgen-1.0.4"; + name = "xcursorgen-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xcursorgen-1.0.4.tar.bz2; - sha256 = "07azdw6w18hdgrd6z3nawrhn1m18nyp24cz54ih91vpz8hpxnany"; + url = mirror://xorg/X11R7.7/src/everything/xcursorgen-1.0.5.tar.bz2; + sha256 = "10f5wk1326mm45gvgpf4m2p0j80fcd0i4c52zikahb91zah72wdw"; }; buildInputs = [pkgconfig libpng libX11 libXcursor ]; })) // {inherit libpng libX11 libXcursor ;}; @@ -1241,58 +1241,58 @@ let name = "xcursor-themes-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xcursor-themes-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2; sha256 = "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr"; }; buildInputs = [pkgconfig libXcursor ]; })) // {inherit libXcursor ;}; xdm = (stdenv.mkDerivation ((if overrides ? xdm then overrides.xdm else x: x) { - name = "xdm-1.1.10"; + name = "xdm-1.1.11"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xdm-1.1.10.tar.bz2; - sha256 = "0zzrlkmppy6mma49db2x1il47rhjqkg9rs91ryl7xyv5iqbgg1ql"; + url = mirror://xorg/individual/app/xdm-1.1.11.tar.bz2; + sha256 = "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl"; }; buildInputs = [pkgconfig libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ]; })) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;}; xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) { - name = "xdpyinfo-1.2.0"; + name = "xdpyinfo-1.3.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xdpyinfo-1.2.0.tar.bz2; - sha256 = "1kmmfawcjxgmp06jb3w7d0pxbrcxrrgfx3m1lbwj3gygir4ssnzy"; + url = mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2; + sha256 = "0gypsvpmay3lsh3b1dg29pjxv95pkrr21d4w6ys02mrbld24kvi3"; }; - buildInputs = [pkgconfig libdmx libX11 libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ]; - })) // {inherit libdmx libX11 libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; + buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ]; + })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) { name = "xdriinfo-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xdriinfo-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2; sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim"; }; buildInputs = [pkgconfig glproto libX11 ]; })) // {inherit glproto libX11 ;}; xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) { - name = "xev-1.1.0"; + name = "xev-1.2.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xev-1.1.0.tar.bz2; - sha256 = "1ih1rxf2b6bpsggvbx4ibyx70bzgcyjl98l1894d0smjxmlc4n9q"; + url = mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2; + sha256 = "13xk5z7vy87rnn4574z0jfzymdivyc7pl4axim81sx0pmdysg1ip"; }; - buildInputs = [pkgconfig libX11 ]; - })) // {inherit libX11 ;}; + buildInputs = [pkgconfig libX11 xproto libXrandr ]; + })) // {inherit libX11 xproto libXrandr ;}; xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) { - name = "xextproto-7.1.2"; + name = "xextproto-7.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xextproto-7.1.2.tar.bz2; - sha256 = "16ci2mc9g85fsb7lgml349rbgf97v7l9688by71agv682bhjky7n"; + url = mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2; + sha256 = "06kdanbnprxvgl56l5h0lqj4b0f1fbb1ndha33mv5wvy802v2lvw"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -1311,7 +1311,7 @@ let name = "xf86bigfontproto-1.2.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86bigfontproto-1.2.0.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2; sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms"; }; buildInputs = [pkgconfig ]; @@ -1321,7 +1321,7 @@ let name = "xf86dgaproto-2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86dgaproto-2.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2; sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc"; }; buildInputs = [pkgconfig ]; @@ -1331,98 +1331,78 @@ let name = "xf86driproto-2.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/xf86driproto-2.1.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2; sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; - xf86inputacecad = (stdenv.mkDerivation ((if overrides ? xf86inputacecad then overrides.xf86inputacecad else x: x) { - name = "xf86-input-acecad-1.4.0"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-input-acecad-1.4.0.tar.bz2; - sha256 = "0mnmvffxwgcvsa208vffsqlai7lldjc46rdk6j0j4q00df5isd28"; - }; - buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ]; - })) // {inherit inputproto randrproto xorgserver xproto ;}; - - xf86inputaiptek = (stdenv.mkDerivation ((if overrides ? xf86inputaiptek then overrides.xf86inputaiptek else x: x) { - name = "xf86-input-aiptek-1.3.1"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-input-aiptek-1.3.1.tar.bz2; - sha256 = "16pby473s65lfd2v60fwayzfhf1n6x696lrx720zwb2p22rlsna3"; - }; - buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ]; - })) // {inherit inputproto randrproto xorgserver xproto ;}; - xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) { - name = "xf86-input-evdev-2.6.0"; + name = "xf86-input-evdev-2.7.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-evdev-2.6.0.tar.bz2; - sha256 = "1b2kcxm7bc255ym56dpl1fw3km44f5ny3hwn65sa90w13acz7rxh"; + url = mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2; + sha256 = "01557w1kmsaqdsc42pxyypig10l5r5vh9axz9g22hg9cc09r8f7b"; }; - buildInputs = [pkgconfig inputproto xorgserver xproto ]; - })) // {inherit inputproto xorgserver xproto ;}; + buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; + })) // {inherit inputproto udev xorgserver xproto ;}; xf86inputjoystick = (stdenv.mkDerivation ((if overrides ? xf86inputjoystick then overrides.xf86inputjoystick else x: x) { - name = "xf86-input-joystick-1.5.0"; + name = "xf86-input-joystick-1.6.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-input-joystick-1.5.0.tar.bz2; - sha256 = "1ac2lap4npylyzg0pi0zy0n48wvicgz9kw0z9ih9ylk9sz2ii0bi"; + url = mirror://xorg/X11R7.7/src/everything/xf86-input-joystick-1.6.1.tar.bz2; + sha256 = "1xgpkdmfw4ahjlva97gs9sllzw8nlpa8mxj59g28fxhak67mvv8x"; }; buildInputs = [pkgconfig inputproto kbproto xorgserver xproto ]; })) // {inherit inputproto kbproto xorgserver xproto ;}; xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) { - name = "xf86-input-keyboard-1.5.0"; + name = "xf86-input-keyboard-1.6.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-input-keyboard-1.5.0.tar.bz2; - sha256 = "1c4ww4yj23shqwhc52r512qsy5baf1sxsb7jj7pfnralj07520r3"; + url = mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2; + sha256 = "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma"; }; buildInputs = [pkgconfig inputproto xorgserver xproto ]; })) // {inherit inputproto xorgserver xproto ;}; xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) { - name = "xf86-input-mouse-1.6.0"; + name = "xf86-input-mouse-1.7.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-input-mouse-1.6.0.tar.bz2; - sha256 = "1nzvlbhvdyki3h1s4x2i3ps1immf3wfns6az2i3669v8a5g29bn7"; + url = mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2; + sha256 = "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark"; }; buildInputs = [pkgconfig inputproto xorgserver xproto ]; })) // {inherit inputproto xorgserver xproto ;}; xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) { - name = "xf86-input-synaptics-1.5.0"; + name = "xf86-input-synaptics-1.6.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-synaptics-1.5.0.tar.bz2; - sha256 = "0khwda8lrrvrdb37i4i1kdhg8f44kgcjq9y209ds7ja9zjcm7k4m"; + url = mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2; + sha256 = "082rlbyw63sashjbwd7dd0a0smp5n8yv9bihy19c706lhnhddxy3"; }; buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ]; })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; xf86inputvmmouse = (stdenv.mkDerivation ((if overrides ? xf86inputvmmouse then overrides.xf86inputvmmouse else x: x) { - name = "xf86-input-vmmouse-12.6.10"; + name = "xf86-input-vmmouse-12.9.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-input-vmmouse-12.6.10.tar.bz2; - sha256 = "0409lkwk1ws8vw4axxilwmcs8qxj8lq5dma2i2iz49q6hrd9sdm6"; + url = mirror://xorg/individual/driver/xf86-input-vmmouse-12.9.0.tar.bz2; + sha256 = "1gwrna96f0p4gpjhin8yx01y5xvns2j15f7hw1jvqf7fpzv01kzv"; }; buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ]; })) // {inherit inputproto randrproto xorgserver xproto ;}; xf86inputvoid = (stdenv.mkDerivation ((if overrides ? xf86inputvoid then overrides.xf86inputvoid else x: x) { - name = "xf86-input-void-1.3.1"; + name = "xf86-input-void-1.4.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-input-void-1.3.1.tar.bz2; - sha256 = "0x662i756p0nqmfv76ppm28ir2sbvcm32r71ycd9bxc3mj29g9mb"; + url = mirror://xorg/X11R7.7/src/everything/xf86-input-void-1.4.0.tar.bz2; + sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a"; }; buildInputs = [pkgconfig xorgserver xproto ]; })) // {inherit xorgserver xproto ;}; @@ -1437,145 +1417,115 @@ let buildInputs = [pkgconfig ]; })) // {inherit ;}; - xf86videoapm = (stdenv.mkDerivation ((if overrides ? xf86videoapm then overrides.xf86videoapm else x: x) { - name = "xf86-video-apm-1.2.3"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-apm-1.2.3.tar.bz2; - sha256 = "1nih9ayiw13aa1s8j6gr99b207215if055c6yvsrssnpvccflij0"; - }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videoark = (stdenv.mkDerivation ((if overrides ? xf86videoark then overrides.xf86videoark else x: x) { - name = "xf86-video-ark-0.7.3"; + name = "xf86-video-ark-0.7.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-ark-0.7.3.tar.bz2; - sha256 = "164gyaaddjjma0xqys0knid2rsd0c7jlab02c8wh3bk4bib9l51r"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-ark-0.7.4.tar.bz2; + sha256 = "194zc35ivfh3vcxcilf9nbi88c2di8kbh84x535cljlpiajdnk5x"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) { - name = "xf86-video-ast-0.91.10"; + name = "xf86-video-ast-0.93.10"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-ast-0.91.10.tar.bz2; - sha256 = "05fcp0svdd4skkfgag1rrram6v3xzgasf582dihpyrwlz28186vy"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-ast-0.93.10.tar.bz2; + sha256 = "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videoati = (stdenv.mkDerivation ((if overrides ? xf86videoati then overrides.xf86videoati else x: x) { - name = "xf86-video-ati-6.14.3"; + name = "xf86-video-ati-6.14.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-ati-6.14.3.tar.bz2; - sha256 = "1d1ph7xvgcr7rdf5sgibhas625aghvm3f61yzwmfk8znxx4jcjl4"; + url = mirror://xorg/individual/driver/xf86-video-ati-6.14.4.tar.bz2; + sha256 = "11gg6xn65vym75769hzgzpkjsyhlkrw4zw3ncngriq7vz1g47zjg"; }; buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; })) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; - xf86videochips = (stdenv.mkDerivation ((if overrides ? xf86videochips then overrides.xf86videochips else x: x) { - name = "xf86-video-chips-1.2.3"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-chips-1.2.3.tar.bz2; - sha256 = "07fb03cxdlis2rjphz2pl59cjhldrhqric8p0gi4wkgq0s72fq85"; - }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) { - name = "xf86-video-cirrus-1.3.2"; + name = "xf86-video-cirrus-1.5.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-cirrus-1.3.2.tar.bz2; - sha256 = "06na525xy5d6xf5g13bjsk9cyxly5arzgrk9j8dmxfll5jj9i6jj"; + url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2; + sha256 = "0my54x52fsa82bsh196hz79750xjlv8ddbvin7230ck7pnf44md9"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) { - name = "xf86-video-dummy-0.3.4"; + name = "xf86-video-dummy-0.3.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-dummy-0.3.4.tar.bz2; - sha256 = "1p0vhxvx25d8fp59i72664smhd0z5zw0i2kipk0879xk1vsxz13y"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-dummy-0.3.5.tar.bz2; + sha256 = "0pyr50kqh7g84r4p0x09ay5kxax20dip9sh8h3cbd4xv8cswdbfm"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ]; })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) { - name = "xf86-video-fbdev-0.4.2"; + name = "xf86-video-fbdev-0.4.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-fbdev-0.4.2.tar.bz2; - sha256 = "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk"; + url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2; + sha256 = "0ca8khgy3wv0fys7s4087apvnp8j86blxj5m5m70l10hs5x06yzz"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; xf86videogeode = (stdenv.mkDerivation ((if overrides ? xf86videogeode then overrides.xf86videogeode else x: x) { - name = "xf86-video-geode-2.11.10"; + name = "xf86-video-geode-2.11.13"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-geode-2.11.10.tar.bz2; - sha256 = "1zdb3y5df1dcqlvijg8hxcd6520a5c69jk52yz7ww194ka2c8icf"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-geode-2.11.13.tar.bz2; + sha256 = "09p2cjd2fb7h32k9qs4wp7qvhfn2zv454spv5mfplv7w2jis4863"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videoglide = (stdenv.mkDerivation ((if overrides ? xf86videoglide then overrides.xf86videoglide else x: x) { - name = "xf86-video-glide-1.1.0"; + name = "xf86-video-glide-1.2.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-glide-1.1.0.tar.bz2; - sha256 = "1wf35ai8z3qqk2a97rp72jzvm28ylw2wj2hllrsn29p7jpznh5aw"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-glide-1.2.0.tar.bz2; + sha256 = "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l"; }; buildInputs = [pkgconfig xextproto xorgserver xproto ]; })) // {inherit xextproto xorgserver xproto ;}; xf86videoglint = (stdenv.mkDerivation ((if overrides ? xf86videoglint then overrides.xf86videoglint else x: x) { - name = "xf86-video-glint-1.2.5"; + name = "xf86-video-glint-1.2.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-glint-1.2.5.tar.bz2; - sha256 = "0jw1kkyja8hvvhrr3ldl1r5vpqfhn1xmqkpgd2jrkc5p59rz4xan"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-glint-1.2.7.tar.bz2; + sha256 = "0nf36jryabpncqq4m6sfsnmzk00f7gvfmjnl8l8sfy7w6sa6iacs"; }; - buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xorgserver xproto ]; - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xorgserver xproto ;}; + buildInputs = [pkgconfig libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ]; + })) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;}; xf86videoi128 = (stdenv.mkDerivation ((if overrides ? xf86videoi128 then overrides.xf86videoi128 else x: x) { - name = "xf86-video-i128-1.3.4"; + name = "xf86-video-i128-1.3.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-i128-1.3.4.tar.bz2; - sha256 = "1kwb4ifxwm77s1ks19csmq2ymgs36bxqwvwv24ssvxb9znki76xn"; - }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - - xf86videoi740 = (stdenv.mkDerivation ((if overrides ? xf86videoi740 then overrides.xf86videoi740 else x: x) { - name = "xf86-video-i740-1.3.2"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-i740-1.3.2.tar.bz2; - sha256 = "0hzr5fz6d5jk9jxh9plfgvgias3w7xzyg1n4gx0hs2lc7mm9qm28"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-i128-1.3.5.tar.bz2; + sha256 = "1sik8ck410hb2885vy7rlc590hw5br8lr2fzxgmv55jyawgfpv9y"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) { - name = "xf86-video-intel-2.15.0"; + name = "xf86-video-intel-2.20.10"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-intel-2.15.0.tar.bz2; - sha256 = "080pkhjp910wy36crpgi0dmcwpcx8w2r3k4s0dz6v14bmgly2xy3"; + url = mirror://xorg/individual/driver/xf86-video-intel-2.20.10.tar.bz2; + sha256 = "1kfd6qiqxyqhjp8g1xcipkldsf7xa47q8zfdhxg3qzw77n6a4hfz"; }; - buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ]; - })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ;}; + buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ]; + })) // {inherit dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ;}; xf86videointel_2_14_901 = (stdenv.mkDerivation ((if overrides ? xf86videointel_2_14_901 then overrides.xf86videointel_2_14_901 else x: x) { name = "xf86-video-intel-2.14.901"; @@ -1598,170 +1548,110 @@ let })) // {inherit dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ;}; xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) { - name = "xf86-video-mach64-6.8.2"; + name = "xf86-video-mach64-6.9.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-mach64-6.8.2.tar.bz2; - sha256 = "07b7dkb6xc10pvf483dg52r2klpikmw339i5ln9ig913601r84dr"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-mach64-6.9.1.tar.bz2; + sha256 = "0kl3kvpc2ny48z89313i9fi4cxzwb2pllvxcr9j5ly680ygx8slz"; }; - buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ]; - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ;}; + buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; xf86videomga = (stdenv.mkDerivation ((if overrides ? xf86videomga then overrides.xf86videomga else x: x) { - name = "xf86-video-mga-1.4.13"; + name = "xf86-video-mga-1.5.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-mga-1.4.13.tar.bz2; - sha256 = "1xnzxmp9cfpi6q7fx2r74iwyb33wkdrqcf38dhwydbaaxigvsmxn"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-mga-1.5.0.tar.bz2; + sha256 = "03l3wz5kz0hmxmzqqbkgn7pf9d956jlag04rb701a0fr1mw3v66a"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) { - name = "xf86-video-neomagic-1.2.5"; + name = "xf86-video-neomagic-1.2.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-neomagic-1.2.5.tar.bz2; - sha256 = "0jshn5k1byq0msl1ymip3m2xycrd8jkk6nzm5dx2av5xlj1rxdn0"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-neomagic-1.2.6.tar.bz2; + sha256 = "124qci48xrk0w2jy91n7vqs7s6q397zyiqqszhmkx6ld7six57mi"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) { - name = "xf86-video-newport-0.2.3"; + name = "xf86-video-newport-0.2.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-newport-0.2.3.tar.bz2; - sha256 = "0w02rz49gipnfl33vak3zgis8bh9i0v5ykyj8qh9vzddjm7ypjp6"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2; + sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ]; })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;}; xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) { - name = "xf86-video-nv-2.1.18"; + name = "xf86-video-nv-2.1.20"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-nv-2.1.18.tar.bz2; - sha256 = "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc"; + url = mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2; + sha256 = "1gqh1khc4zalip5hh2nksgs7i3piqq18nncgmsx9qvzi05azd5c3"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videoopenchrome = (stdenv.mkDerivation ((if overrides ? xf86videoopenchrome then overrides.xf86videoopenchrome else x: x) { - name = "xf86-video-openchrome-0.2.904"; + name = "xf86-video-openchrome-0.2.906"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-openchrome-0.2.904.tar.bz2; - sha256 = "1sksddn0pc3izvab5ppxhprs1xzk5ijwqz5ylivx1cb5hg2gggf7"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-openchrome-0.2.906.tar.bz2; + sha256 = "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; xf86videor128 = (stdenv.mkDerivation ((if overrides ? xf86videor128 then overrides.xf86videor128 else x: x) { - name = "xf86-video-r128-6.8.1"; + name = "xf86-video-r128-6.8.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-r128-6.8.1.tar.bz2; - sha256 = "1jlybabm3k09hhlzx1xilndqngk3xgdck66n94sr02w5hg622zji"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-r128-6.8.2.tar.bz2; + sha256 = "1c84x40k9qz9dnf5qs6nnjcgz7px6mpc3rbk8mj62zhp7mf16hbv"; }; - buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ]; - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ;}; - - xf86videorendition = (stdenv.mkDerivation ((if overrides ? xf86videorendition then overrides.xf86videorendition else x: x) { - name = "xf86-video-rendition-4.2.4"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-rendition-4.2.4.tar.bz2; - sha256 = "1a9anxgqs7wc8d7jb5nw6dgmynw0sxiwp9p90h4w19y315kqx6rv"; - }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; - - xf86videos3 = (stdenv.mkDerivation ((if overrides ? xf86videos3 then overrides.xf86videos3 else x: x) { - name = "xf86-video-s3-0.6.3"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-s3-0.6.3.tar.bz2; - sha256 = "0i2i1080cw3pxy1pm43bskb80n7wql0cxpyd2s61v0didsm6b7zd"; - }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - - xf86videos3virge = (stdenv.mkDerivation ((if overrides ? xf86videos3virge then overrides.xf86videos3virge else x: x) { - name = "xf86-video-s3virge-1.10.4"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-s3virge-1.10.4.tar.bz2; - sha256 = "1f3zjs6a3j2a8lfdilijggpwbg9cs88qksrvzvd71ggxf5p0vl0w"; - }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ]; + })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;}; xf86videosavage = (stdenv.mkDerivation ((if overrides ? xf86videosavage then overrides.xf86videosavage else x: x) { - name = "xf86-video-savage-2.3.1"; + name = "xf86-video-savage-2.3.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-savage-2.3.1.tar.bz2; - sha256 = "1ays1l4phyjcdikc9d1zwgswivcrb1grkh7klv5klvqahbfxqjib"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-savage-2.3.4.tar.bz2; + sha256 = "0jdy4wv3k3ylx3lajjcbsg37z2hf6366a1jvv16sv1ln6dk6lris"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; xf86videosiliconmotion = (stdenv.mkDerivation ((if overrides ? xf86videosiliconmotion then overrides.xf86videosiliconmotion else x: x) { - name = "xf86-video-siliconmotion-1.7.4"; + name = "xf86-video-siliconmotion-1.7.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-siliconmotion-1.7.4.tar.bz2; - sha256 = "1mq4dsg2f77wxl0n4fnm6a5p3lajyhra6rxx29z52p5b1x412xdl"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-siliconmotion-1.7.6.tar.bz2; + sha256 = "01sdl6ky1vmvmfgx2d44i35rqafi0z07xdy40cvindcr2k91p7x5"; }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; + buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ]; + })) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;}; xf86videosis = (stdenv.mkDerivation ((if overrides ? xf86videosis then overrides.xf86videosis else x: x) { - name = "xf86-video-sis-0.10.3"; + name = "xf86-video-sis-0.10.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-sis-0.10.3.tar.bz2; - sha256 = "0dy7a7iil35nz1xlazrcq0sp474p6wy0f1pa5y0spbfj5zib6fcv"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-sis-0.10.4.tar.bz2; + sha256 = "03diq0l93lfsipmwkpdb2ysgbxxryl6yakpghzc3fksjxa01112f"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;}; - xf86videosisusb = (stdenv.mkDerivation ((if overrides ? xf86videosisusb then overrides.xf86videosisusb else x: x) { - name = "xf86-video-sisusb-0.9.4"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-sisusb-0.9.4.tar.bz2; - sha256 = "0b5afc1dqj8h34fldl35hzf7wphj1x76czkd461bfarnvyljgfrb"; - }; - buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ]; - })) // {inherit fontsproto randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ;}; - - xf86videosuncg14 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg14 then overrides.xf86videosuncg14 else x: x) { - name = "xf86-video-suncg14-1.1.1"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg14-1.1.1.tar.bz2; - sha256 = "1n108xbwg803v2sk51galx66ph8wdb0ym84fx45h0jrr41wh0hyb"; - }; - buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ]; - })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; - - xf86videosuncg3 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg3 then overrides.xf86videosuncg3 else x: x) { - name = "xf86-video-suncg3-1.1.1"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg3-1.1.1.tar.bz2; - sha256 = "06c4hzmd5cfzbw79yrv3knss80hllciamz734ij1pbzj6j6fjvym"; - }; - buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ]; - })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; - xf86videosuncg6 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg6 then overrides.xf86videosuncg6 else x: x) { name = "xf86-video-suncg6-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg6-1.1.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-suncg6-1.1.1.tar.bz2; sha256 = "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ]; @@ -1771,38 +1661,18 @@ let name = "xf86-video-sunffb-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-sunffb-1.2.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-sunffb-1.2.1.tar.bz2; sha256 = "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ]; })) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;}; - xf86videosunleo = (stdenv.mkDerivation ((if overrides ? xf86videosunleo then overrides.xf86videosunleo else x: x) { - name = "xf86-video-sunleo-1.2.0"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-sunleo-1.2.0.tar.bz2; - sha256 = "01kffjbshmwix2cdb95j0cx2qmrss6yfjj7y5qssw83h36bvw5dk"; - }; - buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ]; - })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; - - xf86videosuntcx = (stdenv.mkDerivation ((if overrides ? xf86videosuntcx then overrides.xf86videosuntcx else x: x) { - name = "xf86-video-suntcx-1.1.1"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-suntcx-1.1.1.tar.bz2; - sha256 = "07lqah5sizhwjpzr4vcpwgvbl86fwz4k0c3skp63sq58ng21acal"; - }; - buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ]; - })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; - xf86videotdfx = (stdenv.mkDerivation ((if overrides ? xf86videotdfx then overrides.xf86videotdfx else x: x) { - name = "xf86-video-tdfx-1.4.3"; + name = "xf86-video-tdfx-1.4.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-tdfx-1.4.3.tar.bz2; - sha256 = "0cxz1rsc87cnf0ba1zfwhk0lhfas92ysc9b13q6x21m31b53bn9s"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-tdfx-1.4.4.tar.bz2; + sha256 = "124gsi30rj547jjd7gvv7xykfnwlyrxw0gcacamby7pvl3g33fg0"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; @@ -1811,58 +1681,48 @@ let name = "xf86-video-tga-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-tga-1.2.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-tga-1.2.1.tar.bz2; sha256 = "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; xf86videotrident = (stdenv.mkDerivation ((if overrides ? xf86videotrident then overrides.xf86videotrident else x: x) { - name = "xf86-video-trident-1.3.4"; + name = "xf86-video-trident-1.3.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-trident-1.3.4.tar.bz2; - sha256 = "1a4wybqwd617mg8lzn1xvi5m0iibimxpvyqsr31mhb7gw0qidrjq"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-trident-1.3.5.tar.bz2; + sha256 = "02y5pzdp0a1c12jr8gghbrzgbyfbgq67x7kd7n4f323pmf8x1csb"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; - xf86videotseng = (stdenv.mkDerivation ((if overrides ? xf86videotseng then overrides.xf86videotseng else x: x) { - name = "xf86-video-tseng-1.2.4"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-tseng-1.2.4.tar.bz2; - sha256 = "0gfiwx2p51k3k78qic8y9y0d3d6nhhbmzfvzmw5hx3ba9kxmvpfh"; - }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; - xf86videov4l = (stdenv.mkDerivation ((if overrides ? xf86videov4l then overrides.xf86videov4l else x: x) { name = "xf86-video-v4l-0.2.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-v4l-0.2.0.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2; sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb"; }; buildInputs = [pkgconfig randrproto videoproto xorgserver xproto ]; })) // {inherit randrproto videoproto xorgserver xproto ;}; xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) { - name = "xf86-video-vesa-2.3.0"; + name = "xf86-video-vesa-2.3.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-vesa-2.3.0.tar.bz2; - sha256 = "0yhdj39d8rfv2n4i52dg7cg1rsrclagn7rjs3pc3jdajjh75mn4f"; + url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2; + sha256 = "1qqf97baii1dcsm3y8gqw674j4r8llhkbqsavhyn11iwmvzifjhl"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; xf86videovmware = (stdenv.mkDerivation ((if overrides ? xf86videovmware then overrides.xf86videovmware else x: x) { - name = "xf86-video-vmware-11.0.3"; + name = "xf86-video-vmware-12.0.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-vmware-11.0.3.tar.bz2; - sha256 = "18rqkzr1dvzgdr2khlhhpai69z28rnrfl8jiw9hnahbyv2r7qjmj"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-vmware-12.0.2.tar.bz2; + sha256 = "0isiwx516gww8hfk3vy7js83yziyjym9mq2zjadyq1a8v5gqf9y8"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ]; })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;}; @@ -1871,78 +1731,58 @@ let name = "xf86-video-voodoo-1.2.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-voodoo-1.2.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-voodoo-1.2.4.tar.bz2; sha256 = "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;}; xf86videowsfb = (stdenv.mkDerivation ((if overrides ? xf86videowsfb then overrides.xf86videowsfb else x: x) { - name = "xf86-video-wsfb-0.3.0"; + name = "xf86-video-wsfb-0.4.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-wsfb-0.3.0.tar.bz2; - sha256 = "17lqhir0adcccfkrzz2sr8cpv5vkakk0w7xfc22vv7c6jz9vdgbq"; + url = mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2; + sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p"; }; buildInputs = [pkgconfig xorgserver xproto ]; })) // {inherit xorgserver xproto ;}; - xf86videoxgi = (stdenv.mkDerivation ((if overrides ? xf86videoxgi then overrides.xf86videoxgi else x: x) { - name = "xf86-video-xgi-1.6.0"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-xgi-1.6.0.tar.bz2; - sha256 = "05wl9a51pik5swkzpyhh4y2gf6m3hd458r4142p5w39bbkmhcd78"; - }; - buildInputs = [pkgconfig fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ]; - })) // {inherit fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ;}; - - xf86videoxgixp = (stdenv.mkDerivation ((if overrides ? xf86videoxgixp then overrides.xf86videoxgixp else x: x) { - name = "xf86-video-xgixp-1.8.0"; - builder = ./builder.sh; - src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xf86-video-xgixp-1.8.0.tar.bz2; - sha256 = "06np5s3f3451vmjwpxbn8hb7d4dhsxff2af8qy8jlc24rinnv9is"; - }; - buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; - xf86vidmodeproto = (stdenv.mkDerivation ((if overrides ? xf86vidmodeproto then overrides.xf86vidmodeproto else x: x) { name = "xf86vidmodeproto-2.3.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/xf86vidmodeproto-2.3.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2; sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xfs = (stdenv.mkDerivation ((if overrides ? xfs then overrides.xfs else x: x) { - name = "xfs-1.1.1"; + name = "xfs-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xfs-1.1.1.tar.bz2; - sha256 = "1yxm87az3xghngcsd50zz6mdgi9j6vm8pw90sjqzshwq7hx7d0qc"; + url = mirror://xorg/individual/app/xfs-1.1.2.tar.bz2; + sha256 = "17g34yq789grnic83cqj5khq0knda1w2rgabhjflsyw9wg663shd"; }; - buildInputs = [pkgconfig libFS libXfont xtrans ]; - })) // {inherit libFS libXfont xtrans ;}; + buildInputs = [pkgconfig libXfont xproto xtrans ]; + })) // {inherit libXfont xproto xtrans ;}; xgamma = (stdenv.mkDerivation ((if overrides ? xgamma then overrides.xgamma else x: x) { - name = "xgamma-1.0.4"; + name = "xgamma-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xgamma-1.0.4.tar.bz2; - sha256 = "05lfx9517why64b3n14drid7vn1d2g2ymg22034vqq50h9437j3x"; + url = mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2; + sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3"; }; buildInputs = [pkgconfig libX11 libXxf86vm ]; })) // {inherit libX11 libXxf86vm ;}; xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) { - name = "xhost-1.0.4"; + name = "xhost-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xhost-1.0.4.tar.bz2; - sha256 = "15558q9hgmw6vbwc2sgjkfpzw342lxci9w8vcbrmi8mpmrnc00jy"; + url = mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2; + sha256 = "0l483y6wfrjh37j16b41kpi2nc7ss5rvndafpbaylrs87ygx2w18"; }; buildInputs = [pkgconfig libX11 libXau libXmu ]; })) // {inherit libX11 libXau libXmu ;}; @@ -1951,48 +1791,48 @@ let name = "xineramaproto-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/xineramaproto-1.2.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2; sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) { - name = "xinit-1.3.0"; + name = "xinit-1.3.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xinit-1.3.0.tar.bz2; - sha256 = "0k70bw6x2zgvmd0l7xyzbps18pbzfz26yzjva1vcz9s239pf6xms"; + url = mirror://xorg/individual/app/xinit-1.3.2.tar.bz2; + sha256 = "0d821rlqwyn2js7bkzicyp894n9gqv1hahxs285pas1zm3d7z1m1"; }; buildInputs = [pkgconfig libX11 ]; })) // {inherit libX11 ;}; xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) { - name = "xinput-1.5.3"; + name = "xinput-1.6.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xinput-1.5.3.tar.bz2; - sha256 = "0xjwi1sjmvmmzgcvzvz4q8wn0gs7x3aivknx77yfxnndrqqy3bba"; + url = mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2; + sha256 = "0zl4cdgnzh9shz20yn7hz889v4nkbyqwx0nb7dh6arn7abchgc2a"; }; - buildInputs = [pkgconfig inputproto libX11 libXext libXi ]; - })) // {inherit inputproto libX11 libXext libXi ;}; + buildInputs = [pkgconfig inputproto libX11 libXext libXi libXinerama libXrandr ]; + })) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;}; xkbcomp = (stdenv.mkDerivation ((if overrides ? xkbcomp then overrides.xkbcomp else x: x) { - name = "xkbcomp-1.2.1"; + name = "xkbcomp-1.2.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xkbcomp-1.2.1.tar.bz2; - sha256 = "1sv51rliqs6wygrp2hc79a5pgn6ly0bbr4sa8a8x00j4j4kjaqdp"; + url = mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2; + sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i"; }; - buildInputs = [pkgconfig libX11 libxkbfile ]; - })) // {inherit libX11 libxkbfile ;}; + buildInputs = [pkgconfig libX11 libxkbfile xproto ]; + })) // {inherit libX11 libxkbfile xproto ;}; xkbevd = (stdenv.mkDerivation ((if overrides ? xkbevd then overrides.xkbevd else x: x) { - name = "xkbevd-1.1.2"; + name = "xkbevd-1.1.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xkbevd-1.1.2.tar.bz2; - sha256 = "0qzbh1wb2fg0wsyfqr4j15443caa1xfcxwdf1gzb4gpbkxn98qnd"; + url = mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2; + sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm"; }; buildInputs = [pkgconfig libX11 libxkbfile ]; })) // {inherit libX11 libxkbfile ;}; @@ -2001,28 +1841,38 @@ let name = "xkbutils-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xkbutils-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2; sha256 = "1ga913pw6chssf2016kjyjl6ar2lj83pa497w97ak2kq603sy2g4"; }; buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ]; })) // {inherit inputproto libX11 libXaw xproto libXt ;}; + xkeyboardconfig = (stdenv.mkDerivation ((if overrides ? xkeyboardconfig then overrides.xkeyboardconfig else x: x) { + name = "xkeyboard-config-2.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/X11R7.7/src/everything/xkeyboard-config-2.6.tar.bz2; + sha256 = "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892"; + }; + buildInputs = [pkgconfig ]; + })) // {inherit ;}; + xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) { name = "xkill-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xkill-1.0.3.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2; sha256 = "1ac110qbb9a4x1dim3vaghvdk3jc708i2p3f4rmag33458khg0xx"; }; buildInputs = [pkgconfig libX11 libXmu ]; })) // {inherit libX11 libXmu ;}; xlsatoms = (stdenv.mkDerivation ((if overrides ? xlsatoms then overrides.xlsatoms else x: x) { - name = "xlsatoms-1.1.0"; + name = "xlsatoms-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xlsatoms-1.1.0.tar.bz2; - sha256 = "03fbknvq7rixfgpv5945s7r82jz2xc06a0n09w1p22hl4pd7l0aa"; + url = mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2; + sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv"; }; buildInputs = [pkgconfig libxcb ]; })) // {inherit libxcb ;}; @@ -2031,7 +1881,7 @@ let name = "xlsclients-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xlsclients-1.1.2.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2; sha256 = "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w"; }; buildInputs = [pkgconfig libxcb ]; @@ -2048,14 +1898,14 @@ let })) // {inherit libXaw libXt ;}; xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) { - name = "xmodmap-1.0.5"; + name = "xmodmap-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xmodmap-1.0.5.tar.bz2; - sha256 = "00il5y6q2m90f62cqzgc0ni5qg3y946gf98jj325kx8cgfhyf7j2"; + url = mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2; + sha256 = "1dg47lay4vhrl9mfq3cfc6741a0m2n8wd4ljagd21ix3qklys8pg"; }; - buildInputs = [pkgconfig libX11 ]; - })) // {inherit libX11 ;}; + buildInputs = [pkgconfig libX11 xproto ]; + })) // {inherit libX11 xproto ;}; xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) { name = "xorg-cf-files-1.0.4"; @@ -2068,81 +1918,91 @@ let })) // {inherit ;}; xorgdocs = (stdenv.mkDerivation ((if overrides ? xorgdocs then overrides.xorgdocs else x: x) { - name = "xorg-docs-1.6"; + name = "xorg-docs-1.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xorg-docs-1.6.tar.bz2; - sha256 = "0clxy41642jx77mmw5j2fnwa88ms1a7z1z8xpzrgs45bhv21pcpn"; + url = mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2; + sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) { - name = "xorg-server-1.9.5"; + name = "xorg-server-1.12.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xserver/xorg-server-1.9.5.tar.bz2; - sha256 = "1p19w1s840jb1ah6na0c9k23gbh9wwz1il272irqy3jggh4pbirz"; + url = mirror://xorg/individual/xserver/xorg-server-1.12.4.tar.bz2; + sha256 = "1xscr6rf0q15hv3hmm51xhwk0c0rx7a2swkj14ygp8vb60sprh4a"; }; - buildInputs = [pkgconfig bigreqsproto damageproto fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ]; - })) // {inherit bigreqsproto damageproto fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ;}; + buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ]; + })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; + + xorgserver_1_13_0 = (stdenv.mkDerivation ((if overrides ? xorgserver_1_13_0 then overrides.xorgserver_1_13_0 else x: x) { + name = "xorg-server-1.13.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/xserver/xorg-server-1.13.0.tar.bz2; + sha256 = "12pjis236ss3402cg1iy749cylajjp27m3j2jbwd8yh8075r32sl"; + }; + buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv pixman glproto ]; + })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv pixman glproto ;}; xorgsgmldoctools = (stdenv.mkDerivation ((if overrides ? xorgsgmldoctools then overrides.xorgsgmldoctools else x: x) { - name = "xorg-sgml-doctools-1.6"; + name = "xorg-sgml-doctools-1.11"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xorg-sgml-doctools-1.6.tar.bz2; - sha256 = "0smfsman09dqqw6h638w44lgp2kng2jwk53sb74i7r53x1v09llq"; + url = mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2; + sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xpr = (stdenv.mkDerivation ((if overrides ? xpr then overrides.xpr else x: x) { - name = "xpr-1.0.3"; + name = "xpr-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xpr-1.0.3.tar.bz2; - sha256 = "0zckkd45lzbikmdn29r12faby8g5prjkacc1z8aw87pq9sqdcy18"; + url = mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2; + sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy"; }; - buildInputs = [pkgconfig libX11 libXmu ]; - })) // {inherit libX11 libXmu ;}; + buildInputs = [pkgconfig libX11 libXmu xproto ]; + })) // {inherit libX11 libXmu xproto ;}; xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) { - name = "xprop-1.2.0"; + name = "xprop-1.2.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xprop-1.2.0.tar.bz2; - sha256 = "173bpq7x2amr77xy28f9m4nfdwr340wj3jw9hkbbznq35c48ql2k"; + url = mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2; + sha256 = "18zi2any13zlb7f34fzyw6lkiwkd6k2scp3b800a1f4rj0c7m407"; }; - buildInputs = [pkgconfig libX11 ]; - })) // {inherit libX11 ;}; + buildInputs = [pkgconfig libX11 xproto ]; + })) // {inherit libX11 xproto ;}; xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) { - name = "xproto-7.0.20"; + name = "xproto-7.0.23"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xproto-7.0.20.tar.bz2; - sha256 = "0alyxrd8wmdvdqm1v3q4x5brv4prj0gxf59pp9h5wycvgpj7zs1z"; + url = mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2; + sha256 = "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) { - name = "xrandr-1.3.4"; + name = "xrandr-1.3.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xrandr-1.3.4.tar.bz2; - sha256 = "1nsadgvn57b9way7v0s4yk2729rwqj1m5fbilmd38lfcws928jjy"; + url = mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2; + sha256 = "03lq1c1q4w5cf2ijs4b34v008lshibha9zv5lw08xpyhk9xgyn8h"; }; - buildInputs = [pkgconfig libX11 libXrandr libXrender ]; - })) // {inherit libX11 libXrandr libXrender ;}; + buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ]; + })) // {inherit libX11 xproto libXrandr libXrender ;}; xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) { - name = "xrdb-1.0.8"; + name = "xrdb-1.0.9"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xrdb-1.0.8.tar.bz2; - sha256 = "1r2k50qnflj40iandhxhvnrvnhy4qliz5kymlh682455gjmlgn7z"; + url = mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2; + sha256 = "1dza5a34nj68fzhlgwf18i5bk0n24ig28yihwpjy7vwn57hh2934"; }; buildInputs = [pkgconfig libX11 libXmu ]; })) // {inherit libX11 libXmu ;}; @@ -2151,38 +2011,38 @@ let name = "xrefresh-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xrefresh-1.0.4.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2; sha256 = "0ywxzwa4kmnnmf8idr8ssgcil9xvbhnk155zpsh2i8ay93mh5586"; }; buildInputs = [pkgconfig libX11 ]; })) // {inherit libX11 ;}; xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) { - name = "xset-1.2.1"; + name = "xset-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xset-1.2.1.tar.bz2; - sha256 = "18cja8b9xrilpshz0z8bkmpjm6pjb20w71xf41jgm70h4dymz6gc"; + url = mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2; + sha256 = "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1"; }; - buildInputs = [pkgconfig libX11 libXext libXmu libXxf86misc ]; - })) // {inherit libX11 libXext libXmu libXxf86misc ;}; + buildInputs = [pkgconfig libX11 libXext libXmu xproto libXxf86misc ]; + })) // {inherit libX11 libXext libXmu xproto libXxf86misc ;}; xsetroot = (stdenv.mkDerivation ((if overrides ? xsetroot then overrides.xsetroot else x: x) { name = "xsetroot-1.1.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xsetroot-1.1.0.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2; sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8"; }; buildInputs = [pkgconfig libX11 xbitmaps libXcursor libXmu ]; })) // {inherit libX11 xbitmaps libXcursor libXmu ;}; xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) { - name = "xtrans-1.2.6"; + name = "xtrans-1.2.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xtrans-1.2.6.tar.bz2; - sha256 = "1im5kj6y8j8m9i5lf1c33dkag6sb7g1zmi0niydqrfyx0lvsgyf5"; + url = mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2; + sha256 = "19p1bw3qyn0ia1znx6q3gx92rr9rl88ylrfijjclm8vhpa8i30bz"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -2191,40 +2051,40 @@ let name = "xvinfo-1.1.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xvinfo-1.1.1.tar.bz2; + url = mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2; sha256 = "119rd93d7661ll1rfcdssn78l0b97326smziyr2f5wdwj2hlmiv0"; }; buildInputs = [pkgconfig libX11 libXv ]; })) // {inherit libX11 libXv ;}; xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) { - name = "xwd-1.0.4"; + name = "xwd-1.0.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xwd-1.0.4.tar.bz2; - sha256 = "07mh72j794hwq5rnqkmdd4wj27mqmdc3da4jkwpva2hsj64wi9mp"; + url = mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2; + sha256 = "0fkg6msy2zg7rda2rpxb7j6vmrdmqmk72xsxnyhz97196ykjnx82"; }; - buildInputs = [pkgconfig libX11 ]; - })) // {inherit libX11 ;}; + buildInputs = [pkgconfig libX11 xproto ]; + })) // {inherit libX11 xproto ;}; xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) { - name = "xwininfo-1.1.1"; + name = "xwininfo-1.1.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xwininfo-1.1.1.tar.bz2; - sha256 = "0g9ll8hv0k5cjz4l5kdv64xzmalf9mpwjzcy8nx6myvh92z5fnk4"; + url = mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2; + sha256 = "0fmcr5yl03xw7m8p9h1rk67rrj7gp5x16a547xhmg8idw2f6r9lg"; }; buildInputs = [pkgconfig libX11 libxcb xproto ]; })) // {inherit libX11 libxcb xproto ;}; xwud = (stdenv.mkDerivation ((if overrides ? xwud then overrides.xwud else x: x) { - name = "xwud-1.0.3"; + name = "xwud-1.0.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.6/src/everything/xwud-1.0.3.tar.bz2; - sha256 = "0hrc6gbipg7cximgkaxixlha9m2fph31dpzhzdfw7g63bkhfmzc8"; + url = mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2; + sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn"; }; - buildInputs = [pkgconfig libX11 ]; - })) // {inherit libX11 ;}; + buildInputs = [pkgconfig libX11 xproto ]; + })) // {inherit libX11 xproto ;}; }; in xorg diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list index 744eb66d84c..f7f139b19c1 100644 --- a/pkgs/servers/x11/xorg/extra.list +++ b/pkgs/servers/x11/xorg/extra.list @@ -1,8 +1,7 @@ -mirror://xorg/individual/driver/xf86-video-intel-2.14.901.tar.bz2:xf86videointel_2_14_901 -mirror://xorg/individual/driver/xf86-video-intel-2.17.0.tar.bz2:xf86videointel_2_17_0 -mirror://xorg/individual/lib/pixman-0.20.2.tar.bz2 -mirror://xorg/individual/xcb/xcb-util-0.3.8.tar.bz2 -mirror://xorg/individual/xcb/xcb-util-image-0.3.8.tar.bz2 -mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.8.tar.bz2 +mirror://xorg/individual/lib/pixman-0.26.2.tar.bz2 +mirror://xorg/individual/xcb/xcb-util-0.3.9.tar.bz2 +mirror://xorg/individual/xcb/xcb-util-image-0.3.9.tar.bz2 +mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.9.tar.bz2 mirror://xorg/individual/xcb/xcb-util-renderutil-0.3.8.tar.bz2 -mirror://xorg/individual/xcb/xcb-util-wm-0.3.8.tar.bz2 +mirror://xorg/individual/xcb/xcb-util-wm-0.3.9.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.13.0.tar.bz2:xorgserver_1_13_0 diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 89edb571e0f..7b00e5e9043 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -169,7 +169,7 @@ while (<>) { } if ($file =~ /XORG_FONT_UCS2ANY/) { - push @requires, "fontutil"; + push @requires, "fontutil", "mkfontscale"; $isFont = 1; } diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list index 5eacf46d1c3..94fae784488 100644 --- a/pkgs/servers/x11/xorg/old.list +++ b/pkgs/servers/x11/xorg/old.list @@ -1,15 +1,15 @@ -mirror://xorg/individual/app/twm-1.0.6.tar.bz2 -mirror://xorg/individual/app/xclock-1.0.5.tar.bz2 -mirror://xorg/individual/app/xdm-1.1.10.tar.bz2 +mirror://xorg/individual/app/twm-1.0.7.tar.bz2 +mirror://xorg/individual/app/xclock-1.0.6.tar.bz2 +mirror://xorg/individual/app/xdm-1.1.11.tar.bz2 mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2 -mirror://xorg/individual/app/xfs-1.1.1.tar.bz2 -mirror://xorg/individual/app/xinit-1.3.0.tar.bz2 +mirror://xorg/individual/app/xfs-1.1.2.tar.bz2 +mirror://xorg/individual/app/xinit-1.3.2.tar.bz2 mirror://xorg/individual/app/xmessage-1.0.3.tar.bz2 mirror://xorg/individual/lib/libXp-1.0.1.tar.bz2 mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2 mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2 mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2 mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2 -mirror://xorg/individual/util/imake-1.0.4.tar.bz2 -mirror://xorg/individual/util/lndir-1.0.2.tar.bz2 +mirror://xorg/individual/util/imake-1.0.5.tar.bz2 +mirror://xorg/individual/util/lndir-1.0.3.tar.bz2 mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2 diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 46903124568..cf8c4737471 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -8,6 +8,10 @@ let in { + fontcursormisc = attrs: attrs // { + buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ]; + }; + fontmiscmisc = attrs: attrs // { postInstall = '' @@ -24,7 +28,7 @@ in }; mkfontdir = attrs: attrs // { - preBuild = "substituteInPlace mkfontdir.cpp --replace BINDIR ${xorg.mkfontscale}/bin"; + preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${xorg.mkfontscale}/bin"; }; libxcb = attrs : attrs // { @@ -33,18 +37,18 @@ in # I should use: builtins.unsafeDiscardStringContext buildInputs = [args.pkgconfig args.libxslt xorg.libpthreadstubs /*xorg.python*/ xorg.libXau xorg.xcbproto xorg.libXdmcp ] ++ [ xorg.xproto ]; - buildNativeInputs = [ args.python ]; + nativeBuildInputs = [ args.python ]; }; xcbproto = attrs : attrs // { # I only remove python from the original. buildInputs = [args.pkgconfig /*xorg.python*/ ]; - buildNativeInputs = [ args.python ]; + nativeBuildInputs = [ args.python ]; }; pixman = attrs : attrs // { buildInputs = [ args.pkgconfig ]; - buildNativeInputs = [ args.perl ]; + nativeBuildInputs = [ args.perl ]; }; libpciaccess = attrs : attrs // { @@ -83,21 +87,19 @@ in compositeproto = attrs: attrs // { propagatedBuildInputs = [ xorg.fixesproto ]; }; - + libXcomposite = attrs: attrs // { propagatedBuildInputs = [ xorg.libXfixes ]; }; - + libXaw = attrs: attrs // { propagatedBuildInputs = [ xorg.libXmu ]; }; - + libXft = attrs: attrs // { buildInputs = attrs.buildInputs ++ [ xorg.xproto xorg.libX11 xorg.renderproto ]; - # probably, fontconfig and freetype could be added - # pkgconfig seems to be nice, too... - propagatedBuildInputs = [ xorg.libXrender ]; + propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ]; preConfigure = setMalloc0ReturnsNullCrossCompiling; }; @@ -124,13 +126,30 @@ in buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ]; }; + xev = attrs: attrs // { + buildInputs = attrs.buildInputs ++ [ xorg.libXrender ]; + }; + xf86inputevdev = attrs: attrs // { preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c"; - buildInputs = attrs.buildInputs ++ [xorg.kbproto xorg.libxkbfile xorg.randrproto]; + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.kbproto xorg.libxkbfile xorg.randrproto xorg.pixman]; installFlags = "sdkdir=\${out}/include/xorg"; }; + xf86inputkeyboard = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.pixman]; + }; + + xf86inputmouse = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.pixman]; + }; + xf86inputsynaptics = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [args.mtdev xorg.pixman]; installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/include/xorg"; }; @@ -139,20 +158,38 @@ in }; xf86videosis = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa]; }; xf86videoati = attrs: attrs // { - buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa]; + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa xorg.pixman]; }; - xf86videoopenchrome = attrs: attrs // rec { - name = "xf86-video-openchrome-0.2.905"; - src = args.fetchurl { - url = "http://openchrome.org/releases/${name}.tar.bz2"; - sha256 = "1llbm020s0fck9chs0906xz7jr4h3whxan4s10ls9046g7xib3qc"; - }; - buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa xorg.libXext]; + xf86videocirrus = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.pixman]; + }; + + xf86videofbdev = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.pixman]; + }; + + xf86videoopenchrome = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.pixman xorg.glproto args.mesa]; + }; + + xf86videonv = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.pixman]; + }; + + xf86videovesa = attrs: attrs // { + NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1"; + buildInputs = attrs.buildInputs ++ [xorg.pixman]; }; xdriinfo = attrs: attrs // { @@ -168,6 +205,7 @@ in }; xorgserver = attrs: attrs // { + configureFlags = "--enable-xcsecurity"; # enable SECURITY extension patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch]; buildInputs = attrs.buildInputs ++ [ args.zlib args.udev args.mesa args.dbus.libs @@ -176,6 +214,7 @@ in xorg.xineramaproto xorg.xf86dgaproto xorg.dmxproto xorg.libdmx xorg.xf86vidmodeproto xorg.recordproto xorg.libXext xorg.pixman xorg.libXfont + xorg.damageproto xorg.xcmiscproto xorg.xtrans xorg.bigreqsproto ]; propagatedBuildInputs = [ xorg.libpciaccess xorg.inputproto xorg.xextproto xorg.randrproto @@ -188,10 +227,32 @@ in ''; }; - libSM = attrs: attrs // args.stdenv.lib.optionalAttrs (args.stdenv.system == "i686-darwin") { - configureFlags = "LIBUUID_CFLAGS='' LIBUUID_LIBS=''"; + xorgserver_1_13_0 = attrs: attrs // { + configureFlags = "--enable-xcsecurity"; # enable SECURITY extension + patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch]; + buildInputs = attrs.buildInputs ++ + [ args.zlib args.udev args.mesa args.dbus.libs + xorg.xf86bigfontproto xorg.glproto xorg.xf86driproto + xorg.compositeproto xorg.scrnsaverproto xorg.resourceproto + xorg.xineramaproto xorg.xf86dgaproto + xorg.dmxproto xorg.libdmx xorg.xf86vidmodeproto + xorg.recordproto xorg.libXext xorg.pixman xorg.libXfont + xorg.damageproto xorg.xcmiscproto xorg.xtrans xorg.bigreqsproto + ]; + propagatedBuildInputs = + [ xorg.libpciaccess xorg.inputproto xorg.xextproto xorg.randrproto + xorg.dri2proto xorg.kbproto + ]; + postInstall = + '' + rm -fr $out/share/X11/xkb/compiled + ln -s /var/tmp $out/share/X11/xkb/compiled + ''; }; + libSM = attrs: attrs + // { propagatedBuildInputs = [ xorg.libICE ]; }; + lndir = attrs: attrs // { preConfigure = '' substituteInPlace lndir.c \ @@ -200,11 +261,26 @@ in }; twm = attrs: attrs // { - buildNativeInputs = [args.bison args.flex]; + nativeBuildInputs = [args.bison args.flex]; }; xbacklight = attrs: attrs // { buildInputs = attrs.buildInputs ++ [xorg.libXrender]; }; + xinput = attrs: attrs // { + buildInputs = attrs.buildInputs ++ [xorg.libXrender]; + }; + + xinit = attrs: attrs // { + configureFlags = "--with-xserver=${xorg.xorgserver}/bin/X"; + propagatedBuildInputs = [ xorg.xauth ]; + prePatch = '' + sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp + ''; + }; + + xwd = attrs: attrs // { + buildInputs = attrs.buildInputs ++ [xorg.libXt]; + }; } diff --git a/pkgs/servers/x11/xorg/tarballs-7.6.list b/pkgs/servers/x11/xorg/tarballs-7.6.list deleted file mode 100644 index 613c3107c86..00000000000 --- a/pkgs/servers/x11/xorg/tarballs-7.6.list +++ /dev/null @@ -1,199 +0,0 @@ -mirror://xorg/X11R7.6/src/everything/applewmproto-1.4.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/bdftopcf-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/bigreqsproto-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/compositeproto-0.4.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/damageproto-1.2.1.tar.bz2 -mirror://xorg/individual/proto/dri2proto-2.6.tar.bz2 -mirror://xorg/individual/proto/dmxproto-2.3.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/encodings-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/fixesproto-4.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-adobe-100dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-adobe-75dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-alias-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-arabic-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bh-100dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bh-75dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bh-ttf-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bh-type1-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-bitstream-type1-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-cursor-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-daewoo-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-dec-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-ibm-type1-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-isas-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-jis-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-micro-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-misc-cyrillic-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-misc-ethiopic-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-misc-meltho-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-misc-misc-1.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-mutt-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-schumacher-misc-1.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-screen-cyrillic-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-sony-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/fontsproto-2.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-sun-misc-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-util-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/font-xfree86-type1-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/glproto-1.4.12.tar.bz2 -mirror://xorg/X11R7.6/src/everything/iceauth-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/inputproto-2.0.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/kbproto-1.0.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libAppleWM-1.4.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libdmx-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libfontenc-1.1.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libFS-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libICE-1.0.7.tar.bz2 -mirror://xorg/individual/lib/libpciaccess-0.12.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libpthread-stubs-0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libSM-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libWindowsWM-1.0.1.tar.bz2 -mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2 -mirror://xorg/individual/lib/libXaw-1.0.9.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXcursor-1.1.11.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXdamage-1.1.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXfont-1.4.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2 -mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libxkbfile-1.0.7.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXmu-1.1.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXpm-3.5.9.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXres-1.0.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXScrnSaver-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXt-1.0.9.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXtst-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXv-1.0.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXvMC-1.0.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXxf86dga-1.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/libXxf86vm-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/luit-1.1.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/makedepend-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/mkfontdir-1.0.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/mkfontscale-1.0.8.tar.bz2 -mirror://xorg/X11R7.6/src/everything/randrproto-1.3.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/recordproto-1.14.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/renderproto-0.11.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/resourceproto-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/scrnsaverproto-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/sessreg-1.0.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/setxkbmap-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/smproxy-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/util-macros-1.11.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/videoproto-2.3.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/windowswmproto-1.0.4.tar.bz2 -mirror://xorg/individual/app/x11perf-1.5.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xauth-1.0.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xbacklight-1.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xbitmaps-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xcb-proto-1.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xcmiscproto-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xcmsdb-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xcursorgen-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xcursor-themes-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xdpyinfo-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xdriinfo-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xev-1.1.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xextproto-7.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86bigfontproto-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86dgaproto-2.1.tar.bz2 -mirror://xorg/individual/proto/xf86driproto-2.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-input-acecad-1.4.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-input-aiptek-1.3.1.tar.bz2 -mirror://xorg/individual/driver/xf86-input-evdev-2.6.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-input-joystick-1.5.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-input-keyboard-1.5.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-input-mouse-1.6.0.tar.bz2 -mirror://xorg/individual/driver/xf86-input-synaptics-1.5.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-input-vmmouse-12.6.10.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-input-void-1.3.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-apm-1.2.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-ark-0.7.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-ast-0.91.10.tar.bz2 -mirror://xorg/individual/driver/xf86-video-ati-6.14.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-chips-1.2.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-cirrus-1.3.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-dummy-0.3.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-fbdev-0.4.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-geode-2.11.10.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-glide-1.1.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-glint-1.2.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-i128-1.3.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-i740-1.3.2.tar.bz2 -mirror://xorg/individual/driver/xf86-video-intel-2.15.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-mach64-6.8.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-mga-1.4.13.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-neomagic-1.2.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-newport-0.2.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-nv-2.1.18.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-openchrome-0.2.904.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-r128-6.8.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-rendition-4.2.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-s3-0.6.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-s3virge-1.10.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-savage-2.3.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-siliconmotion-1.7.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-sis-0.10.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-sisusb-0.9.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-suncg14-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-suncg3-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-suncg6-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-sunffb-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-sunleo-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-suntcx-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-tdfx-1.4.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-tga-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-trident-1.3.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-tseng-1.2.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-v4l-0.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-vesa-2.3.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-vmware-11.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-voodoo-1.2.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-wsfb-0.3.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-xgi-1.6.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xf86-video-xgixp-1.8.0.tar.bz2 -mirror://xorg/individual/proto/xf86vidmodeproto-2.3.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xgamma-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xhost-1.0.4.tar.bz2 -mirror://xorg/individual/proto/xineramaproto-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xinput-1.5.3.tar.bz2 -mirror://xorg/individual/app/xkbcomp-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xkbevd-1.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xkbutils-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xkill-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xlsatoms-1.1.0.tar.bz2 -mirror://xorg/individual/app/xlsclients-1.1.2.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xmodmap-1.0.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xorg-docs-1.6.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-1.9.5.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xorg-sgml-doctools-1.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xpr-1.0.3.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xprop-1.2.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xproto-7.0.20.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xrandr-1.3.4.tar.bz2 -mirror://xorg/individual/app/xrdb-1.0.8.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xrefresh-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xset-1.2.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xsetroot-1.1.0.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xtrans-1.2.6.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xvinfo-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xwd-1.0.4.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xwininfo-1.1.1.tar.bz2 -mirror://xorg/X11R7.6/src/everything/xwud-1.0.3.tar.bz2 diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list new file mode 100644 index 00000000000..7b361636264 --- /dev/null +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -0,0 +1,184 @@ +mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2 +mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2 +mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-alias-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-arabic-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bh-ttf-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bh-type1-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-bitstream-type1-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-cursor-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-dec-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-ibm-type1-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-isas-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-jis-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-micro-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-misc-meltho-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-misc-misc-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/fontsproto-2.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2 +mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2 +mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/inputproto-2.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libdmx-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libFS-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libpciaccess-0.13.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libpthread-stubs-0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libX11-1.5.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2 +mirror://xorg/individual/xcb/libxcb-1.9.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXcursor-1.1.13.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXext-1.3.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXfixes-5.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXfont-1.4.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXi-1.6.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXinerama-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2 +mirror://xorg/individual/lib/libXrandr-1.4.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXrender-0.9.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXres-1.0.6.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXt-1.1.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXv-1.0.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXvMC-1.0.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXxf86dga-1.1.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/libXxf86vm-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2 +mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2 +mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2 +mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2 +mirror://xorg/individual/xcb/xcb-proto-1.8.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xcursorgen-1.0.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2 +mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-input-joystick-1.6.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2 +mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2 +mirror://xorg/individual/driver/xf86-input-vmmouse-12.9.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-input-void-1.4.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-ark-0.7.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-ast-0.93.10.tar.bz2 +mirror://xorg/individual/driver/xf86-video-ati-6.14.4.tar.bz2 +mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-dummy-0.3.5.tar.bz2 +mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-geode-2.11.13.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-glide-1.2.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-glint-1.2.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-i128-1.3.5.tar.bz2 +mirror://xorg/individual/driver/xf86-video-intel-2.20.10.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-mach64-6.9.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-mga-1.5.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-neomagic-1.2.6.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2 +mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-openchrome-0.2.906.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-r128-6.8.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-savage-2.3.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-siliconmotion-1.7.6.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-sis-0.10.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-suncg6-1.1.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-sunffb-1.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-tdfx-1.4.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-tga-1.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-trident-1.3.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-vmware-12.0.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-voodoo-1.2.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xkeyboard-config-2.6.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.12.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2 +mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2 diff --git a/pkgs/servers/x11/xorg/unichrome/default.nix b/pkgs/servers/x11/xorg/unichrome/default.nix index 5cc26338c95..720ccd10158 100644 --- a/pkgs/servers/x11/xorg/unichrome/default.nix +++ b/pkgs/servers/x11/xorg/unichrome/default.nix @@ -1,24 +1,25 @@ {stdenv, fetchgit, pkgconfig, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, libX11, xextproto, xf86driproto, xorgserver, xproto, libXvMC, glproto, mesa, automake, -autoconf, libtool, libXext, utilmacros}: +autoconf, libtool, libXext, utilmacros, pixman}: stdenv.mkDerivation { name = "xf86-video-unichrome-git"; src = fetchgit { - url = "git://anongit.freedesktop.org/~libv/xf86-video-unichrome"; + url = "git://people.freedesktop.org/~libv/xf86-video-unichrome"; md5 = "6e5e0f8ee204af2385a02e502d1ca8f1"; rev = "6260e0fc9f0754d101dda014a8f4b5f76f58e978"; }; buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC - glproto mesa automake autoconf libtool libXext utilmacros ]; + glproto mesa automake autoconf libtool libXext utilmacros pixman ]; preConfigure = "chmod +x autogen.sh"; prePatch = '' sed s,/bin/bash,/bin/sh, -i git_version.sh ''; patches = [ ./configure.patch ]; configureScript = "./autogen.sh"; + CFLAGS="-I${pixman}/include/pixman-1"; meta = { homepage = "http://unichrome.sourceforge.net/"; diff --git a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch b/pkgs/servers/x11/xorg/xorgserver-dri-path.patch index 30e423ba3cb..3a5f061eb9a 100644 --- a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch +++ b/pkgs/servers/x11/xorg/xorgserver-dri-path.patch @@ -1,52 +1,19 @@ -diff --git a/glx/glxdri.c b/glx/glxdri.c -index 6122653..3f5fc2b 100644 ---- a/glx/glxdri.c -+++ b/glx/glxdri.c -@@ -1042,8 +1042,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen) - goto handle_error; - } +diff -Naur xorg-server-1.12.2-orig/glx/glxdricommon.c xorg-server-1.12.2/glx/glxdricommon.c +--- xorg-server-1.12.2-orig/glx/glxdricommon.c 2012-05-17 13:09:02.000000000 -0400 ++++ xorg-server-1.12.2/glx/glxdricommon.c 2012-07-14 14:57:37.972791909 -0400 +@@ -219,10 +219,14 @@ + int i; + void *driver; + char filename[PATH_MAX]; ++ char *real_dri_driver_path; + const __DRIextension **extensions; -+ char *real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH"); ++ real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH"); + if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path; + snprintf(filename, sizeof filename, "%s/%s_dri.so", - dri_driver_path, driverName); + real_dri_driver_path, driverName); - screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL); - if (screen->driver == NULL) { -diff --git a/glx/glxdri2.c b/glx/glxdri2.c -index ed7fb4c..135b1c8 100644 ---- a/glx/glxdri2.c -+++ b/glx/glxdri2.c -@@ -617,8 +617,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen) - - __glXInitExtensionEnableBits(screen->glx_enable_bits); - -- snprintf(filename, sizeof filename, -- "%s/%s_dri.so", dri_driver_path, driverName); -+ char *real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH"); -+ if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path; -+ -+ snprintf(filename, sizeof filename, "%s/%s_dri.so", -+ real_dri_driver_path, driverName); - - screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL); - if (screen->driver == NULL) { -diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c -index 44f658f..8922414 100644 ---- a/glx/glxdriswrast.c -+++ b/glx/glxdriswrast.c -@@ -458,8 +458,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen) - screen->base.swapInterval = NULL; - screen->base.pScreen = pScreen; - -+ char *real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH"); -+ if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path; -+ - snprintf(filename, sizeof filename, -- "%s/%s_dri.so", dri_driver_path, driverName); -+ "%s/%s_dri.so", real_dri_driver_path, driverName); - - screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL); - if (screen->driver == NULL) { + driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL); + if (driver == NULL) { diff --git a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch index 825d09ba1e0..f5196c60c7c 100644 --- a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch +++ b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch @@ -9,7 +9,7 @@ diff -rc xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c xorg-server-X11R7.2-1.2.0/ } + char *xkbBinDir = getenv("XKB_BINDIR"); + if (xkbBinDir) -+ XkbBinDirectory = _XkbDupString(xkbBinDir); ++ XkbBinDirectory = Xstrdup(xkbBinDir); return 0; } diff --git a/pkgs/servers/x11/xorg/xorgserver.sh b/pkgs/servers/x11/xorg/xorgserver.sh deleted file mode 100644 index 0beb09d61a7..00000000000 --- a/pkgs/servers/x11/xorg/xorgserver.sh +++ /dev/null @@ -1,9 +0,0 @@ -# There is a dependency somewhere on `-ldl', which Make treats -# specially by mapping it to /usr/lib/libdl.so. That won't work on -# NixOS, so force Make to search in our own Glibc. -export VPATH=$(cat ${NIX_GCC}/nix-support/orig-libc)/lib - -preConfigure() { - unpackFile $mesaSrc - configureFlags="$configureFlags --with-mesa-source=$(ls -d $(pwd)/Mesa-*)" -} \ No newline at end of file diff --git a/pkgs/servers/xinetd/default.nix b/pkgs/servers/xinetd/default.nix index 6f752a7194f..c841f8431de 100644 --- a/pkgs/servers/xinetd/default.nix +++ b/pkgs/servers/xinetd/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "xinetd-2.3.14"; - + name = "xinetd-2.3.15"; + src = fetchurl { url = "http://www.xinetd.org/${name}.tar.gz"; - sha256 = "07xws1ydxrrx4xinvfqkc66diwfjh2apxz33xw4hb6k0gihhw3kn"; + sha256 = "1qsv1al506x33gh92bqa8w21k7mxqrbsrwmxvkj0amn72420ckmz"; }; meta = { diff --git a/pkgs/shells/bash-completion/default.nix b/pkgs/shells/bash-completion/default.nix index d79c9774569..217489f4dc0 100644 --- a/pkgs/shells/bash-completion/default.nix +++ b/pkgs/shells/bash-completion/default.nix @@ -1,20 +1,17 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchgit, autoconf, automake }: -let - version = "2.0"; -in stdenv.mkDerivation { - name = "bash-completion-${version}"; + name = "bash-completion-2.0-95-gd08b9f2"; - src = fetchurl { - url = "http://bash-completion.alioth.debian.org/files/bash-completion-${version}.tar.bz2"; - sha256 = "e5a490a4301dfb228361bdca2ffca597958e47dd6056005ef9393a5852af5804"; + src = fetchgit { + url = "http://anonscm.debian.org/git/bash-completion/bash-completion.git"; + rev = "d08b9f233559b3dced20050ba312b08fe0de53b4"; + sha256 = "0jybaib2bmpk5qd80y1l6wmfcd0b95cmf1l3hcb0ckpj0pjff0bn"; }; - postInstall = '' - sed -i "$out/share/bash-completion/bash_completion" \ - -e 's|: .{BASH_COMPLETION_COMPAT_DIR:=.*}|BASH_COMPLETION_COMPAT_DIR="$HOME/.nix-profile/etc/bash_completion.d"|' - ''; + buildInputs = [ autoconf automake ]; + + preConfigure = "autoreconf -i"; doCheck = true; @@ -23,6 +20,7 @@ stdenv.mkDerivation { description = "Programmable completion for the bash shell"; license = "GPL"; + platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/shells/bash/bash-4.2-patches.nix b/pkgs/shells/bash/bash-4.2-patches.nix index 8d2a74e95b0..52392f4b32c 100644 --- a/pkgs/shells/bash/bash-4.2-patches.nix +++ b/pkgs/shells/bash/bash-4.2-patches.nix @@ -25,4 +25,22 @@ patch: [ (patch "022" "0sswp2c63pclvdwi2hbkwbqf9ysmiw6mmi0qinl2pkgqyyfzdkcx") (patch "023" "1gzhcmwj0741libjqwln4r4h9k7lskprc4q87hvqgj56y6a17hax") (patch "024" "1rlrdfk67g8as6pr076ldhjhnkd2c86mb4ci18fjivivsfyjdj4r") +(patch "025" "05am4w789v630x0a6a9wrxhvrjvs73fjn68i55qdand5sxpn9c0d") +(patch "026" "1li3sd3hpdxhh257hdwzzn2g18m4ksflx6crqswv9qxwmgx0rsg7") +(patch "027" "0hpdywvny6vihls2qqlwwxkvps7q710vp6szq117zhgwarr6n7qc") +(patch "028" "0ypdn590h5f8y7kvk2sk93vcjbh5vrcwsaasvprsm0ds77g2chi0") +(patch "029" "10gm73rvfhr42v7i70qqc56wl8l459i2frs6ifrcsnmw2w48rc6h") +(patch "030" "1bmg8iz95jijxp89czwaw9msppgj220233nbrn66s4qsb5k46n8j") +(patch "031" "1yfrz093hghhlrj8na48dzc8v6ax34mj5i0h6l3bnpvp6i6qrwsm") +(patch "032" "1vci8xh1r8f59j6d95iljw9i555jm1fm2lssm1ycprdivdivba73") +(patch "033" "0js38r5gmlyz70zjfw0m2j08h26c3vma2vy8gbsb5pwzss82glgm") +(patch "034" "1f213qpvqnv2bm79a01r44xjlwk65483cxvw6kgwx28k20rg7h81") +(patch "035" "1pvqxpm7m1y7ab5srq3s7r095z34nbcr62gz6nb89d1qn1iy9kff") +(patch "036" "1yma0m9wrk6a15x36libb8a0cz7gmzihv6lvmrrd5i1ar4dklagy") +(patch "037" "0x0niqv7zwqvz4l8n9nivhk0g0036jh5h3vlkil3095vsgfqqmy7") +(patch "038" "0mvdpsxxs4bn5zvsm04yfsplhcrv6y0avpwilj5yasr0vwdsijdq") +(patch "039" "148pkj5s73ym0jhpr8d3z5vfily4chm0am4yms4506ijc0531ygl") +(patch "040" "0v5a98ybibwsd4iyh18gy0kc51mx8qn9w2wfpjaiycn7yg5gjrdj") +(patch "041" "1szmm8xv41hvbzgxfwrj6dg85wa7zy3781nnil428rlzpm8ikk05") +(patch "042" "017kpdqy6v9sgi2a931wyzpix86n9mkalpm6n9cb45v58lgmraps") ] diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix index 98fe43b0122..0bad70e9eef 100644 --- a/pkgs/shells/bash/default.nix +++ b/pkgs/shells/bash/default.nix @@ -44,10 +44,14 @@ stdenv.mkDerivation rec { configureFlags = baseConfigureFlags; # Note: Bison is needed because the patches above modify parse.y. - buildNativeInputs = [bison] + nativeBuildInputs = [bison] ++ stdenv.lib.optional (texinfo != null) texinfo ++ stdenv.lib.optional interactive readline; + # Bash randomly fails to build because of a recursive invocation to + # build `version.h'. + enableParallelBuilding = false; + postInstall = '' # Add an `sh' -> `bash' symlink. ln -s bash "$out/bin/sh" diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index dc9314f6885..662f3307b46 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -3,8 +3,8 @@ compiler. */ {dietlibc, fetchurl, runCommand}: - - + + rec { @@ -14,13 +14,13 @@ rec { inherit gcc; }; - + # Add some arbitrary packages to buildInputs for specific packages. # Used to override packages in stdenv like Make. Should not be used # for other dependencies. overrideInStdenv = stdenv: pkgs: stdenv // { mkDerivation = args: stdenv.mkDerivation (args // - { buildInputs = (if args ? buildInputs then args.buildInputs else []) ++ pkgs; } + { buildInputs = args.buildInputs or [] ++ pkgs; } ); }; @@ -48,11 +48,11 @@ rec { # These are added *after* the command-line flags, so we'll # always optimise for size. NIX_CFLAGS_COMPILE = - (if args ? NIX_CFLAGS_COMPILE then args.NIX_CFLAGS_COMPILE else "") + args.NIX_CFLAGS_COMPILE or "" + " -Os -s -D_BSD_SOURCE=1"; configureFlags = - (if args ? configureFlags then args.configureFlags else "") + args.configureFlags or "" + " --disable-shared"; # brrr... NIX_GCC = import ../build-support/gcc-wrapper { @@ -65,7 +65,7 @@ rec { isDietLibC = true; } // {inherit fetchurl;}; - + # Return a modified stdenv that uses klibc to create small # statically linked binaries. useKlibc = stdenv: klibc: stdenv // @@ -75,12 +75,10 @@ rec { # These are added *after* the command-line flags, so we'll # always optimise for size. NIX_CFLAGS_COMPILE = - (if args ? NIX_CFLAGS_COMPILE then args.NIX_CFLAGS_COMPILE else "") - + " -Os -s"; + args.NIX_CFLAGS_COMPILE or "" + " -Os -s"; configureFlags = - (if args ? configureFlags then args.configureFlags else "") - + " --disable-shared"; # brrr... + args.configureFlags or "" + " --disable-shared"; # brrr... NIX_GCC = runCommand "klibc-wrapper" {} '' mkdir -p $out/bin @@ -94,98 +92,95 @@ rec { isStatic = true; } // {inherit fetchurl;}; - + # Return a modified stdenv that tries to build statically linked # binaries. makeStaticBinaries = stdenv: stdenv // { mkDerivation = args: stdenv.mkDerivation (args // { NIX_CFLAGS_LINK = "-static"; - configureFlags = - (if args ? configureFlags then toString args.configureFlags else "") + toString args.configureFlags or "" + " --disable-shared"; # brrr... }); isStatic = true; } // {inherit fetchurl;}; - + # Return a modified stdenv that builds static libraries instead of # shared libraries. makeStaticLibraries = stdenv: stdenv // { mkDerivation = args: stdenv.mkDerivation (args // { dontDisableStatic = true; configureFlags = - (if args ? configureFlags then toString args.configureFlags else "") + toString args.configureFlags or "" + " --enable-static --disable-shared"; }); } // {inherit fetchurl;}; - + # Return a modified stdenv that adds a cross compiler to the # builds. makeStdenvCross = stdenv: cross: binutilsCross: gccCross: stdenv // - { mkDerivation = {name ? "", buildInputs ? [], buildNativeInputs ? [], - propagatedBuildInputs ? [], propagatedBuildNativeInputs ? [], - selfBuildNativeInput ? false, ...}@args: let + { mkDerivation = {name ? "", buildInputs ? [], nativeBuildInputs ? [], + propagatedBuildInputs ? [], propagatedNativeBuildInputs ? [], + selfNativeBuildInput ? false, ...}@args: let # *BuildInputs exists temporarily as another name for # *HostInputs. # In nixpkgs, sometimes 'null' gets in as a buildInputs element, # and we handle that through isAttrs. - getBuildDrv = drv : if (builtins.isAttrs drv && drv ? buildDrv) then drv.buildDrv else drv; - getHostDrv = drv : if (builtins.isAttrs drv && drv ? hostDrv) then drv.hostDrv else drv; - buildNativeInputsDrvs = map (getBuildDrv) buildNativeInputs; - buildInputsDrvs = map (getHostDrv) buildInputs; - buildInputsDrvsAsBuildInputs = map (getBuildDrv) buildInputs; - propagatedBuildInputsDrvs = map (getHostDrv) (propagatedBuildInputs); - propagatedBuildNativeInputsDrvs = map (getBuildDrv) - (propagatedBuildNativeInputs); + getNativeDrv = drv: drv.nativeDrv or drv; + getCrossDrv = drv: drv.crossDrv or drv; + nativeBuildInputsDrvs = map getNativeDrv nativeBuildInputs; + buildInputsDrvs = map getCrossDrv buildInputs; + buildInputsDrvsAsBuildInputs = map getNativeDrv buildInputs; + propagatedBuildInputsDrvs = map getCrossDrv propagatedBuildInputs; + propagatedNativeBuildInputsDrvs = map getNativeDrv propagatedNativeBuildInputs; - # The base stdenv already knows that buildNativeInputs and + # The base stdenv already knows that nativeBuildInputs and # buildInputs should be built with the usual gcc-wrapper # And the same for propagatedBuildInputs. - buildDrv = stdenv.mkDerivation args; + nativeDrv = stdenv.mkDerivation args; # Temporary expression until the cross_renaming, to handle the # case of pkgconfig given as buildInput, but to be used as - # buildNativeInput. - hostAsBuildDrv = drv: builtins.unsafeDiscardStringContext - drv.buildDrv.drvPath == builtins.unsafeDiscardStringContext - drv.hostDrv.drvPath; + # nativeBuildInput. + hostAsNativeDrv = drv: + builtins.unsafeDiscardStringContext drv.nativeDrv.drvPath + == builtins.unsafeDiscardStringContext drv.crossDrv.drvPath; buildInputsNotNull = stdenv.lib.filter - (drv: builtins.isAttrs drv && drv ? buildDrv) buildInputs; - nativeInputsFromBuildInputs = stdenv.lib.filter (hostAsBuildDrv) buildInputsNotNull; + (drv: builtins.isAttrs drv && drv ? nativeDrv) buildInputs; + nativeInputsFromBuildInputs = stdenv.lib.filter hostAsNativeDrv buildInputsNotNull; - # We should overwrite the input attributes in hostDrv, to overwrite + # We should overwrite the input attributes in crossDrv, to overwrite # the defaults for only-native builds in the base stdenv - hostDrv = if (cross == null) then buildDrv else + crossDrv = if cross == null then nativeDrv else stdenv.mkDerivation (args // { name = name + "-" + cross.config; - buildNativeInputs = buildNativeInputsDrvs + nativeBuildInputs = nativeBuildInputsDrvs ++ nativeInputsFromBuildInputs ++ [ gccCross binutilsCross ] ++ - stdenv.lib.optional selfBuildNativeInput buildDrv; + stdenv.lib.optional selfNativeBuildInput nativeDrv; # Cross-linking dynamic libraries, every buildInput should # be propagated because ld needs the -rpath-link to find # any library needed to link the program dynamically at # loader time. ld(1) explains it. buildInputs = []; - propagatedBuildInputs = propagatedBuildInputsDrvs ++ - buildInputsDrvs; - propagatedBuildNativeInputs = propagatedBuildNativeInputsDrvs; + propagatedBuildInputs = propagatedBuildInputsDrvs ++ buildInputsDrvs; + propagatedNativeBuildInputs = propagatedNativeBuildInputsDrvs; crossConfig = cross.config; - } // (if args ? crossAttrs then args.crossAttrs else {})); - in buildDrv // { - inherit hostDrv buildDrv; + } // args.crossAttrs or {}); + in nativeDrv // { + inherit crossDrv nativeDrv; }; } // { inherit cross gccCross binutilsCross; }; - + /* Modify a stdenv so that the specified attributes are added to every derivation returned by its mkDerivation function. @@ -202,7 +197,7 @@ rec { /* Return a modified stdenv that performs the build under $out/.build instead of in $TMPDIR. Thus, the sources are kept available. This is useful for things like debugging or generation of - dynamic analysis reports. */ + dynamic analysis reports. */ keepBuildTree = stdenv: addAttrsToDerivation { prePhases = "moveBuildDir"; @@ -230,12 +225,12 @@ rec { \( -name "*.c" -o -name "*.h" -o -name "*.gcno" \) \ | xargs rm -f -- - for i in $(find $out/.build/ -name ".tmp_*.gcno"); do + for i in $(find $out/.build/ -name ".tmp_*.gcno"); do mv "$i" "$(echo $i | sed s/.tmp_//)" done ''; - } stdenv; - + } stdenv; + /* Return a modified stdenv that builds packages with GCC's coverage instrumentation. The coverage note files (*.gcno) are stored in @@ -258,7 +253,7 @@ rec { export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage" ''; } - + # Object files instrumented with coverage analysis write # runtime coverage data to /.gcda, where # is the location where gcc originally created the object @@ -269,7 +264,7 @@ rec { # we need the source code. So we have to use the # `keepBuildTree' adapter as well. (cleanupBuildTree (keepBuildTree stdenv)); - + /* Replace the meta.maintainers field of a derivation. This is useful when you want to fork to update some packages without disturbing other @@ -297,21 +292,16 @@ rec { pkg = stdenv.mkDerivation args; printDrvPath = val: let drvPath = builtins.unsafeDiscardStringContext pkg.drvPath; - license = - if pkg ? meta && pkg.meta ? license then - pkg.meta.license - else - null; + license = pkg.meta.license or null; in - builtins.trace "@:drv:${toString drvPath}:${builtins.toString license}:@" - val; + builtins.trace "@:drv:${toString drvPath}:${builtins.toString license}:@" val; in pkg // { outPath = printDrvPath pkg.outPath; drvPath = printDrvPath pkg.drvPath; }; }; - + /* Abort if the license predicate is not verified for a derivation declared with mkDerivation. @@ -333,15 +323,12 @@ rec { pkg = stdenv.mkDerivation args; drv = builtins.unsafeDiscardStringContext pkg.drvPath; license = - if pkg ? meta && pkg.meta ? license then - pkg.meta.license - else if pkg ? outputHash then + pkg.meta.license or # Fixed-output derivations such as source tarballs usually # don't have licensing information, but that's OK. - null - else - builtins.trace - "warning: ${drv} lacks licensing information" null; + (pkg.outputHash or + (builtins.trace + "warning: ${drv} lacks licensing information" null)); validate = arg: if licensePred license then arg @@ -355,4 +342,16 @@ rec { drvPath = validate pkg.drvPath; }; }; + + + /* Modify a stdenv so that it produces debug builds; that is, + binaries have debug info, and compiler optimisations are + disabled. */ + keepDebugInfo = stdenv: stdenv // + { mkDerivation = args: stdenv.mkDerivation (args // { + dontStrip = true; + NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -g -O0"; + }); + }; + } diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix index c454204f897..ca90b46192e 100644 --- a/pkgs/stdenv/default.nix +++ b/pkgs/stdenv/default.nix @@ -10,7 +10,7 @@ # system, e.g., cygwin and mingw builds on i686-cygwin. Most people # can ignore it. -{system, stdenvType ? system, allPackages ? import ../.., platform}: +{ system, stdenvType ? system, allPackages ? import ../.., platform, config }: assert system != "i686-cygwin" -> system == stdenvType; @@ -24,7 +24,7 @@ rec { # be used with care, since many Nix packages will not build properly # with it (e.g., because they require GNU Make). stdenvNative = (import ./native { - inherit system allPackages; + inherit system allPackages config; }).stdenv; stdenvNativePkgs = allPackages { @@ -35,31 +35,32 @@ rec { # The Nix build environment. stdenvNix = import ./nix { + inherit config; stdenv = stdenvNative; pkgs = stdenvNativePkgs; }; # Linux standard environment. - stdenvLinux = (import ./linux {inherit system allPackages platform;}).stdenvLinux; + stdenvLinux = (import ./linux { inherit system allPackages platform config;}).stdenvLinux; + - # MinGW/MSYS standard environment. stdenvMinGW = import ./mingw { inherit system; }; - + # Select the appropriate stdenv for the platform `system'. stdenv = if stdenvType == "i686-linux" then stdenvLinux else if stdenvType == "x86_64-linux" then stdenvLinux else if stdenvType == "armv5tel-linux" then stdenvLinux else + if stdenvType == "armv6l-linux" then stdenvLinux else if stdenvType == "armv7l-linux" then stdenvLinux else if stdenvType == "mips64el-linux" then stdenvLinux else if stdenvType == "powerpc-linux" then /* stdenvLinux */ stdenvNative else if stdenvType == "i686-mingw" then stdenvMinGW else - if stdenvType == "i686-darwin" then stdenvNix else if stdenvType == "x86_64-darwin" then stdenvNix else stdenvNative; } diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 9197ff8314b..6f5e5d34582 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -1,5 +1,5 @@ { system, name ? "stdenv", preHook ? "", initialPath, gcc, shell -, extraAttrs ? {}, overrides ? (pkgs: {}) +, extraAttrs ? {}, overrides ? (pkgs: {}), config , # The `fetchurl' to use for downloading curl and its dependencies # (see all-packages.nix). @@ -10,7 +10,7 @@ let lib = import ../../lib; - disallowUnfree = builtins.getEnv "HYDRA_DISALLOW_UNFREE" == "1"; + allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; stdenvGenerator = setupScript: rec { @@ -41,16 +41,16 @@ let # Add a utility function to produce derivations that use this # stdenv and its shell. mkDerivation = attrs: - if disallowUnfree && attrs.meta.license or "" == "unfree" then + if !allowUnfree && (let l = attrs.meta.license or ""; in l == "unfree" || l == "unfree-redistributable" || l == lib.licenses.proprietary) then throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate" else (derivation ( (removeAttrs attrs ["meta" "passthru" "crossAttrs"]) // (let buildInputs = attrs.buildInputs or []; - buildNativeInputs = attrs.buildNativeInputs or []; + nativeBuildInputs = attrs.nativeBuildInputs or []; propagatedBuildInputs = attrs.propagatedBuildInputs or []; - propagatedBuildNativeInputs = attrs.propagatedBuildNativeInputs or []; + propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs or []; crossConfig = attrs.crossConfig or null; in { @@ -58,15 +58,16 @@ let args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)]; stdenv = result; system = result.system; + userHook = config.stdenv.userHook or null; # Inputs built by the cross compiler. buildInputs = lib.optionals (crossConfig != null) buildInputs; propagatedBuildInputs = lib.optionals (crossConfig != null) propagatedBuildInputs; # Inputs built by the usual native compiler. - buildNativeInputs = buildNativeInputs ++ lib.optionals + nativeBuildInputs = nativeBuildInputs ++ lib.optionals (crossConfig == null) buildInputs; - propagatedBuildNativeInputs = propagatedBuildNativeInputs ++ + propagatedNativeBuildInputs = propagatedNativeBuildInputs ++ lib.optionals (crossConfig == null) propagatedBuildInputs; })) ) @@ -82,13 +83,12 @@ let // (attrs.passthru or {}); # Utility flags to test the type of platform. - isDarwin = result.system == "i686-darwin" - || result.system == "powerpc-darwin" - || result.system == "x86_64-darwin"; + isDarwin = result.system == "x86_64-darwin"; isLinux = result.system == "i686-linux" || result.system == "x86_64-linux" || result.system == "powerpc-linux" || result.system == "armv5tel-linux" + || result.system == "armv6l-linux" || result.system == "armv7l-linux" || result.system == "mips64el-linux"; isGNU = result.system == "i686-gnu"; # GNU/Hurd @@ -108,7 +108,6 @@ let || result.system == "x86_64-openbsd"; isi686 = result.system == "i686-linux" || result.system == "i686-gnu" - || result.system == "i686-darwin" || result.system == "i686-freebsd" || result.system == "i686-openbsd" || result.system == "i386-sunos"; @@ -117,10 +116,13 @@ let || result.system == "x86_64-freebsd" || result.system == "x86_64-openbsd"; is64bit = result.system == "x86_64-linux" - || result.system == "x86_64-darwin"; + || result.system == "x86_64-darwin" + || result.system == "x86_64-freebsd" + || result.system == "x86_64-openbsd"; isMips = result.system == "mips-linux" || result.system == "mips64el-linux"; isArm = result.system == "armv5tel-linux" + || result.system == "armv6l-linux" || result.system == "armv7l-linux"; # Utility function: allow stdenv to be easily regenerated with diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 703ea53db8e..c5722c3e874 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1,7 +1,7 @@ # Run the named hook, either by calling the function with that name or # by evaluating the variable with that name. This allows convenient # setting of hooks both from Nix expressions (as attributes / -# environment variables) and from shell scripts (as functions). +# environment variables) and from shell scripts (as functions). runHook() { local hookName="$1" case "$(type -t $hookName)" in @@ -29,10 +29,10 @@ exitHandler() { # - system time for all child processes echo "build time elapsed: " ${times[*]} fi - + if [ $exitCode != 0 ]; then runHook failureHook - + # If the builder had a non-zero exit code and # $succeedOnFailure is set, create the file # `$out/nix-support/failed' to signal failure, and exit @@ -43,11 +43,11 @@ exitHandler() { echo -n $exitCode > "$out/nix-support/failed" exit 0 fi - + else runHook exitHook fi - + exit $exitCode } @@ -169,8 +169,8 @@ for i in $buildInputs $propagatedBuildInputs; do done nativePkgs="" -for i in $buildNativeInputs $propagatedBuildNativeInputs; do - findInputs $i nativePkgs propagated-build-native-inputs +for i in $nativeBuildInputs $propagatedNativeBuildInputs; do + findInputs $i nativePkgs propagated-native-build-inputs done @@ -197,7 +197,7 @@ addToCrossEnv() { local pkg=$1 # Some programs put important build scripts (freetype-config and similar) - # into their hostDrv bin path. Intentionally these should go after + # into their crossDrv bin path. Intentionally these should go after # the nativePkgs in PATH. if [ -d $1/bin ]; then addToSearchPath _PATH $1/bin @@ -445,7 +445,7 @@ unpackFile() { *) if [ -d "$curSrc" ]; then stripHash $curSrc - cp -prvd $curSrc $strippedName + cp -prd --no-preserve=timestamps $curSrc $strippedName else if [ -z "$unpackCmd" ]; then echo "source archive $curSrc has unknown type" @@ -462,7 +462,7 @@ unpackFile() { unpackPhase() { runHook preUnpack - + if [ -z "$srcs" ]; then if [ -z "$src" ]; then echo 'variable $src or $srcs should point to the source' @@ -529,9 +529,9 @@ unpackPhase() { patchPhase() { runHook prePatch - + if [ -z "$patchPhase" -a -z "$patches" ]; then return; fi - + for i in $patches; do header "applying patch $i" 3 local uncompress=cat @@ -627,7 +627,7 @@ checkPhase() { make ${makefile:+-f $makefile} \ ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} \ $makeFlags "${makeFlagsArray[@]}" \ - $checkFlags "${checkFlagsArray[@]}" ${checkTarget:-check} + ${checkFlags:-VERBOSE=y} "${checkFlagsArray[@]}" ${checkTarget:-check} runHook postCheck } @@ -724,11 +724,11 @@ fixupPhase() { # TODO: strip _only_ ELF executables, and return || fail here... if [ -z "$dontStrip" ]; then - stripDebugList=${stripDebugList:-lib lib64 libexec bin sbin} + stripDebugList=${stripDebugList:-lib lib32 lib64 libexec bin sbin} if [ -n "$stripDebugList" ]; then stripDirs "$stripDebugList" "${stripDebugFlags:--S}" fi - + stripAllList=${stripAllList:-} if [ -n "$stripAllList" ]; then stripDirs "$stripAllList" "${stripAllFlags:--s}" @@ -748,9 +748,9 @@ fixupPhase() { echo "$propagatedBuildInputs" > "$out/nix-support/propagated-build-inputs" fi - if [ -n "$propagatedBuildNativeInputs" ]; then + if [ -n "$propagatedNativeBuildInputs" ]; then mkdir -p "$out/nix-support" - echo "$propagatedBuildNativeInputs" > "$out/nix-support/propagated-build-native-inputs" + echo "$propagatedNativeBuildInputs" > "$out/nix-support/propagated-native-build-inputs" fi if [ -n "$propagatedUserEnvPkgs" ]; then @@ -844,7 +844,7 @@ genericBuild() { showPhaseHeader "$curPhase" dumpVars - + # Evaluate the variable named $curPhase if it exists, otherwise the # function named $curPhase. eval "${!curPhase:-$curPhase}" @@ -852,7 +852,7 @@ genericBuild() { if [ "$curPhase" = unpackPhase ]; then cd "${sourceRoot:-.}" fi - + if [ -n "$tracePhases" ]; then echo echo "@ phase-succeeded $out $curPhase" @@ -869,4 +869,10 @@ genericBuild() { runHook postHook +# Execute the global user hook (defined through the Nixpkgs +# configuration option ‘stdenv.userHook’). This can be used to set +# global compiler optimisation flags, for instance. +runHook userHook + + dumpVars diff --git a/pkgs/stdenv/linux/bootstrap/armv6l/default.nix b/pkgs/stdenv/linux/bootstrap/armv6l/default.nix new file mode 100644 index 00000000000..ecda6be8bd3 --- /dev/null +++ b/pkgs/stdenv/linux/bootstrap/armv6l/default.nix @@ -0,0 +1,15 @@ +{ + sh = ../armv5tel/sh; + bzip2 = ../armv5tel/bzip2; + mkdir = ../armv5tel/mkdir; + cpio = ../armv5tel/cpio; + ln = ../armv5tel/ln; + curl = ../armv5tel/curl.bz2; + + bootstrapTools = { + # Built from make-bootstrap-tools-crosspi.nix + # nixpkgs rev eb0422e4c1263a65a9b2b954fe10a1e03d67db3e + url = http://viric.name/tmp/nix/pi/bootstrap-tools.cpio.bz2; + sha256 = "1zb27x5h54k51yrvn3sy4wb1qprx8iv2kfbgklxwc0mcxp9b7ccd"; + }; +} diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix b/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix index a87f07e00ce..b0ad8d6545d 100644 --- a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix +++ b/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix @@ -7,7 +7,7 @@ curl = ./curl.bz2; bootstrapTools = { - url = "file:///root/cross-bootstrap-tools.cpio.bz2"; + url = "http://nixos.org/tarballs/stdenv-linux/loongson2f/r22849/cross-bootstrap-tools.cpio.bz2"; sha256 = "00aavbk76qjj2gdlmpaaj66r8nzl4d7pyl8cv1gigyzgpbr5vv3j"; }; } diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 3105e76f817..84af23a263c 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -7,7 +7,7 @@ # The function defaults are for easy testing. { system ? builtins.currentSystem , allPackages ? import ../../top-level/all-packages.nix -, platform ? null }: +, platform ? null, config }: rec { @@ -16,6 +16,7 @@ rec { else if system == "x86_64-linux" then import ./bootstrap/x86_64 else if system == "powerpc-linux" then import ./bootstrap/powerpc else if system == "armv5tel-linux" then import ./bootstrap/armv5tel + else if system == "armv6l-linux" then import ./bootstrap/armv6l else if system == "armv7l-linux" then import ./bootstrap/armv5tel else if system == "mips64el-linux" then import ./bootstrap/loongson2f else abort "unsupported platform for the pure Linux stdenv"; @@ -32,11 +33,11 @@ rec { # The bootstrap process proceeds in several steps. - + # 1) Create a standard environment by downloading pre-built binaries # of coreutils, GCC, etc. - + # This function downloads a file. download = {url, sha256}: derivation { name = baseNameOf (toString url); @@ -49,31 +50,31 @@ rec { impureEnvVars = [ "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" ]; }; - + # Download and unpack the bootstrap tools (coreutils, GCC, Glibc, ...). bootstrapTools = derivation { name = "bootstrap-tools"; - + builder = bootstrapFiles.sh; - + args = - if system == "armv5tel-linux" + if (system == "armv5tel-linux" || system == "armv6l-linux") then [ ./scripts/unpack-bootstrap-tools-arm.sh ] else [ ./scripts/unpack-bootstrap-tools.sh ]; - + inherit (bootstrapFiles) bzip2 mkdir curl cpio; - + tarball = download { inherit (bootstrapFiles.bootstrapTools) url sha256; }; - + inherit system; - + # Needed by the GCC wrapper. langC = true; langCC = true; }; - + # This function builds the various standard environments used during # the bootstrap. @@ -81,7 +82,7 @@ rec { {gcc, extraAttrs ? {}, overrides ? (pkgs: {}), extraPath ? [], fetchurl}: import ../generic { - inherit system; + inherit system config; name = "stdenv-linux-boot"; preHook = '' @@ -109,7 +110,7 @@ rec { fetchurl = null; }; - + fetchurl = import ../../build-support/fetchurl { stdenv = stdenvLinuxBoot0; curl = bootstrapTools; @@ -133,7 +134,7 @@ rec { # A helper function to call gcc-wrapper. wrapGCC = {gcc ? bootstrapTools, libc, binutils, coreutils, shell ? "", name ? "bootstrap-gcc-wrapper"}: - + import ../../build-support/gcc-wrapper { nativeTools = false; nativeLibc = false; @@ -153,7 +154,7 @@ rec { }; inherit fetchurl; }; - + # 2) These are the packages that we can build with the first # stdenv. We only need binutils, because recent Glibcs @@ -164,7 +165,7 @@ rec { bootStdenv = stdenvLinuxBoot1; }; - + # 3) 2nd stdenv that we will use to build only the glibc. stdenvLinuxBoot2 = stdenvBootFun { gcc = wrapGCC { @@ -186,12 +187,12 @@ rec { bootStdenv = stdenvLinuxBoot2; }; - + # 5) Build Glibc with the bootstrap tools. The result is the full, # dynamically linked, final Glibc. stdenvLinuxGlibc = stdenvLinuxBoot2Pkgs.glibc; - + # 6) Construct a third stdenv identical to the 2nd, except that # this one uses the Glibc built in step 3. It still uses # the recent binutils and rest of the bootstrap tools, including GCC. @@ -217,14 +218,14 @@ rec { inherit fetchurl; }; - + # 7) The packages that can be built using the third stdenv. stdenvLinuxBoot3Pkgs = allPackages { inherit system platform; bootStdenv = stdenvLinuxBoot3; }; - + # 8) Construct a fourth stdenv identical to the second, except that # this one uses the dynamically linked GCC and Binutils from step # 5. The other tools (e.g. coreutils) are still from the @@ -240,19 +241,19 @@ rec { extraPath = [ stdenvLinuxBoot3Pkgs.xz ]; overrides = pkgs: { inherit (stdenvLinuxBoot1Pkgs) perl; - inherit (stdenvLinuxBoot3Pkgs) gettext gnum4 xz gmp; + inherit (stdenvLinuxBoot3Pkgs) gettext gnum4 gmp; }; inherit fetchurl; }; - + # 9) The packages that can be built using the fourth stdenv. stdenvLinuxBoot4Pkgs = allPackages { inherit system platform; bootStdenv = stdenvLinuxBoot4; }; - + # 10) Construct the final stdenv. It uses the Glibc, GCC and # Binutils built above, and adds in dynamically linked versions # of all other tools. @@ -261,11 +262,11 @@ rec { # dependency (`nix-store -qR') on bootstrapTools or the # first binutils built. stdenvLinux = import ../generic rec { - inherit system; - + inherit system config; + preHook = commonPreHook; - - initialPath = + + initialPath = ((import ../common-path.nix) {pkgs = stdenvLinuxBoot4Pkgs;}) ++ [stdenvLinuxBoot4Pkgs.patchelf]; @@ -273,18 +274,19 @@ rec { inherit (stdenvLinuxBoot3Pkgs) binutils; inherit (stdenvLinuxBoot4Pkgs) coreutils; libc = stdenvLinuxGlibc; - gcc = stdenvLinuxBoot3Pkgs.gcc.gcc; + gcc = stdenvLinuxBoot4.gcc.gcc; shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; name = ""; }; shell = stdenvLinuxBoot4Pkgs.bash + "/bin/bash"; - + fetchurlBoot = fetchurl; - + extraAttrs = { inherit (stdenvLinuxBoot3Pkgs) glibc; - inherit platform; + inherit platform bootstrapTools; + shellPackage = stdenvLinuxBoot4Pkgs.bash; }; overrides = pkgs: { diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix new file mode 100644 index 00000000000..9b2949e3e36 --- /dev/null +++ b/pkgs/stdenv/linux/make-bootstrap-tools-crosspi.nix @@ -0,0 +1,269 @@ +{system ? builtins.currentSystem}: + +let + pkgsFun = import ../../top-level/all-packages.nix; + pkgsNoParams = pkgsFun {}; + raspberrypiCrossSystem = { + crossSystem = { + config = "armv6l-unknown-linux-gnueabi"; + bigEndian = false; + arch = "arm"; + float = "hard"; + fpu = "vfp"; + withTLS = true; + libc = "glibc"; + platform = pkgsNoParams.platforms.raspberrypi; + openssl.system = "linux-generic32"; + gcc = { + arch = "armv6"; + fpu = "vfp"; + float = "hard"; + }; + }; + }; + + raspberrypiCrossSystemUclibc = { + crossSystem = { + config = "armv6l-unknown-linux-gnueabi"; + bigEndian = false; + arch = "arm"; + float = "hard"; + fpu = "vfp"; + withTLS = true; + libc = "uclibc"; + platform = pkgsNoParams.platforms.raspberrypi; + openssl.system = "linux-generic32"; + gcc = { + arch = "armv6"; + fpu = "vfp"; + float = "hard"; + }; + uclibc.extraConfig = '' + ARCH_WANTS_BIG_ENDIAN n + ARCH_BIG_ENDIAN n + ARCH_WANTS_LITTLE_ENDIAN y + ARCH_LITTLE_ENDIAN y + ''; + }; + }; + + pkgsuclibc = pkgsFun ({inherit system;} // raspberrypiCrossSystemUclibc); + pkgs = pkgsFun ({inherit system;} // raspberrypiCrossSystem); + + inherit (pkgs) stdenv nukeReferences cpio binutilsCross; + + # We want coreutils without ACL support. + coreutils_base = pkgs.coreutils.override (args: { + aclSupport = false; + }); + + coreutils_ = coreutils_base.crossDrv; + + glibc = pkgs.libcCross; + bash = pkgs.bash.crossDrv; + findutils = pkgs.findutils.crossDrv; + diffutils = pkgs.diffutils.crossDrv; + gnused = pkgs.gnused.crossDrv; + gnugrep = pkgs.gnugrep.crossDrv; + gawk = pkgs.gawk.crossDrv; + gnutar = pkgs.gnutar.crossDrv; + gzip = pkgs.gzip.crossDrv; + bzip2 = pkgs.bzip2.crossDrv; + gnumake = pkgs.gnumake.crossDrv; + patch = pkgs.patch.crossDrv; + patchelf = pkgs.patchelf.crossDrv; + replace = pkgs.replace.crossDrv; + gcc = pkgs.gcc47; + gmp = pkgs.gmp.crossDrv; + mpfr = pkgs.mpfr.crossDrv; + ppl = pkgs.ppl.crossDrv; + cloogppl = pkgs.cloogppl.crossDrv; + cloog = pkgs.cloog.crossDrv; + zlib = pkgs.zlib.crossDrv; + isl = pkgs.isl.crossDrv; + mpc = pkgs.mpc.crossDrv; + binutils = pkgs.binutils.crossDrv; + klibc = pkgs.klibc.crossDrv; + +in + +rec { + + curlStatic = import { + stdenv = pkgsuclibc.stdenv; + inherit (pkgsuclibc) fetchurl; + zlibSupport = false; + sslSupport = false; + linkStatic = true; + }; + + bzip2Static = import { + stdenv = pkgsuclibc.stdenv; + inherit (pkgsuclibc) fetchurl; + linkStatic = true; + }; + + inherit pkgs; + + build = + + stdenv.mkDerivation { + name = "build"; + + buildInputs = [nukeReferences cpio binutilsCross]; + + crossConfig = stdenv.cross.config; + + buildCommand = '' + set -x + ensureDir $out/bin $out/lib $out/libexec + + # Copy what we need of Glibc. + cp -d ${glibc}/lib/ld-*.so* $out/lib + cp -d ${glibc}/lib/libc*.so* $out/lib + cp -d ${glibc}/lib/libc_nonshared.a $out/lib + cp -d ${glibc}/lib/libm*.so* $out/lib + cp -d ${glibc}/lib/libdl*.so* $out/lib + cp -d ${glibc}/lib/librt*.so* $out/lib + cp -d ${glibc}/lib/libpthread*.so* $out/lib + cp -d ${glibc}/lib/libnsl*.so* $out/lib + cp -d ${glibc}/lib/libutil*.so* $out/lib + cp -d ${glibc}/lib/crt?.o $out/lib + + cp -rL ${glibc}/include $out + chmod -R u+w $out/include + + # Hopefully we won't need these. + rm -rf $out/include/mtd $out/include/rdma $out/include/sound $out/include/video + find $out/include -name .install -exec rm {} \; + find $out/include -name ..install.cmd -exec rm {} \; + mv $out/include $out/include-glibc + + # Copy coreutils, bash, etc. + cp ${coreutils_}/bin/* $out/bin + (cd $out/bin && rm vdir dir sha*sum pinky factor pathchk runcon shuf who whoami shred users) + + cp ${bash}/bin/bash $out/bin + cp ${findutils}/bin/find $out/bin + cp ${findutils}/bin/xargs $out/bin + cp -d ${diffutils}/bin/* $out/bin + cp -d ${gnused}/bin/* $out/bin + cp -d ${gnugrep}/bin/* $out/bin + cp ${gawk}/bin/gawk $out/bin + cp -d ${gawk}/bin/awk $out/bin + cp ${gnutar}/bin/tar $out/bin + cp ${gzip}/bin/gzip $out/bin + cp ${bzip2}/bin/bzip2 $out/bin + cp -d ${gnumake}/bin/* $out/bin + cp -d ${patch}/bin/* $out/bin + cp ${patchelf}/bin/* $out/bin + cp ${replace}/bin/* $out/bin + + cp -d ${gnugrep.pcre.crossDrv}/lib/libpcre*.so* $out/lib # needed by grep + + # Copy what we need of GCC. + cp -d ${gcc.gcc.crossDrv}/bin/gcc $out/bin + cp -d ${gcc.gcc.crossDrv}/bin/cpp $out/bin + cp -d ${gcc.gcc.crossDrv}/bin/g++ $out/bin + cp -d ${gcc.gcc.crossDrv}/lib*/libgcc_s.so* $out/lib + cp -d ${gcc.gcc.crossDrv}/lib*/libstdc++.so* $out/lib + cp -rd ${gcc.gcc.crossDrv}/lib/gcc $out/lib + chmod -R u+w $out/lib + rm -f $out/lib/gcc/*/*/include*/linux + rm -f $out/lib/gcc/*/*/include*/sound + rm -rf $out/lib/gcc/*/*/include*/root + rm -f $out/lib/gcc/*/*/include-fixed/asm + rm -rf $out/lib/gcc/*/*/plugin + #rm -f $out/lib/gcc/*/*/*.a + cp -rd ${gcc.gcc.crossDrv}/libexec/* $out/libexec + mkdir $out/include + cp -rd ${gcc.gcc.crossDrv}/include/c++ $out/include + chmod -R u+w $out/include + rm -rf $out/include/c++/*/ext/pb_ds + rm -rf $out/include/c++/*/ext/parallel + + cp -d ${gmp}/lib/libgmp*.so* $out/lib + cp -d ${mpfr}/lib/libmpfr*.so* $out/lib + cp -d ${cloogppl}/lib/libcloog*.so* $out/lib + cp -d ${cloog}/lib/libcloog*.so* $out/lib + cp -d ${ppl}/lib/libppl*.so* $out/lib + cp -d ${isl}/lib/libisl*.so* $out/lib + cp -d ${mpc}/lib/libmpc*.so* $out/lib + cp -d ${zlib}/lib/libz.so* $out/lib + + # Copy binutils. + for i in as ld ar ranlib nm strip readelf objdump; do + cp ${binutils}/bin/$i $out/bin + done + + chmod -R u+w $out + + # Strip executables even further. + for i in $out/bin/* $out/libexec/gcc/*/*/*; do + if test -x $i -a ! -L $i; then + chmod +w $i + $crossConfig-strip -s $i || true + fi + done + + nuke-refs $out/bin/* + nuke-refs $out/lib/* + nuke-refs $out/libexec/gcc/*/*/* + nuke-refs $out/libexec/gcc/*/*/*/* + + mkdir $out/.pack + mv $out/* $out/.pack + mv $out/.pack $out/pack + + mkdir $out/on-server + (cd $out/pack && (find | cpio -o -H newc)) | bzip2 > $out/on-server/bootstrap-tools.cpio.bz2 + + mkdir $out/in-nixpkgs + cp ${klibc}/lib/klibc/bin.static/sh $out/in-nixpkgs + cp ${klibc}/lib/klibc/bin.static/cpio $out/in-nixpkgs + cp ${klibc}/lib/klibc/bin.static/mkdir $out/in-nixpkgs + cp ${klibc}/lib/klibc/bin.static/ln $out/in-nixpkgs + cp ${curlStatic.crossDrv}/bin/curl $out/in-nixpkgs + cp ${bzip2Static.crossDrv}/bin/bzip2 $out/in-nixpkgs + chmod u+w $out/in-nixpkgs/* + $crossConfig-strip $out/in-nixpkgs/* + nuke-refs $out/in-nixpkgs/* + bzip2 $out/in-nixpkgs/curl + ''; # */ + + # The result should not contain any references (store paths) so + # that we can safely copy them out of the store and to other + # locations in the store. + allowedReferences = []; + }; + + + unpack = + + stdenv.mkDerivation { + name = "unpack"; + + buildCommand = '' + ${build}/in-nixpkgs/mkdir $out + ${build}/in-nixpkgs/bzip2 -d < ${build}/on-server/bootstrap-tools.cpio.bz2 | (cd $out && ${build}/in-nixpkgs/cpio -V -i) + + for i in $out/bin/* $out/libexec/gcc/*/*/*; do + echo patching $i + if ! test -L $i; then + LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.2 \ + $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.2 --set-rpath $out/lib --force-rpath $i + fi + done + + # Fix the libc linker script. + for i in $out/lib/libc.so; do + cat $i | sed "s|/nix/store/e*-[^/]*/|$out/|g" > $i.tmp + mv $i.tmp $i + done + ''; # " */ + + allowedReferences = ["out"]; + }; + + +} diff --git a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh index 3709ac05041..dcf819ad6f7 100644 --- a/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh +++ b/pkgs/stdenv/linux/scripts/unpack-bootstrap-tools-arm.sh @@ -13,22 +13,24 @@ echo Patching the bootstrap tools... LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? $out/bin/cp $out/bin/patchelf . for i in $out/bin/* $out/libexec/gcc/*/*/* $out/lib/librt*; do + if test ${i%.la} != $i; then continue; fi + if test ${i%*.so*} != $i; then continue; fi + if ! test -f $i; then continue; fi + if test -L $i; then continue; fi echo patching $i - if ! test -L $i; then - LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ - $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib --force-rpath $i - LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ - $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib --force-rpath $i - fi + LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ + $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib --force-rpath $i + LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ + $out/bin/patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib --force-rpath $i done -for i in $out/lib/libppl* $out/lib/libgmp*; do +for i in $out/lib/librt* $out/lib/libcloog* $out/lib/libppl* $out/lib/libgmp*; do + if ! test -f $i; then continue; fi + if test -L $i; then continue; fi echo patching $i - if ! test -L $i; then - LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ - $out/bin/patchelf --set-rpath $out/lib --force-rpath $i - LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ - $out/bin/patchelf --set-rpath $out/lib --force-rpath $i - fi + LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ + $out/bin/patchelf --set-rpath $out/lib --force-rpath $i + LD_LIBRARY_PATH=$out/lib $out/lib/ld-linux*.so.? \ + $out/bin/patchelf --set-rpath $out/lib --force-rpath $i done # Fix the libc linker script. diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix index c0da8f2b0c1..524b2a53337 100644 --- a/pkgs/stdenv/native/default.nix +++ b/pkgs/stdenv/native/default.nix @@ -1,12 +1,12 @@ -{ system, allPackages ? import ../../.. }: +{ system, allPackages ? import ../../.., config }: rec { - shell = + shell = if system == "i686-freebsd" || system == "x86_64-freebsd" then "/usr/local/bin/bash" else "/bin/bash"; - path = + path = (if system == "i686-solaris" then [ "/usr/gnu" ] else []) ++ (if system == "i686-netbsd" then [ "/usr/pkg" ] else []) ++ ["/" "/usr" "/usr/local"]; @@ -22,13 +22,13 @@ rec { export NIX_DONT_SET_RPATH=1 export NIX_NO_SELF_RPATH=1 dontFixLibtool=1 - stripAllFlags=" " # the Darwin "strip" command doesn't know "-s" + stripAllFlags=" " # the Darwin "strip" command doesn't know "-s" xargsFlags=" " ''; prehookFreeBSD = '' ${prehookBase} - + alias make=gmake alias tar=gtar alias sed=gsed @@ -41,14 +41,14 @@ rec { prehookOpenBSD = '' ${prehookBase} - + alias make=gmake alias grep=ggrep alias mv=gmv alias ln=gln alias sed=gsed alias tar=gtar - + export MAKE=gmake shopt -s expand_aliases @@ -58,20 +58,20 @@ rec { prehookNetBSD = '' ${prehookBase} - + alias make=gmake alias sed=gsed alias tar=gtar export MAKE=gmake shopt -s expand_aliases - + # Filter out stupid GCC warnings (in gcc-wrapper). export NIX_GCC_NEEDS_GREP=1 ''; prehookCygwin = '' ${prehookBase} - + if test -z "$cygwinConfigureEnableShared"; then export configureFlags="$configureFlags --disable-shared" fi @@ -81,24 +81,24 @@ rec { # A function that builds a "native" stdenv (one that uses tools in - # /usr etc.). + # /usr etc.). makeStdenv = { gcc, fetchurl, extraPath ? [], overrides ? (pkgs: { }) }: import ../generic { preHook = - if system == "i686-darwin" || system == "powerpc-darwin" || system == "x86_64-darwin" then prehookDarwin else + if system == "x86_64-darwin" then prehookDarwin else if system == "i686-freebsd" then prehookFreeBSD else if system == "x86_64-freebsd" then prehookFreeBSD else if system == "i686-openbsd" then prehookOpenBSD else - if system == "i686-netbsd" then prehookNetBSD else + if system == "i686-netbsd" then prehookNetBSD else prehookBase; initialPath = extraPath ++ path; fetchurlBoot = fetchurl; - inherit system shell gcc overrides; + inherit system shell gcc overrides config; }; @@ -106,7 +106,7 @@ rec { gcc = "/no-such-path"; fetchurl = null; }; - + gcc = import ../../build-support/gcc-wrapper { name = "gcc-native"; @@ -116,14 +116,14 @@ rec { stdenv = stdenvBoot0; }; - + fetchurl = import ../../build-support/fetchurl { stdenv = stdenvBoot0; # Curl should be in /usr/bin or so. curl = null; }; - - + + # First build a stdenv based only on tools outside the store. stdenvBoot1 = makeStdenv { inherit gcc fetchurl; diff --git a/pkgs/stdenv/nix/default.nix b/pkgs/stdenv/nix/default.nix index 5e242b6e3a1..d0f7d60f101 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -1,6 +1,8 @@ -{ stdenv, pkgs }: +{ stdenv, pkgs, config }: import ../generic rec { + inherit config; + preHook = '' export NIX_ENFORCE_PURITY=1 @@ -10,7 +12,7 @@ import ../generic rec { export NIX_DONT_SET_RPATH=1 export NIX_NO_SELF_RPATH=1 dontFixLibtool=1 - stripAllFlags=" " # the Darwin "strip" command doesn't know "-s" + stripAllFlags=" " # the Darwin "strip" command doesn't know "-s" xargsFlags=" " fi ''; @@ -23,7 +25,7 @@ import ../generic rec { nativeTools = false; nativeLibc = true; inherit stdenv; - binutils = + binutils = if stdenv.isDarwin then import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;} else @@ -40,7 +42,7 @@ import ../generic rec { overrides = pkgs_: { inherit gcc; inherit (gcc) binutils; - inherit (pkgs) + inherit (pkgs) gzip bzip2 xz bash coreutils diffutils findutils gawk gnumake gnused gnutar gnugrep gnupatch perl; }; diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix index 71c7046b0b7..4c7e8997148 100644 --- a/pkgs/tools/X11/x11vnc/default.nix +++ b/pkgs/tools/X11/x11vnc/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { --replace '"/bin/true"' '"${coreutils}/bin/true"' substituteInPlace x11vnc/ssltools.h \ + --replace /bin/su /var/setuid-wrappers/su \ --replace xdpyinfo ${xorg.xdpyinfo}/bin/xdpyinfo ''; diff --git a/pkgs/tools/X11/xcalib/default.nix b/pkgs/tools/X11/xcalib/default.nix new file mode 100644 index 00000000000..65868a3b6b0 --- /dev/null +++ b/pkgs/tools/X11/xcalib/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, libX11, libXxf86vm, libXext }: + +stdenv.mkDerivation rec { + name = "xcalib-0.8"; + + src = fetchurl { + url = "mirror://sourceforge/xcalib/xcalib-source-0.8.tar.gz"; + sha256 = "8a112ee710e5446f6c36e62345b2066f10639d500259db8c48bf1716caea06e6"; + }; + + buildInputs = [ libX11 libXxf86vm libXext ]; + + installPhase = '' + mkdir -p $out/bin + cp xcalib $out/bin/ + ''; + + meta = with stdenv.lib; { + homepage = http://xcalib.sourceforge.net/; + description = "A tiny monitor calibration loader for X and MS-Windows"; + license = licenses.gpl2; + maintainers = [ maintainers.rickynils ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix index cc166ba20d9..df5d59c7b57 100644 --- a/pkgs/tools/X11/xdg-utils/default.nix +++ b/pkgs/tools/X11/xdg-utils/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, file }: stdenv.mkDerivation rec { name = "xdg-utils-1.0.2"; @@ -7,6 +7,10 @@ stdenv.mkDerivation rec { url = "http://portland.freedesktop.org/download/${name}.tgz"; sha256 = "1b019d3r1379b60p33d6z44kx589xjgga62ijz9vha95dg8vgbi1"; }; + + postInstall = '' + substituteInPlace $out/bin/xdg-mime --replace /usr/bin/file ${file}/bin/file + ''; meta = { homepage = http://portland.freedesktop.org/wiki/; diff --git a/pkgs/tools/X11/xkb-switch/default.nix b/pkgs/tools/X11/xkb-switch/default.nix new file mode 100644 index 00000000000..0fc49038efe --- /dev/null +++ b/pkgs/tools/X11/xkb-switch/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchgit, cmake, libX11 }: + +stdenv.mkDerivation rec { + name = "xkb-switch-1.2"; + + src = fetchgit { + url = https://github.com/ierton/xkb-switch.git; + rev = "4c90511ecf2cacc040c97f034a13254c3fa9dfef"; + sha256 = "1jxya67v1qnvbzd0cd5gj7xrwvxyfy1rpa70l8p30p9cmw3ahk41"; + }; + + buildInputs = [ cmake libX11 ]; + + meta = { + description = "Switch X layouts from the command line"; + homepage = https://github.com/ierton/xkb-switch.git; + maintainers = with stdenv.lib.maintainers; [smironov]; + platforms = stdenv.lib.platforms.gnu; + license = "BSD"; + }; +} + diff --git a/pkgs/tools/X11/xlaunch/default.nix b/pkgs/tools/X11/xlaunch/default.nix index 0bc33bcb7fa..3cab25837e6 100644 --- a/pkgs/tools/X11/xlaunch/default.nix +++ b/pkgs/tools/X11/xlaunch/default.nix @@ -45,7 +45,7 @@ EOF else RESET_OPTION=\"-noreset\" fi; - XCMD=\"\$(egrep \"^env\" /etc/init/xserver.conf | sed -e \"s/env/ export /\" | sed -e '\\''s/#.*//'\\'' ; echo export _XARGS_=\\\$\\( grep xserver_arguments \\\$SLIM_CFGFILE \\| sed -e s/xserver_arguments// \\| sed -e s/:0/:\${_display}/ \\| sed -e s/vt7/vt\$((7+_display))/ \\) ; echo ${xorgserver}/bin/X \\\$_XARGS_ \$RESET_OPTION )\" + XCMD=\"\$(egrep \"^Environment=\" /etc/systemd/system/display-manager.service | sed -e \"s/Environment=/ export /\" | sed -e '\\''s/#.*//'\\'' ; echo export _XARGS_=\\\$\\( grep xserver_arguments \\\$SLIM_CFGFILE \\| sed -e s/xserver_arguments// \\| sed -e s/:0/:\${_display}/ \\| sed -e s/vt7/vt\$((7+_display))/ \\) ; echo ${xorgserver}/bin/X \\\$_XARGS_ \$RESET_OPTION )\" echo \"\$XCMD\" echo \"\$XCMD\" | bash & while ! test -e /tmp/.X11-unix/X\$_display &>/dev/null ; do sleep 0.5; done diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 3fbb350e0ab..929332275fc 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1s1z6r0r78qvf59ci3vxammjz7lj5m64jyk0bfn7yxd5jl3sy41y"; }; - buildNativeInputs = [ cython ]; + nativeBuildInputs = [ cython ]; buildInputs = [ pkgconfig python pygtk gtk ffmpeg x264 libvpx makeWrapper diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix index 36aae068438..be42fb4d2a5 100644 --- a/pkgs/tools/admin/tigervnc/default.nix +++ b/pkgs/tools/admin/tigervnc/default.nix @@ -3,29 +3,31 @@ , fontDirectories, fontutil, libgcrypt, gnutls, pam, flex, bison , fixesproto, damageproto, xcmiscproto, bigreqsproto, randrproto, renderproto , fontsproto, videoproto, compositeproto, scrnsaverproto, resourceproto -, libxkbfile, libXfont, libpciaccess +, libxkbfile, libXfont, libpciaccess, cmake, libjpeg_turbo, libXft, fltk, libXinerama +, xineramaproto, libXcursor, fetchsvn }: - - with stdenv.lib; stdenv.mkDerivation rec { - name = "tigervnc-1.1.0"; - - src = fetchurl { - url = "mirror://sourceforge/tigervnc/${name}.tar.gz"; - sha256 = "1x30s12fwv9rk0fnwwn631qq0d8rpjjx53bvzlx8c91cba170jsr"; - }; + # Release version = "1.2.0"; + revision = 5005; + version = "r${toString revision}"; + name = "tigervnc-${version}"; - configureFlags = "--enable-nls"; + src = fetchsvn { + # Release url = "mirror://sourceforge/tigervnc/${version}/${name}.tar.gz"; + url = "https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk"; + rev = revision; + sha256 = "2401e0ede9a2d50a37caeb094e5e832d24878749239578f44ae2acd42de01b43"; + }; inherit fontDirectories; patchPhase = '' - sed -i -e 's,$(includedir)/pixman-1,${if stdenv ? cross then pixman.hostDrv else pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am - sed -i -e '/^$pidFile/a$ENV{XKB_BINDIR}="${if stdenv ? cross then xkbcomp.hostDrv else xkbcomp}/bin";' unix/vncserver - sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${if stdenv ? cross then xkeyboard_config.hostDrv else xkeyboard_config}/etc/X11/xkb";' unix/vncserver + sed -i -e 's,$(includedir)/pixman-1,${if stdenv ? cross then pixman.crossDrv else pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am + sed -i -e '/^$pidFile/a$ENV{XKB_BINDIR}="${if stdenv ? cross then xkbcomp.crossDrv else xkbcomp}/bin";' unix/vncserver + sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${if stdenv ? cross then xkeyboard_config.crossDrv else xkeyboard_config}/etc/X11/xkb";' unix/vncserver fontPath= for i in $fontDirectories; do @@ -33,15 +35,19 @@ stdenv.mkDerivation rec { addToSearchPathWithCustomDelimiter "," fontPath $(dirname $j) done done - - sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -fp '"$fontPath"'";' unix/vncserver + + sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -fp '"$fontPath"'";' unix/vncserver ''; # I don't know why I can't use in the script # this: ${concatStringsSep " " (map (f: "${f}") xorgserver.patches)} xorgPatches = xorgserver.patches; + dontUseCmakeBuildDir = "yes"; + postBuild = '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive -Wno-error=int-to-pointer-cast" + # Build Xvnc tar xf ${xorgserver.src} cp -R xorg*/* unix/xserver @@ -50,42 +56,39 @@ stdenv.mkDerivation rec { do patch -p1 < $a done - patch -p1 < ../xserver18.patch + patch -p1 < ../xserver113.patch autoreconf -vfi - ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx + ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx --prefix="$out" make TIGERVNC_SRCDIR=`pwd`/../.. popd ''; - # I don't know why I need this; it may have to do with this problem: - # http://bugs.gentoo.org/show_bug.cgi?id=142852 - preInstall = '' - sed -i -e s,@MKINSTALLDIRS@,`pwd`/mkinstalldirs, po/Makefile - ''; - postInstall = '' pushd unix/xserver make TIGERVNC_SRCDIR=`pwd`/../.. install ''; crossAttrs = { - buildInputs = (map (x : x.hostDrv) (buildInputs ++ [ + buildInputs = (map (x : x.crossDrv) (buildInputs ++ [ fixesproto damageproto xcmiscproto bigreqsproto randrproto renderproto fontsproto videoproto compositeproto scrnsaverproto resourceproto - libxkbfile libXfont libpciaccess + libxkbfile libXfont libpciaccess xineramaproto ])); }; buildInputs = - [ libX11 libXext gettext libICE libXtst libXi libSM - nasm libgcrypt gnutls pam pixman + [ libX11 libXext gettext libICE libXtst libXi libSM libXft + nasm libgcrypt gnutls pam pixman libjpeg_turbo fltk xineramaproto + libXinerama libXcursor ]; - - buildNativeInputs = - [ autoconf automake cvs utilmacros fontutil libtool flex bison ] - ++ xorgserver.buildNativeInputs; - propagatedBuildNativeInputs = xorgserver.propagatedBuildNativeInputs; + nativeBuildInputs = + [ autoconf automake cvs utilmacros fontutil libtool flex bison + cmake + ] + ++ xorgserver.nativeBuildInputs; + + propagatedNativeBuildInputs = xorgserver.propagatedNativeBuildInputs; meta = { homepage = http://www.tigervnc.org/; @@ -94,5 +97,4 @@ stdenv.mkDerivation rec { maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; }; - } diff --git a/pkgs/tools/archivers/cabextract/default.nix b/pkgs/tools/archivers/cabextract/default.nix index 9e11a1bf761..79be818bfb3 100644 --- a/pkgs/tools/archivers/cabextract/default.nix +++ b/pkgs/tools/archivers/cabextract/default.nix @@ -1,10 +1,11 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "cabextract-1.3"; + name = "cabextract-1.4"; + src = fetchurl { - url = meta.homepage + name + ".tar.gz"; - sha256 = "00f0qcrz9f2gwvm98qglbrjpwrzwrfdgh0hck6im93dl6lx3hr6l"; + url = "http://www.cabextract.org.uk/${name}.tar.gz"; + sha256 = "07p49053a727nwnw7vnx1bpj4xqa43cvx8mads2146fpqai8pfpp"; }; meta = { diff --git a/pkgs/tools/archivers/cpio/latest.nix b/pkgs/tools/archivers/cpio/latest.nix deleted file mode 100644 index 8e14ff17866..00000000000 --- a/pkgs/tools/archivers/cpio/latest.nix +++ /dev/null @@ -1,45 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation ({ - name = "cpio-2.11"; - - src = fetchurl { - url = mirror://gnu/cpio/cpio-2.11.tar.bz2; - sha256 = "1gavgpzqwgkpagjxw72xgxz52y1ifgz0ckqh8g7cckz7jvyhp0mv"; - }; - - # Tests fail on Darwin, see - # for - # details. - doCheck = !stdenv.isDarwin; - - meta = { - homepage = http://www.gnu.org/software/cpio/; - description = "GNU cpio, a program to create or extract from cpio archives"; - - longDescription = - '' GNU cpio copies files into or out of a cpio or tar archive. The - archive can be another file on the disk, a magnetic tape, or a pipe. - - GNU cpio supports the following archive formats: binary, old ASCII, - new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 - tar. The tar format is provided for compatability with the tar - program. By default, cpio creates binary format archives, for - compatibility with older cpio programs. When extracting from - archives, cpio automatically recognizes which kind of archive it is - reading and can read archives created on machines with a different - byte-order. - ''; - - license = "GPLv3+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.all; - }; -} - -// - -(if stdenv.isLinux - then {} - else { patches = [ ./darwin-fix.patch ]; })) diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix index 4ef973bd56a..51d5d35fe80 100644 --- a/pkgs/tools/archivers/gnutar/default.nix +++ b/pkgs/tools/archivers/gnutar/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl }: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "gnutar-1.26"; src = fetchurl { @@ -8,6 +8,12 @@ stdenv.mkDerivation (rec { sha256 = "0hbdkzmchq9ycr2x1pxqdcgdbaxksh8c6ac0jf75jajhcks6jlss"; }; + patches = [ ./gets-undeclared.patch ]; + + # May have some issues with root compilation because the bootstrap tool + # cannot be used as a login shell for now. + FORCE_UNSAFE_CONFIGURE = stdenv.lib.optionalString (stdenv.system == "armv7l-linux") "1"; + meta = { homepage = http://www.gnu.org/software/tar/; description = "GNU implementation of the `tar' archiver"; @@ -33,18 +39,3 @@ stdenv.mkDerivation (rec { platforms = stdenv.lib.platforms.all; }; } - # May have some issues with root compilation because the bootstrap tool - # cannot be used as a login shell for now. -// stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux") { - FORCE_UNSAFE_CONFIGURE = 1; -} - -// - -{ - crossAttrs = - # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs. - (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") { - patches = [ ./gets-undeclared.patch ]; - }); -}) diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix index bb9743e8e5d..767e85d6773 100644 --- a/pkgs/tools/archivers/p7zip/default.nix +++ b/pkgs/tools/archivers/p7zip/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "p7zip-9.13"; + name = "p7zip-9.20.1"; src = fetchurl { - url = mirror://sourceforge/p7zip/p7zip_9.13_src_all.tar.bz2; - sha256 = "08yr0cfbjx60r1ia7vhphzvc3gax62xhgsn3vdm7sdmxxai0z77w"; + url = mirror://sourceforge/p7zip/p7zip_9.20.1_src_all.tar.bz2; + sha256 = "10j7rc1nzdp7vvcpc3340yi3qw7abby4szv8zkwh10d0zizpwma9"; }; preConfigure = @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { buildFlags=all3 ''; + enableParallelBuilding = true; + meta = { homepage = http://p7zip.sourceforge.net/; description = "A port of the 7-zip archiver"; diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix index 15b8ead7d38..7346b8e4e05 100644 --- a/pkgs/tools/archivers/sharutils/default.nix +++ b/pkgs/tools/archivers/sharutils/default.nix @@ -8,11 +8,22 @@ stdenv.mkDerivation rec { sha256 = "1mallg1gprimlggdisfzdmh1xi676jsfdlfyvanlcw72ny8fsj3g"; }; + preConfigure = + '' + # Fix for building on Glibc 2.16. Won't be needed once the + # gnulib in sharutils is updated. + sed -i '/gets is a security hole/d' lib/stdio.in.h + ''; + # GNU Gettext is needed on non-GNU platforms. buildInputs = [ gettext ]; doCheck = true; + crossAttrs = { + patches = [ ./sharutils-4.11.1-cross-binary-mode-popen.patch ]; + }; + meta = { description = "GNU Sharutils, tools for remote synchronization and `shell archives'"; diff --git a/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch b/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch new file mode 100644 index 00000000000..f05eab251d4 --- /dev/null +++ b/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch @@ -0,0 +1,63 @@ +diff -Naur sharutils-4.11.1.orig/configure sharutils-4.11.1/configure +--- sharutils-4.11.1.orig/configure 2011-06-20 11:07:40.000000000 -0400 ++++ sharutils-4.11.1/configure 2011-06-20 11:09:30.000000000 -0400 +@@ -26962,33 +26962,33 @@ + CATALOGS="$new_CATALOGS" + fi + +-if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "cannot run test program while cross compiling +-See \`config.log' for more details" "$LINENO" 5; } +-else +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-int +-main () +-{ +- FILE * fp = popen ("date", "rb"); +- exit (fp == NULL); +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_run "$LINENO"; then : +- ++#if test "$cross_compiling" = yes; then : ++# { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++#$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++#as_fn_error $? "cannot run test program while cross compiling ++#See \`config.log' for more details" "$LINENO" 5; } ++#else ++# cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++#/* end confdefs.h. */ ++# ++#int ++#main () ++#{ ++# FILE * fp = popen ("date", "rb"); ++# exit (fp == NULL); ++# ; ++# return 0; ++#} ++#_ACEOF ++#if ac_fn_c_try_run "$LINENO"; then : ++# + $as_echo "#define BINARY_MODE_POPEN 1" >>confdefs.h +- +- +-fi +-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +- conftest.$ac_objext conftest.beam conftest.$ac_ext +-fi ++# ++# ++#fi ++#rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++# conftest.$ac_objext conftest.beam conftest.$ac_ext ++#fi + + + diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix index c7bddfd6de2..2e3f111aba4 100644 --- a/pkgs/tools/archivers/zip/default.nix +++ b/pkgs/tools/archivers/zip/default.nix @@ -6,7 +6,10 @@ stdenv.mkDerivation { name = "zip-3.0"; src = fetchurl { - url = ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz; + urls = [ + ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz + http://pkgs.fedoraproject.org/repo/pkgs/zip/zip30.tar.gz/7b74551e63f8ee6aab6fbc86676c0d37/zip30.tar.gz + ]; sha256 = "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h"; }; diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix index 586fc514ba6..7062053703e 100644 --- a/pkgs/tools/backup/bup/default.nix +++ b/pkgs/tools/backup/bup/default.nix @@ -1,17 +1,20 @@ -{ stdenv, fetchgit, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper }: +{ stdenv, fetchgit, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper +, par2cmdline, par2Support ? false }: + +assert par2Support -> par2cmdline != null; with stdenv.lib; stdenv.mkDerivation { - name = "bup-0.25git20120722"; + name = "bup-0.25git20121224"; src = fetchgit { - url = "https://github.com/apenwarr/bup.git"; - sha256 = "3ad232d7f23071ed34f920bd4c3137583f1adffbe23c022896289bc0a03fe7aa"; - rev = "02bd2b566ea5eec2fd656e0ae572b4c7b6b9550a"; + url = "https://github.com/bup/bup.git"; + sha256 = "f0e0c835ab83f00b28920d493e4150d2247113aad3a74385865c2a8c6f1ba7b8"; + rev = "458e92da32ddd3c18fc1c3e52a76e9f0b48b832f"; }; - buildNativeInputs = [ pandoc perl makeWrapper ]; + nativeBuildInputs = [ pandoc perl makeWrapper ]; buildInputs = [ python git ]; @@ -26,8 +29,8 @@ stdenv.mkDerivation { substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python" done substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl" - substituteInPlace lib/bup/csetup.py \ - --replace "'bupsplit.c'])" "'bupsplit.c'], library_dirs=['${python}/lib'])" + '' + optionalString par2Support '' + substituteInPlace cmd/fsck-cmd.py --replace "['par2'" "['${par2cmdline}/bin/par2'" ''; makeFlags = [ @@ -42,6 +45,6 @@ stdenv.mkDerivation { Highly efficient file backup system based on the git packfile format. Capable of doing *fast* incremental backups of virtual machine images. ''; - homepage = "https://github.com/apenwarr/bup"; + homepage = "https://github.com/bup/bup"; }; } diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index bb5ae55b904..0b0c1dbb943 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python, librsync, gnupg, boto, makeWrapper }: stdenv.mkDerivation { - name = "duplicity-0.6.17"; + name = "duplicity-0.6.20"; src = fetchurl { - url = "http://code.launchpad.net/duplicity/0.6-series/0.6.17/+download/duplicity-0.6.17.tar.gz"; - sha256 = "0n54fw55v4h0cjspgh9nhss5w18bfrib9fckgkk2fldi3835c7l9"; + url = "http://code.launchpad.net/duplicity/0.6-series/0.6.20/+download/duplicity-0.6.20.tar.gz"; + sha256 = "0r0nf7arc3n5ipvvbh7h6ksqzbl236iv5pjpmd5s7lff3xswdl2i"; }; installPhase = '' diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix index 119633e0638..dcac235c670 100644 --- a/pkgs/tools/backup/obnam/default.nix +++ b/pkgs/tools/backup/obnam/default.nix @@ -1,12 +1,14 @@ { stdenv, fetchurl, python, pythonPackages, pycrypto, attr }: -pythonPackages.buildPythonPackage { - name = "obnam-1.1"; +pythonPackages.buildPythonPackage rec { + name = "obnam-${version}"; + version = "1.3"; + namePrefix = ""; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.1.orig.tar.gz"; - sha256 = "763693e5ea4e8d6a63b1a16c2aacd5fe0dc97abc687c8f0dde5840f77d549349"; + url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.gz"; + sha256 = "1hmi58knv7qjw6jr5m28sip5gwzavk87i3s77xk72anaxhvf4g8w"; }; buildInputs = [ pythonPackages.sphinx attr ]; diff --git a/pkgs/tools/backup/rsnapshot/default.nix b/pkgs/tools/backup/rsnapshot/default.nix index a9cba3f7dee..3da2fad21f2 100644 --- a/pkgs/tools/backup/rsnapshot/default.nix +++ b/pkgs/tools/backup/rsnapshot/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "rsnapshot-1.3.0"; src = fetchurl { - url = "mirrors://sourceforge/rsnapshot/${name}.tar.gz"; + url = "mirror://sourceforge/rsnapshot/${name}.tar.gz"; sha256 = "19p35ycm73a8vd4ccjpah18h5jagvcr11rqca6ya87sg8k0a5h9z"; }; diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix new file mode 100644 index 00000000000..bcf03356c68 --- /dev/null +++ b/pkgs/tools/backup/tarsnap/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, openssl, zlib, e2fsprogs }: + +stdenv.mkDerivation { + name = "tarsnap-1.0.33"; + + src = fetchurl { + url = "https://www.tarsnap.com/download/tarsnap-autoconf-1.0.33.tgz"; + sha256 = "0z8bmra3xms9vcgvkiy9fy1j97192z6w7n658j6zr5cniid8438c"; + }; + + buildInputs = [ openssl zlib e2fsprogs ]; + + meta = { + description = "Online backups for the truly paranoid"; + homepage = "http://www.tarsnap.com/"; + maintainers = with stdenv.lib.maintainers; [roconnor]; + }; +} diff --git a/pkgs/tools/bluetooth/obexd/default.nix b/pkgs/tools/bluetooth/obexd/default.nix index 215ecb167ba..47db0877dd2 100644 --- a/pkgs/tools/bluetooth/obexd/default.nix +++ b/pkgs/tools/bluetooth/obexd/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, pkgconfig, glib, dbus, openobex, bluez, libical }: stdenv.mkDerivation rec { - name = "obexd-0.40"; + name = "obexd-0.47"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${name}.tar.gz"; - sha256 = "0jz0ldg2wvdzzl639xzf76hqwj23svlg3zv1r8nc3hik3pgs6h2l"; + sha256 = "15zw008098qr5az9y1c010yv8gkw1f6hi3mnfcvpmwxwh23kfh4i"; }; buildInputs = [ glib dbus.libs openobex bluez libical ]; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; meta = { homepage = http://www.bluez.org/; diff --git a/pkgs/tools/compression/bzip2/builder.sh b/pkgs/tools/compression/bzip2/builder.sh index 4610bdd4085..a598dfcf808 100644 --- a/pkgs/tools/compression/bzip2/builder.sh +++ b/pkgs/tools/compression/bzip2/builder.sh @@ -10,7 +10,7 @@ if test -n "$sharedLibrary"; then preInstall() { mkdir -p $out/lib mv libbz2.so* $out/lib - ln -s libbz2.so.1.0 $out/lib/libbz2.so + (cd $out/lib && ln -s libbz2.so.1.0.? libbz2.so && ln -s libbz2.so.1.0.? libbz2.so.1); } fi diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index e1d6d75da51..d15b26f48b6 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -1,15 +1,13 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: -stdenv.mkDerivation (rec { - name = "gzip-1.4"; +stdenv.mkDerivation rec { + name = "gzip-1.5"; src = fetchurl { - url = "mirror://gnu/gzip/${name}.tar.gz"; - sha256 = "1vhiyzls60fws48scw48wvwn8mpv1f4yhcsnafys239qvb9wyrni"; + url = "mirror://gnu/gzip/${name}.tar.xz"; + sha256 = "0wx1nqk709kx75cwp2axachnbxryp4gyl06qxn5nl95184w0mhls"; }; - doCheck = true; - meta = { homepage = http://www.gnu.org/software/gzip/; description = "Gzip, the GNU zip compression program"; @@ -31,13 +29,3 @@ stdenv.mkDerivation (rec { maintainers = [ stdenv.lib.maintainers.ludo ]; }; } - -// - -{ - crossAttrs = - # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs. - (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") { - patches = [ ./gets-undeclared.patch ]; - }); -}) diff --git a/pkgs/tools/compression/gzip/gets-undeclared.patch b/pkgs/tools/compression/gzip/gets-undeclared.patch deleted file mode 100644 index a09f59b122a..00000000000 --- a/pkgs/tools/compression/gzip/gets-undeclared.patch +++ /dev/null @@ -1,26 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - -This is a backport of this patch: - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - ---- gzip/lib/stdio.in.h 2012-07-02 14:28:45.000000000 +0200 -+++ gzip/lib/stdio.in.h 2012-07-02 14:28:50.000000000 +0200 -@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not - "use gnulib module fflush for portable POSIX compliance"); - #endif - --/* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ --#undef gets --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -- - #if @GNULIB_FOPEN@ - # if @REPLACE_FOPEN@ - # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix new file mode 100644 index 00000000000..710c58029aa --- /dev/null +++ b/pkgs/tools/compression/lzip/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "lzip-1.14-rc3"; + + src = fetchurl { + url = "http://download.savannah.gnu.org/releases/lzip/${name}.tar.gz"; + sha256 = "040mmfadvhry68bv10baqi1bs8g5wwbf5rx0widyz69llpn64mw9"; + }; + + doCheck = true; + + meta = { + homepage = "http://www.nongnu.org/lzip/lzip.html"; + description = "a lossless data compressor based on the LZMA algorithm"; + license = stdenv.lib.licenses.gpl3Plus; + + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 78a8ed95a4e..6b74ba41eca 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "xz-5.0.3"; + name = "xz-5.0.4"; src = fetchurl { url = "http://tukaani.org/xz/${name}.tar.bz2"; - sha256 = "1sgaq4gdh8llz3gnlgvd65x610fwc8h4m32skhqn5npwgghvj4as"; + sha256 = "14nf55b47335aakswqk0kqv1qsh4269rnb757dmkkbd1sdhb1naw"; }; doCheck = true; diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-progs-Fix-the-receive-code-pathing.patch b/pkgs/tools/filesystems/btrfsprogs/btrfs-progs-Fix-the-receive-code-pathing.patch new file mode 100644 index 00000000000..6dd0639c607 --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-progs-Fix-the-receive-code-pathing.patch @@ -0,0 +1,146 @@ +diff --git a/cmds-receive.c b/cmds-receive.c +index a8be6fa..6b7cf12 100644 +--- a/cmds-receive.c ++++ b/cmds-receive.c +@@ -52,11 +52,13 @@ static int g_verbose = 0; + struct btrfs_receive + { + int mnt_fd; ++ int dest_dir_fd; + + int write_fd; + char *write_path; + + char *root_path; ++ char *dest_dir_path; /* relative to root_path */ + char *full_subvol_path; + + struct subvol_info *cur_subvol; +@@ -150,8 +152,11 @@ static int process_subvol(const char *path, const u8 *uuid, u64 ctransid, + r->cur_subvol = calloc(1, sizeof(*r->cur_subvol)); + r->parent_subvol = NULL; + +- r->cur_subvol->path = strdup(path); +- r->full_subvol_path = path_cat(r->root_path, path); ++ if (strlen(r->dest_dir_path) == 0) ++ r->cur_subvol->path = strdup(path); ++ else ++ r->cur_subvol->path = path_cat(r->dest_dir_path, path); ++ r->full_subvol_path = path_cat3(r->root_path, r->dest_dir_path, path); + + fprintf(stderr, "At subvol %s\n", path); + +@@ -167,7 +172,7 @@ static int process_subvol(const char *path, const u8 *uuid, u64 ctransid, + + memset(&args_v1, 0, sizeof(args_v1)); + strcpy(args_v1.name, path); +- ret = ioctl(r->mnt_fd, BTRFS_IOC_SUBVOL_CREATE, &args_v1); ++ ret = ioctl(r->dest_dir_fd, BTRFS_IOC_SUBVOL_CREATE, &args_v1); + if (ret < 0) { + ret = -errno; + fprintf(stderr, "ERROR: creating subvolume %s failed. " +@@ -195,8 +200,11 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid, + r->cur_subvol = calloc(1, sizeof(*r->cur_subvol)); + r->parent_subvol = NULL; + +- r->cur_subvol->path = strdup(path); +- r->full_subvol_path = path_cat(r->root_path, path); ++ if (strlen(r->dest_dir_path) == 0) ++ r->cur_subvol->path = strdup(path); ++ else ++ r->cur_subvol->path = path_cat(r->dest_dir_path, path); ++ r->full_subvol_path = path_cat3(r->root_path, r->dest_dir_path, path); + + fprintf(stderr, "At snapshot %s\n", path); + +@@ -243,7 +251,7 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid, + goto out; + } + +- ret = ioctl(r->mnt_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_v2); ++ ret = ioctl(r->dest_dir_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_v2); + close(args_v2.fd); + if (ret < 0) { + ret = -errno; +@@ -790,17 +798,48 @@ struct btrfs_send_ops send_ops = { + int do_receive(struct btrfs_receive *r, const char *tomnt, int r_fd) + { + int ret; ++ char *dest_dir_full_path; + int end = 0; + +- r->root_path = strdup(tomnt); +- r->mnt_fd = open(tomnt, O_RDONLY | O_NOATIME); ++ dest_dir_full_path = realpath(tomnt, NULL); ++ if (!dest_dir_full_path) { ++ ret = -errno; ++ fprintf(stderr, "ERROR: realpath(%s) failed. %s\n", tomnt, ++ strerror(-ret)); ++ goto out; ++ } ++ r->dest_dir_fd = open(dest_dir_full_path, O_RDONLY | O_NOATIME); ++ if (r->dest_dir_fd < 0) { ++ ret = -errno; ++ fprintf(stderr, "ERROR: failed to open destination directory %s. %s\n", ++ dest_dir_full_path, strerror(-ret)); ++ goto out; ++ } ++ ++ ret = find_mount_root(dest_dir_full_path, &r->root_path); ++ if (ret < 0) { ++ ret = -EINVAL; ++ fprintf(stderr, "ERROR: failed to determine mount point " ++ "for %s\n", dest_dir_full_path); ++ goto out; ++ } ++ r->mnt_fd = open(r->root_path, O_RDONLY | O_NOATIME); + if (r->mnt_fd < 0) { + ret = -errno; +- fprintf(stderr, "ERROR: failed to open %s. %s\n", tomnt, ++ fprintf(stderr, "ERROR: failed to open %s. %s\n", r->root_path, + strerror(-ret)); + goto out; + } + ++ /* ++ * find_mount_root returns a root_path that is a subpath of ++ * dest_dir_full_path. Now get the other part of root_path, ++ * which is the destination dir relative to root_path. ++ */ ++ r->dest_dir_path = dest_dir_full_path + strlen(r->root_path); ++ if (r->dest_dir_path[0] == '/') ++ r->dest_dir_path++; ++ + ret = subvol_uuid_search_init(r->mnt_fd, &r->sus); + if (ret < 0) + return ret; +diff --git a/cmds-send.c b/cmds-send.c +index 9b47e70..c408bc7 100644 +--- a/cmds-send.c ++++ b/cmds-send.c +@@ -81,6 +81,14 @@ int find_mount_root(const char *path, char **mount_root) + } + } + ++ if (!longest_match) { ++ fprintf(stderr, "ERROR: Failed to find mount root for path %s.\n", ++ path); ++ fprintf(stderr, "Please make sure that you have a valid \ ++ /etc/mtab file.\n"); ++ return -ENOENT; ++ } ++ + *mount_root = realpath(longest_match, NULL); + free(longest_match); + +diff --git a/send-utils.h b/send-utils.h +index da407eb..a3e038b 100644 +--- a/send-utils.h ++++ b/send-utils.h +@@ -65,5 +65,6 @@ void subvol_uuid_search_add(struct subvol_uuid_search *s, + char *path_cat(const char *p1, const char *p2); + char *path_cat3(const char *p1, const char *p2, const char *p3); + ++int find_mount_root(const char *path, char **mount_root); + + #endif /* SEND_UTILS_H_ */ diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-help-text.patch b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-help-text.patch new file mode 100644 index 00000000000..a9892cc780e --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-help-text.patch @@ -0,0 +1,13 @@ +diff --git a/cmds-receive.c b/cmds-receive.c +index a8be6fa..c182175 100644 +--- a/cmds-receive.c ++++ b/cmds-receive.c +@@ -880,7 +880,7 @@ static const char * const receive_cmd_group_usage[] = { + }; + + static const char * const cmd_receive_usage[] = { +- "btrfs receive [-v] [-i ] ", ++ "btrfs receive [-v] [-f ] ", + "Receive subvolumes from stdin.", + "Receives one or more subvolumes that were previously ", + "sent with btrfs send. The received subvolumes are stored", diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch new file mode 100644 index 00000000000..3abb1ba25d3 --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch @@ -0,0 +1,12 @@ +diff --git a/cmds-receive.c b/cmds-receive.c +index 6b7cf12..a6a6a5b 100644 +--- a/cmds-receive.c ++++ b/cmds-receive.c +@@ -731,7 +731,7 @@ static int process_chown(const char *path, u64 uid, u64 gid, void *user) + fprintf(stderr, "chown %s - uid=%llu, gid=%llu\n", path, + uid, gid); + +- ret = chown(full_path, uid, gid); ++ ret = lchown(full_path, uid, gid); + if (ret < 0) { + ret = -errno; diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c b/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c new file mode 100644 index 00000000000..483ec5f8415 --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c @@ -0,0 +1,109 @@ +/* +btrfs receive currently mandates that incremental receives can only be performed on a parent subvolume +that was also received. This means you cannot apply it to (snapshotted) subvolumes you still have on disk, +as they were not received themselves. + +This small utility allows you to set the received_uuid of a subvolume, tricking btrfs receive into using it. + +found on btrfs mailing list +read the discussion here: http://comments.gmane.org/gmane.comp.file-systems.btrfs/21922 +*/ + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ctree.h" +#include "ioctl.h" +#include "send-utils.h" + +#define CLEAR(var) memset(&var, 0, sizeof(var)) + + +int main(int argc, char **argv) { + int ret, fd; + struct subvol_uuid_search sus; + struct btrfs_ioctl_received_subvol_args rs_args; + struct subvol_info *si; + char uuidbuf[37], parent_uuidbuf[37], received_uuidbuf[37]; + + + if (argc != 3 && argc != 4) { + printf("usage: btrfs-set-received-uuid btrfs-mountpoint src-subvolume-path-relative-to-mountpoint [dest-absolute-subvolume-path]\n"); + exit(1); + } + + printf("opening srcmnt %s\n", argv[1]); + fd = open(argv[1], O_RDONLY | O_NOATIME); + if (fd < 0) { + printf("failed to open srcmnt %s! %s\n", argv[1], strerror(errno)); + exit(2); + } + + puts("initializing sub search"); + CLEAR(sus); + ret = subvol_uuid_search_init(fd, &sus); + if (ret < 0) { + printf("failed to initialize sub search! %s\n", strerror(-ret)); + exit(3); + } + + printf("searching srcsub %s\n", argv[2]); + si = subvol_uuid_search(&sus, 0, NULL, 0, argv[2], subvol_search_by_path); + if (!si) { + puts("srcsub not found!"); + exit(4); + } + + uuid_unparse(si->uuid, uuidbuf); + uuid_unparse(si->parent_uuid, parent_uuidbuf); + uuid_unparse(si->received_uuid, received_uuidbuf); + + printf("\nsrcsub found:\n" + " uuid=%s\n" + " parent_uuid=%s\n" + "received_uuid=%s\n" + "ctransid=%Lu otransid=%Lu stransid=%Lu rtransid=%Lu\n\n", + uuidbuf, parent_uuidbuf, received_uuidbuf, + (unsigned long long)(si->ctransid), + (unsigned long long)(si->otransid), + (unsigned long long)(si->stransid), + (unsigned long long)(si->rtransid)); + + if (argc == 3) + goto done; + + printf("opening dst subvol %s\n", argv[3]); + fd = open(argv[3], O_RDONLY | O_NOATIME); + if (fd < 0) { + printf("failed to open dst subvol %s. %s\n", argv[3], strerror(errno)); + exit(5); + } + + printf("\nhere we go with BTRFS_IOC_SET_RECEIVED_SUBVOL:\n" + "dstsub.received_uuid = srcsub.uuid == %s\n" + "dstsub.stransid = srcsub.ctransid == %Lu\n\n", + uuidbuf, (unsigned long long)(si->ctransid)); + + CLEAR(rs_args); + memcpy(rs_args.uuid, si->uuid, BTRFS_UUID_SIZE); + rs_args.stransid = si->ctransid; + + ret = ioctl(fd, BTRFS_IOC_SET_RECEIVED_SUBVOL, &rs_args); + if (ret < 0) { + printf("BTRFS_IOC_SET_RECEIVED_SUBVOL failed: %s", strerror(-ret)); + exit(6); + } + +done: + printf("done.\n"); + exit(0); +} diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 861bacd46c2..a42c6aa7a7e 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,18 +1,37 @@ { stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs }: -let version = "0.19-20120328"; in +let version = "0.20pre20121005"; in stdenv.mkDerivation { name = "btrfs-progs-${version}"; src = fetchgit { url = "git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git"; - rev = "1957076ab4fefa47b6efed3da541bc974c83eed7"; - sha256 = "566d863c5500652e999d0d6b823365fb06f2f8f9523e65e69eaa3e993e9b26e1"; + rev = "91d9eec1ff044394f2b98ee7fcb76713dd33b994"; + sha256 = "72d4cd4fb23d876a17146d6231ad40a2151fa47c648485c54cf7478239b43764"; }; + patches = [ + ./subvol-listing.patch + ./btrfs-receive-help-text.patch + ./btrfs-progs-Fix-the-receive-code-pathing.patch + ./btrfs-receive-lchown.patch + ]; + buildInputs = [ zlib libuuid acl attr e2fsprogs ]; + postPatch = '' + cp ${./btrfs-set-received-uuid.c} btrfs-set-received-uuid.c + ''; + + postBuild = '' + gcc -O2 -luuid -o btrfs-set-received-uuid send-utils.o rbtree.o btrfs-list.o btrfs-set-received-uuid.c + ''; + + postInstall = '' + cp btrfs-set-received-uuid $out/bin + ''; + makeFlags = "prefix=$(out)"; meta = { diff --git a/pkgs/tools/filesystems/btrfsprogs/subvol-listing.patch b/pkgs/tools/filesystems/btrfsprogs/subvol-listing.patch new file mode 100644 index 00000000000..1c113ddefbe --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/subvol-listing.patch @@ -0,0 +1,34 @@ +--- a/btrfs-list.c 2012-12-30 12:20:01.394137593 +0100 ++++ b/btrfs-list.c 2012-12-30 12:22:47.242452906 +0100 +@@ -1004,6 +1004,23 @@ + return 0; + } + ++static void __drop_deleting_roots(struct root_lookup *root_lookup) ++{ ++ struct rb_node *n; ++ ++again: ++ n = rb_first(&root_lookup->root); ++ while (n) { ++ struct root_info *entry = rb_entry(n, struct root_info, rb_node); ++ if (!entry->ref_tree) { ++ rb_erase(n, &root_lookup->root); ++ free(entry); ++ goto again; ++ } ++ n = rb_next(n); ++ } ++} ++ + static int __list_subvol_search(int fd, struct root_lookup *root_lookup) + { + int ret; +@@ -1123,6 +1140,8 @@ + break; + } + ++ __drop_deleting_roots(root_lookup); ++ + return 0; + } diff --git a/pkgs/tools/filesystems/davfs2/default.nix b/pkgs/tools/filesystems/davfs2/default.nix index 8cc212deee4..ce4421f9ca7 100644 --- a/pkgs/tools/filesystems/davfs2/default.nix +++ b/pkgs/tools/filesystems/davfs2/default.nix @@ -1,16 +1,21 @@ -{ stdenv, fetchurl, neon, zlib }: +{ stdenv, fetchurl, neon, zlib, noDavsUser ? false}: stdenv.mkDerivation rec { - name = "davfs2-1.4.5"; + name = "davfs2-1.4.7"; src = fetchurl { url = "mirror://savannah/davfs2/${name}.tar.gz"; - sha256 = "1pkl2braggp2qg4c68dwfv399l9jz7cvi7gkm4xbj6mgvl0cxw18"; + sha256 = "0i7hrwlfzisb4l2mza1kjj9q9xxixggjplsjm339zl7828mfxh2h"; }; + prePatch = stdenv.lib.optional noDavsUser '' + echo "dav_user root" >> etc/davfs2.conf + echo "dav_group root" >> etc/davfs2.conf + ''; + buildInputs = [ neon zlib ]; - - patches = [ ./davfs2-install.patch ./isdir.patch ]; + + patches = [ ./davfs2-install.patch ./isdir.patch ]; meta = { longDescription = "Web Distributed Authoring and Versioning (WebDAV), an extension to the HTTP-protocol, allows authoring of resources on a remote web server. davfs2 provides the ability to access such resources like a typical filesystem, allowing for use by standard applications with no built-in support for WebDAV."; diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix index 21e2ceea9dd..b0ee47e23b5 100644 --- a/pkgs/tools/filesystems/dosfstools/default.nix +++ b/pkgs/tools/filesystems/dosfstools/default.nix @@ -4,7 +4,10 @@ stdenv.mkDerivation rec { name = "dosfstools-3.0.11"; src = fetchurl { - url = "http://www.daniel-baumann.ch/software/dosfstools/${name}.tar.bz2"; + urls = [ + "http://www.daniel-baumann.ch/software/dosfstools/${name}.tar.bz2" + "http://pkgs.fedoraproject.org/repo/pkgs/dosfstools/${name}.tar.bz2/8d2211d5bd813164e20740e7c852aa06/${name}.tar.bz2" + ]; sha256 = "1a6rzjy82f6579ywaln33g1wc7k8gbgjdss9q2q8daplac7pmcll"; }; diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index bd697d761e0..4f4d235008b 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libuuid }: stdenv.mkDerivation rec { - name = "e2fsprogs-1.42.4"; + name = "e2fsprogs-1.42.5"; src = fetchurl { url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz"; - sha256 = "0plhvcjynyy5ifih5jr8p2fjymqyl8fj6vj74cmqjyrahi3z6iir"; + sha256 = "1kki3367961377wz2n6kva8q0wjjk6qhxmhp2dp3ar3lxgcamvbn"; }; buildInputs = [ pkgconfig libuuid ]; @@ -20,9 +20,9 @@ stdenv.mkDerivation rec { configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck"; preInstall = "installFlagsArray=('LN=ln -s')"; - + postInstall = "make install-libs"; - + meta = { homepage = http://e2fsprogs.sourceforge.net/; description = "Tools for creating and checking ext2/ext3/ext4 filesystems"; diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 3995faa588b..7cae84a19c7 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -1,28 +1,36 @@ -a : +{stdenv, fetchurl, fuse, bison, flex, openssl, python, ncurses, readline}: let - s = import ./src-for-default.nix; - buildInputs = with a; [ - fuse bison flex + s = # Generated upstream information + rec { + baseName="glusterfs"; + version="3.3.1"; + name="glusterfs-3.3.1"; + hash="06bmnyl3vh8s21kk98idm2fl7kq38na94k5l67l9l1grl3iyzahr"; + url="http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/glusterfs-3.3.1.tar.gz"; + sha256="06bmnyl3vh8s21kk98idm2fl7kq38na94k5l67l9l1grl3iyzahr"; + }; + buildInputs = [ + fuse bison flex openssl python ncurses readline ]; in +stdenv.mkDerivation rec { - src = a.fetchUrlFromSrcInfo s; - - inherit (s) name; + inherit (s) name version; inherit buildInputs; configureFlags = [ ''--with-mountutildir="$out/sbin"'' ]; + src = fetchurl { + inherit (s) url sha256; + }; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - meta = { + inherit (s) version; description = "Distributed storage system"; maintainers = [ - a.lib.maintainers.raskin + stdenv.lib.maintainers.raskin ]; - platforms = with a.lib.platforms; + platforms = with stdenv.lib.platforms; linux ++ freebsd; }; } diff --git a/pkgs/tools/filesystems/glusterfs/default.upstream b/pkgs/tools/filesystems/glusterfs/default.upstream new file mode 100644 index 00000000000..7c86455b440 --- /dev/null +++ b/pkgs/tools/filesystems/glusterfs/default.upstream @@ -0,0 +1,4 @@ +url http://download.gluster.org/pub/gluster/glusterfs/ +version_link '[0-9.]+/$' +version_link '[0-9.]+/$' +version_link '[.]tar[.]' diff --git a/pkgs/tools/filesystems/glusterfs/src-for-default.nix b/pkgs/tools/filesystems/glusterfs/src-for-default.nix deleted file mode 100644 index eeda32796f5..00000000000 --- a/pkgs/tools/filesystems/glusterfs/src-for-default.nix +++ /dev/null @@ -1,8 +0,0 @@ -rec { - advertisedUrl="http://ftp.gluster.com/pub/gluster/glusterfs/2.0/2.0.6/glusterfs-2.0.6.tar.gz"; - version = "2.0.6"; - url="http://ftp.gluster.com/pub/gluster/glusterfs/2.0/2.0.6/glusterfs-2.0.6.tar.gz"; - hash = "0qr8smwncrr63vzbaf2v4fwpdck3jpgywn2rq8sdhifff67ydc9h"; - name = "glusterfs-2.0.6"; - -} diff --git a/pkgs/tools/filesystems/glusterfs/src-info-for-default.nix b/pkgs/tools/filesystems/glusterfs/src-info-for-default.nix deleted file mode 100644 index 273ee4512e1..00000000000 --- a/pkgs/tools/filesystems/glusterfs/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://ftp.gluster.com/pub/gluster/glusterfs/2.0/"; - sourceRegexp = "^2[.]0[.]"; - choiceCommand = ''tail -1 | sed -re 's@(.*)/@&glusterfs-\1.tar.gz@' ''; - baseName = "glusterfs"; -} diff --git a/pkgs/tools/filesystems/jfsutils/default.nix b/pkgs/tools/filesystems/jfsutils/default.nix index 79a9fad0e79..9712721021e 100644 --- a/pkgs/tools/filesystems/jfsutils/default.nix +++ b/pkgs/tools/filesystems/jfsutils/default.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl, libuuid }: stdenv.mkDerivation rec { - name = "jfsutils-1.1.12"; + name = "jfsutils-1.1.15"; src = fetchurl { url = "http://jfs.sourceforge.net/project/pub/${name}.tar.gz"; - sha256 = "04vqdlg90j0mk5jkxpfg9fp6ss4gs1g5pappgns6183q3i6j02hd"; + sha1 = "291e8bd9d615cf3d27e4000117c81a3602484a50"; }; + patches = [ ./types.patch ]; + buildInputs = [ libuuid ]; meta = { diff --git a/pkgs/tools/filesystems/jfsutils/types.patch b/pkgs/tools/filesystems/jfsutils/types.patch new file mode 100644 index 00000000000..a682f2695f9 --- /dev/null +++ b/pkgs/tools/filesystems/jfsutils/types.patch @@ -0,0 +1,12 @@ +diff -ru -x '*~' jfsutils-1.1.15-orig/libfs/devices.h jfsutils-1.1.15/libfs/devices.h +--- jfsutils-1.1.15-orig/libfs/devices.h 2005-11-22 21:43:55.000000000 +0100 ++++ jfsutils-1.1.15/libfs/devices.h 2013-01-28 13:58:56.888630278 +0100 +@@ -18,6 +18,8 @@ + #ifndef H_DEVICES + #define H_DEVICES + ++#include ++ + #define GET 0 + #define PUT 1 + #define VRFY 2 diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix index 9e7e3a16e01..4cb09d53adc 100644 --- a/pkgs/tools/filesystems/mtdutils/default.nix +++ b/pkgs/tools/filesystems/mtdutils/default.nix @@ -1,22 +1,19 @@ {stdenv, fetchgit, libuuid, lzo, zlib, acl}: let - version = "1.3.1"; + version = "1.5.0"; in stdenv.mkDerivation { name = "mtd-utils-${version}"; src = fetchgit { url = git://git.infradead.org/mtd-utils.git; - rev = "v" + version; - sha256 = "0pjjs9x03bgvphqwlw99c2cpkpjsx0vkqi79vjl7fcb9pyrghgd1"; + rev = "refs/tags/v" + version; + sha256 = "cc645c0ec28083431b11f3b38f9f7759378d89e11047a883529f703e1b6c1cce"; }; patchPhase = '' sed -i -e s,/usr/local,, -e s,/usr,$out, common.mk - - # gcc 4.5.1 issues a warning where 4.4.3 did not - sed -i -e s/-Werror// ubi-utils/old-utils/Makefile ''; buildInputs = [ libuuid lzo zlib acl ]; diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix index cedb8df39d1..a306a424ee1 100644 --- a/pkgs/tools/filesystems/ntfs-3g/default.nix +++ b/pkgs/tools/filesystems/ntfs-3g/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; buildInputs = [libuuid] ++ stdenv.lib.optionals crypto [gnutls libgcrypt]; - buildNativeInputs = stdenv.lib.optional crypto pkgconfig; + nativeBuildInputs = stdenv.lib.optional crypto pkgconfig; src = fetchurl { url = "http://tuxera.com/opensource/${name}.tgz"; diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix index 2283a0c1746..2c14bc624ae 100644 --- a/pkgs/tools/filesystems/reiserfsprogs/default.nix +++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "reiserfsprogs-3.6.21"; src = fetchurl { - url = "mirror://kernel/linux/utils/fs/reiserfs/${name}.tar.bz2"; + url = "http://ftp.be.debian.org/pub/linux/utils/fs/reiserfs/${name}.tar.bz2"; sha256 = "19mqzhh6jsf2gh8zr5scqi9pyk1fwivrxncd11rqnp2148c58jam"; }; diff --git a/pkgs/tools/filesystems/unionfs-fuse/default.nix b/pkgs/tools/filesystems/unionfs-fuse/default.nix new file mode 100644 index 00000000000..43d7a5a8d18 --- /dev/null +++ b/pkgs/tools/filesystems/unionfs-fuse/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, cmake, fuse }: + +stdenv.mkDerivation rec { + name = "unionfs-fuse-0.26"; + + src = fetchurl { + url = "http://podgorny.cz/unionfs-fuse/releases/${name}.tar.xz"; + + sha256 = "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d"; + }; + + buildInputs = [ cmake fuse ]; + + meta = { + description = "FUSE UnionFS implementation"; + homepage = http://podgorny.cz/moin/UnionFsFuse; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix index 98657891f2d..6d1f863fdea 100644 --- a/pkgs/tools/filesystems/xtreemfs/default.nix +++ b/pkgs/tools/filesystems/xtreemfs/default.nix @@ -11,10 +11,10 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="XtreemFS"; - version="1.3.0"; + version="1.4"; name="${baseName}-${version}"; url="http://xtreemfs.googlecode.com/files/${name}.tar.gz"; - hash="15rg3dh22kb2g94fmbb6r32a9qfl3yr4ql17rwj50l4y8wrcx0hf"; + hash="1hzd6anplxdcl4cg6xwriqk9b34541r7ah1ab2xavv149a2ll25s"; }; in rec { diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix new file mode 100644 index 00000000000..934a27ef25b --- /dev/null +++ b/pkgs/tools/graphics/argyllcms/default.nix @@ -0,0 +1,85 @@ +{ stdenv, fetchurl, jam, unzip, libX11, libXxf86vm, libXrandr, libXinerama +, libXrender, libXext, libtiff, libjpeg, libXScrnSaver, writeText +, libXdmcp, libXau, lib }: + +stdenv.mkDerivation rec { + name = "argyllcms-1.4.0"; + + src = fetchurl { + url = "http://www.argyllcms.com/Argyll_V1.4.0_src.zip"; + sha256 = "1a5i0972cjp6asmawmyzih2y4bv3i0qvf7p6z5lxnr199mq38cfk"; + }; + + # The contents of this file comes from the Jamtop file from the + # root of the ArgyllCMS distribution, rewritten to pick up Nixpkgs + # library paths. When ArgyllCMS is updated, make sure that changes + # in that file is reflected here. + jamTop = writeText "argyllcms_jamtop" '' + DESTDIR = "/" ; + REFSUBDIR = "ref" ; + + # Keep this DESTDIR anchored to Jamtop. PREFIX is used literally + ANCHORED_PATH_VARS = DESTDIR ; + + # Tell standalone libraries that they are part of Argyll: + DEFINES += ARGYLLCMS ; + + # Use libusb1 rather than libusb0 & libusb0-win32 + USE_LIBUSB1 = true ; + + # Make the USB V1 library static + LIBUSB_IS_DLL = false ; + + # Set the libubs1 library name. + LIBUSB1NAME = libusb-1A ; + + JPEGLIB = ; + JPEGINC = ; + HAVE_JPEG = true ; + + TIFFLIB = ; + TIFFINC = ; + HAVE_TIFF = true ; + + LINKFLAGS += + ${lib.concatStringsSep " " (map (x: "-L${x}/lib") buildInputs)} + -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss + -ljpeg -ltiff ; + ''; + + nativeBuildInputs = [ jam unzip ]; + + preConfigure = '' + cp ${jamTop} Jamtop + substituteInPlace Makefile --replace "-j 3" "-j $NIX_BUILD_CORES" + # Remove tiff and jpg to be sure the nixpkgs-provided ones are used + rm -rf tiff jpg + ''; + + buildInputs = [ + libtiff libjpeg libX11 libXxf86vm libXrandr libXinerama libXext + libXrender libXScrnSaver libXdmcp libXau + ]; + + buildFlags = "PREFIX=$(out) all"; + + installFlags = "PREFIX=$(out)"; + + # Install udev rules, but remove lines that set up the udev-acl and plugdev + # stuff, since that is handled by udev's own rules (70-udev-acl.rules) + postInstall = '' + rm -v $out/bin/License.txt + mkdir -p $out/etc/udev/rules.d + sed -i '/udev-acl/d' libusb1/55-Argyll.rules + sed -i '/plugdev/d' libusb1/55-Argyll.rules + cp -v libusb1/55-Argyll.rules $out/etc/udev/rules.d/ + ''; + + meta = with stdenv.lib; { + homepage = http://www.argyllcms.com; + description = "An ICC compatible color management system"; + license = licenses.gpl3; + maintainers = [ maintainers.rickynils ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index bdde709c2c2..e32a3901a92 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -3,12 +3,20 @@ a @ { boehmgc,mesa,ncurses,readline,gsl,libsigsegv, python,zlib, perl, texLive, texinfo, lzma, - noDepEntry, fullDepEntry, fetchUrlFromSrcInfo, + noDepEntry, fullDepEntry, fetchUrlFromSrcInfo, lib, ...}: -let - s = import ./src-for-default.nix; +let + s = # Generated upstream information + rec { + baseName="asymptote"; + version="2.21"; + name="asymptote-2.21"; + hash="07lkj0xnxpanfscmbm30lw6j9484rlmmqpnl0mhs7nx9h2lczrjz"; + url="mirror://sourceforge/project/asymptote/2.21/asymptote-2.21.src.tgz"; + sha256="07lkj0xnxpanfscmbm30lw6j9484rlmmqpnl0mhs7nx9h2lczrjz"; + }; buildInputs = with a; [ freeglut ghostscriptX imagemagick fftw boehmgc mesa ncurses readline gsl libsigsegv python zlib @@ -51,11 +59,13 @@ rec { '' ["minInit" "addInputs" "doUnpack"]; meta = { + inherit (s) version; description = "A tool for programming graphics intended to replace Metapost"; maintainers = [ a.lib.maintainers.raskin + a.lib.maintainers.simons ]; - platforms = with a.lib.platforms; + platforms = with a.lib.platforms; linux; }; } diff --git a/pkgs/tools/graphics/asymptote/default.upstream b/pkgs/tools/graphics/asymptote/default.upstream new file mode 100644 index 00000000000..3739390fd1d --- /dev/null +++ b/pkgs/tools/graphics/asymptote/default.upstream @@ -0,0 +1,4 @@ +url http://sourceforge.net/projects/asymptote/files/ +SF_version_dir +version_link 'src[.]tgz/download$' +SF_redirect diff --git a/pkgs/tools/graphics/asymptote/src-for-default.nix b/pkgs/tools/graphics/asymptote/src-for-default.nix deleted file mode 100644 index e9d822904af..00000000000 --- a/pkgs/tools/graphics/asymptote/src-for-default.nix +++ /dev/null @@ -1,7 +0,0 @@ -rec { - version="2.16"; - name="asymptote-2.16"; - hash="1yj8dx320s1ypqbpb2116y4kkc8lwg5q4d49n992ds3g59w98djj"; - url="http://downloads.sourceforge.net/project/asymptote/${version}/asymptote-${version}.src.tgz"; - advertisedUrl="http://downloads.sourceforge.net/project/asymptote/2.16/asymptote-2.16.src.tgz"; -} diff --git a/pkgs/tools/graphics/asymptote/src-info-for-default.nix b/pkgs/tools/graphics/asymptote/src-info-for-default.nix deleted file mode 100644 index dbfd064f51a..00000000000 --- a/pkgs/tools/graphics/asymptote/src-info-for-default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - downloadPage = "http://sourceforge.net/projects/asymptote/files/"; - baseName = "asymptote"; - sourceRegexp = ".*[.]src[.]tgz"; - versionExtractorSedScript = ''$extractReleaseSF''; - versionReferenceCreator = ''$(replaceAllVersionOccurences)''; - choiceCommand = ''head -1 | sed -re "$skipRedirectSF"''; -} diff --git a/pkgs/tools/graphics/cfdg/default.nix b/pkgs/tools/graphics/cfdg/default.nix index 26df8818b2b..9376ad6a709 100644 --- a/pkgs/tools/graphics/cfdg/default.nix +++ b/pkgs/tools/graphics/cfdg/default.nix @@ -1,8 +1,8 @@ -a @ {libpng, bison, flex, fullDepEntry, ...} : +a @ {libpng, bison, flex, ffmpeg, fullDepEntry, ...} : let s = import ./src-for-default.nix; buildInputs = with a; [ - libpng bison flex + libpng bison flex ffmpeg ]; in rec { @@ -13,8 +13,12 @@ rec { configureFlags = []; /* doConfigure should be removed if not needed */ - phaseNames = ["doMake" "copyFiles"]; - + phaseNames = ["doFixInc" "doMake" "copyFiles"]; + + doFixInc = a.fullDepEntry '' + sed -e "/YY_NO_UNISTD/a#include " -i src-common/cfdg.l + '' ["doUnpack" "minInit"]; + copyFiles = a.fullDepEntry '' mkdir -p $out/bin cp cfdg $out/bin/ diff --git a/pkgs/tools/graphics/cfdg/src-for-default.nix b/pkgs/tools/graphics/cfdg/src-for-default.nix index 6ad1394650e..179f0432dd1 100644 --- a/pkgs/tools/graphics/cfdg/src-for-default.nix +++ b/pkgs/tools/graphics/cfdg/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="2.2.1"; - name="cfdg-2.2.1"; - hash="1zf3cls5h4fnhdxhdkdwsm4pav6df1ljr9jwp26dbqa4z2q3r8p4"; - url="http://www.contextfreeart.org/download/ContextFreeSource2.2.1.tgz"; - advertisedUrl="http://www.contextfreeart.org/download/ContextFreeSource2.2.1.tgz"; + version="3.0.2"; + name="cfdg-3.0.2"; + hash="1pd1hjippbhad8l4s4lsglykh22i24qfrgmnxrsx71bvcqbr356p"; + url="http://www.contextfreeart.org/download/ContextFreeSource3.0.2.tgz"; + advertisedUrl="http://www.contextfreeart.org/download/ContextFreeSource3.0.2.tgz"; } diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix index 13f7d4b7f6f..3c75af4bcf3 100644 --- a/pkgs/tools/graphics/cuneiform/default.nix +++ b/pkgs/tools/graphics/cuneiform/default.nix @@ -2,15 +2,15 @@ a : let fetchurl = a.fetchurl; - version = a.lib.attrByPath ["version"] "1.0" a; + version = "1.1.0"; buildInputs = with a; [ cmake imagemagick patchelf ]; in rec { src = fetchurl { - url = "http://launchpad.net/cuneiform-linux/${version}/${version}/+download/cuneiform-linux-${version}.0.tar.bz2"; - sha256 = "bfa7acc6aade966ab62bc0f19e0ac1a843b659a70202229570c087ca8b15f39e"; + url = "https://launchpad.net/cuneiform-linux/1.1/1.1/+download/cuneiform-linux-1.1.0.tar.bz2"; + sha256 = "1bdvppyfx2184zmzcylskd87cxv56d8f32jf7g1qc8779l2hszjp"; }; inherit buildInputs; diff --git a/pkgs/tools/graphics/cuneiform/default.upstream b/pkgs/tools/graphics/cuneiform/default.upstream new file mode 100644 index 00000000000..4fb85a2a1e8 --- /dev/null +++ b/pkgs/tools/graphics/cuneiform/default.upstream @@ -0,0 +1,8 @@ +url https://launchpad.net/cuneiform-linux/+download + +do_overwrite () { + ensure_hash + set_var_value version "$CURRENT_VERSION" + set_var_value sha256 "$CURRENT_HASH" + set_var_value ' url' "$CURRENT_URL" +} diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix index f1759d7a782..b77d63d510d 100644 --- a/pkgs/tools/graphics/enblend-enfuse/default.nix +++ b/pkgs/tools/graphics/enblend-enfuse/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [ libtiff libpng lcms libxmi boost mesa freeglut glew ]; - buildNativeInputs = [ perl pkgconfig ]; + nativeBuildInputs = [ perl pkgconfig ]; patches = let diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index ce564e8de4f..5ef6db7ae47 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, gd, texinfo +{ stdenv, fetchurl, zlib, gd, texinfo, makeWrapper , texLive ? null , lua ? null , emacs ? null @@ -11,25 +11,36 @@ , cairo ? null , pkgconfig ? null , readline +, fontconfig ? null, gnused ? null, coreutils ? null }: +assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null); + stdenv.mkDerivation rec { name = "gnuplot-4.4.4"; - + src = fetchurl { url = "mirror://sourceforge/gnuplot/${name}.tar.gz"; sha256 = "1zfv3npsxfn743wl65ibh11djxrc8fxzi2mgg75ppy6m12fmja6j"; }; - configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"]; - buildInputs = [ zlib gd texinfo readline emacs lua texLive libX11 libXt libXpm libXaw - wxGTK pango cairo pkgconfig + wxGTK pango cairo pkgconfig makeWrapper ]; + configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"]; + + postInstall = stdenv.lib.optionalString (libX11 != null) '' + wrapProgram $out/bin/gnuplot \ + --prefix PATH : '${gnused}/bin' \ + --prefix PATH : '${coreutils}/bin' \ + --prefix PATH : '${fontconfig}/bin' \ + --run '. ${./set-gdfontpath-from-fontconfig.sh}' + ''; + meta = { - homepage = http://www.gnuplot.info; + homepage = "http://www.gnuplot.info"; description = "A portable command-line driven graphing utility for many platforms"; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/tools/graphics/gnuplot/set-gdfontpath-from-fontconfig.sh b/pkgs/tools/graphics/gnuplot/set-gdfontpath-from-fontconfig.sh new file mode 100644 index 00000000000..4886b4f2b7c --- /dev/null +++ b/pkgs/tools/graphics/gnuplot/set-gdfontpath-from-fontconfig.sh @@ -0,0 +1,4 @@ +p=( $(for n in $(fc-list | sed -r -e 's|^([^:]+):.*$|\1|'); do echo $(dirname "$n"); done | sort | uniq) ) +IFS=: +export GDFONTPATH="${GDFONTPATH}${GDFONTPATH:+:}${p[*]}" +unset IFS p diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index 4edec43e243..96ae324b01f 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libpng, libjpeg, expat, libXaw -, yacc, libtool, fontconfig, pango, gd, xlibs, gts +, yacc, libtool, fontconfig, pango, gd, xlibs, gts, gettext }: stdenv.mkDerivation rec { @@ -13,7 +13,10 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libpng libjpeg expat libXaw yacc libtool fontconfig pango gd gts - ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ]; + ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ] + ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext; + + patches = [ ./fix-broken-memcp-signature.patch ]; configureFlags = [ "--with-pngincludedir=${libpng}/include" diff --git a/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch b/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch new file mode 100644 index 00000000000..e93728d4850 --- /dev/null +++ b/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch @@ -0,0 +1,15 @@ +diff -ubr graphviz-2.28.0-orig/lib/cdt/cdt.h graphviz-2.28.0-new/lib/cdt/cdt.h +--- graphviz-2.28.0-orig/lib/cdt/cdt.h 2012-11-11 20:05:55.674397100 +0100 ++++ graphviz-2.28.0-new/lib/cdt/cdt.h 2012-11-11 20:06:28.069511092 +0100 +@@ -238,11 +238,6 @@ + extern int dtstat _ARG_((Dt_t*, Dtstat_t*, int)); + extern unsigned int dtstrhash _ARG_((unsigned int, Void_t*, int)); + +-#if !_PACKAGE_ast +-extern int memcmp _ARG_((const Void_t*, const Void_t*, size_t)); +-extern int strcmp _ARG_((const char*, const char*)); +-#endif +- + #undef extern + _END_EXTERNS_ + diff --git a/pkgs/tools/graphics/jbig2enc/default.nix b/pkgs/tools/graphics/jbig2enc/default.nix new file mode 100644 index 00000000000..60704d6300c --- /dev/null +++ b/pkgs/tools/graphics/jbig2enc/default.nix @@ -0,0 +1,19 @@ +{stdenv, fetchurl, leptonica, zlib, libwebp, giflib, libjpeg, libpng, libtiff }: stdenv.mkDerivation { + name = "jbig2enc-0.28"; + + src = fetchurl { + url = http://github.com/agl/jbig2enc/archive/0.28-dist.tar.gz; + sha256 = "1wc0lmqz4jag3rhhk1xczlqpfv2qqp3fz7wzic2lba3vsbi1rrw3"; + }; + + propagatedBuildInputs = [ leptonica zlib libwebp giflib libjpeg libpng libtiff ]; + + # This is necessary, because the resulting library has + # /tmp/nix-build-jbig2enc/src/.libs before /nix/store/jbig2enc/lib + # in its rpath, which means that patchelf --shrink-rpath removes + # the /nix/store one. By cleaning up before fixup, we ensure that + # the /tmp/nix-build-jbig2enc/src/.libs directory is gone. + preFixup = '' + make clean + ''; +} diff --git a/pkgs/tools/graphics/mscgen/default.nix b/pkgs/tools/graphics/mscgen/default.nix index 63e6afaa803..ed69327b752 100644 --- a/pkgs/tools/graphics/mscgen/default.nix +++ b/pkgs/tools/graphics/mscgen/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { name = "mscgen-${version}"; src = fetchurl { - url = "www.mcternan.me.uk/mscgen/software/mscgen-src-${version}.tar.gz"; + url = "http://www.mcternan.me.uk/mscgen/software/mscgen-src-${version}.tar.gz"; sha256 = "3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23"; }; @@ -19,8 +19,8 @@ stdenv.mkDerivation { ''; meta = { - homepage = "http://www.mcternan.me.uk/mscgen/"; - description = "convert Message Sequence Chart descriptions into PNG, SVG, or EPS images"; + homepage = http://www.mcternan.me.uk/mscgen/; + description = "Convert Message Sequence Chart descriptions into PNG, SVG, or EPS images"; license = "GPLv2"; longDescription = '' diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix index 0c829eab130..9b0a83725ea 100644 --- a/pkgs/tools/graphics/pfstools/default.nix +++ b/pkgs/tools/graphics/pfstools/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ libtiff openexr imagemagick libjpeg qt4 mesa freeglut bzip2 libX11 libpng expat ]; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; meta = { homepage = http://pfstools.sourceforge.net/; diff --git a/pkgs/tools/graphics/plotutils/debian-patches.nix b/pkgs/tools/graphics/plotutils/debian-patches.nix index d72974445e6..0615d1f52e1 100644 --- a/pkgs/tools/graphics/plotutils/debian-patches.nix +++ b/pkgs/tools/graphics/plotutils/debian-patches.nix @@ -1,6 +1,6 @@ # Generated by debian-patches.sh from debian-patches.txt let - prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-2"; + prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-3"; in [ { diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix index 7293c0db66d..60301b9b164 100644 --- a/pkgs/tools/graphics/pngcrush/default.nix +++ b/pkgs/tools/graphics/pngcrush/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libpng }: stdenv.mkDerivation rec { - name = "pngcrush-1.7.22"; + name = "pngcrush-1.7.50"; src = fetchurl { url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz"; - sha256 = "1sngz34cssni4j7hvqhq5ms6h4ydb3b0s5y7fidv3kjms9g1xcsp"; + sha256 = "1xabqjgvwsyazs0hw7bzzm256zbd7v33alwzp0lbawm521m3m651"; }; configurePhase = '' diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix index 866b121f76b..3b83a18fd36 100644 --- a/pkgs/tools/graphics/qrencode/default.nix +++ b/pkgs/tools/graphics/qrencode/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ libpng ]; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; meta = { homepage = http://fukuchi.org/works/qrencode/; diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix new file mode 100644 index 00000000000..ac60cd6134f --- /dev/null +++ b/pkgs/tools/inputmethods/fcitx/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, pkgconfig, cmake, intltool, gettext +, libxml2, enchant, isocodes, icu, libpthreadstubs +, pango, cairo, libxkbfile, xorg +}: + +stdenv.mkDerivation rec { + name = "fcitx-4.2.7"; + src = fetchurl { + url = "https://fcitx.googlecode.com/files/${name}_dict.tar.xz"; + sha256 = "1dfvr77j9vnlg76155clrjxnm59r5fzv0d3n6c6yn10zb0bjd40c"; + }; + + buildInputs = [ + cmake enchant pango gettext libxml2 isocodes pkgconfig libxkbfile + intltool cairo icu libpthreadstubs xorg.libXau xorg.libXdmcp + ]; + + cmakeFlags = '' + -DENABLE_DBUS=OFF + -DENABLE_QT=OFF + -DENABLE_QT_IM_MODULE=OFF + -DENABLE_OPENCC=OFF + -DENABLE_PRESAGE=OFF + -DENABLE_XDGAUTOSTART=OFF + ''; + + meta = { + homepage = "https://code.google.com/p/fcitx/"; + description = "A Flexible Input Method Framework"; + license = "GPLv2"; + }; +} diff --git a/pkgs/tools/misc/coreutils-5/default.nix b/pkgs/tools/misc/coreutils-5/default.nix deleted file mode 100644 index de1ff1c4a90..00000000000 --- a/pkgs/tools/misc/coreutils-5/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{stdenv, fetchurl, perl ? null}: - -stdenv.mkDerivation { - name = "coreutils-5.97"; - src = fetchurl { - url = http://nixos.org/tarballs/coreutils-5.97.tar.gz; - md5 = "bdec4b75c76ac9bf51b6dd1747d3b06e"; - }; - patches = [./dietlibc.patch]; -} diff --git a/pkgs/tools/misc/coreutils-5/dietlibc.patch b/pkgs/tools/misc/coreutils-5/dietlibc.patch deleted file mode 100644 index 232737c2f35..00000000000 --- a/pkgs/tools/misc/coreutils-5/dietlibc.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -rc coreutils-5.97-orig/lib/strftime.c coreutils-5.97/lib/strftime.c -*** coreutils-5.97-orig/lib/strftime.c 2006-10-18 17:10:16.000000000 +0200 ---- coreutils-5.97/lib/strftime.c 2006-10-18 17:19:10.000000000 +0200 -*************** -*** 180,185 **** ---- 180,191 ---- - # define memset_zero(P, Len) (memset (P, '0', Len), (P) += (Len)) - #endif - -+ #if FPRINTFTIME -+ #define advance(p, _n) ; -+ #else -+ #define advance(p, _n) p += _n; -+ #endif -+ - #define add(n, f) \ - do \ - { \ -*************** -*** 198,204 **** - memset_space (p, _delta); \ - } \ - f; \ -! p += FPRINTFTIME ? 0 : _n; \ - } \ - i += _incr; \ - } while (0) ---- 204,210 ---- - memset_space (p, _delta); \ - } \ - f; \ -! advance(p, _n); \ - } \ - i += _incr; \ - } while (0) diff --git a/pkgs/tools/misc/coreutils/8.19.nix b/pkgs/tools/misc/coreutils/8.19.nix new file mode 100644 index 00000000000..f3bee551960 --- /dev/null +++ b/pkgs/tools/misc/coreutils/8.19.nix @@ -0,0 +1,70 @@ +{ stdenv, fetchurl, perl, gmp ? null +, aclSupport ? false, acl ? null +, selinuxSupport? false, libselinux ? null, libsepol ? null +}: + +assert aclSupport -> acl != null; +assert selinuxSupport -> libselinux != null && libsepol != null; + +stdenv.mkDerivation rec { + name = "coreutils-8.19"; + + src = fetchurl { + url = "mirror://gnu/coreutils/${name}.tar.xz"; + sha256 = "1rx9x3fp848w4nny7irdkcpkan9fcx24d99v5dkwgkyq7wc76f5d"; + }; + + nativeBuildInputs = [ perl ]; + buildInputs = [ gmp ] + ++ stdenv.lib.optional aclSupport acl + ++ stdenv.lib.optional selinuxSupport libselinux + ++ stdenv.lib.optional selinuxSupport libsepol; + + crossAttrs = ({ + buildInputs = [ gmp ] + ++ stdenv.lib.optional aclSupport acl.crossDrv + ++ stdenv.lib.optional selinuxSupport libselinux.crossDrv + ++ stdenv.lib.optional selinuxSupport libsepol.crossDrv + ++ stdenv.lib.optional (stdenv.gccCross.libc ? libiconv) + stdenv.gccCross.libc.libiconv.crossDrv; + + # Needed for fstatfs() + # I don't know why it is not properly detected cross building with glibc. + configureFlags = [ "fu_cv_sys_stat_statfs2_bsize=yes" ]; + doCheck = false; + } + + // + + # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs. + (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") { + patches = [ ./gets-undeclared.patch ]; + })); + + # The tests are known broken on Cygwin + # (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025), + # Darwin (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19351), + # and {Open,Free}BSD. + doCheck = stdenv ? glibc; + + enableParallelBuilding = true; + + NIX_LDFLAGS = stdenv.lib.optionalString selinuxSupport "-lsepol"; + + meta = { + homepage = http://www.gnu.org/software/coreutils/; + description = "The basic file, shell and text manipulation utilities of the GNU operating system"; + + longDescription = '' + The GNU Core Utilities are the basic file, shell and text + manipulation utilities of the GNU operating system. These are + the core utilities which are expected to exist on every + operating system. + ''; + + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} + diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 9d9ea52f3f5..9fd1d86ff82 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -4,17 +4,17 @@ }: assert aclSupport -> acl != null; -assert selinuxSupport -> ( (libselinux != null) && (libsepol != null) ); +assert selinuxSupport -> libselinux != null && libsepol != null; stdenv.mkDerivation rec { - name = "coreutils-8.15"; + name = "coreutils-8.20"; src = fetchurl { url = "mirror://gnu/coreutils/${name}.tar.xz"; - sha256 = "176lgw810xw84c6fz5xwhydxggkndmzggl0pxqzldbjf85vv6zl3"; + sha256 = "1cly97xdy3v4nbbx631k43smqw0nnpn651kkprs0yyl2cj3pkjyv"; }; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; buildInputs = [ gmp ] ++ stdenv.lib.optional aclSupport acl ++ stdenv.lib.optional selinuxSupport libselinux @@ -22,11 +22,11 @@ stdenv.mkDerivation rec { crossAttrs = ({ buildInputs = [ gmp ] - ++ stdenv.lib.optional aclSupport acl.hostDrv - ++ stdenv.lib.optional selinuxSupport libselinux.hostDrv - ++ stdenv.lib.optional selinuxSupport libsepol.hostDrv + ++ stdenv.lib.optional aclSupport acl.crossDrv + ++ stdenv.lib.optional selinuxSupport libselinux.crossDrv + ++ stdenv.lib.optional selinuxSupport libsepol.crossDrv ++ stdenv.lib.optional (stdenv.gccCross.libc ? libiconv) - stdenv.gccCross.libc.libiconv.hostDrv; + stdenv.gccCross.libc.libiconv.crossDrv; # Needed for fstatfs() # I don't know why it is not properly detected cross building with glibc. @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { # (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025), # Darwin (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19351), # and {Open,Free}BSD. - doCheck = (stdenv ? glibc); + doCheck = stdenv ? glibc; enableParallelBuilding = true; diff --git a/pkgs/tools/misc/cowsay/default.nix b/pkgs/tools/misc/cowsay/default.nix index 59978e2865c..a9bdf1b2b92 100644 --- a/pkgs/tools/misc/cowsay/default.nix +++ b/pkgs/tools/misc/cowsay/default.nix @@ -2,17 +2,22 @@ stdenv.mkDerivation { name = "cowsay-3.03"; + src = fetchurl { url = http://www.nog.net/~tony/warez/cowsay-3.03.tar.gz; - sha256 = "1bxj802na2si2bk5zh7n0b7c33mg8a5n2wnvh0vihl9bmjkp51hb"; + sha256 = "1s3c0g5vmsadicc4lrlkmkm8znm4y6wnxd8kyv9xgm676hban1il"; }; - buildInputs = [perl]; + + buildInputs = [ perl ]; + installPhase = '' bash ./install.sh $out ''; meta = { - description = "cowsay is a program which generates ASCII pictures of a cow with a message."; + description = "A program which generates ASCII pictures of a cow with a message"; homepage = http://www.nog.net/~tony/warez/cowsay.shtml; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.rob ]; }; } diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix new file mode 100644 index 00000000000..ddf30f342d1 --- /dev/null +++ b/pkgs/tools/misc/debian-devscripts/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchurl, perl, CryptSSLeay, LWP, unzip, xz, dpkg, TimeDate, DBFile + , FileDesktopEntry, libxslt, docbook_xsl, python, setuptools, makeWrapper +}: +stdenv.mkDerivation rec { + version = "2.12.4"; + name = "debian-devscripts-${version}"; + src = fetchurl { + url = "mirror://debian/pool/main/d/devscripts/devscripts_${version}.tar.gz"; + sha256 = "34bcbec78bd4fe34d9f1326b9d1477ff2410e20e2dca6b7bfbf2bf92dbb83904"; + }; + buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile + FileDesktopEntry libxslt python setuptools makeWrapper ]; + preConfigure = '' + export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}"; + sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile + sed -e 's/ translated_manpages//; s/--install-layout=deb//; s@--root="[^ ]*"@--prefix="'"$out"'"@' -i Makefile */Makefile + tgtpy="$out/lib/${python.libPrefix}/site-packages" + mkdir -p "$tgtpy" + export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy" + sed -re "s@/usr( |$|/)@$out\\1@" -i Makefile* */Makefile* + sed -re "s@/etc( |$|/)@$out/etc\\1@" -i Makefile* */Makefile* + ''; + postInstall = '' + sed -re 's@(^|[ !`"])/bin/bash@\1${stdenv.shell}@g' -i "$out/bin"/* + for i in "$out/bin"/*; do + wrapProgram "$i" \ + --prefix PERL5LIB : "$PERL5LIB" \ + --prefix PERL5LIB : "$out/share/devscripts" + done + ''; + meta = { + description = ''Debian package maintenance scripts''; + license = "GPL (various)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... + maintainers = with stdenv.lib.maintainers; [raskin]; + }; +} diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix index 33a1fc839ce..388cfa14e41 100644 --- a/pkgs/tools/misc/debootstrap/default.nix +++ b/pkgs/tools/misc/debootstrap/default.nix @@ -1,55 +1,65 @@ -{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget }: +{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget, coreutils, fakeroot }: let - devices = fetchurl { - url = mirror://gentoo/distfiles/devices.tar.gz; - sha256 = "0j4yhajmlgvbksr2ij0dm7jy3q52j3wzhx2fs5lh05i1icygk4qd"; +# USAGE like this: debootstrap sid /tmp/target-chroot-directory + +# There is also cdebootstrap now. Is that easier to maintain? + + makedev = stdenv.mkDerivation { + name = "makedev-for-debootstrap"; + src = fetchurl { + url = mirror://debian/pool/main/m/makedev/makedev_2.3.1.orig.tar.gz; + sha256 = "1yhxlj2mhn1nqkx1f0sn0bl898nf28arxxa4lgp7hdrb5cpp36c5"; + }; + patches = [ + (fetchurl { + url = "http://ftp.de.debian.org/debian/pool/main/m/makedev/makedev_2.3.1-89.diff.gz"; + sha256 = "1zbifw2jkq6471fb67y893nq4lq009xbfbi57jbjwxnhqmrppcy9"; + }) + ]; + # TODO install man + installPhase = '' + ensureDir $out/sbin + ls -l + t=$out/sbin/MAKEDEV + cp MAKEDEV $t + chmod +x $t + ''; }; in stdenv.mkDerivation { - name = "debootstrap-1.0.10lenny"; + + name = "debootstrap-1.0.42"; src = fetchurl { - # I'd like to use the source. However it's lacking the lanny script ? - url = mirror://debian/pool/main/d/debootstrap/debootstrap_1.0.10lenny1_all.deb; - sha256 = "a70af8e3369408ce9d6314fb5219de73f9523b347b75a3b07ee17ea92c445051"; + # git clone git://git.debian.org/d-i/debootstrap.git + # I'd like to use the source. However it's lacking the lanny script ? (still true?) + url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.42.tar.gz; + sha256 = "0a5azl22wz1q92b2c91zlpz6krd7wqyi63yk87vyczp363ml0nz0"; }; - + buildInputs = [ dpkg gettext gawk perl ]; - unpackPhase = '' - dpkg-deb --extract "$src" . - ''; - buildPhase = ":"; - patches = [ - # replace /usr/* and /sbin/* executables by @executable@ so that they can be replaced by substitute - # Be careful not to replace code being run in the debian chroot ! - ./subst.patch - ]; - - # from deb + # If you have to update the patch for functions a vim regex like this + # can help you identify which lines are used to write scripts on TARGET and + # which should /bin/ paths should be replaced: + # \\|\/bin\/\|^\s*\\|EOF\|END installPhase = '' - cp -r . $out; cd $out - t=bin/debootstrap - mkdir -p bin man/man8 - cat >> $t << EOF - #!/bin/sh - export DEBOOTSTRAP_DIR=$out/usr/share/debootstrap - # mount and other tools must be found in chroot. So add default debain paths! - # TODO only add paths which are required by the scripts! - export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - $out/usr/sbin/debootstrap "\$@" - EOF - chmod +x $t - mv usr/share/man/man8/debootstrap.8.gz man/man8 - set -x - for file in usr/share/debootstrap/functions usr/sbin/debootstrap; do + sed -i \ + -e 's@/usr/bin/id@id@' \ + -e 's@/usr/bin/dpkg@${dpkg}/bin/dpkg@' \ + -e 's@/usr/bin/sha@${coreutils}/bin/sha@' \ + -e 's@/bin/sha@${coreutils}/bin/sha@' \ + debootstrap + + + for file in functions debootstrap; do substituteInPlace "$file" \ --subst-var-by gunzip "$(type -p gunzip)" \ --subst-var-by bunzip "$(type -p bunzip)" \ @@ -61,28 +71,36 @@ stdenv.mkDerivation { --subst-var-by uname "$(type -p uname)" \ --subst-var-by wget "${wget}/bin/wget" done + + + sed -i \ + -e 's@\@${wget}/bin/wget@' \ + functions + + d=$out/share/debootstrap + ensureDir $out/{share/debootstrap,bin} + + ${fakeroot}/bin/fakeroot -- make devices.tar.gz MAKEDEV=${makedev}/sbin/MAKEDEV + + cp -r . $d + + cat >> $out/bin/debootstrap << EOF + #!/bin/sh + export DEBOOTSTRAP_DIR="''${DEBOOTSTRAP_DIR:-$d}" + # mount and other tools must be found in chroot. So add default debain paths! + # TODO only add paths which are required by the scripts! + export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + exec $d/debootstrap "\$@" + EOF + chmod +x $out/bin/debootstrap + + ensureDir $out/man/man8 + mv debootstrap.8 $out/man/man8 ''; - /* build from source: - installPhase = '' - cp ${devices} devices.tar.gz - mkdir -p $out/{bin,man/man8}; - cp debootstrap.8 $out/man/man8 - sed -i \ - -e 's@-o root@@' \ - -e 's@-g root@@' \ - -e 's@chown@true@' \ - Makefile - make pkgdetails debootstrap-arch - make DESTDIR="''\${out}" install-arch - t=$out/bin/debootstrap - cat >> $t << EOF - #!/bin/sh - DEBOOTSTRAP_DIR=$out/usr/share/debootstrap $out/usr/sbin/debootstrap "\$@" - EOF - chmod +x $t - ''; - */ + passthru = { + inherit makedev; + }; meta = { description = "Tool to create a Debian system in a chroot"; diff --git a/pkgs/tools/misc/file/511.nix b/pkgs/tools/misc/file/511.nix deleted file mode 100644 index 4e62462b8b3..00000000000 --- a/pkgs/tools/misc/file/511.nix +++ /dev/null @@ -1,17 +0,0 @@ -{stdenv, fetchurl, zlib}: - -stdenv.mkDerivation rec { - name = "file-5.11"; - - buildInputs = [ zlib ]; - - src = fetchurl { - url = "ftp://ftp.astron.com/pub/file/${name}.tar.gz"; - sha256 = "c70ae29a28c0585f541d5916fc3248c3e91baa481f63d7ccec53d1534cbcc9b7"; - }; - - meta = { - description = "A program that shows the type of files"; - homepage = "http://darwinsys.com/file"; - }; -} diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index 01a674fe227..8b141fea826 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -1,15 +1,17 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "file-5.04"; +{ stdenv, fetchurl, zlib }: + +stdenv.mkDerivation rec { + name = "file-5.12"; + + buildInputs = [ zlib ]; src = fetchurl { - url = ftp://ftp.astron.com/pub/file/file-5.04.tar.gz; - sha256 = "0316lj3jxmp2g8azv0iykmmwjsnjanq93bklccwb6k77jiwnx7jc"; + url = "ftp://ftp.astron.com/pub/file/${name}.tar.gz"; + sha256 = "08ix4xrvan0k80n0l5lqfmc4azjv5lyhvhwdxny4r09j5smhv78r"; }; meta = { + homepage = "http://darwinsys.com/file"; description = "A program that shows the type of files"; - homepage = ftp://ftp.astron.com/pub/file; }; } diff --git a/pkgs/tools/misc/findutils/4.2.27.nix b/pkgs/tools/misc/findutils/4.2.27.nix deleted file mode 100644 index 591134d692d..00000000000 --- a/pkgs/tools/misc/findutils/4.2.27.nix +++ /dev/null @@ -1,14 +0,0 @@ -{stdenv, fetchurl, coreutils}: - -stdenv.mkDerivation { - name = "findutils-4.2.27"; - src = fetchurl { - url = http://nixos.org/tarballs/findutils-4.2.27.tar.gz; - md5 = "f1e0ddf09f28f8102ff3b90f3b5bc920"; - }; - buildInputs = [coreutils]; - patches = [./findutils-path.patch] - # Note: the dietlibc is just to get findutils to compile. The - # locate command probably won't work though. - ++ (if stdenv ? isDietLibC then [./dietlibc-hack.patch] else []); -} diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index 11ed1cf07b5..88cb2c313c0 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -8,12 +8,9 @@ stdenv.mkDerivation rec { sha256 = "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3"; }; - buildNativeInputs = [coreutils]; + nativeBuildInputs = [coreutils]; - patches = [ ./findutils-path.patch ./change_echo_path.patch ] - # Note: the dietlibc patch is just to get findutils to compile. - # The locate command probably won't work though. - ++ stdenv.lib.optional (stdenv ? isDietLibC) ./dietlibc-hack.patch; + patches = [ ./findutils-path.patch ./change_echo_path.patch ]; doCheck = true; diff --git a/pkgs/tools/misc/findutils/dietlibc-hack.patch b/pkgs/tools/misc/findutils/dietlibc-hack.patch deleted file mode 100644 index 957c32d3d4e..00000000000 --- a/pkgs/tools/misc/findutils/dietlibc-hack.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -rc findutils-4.2.27-orig/locate/code.c findutils-4.2.27/locate/code.c -*** findutils-4.2.27-orig/locate/code.c 2005-06-07 22:24:56.000000000 +0000 ---- findutils-4.2.27/locate/code.c 2006-10-20 15:53:53.000000000 +0000 -*************** -*** 210,216 **** ---- 210,218 ---- - if (diffcount < -LOCATEDB_OLD_OFFSET || diffcount > LOCATEDB_OLD_OFFSET) - { - putc (LOCATEDB_OLD_ESCAPE, stdout); -+ #if 0 - putw (diffcount + LOCATEDB_OLD_OFFSET, stdout); -+ #endif - } - else - putc (diffcount + LOCATEDB_OLD_OFFSET, stdout); -diff -rc findutils-4.2.27-orig/locate/locate.c findutils-4.2.27/locate/locate.c -*** findutils-4.2.27-orig/locate/locate.c 2005-09-01 20:42:43.000000000 +0000 ---- findutils-4.2.27/locate/locate.c 2006-10-20 15:53:11.000000000 +0000 -*************** -*** 468,473 **** ---- 468,474 ---- - return VISIT_CONTINUE; - } - -+ #if 0 - static int - visit_old_format(struct process_data *procdata, void *context) - { -*************** -*** 498,503 **** ---- 499,505 ---- - - return VISIT_CONTINUE; - } -+ #endif - - - static int -*************** -*** 911,920 **** - lastinspector = NULL; - past_pat_inspector = NULL; - -! if (old_format) -! add_visitor(visit_old_format, NULL); -! else -! add_visitor(visit_locate02_format, NULL); - - if (basename_only) - add_visitor(visit_basename, NULL); ---- 913,919 ---- - lastinspector = NULL; - past_pat_inspector = NULL; - -! add_visitor(visit_locate02_format, NULL); - - if (basename_only) - add_visitor(visit_basename, NULL); diff --git a/pkgs/tools/misc/gnokii/src-for-default.nix b/pkgs/tools/misc/gnokii/src-for-default.nix index 3ea6f1a3b66..af2768ddfa3 100644 --- a/pkgs/tools/misc/gnokii/src-for-default.nix +++ b/pkgs/tools/misc/gnokii/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="0.6.30"; - name="gnokii-0.6.30"; - hash="0k14dymifk7dx3z58cqrc4mgxrm17s4jk12chwdfjhjarz390x8p"; - url="http://www.gnokii.org/download/gnokii/0.6.x/gnokii-${version}.tar.gz"; - advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.30.tar.gz"; + version="0.6.31"; + name="gnokii-0.6.31"; + hash="0sjjhm40662bj6j0jh3sd25b8nww54nirpwamz618rg6pb5hjwm8"; + url="http://www.gnokii.org/download/gnokii/gnokii-${version}.tar.gz"; + advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.31.tar.gz"; } diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 249456580d4..1bd40025e5d 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -1,22 +1,21 @@ { stdenv, fetchurl, parted, gtk, glib, intltool, gettext, libuuid -, pkgconfig, gtkmm, gnomedocutils, libxml2 }: +, pkgconfig, gtkmm, libxml2 }: -stdenv.mkDerivation { - name = "gparted-0.8.1"; +stdenv.mkDerivation rec { + name = "gparted-0.14.1"; src = fetchurl { - url = mirror://sourceforge/gparted/gparted-0.5.1/gparted-0.8.1.tar.bz2; - sha256 = "128pnrcqp3d4a4jnjxm0mqglbyrs2q841pmg5g8ilyc827b6j163"; + url = "mirror://sourceforge/gparted/${name}.tar.bz2"; + sha256 = "0697sq2dbs9cn689bk68gs9pj3k08bfp9wfg6j291zrprdd3rddi"; }; configureFlags = "--disable-doc"; - buildInputs = - [ parted gtk glib intltool gettext libuuid pkgconfig gtkmm - gnomedocutils libxml2 - ]; + buildInputs = [ + parted gtk glib intltool gettext libuuid pkgconfig gtkmm libxml2 + ]; - meta = { + meta = { description = "Graphical disk partitioning tool"; homepage = http://gparted.sourceforge.net; license = "GPLv2"; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index 4186a440535..d824d76a864 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -4,14 +4,14 @@ let prefix = "grub${if EFIsupport then "-efi" else ""}"; - + version = "2.00"; - + unifont_bdf = fetchurl { url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx"; }; - + in stdenv.mkDerivation rec { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"; }; - buildNativeInputs = [ flex bison ]; + nativeBuildInputs = [ flex bison ]; buildInputs = [ ncurses libusb freetype gettext devicemapper ] ++ stdenv.lib.optional doCheck qemu; @@ -43,6 +43,10 @@ stdenv.mkDerivation rec { # See . sed -i "tests/util/grub-shell.in" \ -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g' + + # Fix for building on Glibc 2.16. Won't be needed once the + # gnulib in grub is updated. + sed -i '/gets is a security hole/d' grub-core/gnulib/stdio.in.h ''; prePatch = @@ -51,6 +55,8 @@ stdenv.mkDerivation rec { -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g" ''; + patches = [ ./fix-bash-completion.patch ]; + configureFlags = let arch = if stdenv.system == "i686-linux" then "i386" else if stdenv.system == "x86_64-linux" then "x86_64" diff --git a/pkgs/tools/misc/grub/device-mapper-symlinks.patch b/pkgs/tools/misc/grub/device-mapper-symlinks.patch deleted file mode 100644 index 0a21a51de79..00000000000 --- a/pkgs/tools/misc/grub/device-mapper-symlinks.patch +++ /dev/null @@ -1,28 +0,0 @@ -Only in grub-1.97.1-orig/: grub-1.97.1 -diff -rc -x '*~' grub-1.97.1-orig/util/getroot.c grub-1.97.1/util/getroot.c -*** grub-1.97.1-orig/util/getroot.c 2009-11-09 16:48:16.000000000 +0100 ---- grub-1.97.1/util/getroot.c 2010-01-08 00:26:12.000000000 +0100 -*************** -*** 217,224 **** - continue; - - if (S_ISLNK (st.st_mode)) -! /* Don't follow symbolic links. */ -! continue; - - if (S_ISDIR (st.st_mode)) - { ---- 217,229 ---- - continue; - - if (S_ISLNK (st.st_mode)) -! { -! if (strcmp(dir, "mapper") != 0) -! /* Don't follow symbolic links. */ -! continue; -! if (stat (ent->d_name, &st) < 0) -! continue; -! } - - if (S_ISDIR (st.st_mode)) - { diff --git a/pkgs/tools/misc/grub/fix-bash-completion.patch b/pkgs/tools/misc/grub/fix-bash-completion.patch new file mode 100644 index 00000000000..97cecdce373 --- /dev/null +++ b/pkgs/tools/misc/grub/fix-bash-completion.patch @@ -0,0 +1,24 @@ +diff -ubr grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in grub-2.00/util/bash-completion.d/grub-completion.bash.in +--- grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in 2012-10-16 19:02:36.342733957 +0200 ++++ grub-2.00/util/bash-completion.d/grub-completion.bash.in 2012-10-16 19:04:48.262733941 +0200 +@@ -17,6 +17,12 @@ + # along with GRUB. If not, see . + # bash completion for grub + ++have() ++{ ++ unset -v have ++ _have $1 && have=yes ++} ++ + __grub_dir() { + local i c=1 boot_dir + +@@ -479,6 +485,7 @@ + have ${__grub_script_check_program} && \ + complete -F _grub_script_check -o filenames ${__grub_script_check_program} + ++unset -f have + + # Local variables: + # mode: shell-script diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix new file mode 100644 index 00000000000..60003b3b5d5 --- /dev/null +++ b/pkgs/tools/misc/gsmartcontrol/default.nix @@ -0,0 +1,23 @@ +{ fetchurl, stdenv, smartmontools, gtk, gtkmm, libglademm, pkgconfig, pcre }: + +stdenv.mkDerivation rec { + version="0.8.7"; + name = "gsmartcontrol"; + + src = fetchurl { + url = "http://artificialtime.com/gsmartcontrol/gsmartcontrol-${version}.tar.bz2"; + sha256 = "1ipykzqpfvlr84j38hr7q2cag4imrn1gql10slp8bfrs4h1si3vh"; + }; + + buildInputs = [ smartmontools gtk gtkmm libglademm pkgconfig pcre ]; + + #installTargets = "install datainstall"; + + meta = { + description = "GSmartControl is a graphical user interface for smartctl (from smartmontools package), which is a tool for querying and controlling SMART (Self-Monitoring, Analysis, and Reporting Technology) data on modern hard disk drives."; + homepage = http://gsmartcontrol.berlios.de; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [qknight]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/tools/misc/gummiboot/default.nix b/pkgs/tools/misc/gummiboot/default.nix new file mode 100644 index 00000000000..341939ea40f --- /dev/null +++ b/pkgs/tools/misc/gummiboot/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, gnu_efi, unzip }: + +stdenv.mkDerivation rec { + name = "gummiboot-16"; + + buildInputs = [ unzip ]; + + patches = [ ./no-usr.patch ]; + + buildFlags = [ + "GNU_EFI=${gnu_efi}" + ] ++ stdenv.lib.optional (stdenv.system == "i686-linux") "ARCH=ia32"; + + installPhase = "mkdir -p $out/bin; mv gummiboot.efi $out/bin"; + + src = fetchurl { + url = "http://cgit.freedesktop.org/gummiboot/snapshot/${name}.zip"; + sha256 = "0as5svmvsbz08qgbvns77qfb36xi9lx2138ikiinqv6finzm8fi1"; + }; + + meta = { + description = "A simple UEFI boot manager which executes configured EFI images"; + + homepage = http://freedesktop.org/wiki/Software/gummiboot; + + license = stdenv.lib.licenses.lgpl21Plus; + + platforms = [ "x86_64-linux" "i686-linux" ]; + + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} diff --git a/pkgs/tools/misc/gummiboot/no-usr.patch b/pkgs/tools/misc/gummiboot/no-usr.patch new file mode 100644 index 00000000000..7f63e20d3e9 --- /dev/null +++ b/pkgs/tools/misc/gummiboot/no-usr.patch @@ -0,0 +1,20 @@ +diff -Naur gummiboot-16-orig/Makefile gummiboot-16/Makefile +--- gummiboot-16-orig/Makefile 2013-01-24 04:20:58.000000000 -0500 ++++ gummiboot-16/Makefile 2013-02-01 17:27:42.922371399 -0500 +@@ -1,13 +1,13 @@ + VERSION=16 + + ARCH=$(shell $(CC) -dumpmachine | sed "s/\(-\).*$$//") +-LIBDIR=$(shell echo $$(cd /usr/lib/$$(gcc -print-multi-os-directory); pwd)) ++LIBDIR=$(GNU_EFI)/lib + LIBEFIDIR=$(or $(wildcard $(LIBDIR)/gnuefi), $(LIBDIR)) + + CPPFLAGS = \ + -I. \ +- -I/usr/include/efi \ +- -I/usr/include/efi/$(ARCH) ++ -I$(GNU_EFI)/include/efi \ ++ -I$(GNU_EFI)/include/efi/$(ARCH) + + CFLAGS = \ + -DVERSION=$(VERSION) \ diff --git a/pkgs/tools/misc/idutils/default.nix b/pkgs/tools/misc/idutils/default.nix index 4b81d48b027..b76b9a18715 100644 --- a/pkgs/tools/misc/idutils/default.nix +++ b/pkgs/tools/misc/idutils/default.nix @@ -8,6 +8,13 @@ stdenv.mkDerivation rec { sha256 = "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"; }; + preConfigure = + '' + # Fix for building on Glibc 2.16. Won't be needed once the + # gnulib in idutils is updated. + sed -i '/gets is a security hole/d' lib/stdio.in.h + ''; + buildInputs = stdenv.lib.optional stdenv.isLinux emacs; doCheck = true; diff --git a/pkgs/tools/misc/ised/default.nix b/pkgs/tools/misc/ised/default.nix index f5f9112639c..0a04886f64c 100644 --- a/pkgs/tools/misc/ised/default.nix +++ b/pkgs/tools/misc/ised/default.nix @@ -12,7 +12,7 @@ let baseName="ised"; version="2.2.2"; name="${baseName}-${version}"; - url="mirror://sf/project/ised/${name}.tar.bz2"; + url="mirror://sourceforge/project/ised/${name}.tar.bz2"; hash="1nb1cnsbs2k3j9cy2kc2kg01rd7wf3jwxm62rwn1rjlc46nwdlmn"; }; in diff --git a/pkgs/tools/misc/jdiskreport/builder.sh b/pkgs/tools/misc/jdiskreport/builder.sh index 1e73b674c15..cdc5f94bde0 100644 --- a/pkgs/tools/misc/jdiskreport/builder.sh +++ b/pkgs/tools/misc/jdiskreport/builder.sh @@ -2,13 +2,14 @@ source $stdenv/setup unzip $src -mkdir -p $out/jars -mv */*.jar $out/jars -jar=$(ls $out/jars/jdiskreport-*.jar) +jar=$(ls */*.jar) + +mkdir -p $out/lib/java +mv $jar $out/lib/java mkdir -p $out/bin cat > $out/bin/jdiskreport <= (edit->curs1 + edit->curs2) || byte_index < 0) -@@ -125,7 +125,7 @@ - - edit->curs1 = 0; - edit->curs2 = 0; -- edit->buffers2[0] = g_malloc (EDIT_BUF_SIZE); -+ edit->buffers2[0] = g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - } - - /* -@@ -152,7 +152,7 @@ - } - - if (!edit->buffers2[buf2]) -- edit->buffers2[buf2] = g_malloc (EDIT_BUF_SIZE); -+ edit->buffers2[buf2] = g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - - mc_read (file, - (char *) edit->buffers2[buf2] + EDIT_BUF_SIZE - -@@ -162,7 +162,7 @@ - for (buf = buf2 - 1; buf >= 0; buf--) { - /* edit->buffers2[0] is already allocated */ - if (!edit->buffers2[buf]) -- edit->buffers2[buf] = g_malloc (EDIT_BUF_SIZE); -+ edit->buffers2[buf] = g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - mc_read (file, (char *) edit->buffers2[buf], EDIT_BUF_SIZE); - } - -@@ -242,9 +242,44 @@ - { - int c; - long i = 0; -- while ((c = fgetc (f)) >= 0) { -+#ifndef UTF8 -+ while ((c = fgetc (f)) != EOF) { - edit_insert (edit, c); - i++; -+#else /* UTF8 */ -+ unsigned char buf[MB_LEN_MAX]; -+ int charpos = 0; -+ mbstate_t mbs; -+ -+ while ((c = fgetc (f)) != EOF) { -+ mc_wchar_t wc; -+ int size; -+ int j; -+ -+ buf[charpos++] = c; -+ -+ memset (&mbs, 0, sizeof (mbs)); -+ size = mbrtowc(&wc, (char *)buf, charpos, &mbs); -+ -+ if (size == -2) -+ continue; /* incomplete */ -+ -+ else if (size >= 0) { -+ edit_insert (edit, wc); -+ i++; -+ charpos = 0; -+ continue; -+ } -+ else { -+ -+ /* invalid */ -+#ifdef __STDC_ISO_10646__ -+ for (j=0; jlast_byte; i++) - if (fputc (edit_get_byte (edit, i), f) < 0) - break; -+#else /* UTF8 */ -+ for (i = 0; i < edit->last_byte; i++) { -+ mc_wchar_t wc = edit_get_byte (edit, i); -+ int res; -+ char tmpbuf[MB_LEN_MAX]; -+ mbstate_t mbs; -+ -+ memset (&mbs, 0, sizeof (mbs)); -+ -+#ifdef __STDC_ISO_10646__ -+ if (wc >= BINARY_CHAR_OFFSET && wc < (BINARY_CHAR_OFFSET + 256)) { -+ res = 1; -+ tmpbuf[0] = (char) (wc - BINARY_CHAR_OFFSET); -+ } else -+#endif -+ res = wcrtomb(tmpbuf, wc, &mbs); -+ if (res > 0) { -+ if (fwrite(tmpbuf, res, 1, f) != 1) -+ break; -+ } -+ } -+#endif /* UTF8 */ - return i; - } - -@@ -294,12 +352,46 @@ - int i, file, blocklen; - long current = edit->curs1; - unsigned char *buf; -+#ifdef UTF8 -+ mbstate_t mbs; -+ int bufstart = 0; -+ -+ memset (&mbs, 0, sizeof (mbs)); -+#endif /* UTF8 */ - if ((file = mc_open (filename, O_RDONLY | O_BINARY)) == -1) - return 0; - buf = g_malloc (TEMP_BUF_LEN); -+#ifndef UTF8 - while ((blocklen = mc_read (file, (char *) buf, TEMP_BUF_LEN)) > 0) { - for (i = 0; i < blocklen; i++) - edit_insert (edit, buf[i]); -+#else /* UTF8 */ -+ while ((blocklen = mc_read (file, (char *) buf + bufstart, TEMP_BUF_LEN - bufstart)) > 0) { -+ blocklen += bufstart; -+ bufstart = 0; -+ for (i = 0; i < blocklen; ) { -+ mc_wchar_t wc; -+ int j; -+ int size = mbrtowc(&wc, (char *)buf + i, blocklen - i, &mbs); -+ if (size == -2) { /*incomplete char*/ -+ bufstart = blocklen - i; -+ memcpy(buf, buf+i, bufstart); -+ i = blocklen; -+ memset (&mbs, 0, sizeof (mbs)); -+ } -+ else if (size <= 0) { -+#ifdef __STDC_ISO_10646__ -+ edit_insert (edit, BINARY_CHAR_OFFSET + (mc_wchar_t)buf[i]); -+#endif -+ memset (&mbs, 0, sizeof (mbs)); -+ i++; /* skip broken char */ -+ } -+ else { -+ edit_insert (edit, wc); -+ i+=size; -+ } -+ } -+#endif /* UTF8 */ - } - edit_cursor_move (edit, current - edit->curs1); - g_free (buf); -@@ -393,7 +485,11 @@ - static int - edit_load_file (WEdit *edit) - { -+#ifndef UTF8 - int fast_load = 1; -+#else /* UTF8 */ -+ int fast_load = 0; /* can't be used with multibyte characters */ -+#endif /* UTF8 */ - - /* Cannot do fast load if a filter is used */ - if (edit_find_filter (edit->filename) >= 0) -@@ -540,7 +636,7 @@ - edit_set_filename (edit, filename); - edit->stack_size = START_STACK_SIZE; - edit->stack_size_mask = START_STACK_SIZE - 1; -- edit->undo_stack = g_malloc ((edit->stack_size + 10) * sizeof (long)); -+ edit->undo_stack = g_malloc ((edit->stack_size + 10) * sizeof (struct action)); - if (edit_load_file (edit)) { - /* edit_load_file already gives an error message */ - if (to_free) -@@ -565,7 +661,9 @@ - edit_move_display (edit, line - 1); - edit_move_to_line (edit, line - 1); - } -- -+#ifdef UTF8 -+ edit->charpoint = 0; -+#endif - return edit; - } - -@@ -693,13 +791,23 @@ - { - unsigned long sp = edit->stack_pointer; - unsigned long spm1; -- long *t; -+ -+ struct action *t; -+ mc_wchar_t ch = 0; -+ -+ if (c == CHAR_INSERT || c == CHAR_INSERT_AHEAD) { -+ va_list ap; -+ va_start (ap, c); -+ ch = va_arg (ap, mc_wint_t); -+ va_end (ap); -+ } -+ - /* first enlarge the stack if necessary */ - if (sp > edit->stack_size - 10) { /* say */ - if (option_max_undo < 256) - option_max_undo = 256; - if (edit->stack_size < (unsigned long) option_max_undo) { -- t = g_realloc (edit->undo_stack, (edit->stack_size * 2 + 10) * sizeof (long)); -+ t = g_realloc (edit->undo_stack, (edit->stack_size * 2 + 10) * sizeof (struct action)); - if (t) { - edit->undo_stack = t; - edit->stack_size <<= 1; -@@ -714,7 +822,7 @@ - #ifdef FAST_MOVE_CURSOR - if (c == CURS_LEFT_LOTS || c == CURS_RIGHT_LOTS) { - va_list ap; -- edit->undo_stack[sp] = c == CURS_LEFT_LOTS ? CURS_LEFT : CURS_RIGHT; -+ edit->undo_stack[sp].flags = c == CURS_LEFT_LOTS ? CURS_LEFT : CURS_RIGHT; - edit->stack_pointer = (edit->stack_pointer + 1) & edit->stack_size_mask; - va_start (ap, c); - c = -(va_arg (ap, int)); -@@ -725,12 +833,14 @@ - && spm1 != edit->stack_bottom - && ((sp - 2) & edit->stack_size_mask) != edit->stack_bottom) { - int d; -- if (edit->undo_stack[spm1] < 0) { -- d = edit->undo_stack[(sp - 2) & edit->stack_size_mask]; -- if (d == c) { -- if (edit->undo_stack[spm1] > -1000000000) { -+ mc_wchar_t d_ch; -+ if (edit->undo_stack[spm1].flags < 0) { -+ d = edit->undo_stack[(sp - 2) & edit->stack_size_mask].flags; -+ d_ch = edit->undo_stack[(sp - 2) & edit->stack_size_mask].ch; -+ if (d == c && d_ch == ch) { -+ if (edit->undo_stack[spm1].flags > -1000000000) { - if (c < KEY_PRESS) /* --> no need to push multiple do-nothings */ -- edit->undo_stack[spm1]--; -+ edit->undo_stack[spm1].flags--; - return; - } - } -@@ -738,19 +848,20 @@ - #ifndef NO_STACK_CURSMOVE_ANIHILATION - else if ((c == CURS_LEFT && d == CURS_RIGHT) - || (c == CURS_RIGHT && d == CURS_LEFT)) { /* a left then a right anihilate each other */ -- if (edit->undo_stack[spm1] == -2) -+ if (edit->undo_stack[spm1].flags == -2) - edit->stack_pointer = spm1; - else -- edit->undo_stack[spm1]++; -+ edit->undo_stack[spm1].flags++; - return; - } - #endif - } else { -- d = edit->undo_stack[spm1]; -- if (d == c) { -+ d = edit->undo_stack[spm1].flags; -+ d_ch = edit->undo_stack[spm1].ch; -+ if (d == c && d_ch == ch) { - if (c >= KEY_PRESS) - return; /* --> no need to push multiple do-nothings */ -- edit->undo_stack[sp] = -2; -+ edit->undo_stack[sp].flags = -2; - goto check_bottom; - } - #ifndef NO_STACK_CURSMOVE_ANIHILATION -@@ -762,7 +873,9 @@ - #endif - } - } -- edit->undo_stack[sp] = c; -+ edit->undo_stack[sp].flags = c; -+ edit->undo_stack[sp].ch = ch; -+ - check_bottom: - - edit->stack_pointer = (edit->stack_pointer + 1) & edit->stack_size_mask; -@@ -775,10 +888,10 @@ - (((unsigned long) c + 1) & edit->stack_size_mask) == edit->stack_bottom) - do { - edit->stack_bottom = (edit->stack_bottom + 1) & edit->stack_size_mask; -- } while (edit->undo_stack[edit->stack_bottom] < KEY_PRESS && edit->stack_bottom != edit->stack_pointer); -+ } while (edit->undo_stack[edit->stack_bottom].flags < KEY_PRESS && edit->stack_bottom != edit->stack_pointer); - - /*If a single key produced enough pushes to wrap all the way round then we would notice that the [stack_bottom] does not contain KEY_PRESS. The stack is then initialised: */ -- if (edit->stack_pointer != edit->stack_bottom && edit->undo_stack[edit->stack_bottom] < KEY_PRESS) -+ if (edit->stack_pointer != edit->stack_bottom && edit->undo_stack[edit->stack_bottom].flags < KEY_PRESS) - edit->stack_bottom = edit->stack_pointer = 0; - } - -@@ -787,30 +900,30 @@ - then the file should be as it was when he loaded up. Then set edit->modified to 0. - */ - static long --pop_action (WEdit * edit) -+pop_action (WEdit * edit, struct action *c) - { -- long c; - unsigned long sp = edit->stack_pointer; - if (sp == edit->stack_bottom) { -- return STACK_BOTTOM; -+ c->flags = STACK_BOTTOM; -+ return c->flags; - } - sp = (sp - 1) & edit->stack_size_mask; -- if ((c = edit->undo_stack[sp]) >= 0) { --/* edit->undo_stack[sp] = '@'; */ -+ *c = edit->undo_stack[sp]; -+ if (edit->undo_stack[sp].flags >= 0) { - edit->stack_pointer = (edit->stack_pointer - 1) & edit->stack_size_mask; -- return c; -+ return c->flags; - } - if (sp == edit->stack_bottom) { - return STACK_BOTTOM; - } -- c = edit->undo_stack[(sp - 1) & edit->stack_size_mask]; -- if (edit->undo_stack[sp] == -2) { --/* edit->undo_stack[sp] = '@'; */ -+ *c = edit->undo_stack[(sp - 1) & edit->stack_size_mask]; -+ -+ if (edit->undo_stack[sp].flags == -2) { - edit->stack_pointer = sp; - } else -- edit->undo_stack[sp]++; -+ edit->undo_stack[sp].flags++; - -- return c; -+ return c->flags; - } - - /* is called whenever a modification is made by one of the four routines below */ -@@ -831,7 +944,7 @@ - */ - - void --edit_insert (WEdit *edit, int c) -+edit_insert (WEdit *edit, mc_wchar_t c) - { - /* check if file has grown to large */ - if (edit->last_byte >= SIZE_LIMIT) -@@ -869,12 +982,11 @@ - /* add a new buffer if we've reached the end of the last one */ - if (!(edit->curs1 & M_EDIT_BUF_SIZE)) - edit->buffers1[edit->curs1 >> S_EDIT_BUF_SIZE] = -- g_malloc (EDIT_BUF_SIZE); -+ g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - - /* perform the insertion */ -- edit->buffers1[edit->curs1 >> S_EDIT_BUF_SIZE][edit-> -- curs1 & M_EDIT_BUF_SIZE] -- = (unsigned char) c; -+ edit->buffers1[edit->curs1 >> S_EDIT_BUF_SIZE] -+ [edit->curs1 & M_EDIT_BUF_SIZE] = c; - - /* update file length */ - edit->last_byte++; -@@ -885,7 +997,7 @@ - - - /* same as edit_insert and move left */ --void edit_insert_ahead (WEdit * edit, int c) -+void edit_insert_ahead (WEdit * edit, mc_wchar_t c) - { - if (edit->last_byte >= SIZE_LIMIT) - return; -@@ -908,7 +1020,7 @@ - edit->last_get_rule += (edit->last_get_rule >= edit->curs1); - - if (!((edit->curs2 + 1) & M_EDIT_BUF_SIZE)) -- edit->buffers2[(edit->curs2 + 1) >> S_EDIT_BUF_SIZE] = g_malloc (EDIT_BUF_SIZE); -+ edit->buffers2[(edit->curs2 + 1) >> S_EDIT_BUF_SIZE] = g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - edit->buffers2[edit->curs2 >> S_EDIT_BUF_SIZE][EDIT_BUF_SIZE - (edit->curs2 & M_EDIT_BUF_SIZE) - 1] = c; - - edit->last_byte++; -@@ -918,7 +1030,7 @@ - - int edit_delete (WEdit * edit) - { -- int p; -+ mc_wint_t p; - if (!edit->curs2) - return 0; - -@@ -942,7 +1054,7 @@ - edit->total_lines--; - edit->force |= REDRAW_AFTER_CURSOR; - } -- edit_push_action (edit, p + 256); -+ edit_push_action (edit, CHAR_INSERT_AHEAD, p); - if (edit->curs1 < edit->start_display) { - edit->start_display--; - if (p == '\n') -@@ -956,7 +1068,7 @@ - static int - edit_backspace (WEdit * edit) - { -- int p; -+ mc_wint_t p; - if (!edit->curs1) - return 0; - -@@ -980,7 +1092,7 @@ - edit->total_lines--; - edit->force |= REDRAW_AFTER_CURSOR; - } -- edit_push_action (edit, p); -+ edit_push_action (edit, CHAR_INSERT, p); - - if (edit->curs1 < edit->start_display) { - edit->start_display--; -@@ -993,10 +1105,18 @@ - - #ifdef FAST_MOVE_CURSOR - --static void memqcpy (WEdit * edit, unsigned char *dest, unsigned char *src, int n) -+static void memqcpy (WEdit * edit, mc_wchar_t *dest, mc_wchar_t *src, int n) - { - unsigned long next; -+#ifndef UTF8 - while ((next = (unsigned long) memccpy (dest, src, '\n', n))) { -+#else /* UTF8 */ -+ while (n) { -+ next = 0; -+ while (next < n && src[next]!='\n') next++; -+ if (next < n) next++; -+ wmemcpy (dest, src, next) -+#endif /* UTF8 */ - edit->curs_line--; - next -= (unsigned long) dest; - n -= next; -@@ -1009,7 +1129,7 @@ - edit_move_backward_lots (WEdit *edit, long increment) - { - int r, s, t; -- unsigned char *p; -+ mc_wchar_t *p; - - if (increment > edit->curs1) - increment = edit->curs1; -@@ -1049,7 +1169,7 @@ - edit->buffers2[edit->curs2 >> S_EDIT_BUF_SIZE] = p; - else - edit->buffers2[edit->curs2 >> S_EDIT_BUF_SIZE] = -- g_malloc (EDIT_BUF_SIZE); -+ g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - } else { - g_free (p); - } -@@ -1087,7 +1207,7 @@ - edit->buffers2[edit->curs2 >> S_EDIT_BUF_SIZE] = p; - else - edit->buffers2[edit->curs2 >> S_EDIT_BUF_SIZE] = -- g_malloc (EDIT_BUF_SIZE); -+ g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - } else { - g_free (p); - } -@@ -1119,7 +1239,7 @@ - - c = edit_get_byte (edit, edit->curs1 - 1); - if (!((edit->curs2 + 1) & M_EDIT_BUF_SIZE)) -- edit->buffers2[(edit->curs2 + 1) >> S_EDIT_BUF_SIZE] = g_malloc (EDIT_BUF_SIZE); -+ edit->buffers2[(edit->curs2 + 1) >> S_EDIT_BUF_SIZE] = g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - edit->buffers2[edit->curs2 >> S_EDIT_BUF_SIZE][EDIT_BUF_SIZE - (edit->curs2 & M_EDIT_BUF_SIZE) - 1] = c; - edit->curs2++; - c = edit->buffers1[(edit->curs1 - 1) >> S_EDIT_BUF_SIZE][(edit->curs1 - 1) & M_EDIT_BUF_SIZE]; -@@ -1144,7 +1264,7 @@ - - c = edit_get_byte (edit, edit->curs1); - if (!(edit->curs1 & M_EDIT_BUF_SIZE)) -- edit->buffers1[edit->curs1 >> S_EDIT_BUF_SIZE] = g_malloc (EDIT_BUF_SIZE); -+ edit->buffers1[edit->curs1 >> S_EDIT_BUF_SIZE] = g_malloc (EDIT_BUF_SIZE * sizeof(mc_wchar_t)); - edit->buffers1[edit->curs1 >> S_EDIT_BUF_SIZE][edit->curs1 & M_EDIT_BUF_SIZE] = c; - edit->curs1++; - c = edit->buffers2[(edit->curs2 - 1) >> S_EDIT_BUF_SIZE][EDIT_BUF_SIZE - ((edit->curs2 - 1) & M_EDIT_BUF_SIZE) - 1]; -@@ -1251,7 +1371,7 @@ - q = edit->last_byte + 2; - - for (col = 0, p = current; p < q; p++) { -- int c; -+ mc_wchar_t c; - if (cols != -10) { - if (col == cols) - return p; -@@ -1269,7 +1389,7 @@ - } else if (c < 32 || c == 127) - col += 2; /* Caret notation for control characters */ - else -- col++; -+ col += wcwidth(c); - } - return col; - } -@@ -1402,7 +1522,7 @@ - is_blank (WEdit *edit, long offset) - { - long s, f; -- int c; -+ mc_wchar_t c; - s = edit_bol (edit, offset); - f = edit_eol (edit, offset) - 1; - while (s <= f) { -@@ -1774,13 +1894,13 @@ - static void - edit_do_undo (WEdit * edit) - { -- long ac; -+ struct action ac; - long count = 0; - - edit->stack_disable = 1; /* don't record undo's onto undo stack! */ - -- while ((ac = pop_action (edit)) < KEY_PRESS) { -- switch ((int) ac) { -+ while (pop_action (edit, &ac) < KEY_PRESS) { -+ switch ((int) ac.flags) { - case STACK_BOTTOM: - goto done_undo; - case CURS_RIGHT: -@@ -1801,31 +1921,33 @@ - case COLUMN_OFF: - column_highlighting = 0; - break; -+ case CHAR_INSERT: -+ edit_insert (edit, ac.ch); -+ break; -+ case CHAR_INSERT_AHEAD: -+ edit_insert_ahead (edit, ac.ch); -+ break; - } -- if (ac >= 256 && ac < 512) -- edit_insert_ahead (edit, ac - 256); -- if (ac >= 0 && ac < 256) -- edit_insert (edit, ac); - -- if (ac >= MARK_1 - 2 && ac < MARK_2 - 2) { -- edit->mark1 = ac - MARK_1; -+ if (ac.flags >= MARK_1 - 2 && ac.flags < MARK_2 - 2) { -+ edit->mark1 = ac.flags - MARK_1; - edit->column1 = edit_move_forward3 (edit, edit_bol (edit, edit->mark1), 0, edit->mark1); -- } else if (ac >= MARK_2 - 2 && ac < KEY_PRESS) { -- edit->mark2 = ac - MARK_2; -+ } else if (ac.flags >= MARK_2 - 2 && ac.flags < KEY_PRESS) { -+ edit->mark2 = ac.flags - MARK_2; - edit->column2 = edit_move_forward3 (edit, edit_bol (edit, edit->mark2), 0, edit->mark2); - } - if (count++) - edit->force |= REDRAW_PAGE; /* more than one pop usually means something big */ - } - -- if (edit->start_display > ac - KEY_PRESS) { -- edit->start_line -= edit_count_lines (edit, ac - KEY_PRESS, edit->start_display); -+ if (edit->start_display > ac.flags - KEY_PRESS) { -+ edit->start_line -= edit_count_lines (edit, ac.flags - KEY_PRESS, edit->start_display); - edit->force |= REDRAW_PAGE; -- } else if (edit->start_display < ac - KEY_PRESS) { -- edit->start_line += edit_count_lines (edit, edit->start_display, ac - KEY_PRESS); -+ } else if (edit->start_display < ac.flags - KEY_PRESS) { -+ edit->start_line += edit_count_lines (edit, edit->start_display, ac.flags - KEY_PRESS); - edit->force |= REDRAW_PAGE; - } -- edit->start_display = ac - KEY_PRESS; /* see push and pop above */ -+ edit->start_display = ac.flags - KEY_PRESS; /* see push and pop above */ - edit_update_curs_row (edit); - - done_undo:; -@@ -2102,7 +2224,7 @@ - * passed as -1. Commands are executed, and char_for_insertion is - * inserted at the cursor. - */ --void edit_execute_key_command (WEdit *edit, int command, int char_for_insertion) -+void edit_execute_key_command (WEdit *edit, int command, mc_wint_t char_for_insertion) - { - if (command == CK_Begin_Record_Macro) { - edit->macro_i = 0; -@@ -2137,7 +2259,7 @@ - all of them. It also does not check for the Undo command. - */ - void --edit_execute_cmd (WEdit *edit, int command, int char_for_insertion) -+edit_execute_cmd (WEdit *edit, int command, mc_wint_t char_for_insertion) - { - edit->force |= REDRAW_LINE; - -@@ -2170,7 +2292,7 @@ - } - - /* An ordinary key press */ -- if (char_for_insertion >= 0) { -+ if (char_for_insertion != (mc_wint_t) -1) { - if (edit->overwrite) { - if (edit_get_byte (edit, edit->curs1) != '\n') - edit_delete (edit); -diff -urN mc-4.6.1.orig/edit/editcmd.c mc-4.6.1/edit/editcmd.c ---- mc-4.6.1.orig/edit/editcmd.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/edit/editcmd.c 2007-01-19 18:33:58.000000000 +0500 -@@ -24,7 +24,6 @@ - /* #define PIPE_BLOCKS_SO_READ_BYTE_BY_BYTE */ - - #include --#include - - #include "edit.h" - #include "editlock.h" -@@ -46,7 +45,7 @@ - #define edit_get_save_file(f,h) input_expand_dialog (h, _(" Enter file name: "), f) - - struct selection { -- unsigned char * text; -+ mc_wchar_t *text; - int len; - }; - -@@ -69,12 +68,16 @@ - #define MAX_REPL_LEN 1024 - - static int edit_save_cmd (WEdit *edit); --static unsigned char *edit_get_block (WEdit *edit, long start, -+static mc_wchar_t *edit_get_block (WEdit *edit, long start, - long finish, int *l); - --static inline int my_lower_case (int c) -+static inline mc_wchar_t my_lower_case (mc_wchar_t c) - { -+#ifndef UTF8 - return tolower(c & 0xFF); -+#else -+ return towlower(c); -+#endif - } - - static const char *strcasechr (const unsigned char *s, int c) -@@ -108,11 +111,11 @@ - #endif /* !HAVE_MEMMOVE */ - - /* #define itoa MY_itoa <---- this line is now in edit.h */ --static char * -+static mc_wchar_t * - MY_itoa (int i) - { -- static char t[14]; -- char *s = t + 13; -+ static mc_wchar_t t[14]; -+ mc_wchar_t *s = t + 13; - int j = i; - *s-- = 0; - do { -@@ -196,6 +199,48 @@ - doupdate(); - } - -+#ifdef UTF8 -+ -+static size_t -+wchar_write(int fd, mc_wchar_t *buf, size_t len) -+{ -+ char *tmpbuf = g_malloc(len + MB_LEN_MAX); -+ mbstate_t mbs; -+ size_t i; -+ size_t outlen = 0; -+ size_t res; -+ -+ for (i = 0; i < len; i++) { -+ if (outlen >= len) { -+ if ((res = mc_write(fd, tmpbuf, outlen)) != outlen) { -+ g_free(tmpbuf); -+ return -1; -+ } -+ outlen = 0; -+ } -+ memset (&mbs, 0, sizeof (mbs)); -+#ifdef __STDC_ISO_10646__ -+ if (buf[i] >= BINARY_CHAR_OFFSET && buf[i] < (BINARY_CHAR_OFFSET + 256)) { -+ res = 1; -+ tmpbuf[outlen] = (char) (buf[i] - BINARY_CHAR_OFFSET); -+ -+ } else -+#endif -+ res = wcrtomb(tmpbuf + outlen, buf[i], &mbs); -+ if (res > 0) { -+ outlen += res; -+ } -+ } -+ if ((res = mc_write(fd, tmpbuf, outlen)) != outlen) { -+ g_free(tmpbuf); -+ return -1; -+ } -+ g_free(tmpbuf); -+ return len; -+} -+ -+#endif /* UTF8 */ -+ - /* If 0 (quick save) then a) create/truncate file, - b) save to ; - if 1 (safe save) then a) save to , -@@ -225,7 +270,7 @@ - } - - if (!vfs_file_is_local (filename) || -- (fd = mc_open (filename, O_WRONLY | O_BINARY)) == -1) { -+ (fd = mc_open (filename, O_RDONLY | O_BINARY)) == -1) { - /* - * The file does not exists yet, so no safe save or - * backup are necessary. -@@ -303,32 +348,48 @@ - buf = 0; - filelen = edit->last_byte; - while (buf <= (edit->curs1 >> S_EDIT_BUF_SIZE) - 1) { -+#ifndef UTF8 - if (mc_write (fd, (char *) edit->buffers1[buf], EDIT_BUF_SIZE) -+#else /* UTF8 */ -+ if (wchar_write (fd, edit->buffers1[buf], EDIT_BUF_SIZE) -+#endif /* UTF8 */ - != EDIT_BUF_SIZE) { - mc_close (fd); - goto error_save; - } - buf++; - } -+#ifndef UTF8 - if (mc_write - (fd, (char *) edit->buffers1[buf], -+#else /* UTF8 */ -+ if (wchar_write -+ (fd, edit->buffers1[buf], -+#endif /* UTF8 */ - edit->curs1 & M_EDIT_BUF_SIZE) != - (edit->curs1 & M_EDIT_BUF_SIZE)) { - filelen = -1; - } else if (edit->curs2) { - edit->curs2--; - buf = (edit->curs2 >> S_EDIT_BUF_SIZE); -- if (mc_write -- (fd, -- (char *) edit->buffers2[buf] + EDIT_BUF_SIZE - -+#ifndef UTF8 -+ if (mc_write(fd, (char *) edit->buffers2[buf] + EDIT_BUF_SIZE - -+#else /* UTF8 */ -+ if (wchar_write(fd, edit->buffers2[buf] + EDIT_BUF_SIZE - -+#endif /* UTF8 */ - (edit->curs2 & M_EDIT_BUF_SIZE) - 1, - 1 + (edit->curs2 & M_EDIT_BUF_SIZE)) != - 1 + (edit->curs2 & M_EDIT_BUF_SIZE)) { - filelen = -1; - } else { - while (--buf >= 0) { -+#ifndef UTF8 - if (mc_write - (fd, (char *) edit->buffers2[buf], -+#else /* UTF8 */ -+ if (wchar_write -+ (fd, edit->buffers2[buf], -+#endif /* UTF8 */ - EDIT_BUF_SIZE) != EDIT_BUF_SIZE) { - filelen = -1; - break; -@@ -643,13 +704,21 @@ - if (!n || n == EOF) - break; - n = 0; -+#ifndef UTF8 - while (fscanf (f, "%hd %hd, ", ¯o[n].command, ¯o[n].ch)) -+#else /* UTF8 */ -+ while (fscanf (f, "%hd %lu, ", ¯o[n].command, ¯o[n].ch)) -+#endif /* UTF8 */ - n++; - fscanf (f, ";\n"); - if (s != k) { - fprintf (g, ("key '%d 0': "), s); - for (i = 0; i < n; i++) -+#ifndef UTF8 - fprintf (g, "%hd %hd, ", macro[i].command, macro[i].ch); -+#else /* UTF8 */ -+ fprintf (g, "%hd %lu, ", macro[i].command, macro[i].ch); -+#endif /* UTF8 */ - fprintf (g, ";\n"); - } - } -@@ -685,7 +754,11 @@ - if (f) { - fprintf (f, ("key '%d 0': "), s); - for (i = 0; i < n; i++) -+#ifndef UTF8 - fprintf (f, "%hd %hd, ", macro[i].command, macro[i].ch); -+#else /* UTF8 */ -+ fprintf (f, "%hd %lu, ", macro[i].command, macro[i].ch); -+#endif /* UTF8 */ - fprintf (f, ";\n"); - fclose (f); - if (saved_macros_loaded) { -@@ -734,10 +807,18 @@ - saved_macro[i++] = s; - if (!found) { - *n = 0; -+#ifndef UTF8 - while (*n < MAX_MACRO_LENGTH && 2 == fscanf (f, "%hd %hd, ", ¯o[*n].command, ¯o[*n].ch)) -+#else /* UTF8 */ -+ while (*n < MAX_MACRO_LENGTH && 2 == fscanf (f, "%hd %lu, ", ¯o[*n].command, ¯o[*n].ch)) -+#endif /* UTF8 */ - (*n)++; - } else { -+#ifndef UTF8 - while (2 == fscanf (f, "%hd %hd, ", &dummy.command, &dummy.ch)); -+#else /* UTF8 */ -+ while (2 == fscanf (f, "%hd %lu, ", &dummy.command, &dummy.ch)); -+#endif /* UTF8 */ - } - fscanf (f, ";\n"); - if (s == k) -@@ -886,7 +967,7 @@ - #define space_width 1 - - static void --edit_insert_column_of_text (WEdit * edit, unsigned char *data, int size, int width) -+edit_insert_column_of_text (WEdit * edit, mc_wchar_t *data, int size, int width) - { - long cursor; - int i, col; -@@ -934,7 +1015,7 @@ - { - long start_mark, end_mark, current = edit->curs1; - int size, x; -- unsigned char *copy_buf; -+ mc_wchar_t *copy_buf; - - edit_update_curs_col (edit); - x = edit->curs_col; -@@ -979,7 +1060,7 @@ - { - long count; - long current; -- unsigned char *copy_buf; -+ mc_wchar_t *copy_buf; - long start_mark, end_mark; - int deleted = 0; - int x = 0; -@@ -1040,7 +1121,7 @@ - edit_push_action (edit, COLUMN_ON); - column_highlighting = 0; - } else { -- copy_buf = g_malloc (end_mark - start_mark); -+ copy_buf = g_malloc ((end_mark - start_mark) * sizeof(mc_wchar_t)); - edit_cursor_move (edit, start_mark - edit->curs1); - edit_scroll_screen_over_cursor (edit); - count = start_mark; -@@ -1371,7 +1452,11 @@ - /* This function is a modification of mc-3.2.10/src/view.c:regexp_view_search() */ - /* returns -3 on error in pattern, -1 on not found, found_len = 0 if either */ - static int -+#ifndef UTF8 - string_regexp_search (char *pattern, char *string, int len, int match_type, -+#else /* UTF8 */ -+string_regexp_search (char *pattern, mc_wchar_t *wstring, int match_type, -+#endif /* UTF8 */ - int match_bol, int icase, int *found_len, void *d) - { - static regex_t r; -@@ -1380,6 +1465,11 @@ - regmatch_t *pmatch; - static regmatch_t s[1]; - -+#ifdef UTF8 -+ char *string; -+ int i; -+#endif /* UTF8 */ -+ - pmatch = (regmatch_t *) d; - if (!pmatch) - pmatch = s; -@@ -1399,13 +1489,51 @@ - old_type = match_type; - old_icase = icase; - } -+ -+#ifdef UTF8 -+ string = wchar_to_mbstr(wstring); -+ if (string == NULL) -+ return -1; -+#endif /* UTF8 */ -+ - if (regexec - (&r, string, d ? NUM_REPL_ARGS : 1, pmatch, - ((match_bol - || match_type != match_normal) ? 0 : REG_NOTBOL)) != 0) { - *found_len = 0; -+ -+#ifdef UTF8 -+ g_free(string); -+#endif /* UTF8 */ -+ - return -1; - } -+ -+#ifdef UTF8 -+ for (i = 0; i < (d ? NUM_REPL_ARGS : 1); i++) { -+ char tmp; -+ int new_o; -+ -+ if (pmatch[i].rm_so < 0) -+ continue; -+ tmp = string[pmatch[i].rm_so]; -+ string[pmatch[i].rm_so] = 0; -+ new_o = mbstrlen(string); -+ string[pmatch[i].rm_so] = tmp; -+ pmatch[i].rm_so = new_o; -+ -+ if (pmatch[i].rm_eo < 0) -+ continue; -+ tmp = string[pmatch[i].rm_eo]; -+ string[pmatch[i].rm_eo] = 0; -+ new_o = mbstrlen(string); -+ string[pmatch[i].rm_eo] = tmp; -+ pmatch[i].rm_eo = new_o; -+ } -+ -+ g_free(string); -+#endif /* UTF8 */ -+ - *found_len = pmatch[0].rm_eo - pmatch[0].rm_so; - return (pmatch[0].rm_so); - } -@@ -1413,13 +1541,29 @@ - /* thanks to Liviu Daia for getting this - (and the above) routines to work properly - paul */ - -+#ifndef UTF8 - typedef int (*edit_getbyte_fn) (WEdit *, long); -+#else /* UTF8 */ -+typedef mc_wchar_t (*edit_getbyte_fn) (WEdit *, long); -+#endif /* UTF8 */ - - static long -+#ifndef UTF8 - edit_find_string (long start, unsigned char *exp, int *len, long last_byte, edit_getbyte_fn get_byte, void *data, int once_only, void *d) -+#else /* UTF8 */ -+edit_find_string (long start, unsigned char *exp_mb, int *len, long last_byte, edit_getbyte_fn get_byte, void *data, int once_only, void *d) -+#endif /* UTF8 */ - { - long p, q = 0; -- long l = strlen ((char *) exp), f = 0; -+ long f = 0; -+ -+#ifndef UTF8 -+ long l = strlen ((char *) exp); -+#else /* UTF8 */ -+ mc_wchar_t *exp = mbstr_to_wchar((char *)exp_mb); -+ mc_wchar_t *exp_backup = exp; -+ long l = wcslen(exp); -+#endif /* UTF8 */ - int n = 0; - - for (p = 0; p < l; p++) /* count conversions... */ -@@ -1428,19 +1572,22 @@ - n++; - - if (replace_scanf || replace_regexp) { -- int c; -- unsigned char *buf; -- unsigned char mbuf[MAX_REPL_LEN * 2 + 3]; -+ mc_wint_t c; -+ mc_wchar_t *buf; -+ mc_wchar_t mbuf[MAX_REPL_LEN * 2 + 3]; - - replace_scanf = (!replace_regexp); /* can't have both */ - - buf = mbuf; - - if (replace_scanf) { -- unsigned char e[MAX_REPL_LEN]; -- if (n >= NUM_REPL_ARGS) -- return -3; -- -+ mc_wchar_t e[MAX_REPL_LEN]; -+ if (n >= NUM_REPL_ARGS) { -+#ifdef UTF8 -+ g_free(exp_backup); -+#endif /* UTF8 */ -+ return -3; -+ } - if (replace_case) { - for (p = start; p < last_byte && p < start + MAX_REPL_LEN; p++) - buf[p - start] = (*get_byte) (data, p); -@@ -1454,20 +1601,36 @@ - } - - buf[(q = p - start)] = 0; -+#ifndef UTF8 - strcpy ((char *) e, (char *) exp); - strcat ((char *) e, "%n"); -+#else /* UTF8 */ -+ wcscpy (e, exp); -+ wcscat (e, L"%n"); -+#endif /* UTF8 */ - exp = e; - - while (q) { - *((int *) sargs[n]) = 0; /* --> here was the problem - now fixed: good */ -+#ifndef UTF8 - if (n == sscanf ((char *) buf, (char *) exp, SCANF_ARGS)) { -+#else /* UTF8 */ -+ if (n == swscanf (buf, exp, SCANF_ARGS)) { -+#endif /* UTF8 */ - if (*((int *) sargs[n])) { - *len = *((int *) sargs[n]); -+#ifdef UTF8 -+ g_free(exp_backup); -+#endif /* UTF8 */ - return start; - } - } -- if (once_only) -+ if (once_only) { -+#ifdef UTF8 -+ g_free(exp_backup); -+#endif /* UTF8 */ - return -2; -+ } - if (q + start < last_byte) { - if (replace_case) { - buf[q] = (*get_byte) (data, q + start); -@@ -1481,7 +1644,11 @@ - start++; - buf++; /* move the window along */ - if (buf == mbuf + MAX_REPL_LEN) { /* the window is about to go past the end of array, so... */ -+#ifndef UTF8 - memmove (mbuf, buf, strlen ((char *) buf) + 1); /* reset it */ -+#else /* UTF8 */ -+ wmemmove (mbuf, buf, (wcslen (buf) + 1)); /* reset it */ -+#endif /* UTF8 */ - buf = mbuf; - } - q--; -@@ -1507,10 +1674,17 @@ - - buf = mbuf; - while (q) { -+#ifndef UTF8 - found_start = string_regexp_search ((char *) exp, (char *) buf, q, match_normal, match_bol, !replace_case, len, d); -+#else /* UTF8 */ -+ found_start = string_regexp_search ((char *) exp_mb, buf, match_normal, match_bol, !replace_case, len, d); -+#endif /* UTF8 */ - - if (found_start <= -2) { /* regcomp/regexec error */ - *len = 0; -+#ifdef UTF8 -+ g_free (exp_backup); -+#endif /* UTF8 */ - return -3; - } - else if (found_start == -1) /* not found: try next line */ -@@ -1521,15 +1695,27 @@ - match_bol = 0; - continue; - } -- else /* found */ -+ else { /* found */ -+#ifdef UTF8 -+ g_free(exp_backup); -+#endif /* UTF8 */ - return (start + offset - q + found_start); -+ } - } -- if (once_only) -+ if (once_only) { -+#ifdef UTF8 -+ g_free(exp_backup); -+#endif /* UTF8 */ - return -2; -+ } - - if (buf[q - 1] != '\n') { /* incomplete line: try to recover */ - buf = mbuf + MAX_REPL_LEN / 2; -+#ifndef UTF8 - q = strlen ((const char *) buf); -+#else /* UTF8 */ -+ q = wcslen (buf); -+#endif /* UTF8 */ - memmove (mbuf, buf, q); - p = start + q; - move_win = 1; -@@ -1539,36 +1725,59 @@ - } - } - } else { -+#ifndef UTF8 - *len = strlen ((const char *) exp); -+#else /* UTF8 */ -+ *len = wcslen (exp); -+#endif /* UTF8 */ - if (replace_case) { - for (p = start; p <= last_byte - l; p++) { -- if ((*get_byte) (data, p) == (unsigned char)exp[0]) { /* check if first char matches */ -+ if ((*get_byte) (data, p) == exp[0]) { /* check if first char matches */ - for (f = 0, q = 0; q < l && f < 1; q++) -- if ((*get_byte) (data, q + p) != (unsigned char)exp[q]) -+ if ((*get_byte) (data, q + p) != exp[q]) - f = 1; -- if (f == 0) -+ if (f == 0) { -+#ifdef UTF8 -+ g_free (exp_backup); -+#endif /* UTF8 */ - return p; -+ } - } -- if (once_only) -+ if (once_only) { -+#ifdef UTF8 -+ g_free(exp_backup); -+#endif /* UTF8 */ - return -2; -+ } - } - } else { - for (p = 0; exp[p] != 0; p++) - exp[p] = my_lower_case (exp[p]); - - for (p = start; p <= last_byte - l; p++) { -- if (my_lower_case ((*get_byte) (data, p)) == (unsigned char)exp[0]) { -+ if (my_lower_case ((*get_byte) (data, p)) == exp[0]) { - for (f = 0, q = 0; q < l && f < 1; q++) -- if (my_lower_case ((*get_byte) (data, q + p)) != (unsigned char)exp[q]) -+ if (my_lower_case ((*get_byte) (data, q + p)) != exp[q]) - f = 1; -- if (f == 0) -+ if (f == 0) { -+#ifdef UTF8 -+ g_free (exp_backup); -+#endif /* UTF8 */ - return p; -+ } - } -- if (once_only) -+ if (once_only) { -+#ifdef UTF8 -+ g_free (exp_backup); -+#endif /* UTF8 */ - return -2; -+ } - } - } - } -+#ifdef UTF8 -+ g_free (exp_backup); -+#endif /* UTF8 */ - return -2; - } - -@@ -1582,9 +1791,14 @@ - - while ((p = edit_find_string (p, exp, len, last_byte, get_byte, data, once_only, d)) >= 0) { - if (replace_whole) { -+#ifndef UTF8 - /*If the bordering chars are not in option_whole_chars_search then word is whole */ - if (!strcasechr (option_whole_chars_search, (*get_byte) (data, p - 1)) - && !strcasechr (option_whole_chars_search, (*get_byte) (data, p + *len))) -+#else /* UTF8 */ -+ if (!iswalnum((*get_byte) (data, p - 1)) -+ && !iswalnum((*get_byte) (data, p + *len))) -+#endif /* UTF8 */ - return p; - if (once_only) - return -2; -@@ -1616,6 +1830,7 @@ - - #define is_digit(x) ((x) >= '0' && (x) <= '9') - -+#ifndef UTF8 - #define snprint(v) { \ - *p1++ = *p++; \ - *p1 = '\0'; \ -@@ -1623,33 +1838,48 @@ - if (n >= (size_t) (e - s)) goto nospc; \ - s += n; \ - } -+#else /* UTF8 */ -+#define snprint(v) { \ -+ *p1++ = *p++; \ -+ *p1 = '\0'; \ -+ n = swprintf(s, e-s, q1,v); \ -+ if (n >= (size_t) (e - s)) goto nospc; \ -+ s += n; \ -+ } -+#endif /* UTF8 */ - - /* this function uses the sprintf command to do a vprintf */ - /* it takes pointers to arguments instead of the arguments themselves */ - /* The return value is the number of bytes written excluding '\0' - if successfull, -1 if the resulting string would be too long and - -2 if the format string is errorneous. */ --static int snprintf_p (char *str, size_t size, const char *fmt,...) -- __attribute__ ((format (printf, 3, 4))); -- --static int snprintf_p (char *str, size_t size, const char *fmt,...) -+static int snprintf_p (mc_wchar_t *str, size_t size, const mc_wchar_t *fmt,...) - { - va_list ap; - size_t n; -- const char *q, *p; -- char *s = str, *e = str + size; -- char q1[40]; -- char *p1; -+ const mc_wchar_t *q, *p; -+ mc_wchar_t *s = str, *e = str + size; -+ mc_wchar_t q1[40]; -+ -+ mc_wchar_t *p1; - int nargs = 0; - - va_start (ap, fmt); - p = q = fmt; - -+#ifndef UTF8 - while ((p = strchr (p, '%'))) { -+#else /* UTF8 */ -+ while ((p = wcschr (p, L'%'))) { -+#endif /* UTF8 */ - n = p - q; - if (n >= (size_t) (e - s)) - goto nospc; -+#ifndef UTF8 - memcpy (s, q, n); /* copy stuff between format specifiers */ -+#else /* UTF8 */ -+ wmemcpy (s, q, n); /* copy stuff between format specifiers */ -+#endif /* UTF8 */ - s += n; - q = p; - p1 = q1; -@@ -1677,45 +1907,78 @@ - *p1++ = *p++; - if (*p == '*') { - p++; -+#ifndef UTF8 - strcpy (p1, MY_itoa (*va_arg (ap, int *))); /* replace field width with a number */ - p1 += strlen (p1); -+#else /* UTF8 */ -+ wcscpy (p1, MY_itoa (*va_arg (ap, int *))); /* replace field width with a number */ -+ p1 += wcslen (p1); -+#endif /* UTF8 */ - } else { -- while (is_digit (*p) && p1 < q1 + 20) -+#ifndef UTF8 -+ while (is_digit (*p) -+#else /* UTF8 */ -+ while (iswdigit (*p) -+#endif /* UTF8 */ -+ && p1 < q1 + 20) - *p1++ = *p++; -- if (is_digit (*p)) -+#ifndef UTF8 -+ if (is_digit (*p)) -+#else /* UTF8 */ -+ if (iswdigit (*p)) -+#endif /* UTF8 */ - goto err; - } - if (*p == '.') - *p1++ = *p++; - if (*p == '*') { - p++; -+#ifndef UTF8 - strcpy (p1, MY_itoa (*va_arg (ap, int *))); /* replace precision with a number */ - p1 += strlen (p1); -+#else /* UTF8 */ -+ wcscpy (p1, MY_itoa (*va_arg (ap, int *))); /* replace precision with a number */ -+ p1 += wcslen (p1); -+#endif /* UTF8 */ - } else { -- while (is_digit (*p) && p1 < q1 + 32) -+#ifndef UTF8 -+ while (is_digit (*p) -+#else /* UTF8 */ -+ while (iswdigit (*p) -+#endif /* UTF8 */ -+ && p1 < q1 + 32) - *p1++ = *p++; -- if (is_digit (*p)) -+#ifndef UTF8 -+ if (is_digit (*p)) -+#else /* UTF8 */ -+ if (iswdigit (*p)) -+#endif /* UTF8 */ - goto err; - } - /* flags done, now get argument */ - if (*p == 's') { -+#ifndef UTF8 - snprint (va_arg (ap, char *)); -+#else /* UTF8 */ -+ *p1++ = 'l'; -+ snprint (va_arg (ap, mc_wchar_t *)); -+#endif /* UTF8 */ - } else if (*p == 'h') { -- if (strchr ("diouxX", *p)) -+ if (*p < 128 && strchr ("diouxX", *p)) - snprint (*va_arg (ap, short *)); - } else if (*p == 'l') { - *p1++ = *p++; -- if (strchr ("diouxX", *p)) -+ if (*p < 128 && strchr ("diouxX", *p)) - snprint (*va_arg (ap, long *)); -- } else if (strchr ("cdiouxX", *p)) { -+ } else if (*p < 128 && strchr ("cdiouxX", *p)) { - snprint (*va_arg (ap, int *)); - } else if (*p == 'L') { - *p1++ = *p++; -- if (strchr ("EefgG", *p)) -+ if (*p < 128 && strchr ("EefgG", *p)) - snprint (*va_arg (ap, double *)); /* should be long double */ -- } else if (strchr ("EefgG", *p)) { -+ } else if (*p < 128 && strchr ("EefgG", *p)) { - snprint (*va_arg (ap, double *)); -- } else if (strchr ("DOU", *p)) { -+ } else if (*p < 128 && strchr ("DOU", *p)) { - snprint (*va_arg (ap, long *)); - } else if (*p == 'p') { - snprint (*va_arg (ap, void **)); -@@ -1724,10 +1987,17 @@ - q = p; - } - va_end (ap); -+#ifndef UTF8 - n = strlen (q); - if (n >= (size_t) (e - s)) - return -1; - memcpy (s, q, n + 1); -+#else /* UTF8 */ -+ n = wcslen (q); -+ if (n >= (size_t) (e - s)) -+ return -1; -+ wmemcpy (s, q, n + 1); -+#endif /* UTF8 */ - return s + n - str; - nospc: - va_end (ap); -@@ -1902,8 +2172,11 @@ - } - } - if (replace_yes) { /* delete then insert new */ -+#ifdef UTF8 -+ mc_wchar_t *winput2 = mbstr_to_wchar(exp2); -+#endif /* UTF8 */ - if (replace_scanf || replace_regexp) { -- char repl_str[MAX_REPL_LEN + 2]; -+ mc_wchar_t repl_str[MAX_REPL_LEN + 2]; - int ret = 0; - - /* we need to fill in sargs just like with scanf */ -@@ -1912,17 +2185,25 @@ - for (k = 1; - k < NUM_REPL_ARGS && pmatch[k].rm_eo >= 0; - k++) { -+#ifndef UTF8 - unsigned char *t; -+#else /* UTF8 */ -+ mc_wchar_t *t; -+#endif - - if (pmatch[k].rm_eo - pmatch[k].rm_so > 255) { - ret = -1; - break; - } -+#ifndef UTF8 - t = (unsigned char *) &sargs[k - 1][0]; -+#else /* UTF8 */ -+ t = (mc_wchar_t *) &sargs[k - 1][0]; -+#endif /* UTF8 */ - for (j = 0; - j < pmatch[k].rm_eo - pmatch[k].rm_so - && j < 255; j++, t++) -- *t = (unsigned char) edit_get_byte (edit, -+ *t = edit_get_byte (edit, - edit-> - search_start - - -@@ -1939,13 +2220,22 @@ - sargs[k - 1][0] = 0; - } - if (!ret) -+#ifndef UTF8 - ret = snprintf_p (repl_str, MAX_REPL_LEN + 2, exp2, PRINTF_ARGS); -+#else /* UTF8 */ -+ ret = snprintf_p (repl_str, MAX_REPL_LEN + 2, winput2, PRINTF_ARGS); -+#endif /* UTF8 */ - if (ret >= 0) { - times_replaced++; - while (i--) - edit_delete (edit); -+#ifndef UTF8 - while (repl_str[++i]) - edit_insert (edit, repl_str[i]); -+#else /* UTF8 */ -+ while (winput2[++i]) -+ edit_insert (edit, winput2[i]); -+#endif /* UTF8 */ - } else { - edit_error_dialog (_(" Replace "), - ret == -2 -@@ -1957,10 +2247,18 @@ - times_replaced++; - while (i--) - edit_delete (edit); -+#ifndef UTF8 - while (exp2[++i]) - edit_insert (edit, exp2[i]); -+#else /* UTF8 */ -+ while (winput2[++i]) -+ edit_insert (edit, winput2[i]); -+#endif - } - edit->found_len = i; -+#ifdef UTF8 -+ g_free (winput2); -+#endif /* UTF8 */ - } - /* so that we don't find the same string again */ - if (replace_backwards) { -@@ -2132,16 +2430,17 @@ - #define TEMP_BUF_LEN 1024 - - /* Return a null terminated length of text. Result must be g_free'd */ --static unsigned char * -+static mc_wchar_t * - edit_get_block (WEdit *edit, long start, long finish, int *l) - { -- unsigned char *s, *r; -- r = s = g_malloc (finish - start + 1); -+ mc_wchar_t *s, *r; -+ r = s = g_malloc ((finish - start + 1) * sizeof(mc_wchar_t)); - if (column_highlighting) { - *l = 0; - /* copy from buffer, excluding chars that are out of the column 'margins' */ - while (start < finish) { -- int c, x; -+ mc_wchar_t c; -+ int x; - x = edit_move_forward3 (edit, edit_bol (edit, start), 0, - start); - c = edit_get_byte (edit, start); -@@ -2174,11 +2473,15 @@ - return 0; - - if (column_highlighting) { -- unsigned char *block, *p; -+ mc_wchar_t *block, *p; - int r; - p = block = edit_get_block (edit, start, finish, &len); - while (len) { -+#ifndef UTF8 - r = mc_write (file, p, len); -+#else /* UTF8 */ -+ r = wchar_write (file, p, len); -+#endif /* UTF8 */ - if (r < 0) - break; - p += r; -@@ -2186,15 +2489,19 @@ - } - g_free (block); - } else { -- unsigned char *buf; -+ mc_wchar_t *buf; - int i = start, end; - len = finish - start; -- buf = g_malloc (TEMP_BUF_LEN); -+ buf = g_malloc (TEMP_BUF_LEN * sizeof(mc_wchar_t)); - while (start != finish) { - end = min (finish, start + TEMP_BUF_LEN); - for (; i < end; i++) - buf[i - start] = edit_get_byte (edit, i); -+#ifndef UTF8 - len -= mc_write (file, (char *) buf, end - start); -+#else /* UTF8 */ -+ len -= wchar_write (file, buf, end - start); -+#endif /* UTF8 */ - start = end; - } - g_free (buf); -@@ -2531,17 +2838,20 @@ - - /* prints at the cursor */ - /* returns the number of chars printed */ -+#ifndef UTF8 - int edit_print_string (WEdit * e, const char *s) -+#else /* UTF8 */ -+int edit_print_wstring (WEdit * e, mc_wchar_t *s) -+#endif /* UTF8 */ - { - int i = 0; - while (s[i]) -- edit_execute_cmd (e, -1, (unsigned char) s[i++]); -+ edit_execute_cmd (e, -1, s[i++]); - e->force |= REDRAW_COMPLETELY; - edit_update_screen (e); - return i; - } - -- - static void pipe_mail (WEdit *edit, char *to, char *subject, char *cc) - { - FILE *p = 0; -@@ -2635,15 +2945,20 @@ - /* find first character of current word */ - static int edit_find_word_start (WEdit *edit, long *word_start, int *word_len) - { -- int i, c, last; -+ int i; -+ mc_wint_t c, last; - - /* return if at begin of file */ - if (edit->curs1 <= 0) - return 0; - -- c = (unsigned char) edit_get_byte (edit, edit->curs1 - 1); -+ c = edit_get_byte (edit, edit->curs1 - 1); - /* return if not at end or in word */ -+#ifndef UTF8 - if (isspace (c) || !(isalnum (c) || c == '_')) -+#else /* UTF8 */ -+ if (iswspace (c) || !(iswalnum (c) || c == '_')) -+#endif /* UTF8 */ - return 0; - - /* search start of word to be completed */ -@@ -2653,11 +2968,19 @@ - return 0; - - last = c; -- c = (unsigned char) edit_get_byte (edit, edit->curs1 - i); -+ c = edit_get_byte (edit, edit->curs1 - i); - -+#ifndef UTF8 - if (!(isalnum (c) || c == '_')) { -+#else /* UTF8 */ -+ if (!(iswalnum (c) || c == '_')) { -+#endif /* UTF8 */ - /* return if word starts with digit */ -+#ifndef UTF8 - if (isdigit (last)) -+#else /* UTF8 */ -+ if (iswdigit (last)) -+#endif /* UTF8 */ - return 0; - - *word_start = edit->curs1 - (i - 1); /* start found */ -@@ -2690,7 +3013,7 @@ - int *num) - { - int len, max_len = 0, i, skip; -- char *bufpos; -+ mc_wchar_t *bufpos; - - /* collect max MAX_WORD_COMPLETIONS completions */ - while (*num < MAX_WORD_COMPLETIONS) { -@@ -2711,9 +3034,16 @@ - buffers1[start >> S_EDIT_BUF_SIZE][start & M_EDIT_BUF_SIZE]; - skip = 0; - for (i = 0; i < *num; i++) { -+#ifndef UTF8 - if (strncmp - (&compl[i].text[word_len], &bufpos[word_len], -- max (len, compl[i].len) - word_len) == 0) { -+ max (len, -+#else /* UTF8 */ -+ if (wcsncmp -+ ((wchar_t *) &compl[i].text[word_len], -+ (wchar_t *) &bufpos[word_len], max (len, -+#endif /* UTF8 */ -+ compl[i].len) - word_len) == 0) { - skip = 1; - break; /* skip it, already added */ - } -@@ -2721,7 +3051,7 @@ - if (skip) - continue; - -- compl[*num].text = g_malloc (len + 1); -+ compl[*num].text = g_malloc ((len + 1) * sizeof(mc_wchar_t)); - compl[*num].len = len; - for (i = 0; i < len; i++) - compl[*num].text[i] = *(bufpos + i); -@@ -2735,6 +3065,18 @@ - return max_len; - } - -+#ifdef UTF8 -+int edit_print_string (WEdit * e, const char *s) -+{ -+ int i; -+ mc_wchar_t *ws = mbstr_to_wchar(s); -+ i = edit_print_wstring (e, ws); -+ g_free(ws); -+ return i; -+} -+ -+#endif /* UTF8 */ -+ - - /* let the user select its preferred completion */ - static void -@@ -2747,6 +3089,10 @@ - WListbox *compl_list; - int compl_dlg_h; /* completion dialog height */ - int compl_dlg_w; /* completion dialog width */ -+#ifdef UTF8 -+ char *mbtext; -+#endif /* UTF8 */ -+ - - /* calculate the dialog metrics */ - compl_dlg_h = num_compl + 2; -@@ -2782,8 +3128,16 @@ - add_widget (compl_dlg, compl_list); - - /* fill the listbox with the completions */ -+#ifndef UTF8 - for (i = 0; i < num_compl; i++) - listbox_add_item (compl_list, 0, 0, compl[i].text, NULL); -+#else /* UTF8 */ -+ for (i = 0; i < num_compl; i++) { -+ mbtext = wchar_to_mbstr(compl[i].text); -+ listbox_add_item (compl_list, 0, 0, mbtext, NULL); -+ g_free(mbtext); -+ } -+#endif /* UTF8 */ - - /* pop up the dialog */ - run_dlg (compl_dlg); -@@ -2791,9 +3145,17 @@ - /* apply the choosen completion */ - if (compl_dlg->ret_value == B_ENTER) { - listbox_get_current (compl_list, &curr, NULL); -- if (curr) -+ if (curr){ -+#ifndef UTF8 - for (curr += word_len; *curr; curr++) - edit_insert (edit, *curr); -+#else /* UTF8 */ -+ mc_wchar_t *wc, *wccurr = mbstr_to_wchar(curr); -+ for (wc = wccurr + word_len; *wc; wc++) -+ edit_insert (edit, *wc); -+ g_free(wccurr); -+#endif /* UTF8 */ -+ } - } - - /* destroy dialog before return */ -@@ -2810,8 +3172,9 @@ - { - int word_len = 0, i, num_compl = 0, max_len; - long word_start = 0; -- char *bufpos; -- char *match_expr; -+ mc_wchar_t *bufpos; -+ mc_wchar_t *match_expr; -+ char *mbmatch_expr; - struct selection compl[MAX_WORD_COMPLETIONS]; /* completions */ - - /* don't want to disturb another search */ -@@ -2828,16 +3191,32 @@ - /* prepare match expression */ - bufpos = &edit->buffers1[word_start >> S_EDIT_BUF_SIZE] - [word_start & M_EDIT_BUF_SIZE]; -+ -+ match_expr = g_malloc((word_len + 14) * sizeof(mc_wchar_t)); -+#ifndef UTF8 - match_expr = g_strdup_printf ("%.*s[a-zA-Z_0-9]+", word_len, bufpos); -+#else /* UTF8 */ -+ wcsncpy (match_expr, bufpos, word_len); -+ match_expr[word_len] = '\0'; -+ wcscat (match_expr, L"[a-zA-Z_0-9]+"); -+#endif /* UTF8 */ - - /* init search: backward, regexp, whole word, case sensitive */ - edit_set_search_parameters (0, 1, 1, 1, 1); - - /* collect the possible completions */ - /* start search from curs1 down to begin of file */ -+#ifndef UTF8 - max_len = - edit_collect_completions (edit, word_start, word_len, match_expr, - (struct selection *) &compl, &num_compl); -+#else /* UTF8 */ -+ mbmatch_expr = wchar_to_mbstr(match_expr); -+ max_len = -+ edit_collect_completions (edit, word_start, word_len, mbmatch_expr, -+ (struct selection *) &compl, &num_compl); -+ g_free(mbmatch_expr); -+#endif /* UTF8 */ - - if (num_compl > 0) { - /* insert completed word if there is only one match */ -diff -urN mc-4.6.1.orig/edit/editdraw.c mc-4.6.1/edit/editdraw.c ---- mc-4.6.1.orig/edit/editdraw.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/edit/editdraw.c 2007-01-19 18:33:59.000000000 +0500 -@@ -48,7 +48,7 @@ - - static void status_string (WEdit * edit, char *s, int w) - { -- char byte_str[16]; -+ char byte_str[32]; - - /* - * If we are at the end of file, print , -@@ -56,11 +56,16 @@ - * as decimal and as hex. - */ - if (edit->curs1 < edit->last_byte) { -- unsigned char cur_byte = edit_get_byte (edit, edit->curs1); -+ mc_wchar_t cur_byte = edit_get_byte (edit, edit->curs1); -+#ifndef UTF8 - g_snprintf (byte_str, sizeof (byte_str), "%c %3d 0x%02X", - is_printable (cur_byte) ? cur_byte : '.', -- (int) cur_byte, -- (unsigned) cur_byte); -+#else /* UTF8 */ -+ g_snprintf (byte_str, sizeof(byte_str), "%lc %3d 0x%02X", -+ iswprint(cur_byte) ? cur_byte : '.', -+#endif /* UTF8 */ -+ (int) cur_byte, -+ (unsigned) cur_byte); - } else { - strcpy (byte_str, ""); - } -@@ -183,11 +188,16 @@ - #define lowlevel_set_color(x) attrset(MY_COLOR_PAIR(color)) - #endif - -+struct line_s { -+ mc_wchar_t ch; -+ unsigned int style; -+}; -+ - static void - print_to_widget (WEdit *edit, long row, int start_col, int start_col_real, -- long end_col, unsigned int line[]) -+ long end_col, struct line_s line[]) - { -- unsigned int *p; -+ struct line_s *p; - - int x = start_col_real + EDIT_TEXT_HORIZONTAL_OFFSET; - int x1 = start_col + EDIT_TEXT_HORIZONTAL_OFFSET; -@@ -201,9 +211,9 @@ - edit_move (x1 + FONT_OFFSET_X, y + FONT_OFFSET_Y); - p = line; - -- while (*p) { -+ while (p->ch) { - int style; -- int textchar; -+ mc_wchar_t textchar; - int color; - - if (cols_to_skip) { -@@ -212,9 +222,9 @@ - continue; - } - -- style = *p & 0xFF00; -- textchar = *p & 0xFF; -- color = *p >> 16; -+ style = p->style & 0xFF00; -+ textchar = p->ch; -+ color = p->style >> 16; - - if (style & MOD_ABNORMAL) { - /* Non-printable - use black background */ -@@ -228,8 +238,11 @@ - } else { - lowlevel_set_color (color); - } -- -+#ifdef UTF8 -+ SLsmg_write_nwchars(&textchar, 1); -+#else - addch (textchar); -+#endif - p++; - } - } -@@ -239,11 +252,11 @@ - edit_draw_this_line (WEdit *edit, long b, long row, long start_col, - long end_col) - { -- static unsigned int line[MAX_LINE_LEN]; -- unsigned int *p = line; -+ struct line_s line[MAX_LINE_LEN]; -+ struct line_s *p = line; - long m1 = 0, m2 = 0, q, c1, c2; - int col, start_col_real; -- unsigned int c; -+ mc_wint_t c; - int color; - int i, book_mark = -1; - -@@ -265,66 +278,96 @@ - - if (row <= edit->total_lines - edit->start_line) { - while (col <= end_col - edit->start_col) { -- *p = 0; -+ p->ch = 0; -+ p->style = 0; - if (q == edit->curs1) -- *p |= MOD_CURSOR; -+ p->style |= MOD_CURSOR; - if (q >= m1 && q < m2) { - if (column_highlighting) { - int x; - x = edit_move_forward3 (edit, b, 0, q); - if (x >= c1 && x < c2) -- *p |= MOD_MARKED; -+ p->style |= MOD_MARKED; - } else -- *p |= MOD_MARKED; -+ p->style |= MOD_MARKED; - } - if (q == edit->bracket) -- *p |= MOD_BOLD; -+ p->style |= MOD_BOLD; - if (q >= edit->found_start - && q < edit->found_start + edit->found_len) -- *p |= MOD_BOLD; -+ p->style |= MOD_BOLD; - c = edit_get_byte (edit, q); - /* we don't use bg for mc - fg contains both */ - if (book_mark == -1) { - edit_get_syntax_color (edit, q, &color); -- *p |= color << 16; -+ p->style |= color << 16; - } else { -- *p |= book_mark << 16; -+ p->style |= book_mark << 16; - } - q++; - switch (c) { - case '\n': - col = end_col - edit->start_col + 1; /* quit */ -- *(p++) |= ' '; -+ p->ch = ' '; -+ p++; - break; - case '\t': - i = TAB_SIZE - ((int) col % TAB_SIZE); -- *p |= ' '; -- c = *(p++) & ~MOD_CURSOR; -+ p->ch = ' '; -+ c = p->style & ~MOD_CURSOR; -+ p++; - col += i; -- while (--i) -- *(p++) = c; -+ while (--i) { -+ p->ch = ' '; p->style = c; -+ p++; -+ } - break; - default: - c = convert_to_display_c (c); - - /* Caret notation for control characters */ - if (c < 32) { -- *(p++) = '^' | MOD_ABNORMAL; -- *(p++) = (c + 0x40) | MOD_ABNORMAL; -+ p->ch = '^'; -+ p->style = MOD_ABNORMAL; -+ p++; -+ p->ch = c + 0x40; -+ p->style = MOD_ABNORMAL; - col += 2; - break; - } - if (c == 127) { -- *(p++) = '^' | MOD_ABNORMAL; -- *(p++) = '?' | MOD_ABNORMAL; -+ p->ch = '^'; -+ p->style = MOD_ABNORMAL; -+ p++; -+ p->ch = '?'; -+ p->style = MOD_ABNORMAL; -+ p++; - col += 2; - break; - } - -- if (is_printable (c)) { -- *(p++) |= c; -+#ifndef UTF8 -+ if (is_printable (c) -+#else /* UTF8 */ -+ if (iswprint (c) -+#ifdef __STDC_ISO_10646__ -+ && (c < BINARY_CHAR_OFFSET || c >= (BINARY_CHAR_OFFSET + 256)) -+#endif -+#endif /* UTF8 */ -+ ) { -+ p->ch = c; -+ p++; -+ -+#ifdef UTF8 -+ i = wcwidth(c); -+ if (i > 1) { -+ col += i - 1; -+ } -+#endif /* UTF8 */ - } else { -- *(p++) = '.' | MOD_ABNORMAL; -+ p->ch = '.'; -+ p->style = MOD_ABNORMAL; -+ p++; - } - col++; - break; -@@ -334,7 +377,7 @@ - } else { - start_col_real = start_col = 0; - } -- *p = 0; -+ p->ch = 0; - - print_to_widget (edit, row, start_col, start_col_real, end_col, line); - } -diff -urN mc-4.6.1.orig/edit/edit.h mc-4.6.1/edit/edit.h ---- mc-4.6.1.orig/edit/edit.h 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/edit/edit.h 2007-01-19 18:33:58.000000000 +0500 -@@ -39,6 +39,27 @@ - - #include "../src/global.h" - -+#include "src/tty.h" -+ -+#ifdef UTF8 -+#include -+#include -+ -+#define mc_wchar_t wchar_t -+#define mc_wint_t wint_t -+ -+#else -+ -+#define mc_wchar_t unsigned char -+#define mc_wint_t int -+ -+#endif -+ -+ -+/* unicode private use area */ -+#define BINARY_CHAR_OFFSET 0xFFE00 -+ -+ - #define N_menus 5 - - #define SEARCH_DIALOG_OPTION_NO_SCANF 1 -@@ -99,6 +120,8 @@ - #define START_STACK_SIZE 32 - - /* Some codes that may be pushed onto or returned from the undo stack */ -+#define CHAR_INSERT 65 -+#define CHAR_INSERT_AHEAD 66 - #define CURS_LEFT 601 - #define CURS_RIGHT 602 - #define DELCHAR 603 -@@ -118,7 +141,7 @@ - - struct macro { - short command; -- short ch; -+ mc_wchar_t ch; - }; - - struct WEdit; -@@ -132,26 +155,8 @@ - void menu_save_mode_cmd (void); - int edit_raw_key_query (const char *heading, const char *query, int cancel); - int edit_file (const char *_file, int line); --int edit_translate_key (WEdit *edit, long x_key, int *cmd, int *ch); -- --#ifndef NO_INLINE_GETBYTE --int edit_get_byte (WEdit * edit, long byte_index); --#else --static inline int edit_get_byte (WEdit * edit, long byte_index) --{ -- unsigned long p; -- if (byte_index >= (edit->curs1 + edit->curs2) || byte_index < 0) -- return '\n'; -- -- if (byte_index >= edit->curs1) { -- p = edit->curs1 + edit->curs2 - byte_index - 1; -- return edit->buffers2[p >> S_EDIT_BUF_SIZE][EDIT_BUF_SIZE - (p & M_EDIT_BUF_SIZE) - 1]; -- } else { -- return edit->buffers1[byte_index >> S_EDIT_BUF_SIZE][byte_index & M_EDIT_BUF_SIZE]; -- } --} --#endif -- -+int edit_translate_key (WEdit *edit, long x_key, int *cmd, mc_wint_t *ch); -+mc_wchar_t edit_get_byte (WEdit * edit, long byte_index); - int edit_count_lines (WEdit * edit, long current, int upto); - long edit_move_forward (WEdit * edit, long current, int lines, long upto); - long edit_move_forward3 (WEdit * edit, long current, int cols, long upto); -@@ -176,11 +181,11 @@ - void edit_delete_line (WEdit * edit); - - int edit_delete (WEdit * edit); --void edit_insert (WEdit * edit, int c); -+void edit_insert (WEdit * edit, mc_wchar_t c); - int edit_cursor_move (WEdit * edit, long increment); - void edit_push_action (WEdit * edit, long c, ...); - void edit_push_key_press (WEdit * edit); --void edit_insert_ahead (WEdit * edit, int c); -+void edit_insert_ahead (WEdit * edit, mc_wchar_t c); - long edit_write_stream (WEdit * edit, FILE * f); - char *edit_get_write_filter (const char *writename, const char *filename); - int edit_save_confirm_cmd (WEdit * edit); -@@ -212,7 +217,7 @@ - int eval_marks (WEdit * edit, long *start_mark, long *end_mark); - void edit_status (WEdit * edit); - void edit_execute_key_command (WEdit *edit, int command, -- int char_for_insertion); -+ mc_wint_t char_for_insertion); - void edit_update_screen (WEdit * edit); - int edit_print_string (WEdit * e, const char *s); - void edit_move_to_line (WEdit * e, long line); -@@ -256,7 +261,7 @@ - void format_paragraph (WEdit *edit, int force); - - /* either command or char_for_insertion must be passed as -1 */ --void edit_execute_cmd (WEdit *edit, int command, int char_for_insertion); -+void edit_execute_cmd (WEdit *edit, int command, mc_wint_t char_for_insertion); - - #define get_sys_error(s) (s) - -diff -urN mc-4.6.1.orig/edit/editkeys.c mc-4.6.1/edit/editkeys.c ---- mc-4.6.1.orig/edit/editkeys.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/edit/editkeys.c 2007-01-19 18:33:59.000000000 +0500 -@@ -162,10 +162,10 @@ - * 'command' is one of the editor commands from editcmddef.h. - */ - int --edit_translate_key (WEdit *edit, long x_key, int *cmd, int *ch) -+edit_translate_key (WEdit *edit, long x_key, int *cmd, mc_wint_t *ch) - { - int command = CK_Insert_Char; -- int char_for_insertion = -1; -+ mc_wint_t char_for_insertion = -1; - int i = 0; - static const long *key_map; - -@@ -205,7 +205,7 @@ - - #ifdef HAVE_CHARSET - if (x_key == XCTRL ('t')) { -- do_select_codepage (); -+ do_select_codepage (_(" Choose codepage ")); - - edit->force = REDRAW_COMPLETELY; - command = CK_Refresh; -@@ -242,9 +242,30 @@ - /* an ordinary insertable character */ - if (x_key < 256) { - int c = convert_from_input_c (x_key); -- -+#ifdef UTF8 -+ mbstate_t mbs; -+ int res; -+ mc_wchar_t wc; -+ -+ memset (&mbs, 0, sizeof (mbs)); -+ -+ if (edit->charpoint >= MB_CUR_MAX) edit->charpoint = 0; -+ -+ edit->charbuf[edit->charpoint++] = c; -+ -+ res = mbrtowc(&wc, (char *)edit->charbuf, edit->charpoint, &mbs); -+ if (res < 0) { -+ if (res != -2) edit->charpoint = 0; /* broken multibyte char, skip */ -+ return 0; -+ } -+ edit->charpoint = 0; -+ -+ if (iswprint (wc)) { -+ char_for_insertion = wc; -+#else - if (is_printable (c)) { - char_for_insertion = c; -+#endif /* UTF8 */ - goto fin; - } - } -@@ -285,7 +306,7 @@ - *cmd = command; - *ch = char_for_insertion; - -- if (command == CK_Insert_Char && char_for_insertion == -1) { -+ if (command == CK_Insert_Char && char_for_insertion == (mc_wint_t)-1) { - /* unchanged, key has no function here */ - return 0; - } -diff -urN mc-4.6.1.orig/edit/editwidget.c mc-4.6.1/edit/editwidget.c ---- mc-4.6.1.orig/edit/editwidget.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/edit/editwidget.c 2007-01-19 18:33:58.000000000 +0500 -@@ -337,7 +337,8 @@ - - case WIDGET_KEY: - { -- int cmd, ch; -+ int cmd; -+ mc_wint_t ch; - - /* first check alt-f, alt-e, alt-s, etc for drop menus */ - if (edit_drop_hotkey_menu (e, parm)) -diff -urN mc-4.6.1.orig/edit/edit-widget.h mc-4.6.1/edit/edit-widget.h ---- mc-4.6.1.orig/edit/edit-widget.h 2003-10-29 13:54:47.000000000 +0500 -+++ mc-4.6.1/edit/edit-widget.h 2007-01-19 18:33:58.000000000 +0500 -@@ -24,6 +24,11 @@ - unsigned char border; - }; - -+struct action { -+ mc_wchar_t ch; -+ long flags; -+}; -+ - struct WEdit { - Widget widget; - -@@ -36,8 +41,17 @@ - /* dynamic buffers and cursor position for editor: */ - long curs1; /* position of the cursor from the beginning of the file. */ - long curs2; /* position from the end of the file */ -+#ifndef UTF8 - unsigned char *buffers1[MAXBUFF + 1]; /* all data up to curs1 */ - unsigned char *buffers2[MAXBUFF + 1]; /* all data from end of file down to curs2 */ -+#else /* UTF8 */ -+ mc_wchar_t *buffers1[MAXBUFF + 1]; /* all data up to curs1 */ -+ mc_wchar_t *buffers2[MAXBUFF + 1]; /* all data from end of file down to curs2 */ -+ -+ unsigned char charbuf[MB_LEN_MAX]; -+ int charpoint; -+#endif /* UTF8 */ -+ - - /* search variables */ - long search_start; /* First character to start searching from */ -@@ -81,7 +95,7 @@ - - /* undo stack and pointers */ - unsigned long stack_pointer; -- long *undo_stack; -+ struct action *undo_stack; - unsigned long stack_size; - unsigned long stack_size_mask; - unsigned long stack_bottom; -@@ -92,6 +106,7 @@ - /* syntax higlighting */ - struct _syntax_marker *syntax_marker; - struct context_rule **rules; -+ size_t rules_count; /* number of rules that are defined */ - long last_get_rule; - struct syntax_rule rule; - char *syntax_type; /* description of syntax highlighting type being used */ -diff -urN mc-4.6.1.orig/edit/syntax.c mc-4.6.1/edit/syntax.c ---- mc-4.6.1.orig/edit/syntax.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/edit/syntax.c 2007-01-19 18:33:58.000000000 +0500 -@@ -662,6 +662,7 @@ - strcpy (whole_right, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_01234567890"); - - r = edit->rules = g_malloc (alloc_contexts * sizeof (struct context_rule *)); -+ edit->rules_count = 0; - - if (!edit->defines) - edit->defines = g_tree_new ((GCompareFunc) strcmp); -@@ -892,6 +893,7 @@ - if (num_contexts == -1) { - return line; - } -+ edit->rules_count = num_contexts; - - { - char *first_chars, *p; -@@ -916,17 +918,18 @@ - - void edit_free_syntax_rules (WEdit * edit) - { -- int i, j; -+ size_t i, j; - if (!edit) - return; - if (edit->defines) - destroy_defines (&edit->defines); - if (!edit->rules) - return; -- edit_get_rule (edit, -1); -+ if (edit->rules_count > 0) -+ edit_get_rule (edit, -1); - syntax_g_free (edit->syntax_type); - edit->syntax_type = 0; -- for (i = 0; edit->rules[i]; i++) { -+ for (i = 0; i < edit->rules_count; i++) { - if (edit->rules[i]->keyword) { - for (j = 0; edit->rules[i]->keyword[j]; j++) { - syntax_g_free (edit->rules[i]->keyword[j]->keyword); -diff -urN mc-4.6.1.orig/edit/wordproc.c mc-4.6.1/edit/wordproc.c ---- mc-4.6.1.orig/edit/wordproc.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/edit/wordproc.c 2007-01-19 18:33:58.000000000 +0500 -@@ -24,7 +24,12 @@ - - #define tab_width option_tab_spacing - -+#ifndef UTF8 - #define NO_FORMAT_CHARS_START "-+*\\,.;:&>" -+#else /* UTF8 */ -+#define NO_FORMAT_CHARS_START L"-+*\\,.;:&>" -+#endif /* UTF8 */ -+ - #define FONT_MEAN_WIDTH 1 - - static long -@@ -41,14 +46,21 @@ - p = edit_move_forward (edit, p, line - l, 0); - - p = edit_bol (edit, p); -+ -+#ifndef UTF8 - while (strchr ("\t ", edit_get_byte (edit, p))) -+#else /* UTF8 */ -+ while (wcschr (L"\t ", edit_get_byte (edit, p))) -+#endif /* UTF8 */ -+ - p++; - return p; - } - - static int bad_line_start (WEdit * edit, long p) - { -- int c; -+ mc_wint_t c; -+ - c = edit_get_byte (edit, p); - if (c == '.') { /* `...' is acceptable */ - if (edit_get_byte (edit, p + 1) == '.') -@@ -62,7 +74,13 @@ - return 0; /* `---' is acceptable */ - return 1; - } -+ -+#ifndef UTF8 - if (strchr (NO_FORMAT_CHARS_START, c)) -+#else /* UTF8 */ -+ if (wcschr (NO_FORMAT_CHARS_START, c)) -+#endif /* UTF8 */ -+ - return 1; - return 0; - } -@@ -115,33 +133,37 @@ - i - edit->curs_line, 0)); - } - --static unsigned char * -+static mc_wchar_t * - get_paragraph (WEdit *edit, long p, long q, int indent, int *size) - { -- unsigned char *s, *t; -+ mc_wchar_t *s, *t; - #if 0 -- t = g_malloc ((q - p) + 2 * (q - p) / option_word_wrap_line_length + -- 10); -+ t = g_malloc (((q - p) + 2 * (q - p) / option_word_wrap_line_length + -+ 10) * sizeof(mc_wchar_t)); - #else -- t = g_malloc (2 * (q - p) + 100); -+ t = g_malloc ((2 * (q - p) + 100) * sizeof(mc_wchar_t)); - #endif - if (!t) - return 0; - for (s = t; p < q; p++, s++) { - if (indent) - if (edit_get_byte (edit, p - 1) == '\n') -+#ifndef UTF8 - while (strchr ("\t ", edit_get_byte (edit, p))) -+#else /* UTF8 */ -+ while (wcschr (L"\t ", edit_get_byte (edit, p))) -+#endif /* UTF8 */ - p++; - *s = edit_get_byte (edit, p); - } -- *size = (unsigned long) s - (unsigned long) t; -+ *size = s - t; - t[*size] = '\n'; - return t; - } - --static void strip_newlines (unsigned char *t, int size) -+static void strip_newlines (mc_wchar_t *t, int size) - { -- unsigned char *p = t; -+ mc_wchar_t *p = t; - while (size--) { - *p = *p == '\n' ? ' ' : *p; - p++; -@@ -158,7 +180,7 @@ - { - return x += tab_width - x % tab_width; - } --static int line_pixel_length (unsigned char *t, long b, int l) -+static int line_pixel_length (mc_wchar_t *t, long b, int l) - { - int x = 0, c, xn = 0; - for (;;) { -@@ -182,7 +204,7 @@ - } - - /* find the start of a word */ --static int next_word_start (unsigned char *t, int q, int size) -+static int next_word_start (mc_wchar_t *t, int q, int size) - { - int i; - for (i = q;; i++) { -@@ -203,7 +225,7 @@ - } - - /* find the start of a word */ --static int word_start (unsigned char *t, int q, int size) -+static int word_start (mc_wchar_t *t, int q, int size) - { - int i = q; - if (t[q] == ' ' || t[q] == '\t') -@@ -222,7 +244,7 @@ - } - - /* replaces ' ' with '\n' to properly format a paragraph */ --static void format_this (unsigned char *t, int size, int indent) -+static void format_this (mc_wchar_t *t, int size, int indent) - { - int q = 0, ww; - strip_newlines (t, size); -@@ -250,7 +272,7 @@ - } - } - --static void replace_at (WEdit * edit, long q, int c) -+static void replace_at (WEdit * edit, long q, mc_wint_t c) - { - edit_cursor_move (edit, q - edit->curs1); - edit_delete (edit); -@@ -258,18 +280,27 @@ - } - - /* replaces a block of text */ --static void put_paragraph (WEdit * edit, unsigned char *t, long p, long q, int indent, int size) -+static void put_paragraph (WEdit * edit, mc_wchar_t *t, long p, long q, int indent, int size) - { - long cursor; -- int i, c = 0; -+ int i; -+ mc_wchar_t c = 0; - cursor = edit->curs1; - if (indent) -+#ifndef UTF8 - while (strchr ("\t ", edit_get_byte (edit, p))) -+#else /* UTF8 */ -+ while (wcschr (L"\t ", edit_get_byte (edit, p))) -+#endif /* UTF8 */ - p++; - for (i = 0; i < size; i++, p++) { - if (i && indent) { - if (t[i - 1] == '\n' && c == '\n') { -+#ifndef UTF8 - while (strchr ("\t ", edit_get_byte (edit, p))) -+#else /* UTF8 */ -+ while (wcschr (L"\t ", edit_get_byte (edit, p))) -+#endif /* UTF8 */ - p++; - } else if (t[i - 1] == '\n') { - long curs; -@@ -281,7 +312,11 @@ - p = edit->curs1; - } else if (c == '\n') { - edit_cursor_move (edit, p - edit->curs1); -+#ifndef UTF8 - while (strchr ("\t ", edit_get_byte (edit, p))) { -+#else /* UTF8 */ -+ while (wcschr (L"\t ", edit_get_byte (edit, p))) { -+#endif /* UTF8 */ - edit_delete (edit); - if (cursor > edit->curs1) - cursor--; -@@ -314,7 +349,7 @@ - { - long p, q; - int size; -- unsigned char *t; -+ mc_wchar_t *t; - int indent = 0; - if (option_word_wrap_line_length < 2) - return; -@@ -324,17 +359,25 @@ - q = end_paragraph (edit, force); - indent = test_indent (edit, p, q); - t = get_paragraph (edit, p, q, indent, &size); -- if (!t) -+ if (!t) - return; - if (!force) { - int i; -+#ifndef UTF8 - if (strchr (NO_FORMAT_CHARS_START, *t)) { -+#else /* UTF8 */ -+ if (wcschr (NO_FORMAT_CHARS_START, *t)) { -+#endif /* UTF8 */ - g_free (t); - return; - } - for (i = 0; i < size - 1; i++) { - if (t[i] == '\n') { -+#ifndef UTF8 - if (strchr (NO_FORMAT_CHARS_START "\t ", t[i + 1])) { -+#else /* UTF8 */ -+ if (wcschr (NO_FORMAT_CHARS_START "\t", t[i + 1])) { -+#endif /* UTF8 */ - g_free (t); - return; - } -diff -urN mc-4.6.1.orig/lib/mc.menu mc-4.6.1/lib/mc.menu ---- mc-4.6.1.orig/lib/mc.menu 2004-08-17 14:31:16.000000000 +0600 -+++ mc-4.6.1/lib/mc.menu 2007-01-19 18:33:58.000000000 +0500 -@@ -15,7 +15,7 @@ - - 0 Edit a bug report and send it to root - I=`mktemp ${MC_TMPDIR:-/tmp}/mail.XXXXXX` || exit 1 -- ${EDITOR-vi} $I -+ ${EDITOR-editor} $I - test -r $I && mail root < $I - rm -f $I - -@@ -330,3 +330,7 @@ - o Open next a free console - open -s -- sh - -+=+ f \.dsc$ & t r -+x Extract the contents of a Debian source package -+ dpkg-source -x %f -+ -diff -urN mc-4.6.1.orig/po/de.po mc-4.6.1/po/de.po ---- mc-4.6.1.orig/po/de.po 2005-07-23 22:53:27.000000000 +0600 -+++ mc-4.6.1/po/de.po 2007-01-19 18:33:58.000000000 +0500 -@@ -1412,7 +1412,7 @@ - #: src/cmd.c:988 - #, c-format - msgid " edit symlink: %s " --msgstr " symbolschen Link barbeiten: %s" -+msgstr " symbolschen Link bearbeiten: %s" - - #: src/cmd.c:999 - #, c-format -@@ -1562,7 +1562,7 @@ - " Cannot create temporary command file \n" - " %s " - msgstr "" --" Kann temporre Befehlsdaei nicht anlegen \n" -+" Kann temporre Befehlsdatei nicht anlegen \n" - " %s " - - #: src/ext.c:117 src/user.c:606 -@@ -1670,7 +1670,7 @@ - " Cannot stat source file \"%s\" \n" - " %s " - msgstr "" --" Kann Quelldaei \"%s\" nicht untersuchen \n" -+" Kann Quelldatei \"%s\" nicht untersuchen \n" - " %s " - - #: src/file.c:517 src/file.c:1058 -@@ -2576,7 +2576,7 @@ - #: src/learn.c:115 - #, c-format - msgid " You have entered \"%s\"" --msgstr " Sie haben \"%s\" einggeben" -+msgstr " Sie haben \"%s\" eingegeben" - - #. TRANSLATORS: This label appears near learned keys. Keep it short. - #: src/learn.c:164 -@@ -2668,7 +2668,7 @@ - - #: src/main.c:811 src/main.c:835 - msgid "S&hell link..." --msgstr "Shell-Verbindung..." -+msgstr "S&hell-Verbindung..." - - #: src/main.c:813 src/main.c:837 - msgid "SM&B link..." -@@ -4200,7 +4200,7 @@ - #: vfs/ftpfs.c:684 - #, c-format - msgid "ftpfs: connection to server failed: %s" --msgstr "ftpfs: Verbindung zum Server fehlgeschlgen: %s" -+msgstr "ftpfs: Verbindung zum Server fehlgeschlagen: %s" - - #: vfs/ftpfs.c:725 - #, c-format -diff -urN mc-4.6.1.orig/po/it.po mc-4.6.1/po/it.po ---- mc-4.6.1.orig/po/it.po 2005-07-23 22:53:28.000000000 +0600 -+++ mc-4.6.1/po/it.po 2007-01-19 18:33:58.000000000 +0500 -@@ -2098,7 +2098,7 @@ - - #: src/filegui.c:524 - msgid "A&ppend" --msgstr "Atta&cca" -+msgstr "atta&Cca" - - #: src/filegui.c:527 - msgid "Overwrite this target?" -diff -urN mc-4.6.1.orig/po/ru.po mc-4.6.1/po/ru.po ---- mc-4.6.1.orig/po/ru.po 2005-07-23 22:53:30.000000000 +0600 -+++ mc-4.6.1/po/ru.po 2007-01-19 18:33:59.000000000 +0500 -@@ -4503,3 +4503,32 @@ - #: vfs/vfs.c:894 - msgid "Changes to file lost" - msgstr " " -+ -+#: messages for recode patch -+msgid "Panel &codepage" -+msgstr " " -+ -+msgid " Choose codepage " -+msgstr " " -+ -+msgid " Choose panel codepage " -+msgstr " " -+ -+msgid " Choose default FTP codepage " -+msgstr " FTP " -+ -+msgid "FTP default codepage:" -+msgstr " FTP :" -+ -+msgid "Recode file names:" -+msgstr " :" -+ -+msgid "Recoding works only with COPY/MOVE operation" -+msgstr " /" -+ -+msgid " Choose \"FROM\" codepage for COPY/MOVE operaion " -+msgstr" / " -+ -+msgid " Choose \"TO\" codepage for COPY/MOVE operaion " -+msgstr" / " -+ -diff -urN mc-4.6.1.orig/po/vi.po mc-4.6.1/po/vi.po ---- mc-4.6.1.orig/po/vi.po 1970-01-01 05:00:00.000000000 +0500 -+++ mc-4.6.1/po/vi.po 2007-01-19 18:33:58.000000000 +0500 -@@ -0,0 +1,4456 @@ -+# Vietnamese translation of Midnight Commander -+# Copyright (C) 1998-2003, 2005 Free Software Foundation, Inc. -+# First translator(s): Phan Vinh Thinh , 2005. -+# -+# -+msgid "" -+msgstr "" -+"Project-Id-Version: mc 4.6.1\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2003-12-24 12:16-0500\n" -+"PO-Revision-Date: 2005-03-29 01:20+0300\n" -+"Last-Translator: Phan Vinh Thinh \n" -+"Language-Team: Vietnamese \n" -+"MIME-Version: 1.0\n" -+"Content-Type: text/plain; charset=UTF-8\n" -+"Content-Transfer-Encoding: 8bit\n" -+"X-Generator: KBabel 1.9.1\n" -+ -+#: edit/edit.c:146 edit/edit.c:277 edit/edit.c:285 edit/edit.c:333 -+#: edit/edit.c:348 edit/edit.c:359 edit/edit.c:375 edit/edit.c:2665 -+#: edit/editcmd.c:282 edit/editcmd.c:290 edit/editcmd.c:1719 src/wtools.c:120 -+#: src/wtools.c:275 -+msgid "Error" -+msgstr "Lỗi" -+ -+#: edit/edit.c:149 edit/edit.c:336 -+msgid " Cannot open file for reading: " -+msgstr " Không thể mở tập tin để đọc: " -+ -+#: edit/edit.c:279 -+msgid " Error reading from pipe: " -+msgstr " Lỗi đọc từ đường ống (pipe): " -+ -+#: edit/edit.c:288 -+msgid " Cannot open pipe for reading: " -+msgstr " Không thể mở đường ống để đọc: " -+ -+#: edit/edit.c:351 -+msgid " Cannot get size/permissions info for file: " -+msgstr " Không lấy được thông tin kích thước/quyền hạn của tập tin: " -+ -+#: edit/edit.c:360 -+msgid " Not an ordinary file: " -+msgstr " Tập tin không thông thường: " -+ -+#: edit/edit.c:376 -+msgid " File is too large: " -+msgstr " Tập tin quá lớn: " -+ -+#: edit/edit.c:2665 -+msgid "Macro recursion is too deep" -+msgstr "Đệ qui của macro quá sâu" -+ -+#: edit/edit.h:262 -+msgid "&Dismiss" -+msgstr "Đó&ng" -+ -+#: edit/edit.h:264 edit/editcmd.c:382 edit/editcmd.c:1228 edit/editcmd.c:1310 -+#: edit/editcmd.c:2569 edit/editmenu.c:37 edit/editoptions.c:71 -+#: src/boxes.c:139 src/boxes.c:276 src/boxes.c:372 src/boxes.c:464 -+#: src/boxes.c:590 src/boxes.c:713 src/boxes.c:835 src/boxes.c:945 -+#: src/boxes.c:1013 src/filegui.c:763 src/find.c:184 src/layout.c:348 -+#: src/option.c:113 src/subshell.c:323 src/view.c:2107 src/wtools.c:441 -+msgid "&OK" -+msgstr "Đồng ý &=" -+ -+#: edit/editcmd.c:45 edit/editcmd.c:46 -+msgid " Enter file name: " -+msgstr " Hãy nhập tên tập tin: " -+ -+#: edit/editcmd.c:283 -+msgid " Error writing to pipe: " -+msgstr " Lỗi ghi vào đường ống: " -+ -+#: edit/editcmd.c:293 -+msgid " Cannot open pipe for writing: " -+msgstr " Không thể mở đường ống để ghi: " -+ -+#: edit/editcmd.c:375 -+msgid "Quick save " -+msgstr "&Lưu nhanh" -+ -+#: edit/editcmd.c:376 -+msgid "Safe save " -+msgstr "Lưu &an toàn" -+ -+#: edit/editcmd.c:377 -+msgid "Do backups -->" -+msgstr "&Sao lưu -->" -+ -+#: edit/editcmd.c:380 edit/editcmd.c:1169 edit/editcmd.c:1226 -+#: edit/editcmd.c:1308 edit/editcmd.c:2567 edit/editoptions.c:68 -+#: src/achown.c:68 src/boxes.c:140 src/boxes.c:277 src/boxes.c:370 -+#: src/boxes.c:462 src/boxes.c:588 src/boxes.c:711 src/boxes.c:833 -+#: src/boxes.c:1013 src/chmod.c:96 src/chown.c:72 src/cmd.c:856 -+#: src/filegui.c:745 src/find.c:184 src/hotlist.c:121 src/hotlist.c:523 -+#: src/hotlist.c:830 src/hotlist.c:926 src/layout.c:349 src/learn.c:58 -+#: src/option.c:114 src/panelize.c:66 src/view.c:441 src/view.c:2104 -+#: src/wtools.c:46 src/wtools.c:439 -+msgid "&Cancel" -+msgstr "Đóng hộp thoại &-" -+ -+#: edit/editcmd.c:386 -+msgid "Extension:" -+msgstr "&Mở rộng:" -+ -+#: edit/editcmd.c:392 -+msgid " Edit Save Mode " -+msgstr " Chế độ ghi nhớ " -+ -+#: edit/editcmd.c:465 edit/editcmd.c:524 -+msgid " Save As " -+msgstr " Ghi như " -+ -+#: edit/editcmd.c:482 edit/editcmd.c:804 edit/editcmd.c:841 -+#: edit/editcmd.c:1000 edit/editcmd.c:1113 src/file.c:599 src/help.c:318 -+#: src/main.c:424 src/screen.c:1415 src/selcodepage.c:105 src/subshell.c:319 -+#: src/subshell.c:653 src/utilunix.c:401 src/utilunix.c:405 src/utilunix.c:427 -+#: vfs/mcfs.c:138 -+msgid "Warning" -+msgstr "Cảnh báo" -+ -+#: edit/editcmd.c:483 -+msgid " A file already exists with this name. " -+msgstr " Tập tin có tên như vậy đã tồn tại. " -+ -+#: edit/editcmd.c:484 -+msgid "Overwrite" -+msgstr "Ghi chèn" -+ -+#: edit/editcmd.c:484 edit/editcmd.c:569 edit/editcmd.c:768 edit/editcmd.c:804 -+#: edit/editcmd.c:844 edit/editcmd.c:1003 edit/editcmd.c:1116 -+msgid "Cancel" -+msgstr "Hủy bỏ" -+ -+#: edit/editcmd.c:526 edit/editcmd.c:2293 src/view.c:440 -+msgid " Cannot save file. " -+msgstr " Không thể ghi nhớ tập tin. " -+ -+#: edit/editcmd.c:626 edit/editcmd.c:634 edit/editcmd.c:659 edit/editcmd.c:706 -+msgid " Delete macro " -+msgstr " Xóa macro " -+ -+#: edit/editcmd.c:628 -+msgid " Cannot open temp file " -+msgstr " Không thể mở tập tin tạm thời " -+ -+#: edit/editcmd.c:636 edit/editcmd.c:697 edit/editcmd.c:754 -+msgid " Cannot open macro file " -+msgstr " Không thể mở tập tin chứa các macro " -+ -+#: edit/editcmd.c:660 -+msgid " Cannot overwrite macro file " -+msgstr " Không thể ghi chèn lên tập tin chứa các macro " -+ -+#: edit/editcmd.c:676 edit/editcmd.c:697 -+msgid " Save macro " -+msgstr " Ghi nhớ macro " -+ -+#: edit/editcmd.c:678 -+msgid " Press the macro's new hotkey: " -+msgstr " Hãy nhấn phím tắt mới của macro: " -+ -+#: edit/editcmd.c:707 edit/editkeys.c:195 edit/editkeys.c:225 -+msgid " Press macro hotkey: " -+msgstr " Hãy nhấn phím tắt của macro: " -+ -+#: edit/editcmd.c:753 -+msgid " Load macro " -+msgstr " Nạp macro " -+ -+#: edit/editcmd.c:766 -+msgid " Confirm save file? : " -+msgstr " Phê chuẩn việc ghi nhớ tập tin?: " -+ -+#: edit/editcmd.c:768 src/view.c:439 -+msgid " Save file " -+msgstr " Ghi nhớ tập tin " -+ -+#: edit/editcmd.c:768 edit/editwidget.c:288 src/view.c:2220 -+msgid "Save" -+msgstr "Ghinhớ" -+ -+#: edit/editcmd.c:804 edit/editcmd.c:842 -+msgid "" -+" Current text was modified without a file save. \n" -+" Continue discards these changes. " -+msgstr "" -+" Văn bản hiện thời đã thay đổi và chưa được ghi nhớ. \n" -+" Tiếp tục thao tác sẽ làm mất những thay đổi này. " -+ -+#: edit/editcmd.c:804 edit/editcmd.c:843 edit/editcmd.c:1003 -+#: edit/editcmd.c:1116 -+msgid "Continue" -+msgstr "Tiếp tục" -+ -+#: edit/editcmd.c:850 -+msgid " Load " -+msgstr " Nạp " -+ -+#: edit/editcmd.c:1002 edit/editcmd.c:1115 -+msgid " Block is large, you may not be able to undo this action. " -+msgstr " Khối quá lớn, có thể bạn sẽ không hủy bỏ được bước này. " -+ -+#: edit/editcmd.c:1171 -+msgid "O&ne" -+msgstr "&Một" -+ -+#: edit/editcmd.c:1173 src/file.c:2210 src/filegui.c:521 -+msgid "A&ll" -+msgstr "&Tất cả" -+ -+#: edit/editcmd.c:1175 src/file.c:2147 src/filegui.c:210 -+msgid "&Skip" -+msgstr "&Bỏ qua" -+ -+#: edit/editcmd.c:1177 -+msgid "&Replace" -+msgstr "&Thay thế" -+ -+#: edit/editcmd.c:1184 edit/editcmd.c:1191 -+msgid " Replace with: " -+msgstr " Thay thế bằng: " -+ -+#: edit/editcmd.c:1196 -+msgid " Confirm replace " -+msgstr " Phê chuẩn thay thế " -+ -+#: edit/editcmd.c:1230 edit/editcmd.c:1312 -+msgid "scanf &Expression" -+msgstr "biểu thức &Scanf" -+ -+#: edit/editcmd.c:1232 -+msgid "replace &All" -+msgstr "&Thay thế tất cả" -+ -+#: edit/editcmd.c:1234 -+msgid "pr&Ompt on replace" -+msgstr "&Hỏi trước khi thay" -+ -+#: edit/editcmd.c:1236 edit/editcmd.c:1314 src/view.c:2110 -+msgid "&Backwards" -+msgstr "&Tìm ngược lại" -+ -+#: edit/editcmd.c:1238 edit/editcmd.c:1316 -+msgid "&Regular expression" -+msgstr "&Biểu thức chính quy" -+ -+#: edit/editcmd.c:1240 edit/editcmd.c:1318 -+msgid "&Whole words only" -+msgstr "&Chỉ những từ đầy đủ" -+ -+#: edit/editcmd.c:1242 edit/editcmd.c:1320 src/find.c:176 -+msgid "case &Sensitive" -+msgstr "có tính &Kiểu chữ" -+ -+#: edit/editcmd.c:1246 -+msgid " Enter replacement argument order eg. 3,2,1,4 " -+msgstr " Hãy nhập thứ tự của tham số thay thế, ví dụ 3,2,1,4 " -+ -+#: edit/editcmd.c:1250 -+msgid " Enter replacement string:" -+msgstr " Nhập chuỗi thay thế:" -+ -+#: edit/editcmd.c:1254 edit/editcmd.c:1324 src/view.c:2115 -+msgid " Enter search string:" -+msgstr " Nhập chuỗi tìm kiếm:" -+ -+#: edit/editcmd.c:1273 edit/editcmd.c:1925 edit/editcmd.c:1949 -+msgid " Replace " -+msgstr " Thay thế " -+ -+#: edit/editcmd.c:1338 edit/editcmd.c:2036 edit/editcmd.c:2038 -+#: edit/editcmd.c:2066 edit/editwidget.c:293 src/view.c:1594 src/view.c:1673 -+#: src/view.c:1826 src/view.c:1838 src/view.c:2060 src/view.c:2113 -+#: src/view.c:2120 src/view.c:2236 -+msgid "Search" -+msgstr "Tìm" -+ -+#: edit/editcmd.c:1719 -+msgid " Invalid regular expression, or scanf expression with to many conversions " -+msgstr " Biểu thức chính quy không đúng, hoặc biểu thức scanf có quá nhiều biến đổi " -+ -+#: edit/editcmd.c:1927 -+msgid " Error in replacement format string. " -+msgstr " Lỗi trong định dạng chuỗi thay thế. " -+ -+#: edit/editcmd.c:1957 -+#, c-format -+msgid " %ld replacements made. " -+msgstr " %ld thay thế được thực hiện. " -+ -+#: edit/editcmd.c:1960 edit/editcmd.c:2038 edit/editcmd.c:2066 src/view.c:1673 -+#: src/view.c:1838 -+msgid " Search string not found " -+msgstr " Không tìm thấy chuỗi tìm kiếm " -+ -+#: edit/editcmd.c:2036 -+#, c-format -+msgid " %d finds made, %d bookmarks added " -+msgstr " tìm thấy %d , thêm %d thẻ đánh dấu (bookmark) " -+ -+#: edit/editcmd.c:2088 edit/editwidget.c:296 src/help.c:826 src/main.c:1208 -+#: src/view.c:456 src/view.c:2215 src/view.c:2246 -+msgid "Quit" -+msgstr "Thoát" -+ -+#: edit/editcmd.c:2088 src/view.c:457 -+msgid " File was modified, Save with exit? " -+msgstr "Tập tin đã thay đổi, ghi nhớ khi thoát? " -+ -+#: edit/editcmd.c:2089 src/view.c:458 -+msgid "Cancel quit" -+msgstr "Không thoát" -+ -+#: edit/editcmd.c:2089 src/cmd.c:195 src/file.c:1837 src/file.c:2209 -+#: src/filegui.c:526 src/hotlist.c:1049 src/main.c:471 src/screen.c:1952 -+#: src/subshell.c:654 src/tree.c:708 src/view.c:458 vfs/mcfs.c:143 -+msgid "&Yes" -+msgstr "&Có" -+ -+#: edit/editcmd.c:2089 src/cmd.c:195 src/file.c:1837 src/file.c:2209 -+#: src/filegui.c:525 src/hotlist.c:1049 src/main.c:471 src/screen.c:1953 -+#: src/subshell.c:654 src/tree.c:708 src/view.c:458 vfs/mcfs.c:143 -+msgid "&No" -+msgstr "&Không" -+ -+#: edit/editcmd.c:2202 -+msgid " Copy to clipboard " -+msgstr "Sao chép vào bộ đệm " -+ -+#: edit/editcmd.c:2202 edit/editcmd.c:2215 -+msgid " Unable to save to file. " -+msgstr "Không ghi nhớ được tập tin. " -+ -+#: edit/editcmd.c:2215 -+msgid " Cut to clipboard " -+msgstr "Cắt vào bộ đệm " -+ -+#: edit/editcmd.c:2243 src/view.c:2005 -+msgid " Goto line " -+msgstr "Chuyển tới dòng " -+ -+#: edit/editcmd.c:2243 -+msgid " Enter line: " -+msgstr "Hãy nhập số thứ tự dòng: " -+ -+#: edit/editcmd.c:2278 edit/editcmd.c:2291 -+msgid " Save Block " -+msgstr "Ghi nhớ khối " -+ -+#: edit/editcmd.c:2307 edit/editcmd.c:2320 -+msgid " Insert File " -+msgstr "Chèn tập tin " -+ -+#: edit/editcmd.c:2322 -+msgid " Cannot insert file. " -+msgstr "Không chèn được tập tin. " -+ -+#: edit/editcmd.c:2339 -+msgid " Sort block " -+msgstr "Sắp xếp khối " -+ -+#: edit/editcmd.c:2339 edit/editcmd.c:2465 -+msgid " You must first highlight a block of text. " -+msgstr "Đầu tiên bạn phải chọn một khối văn bản. " -+ -+#: edit/editcmd.c:2346 -+msgid " Run Sort " -+msgstr "Thực hiện sắp xếp " -+ -+#: edit/editcmd.c:2347 -+msgid " Enter sort options (see manpage) separated by whitespace: " -+msgstr "Nhập tùy chọn sắp xếp (xem trang man), phân cách nhau bởi khoảng trắng: " -+ -+#: edit/editcmd.c:2358 edit/editcmd.c:2363 -+msgid " Sort " -+msgstr "Sắp xếp " -+ -+#: edit/editcmd.c:2359 -+msgid " Cannot execute sort command " -+msgstr "Không thể thực hiện câu lệnh sort " -+ -+#: edit/editcmd.c:2364 -+msgid " Sort returned non-zero: " -+msgstr "Sắp xếp trả lại giá trị khác không: " -+ -+#: edit/editcmd.c:2388 -+msgid "Paste output of external command" -+msgstr "Dán kết quả của lệnh ngoại trú" -+ -+#: edit/editcmd.c:2389 -+msgid "Enter shell command(s):" -+msgstr "Nhập (các) câu lệnh shell:" -+ -+#: edit/editcmd.c:2398 -+msgid "External command" -+msgstr "Lệnh ngoại trú" -+ -+#: edit/editcmd.c:2399 -+msgid "Cannot execute command" -+msgstr "Không thực hiện được câu lệnh" -+ -+#: edit/editcmd.c:2433 -+msgid "Error creating script:" -+msgstr "Lỗi tạo script:" -+ -+#: edit/editcmd.c:2441 -+msgid "Error reading script:" -+msgstr "Lỗi đọc script:" -+ -+#: edit/editcmd.c:2450 -+msgid "Error closing script:" -+msgstr "Lỗi đóng script:" -+ -+#: edit/editcmd.c:2456 -+msgid "Script created:" -+msgstr "Đã tạo script:" -+ -+#: edit/editcmd.c:2463 -+msgid "Process block" -+msgstr "Xử lý khối" -+ -+#: edit/editcmd.c:2562 -+msgid " Mail " -+msgstr " Thư " -+ -+#: edit/editcmd.c:2573 -+msgid " Copies to" -+msgstr " Sao chép tới" -+ -+#: edit/editcmd.c:2577 -+msgid " Subject" -+msgstr " Tên thư" -+ -+#: edit/editcmd.c:2581 -+msgid " To" -+msgstr " Người nhận" -+ -+#: edit/editcmd.c:2583 -+msgid " mail -s -c " -+msgstr " mail -s -c " -+ -+#: edit/editkeys.c:180 -+msgid " Emacs key: " -+msgstr "Phím Emacs: " -+ -+#: edit/editkeys.c:194 edit/editkeys.c:225 -+msgid " Execute Macro " -+msgstr "Thực hiện Macro " -+ -+#: edit/editkeys.c:217 -+msgid " Insert Literal " -+msgstr " Chèn văn bản thuần túy " -+ -+#: edit/editkeys.c:218 -+msgid " Press any key: " -+msgstr " Nhấn phím bất kỳ: " -+ -+#: edit/editlock.c:148 -+#, c-format -+msgid "" -+"File \"%s\" is already being edited\n" -+"User: %s\n" -+"Process ID: %d" -+msgstr "" -+"Tập tin \"%s\" đang được soạn thảo\n" -+"Ngưòi dùng: %s\n" -+"ID tiến trình: %d" -+ -+#: edit/editlock.c:153 -+msgid "File locked" -+msgstr "Tập tin bị khóa" -+ -+#: edit/editlock.c:153 -+msgid "&Grab lock" -+msgstr "&Chiếm đoạt khóa" -+ -+#: edit/editlock.c:154 -+msgid "&Ignore lock" -+msgstr "&Lời đi khóa" -+ -+#: edit/editmenu.c:55 -+msgid " About " -+msgstr " Về chương trình " -+ -+#: edit/editmenu.c:56 -+msgid "" -+"\n" -+" Cooledit v3.11.5\n" -+"\n" -+" Copyright (C) 1996 the Free Software Foundation\n" -+"\n" -+" A user friendly text editor written\n" -+" for the Midnight Commander.\n" -+msgstr "" -+"\n" -+" Cooledit v3.11.5\n" -+"\n" -+" Copyright (C) 1996 the Free Software Foundation\n" -+"\n" -+" Trình soạn thảo với giao diện người dùng thân thiện.\n" -+" Được viết cho Midnight Commander.\n" -+ -+#: edit/editmenu.c:283 edit/editmenu.c:301 -+msgid "&Open file..." -+msgstr "&Mở tập tin..." -+ -+#: edit/editmenu.c:284 -+msgid "&New C-n" -+msgstr "&Tập tin mới C-n" -+ -+#: edit/editmenu.c:286 edit/editmenu.c:304 -+msgid "&Save F2" -+msgstr "&Ghi nhớ F2" -+ -+#: edit/editmenu.c:287 edit/editmenu.c:305 -+msgid "Save &as... F12" -+msgstr "Ghi &như... F12" -+ -+#: edit/editmenu.c:289 edit/editmenu.c:307 -+msgid "&Insert file... F15" -+msgstr "&Chèn tập tin... F15" -+ -+#: edit/editmenu.c:290 -+msgid "Copy to &file... C-f" -+msgstr "Ché&p vào tập tin... C-f" -+ -+#: edit/editmenu.c:292 edit/editmenu.c:310 -+msgid "&User menu... F11" -+msgstr "Trình đơn người &dùng... F11" -+ -+#: edit/editmenu.c:294 edit/editmenu.c:312 -+msgid "A&bout... " -+msgstr "&Về chương trình... " -+ -+#: edit/editmenu.c:296 edit/editmenu.c:314 -+msgid "&Quit F10" -+msgstr "T&hoát F10" -+ -+#: edit/editmenu.c:302 -+msgid "&New C-x k" -+msgstr "&Tập tin mới C-x k" -+ -+#: edit/editmenu.c:308 -+msgid "Copy to &file... " -+msgstr "S&ao chép vào tập tin... " -+ -+#: edit/editmenu.c:319 -+msgid "&Toggle Mark F3" -+msgstr "&Bật/tắt bôi đen F3" -+ -+#: edit/editmenu.c:320 -+msgid "&Mark Columns S-F3" -+msgstr "Bôi đen &cột S-F3" -+ -+#: edit/editmenu.c:322 -+msgid "Toggle &ins/overw Ins" -+msgstr "Chế độ chèn/&thay thế Ins" -+ -+#: edit/editmenu.c:324 -+msgid "&Copy F5" -+msgstr "&Sao chép F5" -+ -+#: edit/editmenu.c:325 -+msgid "&Move F6" -+msgstr "&Di chuyển F6" -+ -+#: edit/editmenu.c:326 -+msgid "&Delete F8" -+msgstr "&Xóa F8" -+ -+#: edit/editmenu.c:328 -+msgid "&Undo C-u" -+msgstr "&Hủy bước C-u" -+ -+#: edit/editmenu.c:330 -+msgid "&Beginning C-PgUp" -+msgstr "Đầ&u tập tin C-PgUp" -+ -+#: edit/editmenu.c:331 -+msgid "&End C-PgDn" -+msgstr "Cuố&i tập tin C-PgDn" -+ -+#: edit/editmenu.c:338 -+msgid "&Search... F7" -+msgstr "Tìm &kiếm... F7" -+ -+#: edit/editmenu.c:339 -+msgid "Search &again F17" -+msgstr "&Tìm kiếm lại lần nữa F17" -+ -+#: edit/editmenu.c:340 -+msgid "&Replace... F4" -+msgstr "Th&ay thế... F4" -+ -+#: edit/editmenu.c:347 edit/editmenu.c:371 -+msgid "&Go to line... M-l" -+msgstr "&Chuyển tới dòng... M-l" -+ -+#: edit/editmenu.c:348 edit/editmenu.c:372 -+msgid "Go to matching &bracket M-b" -+msgstr "Chuyển &tới dấu ngoặc tạo cặp M-b" -+ -+#: edit/editmenu.c:350 edit/editmenu.c:374 -+msgid "Insert &literal... C-q" -+msgstr "Chèn &văn bản thuần túy... C-q" -+ -+#: edit/editmenu.c:352 edit/editmenu.c:376 -+msgid "&Refresh screen C-l" -+msgstr "&Làm mới màn hình C-l" -+ -+#: edit/editmenu.c:354 edit/editmenu.c:378 -+msgid "&Start record macro C-r" -+msgstr "&Bắt đầu ghi macro C-r" -+ -+#: edit/editmenu.c:355 edit/editmenu.c:379 -+msgid "&Finish record macro... C-r" -+msgstr "&Kết thúc ghi macro... C-r" -+ -+#: edit/editmenu.c:356 -+msgid "&Execute macro... C-a, KEY" -+msgstr "Chạy ¯o... C-a, KEY" -+ -+#: edit/editmenu.c:357 edit/editmenu.c:381 -+msgid "Delete macr&o... " -+msgstr "&Xóa macro... " -+ -+#: edit/editmenu.c:359 edit/editmenu.c:383 -+msgid "Insert &date/time " -+msgstr "Chèn &ngày/giờ " -+ -+#: edit/editmenu.c:361 edit/editmenu.c:385 -+msgid "Format p&aragraph M-p" -+msgstr "Định &dạng đoạn văn M-p" -+ -+#: edit/editmenu.c:362 -+msgid "'ispell' s&pell check C-p" -+msgstr "Kiểm tra chính tả '&ispell' C-p" -+ -+#: edit/editmenu.c:363 edit/editmenu.c:387 -+msgid "Sor&t... M-t" -+msgstr "&Sắp xếp... M-t" -+ -+#: edit/editmenu.c:364 edit/editmenu.c:388 -+msgid "Paste o&utput of... M-u" -+msgstr "Dán &kết quả của lệnh... M-u" -+ -+#: edit/editmenu.c:365 edit/editmenu.c:389 -+msgid "E&xternal Formatter F19" -+msgstr "T&rình định dạng ngoài F19" -+ -+#: edit/editmenu.c:366 edit/editmenu.c:390 -+msgid "&Mail... " -+msgstr "T&hư điện tử... " -+ -+#: edit/editmenu.c:380 -+msgid "&Execute macro... C-x e, KEY" -+msgstr "Thực hiện ¯o... C-x e, KEY" -+ -+#: edit/editmenu.c:386 -+msgid "'ispell' s&pell check M-$" -+msgstr "Kiểm tra chính tả '&ispell' M-$" -+ -+#: edit/editmenu.c:395 -+msgid "&General... " -+msgstr "Ch&ung... " -+ -+#: edit/editmenu.c:396 -+msgid "&Save mode..." -+msgstr "&Chế độ ghi nhớ..." -+ -+#: edit/editmenu.c:397 src/main.c:909 -+msgid "learn &Keys..." -+msgstr "&Tạo phím tắt... " -+ -+#: edit/editmenu.c:408 edit/editmenu.c:422 src/chmod.c:146 src/chown.c:119 -+msgid " File " -+msgstr " Tập tin " -+ -+#: edit/editmenu.c:410 edit/editmenu.c:424 -+msgid " Edit " -+msgstr " Soạn thảo " -+ -+#: edit/editmenu.c:412 edit/editmenu.c:426 -+msgid " Sear/Repl " -+msgstr " Tìm kiếm/Thay thế " -+ -+#: edit/editmenu.c:414 edit/editmenu.c:428 -+msgid " Command " -+msgstr " Câu lệnh " -+ -+#: edit/editmenu.c:416 edit/editmenu.c:430 -+msgid " Options " -+msgstr " Tùy chọn " -+ -+#: edit/editoptions.c:36 -+msgid "Intuitive" -+msgstr "T&rực giác" -+ -+#: edit/editoptions.c:36 -+msgid "Emacs" -+msgstr "&Emacs" -+ -+#: edit/editoptions.c:39 -+msgid "None" -+msgstr "&Không" -+ -+#: edit/editoptions.c:39 -+msgid "Dynamic paragraphing" -+msgstr "Định &dạng đoạn văn động" -+ -+#: edit/editoptions.c:39 -+msgid "Type writer wrap" -+msgstr "Tự độ&ng chuyển dòng" -+ -+#: edit/editoptions.c:75 -+msgid "Word wrap line length: " -+msgstr "Vị trí chuyển dòng: " -+ -+#: edit/editoptions.c:81 -+msgid "Tab spacing: " -+msgstr "Độ rộng tab: " -+ -+#: edit/editoptions.c:88 -+msgid "Synta&x highlighting" -+msgstr "&Chiếu sáng cú pháp" -+ -+#: edit/editoptions.c:91 -+msgid "Save file &position" -+msgstr "&Ghi nhớ vị trí trong tập tin" -+ -+#: edit/editoptions.c:94 -+msgid "Confir&m before saving" -+msgstr "&Hỏi lại trước khi ghi nhớ" -+ -+#: edit/editoptions.c:97 -+msgid "Fill tabs with &spaces" -+msgstr "&Làm đầy tab bằng khoảng trắng" -+ -+#: edit/editoptions.c:100 -+msgid "&Return does autoindent" -+msgstr "&Enter tự động thụt dòng" -+ -+#: edit/editoptions.c:103 -+msgid "&Backspace through tabs" -+msgstr "&Backpace xóa hết tab" -+ -+#: edit/editoptions.c:106 -+msgid "&Fake half tabs" -+msgstr "&Tạo một nửa tab" -+ -+#: edit/editoptions.c:112 -+msgid "Wrap mode" -+msgstr "Chế độ chuyển dòng" -+ -+#: edit/editoptions.c:119 -+msgid "Key emulation" -+msgstr "Giả tạo phím" -+ -+#: edit/editoptions.c:124 -+msgid " Editor options " -+msgstr " Cấu hình trình soạn thảo " -+ -+#: edit/editwidget.c:287 src/help.c:793 src/help.c:814 src/main.c:1205 -+#: src/screen.c:2184 src/tree.c:970 src/view.c:2213 -+msgid "Help" -+msgstr "Giúpđỡ" -+ -+#: edit/editwidget.c:289 -+msgid "Mark" -+msgstr "Bôiđen" -+ -+#: edit/editwidget.c:290 -+msgid "Replac" -+msgstr "Thayth" -+ -+#: edit/editwidget.c:291 src/file.c:803 src/screen.c:2188 src/tree.c:975 -+msgid "Copy" -+msgstr "Cópi " -+ -+#: edit/editwidget.c:292 -+msgid "Move" -+msgstr "Chuyển" -+ -+#: edit/editwidget.c:294 src/screen.c:2191 -+msgid "Delete" -+msgstr "Xóa " -+ -+#: edit/editwidget.c:295 src/main.c:1207 -+msgid "PullDn" -+msgstr "GọiTĐ " -+ -+#: edit/syntax.c:1100 edit/syntax.c:1107 -+msgid " Load syntax file " -+msgstr " Nạp tập tin cú pháp " -+ -+#: edit/syntax.c:1101 src/help.c:764 src/user.c:711 -+#, c-format -+msgid "" -+" Cannot open file %s \n" -+" %s " -+msgstr "" -+" Không mở được tập tin %s \n" -+" %s " -+ -+#: edit/syntax.c:1108 -+#, c-format -+msgid " Error in file %s on line %d " -+msgstr " Lỗi trong tập tin %s trên dòng %d " -+ -+#: src/achown.c:69 src/chmod.c:97 src/chown.c:73 -+msgid "&Set" -+msgstr "Đồ&ng ý" -+ -+#: src/achown.c:70 -+msgid "S&kip" -+msgstr "&Bỏ qua" -+ -+#: src/achown.c:71 src/chmod.c:101 src/chown.c:76 -+msgid "Set &all" -+msgstr "Đặt &tất cả" -+ -+#: src/achown.c:250 src/achown.c:338 src/achown.c:345 -+msgid "owner" -+msgstr "sở hữu" -+ -+#: src/achown.c:250 src/achown.c:340 src/achown.c:347 -+msgid "group" -+msgstr "nhóm" -+ -+#: src/achown.c:342 -+msgid "other" -+msgstr "khác" -+ -+#: src/achown.c:350 -+msgid "On" -+msgstr "Trên" -+ -+#: src/achown.c:352 -+msgid "Flag" -+msgstr "Cờ" -+ -+#: src/achown.c:354 -+msgid "Mode" -+msgstr "Chếđộ" -+ -+#: src/achown.c:358 -+#, c-format -+msgid "%6d of %d" -+msgstr "%6d của %d" -+ -+#: src/achown.c:549 -+msgid " Chown advanced command " -+msgstr " Câu lệnh chown mở rộng" -+ -+#: src/achown.c:607 src/achown.c:623 src/achown.c:669 src/chmod.c:241 -+#: src/chmod.c:311 -+#, c-format -+msgid "" -+" Cannot chmod \"%s\" \n" -+" %s " -+msgstr "" -+" Không chmod được \"%s\" \n" -+" %s " -+ -+#: src/achown.c:612 src/achown.c:627 src/achown.c:673 src/chown.c:214 -+#: src/chown.c:322 -+#, c-format -+msgid "" -+" Cannot chown \"%s\" \n" -+" %s " -+msgstr "" -+" Không thay thế được chủ sở hữu \"%s\" \n" -+" %s " -+ -+#: src/background.c:205 src/file.c:2145 -+msgid " Background process error " -+msgstr " Lỗi của tiến trình nền sau " -+ -+#: src/background.c:211 -+msgid " Unknown error in child " -+msgstr " Lỗi không rõ trong tiến trình con " -+ -+#: src/background.c:219 -+msgid " Child died unexpectedly " -+msgstr " Tiến trình con bất đắc kỳ tử " -+ -+#: src/background.c:226 -+msgid " Background protocol error " -+msgstr " Lỗi giao thức nền sau " -+ -+#: src/background.c:227 -+msgid "" -+" Background process sent us a request for more arguments \n" -+" than we can handle. \n" -+msgstr "" -+" Tiến trình nền sau yêu cầu nhiều tham số hơn, \n" -+" số chúng ta có thể điều khiển. \n" -+ -+#: src/boxes.c:75 -+msgid "&Full file list" -+msgstr "&Danh sách đầy đủ" -+ -+#: src/boxes.c:76 -+msgid "&Brief file list" -+msgstr "&Thu gọn" -+ -+#: src/boxes.c:77 -+msgid "&Long file list" -+msgstr "&Mở rộng" -+ -+#: src/boxes.c:78 -+msgid "&User defined:" -+msgstr "&Người dùng tự xác định:" -+ -+#: src/boxes.c:136 -+msgid "Listing mode" -+msgstr "Dạng danh sách" -+ -+#: src/boxes.c:138 -+msgid "user &Mini status" -+msgstr "t&Rạng thái mini" -+ -+#: src/boxes.c:278 -+msgid "&Reverse" -+msgstr "&Ngược lại" -+ -+#: src/boxes.c:279 -+msgid "case sensi&tive" -+msgstr "tính đến kiể&U chữ" -+ -+#: src/boxes.c:280 -+msgid "Sort order" -+msgstr "Thứ tự sắp xếp" -+ -+#: src/boxes.c:375 -+msgid " confirm &Exit " -+msgstr " trước khi th&Oát " -+ -+#: src/boxes.c:377 -+msgid " confirm e&Xecute " -+msgstr " trước &Khi thực hiện " -+ -+#: src/boxes.c:379 -+msgid " confirm o&Verwrite " -+msgstr " &Trước khi ghi chèn " -+ -+#: src/boxes.c:381 -+msgid " confirm &Delete " -+msgstr " hỏi lại trước khi &Xóa " -+ -+#: src/boxes.c:387 src/cmd.c:194 -+msgid " Confirmation " -+msgstr " Hỏi xác nhận " -+ -+#: src/boxes.c:459 -+msgid "Full 8 bits output" -+msgstr "Đầu ra 8 bit đầy đủ" -+ -+#: src/boxes.c:459 -+msgid "ISO 8859-1" -+msgstr "ISO.8859-1" -+ -+#: src/boxes.c:459 -+msgid "7 bits" -+msgstr "7 bit" -+ -+#: src/boxes.c:466 src/boxes.c:594 -+msgid "F&ull 8 bits input" -+msgstr "Đầ&u vào 8 bit đầy đủ" -+ -+#: src/boxes.c:474 src/boxes.c:575 -+msgid " Display bits " -+msgstr " Ký tự hiển thị " -+ -+#: src/boxes.c:556 src/boxes.c:581 src/selcodepage.c:70 -+msgid "Other 8 bit" -+msgstr "8 bit khác" -+ -+#: src/boxes.c:578 -+msgid "Input / display codepage:" -+msgstr "Bảng mã đầu vào / hiển thị:" -+ -+#: src/boxes.c:597 -+msgid "&Select" -+msgstr "&Lựa chọn" -+ -+#: src/boxes.c:716 -+msgid "Use &passive mode" -+msgstr "Sử &dụng chế độ thụ động" -+ -+#: src/boxes.c:718 -+msgid "&Use ~/.netrc" -+msgstr "&Sử dụng ~/.netrc" -+ -+#: src/boxes.c:722 -+msgid "&Always use ftp proxy" -+msgstr "&Luôn luôn sử dụng ftp proxy" -+ -+#: src/boxes.c:724 -+msgid "sec" -+msgstr "giây" -+ -+#: src/boxes.c:728 -+msgid "ftpfs directory cache timeout:" -+msgstr "Thời gian chờ của cache thư mục ftp:" -+ -+#: src/boxes.c:732 -+msgid "ftp anonymous password:" -+msgstr "Mật khẩu ftp nặc danh:" -+ -+#: src/boxes.c:739 -+msgid "Timeout for freeing VFSs:" -+msgstr "Thời gian chờ giải phóng VFS:" -+ -+#: src/boxes.c:745 -+msgid " Virtual File System Setting " -+msgstr " Thiết lập hệ thống tập tin ảo " -+ -+#: src/boxes.c:799 -+msgid "Quick cd" -+msgstr "cd nhanh" -+ -+#: src/boxes.c:802 -+msgid "cd" -+msgstr "cd" -+ -+#: src/boxes.c:837 -+msgid "Symbolic link filename:" -+msgstr "Tên của liên kết mềm:" -+ -+#: src/boxes.c:841 -+msgid "Existing filename (filename symlink will point to):" -+msgstr "Tên tập tin đã có (liên kết mềm sẽ chỉ đến):" -+ -+#: src/boxes.c:848 -+msgid "Symbolic link" -+msgstr "Liên kết mềm" -+ -+#: src/boxes.c:881 -+msgid "Running " -+msgstr "Đang chạy " -+ -+#: src/boxes.c:882 src/find.c:721 -+msgid "Stopped" -+msgstr "Đã dừng" -+ -+#: src/boxes.c:942 -+msgid "&Stop" -+msgstr "&Dừng" -+ -+#: src/boxes.c:943 -+msgid "&Resume" -+msgstr "&Phục hồi" -+ -+#: src/boxes.c:944 -+msgid "&Kill" -+msgstr "&Diệt" -+ -+#: src/boxes.c:981 -+msgid "Background Jobs" -+msgstr " Công việc nền sau" -+ -+#: src/boxes.c:1012 -+msgid "Domain:" -+msgstr "Miền (domain):" -+ -+#: src/boxes.c:1012 -+msgid "Username:" -+msgstr "Tên người dùng:" -+ -+#: src/boxes.c:1012 -+msgid "Password:" -+msgstr "Mật khẩu:" -+ -+#: src/boxes.c:1063 -+#, c-format -+msgid "Password for \\\\%s\\%s" -+msgstr "Mật khẩu cho \\\\%s\\%s" -+ -+#: src/charsets.c:51 vfs/extfs.c:1260 vfs/sfs.c:318 -+#, c-format -+msgid "Warning: file %s not found\n" -+msgstr "Cảnh báo: không tìm thấy tập tin %s\n" -+ -+#: src/charsets.c:198 src/charsets.c:212 -+#, c-format -+msgid "Cannot translate from %s to %s" -+msgstr "Không chuyển được bảng mã từ %s thành %s" -+ -+#: src/chmod.c:77 -+msgid "execute/search by others" -+msgstr "người khác có quyền chạy/tìm" -+ -+#: src/chmod.c:78 -+msgid "write by others" -+msgstr "người khác có quyền ghi nhớ" -+ -+#: src/chmod.c:79 -+msgid "read by others" -+msgstr "người khác có quyền đọc" -+ -+#: src/chmod.c:80 -+msgid "execute/search by group" -+msgstr "nhóm có quyền chạy/tìm kiếm" -+ -+#: src/chmod.c:81 -+msgid "write by group" -+msgstr "nhóm có quyền ghi nhớ" -+ -+#: src/chmod.c:82 -+msgid "read by group" -+msgstr "nhóm có quyền đọc" -+ -+#: src/chmod.c:83 -+msgid "execute/search by owner" -+msgstr "chủ sở hữu có quyền chạy/tìm" -+ -+#: src/chmod.c:84 -+msgid "write by owner" -+msgstr "chủ sở hữu có quyền ghi nhớ" -+ -+#: src/chmod.c:85 -+msgid "read by owner" -+msgstr "chủ sở hữu có quyền đọc" -+ -+#: src/chmod.c:86 -+msgid "sticky bit" -+msgstr "bit dính (sticky)" -+ -+#: src/chmod.c:87 -+msgid "set group ID on execution" -+msgstr "đặt ID nhóm khi chạy" -+ -+#: src/chmod.c:88 -+msgid "set user ID on execution" -+msgstr "đặt ID người dùng khi chạy" -+ -+#: src/chmod.c:98 -+msgid "C&lear marked" -+msgstr "&Xóa đánh dấu" -+ -+#: src/chmod.c:99 -+msgid "S&et marked" -+msgstr "Đá&nh dấu" -+ -+#: src/chmod.c:100 -+msgid "&Marked all" -+msgstr "Đánh &dấu tất cả" -+ -+#: src/chmod.c:124 src/screen.c:405 -+msgid "Name" -+msgstr "Tên" -+ -+#: src/chmod.c:126 -+msgid "Permissions (Octal)" -+msgstr "Quyền hạn (Hệ tám)" -+ -+#: src/chmod.c:128 -+msgid "Owner name" -+msgstr "Tên chủ sở hữu" -+ -+#: src/chmod.c:130 -+msgid "Group name" -+msgstr "Tên nhóm" -+ -+#: src/chmod.c:133 -+msgid "Use SPACE to change" -+msgstr "Dùng PHÍM TRẮNG để thay đổi" -+ -+#: src/chmod.c:135 -+msgid "an option, ARROW KEYS" -+msgstr "tùy chọn, PHÍM MŨI TÊN" -+ -+#: src/chmod.c:137 -+msgid "to move between options" -+msgstr "để di chuyển giữa các tùy chọn" -+ -+#: src/chmod.c:139 -+msgid "and T or INS to mark" -+msgstr "và T hoặc INS để đánh dấu" -+ -+#: src/chmod.c:144 src/chown.c:111 -+msgid " Permission " -+msgstr " Quyền truy cập " -+ -+#: src/chmod.c:196 -+msgid "Chmod command" -+msgstr " Câu lệnh chmod " -+ -+#: src/chown.c:74 -+msgid "Set &users" -+msgstr "Đặt &người dùng" -+ -+#: src/chown.c:75 -+msgid "Set &groups" -+msgstr "Đặt &nhóm" -+ -+#: src/chown.c:103 -+msgid " Name " -+msgstr " Tên " -+ -+#: src/chown.c:105 -+msgid " Owner name " -+msgstr " Tên chủ sở hữu " -+ -+#: src/chown.c:107 src/chown.c:117 -+msgid " Group name " -+msgstr " Tên nhóm " -+ -+#: src/chown.c:109 -+msgid " Size " -+msgstr " Kích thước " -+ -+#: src/chown.c:115 -+msgid " User name " -+msgstr " Tên người dùng " -+ -+#: src/chown.c:158 -+msgid " Chown command " -+msgstr " Câu lệnh chown " -+ -+#: src/chown.c:178 -+msgid "" -+msgstr "" -+ -+#: src/chown.c:179 -+msgid "" -+msgstr "" -+ -+#: src/cmd.c:194 -+msgid "Files tagged, want to cd?" -+msgstr "Đã đánh dấu các tập tin, chuyển thư mục?" -+ -+#: src/cmd.c:200 src/cmd.c:670 src/cmd.c:727 src/main.c:681 src/screen.c:1933 -+msgid "Cannot change directory" -+msgstr "Không thay đổi được thư mục" -+ -+#: src/cmd.c:233 -+msgid " View file " -+msgstr " Xem tập tin " -+ -+#: src/cmd.c:233 -+msgid " Filename:" -+msgstr " Tên tập tin:" -+ -+#: src/cmd.c:255 -+msgid " Filtered view " -+msgstr " Lọc rồi xem " -+ -+#: src/cmd.c:256 -+msgid " Filter command and arguments:" -+msgstr " Lệnh lọc và tham số:" -+ -+#: src/cmd.c:355 -+msgid "Create a new Directory" -+msgstr "Tạo thư mục mới" -+ -+#: src/cmd.c:356 -+msgid " Enter directory name:" -+msgstr " Hãy nhập tên thư mục:" -+ -+#: src/cmd.c:428 -+msgid " Filter " -+msgstr " Đầu lọc " -+ -+#: src/cmd.c:429 -+msgid " Set expression for filtering filenames" -+msgstr " Đặt biểu thức để lọc tên tập tin (nhấn F1 để xem trợ giúp)" -+ -+#: src/cmd.c:482 -+msgid " Select " -+msgstr " Chọn " -+ -+#: src/cmd.c:510 src/cmd.c:555 src/find.c:147 -+msgid " Malformed regular expression " -+msgstr " Biểu thức chính quy không đúng " -+ -+#: src/cmd.c:528 -+msgid " Unselect " -+msgstr " Bỏ chọn " -+ -+#: src/cmd.c:596 -+msgid "Extension file edit" -+msgstr "Soạn thảo phần mở rộng tập tin" -+ -+#: src/cmd.c:597 -+msgid " Which extension file you want to edit? " -+msgstr " Soạn thảo phần mở rộng tập tin nào? " -+ -+#: src/cmd.c:598 src/cmd.c:701 -+msgid "&User" -+msgstr "&Người dùng" -+ -+#: src/cmd.c:598 src/cmd.c:627 src/cmd.c:701 -+msgid "&System Wide" -+msgstr "&Hệ thống" -+ -+#: src/cmd.c:624 -+msgid " Menu edit " -+msgstr " Soạn thảo tập tin trình đơn " -+ -+#: src/cmd.c:625 -+msgid " Which menu file do you want to edit? " -+msgstr " Soạn thảo tập tin trình đơn nào? " -+ -+#: src/cmd.c:627 -+msgid "&Local" -+msgstr "&Nội bộ máy" -+ -+#: src/cmd.c:627 -+msgid "&Home" -+msgstr "&Cá nhân" -+ -+#: src/cmd.c:699 -+msgid "Syntax file edit" -+msgstr "Soạn thảo tập tin cú pháp" -+ -+#: src/cmd.c:700 -+msgid " Which syntax file you want to edit? " -+msgstr " Soạn thảo tập tin cú pháp nào? " -+ -+#: src/cmd.c:854 -+msgid " Compare directories " -+msgstr " So sánh thư mục " -+ -+#: src/cmd.c:855 -+msgid " Select compare method: " -+msgstr " Chọn phương pháp so sánh: " -+ -+#: src/cmd.c:855 -+msgid "&Quick" -+msgstr "&Nhanh" -+ -+#: src/cmd.c:856 -+msgid "&Size only" -+msgstr "&Chỉ theo kích thước" -+ -+#: src/cmd.c:856 -+msgid "&Thorough" -+msgstr "&Theo từng byte" -+ -+#: src/cmd.c:869 -+msgid " Both panels should be in the listing mode to use this command " -+msgstr "Để thực hiện câu lệnh này cả hai bảng phải ở trong chế độ danh sách " -+ -+#: src/cmd.c:885 -+msgid " The command history is empty " -+msgstr " Lịch sử dòng lệnh rỗng " -+ -+#: src/cmd.c:889 -+msgid " Command history " -+msgstr " Lịch sử dòng lệnh " -+ -+#: src/cmd.c:925 -+msgid "" -+" Not an xterm or Linux console; \n" -+" the panels cannot be toggled. " -+msgstr "" -+" Đây không phải là xterm hay kênh giao tác Linux; \n" -+" bảng sẽ không thể bị tắt. " -+ -+#: src/cmd.c:939 -+#, c-format -+msgid "Link %s to:" -+msgstr "Tạo liên kết tới %s:" -+ -+#: src/cmd.c:940 -+msgid " Link " -+msgstr " Liên kết " -+ -+#: src/cmd.c:950 -+#, c-format -+msgid " link: %s " -+msgstr " liên kết: %s " -+ -+#: src/cmd.c:978 -+#, c-format -+msgid " symlink: %s " -+msgstr " liên kết mềm: %s " -+ -+#: src/cmd.c:1012 -+#, c-format -+msgid " Symlink `%s' points to: " -+msgstr " Liên kết mềm %s chỉ tới: " -+ -+#: src/cmd.c:1017 -+msgid " Edit symlink " -+msgstr " Sửa liên kết mềm " -+ -+#: src/cmd.c:1022 -+#, c-format -+msgid " edit symlink, unable to remove %s: %s " -+msgstr " sửa liên kết mềm, không thể xóa %s: %s " -+ -+#: src/cmd.c:1026 -+#, c-format -+msgid " edit symlink: %s " -+msgstr " sửa liên kết mềm: %s " -+ -+#: src/cmd.c:1037 -+#, c-format -+msgid "`%s' is not a symbolic link" -+msgstr "`%s' không phải là một liên kết mềm" -+ -+#: src/cmd.c:1155 -+#, c-format -+msgid " Cannot chdir to %s " -+msgstr " Không thể chdir vào %s " -+ -+#: src/cmd.c:1164 -+msgid " Enter machine name (F1 for details): " -+msgstr " Hãy nhập tên máy (nhấn F1 để biết chi tiết): " -+ -+#: src/cmd.c:1169 src/widget.c:1051 -+msgid " Link to a remote machine " -+msgstr " Kiết nối tới máy ở xa " -+ -+#: src/cmd.c:1176 src/widget.c:1052 -+msgid " FTP to machine " -+msgstr " FTP tới máy ở xa " -+ -+#: src/cmd.c:1182 -+msgid " Shell link to machine " -+msgstr " Kết nối shell tới máy ở xa" -+ -+#: src/cmd.c:1189 src/widget.c:1053 -+msgid " SMB link to machine " -+msgstr " Kết nối SMB tới máy ở xa" -+ -+#: src/cmd.c:1198 -+msgid " Undelete files on an ext2 file system " -+msgstr " Phục hồi tập tin trên hệ thống tập tin ext2 sau khi xóa " -+ -+#: src/cmd.c:1199 -+msgid "" -+" Enter device (without /dev/) to undelete\n" -+" files on: (F1 for details)" -+msgstr "" -+" Nhập tên thiết bị (không có /dev/), để\n" -+" phục hồi tập tin của nó: (nhấn F1 để biết chi tiết)" -+ -+#: src/cmd.c:1249 -+msgid " Setup saved to ~/" -+msgstr " Tham số ghi nhớ trong ~/" -+ -+#: src/cmd.c:1251 -+msgid " Setup " -+msgstr " Cấu hình " -+ -+#: src/command.c:177 src/screen.c:2174 src/tree.c:823 -+#, c-format -+msgid "" -+" Cannot chdir to \"%s\" \n" -+" %s " -+msgstr "" -+" Không chdir được tới \"%s\" \n" -+" %s " -+ -+#: src/command.c:210 src/user.c:694 -+msgid " Cannot execute commands on non-local filesystems" -+msgstr " Chỉ có thể thực hiện câu lệnh trên hệ thống tập tin nội bộ" -+ -+#: src/command.c:219 src/execute.c:183 -+msgid " The shell is already running a command " -+msgstr " shell đang chạy một câu lệnh" -+ -+#: src/dir.c:49 -+msgid "&Unsorted" -+msgstr "không &Sắp xếp" -+ -+#: src/dir.c:50 -+msgid "&Name" -+msgstr "th&Eo tên" -+ -+#: src/dir.c:51 -+msgid "&Extension" -+msgstr "&Phần mở rộng" -+ -+#: src/dir.c:52 -+msgid "&Modify time" -+msgstr "&Thời gian sửa đổi" -+ -+#: src/dir.c:53 -+msgid "&Access time" -+msgstr "thời &Gian truy cập" -+ -+#: src/dir.c:54 -+msgid "&Change time" -+msgstr "thời gi&An thay đổi" -+ -+#: src/dir.c:55 -+msgid "&Size" -+msgstr "&Kích thước" -+ -+#: src/dir.c:56 -+msgid "&Inode" -+msgstr "&Chỉ mục inode" -+ -+#: src/dir.c:59 -+msgid "&Type" -+msgstr "&Loại" -+ -+#: src/dir.c:60 -+msgid "&Links" -+msgstr "&Liên kết" -+ -+#: src/dir.c:61 -+msgid "N&GID" -+msgstr "N&GID" -+ -+#: src/dir.c:62 -+msgid "N&UID" -+msgstr "N&UID" -+ -+#: src/dir.c:63 -+msgid "&Owner" -+msgstr "&Chủ sở hữu" -+ -+#: src/dir.c:64 -+msgid "&Group" -+msgstr "&Nhóm" -+ -+#: src/dir.c:475 src/dir.c:577 -+msgid "Cannot read directory contents" -+msgstr "Không đọc được nội dung thư mục" -+ -+#: src/execute.c:133 src/utilunix.c:380 -+msgid "Press any key to continue..." -+msgstr "Để tiếp tục nhấn phím bất kỳ..." -+ -+#: src/execute.c:235 -+msgid "Type `exit' to return to the Midnight Commander" -+msgstr "Hãy gõ \"exit\" để quay trở lại Midnight Commander" -+ -+#: src/execute.c:343 -+#, c-format -+msgid " Cannot fetch a local copy of %s " -+msgstr " Không thể lấy được bản sao nội bộ của %s " -+ -+#: src/ext.c:106 src/user.c:566 -+#, c-format -+msgid "" -+" Cannot create temporary command file \n" -+" %s " -+msgstr "" -+" Không tạo được tập tin câu lệnh tạm thời\n" -+" %s " -+ -+#: src/ext.c:119 src/user.c:589 -+msgid " Parameter " -+msgstr " Tham số " -+ -+#: src/ext.c:462 src/ext.c:481 -+msgid " file error " -+msgstr " lỗi tập tin " -+ -+#: src/ext.c:464 src/ext.c:483 -+msgid "Format of the " -+msgstr "Định dạng của " -+ -+#: src/ext.c:465 -+msgid "" -+"mc.ext file has changed\n" -+"with version 3.0. It seems that installation\n" -+"failed. Please fetch a fresh new copy from the\n" -+"Midnight Commander package." -+msgstr "" -+"Tập tin mc.ext đã thay đổi\n" -+"từ phiên bản 3.0. Rất có thể có sự cố khi cài đặt.\n" -+"Xin hãy lấy bản sao mới nhất từ gói \n" -+"Midnight Commander." -+ -+#: src/ext.c:484 -+msgid "" -+" file has changed\n" -+"with version 3.0. You may want either to\n" -+"copy it from " -+msgstr "" -+" tập tin đã thay đổi\n" -+"trong phiên bản 3.0. Có thể nên sao\n" -+"chép nó từ " -+ -+#: src/ext.c:487 -+msgid "" -+"mc.ext or use that\n" -+"file as an example of how to write it.\n" -+msgstr "" -+"mc.ext, hoặc sử dụng tập tin này làm\n" -+"ví dụ để biết cách viết.\n" -+ -+#: src/ext.c:490 -+msgid "mc.ext will be used for this moment." -+msgstr "mc.ext sẽ được sử dụng trong thời điểm này." -+ -+#: src/file.c:122 src/tree.c:593 -+msgid " Copy " -+msgstr " Sao chép " -+ -+#: src/file.c:123 src/tree.c:634 -+msgid " Move " -+msgstr " Di chuyển " -+ -+#: src/file.c:124 src/tree.c:708 -+msgid " Delete " -+msgstr " Xóa " -+ -+#: src/file.c:217 -+msgid " Invalid target mask " -+msgstr " Dấu hiệu đích đến không đúng " -+ -+#: src/file.c:316 -+msgid " Cannot make the hardlink " -+msgstr " Không thể tạo liên kết cứng " -+ -+#: src/file.c:359 -+#, c-format -+msgid "" -+" Cannot read source link \"%s\" \n" -+" %s " -+msgstr "" -+" Không thể đọc liên kết nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:370 -+msgid "" -+" Cannot make stable symlinks across non-local filesystems: \n" -+"\n" -+" Option Stable Symlinks will be disabled " -+msgstr "" -+" Không tạo được liên kết mềm bền vững giữa các hệ thống tập tin không phải nội bộ:\n" -+"\n" -+" Tùy chọn \"Liên kết mềm Bền vững\" sẽ bị tắt " -+ -+#: src/file.c:419 -+#, c-format -+msgid "" -+" Cannot create target symlink \"%s\" \n" -+" %s " -+msgstr "" -+" Khônt tạo được liên kết mềm đích \"%s\" \n" -+" %s " -+ -+#: src/file.c:493 -+#, c-format -+msgid "" -+" Cannot overwrite directory \"%s\" \n" -+" %s " -+msgstr "" -+" Không thể ghi chèn lên thư mục \"%s\" \n" -+" %s " -+ -+#: src/file.c:504 -+#, c-format -+msgid "" -+" Cannot stat source file \"%s\" \n" -+" %s " -+msgstr "" -+" Không lấy được tính chất (stat) của tập tin nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:514 src/file.c:1115 -+#, c-format -+msgid " `%s' and `%s' are the same file " -+msgstr " `%s' và `%s' là một tập tin " -+ -+#: src/file.c:552 -+#, c-format -+msgid "" -+" Cannot create special file \"%s\" \n" -+" %s " -+msgstr "" -+" Không tạo được tập tin đặc biệt \"%s\" \n" -+" %s " -+ -+#: src/file.c:564 src/file.c:813 -+#, c-format -+msgid "" -+" Cannot chown target file \"%s\" \n" -+" %s " -+msgstr "" -+" Không thay đổi được chủ sở hữu của tập tin đích đến \"%s\" \n" -+" %s " -+ -+#: src/file.c:575 src/file.c:830 -+#, c-format -+msgid "" -+" Cannot chmod target file \"%s\" \n" -+" %s " -+msgstr "" -+" Không thay đổi được quyền hạn (chmod) của tập tin đích đến \"%s\" \n" -+" %s " -+ -+#: src/file.c:589 -+#, c-format -+msgid "" -+" Cannot open source file \"%s\" \n" -+" %s " -+msgstr "" -+" Không mở được tập tin nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:600 -+msgid " Reget failed, about to overwrite file " -+msgstr " Lấy phần còn lại của tập tin không thành công, tập tin sẽ bị ghi đè " -+ -+#: src/file.c:607 -+#, c-format -+msgid "" -+" Cannot fstat source file \"%s\" \n" -+" %s " -+msgstr "" -+" Không lấy được tính chất (fstat) tập tin nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:631 -+#, c-format -+msgid "" -+" Cannot create target file \"%s\" \n" -+" %s " -+msgstr "" -+" Không tạo được tập tin đích \"%s\" \n" -+" %s " -+ -+#: src/file.c:646 -+#, c-format -+msgid "" -+" Cannot fstat target file \"%s\" \n" -+" %s " -+msgstr "" -+" Không lấy được tính chất (fstat) tập tin đích \"%s\" \n" -+" %s " -+ -+#: src/file.c:680 -+#, c-format -+msgid "" -+" Cannot read source file \"%s\" \n" -+" %s " -+msgstr "" -+" Không đọc được tập tin nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:715 -+#, c-format -+msgid "" -+" Cannot write target file \"%s\" \n" -+" %s " -+msgstr "" -+" Không ghi nhớ được tập tin nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:733 -+msgid "(stalled)" -+msgstr "(bị nhốt)" -+ -+#: src/file.c:780 -+#, c-format -+msgid "" -+" Cannot close source file \"%s\" \n" -+" %s " -+msgstr "" -+" Không đóng được tập tin nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:791 -+#, c-format -+msgid "" -+" Cannot close target file \"%s\" \n" -+" %s " -+msgstr "" -+" Không đóng được tập tin đính \"%s\" \n" -+" %s " -+ -+#: src/file.c:804 -+msgid "Incomplete file was retrieved. Keep it?" -+msgstr "Nhận được tập tin không đầy đủ. Giữ tập tin?" -+ -+#: src/file.c:805 -+msgid "&Delete" -+msgstr "&Xóa" -+ -+#: src/file.c:805 -+msgid "&Keep" -+msgstr "&Giữ" -+ -+#: src/file.c:873 -+#, c-format -+msgid "" -+" Cannot stat source directory \"%s\" \n" -+" %s " -+msgstr "" -+" Không lấy được thông tin (stat) thư mục nguồn \"%s\" \n" -+" %s " -+ -+#: src/file.c:900 -+#, c-format -+msgid "" -+" Source directory \"%s\" is not a directory \n" -+" %s " -+msgstr "" -+" Thư mục nguồn \"%s\" không phải là một thư mục \n" -+" %s " -+ -+#: src/file.c:910 -+#, c-format -+msgid "" -+" Cannot copy cyclic symbolic link \n" -+" `%s' " -+msgstr "" -+" Không sao chép được liên kết mềm vòng lặp \n" -+" `%s' " -+ -+#: src/file.c:945 src/file.c:1985 src/tree.c:648 -+#, c-format -+msgid "" -+" Destination \"%s\" must be a directory \n" -+" %s " -+msgstr "" -+" Nơi đến \"%s\" phải là một thư mục \n" -+" %s " -+ -+#: src/file.c:975 -+#, c-format -+msgid "" -+" Cannot create target directory \"%s\" \n" -+" %s " -+msgstr "" -+" Không tạo được thư mục đích đến \"%s\" \n" -+" %s " -+ -+#: src/file.c:994 -+#, c-format -+msgid "" -+" Cannot chown target directory \"%s\" \n" -+" %s " -+msgstr "" -+" Không thay đổi được chủ sở hữu (chown) của thư mục đích đến \"%s\" \n" -+" %s " -+ -+#: src/file.c:1096 -+#, c-format -+msgid "" -+" Cannot stat file \"%s\" \n" -+" %s " -+msgstr "" -+" Không nhận được tính chất (stat) của tập tin \"%s\" \n" -+" %s " -+ -+#: src/file.c:1122 -+#, c-format -+msgid " Cannot overwrite directory `%s' " -+msgstr " Không thể ghi đè lên thư mục `%s' " -+ -+#: src/file.c:1157 -+#, c-format -+msgid "" -+" Cannot move file \"%s\" to \"%s\" \n" -+" %s " -+msgstr "" -+" Không thể di chuyển tập tin \"%s\" vào \"%s\" \n" -+" %s " -+ -+#: src/file.c:1181 -+#, c-format -+msgid "" -+" Cannot remove file \"%s\" \n" -+" %s " -+msgstr "" -+" Không thể xóa tập tin \"%s\" \n" -+" %s " -+ -+#: src/file.c:1233 -+#, c-format -+msgid " `%s' and `%s' are the same directory " -+msgstr " %s và %s - là một thư mục " -+ -+#: src/file.c:1252 -+#, c-format -+msgid " Cannot overwrite directory \"%s\" %s " -+msgstr " Không thể ghi đè lên thư mục \"%s\" %s " -+ -+#: src/file.c:1256 -+#, c-format -+msgid " Cannot overwrite file \"%s\" %s " -+msgstr " Không thể ghi đè tập tin \"%s\" %s " -+ -+#: src/file.c:1282 -+#, c-format -+msgid "" -+" Cannot move directory \"%s\" to \"%s\" \n" -+" %s " -+msgstr "" -+" Không thể di chuyển thư mục \"%s\" vào \"%s\" \n" -+" %s " -+ -+#: src/file.c:1352 -+#, c-format -+msgid "" -+" Cannot delete file \"%s\" \n" -+" %s " -+msgstr "" -+" Không thể xóa tập tin \"%s\" \n" -+" %s " -+ -+#: src/file.c:1412 src/file.c:1481 src/file.c:1509 -+#, c-format -+msgid "" -+" Cannot remove directory \"%s\" \n" -+" %s " -+msgstr "" -+" Không thể xóa thư mục \"%s\" \n" -+" %s " -+ -+#: src/file.c:1657 -+msgid "1Copy" -+msgstr "1Sao chép" -+ -+#: src/file.c:1657 -+msgid "1Move" -+msgstr "1Di chuyển" -+ -+#: src/file.c:1657 -+msgid "1Delete" -+msgstr "1Xóa" -+ -+#: src/file.c:1672 -+#, no-c-format -+msgid "%o %f \"%s\"%m" -+msgstr "%o %f \"%s\"%m" -+ -+# msgfmt warnings/errors must be ignored. mc parse this pattern itself. -+#: src/file.c:1674 -+#, no-c-format -+msgid "%o %d %f%m" -+msgstr "%o (%d cái) %f%m" -+ -+#: src/file.c:1676 vfs/fish.c:561 -+msgid "file" -+msgstr "tập tin" -+ -+#: src/file.c:1676 -+msgid "files" -+msgstr "các tập tin" -+ -+#: src/file.c:1676 -+msgid "directory" -+msgstr "thư mục" -+ -+#: src/file.c:1676 -+msgid "directories" -+msgstr "Các thư mục" -+ -+#: src/file.c:1677 -+msgid "files/directories" -+msgstr "tập tin/thư mục" -+ -+#: src/file.c:1677 -+msgid " with source mask:" -+msgstr " với nhãn ban đầu:" -+ -+#: src/file.c:1677 -+msgid " to:" -+msgstr " vào:" -+ -+#: src/file.c:1821 -+msgid " Cannot operate on \"..\"! " -+msgstr " Không thể thao tác trên \"..\"! " -+ -+#: src/file.c:1877 -+msgid " Sorry, I could not put the job in background " -+msgstr " Xin lỗi, không thể đặt công việc nào vào chế độ nền sau " -+ -+#: src/file.c:2147 src/view.c:441 -+msgid "&Retry" -+msgstr "&Thử lại" -+ -+#: src/file.c:2148 src/file.c:2211 src/filegui.c:207 src/filegui.c:517 -+msgid "&Abort" -+msgstr "&Dừng" -+ -+#: src/file.c:2200 -+msgid "" -+"\n" -+" Directory not empty. \n" -+" Delete it recursively? " -+msgstr "" -+"\n" -+" Thư mục không rỗng. \n" -+" Xóa toàn bộ (đệ quy)? " -+ -+#: src/file.c:2202 -+msgid "" -+"\n" -+" Background process: Directory not empty \n" -+" Delete it recursively? " -+msgstr "" -+"\n" -+" Tiến trình nền sau: Thư mục không rỗng \n" -+" Xóa toàn bộ (đệ quy)? " -+ -+#: src/file.c:2204 -+msgid " Delete: " -+msgstr " Xóa: " -+ -+#: src/file.c:2210 src/filegui.c:519 -+msgid "Non&e" -+msgstr "&Không" -+ -+#: src/filegui.c:324 -+#, c-format -+msgid "ETA %d:%02d.%02d" -+msgstr "Còn lại %d:%02d.%02d" -+ -+#: src/filegui.c:347 -+#, c-format -+msgid "%.2f MB/s" -+msgstr "%.2f МB/giây" -+ -+#: src/filegui.c:350 -+#, c-format -+msgid "%.2f KB/s" -+msgstr "%.2f KB/giây" -+ -+#: src/filegui.c:353 -+#, c-format -+msgid "%ld B/s" -+msgstr "%ld B/giây" -+ -+#: src/filegui.c:376 -+msgid "File" -+msgstr "Tập tin" -+ -+#: src/filegui.c:399 -+msgid "Count" -+msgstr "Đếm" -+ -+#: src/filegui.c:420 -+msgid "Bytes" -+msgstr "Byte" -+ -+#: src/filegui.c:453 -+msgid "Source" -+msgstr "Nguồn" -+ -+#: src/filegui.c:476 -+msgid "Target" -+msgstr "Đích" -+ -+#: src/filegui.c:498 -+msgid "Deleting" -+msgstr "Đang xóa" -+ -+#: src/filegui.c:516 -+#, c-format -+msgid "Target file \"%s\" already exists!" -+msgstr "Tập tin đích \"%s\" đã tồn tại!" -+ -+#: src/filegui.c:518 -+msgid "If &size differs" -+msgstr "&Nếu kích thước khác nhau" -+ -+#: src/filegui.c:520 -+msgid "&Update" -+msgstr "&Cập nhật" -+ -+#: src/filegui.c:522 -+msgid "Overwrite all targets?" -+msgstr "Khi đè lên mọi tập tin đích?" -+ -+#: src/filegui.c:523 -+msgid "&Reget" -+msgstr "&Lấy lại" -+ -+#: src/filegui.c:524 -+msgid "A&ppend" -+msgstr "&Thêm vào cuối" -+ -+#: src/filegui.c:527 -+msgid "Overwrite this target?" -+msgstr "Khi đè lên tập tin này?" -+ -+#: src/filegui.c:528 -+#, c-format -+msgid "Target date: %s, size %d" -+msgstr "Thời gian sửa đổi của tập tin đích: %s, kích thước %d" -+ -+#: src/filegui.c:529 -+#, c-format -+msgid "Source date: %s, size %d" -+msgstr "Thời gian sửa đổi của tập tin nguồn: %s, kích thước %d" -+ -+#: src/filegui.c:604 -+msgid " File exists " -+msgstr " Tập tin tồn tại " -+ -+#: src/filegui.c:606 -+msgid " Background process: File exists " -+msgstr " Tiến trình nền sau: tập tin tồn tại " -+ -+#: src/filegui.c:728 -+msgid "preserve &Attributes" -+msgstr "&Ghi nhớ thuộc tính" -+ -+#: src/filegui.c:730 -+msgid "follow &Links" -+msgstr "đi theo &Liên kết" -+ -+#: src/filegui.c:732 -+msgid "to:" -+msgstr "vào:" -+ -+#: src/filegui.c:733 -+msgid "&Using shell patterns" -+msgstr "&Sử dụng mẫu (pattern) của shell" -+ -+#: src/filegui.c:754 -+msgid "&Background" -+msgstr "&Trong nền sau" -+ -+#: src/filegui.c:764 -+msgid "&Stable Symlinks" -+msgstr "liên kết &Bền vững" -+ -+#: src/filegui.c:766 -+msgid "&Dive into subdir if exists" -+msgstr "&Vào thư mục con, nếu có" -+ -+#: src/filegui.c:938 -+#, c-format -+msgid "" -+"Invalid source pattern `%s' \n" -+" %s " -+msgstr "" -+"Mẫu không đúng `%s' \n" -+" %s " -+ -+#: src/find.c:99 -+msgid "&Suspend" -+msgstr "&Hoãn" -+ -+#: src/find.c:100 -+msgid "Con&tinue" -+msgstr "&Tiếp tục" -+ -+#: src/find.c:101 -+msgid "&Chdir" -+msgstr "&Chuyển thư mục" -+ -+#: src/find.c:102 -+msgid "&Again" -+msgstr "&Lặp lại" -+ -+#: src/find.c:103 src/subshell.c:323 -+msgid "&Quit" -+msgstr "&Thoát" -+ -+#: src/find.c:104 src/panelize.c:69 -+msgid "Pane&lize" -+msgstr "&Bảng" -+ -+#: src/find.c:105 -+msgid "&View - F3" -+msgstr "X&em - F3" -+ -+#: src/find.c:106 -+msgid "&Edit - F4" -+msgstr "&Soạn thảo - F4" -+ -+#: src/find.c:183 -+msgid "Start at:" -+msgstr "Bắt đầu từ:" -+ -+#: src/find.c:183 -+msgid "Filename:" -+msgstr "Tên tập tin:" -+ -+#: src/find.c:183 -+msgid "Content: " -+msgstr "Nội dung: " -+ -+#: src/find.c:184 src/main.c:795 src/main.c:819 -+msgid "&Tree" -+msgstr "&Cây thư mục" -+ -+#: src/find.c:232 src/find.c:792 -+msgid "Find File" -+msgstr "Tìm tập tin" -+ -+#: src/find.c:464 -+#, c-format -+msgid "Grepping in %s" -+msgstr "Tìm trong %s" -+ -+#: src/find.c:538 -+msgid "Finished" -+msgstr "Kết thúc" -+ -+#: src/find.c:565 src/view.c:1594 -+#, c-format -+msgid "Searching %s" -+msgstr "Tìm %s" -+ -+#: src/find.c:721 src/find.c:818 -+msgid "Searching" -+msgstr "Tìm" -+ -+#: src/help.c:279 -+msgid " Help file format error\n" -+msgstr " Lỗi định dạng tập tin trợ giúp\n" -+ -+#: src/help.c:318 -+msgid " Internal bug: Double start of link area " -+msgstr " Lỗi (bug) nội bộ: vùng liên kết có hai đầu " -+ -+#: src/help.c:554 src/help.c:778 -+#, c-format -+msgid " Cannot find node %s in help file " -+msgstr " Không tìm thấy nút %s trong tập tin trợ giúp " -+ -+#: src/help.c:816 -+msgid "Index" -+msgstr "Chỉ mục" -+ -+#: src/help.c:818 -+msgid "Prev" -+msgstr "Quay lại" -+ -+#: src/hotlist.c:115 -+msgid "&Move" -+msgstr "&Di chuyển" -+ -+#: src/hotlist.c:116 src/panelize.c:68 -+msgid "&Remove" -+msgstr "&Xóa" -+ -+#: src/hotlist.c:117 src/hotlist.c:834 src/hotlist.c:930 -+msgid "&Append" -+msgstr "&Thêm vào" -+ -+#: src/hotlist.c:118 src/hotlist.c:832 src/hotlist.c:928 -+msgid "&Insert" -+msgstr "c&Hèn" -+ -+#: src/hotlist.c:119 -+msgid "New &Entry" -+msgstr "tạo &Mục mới" -+ -+#: src/hotlist.c:120 -+msgid "New &Group" -+msgstr "&Nhóm mới" -+ -+#: src/hotlist.c:122 -+msgid "&Up" -+msgstr "&Lên" -+ -+#: src/hotlist.c:123 -+msgid "&Add current" -+msgstr "&Thêm hiện thời" -+ -+#: src/hotlist.c:125 -+msgid "&Refresh" -+msgstr "&Làm mới" -+ -+#: src/hotlist.c:126 -+msgid "Fr&ee VFSs now" -+msgstr "&Giải phóng" -+ -+#: src/hotlist.c:128 -+msgid "Change &To" -+msgstr "&Chuyển tới" -+ -+#: src/hotlist.c:177 -+msgid "Subgroup - press ENTER to see list" -+msgstr "Nhóm con - nhấn ENTER để xem danh sách" -+ -+#: src/hotlist.c:609 -+msgid "Active VFS directories" -+msgstr "Thư mục VFS hoạt động" -+ -+#: src/hotlist.c:612 -+msgid "Directory hotlist" -+msgstr "Danh sách thư mục thường dùng" -+ -+#: src/hotlist.c:640 -+msgid " Directory path " -+msgstr " Đường dẫn tới thư mục " -+ -+#: src/hotlist.c:643 src/hotlist.c:692 -+msgid " Directory label " -+msgstr " Nhãn thư mục" -+ -+#: src/hotlist.c:668 -+#, c-format -+msgid "Moving %s" -+msgstr "Di chuyển %s" -+ -+#: src/hotlist.c:907 -+msgid "New hotlist entry" -+msgstr " Thêm bản ghi vào tra cứu" -+ -+#: src/hotlist.c:907 -+msgid "Directory label" -+msgstr " Tên nhãn thư mục" -+ -+#: src/hotlist.c:907 -+msgid "Directory path" -+msgstr " Đường dẫn tới thư mục" -+ -+#: src/hotlist.c:987 -+msgid " New hotlist group " -+msgstr " Thêm nhóm vào tra cứu " -+ -+#: src/hotlist.c:987 -+msgid "Name of new group" -+msgstr " Tên nhóm mới" -+ -+#: src/hotlist.c:1002 -+#, c-format -+msgid "Label for \"%s\":" -+msgstr " Tên nhãn cho \"%s\":" -+ -+#: src/hotlist.c:1006 -+msgid " Add to hotlist " -+msgstr " Thêm vào tra cứu " -+ -+#: src/hotlist.c:1043 -+msgid " Remove: " -+msgstr " Xóa: " -+ -+#: src/hotlist.c:1047 -+msgid "" -+"\n" -+" Group not empty.\n" -+" Remove it?" -+msgstr "" -+"\n" -+" Nhóm không rỗng.\n" -+" Xóa nó?" -+ -+#: src/hotlist.c:1391 -+msgid " Top level group " -+msgstr "Nhóm cấp độ cao nhất " -+ -+#: src/hotlist.c:1414 -+msgid "MC was unable to write ~/" -+msgstr "MC không thể ghi nhớ ~/" -+ -+#: src/hotlist.c:1415 -+msgid " file, your old hotlist entries were not deleted" -+msgstr " tập tin, tra cứu thư mục cũ chưa bị xóa" -+ -+#: src/hotlist.c:1417 -+msgid " Hotlist Load " -+msgstr " Nạp tra cứu " -+ -+#: src/info.c:74 -+#, c-format -+msgid "Midnight Commander %s" -+msgstr "Midnight Commander %s" -+ -+#: src/info.c:91 -+#, c-format -+msgid "File: %s" -+msgstr "Tập tin: %s" -+ -+#: src/info.c:103 -+#, c-format -+msgid "Free nodes: %d (%d%%) of %d" -+msgstr "Nút tự do: %d (%d%%) trong tổng số %d" -+ -+#: src/info.c:109 -+msgid "No node information" -+msgstr "Không có thông tin về nút (node)" -+ -+#: src/info.c:117 -+#, c-format -+msgid "Free space: %s (%d%%) of %s" -+msgstr "Chỗ trống: %s (%d%%) của %s" -+ -+#: src/info.c:121 -+msgid "No space information" -+msgstr "Không có thông tin về khoảng trống" -+ -+#: src/info.c:125 -+#, c-format -+msgid "Type: %s " -+msgstr "Loại: %s " -+ -+#: src/info.c:125 -+msgid "non-local vfs" -+msgstr "không phải vfs cục bộ" -+ -+#: src/info.c:131 -+#, c-format -+msgid "Device: %s" -+msgstr "Thiết bị: %s" -+ -+#: src/info.c:135 -+#, c-format -+msgid "Filesystem: %s" -+msgstr "Hệ thống tập tin: %s" -+ -+#: src/info.c:140 -+#, c-format -+msgid "Accessed: %s" -+msgstr "Truy cập: %s" -+ -+#: src/info.c:144 -+#, c-format -+msgid "Modified: %s" -+msgstr "Sửa đổi: %s" -+ -+#: src/info.c:148 -+#, c-format -+msgid "Created: %s" -+msgstr "Tạo ra: %s" -+ -+#: src/info.c:163 -+#, c-format -+msgid "Size: %s" -+msgstr "Kích thước: %s" -+ -+#: src/info.c:166 -+#, c-format -+msgid " (%d block)" -+msgstr " (%d khối)" -+ -+#: src/info.c:166 -+#, c-format -+msgid " (%d blocks)" -+msgstr " (%d khối)" -+ -+#: src/info.c:172 -+#, c-format -+msgid "Owner: %s/%s" -+msgstr "Chủ sở hữu: %s/%s" -+ -+#: src/info.c:177 -+#, c-format -+msgid "Links: %d" -+msgstr "Liên kết: %d" -+ -+#: src/info.c:181 -+#, c-format -+msgid "Mode: %s (%04o)" -+msgstr "Quyền hạn: %s (%04o)" -+ -+#: src/info.c:186 -+#, c-format -+msgid "Location: %Xh:%Xh" -+msgstr "Vị trí: %Xh:%Xh" -+ -+#: src/info.c:196 -+msgid "File: None" -+msgstr "Tập tin: Không có" -+ -+#: src/layout.c:151 -+msgid "&Vertical" -+msgstr "&Thẳng đứng" -+ -+#: src/layout.c:152 -+msgid "&Horizontal" -+msgstr "&Nằm ngang" -+ -+#: src/layout.c:162 -+msgid "&Xterm window title" -+msgstr "tiê&U đề cửa sổ xterm" -+ -+#: src/layout.c:163 -+msgid "h&Intbar visible" -+msgstr "dòng &Gợi ý" -+ -+#: src/layout.c:164 -+msgid "&Keybar visible" -+msgstr "&Hiển thị thanh phím tắt" -+ -+#: src/layout.c:165 -+msgid "command &Prompt" -+msgstr "&Dòng lệnh" -+ -+#: src/layout.c:166 -+msgid "show &Mini status" -+msgstr "hiện trạng thái m&Ini" -+ -+#: src/layout.c:167 -+msgid "menu&Bar visible" -+msgstr "thAnh trình đơn" -+ -+#: src/layout.c:168 -+msgid "&Equal split" -+msgstr "&Kích thước bằng nhau" -+ -+#: src/layout.c:169 -+msgid "pe&Rmissions" -+msgstr "&Quyền truy cập" -+ -+#: src/layout.c:170 -+msgid "&File types" -+msgstr "&Loại tập tin" -+ -+#: src/layout.c:350 src/learn.c:59 src/learn.c:174 src/option.c:115 -+msgid "&Save" -+msgstr "Ghi nhớ &+" -+ -+#: src/layout.c:358 -+msgid " Panel split " -+msgstr " Chia bảng " -+ -+#: src/layout.c:359 -+msgid " Highlight... " -+msgstr " Chiếu sáng... " -+ -+#: src/layout.c:360 src/option.c:125 -+msgid " Other options " -+msgstr " Cấu hình khác " -+ -+#: src/layout.c:361 -+msgid "output lines" -+msgstr "dòng kết quả" -+ -+#: src/layout.c:423 -+msgid "Layout" -+msgstr "Vẻ ngoài" -+ -+#: src/learn.c:73 -+msgid "Learn keys" -+msgstr "Tạo phím tắt" -+ -+#: src/learn.c:79 -+msgid " Teach me a key " -+msgstr " Dạy tôi một phím " -+ -+#: src/learn.c:80 -+#, c-format -+msgid "" -+"Please press the %s\n" -+"and then wait until this message disappears.\n" -+"\n" -+"Then, press it again to see if OK appears\n" -+"next to its button.\n" -+"\n" -+"If you want to escape, press a single Escape key\n" -+"and wait as well." -+msgstr "" -+"Xin hãy nhấn lên %s\n" -+"và đợi cho thông báo này biến mất.\n" -+"\n" -+"Sau đó hãy nhấn một lần nữa để chắc chắn là ở bên phải\n" -+"của tên xuất hiện \"OK\".\n" -+"\n" -+"Nếu bạn muốn dừng việc dạy phím, thì hãy nhấn\n" -+"phím Esc và cũng cần đợi một chút." -+ -+#: src/learn.c:114 -+msgid " Cannot accept this key " -+msgstr " Không thể chấp nhận phím này " -+ -+#: src/learn.c:115 -+#, c-format -+msgid " You have entered \"%s\"" -+msgstr " Đã nhập vào \"%s\"" -+ -+#. TRANSLATORS: This label appears near learned keys. Keep it short. -+#: src/learn.c:164 -+msgid "OK" -+msgstr "OK" -+ -+#: src/learn.c:172 -+msgid "" -+"It seems that all your keys already\n" -+"work fine. That's great." -+msgstr "" -+"Có vẻ như tất cả các phím của bạn\n" -+"làm việc tốt. Thật là tuyệt." -+ -+#: src/learn.c:174 -+msgid "&Discard" -+msgstr "&Vứt bỏ" -+ -+#: src/learn.c:179 -+msgid "" -+"Great! You have a complete terminal database!\n" -+"All your keys work well." -+msgstr "" -+"Tuyệt! Chúng ta có một cơ sở dữ liệu mô tả terminal đầy đủ!\n" -+"Tất cả các phím đều làm việc tốt." -+ -+#: src/learn.c:287 -+msgid "Press all the keys mentioned here. After you have done it, check" -+msgstr "Hãy nhấn tất cả những phím liệt kê ở trên. Sau khi nhấn xong, hãy kiểm tra" -+ -+#: src/learn.c:291 -+msgid "which keys are not marked with OK. Press space on the missing" -+msgstr "xem những phím nào không có dấu hiệu \"OK\". Nhấn phím space trên những" -+ -+#: src/learn.c:295 -+msgid "key, or click with the mouse to define it. Move around with Tab." -+msgstr "phím bị thiếu, hoặc nhấn chuột để xác định. Di chuyển bằng Tab." -+ -+#: src/main.c:425 -+msgid "" -+" The Commander can't change to the directory that \n" -+" the subshell claims you are in. Perhaps you have \n" -+" deleted your working directory, or given yourself \n" -+" extra access permissions with the \"su\" command? " -+msgstr "" -+" MC không thể chuyển vào thư mục, mà tiến trình shell \n" -+" con thông báo. Rất có thể, bạn đã xóa thư mục làm việc \n" -+" hoặc thêm cho mình quyền truy cập mở rộng bằng câu \n" -+" lệnh \"su\"? " -+ -+#: src/main.c:469 src/screen.c:1951 -+msgid " The Midnight Commander " -+msgstr " Midnight Commander " -+ -+#: src/main.c:470 -+msgid " Do you really want to quit the Midnight Commander? " -+msgstr " Thực sự muốn thoát Midnight Commander? " -+ -+#: src/main.c:792 src/main.c:816 -+msgid "&Listing mode..." -+msgstr "&Dạng danh sách..." -+ -+#: src/main.c:793 src/main.c:817 -+msgid "&Quick view C-x q" -+msgstr "&Xem nhanh C-x q" -+ -+#: src/main.c:794 src/main.c:818 -+msgid "&Info C-x i" -+msgstr "&Thông tin C-x i" -+ -+#: src/main.c:797 src/main.c:821 -+msgid "&Sort order..." -+msgstr "t&Hứ tự sắp xếp..." -+ -+#: src/main.c:799 src/main.c:823 -+msgid "&Filter..." -+msgstr "&Lọc tập tin..." -+ -+#: src/main.c:803 src/main.c:827 -+msgid "&Network link..." -+msgstr "&Kết nối mạng..." -+ -+#: src/main.c:805 src/main.c:829 -+msgid "FT&P link..." -+msgstr "kết nối &FTP..." -+ -+#: src/main.c:806 src/main.c:830 -+msgid "S&hell link..." -+msgstr "kết nối &Shell..." -+ -+#: src/main.c:808 src/main.c:832 -+msgid "SM&B link..." -+msgstr "kết nối SM&B..." -+ -+#: src/main.c:812 src/main.c:836 -+msgid "&Rescan C-r" -+msgstr "&Quét lại C-r" -+ -+#: src/main.c:840 -+msgid "&User menu F2" -+msgstr "&Trình đơn người dùng F2" -+ -+#: src/main.c:841 -+msgid "&View F3" -+msgstr "&Xem F3" -+ -+#: src/main.c:842 -+msgid "Vie&w file... " -+msgstr "x&Em tập tin... " -+ -+#: src/main.c:843 -+msgid "&Filtered view M-!" -+msgstr "xe&M đã lọc M-!" -+ -+#: src/main.c:844 -+msgid "&Edit F4" -+msgstr "&Soạn thảo F4" -+ -+#: src/main.c:845 -+msgid "&Copy F5" -+msgstr "sao &Chép F5" -+ -+#: src/main.c:846 -+msgid "c&Hmod C-x c" -+msgstr "c&Hmod C-x c" -+ -+#: src/main.c:847 -+msgid "&Link C-x l" -+msgstr "&Liên kết cứng C-x l" -+ -+#: src/main.c:848 -+msgid "&SymLink C-x s" -+msgstr "liên &Kết mềm C-x s" -+ -+#: src/main.c:849 -+msgid "edit s&Ymlink C-x C-s" -+msgstr "sử&A liên kết mềm C-x C-s" -+ -+#: src/main.c:850 -+msgid "ch&Own C-x o" -+msgstr "cho&Wn C-x o" -+ -+#: src/main.c:851 -+msgid "&Advanced chown " -+msgstr "chown &Nâng cao " -+ -+#: src/main.c:852 -+msgid "&Rename/Move F6" -+msgstr "Đổi tên/&Di chuyển F6" -+ -+#: src/main.c:853 -+msgid "&Mkdir F7" -+msgstr "mkdi&R F7" -+ -+#: src/main.c:854 -+msgid "&Delete F8" -+msgstr "xó&A F8" -+ -+#: src/main.c:855 -+msgid "&Quick cd M-c" -+msgstr "cd nhanh &> M-c" -+ -+#: src/main.c:857 -+msgid "select &Group M-+" -+msgstr "Chọn Nhóm &+ M-+" -+ -+#: src/main.c:858 -+msgid "u&Nselect group M-\\" -+msgstr "&Bỏ chọn nhóm M-\\" -+ -+#: src/main.c:859 -+msgid "reverse selec&Tion M-*" -+msgstr "Chọn ngược lạ&I M-*" -+ -+#: src/main.c:861 -+msgid "e&Xit F10" -+msgstr "Th&Oát F10" -+ -+#: src/main.c:869 -+msgid "&Directory tree" -+msgstr "cây thư &Mục" -+ -+#: src/main.c:870 -+msgid "&Find file M-?" -+msgstr "&Tìm tập tin M-?" -+ -+#: src/main.c:871 -+msgid "s&Wap panels C-u" -+msgstr "đổi chỗ h&Ai bảng C-u" -+ -+#: src/main.c:872 -+msgid "switch &Panels on/off C-o" -+msgstr "&Bật/tắt bảng C-o" -+ -+#: src/main.c:873 -+msgid "&Compare directories C-x d" -+msgstr "&So sánh thư mục C-x d" -+ -+#: src/main.c:874 -+msgid "e&Xternal panelize C-x !" -+msgstr "bản&G ngoài C-x !" -+ -+#: src/main.c:875 -+msgid "show directory s&Izes" -+msgstr "&Hiển thị kích thước thư mục" -+ -+#: src/main.c:877 -+msgid "command &History" -+msgstr "&Lịch sử câu lệnh" -+ -+#: src/main.c:878 -+msgid "di&Rectory hotlist C-\\" -+msgstr "Thư mục thường dùng &* C-\\" -+ -+#: src/main.c:880 -+msgid "&Active VFS list C-x a" -+msgstr "&Danh sách VFS hoạt động C-x a" -+ -+#: src/main.c:883 -+msgid "&Background jobs C-x j" -+msgstr "&Công việc nền sau C-x j" -+ -+#: src/main.c:887 -+msgid "&Undelete files (ext2fs only)" -+msgstr "&Phục hồi tập tin đã xóa (chỉ ext2fs)" -+ -+#: src/main.c:890 -+msgid "&Listing format edit" -+msgstr "&Soạn thảo định dạng danh sách" -+ -+#: src/main.c:895 -+msgid "Edit &extension file" -+msgstr "soạn thảo tập tin phần mở &Rộng" -+ -+#: src/main.c:896 -+msgid "Edit &menu file" -+msgstr "soạ&N thảo tập tin trình đơn" -+ -+#: src/main.c:898 -+msgid "Edit edi&tor menu file" -+msgstr "sửa trình đơn của trình s&Oạn thảo" -+ -+#: src/main.c:899 -+msgid "Edit &syntax file" -+msgstr "sửa tập tin cú &Pháp" -+ -+#: src/main.c:905 -+msgid "&Configuration..." -+msgstr "&Cấu hình..." -+ -+#: src/main.c:906 -+msgid "&Layout..." -+msgstr "&Vẻ ngoài..." -+ -+#: src/main.c:907 -+msgid "c&Onfirmation..." -+msgstr "&Xác nhận..." -+ -+#: src/main.c:908 -+msgid "&Display bits..." -+msgstr "bit &Hiển thị..." -+ -+#: src/main.c:911 -+msgid "&Virtual FS..." -+msgstr "&FS ảo..." -+ -+#: src/main.c:914 -+msgid "&Save setup" -+msgstr "&Ghi nhớ cấu hình" -+ -+#: src/main.c:925 -+msgid " &Above " -+msgstr " Ở &trên " -+ -+#: src/main.c:925 -+msgid " &Left " -+msgstr " &Bảng trái " -+ -+#: src/main.c:929 -+msgid " &File " -+msgstr " &Tập tin " -+ -+#: src/main.c:932 -+msgid " &Command " -+msgstr " &Câu lệnh " -+ -+#: src/main.c:935 -+msgid " &Options " -+msgstr " &Cấu hình " -+ -+#: src/main.c:938 -+msgid " &Below " -+msgstr " Ở &dưới " -+ -+#: src/main.c:938 -+msgid " &Right " -+msgstr " Bảng &phải " -+ -+#: src/main.c:981 -+msgid " Information " -+msgstr " Thông tin " -+ -+#: src/main.c:983 -+msgid "" -+" Using the fast reload option may not reflect the exact \n" -+" directory contents. In this case you'll need to do a \n" -+" manual reload of the directory. See the man page for \n" -+" the details. " -+msgstr "" -+" Sử dụng tùy chọn nạp lại nhanh có thể không phản ánh \n" -+" đúng nội dung hiện thời của thư mục. Trong trường hợp \n" -+" này cần nạp lại thư mục một cách thủ công. Hãy xem \n" -+" trang hướng dẫn sử dụng man để biết them chi tiết. " -+ -+#: src/main.c:1206 src/screen.c:2185 -+msgid "Menu" -+msgstr "Trđơn " -+ -+#: src/main.c:1340 -+msgid "The TERM environment variable is unset!\n" -+msgstr "Biến môi trườn TERM chưa được xác định!\n" -+ -+#: src/main.c:1642 src/textconf.c:116 -+#, c-format -+msgid "GNU Midnight Commander %s\n" -+msgstr "GNU Midnight Commander %s\n" -+ -+#: src/main.c:1848 -+msgid "[flags] [this_dir] [other_panel_dir]\n" -+msgstr "[cờ] [thư_mục_này] [thư_mục_bảng_còn_lại]\n" -+ -+#: src/main.c:1852 -+msgid "+number" -+msgstr "+số" -+ -+#: src/main.c:1853 -+msgid "Set initial line number for the internal editor" -+msgstr "Đặt số dòng ban đầu cho trình soạn thảo nội bộ" -+ -+#: src/main.c:1855 -+msgid "" -+"\n" -+"Please send any bug reports (including the output of `mc -V')\n" -+"to mc-devel@gnome.org\n" -+msgstr "" -+"\n" -+"Xin hãy gửi bất kỳ báo cáo lỗi (bug) nào (gồm cả kết quả của lệnh `mc -V')\n" -+"tới mc-devel@gnome.org\n" -+ -+#: src/main.c:1870 -+msgid "" -+"--colors KEYWORD={FORE},{BACK}\n" -+"\n" -+"{FORE} and {BACK} can be omitted, and the default will be used\n" -+"\n" -+"Keywords:\n" -+" Global: errors, reverse, gauge, input\n" -+" File display: normal, selected, marked, markselect\n" -+" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus\n" -+" Menus: menu, menuhot, menusel, menuhotsel\n" -+" Help: helpnormal, helpitalic, helplink, helpslink\n" -+" File types: directory, executable, link, stalelink, device, special, " -+"core\n" -+"\n" -+"Colors:\n" -+" black, gray, red, brightred, green, brightgreen, brown,\n" -+" yellow, blue, brightblue, magenta, brightmagenta, cyan,\n" -+" brightcyan, lightgray and white\n" -+"\n" -+msgstr "" -+"--colors TỪ_KHÓA={VĂN BẢN},{NỀN}\n" -+"\n" -+"có thể bỏ qua {VĂN BẢN} và {NỀN}, và sử dụng giá trị theo mặc định\n" -+"\n" -+"Từ khóa:\n" -+" Toàn cầu: errors, reverse, gauge, input\n" -+" Hiển thị tập tin: normal, selected, marked, markselect\n" -+" Hộp thoại: dnormal, dfocus, dhotnormal, dhotfocus\n" -+" Trình đơn: menu, menuhot, menusel, menuhotsel\n" -+" Trợ giúp: helpnormal, helpitalic, helplink, helpslink\n" -+" Dạng tập tin: directory, executable, link, stalelink, device, special, core\n" -+"\n" -+"Màu sắc:\n" -+" black, gray, red, brightred, green, brightgreen, brown,\n" -+" yellow, blue, brightblue, magenta, brightmagenta, cyan,\n" -+" brightcyan, lightgray, white\n" -+"\n" -+ -+#: src/main.c:1945 -+msgid "Displays this help message" -+msgstr "Hiển thị thông báo trợ giúp này" -+ -+#: src/main.c:1947 -+msgid "Displays the current version" -+msgstr "Hiển thị số phiên bản hiện thời" -+ -+#: src/main.c:1951 -+msgid "Forces xterm features" -+msgstr "Bắt buộc dùng tính năng của xterm" -+ -+#: src/main.c:1953 -+msgid "Disable mouse support in text version" -+msgstr "Bỏ hỗ trợ chuột trong phiên bản văn bản (text)" -+ -+#: src/main.c:1956 -+msgid "Tries to use termcap instead of terminfo" -+msgstr "Thử sử dụng termcap thay cho terminfo" -+ -+#: src/main.c:1959 -+msgid "Resets soft keys on HP terminals" -+msgstr "Đặt lại phím phần mềm trên các terminal HP" -+ -+#: src/main.c:1961 -+msgid "To run on slow terminals" -+msgstr "Để chạy trên các terminal chậm" -+ -+#: src/main.c:1963 -+msgid "Use stickchars to draw" -+msgstr "Sử dụng ký tự thẳng đứng để vẽ" -+ -+#: src/main.c:1967 -+msgid "Requests to run in black and white" -+msgstr "Yêu cầu chạy trong chế độ đen trắng" -+ -+#: src/main.c:1969 -+msgid "Request to run in color mode" -+msgstr "Yêu cầu chạy trong chế độ màu" -+ -+#: src/main.c:1971 -+msgid "Specifies a color configuration" -+msgstr "Xác định cấu hình màu sắc" -+ -+#: src/main.c:1973 -+msgid "Displays a help screen on how to change the color scheme" -+msgstr "Hiển thị cửa sổ trợ giúp cách thay đổi bộ phối hợp màu" -+ -+#: src/main.c:1978 -+msgid "Log ftp dialog to specified file" -+msgstr "Ghi hội thoại FTP vào một tập tin" -+ -+#: src/main.c:1981 -+msgid "Set debug level" -+msgstr "Đặt mức độ tìm sửa lỗi (debug)" -+ -+#: src/main.c:1987 -+msgid "Print data directory" -+msgstr "In ra tên thư mục dữ liệu" -+ -+#: src/main.c:1989 -+msgid "Print last working directory to specified file" -+msgstr "Ghi thư mục làm việc cuối cùng vào tập tin chỉ ra" -+ -+#: src/main.c:1994 -+msgid "Enables subshell support (default)" -+msgstr "Bật hỗ trợ shell con (mặc định)" -+ -+#: src/main.c:1996 -+msgid "Disables subshell support" -+msgstr "Tắt hỗ trợ shell con" -+ -+#: src/main.c:2001 -+msgid "Launches the file viewer on a file" -+msgstr "Xem tập tin" -+ -+#: src/main.c:2004 -+msgid "Edits one file" -+msgstr "Soạn thảo tập tin" -+ -+#: src/main.c:2218 -+msgid " Notice " -+msgstr " Cảnh báo " -+ -+#: src/main.c:2219 -+msgid "" -+" The Midnight Commander configuration files \n" -+" are now stored in the ~/.mc directory, the \n" -+" files have been moved now\n" -+msgstr "" -+" Các tập tin cấu hình Midnight Commander \n" -+" bây giờ đặt trong thư mục ~/.mc, các \n" -+" tập tin cũ bây giờ được chuyển tới đó\n" -+ -+#: src/option.c:56 -+msgid "safe de&Lete" -+msgstr "Xóa một cách &An toàn" -+ -+#: src/option.c:57 -+msgid "cd follows lin&Ks" -+msgstr "cd th&Eo liên kết" -+ -+#: src/option.c:58 -+msgid "L&ynx-like motion" -+msgstr "di chuyển giống trong l&Ynx" -+ -+#: src/option.c:59 -+msgid "rotatin&G dash" -+msgstr "cái chỉ &Quay" -+ -+#: src/option.c:60 -+msgid "co&Mplete: show all" -+msgstr "tự động hoàn thành: hiện tất cả" -+ -+#: src/option.c:61 -+msgid "&Use internal view" -+msgstr "trình xem nội &Bộ" -+ -+#: src/option.c:62 -+msgid "use internal ed&It" -+msgstr "sử dụng s&Oạn thảo nội bộ" -+ -+#: src/option.c:63 -+msgid "auto m&Enus" -+msgstr "t&Rình đơn tự động" -+ -+#: src/option.c:64 -+msgid "&Auto save setup" -+msgstr "tự động gh&I nhớ cấu hình" -+ -+#: src/option.c:65 -+msgid "shell &Patterns" -+msgstr "&Mẫu dạng shell" -+ -+#: src/option.c:66 -+msgid "Compute &Totals" -+msgstr "tính tổn&G kích thước" -+ -+#: src/option.c:67 -+msgid "&Verbose operation" -+msgstr "thao tác với thông báo &Dài dòng" -+ -+#: src/option.c:69 -+msgid "&Fast dir reload" -+msgstr "nạ&P nhanh thư mục" -+ -+#: src/option.c:70 -+msgid "mi&X all files" -+msgstr "trộn lẫn tất &Cả tập tin" -+ -+#: src/option.c:71 -+msgid "&Drop down menus" -+msgstr "đẩy &Xuống trình đơn" -+ -+#: src/option.c:72 -+msgid "ma&Rk moves down" -+msgstr "&Nhãn di chuyển xuống" -+ -+#: src/option.c:73 -+msgid "show &Hidden files" -+msgstr "&Hiển thị tập tin ẩn" -+ -+#: src/option.c:74 -+msgid "show &Backup files" -+msgstr "hiển thị tập tin sao &Lưu" -+ -+#: src/option.c:85 -+msgid "&Never" -+msgstr "&Không bao giờ" -+ -+#: src/option.c:86 -+msgid "on dumb &Terminals" -+msgstr "&Trên terminal ngu" -+ -+#: src/option.c:87 -+msgid "Alwa&ys" -+msgstr "&Luôn luôn" -+ -+#: src/option.c:123 -+msgid " Panel options " -+msgstr " Cấu hình bảng " -+ -+#: src/option.c:124 -+msgid " Pause after run... " -+msgstr " Tạm ngừng sau khi chạy... " -+ -+#: src/option.c:170 -+msgid "Configure options" -+msgstr "Tùy chọn cấu hình" -+ -+#: src/panelize.c:67 -+msgid "&Add new" -+msgstr "&Thêm mới" -+ -+#: src/panelize.c:154 src/panelize.c:420 -+msgid "External panelize" -+msgstr "Bảng ngoài" -+ -+#: src/panelize.c:169 -+msgid "Command" -+msgstr "Câu lệnh" -+ -+#: src/panelize.c:185 src/panelize.c:242 src/panelize.c:313 src/panelize.c:334 -+msgid "Other command" -+msgstr "Lệnh khác" -+ -+#: src/panelize.c:226 -+msgid " Add to external panelize " -+msgstr " Thêm vào bảng ngoài " -+ -+#: src/panelize.c:227 -+msgid " Enter command label: " -+msgstr " Nhập tên câu lệnh: " -+ -+#: src/panelize.c:267 -+msgid " Cannot run external panelize in a non-local directory " -+msgstr " Không thể chạy câu lệnh này trên một thư mục không phải nội bộ " -+ -+#: src/panelize.c:316 -+msgid "Find rejects after patching" -+msgstr "Tìm những loại bỏ sau khi vá lỗi (patch)" -+ -+#: src/panelize.c:317 -+msgid "Find *.orig after patching" -+msgstr "Tìm *.orig) sau khi vá lỗi (patch)" -+ -+#: src/panelize.c:318 -+msgid "Find SUID and SGID programs" -+msgstr "Tìm chương trình có các bit SUID/SGID" -+ -+#: src/panelize.c:369 -+msgid "Cannot invoke command." -+msgstr "Không thực hiện được câu lệnh." -+ -+#: src/panelize.c:420 -+msgid "Pipe close failed" -+msgstr "Đóng đường ống không thành công" -+ -+#: src/popt.c:547 -+msgid "missing argument" -+msgstr "thiếu tham số" -+ -+#: src/popt.c:549 -+msgid "unknown option" -+msgstr "tùy chọn không rõ" -+ -+#: src/popt.c:555 -+msgid "invalid numeric value" -+msgstr "giá trị số không thích hợp" -+ -+#: src/popthelp.c:31 -+msgid "Show this help message" -+msgstr "Hiển thị thông báo trợ giúp này" -+ -+#: src/popthelp.c:32 -+msgid "Display brief usage message" -+msgstr "Hiển thị chỉ dẫn ngắn gọn" -+ -+#: src/popthelp.c:60 -+msgid "ARG" -+msgstr "ARG" -+ -+#: src/popthelp.c:179 -+msgid "Usage:" -+msgstr "Sử dụng:" -+ -+#: src/screen.c:201 -+msgid "UP--DIR" -+msgstr "LÊNTRÊN" -+ -+#: src/screen.c:222 -+msgid "SYMLINK" -+msgstr "LIÊNKẾTMỀM" -+ -+#: src/screen.c:226 -+msgid "SUB-DIR" -+msgstr "THƯMỤCCON" -+ -+#: src/screen.c:406 src/screen.c:407 -+msgid "Size" -+msgstr "Kích cỡ" -+ -+#: src/screen.c:409 -+msgid "MTime" -+msgstr "Thời gian sửa" -+ -+#: src/screen.c:410 -+msgid "ATime" -+msgstr "Truy cập cuối cùng" -+ -+#: src/screen.c:411 -+msgid "CTime" -+msgstr "Thời gian thay đổi" -+ -+#: src/screen.c:412 -+msgid "Permission" -+msgstr "Quyền hạn" -+ -+#: src/screen.c:413 -+msgid "Perm" -+msgstr "Quyền" -+ -+#: src/screen.c:414 -+msgid "Nl" -+msgstr "Nl" -+ -+#: src/screen.c:415 -+msgid "Inode" -+msgstr "Nút" -+ -+#: src/screen.c:416 -+msgid "UID" -+msgstr "UID" -+ -+#: src/screen.c:417 -+msgid "GID" -+msgstr "GID" -+ -+#: src/screen.c:418 -+msgid "Owner" -+msgstr "Chủ sở hữu" -+ -+#: src/screen.c:419 -+msgid "Group" -+msgstr "Nhóm" -+ -+#: src/screen.c:655 -+#, c-format -+msgid "%s bytes in %d file" -+msgstr "%s byte trong %d tập tin" -+ -+#: src/screen.c:655 -+#, c-format -+msgid "%s bytes in %d files" -+msgstr "%s byte trong %d tập tin" -+ -+#: src/screen.c:681 -+msgid "" -+msgstr "<đọc liên kết không thành công>" -+ -+#: src/screen.c:1289 -+msgid "Unknown tag on display format: " -+msgstr "Thẻ ghi không rõ trong định dạng hiển thị: " -+ -+#: src/screen.c:1415 -+msgid "User supplied format looks invalid, reverting to default." -+msgstr "Định dạng người dùng đưa ra có vẻ không thích hợp, chuyển lại thành mặc định." -+ -+#: src/screen.c:1952 -+msgid " Do you really want to execute? " -+msgstr " Thực sự muốn thực hiện? " -+ -+#: src/screen.c:2186 -+msgid "View" -+msgstr "Xem " -+ -+#: src/screen.c:2187 src/view.c:2231 -+msgid "Edit" -+msgstr "Soạn " -+ -+#: src/screen.c:2189 src/tree.c:977 -+msgid "RenMov" -+msgstr "Chuyển" -+ -+#: src/screen.c:2190 src/tree.c:981 -+msgid "Mkdir" -+msgstr "Tạotm " -+ -+#: src/selcodepage.c:54 -+msgid " Choose input codepage " -+msgstr " Chọn bảng mã dữ liệu vào " -+ -+#: src/selcodepage.c:58 -+msgid "- < No translation >" -+msgstr "- < Không có dịch >" -+ -+#: src/selcodepage.c:106 -+msgid "" -+"To use this feature select your codepage in\n" -+"Setup / Display Bits dialog!\n" -+"Do not forget to save options." -+msgstr "" -+"Để sử dụng tính năng này, hãy chọn bảng mã trong\n" -+"trình đơn Cấu hình / hộp thoại Bit hiển thị!\n" -+"Đừng quên ghi nhớ lại cấu hình." -+ -+#: src/slint.c:188 -+#, c-format -+msgid "" -+"Screen size %dx%d is not supported.\n" -+"Check the TERM environment variable.\n" -+msgstr "" -+"Kích thước màn hình %dx%d không được hỗ trợ.\n" -+"Hãy kiểm tra biến môi trường TERM.\n" -+ -+#: src/subshell.c:320 -+msgid "" -+"GNU Midnight Commander is already\n" -+"running on this terminal.\n" -+"Subshell support will be disabled." -+msgstr "" -+"Một GNU Midnight Commander đã làm việc\n" -+"trên terminal này. Sẽ không có hỗ trợ\n" -+"shell con." -+ -+#: src/subshell.c:425 -+#, c-format -+msgid "Cannot open named pipe %s\n" -+msgstr "Không mở được đường ống tên (named pipe) %s\n" -+ -+#: src/subshell.c:653 -+msgid " The shell is still active. Quit anyway? " -+msgstr " Shell vẫn còn hoạt động. Vẫn thoát? " -+ -+#: src/subshell.c:790 -+#, c-format -+msgid "Warning: Cannot change to %s.\n" -+msgstr "Cảnh báo: Không chuyển được vào %s.\n" -+ -+#: src/textconf.c:50 -+msgid "With builtin Editor\n" -+msgstr "Với Trình soạn thảo nội trú\n" -+ -+#: src/textconf.c:56 -+msgid "Using system-installed S-Lang library" -+msgstr "Sử dụng thư việc của S-Lang hệ thống" -+ -+#: src/textconf.c:58 -+msgid "Using included S-Lang library" -+msgstr "Sử dụng thư việc S-Lang bao gồm" -+ -+#: src/textconf.c:64 -+msgid "with termcap database" -+msgstr "với cơ sở dữ liệu termcap" -+ -+#: src/textconf.c:66 -+msgid "with terminfo database" -+msgstr "với cơ sở dữ liệu terminfo" -+ -+#: src/textconf.c:70 -+msgid "Using the ncurses library" -+msgstr "Dùng thư viện ncurses" -+ -+#: src/textconf.c:79 -+msgid "With optional subshell support" -+msgstr "Với hỗ trợ shell con không bắt buộc" -+ -+#: src/textconf.c:81 -+msgid "With subshell support as default" -+msgstr "Với hỗ trợ shell con mặc định" -+ -+#: src/textconf.c:87 -+msgid "With support for background operations\n" -+msgstr "Với hỗ trợ thao tác nền sau\n" -+ -+#: src/textconf.c:91 -+msgid "With mouse support on xterm and Linux console\n" -+msgstr "Với hỗ trợ chuột trong xterm và kênh giao tác Linux\n" -+ -+#: src/textconf.c:93 -+msgid "With mouse support on xterm\n" -+msgstr "Với hỗ trợ chuột trong xterm\n" -+ -+#: src/textconf.c:97 -+msgid "With support for X11 events\n" -+msgstr "Với hỗ trợ sự kiện X11\n" -+ -+#: src/textconf.c:101 -+msgid "With internationalization support\n" -+msgstr "Với hỗ trợ các ngôn ngữ khác\n" -+ -+#: src/textconf.c:105 -+msgid "With multiple codepages support\n" -+msgstr "Với hỗ trợ nhiều bảng mã\n" -+ -+#: src/textconf.c:121 -+msgid "Virtual File System:" -+msgstr "Hệ thống tập tin ảo:" -+ -+#: src/tree.c:147 -+#, c-format -+msgid "" -+"Cannot open the %s file for writing:\n" -+"%s\n" -+msgstr "" -+"Không mở được tập tin %s để ghi nhớ:\n" -+"%s\n" -+ -+#: src/tree.c:591 -+#, c-format -+msgid "Copy \"%s\" directory to:" -+msgstr " Sao chép thư mục \"%s\" vào:" -+ -+#: src/tree.c:632 -+#, c-format -+msgid "Move \"%s\" directory to:" -+msgstr " Di chuyển thư mục \"%s\" vào:" -+ -+#: src/tree.c:642 -+#, c-format -+msgid "" -+" Cannot stat the destination \n" -+" %s " -+msgstr "" -+" Không lấy (stat) được thuộc tính của đích đến \n" -+" %s " -+ -+#: src/tree.c:705 -+#, c-format -+msgid " Delete %s? " -+msgstr " Xóa %s? " -+ -+#: src/tree.c:735 -+msgid "Static" -+msgstr "Tĩnh" -+ -+#: src/tree.c:735 -+msgid "Dynamc" -+msgstr "Động" -+ -+#: src/tree.c:971 -+msgid "Rescan" -+msgstr "Quét lại" -+ -+#: src/tree.c:973 -+msgid "Forget" -+msgstr "Quên" -+ -+#: src/tree.c:986 -+msgid "Rmdir" -+msgstr "Xóa thư mục" -+ -+#: src/treestore.c:343 -+#, c-format -+msgid "" -+"Cannot write to the %s file:\n" -+"%s\n" -+msgstr "" -+"Không ghi nhớ được vào tập tin %s:\n" -+"%s\n" -+ -+#: src/user.c:133 -+msgid " Format error on file Extensions File " -+msgstr " Lỗi định dạng tập tin \"Phần mở rộng của tập tin\" " -+ -+#: src/user.c:134 -+#, c-format -+msgid " The %%var macro has no default " -+msgstr " Macro %%var không có giá trị mặc định " -+ -+#: src/user.c:135 -+#, c-format -+msgid " The %%var macro has no variable " -+msgstr " Macro %%var không có giá trị biến " -+ -+#: src/user.c:447 -+msgid " Debug " -+msgstr " Sửa lỗi " -+ -+#: src/user.c:456 -+msgid " ERROR: " -+msgstr " LỖI: " -+ -+#: src/user.c:460 -+msgid " True: " -+msgstr " Đúng: " -+ -+#: src/user.c:462 -+msgid " False: " -+msgstr " Sai: " -+ -+#: src/user.c:669 -+msgid " Warning -- ignoring file " -+msgstr " Cảnh báo - tập tin bị lờ đi " -+ -+#: src/user.c:670 -+#, c-format -+msgid "" -+"File %s is not owned by root or you or is world writable.\n" -+"Using it may compromise your security" -+msgstr "" -+"Tập tin %s không thuộc quyền sở hữu của root, hay của bạn,\n" -+"hoặc ai cũng có thể ghi. Sử dụng tập tin này có thể không an toàn" -+ -+#: src/user.c:792 -+#, c-format -+msgid " No suitable entries found in %s " -+msgstr " Không tìm thấy mục thích hợp trong %s" -+ -+#: src/user.c:798 -+msgid " User menu " -+msgstr " Trình đơn người dùng " -+ -+#: src/util.c:671 src/util.c:697 -+msgid "%b %e %H:%M" -+msgstr "%b %e %H:%M" -+ -+#: src/util.c:672 src/util.c:695 -+msgid "%b %e %Y" -+msgstr "%b %e %Y" -+ -+#: src/utilunix.c:333 -+#, c-format -+msgid "%s is not a directory\n" -+msgstr "%s không phải là một thư mục\n" -+ -+#: src/utilunix.c:335 -+#, c-format -+msgid "Directory %s is not owned by you\n" -+msgstr "Bạn không sở hữu thư mục %s\n" -+ -+#: src/utilunix.c:338 -+#, c-format -+msgid "Cannot set correct permissions for directory %s\n" -+msgstr "Không đặt được quyền hạn đúng cho thư mục %s\n" -+ -+#: src/utilunix.c:343 -+#, c-format -+msgid "Cannot create temporary directory %s: %s\n" -+msgstr "Không tạo được thư mục tạm thời %s: %s\n" -+ -+#: src/utilunix.c:373 -+#, c-format -+msgid "Temporary files will be created in %s\n" -+msgstr "Tập tin tạm thời sẽ được tạo trong thư mục %s\n" -+ -+#: src/utilunix.c:376 -+msgid "Temporary files will not be created\n" -+msgstr "Tập tin tạm thời sẽ không được tạo ra\n" -+ -+#: src/utilunix.c:401 -+msgid " Pipe failed " -+msgstr " Lỗi đường ống " -+ -+#: src/utilunix.c:405 -+msgid " Dup failed " -+msgstr " Lỗi lặp lại " -+ -+#: src/view.c:502 -+msgid " Cannot spawn child program " -+msgstr " Không sinh ra được tiến trình con " -+ -+#: src/view.c:513 -+msgid "Empty output from child filter" -+msgstr "Bộ lọc con trả lại kết quả rỗng" -+ -+#: src/view.c:519 -+msgid " Cannot open file " -+msgstr " Không mở được tập tin " -+ -+#: src/view.c:618 -+#, c-format -+msgid "" -+" Cannot open \"%s\"\n" -+" %s " -+msgstr "" -+" Không mở được \"%s\"\n" -+" %s " -+ -+#: src/view.c:627 -+#, c-format -+msgid "" -+" Cannot stat \"%s\"\n" -+" %s " -+msgstr "" -+" Không lấy (stat) được thuộc tính \"%s\"\n" -+" %s " -+ -+#: src/view.c:636 -+msgid " Cannot view: not a regular file " -+msgstr " Không xem được vì lý do: không\n" -+" phải tập tin thông thường " -+ -+#: src/view.c:775 -+#, c-format -+msgid "File: %s" -+msgstr "Tập tin: %s" -+ -+#: src/view.c:790 -+#, c-format -+msgid "Offset 0x%08lx" -+msgstr "Bộ offset 0x%08lx" -+ -+#: src/view.c:792 -+#, c-format -+msgid "Col %d" -+msgstr "Cột %d" -+ -+#: src/view.c:796 -+#, c-format -+msgid "%s bytes" -+msgstr "%s byte" -+ -+#: src/view.c:801 -+msgid " [grow]" -+msgstr " [lớn lên]" -+ -+#: src/view.c:1826 -+msgid "Invalid hex search expression" -+msgstr "Biểu thức tìm kiếm hex không đúng" -+ -+#: src/view.c:1880 -+msgid " Invalid regular expression " -+msgstr " Biểu thức chính quy không đúng" -+ -+#: src/view.c:2003 -+#, c-format -+msgid "" -+" The current line number is %d.\n" -+" Enter the new line number:" -+msgstr "" -+" Số thứ tự dòng hiện thời %d.\n" -+" Hãy nhập số thứ tự dòng muốn chuyển đến:" -+ -+#: src/view.c:2026 -+#, c-format -+msgid "" -+" The current address is 0x%lx.\n" -+" Enter the new address:" -+msgstr "" -+" Địa chỉ hiện thời - 0x%lx.\n" -+" Hãy nhập địa chỉ mới:" -+ -+#: src/view.c:2028 -+msgid " Goto Address " -+msgstr " Đi tới địa chỉ " -+ -+#: src/view.c:2060 -+msgid " Enter regexp:" -+msgstr " Nhập biểu thức chính quy:" -+ -+#: src/view.c:2216 -+msgid "Ascii" -+msgstr "Ascii" -+ -+#: src/view.c:2216 -+msgid "Hex" -+msgstr "Hex" -+ -+#: src/view.c:2218 -+msgid "Goto" -+msgstr "ĐiTới" -+ -+#: src/view.c:2218 -+msgid "Line" -+msgstr "Dòng" -+ -+#: src/view.c:2220 -+msgid "RxSrch" -+msgstr "TìmRx" -+ -+#: src/view.c:2225 -+msgid "EdHex" -+msgstr "SoạnHex" -+ -+#: src/view.c:2225 -+msgid "EdText" -+msgstr "SoạnVb" -+ -+#: src/view.c:2233 -+msgid "UnWrap" -+msgstr "BỏWrap" -+ -+#: src/view.c:2233 -+msgid "Wrap" -+msgstr "CóWrap" -+ -+#: src/view.c:2236 -+msgid "HxSrch" -+msgstr "TìmHx" -+ -+#: src/view.c:2239 -+msgid "Raw" -+msgstr "Thô" -+ -+#: src/view.c:2239 -+msgid "Parse" -+msgstr "Phtích" -+ -+#: src/view.c:2244 -+msgid "Unform" -+msgstr "K0dạng" -+ -+#: src/view.c:2244 -+msgid "Format" -+msgstr "CóDạng" -+ -+#: src/widget.c:911 -+msgid " History " -+msgstr " Lịch sử" -+ -+#: src/win.c:159 -+msgid "Function key 1" -+msgstr "Phím chức năng 1" -+ -+#: src/win.c:160 -+msgid "Function key 2" -+msgstr "Phím chức năng 2" -+ -+#: src/win.c:161 -+msgid "Function key 3" -+msgstr "Phím chức năng 3" -+ -+#: src/win.c:162 -+msgid "Function key 4" -+msgstr "Phím chức năng 4" -+ -+#: src/win.c:163 -+msgid "Function key 5" -+msgstr "Phím chức năng 5" -+ -+#: src/win.c:164 -+msgid "Function key 6" -+msgstr "Phím chức năng 6" -+ -+#: src/win.c:165 -+msgid "Function key 7" -+msgstr "Phím chức năng 7" -+ -+#: src/win.c:166 -+msgid "Function key 8" -+msgstr "Phím chức năng 8" -+ -+#: src/win.c:167 -+msgid "Function key 9" -+msgstr "Phím chức năng 9" -+ -+#: src/win.c:168 -+msgid "Function key 10" -+msgstr "Phím chức năng 10" -+ -+#: src/win.c:169 -+msgid "Function key 11" -+msgstr "Phím chức năng 11" -+ -+#: src/win.c:170 -+msgid "Function key 12" -+msgstr "Phím chức năng 12" -+ -+#: src/win.c:171 -+msgid "Function key 13" -+msgstr "Phím chức năng 13" -+ -+#: src/win.c:172 -+msgid "Function key 14" -+msgstr "Phím chức năng 14" -+ -+#: src/win.c:173 -+msgid "Function key 15" -+msgstr "Phím chức năng 15" -+ -+#: src/win.c:174 -+msgid "Function key 16" -+msgstr "Phím chức năng 16" -+ -+#: src/win.c:175 -+msgid "Function key 17" -+msgstr "Phím chức năng 17" -+ -+#: src/win.c:176 -+msgid "Function key 18" -+msgstr "Phím chức năng 18" -+ -+#: src/win.c:177 -+msgid "Function key 19" -+msgstr "Phím chức năng 19" -+ -+#: src/win.c:178 -+msgid "Function key 20" -+msgstr "Phím chức năng 20" -+ -+#: src/win.c:179 -+msgid "Backspace key" -+msgstr "Phím Backspace" -+ -+#: src/win.c:180 -+msgid "End key" -+msgstr "Phím End" -+ -+#: src/win.c:181 -+msgid "Up arrow key" -+msgstr "Phím mũi tên lên" -+ -+#: src/win.c:182 -+msgid "Down arrow key" -+msgstr "Phím mũi tên xuống" -+ -+#: src/win.c:183 -+msgid "Left arrow key" -+msgstr "Phím mũi tên sang trái" -+ -+#: src/win.c:184 -+msgid "Right arrow key" -+msgstr "Phím mũi tên sang phải" -+ -+#: src/win.c:185 -+msgid "Home key" -+msgstr "Phím Home" -+ -+#: src/win.c:186 -+msgid "Page Down key" -+msgstr "Phím Page Down" -+ -+#: src/win.c:187 -+msgid "Page Up key" -+msgstr "Phím Page Up" -+ -+#: src/win.c:188 -+msgid "Insert key" -+msgstr "Phím Insert" -+ -+#: src/win.c:189 -+msgid "Delete key" -+msgstr "Phím Delete" -+ -+#: src/win.c:190 -+msgid "Completion/M-tab" -+msgstr "Hoàn thành/M-Tab" -+ -+#: src/win.c:191 -+msgid "+ on keypad" -+msgstr "+ trên phần keypad" -+ -+#: src/win.c:192 -+msgid "- on keypad" -+msgstr "- trên phần keypad" -+ -+#: src/win.c:193 -+msgid "* on keypad" -+msgstr "* trên phần keypad" -+ -+#: src/win.c:195 -+msgid "Left arrow keypad" -+msgstr "Mũi tên sang trái trên phần keypad" -+ -+#: src/win.c:196 -+msgid "Right arrow keypad" -+msgstr "Mũi tên sang phải trên phần keypad" -+ -+#: src/win.c:197 -+msgid "Up arrow keypad" -+msgstr "Mũi tên lên trên của phần keypad" -+ -+#: src/win.c:198 -+msgid "Down arrow keypad" -+msgstr "Mũi tên xuống dưới của phần keypad" -+ -+#: src/win.c:199 -+msgid "Home on keypad" -+msgstr "Home trên keypad" -+ -+#: src/win.c:200 -+msgid "End on keypad" -+msgstr "End trên keypad" -+ -+#: src/win.c:201 -+msgid "Page Down keypad" -+msgstr "Page Down trên keypad" -+ -+#: src/win.c:202 -+msgid "Page Up keypad" -+msgstr "Page Up trên keypad" -+ -+#: src/win.c:203 -+msgid "Insert on keypad" -+msgstr "Insert trên keypad" -+ -+#: src/win.c:204 -+msgid "Delete on keypad" -+msgstr "Delete trên keypad" -+ -+#: src/win.c:205 -+msgid "Enter on keypad" -+msgstr "Enter trên keypad" -+ -+#: src/win.c:206 -+msgid "Slash on keypad" -+msgstr "Slash trên keypad" -+ -+#: src/win.c:207 -+msgid "NumLock on keypad" -+msgstr "NumLock trên keypad" -+ -+#: src/wtools.c:256 -+msgid "Background process:" -+msgstr "Tiến trình nền sau:" -+ -+#: vfs/cpio.c:142 vfs/cpio.c:158 -+#, c-format -+msgid "" -+"Cannot open cpio archive\n" -+"%s" -+msgstr "" -+"Không mở được tập tin nén cpio\n" -+"%s" -+ -+#: vfs/cpio.c:223 -+#, c-format -+msgid "" -+"Premature end of cpio archive\n" -+"%s" -+msgstr "" -+"Phần cuối của tập tin nén cpio bị hỏng\n" -+"%s" -+ -+#: vfs/cpio.c:309 vfs/cpio.c:359 -+#, c-format -+msgid "" -+"Corrupted cpio header encountered in\n" -+"%s" -+msgstr "" -+"Lỗi phần đầu cpio phát hiện trong\n" -+"%s" -+ -+#: vfs/cpio.c:432 -+#, c-format -+msgid "" -+"Inconsistent hardlinks of\n" -+"%s\n" -+"in cpio archive\n" -+"%s" -+msgstr "" -+"Liên kết cứng không thích hợp \n" -+"%s\n" -+"trong tập tin nén cpio\n" -+"%s" -+ -+#: vfs/cpio.c:457 -+#, c-format -+msgid "%s contains duplicate entries! Skipping!" -+msgstr "%s chứa mục lặp lại! Nhảy qua!" -+ -+#: vfs/cpio.c:526 -+#, c-format -+msgid "" -+"Unexpected end of file\n" -+"%s" -+msgstr "" -+"Kết thúc tập tin không mong đợi\n" -+"%s" -+ -+#: vfs/direntry.c:326 -+#, c-format -+msgid "Directory cache expired for %s" -+msgstr "Cache thư mục hết hạn cho %s" -+ -+#: vfs/direntry.c:749 -+msgid "Starting linear transfer..." -+msgstr "Chạy truyền tải theo đường thẳng..." -+ -+#: vfs/direntry.c:886 -+#, c-format -+msgid "%s: %s: %s %3d%% (%lu bytes transferred)" -+msgstr "%s: %s: %s %3d%% (đã truyền tải %lu byte)" -+ -+#: vfs/direntry.c:887 -+#, c-format -+msgid "%s: %s: %s %lu bytes transferred" -+msgstr "%s: %s: %s đã truyền tải %lu byte" -+ -+#: vfs/direntry.c:933 -+msgid "Getting file" -+msgstr "Nhận tập tin" -+ -+#: vfs/extfs.c:303 -+#, c-format -+msgid "" -+"Cannot open %s archive\n" -+"%s" -+msgstr "" -+"Không mở được tập tin nén %s\n" -+"%s" -+ -+#: vfs/extfs.c:343 vfs/extfs.c:365 vfs/extfs.c:415 -+msgid "Inconsistent extfs archive" -+msgstr "Tập tin nén extfs không thích hợp" -+ -+#: vfs/fish.c:157 -+#, c-format -+msgid "fish: Disconnecting from %s" -+msgstr "fish: Ngừng kết nối từ %s" -+ -+#: vfs/fish.c:232 -+msgid "fish: Waiting for initial line..." -+msgstr "fish: Đang chời dòng đầu tiên..." -+ -+#: vfs/fish.c:244 -+msgid "Sorry, we cannot do password authenticated connections for now." -+msgstr "Xin lỗi, bây giờ không thể tạo kết nối xác thực theo mật khẩu." -+ -+#: vfs/fish.c:249 -+msgid " fish: Password required for " -+msgstr "fish: yêu cầu mật khẩu cho " -+ -+#: vfs/fish.c:258 -+msgid "fish: Sending password..." -+msgstr "fish: Đang gửi mật khẩu..." -+ -+#: vfs/fish.c:264 -+msgid "fish: Sending initial line..." -+msgstr "fish: Đang gửi dòng đầu tiên..." -+ -+#: vfs/fish.c:275 -+msgid "fish: Handshaking version..." -+msgstr "fish: Đang xác nhận phiên bản..." -+ -+#: vfs/fish.c:289 -+msgid "fish: Setting up current directory..." -+msgstr "fish: Đang đặt thư mục hiện thời..." -+ -+#: vfs/fish.c:291 -+#, c-format -+msgid "fish: Connected, home %s." -+msgstr "fish: Kết nối thành công, thư mục cá nhân %s." -+ -+#: vfs/fish.c:375 -+#, c-format -+msgid "fish: Reading directory %s..." -+msgstr "fish: Đọc thư mục %s..." -+ -+#: vfs/fish.c:477 vfs/ftpfs.c:1277 vfs/undelfs.c:343 -+#, c-format -+msgid "%s: done." -+msgstr "%s: xong." -+ -+#: vfs/fish.c:482 vfs/ftpfs.c:1247 vfs/undelfs.c:346 -+#, c-format -+msgid "%s: failure" -+msgstr "%s: lỗi" -+ -+#: vfs/fish.c:507 -+#, c-format -+msgid "fish: store %s: sending command..." -+msgstr "fish: bản ghi %s: đang gửi câu lệnh..." -+ -+#: vfs/fish.c:548 -+msgid "fish: Local read failed, sending zeros" -+msgstr "fish: Lỗi đọc nội bộ, đang gửi các số không" -+ -+#: vfs/fish.c:560 -+#, c-format -+msgid "fish: storing %s %d (%lu)" -+msgstr "fish: ghi %s %d (%lu)" -+ -+#: vfs/fish.c:561 -+msgid "zeros" -+msgstr "các số không" -+ -+#: vfs/fish.c:613 -+msgid "Aborting transfer..." -+msgstr "Dừng truyền tải..." -+ -+#: vfs/fish.c:622 -+msgid "Error reported after abort." -+msgstr "Có lỗi báo cáo sau khi dừng." -+ -+#: vfs/fish.c:624 -+msgid "Aborted transfer would be successful." -+msgstr "Dừng truyền tải thành công." -+ -+#: vfs/ftpfs.c:378 -+#, c-format -+msgid "ftpfs: Disconnecting from %s" -+msgstr "ftpfs: Ngắt kết nối từ %s" -+ -+#: vfs/ftpfs.c:433 -+msgid " FTP: Password required for " -+msgstr " FTP: Cần mật khẩu cho " -+ -+#: vfs/ftpfs.c:469 -+msgid "ftpfs: sending login name" -+msgstr "ftpfs: đang gửi tên đăng nhập" -+ -+#: vfs/ftpfs.c:473 -+msgid "ftpfs: sending user password" -+msgstr "ftpfs: đang gửi mật khẩu người dùng" -+ -+#: vfs/ftpfs.c:479 -+#, c-format -+msgid "FTP: Account required for user %s" -+msgstr "FTP: Yêu cầu tài khoản cho người dùng %s" -+ -+#: vfs/ftpfs.c:481 -+msgid "Account:" -+msgstr "Tài khoản:" -+ -+#: vfs/ftpfs.c:485 -+msgid "ftpfs: sending user account" -+msgstr "ftpfs: đang gửi tài khoản người dùng" -+ -+#: vfs/ftpfs.c:495 -+msgid "ftpfs: logged in" -+msgstr "ftpfs: đã đăng nhập" -+ -+#: vfs/ftpfs.c:509 -+#, c-format -+msgid "ftpfs: Login incorrect for user %s " -+msgstr "ftpfs: lỗi đăng nhập cho người dùng %s " -+ -+#: vfs/ftpfs.c:633 -+msgid "ftpfs: Invalid host name." -+msgstr "ftpfs: Tên máy không đúng." -+ -+#: vfs/ftpfs.c:651 -+msgid "ftpfs: Invalid host address." -+msgstr "ftpfs: Địa chỉ không đúng." -+ -+#: vfs/ftpfs.c:673 -+#, c-format -+msgid "ftpfs: making connection to %s" -+msgstr "ftpfs: Thực hiện kết nối với %s" -+ -+#: vfs/ftpfs.c:683 -+msgid "ftpfs: connection interrupted by user" -+msgstr "ftpfs: người dùng dừng kết nối giữa chừng" -+ -+#: vfs/ftpfs.c:685 -+#, c-format -+msgid "ftpfs: connection to server failed: %s" -+msgstr "ftpfs: kết nối tới máy chủ không thành công: %s" -+ -+#: vfs/ftpfs.c:726 -+#, c-format -+msgid "Waiting to retry... %d (Control-C to cancel)" -+msgstr "Chờ thử lại... %d (Control-C để hủy bỏ)" -+ -+#: vfs/ftpfs.c:906 -+msgid "ftpfs: could not setup passive mode" -+msgstr "ftpfs: không đặt được chế độ bị động (passive)" -+ -+#: vfs/ftpfs.c:985 -+msgid "ftpfs: aborting transfer." -+msgstr "ftpfs: dừng truyền tải." -+ -+#: vfs/ftpfs.c:987 -+#, c-format -+msgid "ftpfs: abort error: %s" -+msgstr "ftpfs: lỗi thoát: %s" -+ -+#: vfs/ftpfs.c:995 -+msgid "ftpfs: abort failed" -+msgstr "ftpfs: sự cố thoát" -+ -+#: vfs/ftpfs.c:1099 vfs/ftpfs.c:1203 -+msgid "ftpfs: CWD failed." -+msgstr "ftpfs: CWD (thay đổi thư mục) không thành công." -+ -+#: vfs/ftpfs.c:1109 vfs/ftpfs.c:1116 -+msgid "ftpfs: couldn't resolve symlink" -+msgstr "ftpfs: không tìm được liên kết mềm" -+ -+#: vfs/ftpfs.c:1167 -+msgid "Resolving symlink..." -+msgstr "Đang tìm liên kết mềm..." -+ -+#: vfs/ftpfs.c:1189 -+#, c-format -+msgid "ftpfs: Reading FTP directory %s... %s%s" -+msgstr "ftpfs: Đọc thư mục FTP %s... %s%s" -+ -+#: vfs/ftpfs.c:1192 -+msgid "(strict rfc959)" -+msgstr "(hạn chế rfc959)" -+ -+#: vfs/ftpfs.c:1193 -+msgid "(chdir first)" -+msgstr "(đầu tiên chdir)" -+ -+#: vfs/ftpfs.c:1290 -+msgid "ftpfs: failed; nowhere to fallback to" -+msgstr "ftpfs: lỗi; không có nơi nào để quay lại về" -+ -+#: vfs/ftpfs.c:1355 -+#, c-format -+msgid "ftpfs: storing file %lu (%lu)" -+msgstr "ftpfs: ghi tập tin %lu (%lu)" -+ -+#: vfs/ftpfs.c:1740 -+msgid "" -+"~/.netrc file has incorrect mode.\n" -+"Remove password or correct mode." -+msgstr "" -+"Tập tin ~/.netrc có chế độ truy cập/sở hữu không đúng.\n" -+"Hãy xóa mật khẩu hoặc sửa lại chế độ cho đúng." -+ -+#: vfs/mcfs.c:122 vfs/mcfs.c:167 -+msgid " MCFS " -+msgstr " MCFS " -+ -+#: vfs/mcfs.c:123 -+msgid " The server does not support this version " -+msgstr " Máy chủ không hỗ trợ phiên bản này " -+ -+#: vfs/mcfs.c:140 -+msgid "" -+" The remote server is not running on a system port \n" -+" you need a password to log in, but the information may \n" -+" not be safe on the remote side. Continue? \n" -+msgstr "" -+" Máy chủ ở xa không chạy trên một cổng hệ thống. Cần \n" -+" mật khẩu để đăng nhập vào, nhưng điều này có thể \n" -+" không an toàn cho thông tin phía ở xa. Tiếp tục?\n" -+ -+#: vfs/mcfs.c:153 -+msgid " MCFS Password required " -+msgstr " Yêu cầu mật khẩu MCFS " -+ -+#: vfs/mcfs.c:167 -+msgid " Invalid password " -+msgstr " Mật khẩu không đúng " -+ -+#: vfs/mcfs.c:227 -+#, c-format -+msgid " Cannot locate hostname: %s " -+msgstr " Không xác định được tên máy ở xa: %s" -+ -+#: vfs/mcfs.c:246 -+#, c-format -+msgid " Cannot create socket: %s " -+msgstr " Không tạo được socket: %s " -+ -+#: vfs/mcfs.c:252 -+#, c-format -+msgid " Cannot connect to server: %s " -+msgstr " Không kết nối được tới máy chủ: %s " -+ -+#: vfs/mcfs.c:322 -+msgid " Too many open connections " -+msgstr " Quá nhiều kết nối mở " -+ -+#: vfs/sfs.c:346 -+#, c-format -+msgid "" -+"Warning: Invalid line in %s:\n" -+"%s\n" -+msgstr "" -+"Cảnh báo: dòng không đúng trong %s:\n" -+"%s\n" -+ -+#: vfs/sfs.c:358 -+#, c-format -+msgid "" -+"Warning: Invalid flag %c in %s:\n" -+"%s\n" -+msgstr "" -+"Cảnh báo: Cờ không đúng %c trong %s:\n" -+"%s\n" -+ -+#: vfs/smbfs.c:576 -+#, c-format -+msgid "" -+" smbfs_reconnect to %s failed\n" -+" " -+msgstr "" -+" smbfs_reconnect (kết nối lại) tới %s không thành công\n" -+" " -+ -+#: vfs/smbfs.c:1120 -+msgid " Authentication failed " -+msgstr " Xác thực không thành công " -+ -+#: vfs/smbfs.c:1632 -+#, c-format -+msgid " Error %s creating directory %s " -+msgstr " Lỗi %s khi tạo thư mục %s " -+ -+#: vfs/smbfs.c:1655 -+#, c-format -+msgid " Error %s removing directory %s " -+msgstr " Lỗi %s khi xóa thư mục %s " -+ -+#: vfs/smbfs.c:1744 -+#, c-format -+msgid " %s opening remote file %s " -+msgstr " %s khi mở tập tin ở xa %s " -+ -+#: vfs/smbfs.c:1817 -+#, c-format -+msgid " %s removing remote file %s " -+msgstr " %s khi xoá tập tin ở xa %s " -+ -+#: vfs/smbfs.c:1855 -+#, c-format -+msgid " %s renaming files\n" -+msgstr " %s khi đổi tên các tập tin\n" -+ -+#: vfs/tar.c:212 vfs/tar.c:229 -+#, c-format -+msgid "" -+"Cannot open tar archive\n" -+"%s" -+msgstr "" -+"Không mở được tập tin nén tar\n" -+"%s" -+ -+#: vfs/tar.c:424 -+msgid "Unexpected EOF on archive file" -+msgstr "Kết thúc tập tin EOF nén không mong đợi" -+ -+#: vfs/tar.c:476 vfs/tar.c:483 -+msgid "Inconsistent tar archive" -+msgstr "Tập tin tar không thích hợp" -+ -+#: vfs/tar.c:561 -+#, c-format -+msgid "" -+"Hmm,...\n" -+"%s\n" -+"doesn't look like a tar archive." -+msgstr "" -+"Hừm,...\n" -+"%s\n" -+"không giống tập tin tar." -+ -+#: vfs/undelfs.c:82 -+msgid " undelfs: error " -+msgstr " undelfs: lỗi " -+ -+#: vfs/undelfs.c:189 -+msgid " not enough memory " -+msgstr " không đủ bộ nhớ " -+ -+#: vfs/undelfs.c:194 -+msgid " while allocating block buffer " -+msgstr " khi phân phối bộ đệm khối " -+ -+#: vfs/undelfs.c:198 -+#, c-format -+msgid " open_inode_scan: %d " -+msgstr " open_inode_scan: %d " -+ -+#: vfs/undelfs.c:202 -+#, c-format -+msgid " while starting inode scan %d " -+msgstr " khi bắt đầu quét chỉ mục nút inode %d " -+ -+#: vfs/undelfs.c:211 -+#, c-format -+msgid "undelfs: loading deleted files information %d inodes" -+msgstr "undelfs: nạp thông tin về những tập tin bị xóa %d inode" -+ -+#: vfs/undelfs.c:229 -+#, c-format -+msgid " while calling ext2_block_iterate %d " -+msgstr " khi gọi ext2_block_iterate %d " -+ -+#: vfs/undelfs.c:241 -+msgid " no more memory while reallocating array " -+msgstr " không đủ bộ nhớ khi phân phối lại chuỗi " -+ -+#: vfs/undelfs.c:262 -+#, c-format -+msgid " while doing inode scan %d " -+msgstr " khi quét chỉ mục nút inode %d " -+ -+#: vfs/undelfs.c:297 -+msgid " Ext2lib error " -+msgstr " Lỗi Ext2lib " -+ -+#: vfs/undelfs.c:325 vfs/undelfs.c:644 -+#, c-format -+msgid " Cannot open file %s " -+msgstr " Không mở được tập tin %s " -+ -+#: vfs/undelfs.c:328 -+msgid "undelfs: reading inode bitmap..." -+msgstr "undelfs: đọc sơ đồ bit của nút inode..." -+ -+#: vfs/undelfs.c:331 -+#, c-format -+msgid "" -+" Cannot load inode bitmap from: \n" -+" %s \n" -+msgstr "" -+" Không nạp được sơ đồ bit của nút inode từ:\n" -+" %s \n" -+ -+#: vfs/undelfs.c:334 -+msgid "undelfs: reading block bitmap..." -+msgstr "undelfs: đọc sơ đồ bit của khối..." -+ -+#: vfs/undelfs.c:337 -+#, c-format -+msgid "" -+" Cannot load block bitmap from: \n" -+" %s \n" -+msgstr "" -+" Không nạp được sơ đồ bit của khối từ:\n" -+" %s \n" -+ -+#: vfs/undelfs.c:360 -+msgid " vfs_info is not fs! " -+msgstr " vfs_info không phải là hệ thống tập tin! " -+ -+#: vfs/undelfs.c:416 vfs/undelfs.c:600 -+msgid " You have to chdir to extract files first " -+msgstr " Đầu tiên bạn phải chdir để chuyển tới thư mục chứa tập tin cần giản nén " -+ -+#: vfs/undelfs.c:539 -+msgid " while iterating over blocks " -+msgstr " khi lặp lại khối " -+ -+#: vfs/vfs.c:880 -+msgid "Changes to file lost" -+msgstr "Thay đổi tới tập tin bị mất" -+ -diff -urN mc-4.6.1.orig/src/achown.c mc-4.6.1/src/achown.c ---- mc-4.6.1.orig/src/achown.c 2005-07-23 22:52:02.000000000 +0600 -+++ mc-4.6.1/src/achown.c 2007-01-19 18:33:58.000000000 +0500 -@@ -583,6 +583,12 @@ - b_att[2] = button_new (XTRACT (6)); - b_user = button_new (XTRACT (5)); - b_group = button_new (XTRACT (4)); -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ b_user->text = g_realloc (b_user->text, MB_CUR_MAX * 15 + 1); -+ b_group->text = g_realloc (b_group->text, MB_CUR_MAX * 15 + 1); -+ } -+#endif - - add_widget (ch_dlg, b_group); - add_widget (ch_dlg, b_user); -diff -urN mc-4.6.1.orig/src/boxes.c mc-4.6.1/src/boxes.c ---- mc-4.6.1.orig/src/boxes.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/boxes.c 2007-01-19 18:33:59.000000000 +0500 -@@ -49,6 +49,7 @@ - #ifdef HAVE_CHARSET - #include "charsets.h" - #include "selcodepage.h" -+#include "recode.h" - #endif - - #ifdef USE_NETCODE -@@ -150,23 +151,23 @@ - display_title = _(display_title); - for (i = 0; i < LIST_TYPES; i++) { - displays[i] = _(displays[i]); -- if ((l = strlen (displays[i])) > maxlen) -+ if ((l = mbstrlen (displays[i])) > maxlen) - maxlen = l; - } - -- i = strlen (ok_button) + 5; -- l = strlen (cancel_button) + 3; -+ i = mbstrlen (ok_button) + 5; -+ l = mbstrlen (cancel_button) + 3; - l = max (i, l); - - i = maxlen + l + 16; - if (i > DISPLAY_X) - DISPLAY_X = i; - -- i = strlen (user_mini_status) + 13; -+ i = mbstrlen (user_mini_status) + 13; - if (i > DISPLAY_X) - DISPLAY_X = i; - -- i = strlen (display_title) + 10; -+ i = mbstrlen (display_title) + 10; - if (i > DISPLAY_X) - DISPLAY_X = i; - -@@ -285,20 +286,20 @@ - int maxlen = 0; - for (i = SORT_TYPES - 1; i >= 0; i--) { - sort_orders_names[i] = _(sort_orders[i].sort_name); -- r = strlen (sort_orders_names[i]); -+ r = mbstrlen (sort_orders_names[i]); - if (r > maxlen) - maxlen = r; - } - - check_pos = maxlen + 9; - -- r = strlen (reverse_label) + 4; -- i = strlen (case_label) + 4; -+ r = mbstrlen (reverse_label) + 4; -+ i = mbstrlen (case_label) + 4; - if (i > r) - r = i; - -- l = strlen (ok_button) + 6; -- i = strlen (cancel_button) + 4; -+ l = mbstrlen (ok_button) + 6; -+ i = mbstrlen (cancel_button) + 4; - if (i > l) - l = i; - -@@ -307,7 +308,7 @@ - if (i > SORT_X) - SORT_X = i; - -- i = strlen (sort_title) + 6; -+ i = mbstrlen (sort_title) + 6; - if (i > SORT_X) - SORT_X = i; - -@@ -402,7 +403,7 @@ - while (i--) - { - conf_widgets [i].text = _(conf_widgets [i].text); -- l1 = strlen (conf_widgets [i].text) + 3; -+ l1 = mbstrlen (conf_widgets [i].text) + 3; - if (l1 > maxlen) - maxlen = l1; - } -@@ -417,8 +418,8 @@ - * And this for the case when buttons with some space to the right - * do not fit within 2/6 - */ -- l1 = strlen (conf_widgets [0].text) + 3; -- i = strlen (conf_widgets [1].text) + 5; -+ l1 = mbstrlen (conf_widgets [0].text) + 3; -+ i = mbstrlen (conf_widgets [1].text) + 5; - if (i > l1) - l1 = i; - -@@ -446,8 +447,8 @@ - } - } - --#define DISPY 11 --#define DISPX 46 -+#define DISPY 13 -+#define DISPX 35 - - - #ifndef HAVE_CHARSET -@@ -489,11 +490,11 @@ - { - display_widgets [i].text = _(display_widgets[i].text); - display_bits_str [i] = _(display_bits_str [i]); -- l1 = strlen (display_bits_str [i]); -+ l1 = mbstrlen (display_bits_str [i]); - if (l1 > maxlen) - maxlen = l1; - } -- l1 = strlen (display_widgets [2].text); -+ l1 = mbstrlen (display_widgets [2].text); - if (l1 > maxlen) - maxlen = l1; - -@@ -501,8 +502,8 @@ - display_bits.xlen = (maxlen + 5) * 6 / 4; - - /* See above confirm_box */ -- l1 = strlen (display_widgets [0].text) + 3; -- i = strlen (display_widgets [1].text) + 5; -+ l1 = mbstrlen (display_widgets [0].text) + 3; -+ i = mbstrlen (display_widgets [1].text) + 5; - if (i > l1) - l1 = i; - -@@ -543,26 +544,61 @@ - - - static int new_display_codepage; -+static int new_ftp_codepage; - --static WLabel *cplabel; - static WCheck *inpcheck; - -+static WButton *cpbutton; -+static WButton *cpbutton_ftp; -+ - static int - sel_charset_button (int action) - { - const char *cpname; - char buf[64]; -- new_display_codepage = select_charset (new_display_codepage, 1); -+ new_display_codepage = select_charset (new_display_codepage, 1, _(" Choose input codepage ")); - cpname = (new_display_codepage < 0) - ? _("Other 8 bit") - : codepages[new_display_codepage].name; - - /* avoid strange bug with label repainting */ -- g_snprintf (buf, sizeof (buf), "%-27s", cpname); -- label_set_text (cplabel, buf); -+ sprintf( buf, "%s", cpname ); -+ button_set_text (cpbutton, buf); -+ -+ if(new_display_codepage<0) new_ftp_codepage=-1; -+ cpname = (new_ftp_codepage < 0) -+ ? _("Other 8 bit") -+ : codepages[ new_ftp_codepage ].name; -+ sprintf( buf, "%s", cpname ); -+ button_set_text (cpbutton_ftp, buf); -+ - return 0; - } - -+static int sel_charset_button_ftp(int action) { -+ char *cpname, buf[64]; -+ if(new_display_codepage>0) { -+ new_ftp_codepage = select_charset(new_ftp_codepage, 0, _(" Choose default FTP codepage ")); -+ cpname = (new_display_codepage < 0) -+ ? _("Other 8 bit") -+ : codepages[ new_display_codepage ].name; -+ sprintf( buf, "%s", cpname ); -+ button_set_text( cpbutton, buf ); -+ cpname = (new_ftp_codepage < 0) -+ ? _("Other 8 bit") -+ : codepages[ new_ftp_codepage ].name; -+ sprintf( buf, "%s", cpname ); -+ button_set_text( cpbutton_ftp, buf ); -+ } -+ else { -+ message( 1, _(" Warning "), -+ _("To use this feature select your codepage in\n" -+ "Setup / Display Bits dialog!\n" -+ "Do not forget to save options." )); -+ } -+ return 0; -+} -+ - static Dlg_head * - init_disp_bits_box (void) - { -@@ -581,9 +617,6 @@ - cpname = (new_display_codepage < 0) - ? _("Other 8 bit") - : codepages[new_display_codepage].name; -- cplabel = label_new (4, 4, cpname); -- add_widget (dbits_dlg, cplabel); -- - add_widget (dbits_dlg, - button_new (DISPY - 3, DISPX / 2 + 3, B_CANCEL, - NORMAL_BUTTON, _("&Cancel"), 0)); -@@ -592,13 +625,30 @@ - 0)); - - inpcheck = -- check_new (6, 4, !use_8th_bit_as_meta, _("F&ull 8 bits input")); -+ check_new (8, 4, !use_8th_bit_as_meta, _("F&ull 8 bits input")); - add_widget (dbits_dlg, inpcheck); - -- cpname = _("&Select"); -- add_widget (dbits_dlg, -- button_new (4, DISPX - 8 - strlen (cpname), B_USER, -- NORMAL_BUTTON, cpname, sel_charset_button)); -+ -+ add_widget( dbits_dlg, label_new( 5, 4, _("FTP default codepage:"))); -+ if(n_codepages>0) { -+ cpname = (new_display_codepage < 0) -+ ? _("Other 8 bit") -+ : codepages[ new_display_codepage ].name; -+ } -+ else cpname= _("Other 8 bit"); -+ cpbutton=button_new(4, 5, B_USER, -+ NORMAL_BUTTON, cpname, sel_charset_button); -+ -+ if(n_codepages>0) { -+ cpname = (new_ftp_codepage < 0) -+ ? _("Other 8 bit") -+ : codepages[ new_ftp_codepage ].name; -+ } -+ else cpname= _("Other 8 bit"); -+ cpbutton_ftp=button_new(6, 5, B_USER, -+ NORMAL_BUTTON, cpname, sel_charset_button_ftp); -+ add_widget( dbits_dlg, cpbutton_ftp); -+ add_widget (dbits_dlg, cpbutton); - - return dbits_dlg; - } -@@ -608,6 +658,7 @@ - { - Dlg_head *dbits_dlg; - new_display_codepage = display_codepage; -+ new_ftp_codepage = ftp_codepage; - - application_keypad_mode (); - dbits_dlg = init_disp_bits_box (); -@@ -628,6 +679,17 @@ - && display_codepage != 1) ? 128 : 160; - #endif - use_8th_bit_as_meta = !(inpcheck->state & C_BOOL); -+ -+ ftp_codepage=new_ftp_codepage; -+ if(display_codepage<=0) { -+ panel_reset_codepage(left_panel); -+ paint_dir(left_panel); -+ display_mini_info(left_panel); -+ panel_reset_codepage(right_panel); -+ paint_dir(right_panel); -+ display_mini_info(right_panel); -+ } -+ - } - destroy_dlg (dbits_dlg); - repaint_screen (); -@@ -803,7 +865,7 @@ - quick_widgets [1].y_divisions = - quick_widgets [0].y_divisions = Quick_input.ylen = 5; - -- len = strlen (quick_widgets [1].text); -+ len = mbstrlen (quick_widgets [1].text); - - quick_widgets [0].relative_x = - quick_widgets [1].relative_x + len + 1; -@@ -962,7 +1024,7 @@ - { - job_buttons [i].name = _(job_buttons [i].name); - -- len = strlen (job_buttons [i].name) + 4; -+ len = mbstrlen (job_buttons [i].name) + 4; - JOBS_X = max (JOBS_X, startx + len + 3); - - job_buttons [i].xpos = startx; -@@ -971,7 +1033,7 @@ - - /* Last button - Ok a.k.a. Cancel :) */ - job_buttons [n_buttons - 1].xpos = -- JOBS_X - strlen (job_buttons [n_buttons - 1].name) - 7; -+ JOBS_X - mbstrlen (job_buttons [n_buttons - 1].name) - 7; - - i18n_flag = 1; - } -@@ -1029,7 +1091,7 @@ - - while (i--) - { -- l1 = strlen (labs [i] = _(labs [i])); -+ l1 = mbstrlen (labs [i] = _(labs [i])); - if (l1 > maxlen) - maxlen = l1; - } -@@ -1039,7 +1101,7 @@ - - for (i = sizeof(buts)/sizeof(buts[0]), l1 = 0; i--; ) - { -- l1 += strlen (buts [i] = _(buts [i])); -+ l1 += mbstrlen (buts [i] = _(buts [i])); - } - l1 += 15; - if (l1 > dialog_x) -@@ -1048,7 +1110,7 @@ - ilen = dialog_x - 7 - maxlen; /* for the case of very long buttons :) */ - istart = dialog_x - 3 - ilen; - -- b2 = dialog_x - (strlen(buts[1]) + 6); -+ b2 = dialog_x - (mbstrlen(buts[1]) + 6); - - i18n_flag = 1; - } -diff -urN mc-4.6.1.orig/src/charsets.c mc-4.6.1/src/charsets.c ---- mc-4.6.1.orig/src/charsets.c 2005-07-23 22:52:02.000000000 +0600 -+++ mc-4.6.1/src/charsets.c 2007-01-19 18:33:59.000000000 +0500 -@@ -119,8 +119,6 @@ - } - } - --#define OTHER_8BIT "Other_8_bit" -- - const char * - get_codepage_id (int n) - { -@@ -139,7 +137,7 @@ - return -1; - } - --static char -+char - translate_character (iconv_t cd, char c) - { - char outbuf[4], *obuf; -diff -urN mc-4.6.1.orig/src/charsets.h mc-4.6.1/src/charsets.h ---- mc-4.6.1.orig/src/charsets.h 2004-08-30 16:38:00.000000000 +0600 -+++ mc-4.6.1/src/charsets.h 2007-01-19 18:33:59.000000000 +0500 -@@ -6,6 +6,7 @@ - #define UNKNCHAR '\001' - - #define CHARSETS_INDEX "mc.charsets" -+#define OTHER_8BIT "Other_8_bit" - - extern int n_codepages; - -@@ -19,6 +20,10 @@ - - extern struct codepage_desc *codepages; - -+#include -+extern char translate_character(iconv_t cd, char c); -+extern char errbuf[255]; -+ - const char *get_codepage_id (int n); - int get_codepage_index (const char *id); - int load_codepages_list (void); -diff -urN mc-4.6.1.orig/src/cmd.c mc-4.6.1/src/cmd.c ---- mc-4.6.1.orig/src/cmd.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/cmd.c 2007-01-19 18:33:59.000000000 +0500 -@@ -74,6 +74,10 @@ - # include "../edit/edit.h" - #endif - -+#ifdef HAVE_CHARSET -+#include "recode.h" -+#endif -+ - /* If set and you don't have subshell support,then C-o will give you a shell */ - int output_starts_shell = 0; - -@@ -350,6 +354,9 @@ - { - char *tempdir; - char *dir; -+#ifdef HAVE_CHARSET -+ char *recoded_dir; -+#endif - - dir = - input_expand_dialog (_("Create a new Directory"), -@@ -360,8 +367,17 @@ - - if (dir[0] == '/' || dir[0] == '~') - tempdir = g_strdup (dir); -- else -- tempdir = concat_dir_and_file (current_panel->cwd, dir); -+ else { -+#ifdef HAVE_CHARSET -+ recoded_dir=g_strdup(dir); -+ my_translate_string(dir,strlen(dir), recoded_dir,current_panel->tr_table_input); -+ tempdir = concat_dir_and_file (current_panel->cwd, recoded_dir); -+ g_free(recoded_dir); -+#else -+ tempdir = concat_dir_and_file (current_panel->cwd, dir); -+#endif -+ } -+ - g_free (dir); - - save_cwds_stat (); -diff -urN mc-4.6.1.orig/src/dialog.c mc-4.6.1/src/dialog.c ---- mc-4.6.1.orig/src/dialog.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/dialog.c 2007-01-19 18:33:58.000000000 +0500 -@@ -162,7 +162,7 @@ - - if (h->title) { - attrset (HOT_NORMALC); -- dlg_move (h, space, (h->cols - strlen (h->title)) / 2); -+ dlg_move (h, space, (h->cols - mbstrlen (h->title)) / 2); - addstr (h->title); - } - } -diff -urN mc-4.6.1.orig/src/file.c mc-4.6.1/src/file.c ---- mc-4.6.1.orig/src/file.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/file.c 2007-01-19 18:33:59.000000000 +0500 -@@ -77,6 +77,9 @@ - #include "../vfs/vfs-impl.h" - - /* }}} */ -+#ifdef HAVE_CHARSET -+#include "recode.h" -+#endif - - int verbose = 1; - -@@ -165,15 +168,20 @@ - do_transform_source (FileOpContext *ctx, const unsigned char *source) - { - size_t j, k, l, len; -- unsigned const char *fnsource = x_basename (source); -+ unsigned const char *fnsource = g_strdup (x_basename (source)); - int next_reg; - enum CaseConvs case_conv = NO_CONV; - static unsigned char fntarget[MC_MAXPATHLEN]; - -+#ifdef UTF8 -+ fix_utf8(fnsource); -+#endif -+ - len = strlen (fnsource); - j = re_match (&ctx->rx, fnsource, len, 0, &ctx->regs); - if (j != len) { - transform_error = FILE_SKIP; -+ g_free(fnsource); - return NULL; - } - for (next_reg = 1, j = 0, k = 0; j < strlen (ctx->dest_mask); j++) { -@@ -217,6 +225,7 @@ - || ctx->regs.start[next_reg] < 0) { - message (1, MSG_ERROR, _(" Invalid target mask ")); - transform_error = FILE_ABORT; -+ g_free(fnsource); - return NULL; - } - for (l = (size_t) ctx->regs.start[next_reg]; -@@ -231,6 +240,7 @@ - } - } - fntarget[k] = 0; -+ g_free(fnsource); - return fntarget; - } - -@@ -380,9 +390,9 @@ - char *p, *q, *s; - - const char *r = strrchr (src_path, PATH_SEP); -- -+ - if (r) { -- p = g_strndup (src_path, r - src_path); -+ p = g_strndup (src_path, r - src_path + 1); - if (*dst_path == PATH_SEP) - q = g_strdup (dst_path); - else -@@ -914,7 +924,11 @@ - } - /* Dive into subdir if exists */ - if (toplevel && ctx->dive_into_subdirs) { -- dest_dir = concat_dir_and_file (d, x_basename (s)); -+#ifdef HAVE_CHARSET -+ dest_dir = concat_dir_and_recoded_fname(d, x_basename (s), ctx); -+#else -+ dest_dir = concat_dir_and_file (d, x_basename (s)); -+#endif - } else { - dest_dir = g_strdup (d); - goto dont_mkdir; -@@ -964,7 +978,11 @@ - - (*ctx->stat_func) (path, &buf); - if (S_ISDIR (buf.st_mode)) { -- mdpath = concat_dir_and_file (dest_dir, next->d_name); -+#ifdef HAVE_CHARSET -+ mdpath = concat_dir_and_recoded_fname(dest_dir, next->d_name, ctx); -+#else -+ mdpath = concat_dir_and_file (dest_dir, next->d_name); -+#endif - /* - * From here, we just intend to recursively copy subdirs, not - * the double functionality of copying different when the target -@@ -975,7 +993,11 @@ - parent_dirs, progress_count, progress_bytes); - g_free (mdpath); - } else { -- dest_file = concat_dir_and_file (dest_dir, x_basename (path)); -+#ifdef HAVE_CHARSET -+ dest_file=concat_dir_and_recoded_fname(dest_dir, x_basename(path),ctx); -+#else -+ dest_file = concat_dir_and_file (dest_dir, x_basename (path)); -+#endif - return_status = copy_file_file (ctx, path, dest_file, 1, - progress_count, progress_bytes, 0); - g_free (dest_file); -@@ -1159,7 +1181,12 @@ - destdir = g_strdup (d); - move_over = 1; - } else -- destdir = concat_dir_and_file (d, x_basename (s)); -+#ifdef HAVE_CHARSET -+ destdir = concat_dir_and_recoded_fname(d, x_basename (s), ctx); -+#else -+ destdir = concat_dir_and_file (d, x_basename (s)); -+#endif -+ - - if (sbuf.st_dev == dbuf.st_dev && sbuf.st_ino == dbuf.st_ino) { - int msize = COLS - 36; -@@ -1875,7 +1902,12 @@ - if (temp == NULL) { - value = transform_error; - } else { -- char *temp2 = concat_dir_and_file (dest, temp); -+#ifdef HAVE_CHARSET -+ char *temp2 = concat_dir_and_recoded_fname (dest, temp, ctx); -+#else -+ char *temp2 = concat_dir_and_file (dest, temp); -+#endif -+ - g_free (dest); - dest = temp2; - temp = NULL; -@@ -1969,7 +2001,12 @@ - if (temp == NULL) - value = transform_error; - else { -- char *temp2 = concat_dir_and_file (dest, temp); -+#ifdef HAVE_CHARSET -+ char *temp2 = concat_dir_and_recoded_fname(dest, temp, ctx); -+#else -+ char *temp2 = concat_dir_and_file (dest, temp); -+#endif -+ - - switch (operation) { - case OP_COPY: -diff -urN mc-4.6.1.orig/src/filegui.c mc-4.6.1/src/filegui.c ---- mc-4.6.1.orig/src/filegui.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/filegui.c 2007-01-19 18:33:59.000000000 +0500 -@@ -69,6 +69,11 @@ - #include "filegui.h" - #include "key.h" /* get_event */ - #include "util.h" /* strip_password() */ -+#include "tty.h" -+ -+#ifdef HAVE_CHARSET -+#include "recode.h" -+#endif - - /* }}} */ - -@@ -564,8 +569,8 @@ - * longest of "Overwrite..." labels - * (assume "Target date..." are short enough) - */ -- l1 = max (strlen (rd_widgets[6].text), -- strlen (rd_widgets[11].text)); -+ l1 = max (mbstrlen (rd_widgets[6].text), -+ mbstrlen (rd_widgets[11].text)); - - /* longest of button rows */ - i = sizeof (rd_widgets) / sizeof (rd_widgets[0]); -@@ -576,7 +581,7 @@ - l2 = max (l2, l); - l = 0; - } -- l += strlen (rd_widgets[i].text) + 4; -+ l += mbstrlen (rd_widgets[i].text) + 4; - } - } - l2 = max (l2, l); /* last row */ -@@ -594,12 +599,12 @@ - l = l1; - } - rd_widgets[i].xpos = l; -- l += strlen (rd_widgets[i].text) + 4; -+ l += mbstrlen (rd_widgets[i].text) + 4; - } - } - /* Abort button is centered */ - rd_widgets[1].xpos = -- (rd_xlen - strlen (rd_widgets[1].text) - 3) / 2; -+ (rd_xlen - mbstrlen (rd_widgets[1].text) - 3) / 2; - } - #endif /* ENABLE_NLS */ - -@@ -618,7 +623,7 @@ - - ADD_RD_LABEL (ui, 0, - name_trunc (ui->replace_filename, -- rd_trunc - strlen (rd_widgets[0].text)), 0); -+ rd_trunc - mbstrlen (rd_widgets[0].text)), 0); - ADD_RD_BUTTON (1); - - ADD_RD_BUTTON (2); -@@ -721,57 +726,79 @@ - } - } - -+#ifdef HAVE_CHARSET -+#define FMDY 15 -+#else - #define FMDY 13 -+#endif -+ - #define FMD_XLEN 64 - extern int fmd_xlen; - static QuickWidget fmd_widgets[] = { - --#define FMCB0 FMDC --#define FMCB12 0 --#define FMCB11 1 -- /* follow symlinks and preserve Attributes must be the first */ -- {quick_checkbox, 3, 64, 8, FMDY, N_("preserve &Attributes"), 9, 0, -- 0 /* &op_preserve */ , 0, "preserve"}, -- {quick_checkbox, 3, 64, 7, FMDY, N_("follow &Links"), 7, 0, -- 0 /* &file_mask_op_follow_links */ , 0, "follow"}, -- {quick_label, 3, 64, 5, FMDY, N_("to:"), 0, 0, 0, 0, "to"}, -- {quick_checkbox, 37, 64, 4, FMDY, N_("&Using shell patterns"), 0, 0, -- 0 /* &source_easy_patterns */ , 0, "using-shell"}, -- {quick_input, 3, 64, 3, FMDY, "", 58, -- 0, 0, 0, "input-def"}, --#define FMDI1 4 --#define FMDI2 5 --#define FMDC 3 -- {quick_input, 3, 64, 6, FMDY, "", 58, 0, -- 0, 0, "input2"}, --#define FMDI0 6 -- {quick_label, 3, 64, 2, FMDY, "", 0, 0, 0, 0, "ql"}, --#define FMBRGT 7 -- {quick_button, 42, 64, 9, FMDY, N_("&Cancel"), 0, B_CANCEL, 0, 0, -- "cancel"}, --#undef SKIP -+#ifdef HAVE_CHARSET -+ #define Y_OK 12 -+#else -+ #define Y_OK 9 -+#endif -+ -+#ifdef WITH_BACKGROUND -+ #define ADD 0 -+#else -+ #define ADD -1 -+#endif -+ -+ #define FM_STAB_SYM 0 -+ #define FM_DIVE_INTO_SUBDIR 1 -+ #define FM_PRES_ATTR 2 -+ #define FM_FOLLOW_LINKS 3 -+ #define FM_DST_INPUT 4 -+ #define FM_DST_TITLE 5 -+ #define FM_USING_SHELL_PATT 6 -+ #define FM_SRC_INPUT 7 -+ #define FM_SRC_TITLE 8 -+ #define FM_CANCEL 9 -+#ifdef WITH_BACKGROUND -+ #define FM_BKGND 10 -+#endif -+ #define FM_OK 11+ADD -+#ifdef HAVE_CHARSET -+ #define FM_TO_CODEPAGE 12+ADD -+ #define FM_FROM_CODEPAGE 13+ADD -+ #define FM_RECODE_TITLE 14+ADD -+ #define FM_RECODE_ARROW 15+ADD -+#endif // HAVE_CHARSET -+ -+ -+#ifdef HAVE_CHARSET -+ #define SKIP 10 -+ #define B_FROM B_USER+1 -+ #define B_TO B_USER+2 -+#else -+ #define SKIP 10 -+#endif -+ -+ {quick_checkbox, 42,64, 8, FMDY, N_("&Stable Symlinks"),0,0,0,0,"stab-sym"}, -+ {quick_checkbox, 31,64, 7, FMDY, N_("&Dive into subdir if exists"),0,0,0,0,"dive"}, -+ {quick_checkbox, 3, 64, 8, FMDY, N_("preserve &Attributes"),9,0,0,0,"preserve"}, -+ {quick_checkbox, 3, 64, 7, FMDY, N_("follow &Links"),7,0,0,0,"follow"}, -+ {quick_input, 3, 64, 6, FMDY, "", 58, 0, 0, 0, "input2"}, -+ {quick_label, 3, 64, 5, FMDY, N_("to:"), 0, 0, 0, 0, "to"}, -+ {quick_checkbox, 37,64, 4, FMDY, N_("&Using shell patterns"),0,0, 0,0,"us-sh"}, -+ {quick_input, 3, 64, 3, FMDY, "", 58, 0, 0, 0, "input-def"}, -+ {quick_label, 3, 64, 2, FMDY, "", 0, 0, 0, 0, "ql"}, -+ {quick_button, 42,64, Y_OK, FMDY, N_("&Cancel"), 0, B_CANCEL, 0,0, "cancel"}, - #ifdef WITH_BACKGROUND --# define SKIP 5 --# define FMCB21 11 --# define FMCB22 10 --# define FMBLFT 9 --# define FMBMID 8 -- {quick_button, 25, 64, 9, FMDY, N_("&Background"), 0, B_USER, 0, 0, -- "back"}, --#else /* WITH_BACKGROUND */ --# define SKIP 4 --# define FMCB21 10 --# define FMCB22 9 --# define FMBLFT 8 --# undef FMBMID --#endif -- {quick_button, 14, 64, 9, FMDY, N_("&OK"), 0, B_ENTER, 0, 0, "ok"}, -- {quick_checkbox, 42, 64, 8, FMDY, N_("&Stable Symlinks"), 0, 0, -- 0 /* &file_mask_stable_symlinks */ , 0, "stab-sym"}, -- {quick_checkbox, 31, 64, 7, FMDY, N_("&Dive into subdir if exists"), 0, -- 0, -- 0 /* &dive_into_subdirs */ , 0, "dive"}, -- NULL_QuickWidget -+ {quick_button, 25,64, Y_OK, FMDY, N_("&Background"), 0, B_USER, 0,0, "back"}, -+#endif -+ {quick_button, 14,64, Y_OK, FMDY, N_("&OK"), 0, B_ENTER, 0, 0, "ok"}, -+#ifdef HAVE_CHARSET -+ {quick_button, 46,64, 10, FMDY,"to codepage", 0, B_TO, 0, 0, "ql"}, -+ {quick_button, 25,64, 10, FMDY, "from codepage", 0, B_FROM, 0, 0, "ql"}, -+ {quick_label, 3, 64, 10, FMDY, N_("Recode file names:"), 0, 0, 0, 0, "ql"}, -+ {quick_label, 42,64, 10, FMDY, "->", 0, 0, 0, 0, "ql"}, -+#endif -+ {0} - }; - - static int -@@ -805,48 +832,48 @@ - if (fmd_widgets[i].text[0] != '\0') - fmd_widgets[i].text = _(fmd_widgets[i].text); - -- len = strlen (fmd_widgets[FMCB11].text) -- + strlen (fmd_widgets[FMCB21].text) + 15; -+ len = mbstrlen (fmd_widgets[FM_FOLLOW_LINKS].text) -+ + mbstrlen (fmd_widgets[FM_DIVE_INTO_SUBDIR].text) + 15; - fmd_xlen = max (fmd_xlen, len); - -- len = strlen (fmd_widgets[FMCB12].text) -- + strlen (fmd_widgets[FMCB22].text) + 15; -+ len = mbstrlen (fmd_widgets[FM_PRES_ATTR].text) -+ + mbstrlen (fmd_widgets[FM_STAB_SYM].text) + 15; - fmd_xlen = max (fmd_xlen, len); - -- len = strlen (fmd_widgets[FMBRGT].text) -- + strlen (fmd_widgets[FMBLFT].text) + 11; -+ len = mbstrlen (fmd_widgets[FM_CANCEL].text) -+ + mbstrlen (fmd_widgets[FM_OK].text) + 11; - --#ifdef FMBMID -- len += strlen (fmd_widgets[FMBMID].text) + 6; -+#ifdef FM_BKGND -+ len += mbstrlen (fmd_widgets[FM_BKGND].text) + 6; - #endif - - fmd_xlen = max (fmd_xlen, len + 4); - - len = (fmd_xlen - (len + 6)) / 2; -- i = fmd_widgets[FMBLFT].relative_x = len + 3; -- i += strlen (fmd_widgets[FMBLFT].text) + 8; -+ i = fmd_widgets[FM_OK].relative_x = len + 3; -+ i += mbstrlen (fmd_widgets[FM_OK].text) + 8; - --#ifdef FMBMID -- fmd_widgets[FMBMID].relative_x = i; -- i += strlen (fmd_widgets[FMBMID].text) + 6; -+#ifdef FM_BKGND -+ fmd_widgets[FM_BKGND].relative_x = i; -+ i += mbstrlen (fmd_widgets[FM_BKGND].text) + 6; - #endif - -- fmd_widgets[FMBRGT].relative_x = i; -+ fmd_widgets[FM_CANCEL].relative_x = i; - - #define chkbox_xpos(i) \ -- fmd_widgets [i].relative_x = fmd_xlen - strlen (fmd_widgets [i].text) - 6 -+ fmd_widgets [i].relative_x = fmd_xlen - mbstrlen (fmd_widgets [i].text) - 6 - -- chkbox_xpos (FMCB0); -- chkbox_xpos (FMCB21); -- chkbox_xpos (FMCB22); -+ chkbox_xpos (FM_USING_SHELL_PATT); -+ chkbox_xpos (FM_DIVE_INTO_SUBDIR); -+ chkbox_xpos (FM_STAB_SYM); - - if (fmd_xlen != FMD_XLEN) { - i = sizeof (fmd_widgets) / sizeof (fmd_widgets[0]) - 1; - while (i--) - fmd_widgets[i].x_divisions = fmd_xlen; - -- fmd_widgets[FMDI1].hotkey_pos = -- fmd_widgets[FMDI2].hotkey_pos = fmd_xlen - 6; -+ fmd_widgets[FM_SRC_INPUT].hotkey_pos = -+ fmd_widgets[FM_DST_INPUT].hotkey_pos = fmd_xlen - 6; - } - #undef chkbox_xpos - -@@ -856,7 +883,7 @@ - - char * - file_mask_dialog (FileOpContext *ctx, FileOperation operation, const char *text, -- const char *def_text, int only_one, int *do_background) -+ const char *def_text_orig, int only_one, int *do_background) - { - int source_easy_patterns = easy_patterns; - char *source_mask, *orig_mask, *dest_dir, *tmpdest; -@@ -865,20 +892,32 @@ - struct stat buf; - int val; - QuickDialog Quick_input; -- -+ char *def_text; -+#ifdef HAVE_CHARSET -+ char *errmsg; -+#endif - g_return_val_if_fail (ctx != NULL, NULL); -+ -+ def_text = g_strdup(def_text_orig); -+ - #if 0 - message (1, __FUNCTION__, "text = `%s' \n def_text = `%s'", text, - def_text); - #endif -+ -+#ifdef UTF8 -+ fix_utf8(def_text); -+#endif -+ - fmd_init_i18n (FALSE); - - /* Set up the result pointers */ - -- fmd_widgets[FMCB12].result = &ctx->op_preserve; -- fmd_widgets[FMCB11].result = &ctx->follow_links; -- fmd_widgets[FMCB22].result = &ctx->stable_symlinks; -- fmd_widgets[FMCB21].result = &ctx->dive_into_subdirs; -+ fmd_widgets[FM_PRES_ATTR].result = &ctx->op_preserve; -+ fmd_widgets[FM_FOLLOW_LINKS].result = &ctx->follow_links; -+ fmd_widgets[FM_STAB_SYM].result = &ctx->stable_symlinks; -+ fmd_widgets[FM_DIVE_INTO_SUBDIR].result = &ctx->dive_into_subdirs; -+ - - /* filter out a possible password from def_text */ - def_text_secure = strip_password (g_strdup (def_text), 1); -@@ -886,8 +925,9 @@ - /* Create the dialog */ - - ctx->stable_symlinks = 0; -- fmd_widgets[FMDC].result = &source_easy_patterns; -- fmd_widgets[FMDI1].text = easy_patterns ? "*" : "^\\(.*\\)$"; -+ fmd_widgets[FM_USING_SHELL_PATT].result = &source_easy_patterns; -+ fmd_widgets[FM_SRC_INPUT].text = easy_patterns ? "*" : "^\\(.*\\)$"; -+ - Quick_input.xlen = fmd_xlen; - Quick_input.xpos = -1; - Quick_input.title = op_names[operation]; -@@ -895,19 +935,34 @@ - Quick_input.ylen = FMDY; - Quick_input.i18n = 1; - Quick_input.widgets = fmd_widgets; -- fmd_widgets[FMDI0].text = text; -- fmd_widgets[FMDI2].text = def_text_secure; -- fmd_widgets[FMDI2].str_result = &dest_dir; -- fmd_widgets[FMDI1].str_result = &source_mask; -+ fmd_widgets[FM_SRC_TITLE].text = text; -+ fmd_widgets[FM_DST_INPUT].text = def_text_secure; -+ fmd_widgets[FM_DST_INPUT].str_result = &dest_dir; -+ fmd_widgets[FM_SRC_INPUT].str_result = &source_mask; - - *do_background = 0; -+ -+#ifdef HAVE_CHARSET -+ ctx->from_codepage=current_panel->src_codepage; -+ ctx->to_codepage=left_panel->src_codepage; -+ if(current_panel==left_panel) ctx->to_codepage=right_panel->src_codepage; -+#endif -+ - ask_file_mask: - -+#ifdef HAVE_CHARSET -+ if(operation!=OP_COPY && operation!=OP_MOVE) { -+ ctx->from_codepage=-1; -+ ctx->to_codepage=-1; -+ } -+ fmd_widgets[FM_FROM_CODEPAGE].text=get_codepage_id(ctx->from_codepage); -+ fmd_widgets[FM_TO_CODEPAGE].text=get_codepage_id(ctx->to_codepage); -+#endif -+ - if ((val = quick_dialog_skip (&Quick_input, SKIP)) == B_CANCEL) { - g_free (def_text_secure); - return 0; - } -- g_free (def_text_secure); - - if (ctx->follow_links) - ctx->stat_func = (mc_stat_fn) mc_stat; -@@ -929,6 +984,8 @@ - orig_mask = source_mask; - if (!dest_dir || !*dest_dir) { - g_free (source_mask); -+ g_free (def_text_secure); -+ g_free(def_text); - return dest_dir; - } - if (source_easy_patterns) { -@@ -982,5 +1039,48 @@ - } - if (val == B_USER) - *do_background = 1; -+#ifdef HAVE_CHARSET -+ if(val == B_FROM) { -+ if(operation==OP_COPY || operation==OP_MOVE) { -+ if(display_codepage<=0) { -+ message( 1, _(" Warning "), -+ _("To use this feature select your codepage in\n" -+ "Setup / Display Bits dialog!\n" -+ "Do not forget to save options." )); -+ goto ask_file_mask; -+ } -+ ctx->from_codepage=select_charset(ctx->from_codepage,0, -+ _(" Choose \"FROM\" codepage for COPY/MOVE operaion ")); -+ } -+ else -+ message(1,"Warning",_("Recoding works only with COPY or MOVE operation")); -+ goto ask_file_mask; -+ } -+ if(val == B_TO) { -+ if(operation==OP_COPY || operation==OP_MOVE) { -+ if(display_codepage<=0) { -+ message( 1, _(" Warning "), -+ _("To use this feature select your codepage in\n" -+ "Setup / Display Bits dialog!\n" -+ "Do not forget to save options." )); -+ goto ask_file_mask; -+ } -+ ctx->to_codepage=select_charset(ctx->to_codepage,0, -+ _(" Choose \"TO\" codepage for COPY/MOVE operaion ")); -+ } -+ else -+ message(1,"Warning",_("Recoding works only with COPY or MOVE operation")); -+ goto ask_file_mask; -+ } -+ -+ errmsg=my_init_tt(ctx->to_codepage,ctx->from_codepage,ctx->tr_table); -+ if(errmsg) { -+ my_reset_tt(ctx->tr_table,256); -+ message( 1, MSG_ERROR, "%s", errmsg); -+ } -+#endif -+ -+ g_free(def_text_secure); -+ g_free(def_text); - return dest_dir; - } -diff -urN mc-4.6.1.orig/src/fileopctx.c mc-4.6.1/src/fileopctx.c ---- mc-4.6.1.orig/src/fileopctx.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/fileopctx.c 2007-01-19 18:33:59.000000000 +0500 -@@ -24,8 +24,12 @@ - #include - - #include "global.h" --#include "fileopctx.h" - -+#ifdef HAVE_CHARSET -+#include "recode.h" -+#endif -+ -+#include "fileopctx.h" - - /** - * file_op_context_new: -@@ -52,6 +56,12 @@ - ctx->umask_kill = 0777777; - ctx->erase_at_end = TRUE; - -+#ifdef HAVE_CHARSET -+ ctx->from_codepage=-1; -+ ctx->to_codepage=-1; -+ my_reset_tt(ctx->tr_table,256); -+#endif -+ - return ctx; - } - -diff -urN mc-4.6.1.orig/src/fileopctx.h mc-4.6.1/src/fileopctx.h ---- mc-4.6.1.orig/src/fileopctx.h 2004-10-07 00:06:26.000000000 +0600 -+++ mc-4.6.1/src/fileopctx.h 2007-01-19 18:33:59.000000000 +0500 -@@ -108,6 +108,14 @@ - /* User interface data goes here */ - - void *ui; -+ -+#ifdef HAVE_CHARSET -+ /* Recode data */ -+ int from_codepage, to_codepage; -+ unsigned char tr_table[256]; -+ unsigned char recode_buf[MC_MAXPATHLEN]; -+#endif -+ - } FileOpContext; - - -diff -urN mc-4.6.1.orig/src/find.c mc-4.6.1/src/find.c ---- mc-4.6.1.orig/src/find.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/find.c 2007-01-19 18:33:58.000000000 +0500 -@@ -205,7 +205,7 @@ - int l1, maxlen = 0; - - while (i--) { -- l1 = strlen (labs[i] = _(labs[i])); -+ l1 = mbstrlen (labs[i] = _(labs[i])); - if (l1 > maxlen) - maxlen = l1; - } -@@ -214,7 +214,7 @@ - FIND_X = i; - - for (i = sizeof (buts) / sizeof (buts[0]), l1 = 0; i--;) { -- l1 += strlen (buts[i] = _(buts[i])); -+ l1 += mbstrlen (buts[i] = _(buts[i])); - } - l1 += 21; - if (l1 > FIND_X) -@@ -223,8 +223,8 @@ - ilen = FIND_X - 7 - maxlen; /* for the case of very long buttons :) */ - istart = FIND_X - 3 - ilen; - -- b1 = b0 + strlen (buts[0]) + 7; -- b2 = FIND_X - (strlen (buts[2]) + 6); -+ b1 = b0 + mbstrlen (buts[0]) + 7; -+ b2 = FIND_X - (mbstrlen (buts[2]) + 6); - - i18n_flag = 1; - case_label = _(case_label); -@@ -813,7 +813,7 @@ - if (!i18n_flag) { - register int i = sizeof (fbuts) / sizeof (fbuts[0]); - while (i--) -- fbuts[i].len = strlen (fbuts[i].text = _(fbuts[i].text)) + 3; -+ fbuts[i].len = mbstrlen (fbuts[i].text = _(fbuts[i].text)) + 3; - fbuts[2].len += 2; /* DEFPUSH_BUTTON */ - i18n_flag = 1; - } -diff -urN mc-4.6.1.orig/src/global.h mc-4.6.1/src/global.h ---- mc-4.6.1.orig/src/global.h 2004-09-25 19:46:23.000000000 +0600 -+++ mc-4.6.1/src/global.h 2007-01-19 18:33:58.000000000 +0500 -@@ -146,6 +146,13 @@ - # define N_(String) (String) - #endif /* !ENABLE_NLS */ - -+#include -+#if SLANG_VERSION >= 20000 -+#define UTF8 1 -+#define SLsmg_Is_Unicode SLsmg_is_utf8_mode() -+void SLsmg_write_nwchars(wchar_t *s, size_t n); -+#endif -+ - #include "fs.h" - #include "util.h" - -diff -urN mc-4.6.1.orig/src/help.c mc-4.6.1/src/help.c ---- mc-4.6.1.orig/src/help.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/help.c 2007-01-19 18:33:59.000000000 +0500 -@@ -445,10 +445,28 @@ - #ifndef HAVE_SLANG - addch (acs_map [c]); - #else -+#if defined(UTF8) && SLANG_VERSION < 20000 -+ SLsmg_draw_object (h->y + line + 2, h->x + col + 2, acs_map [c]); -+#else - SLsmg_draw_object (h->y + line + 2, h->x + col + 2, c); -+#endif /* UTF8 */ - #endif -+ } else { -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ int len; -+ mbstate_t mbs; -+ wchar_t wc; -+ memset (&mbs, 0, sizeof (mbs)); -+ len = mbrtowc(&wc, p, MB_CUR_MAX, &mbs); -+ if (len <= 0) len = 1; /* skip broken multibyte chars */ -+ -+ SLsmg_write_nwchars(&wc, 1); -+ p += len - 1; - } else -+#endif - addch (c); -+ } - col++; - break; - } -@@ -771,6 +789,12 @@ - message (1, MSG_ERROR, _(" Cannot open file %s \n %s "), filename ? filename : hlpfile, - unix_error_string (errno)); - } -+ else -+ { -+ char *conv = utf8_to_local(data); -+ g_free(data); -+ data = conv; -+ } - - if (!filename) - g_free (hlpfile); -diff -urN mc-4.6.1.orig/src/hotlist.c mc-4.6.1/src/hotlist.c ---- mc-4.6.1.orig/src/hotlist.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/hotlist.c 2007-01-19 18:33:58.000000000 +0500 -@@ -555,7 +555,7 @@ - - row = hotlist_but [i].y; - ++count [row]; -- len [row] += strlen (hotlist_but [i].text) + 5; -+ len [row] += mbstrlen (hotlist_but [i].text) + 5; - if (hotlist_but [i].flags == DEFPUSH_BUTTON) - len [row] += 2; - } -@@ -580,12 +580,12 @@ - /* not first int the row */ - if (!strcmp (hotlist_but [i].text, cancel_but)) - hotlist_but [i].x = -- cols - strlen (hotlist_but [i].text) - 13; -+ cols - mbstrlen (hotlist_but [i].text) - 13; - else - hotlist_but [i].x = cur_x [row]; - } - -- cur_x [row] += strlen (hotlist_but [i].text) + 2 -+ cur_x [row] += mbstrlen (hotlist_but [i].text) + 2 - + (hotlist_but [i].flags == DEFPUSH_BUTTON ? 5 : 3); - } - } -@@ -814,7 +814,7 @@ - for (i = 0; i < 3; i++) - { - qw [i].text = _(qw [i].text); -- l[i] = strlen (qw [i].text) + 3; -+ l[i] = mbstrlen (qw [i].text) + 3; - } - space = (len - 4 - l[0] - l[1] - l[2]) / 4; - -@@ -860,7 +860,7 @@ - static int i18n_flag = 0; - #endif /* ENABLE_NLS */ - -- len = max (strlen (header), (size_t) msglen (text1, &lines1)); -+ len = max ((int) mbstrlen (header), (size_t) msglen (text1, &lines1)); - len = max (len, (size_t) msglen (text2, &lines2)) + 4; - len = max (len, 64); - -@@ -955,7 +955,7 @@ - static int i18n_flag = 0; - #endif /* ENABLE_NLS */ - -- len = max (strlen (header), (size_t) msglen (label, &lines)) + 4; -+ len = max ((int) mbstrlen (header), (size_t) msglen (label, &lines)) + 4; - len = max (len, 64); - - #ifdef ENABLE_NLS -@@ -1011,7 +1011,7 @@ - { - char *prompt, *label; - const char *cp = _("Label for \"%s\":"); -- int l = strlen (cp); -+ int l = mbstrlen (cp); - char *label_string = g_strdup (current_panel->cwd); - - strip_password (label_string, 1); -diff -urN mc-4.6.1.orig/src/layout.c mc-4.6.1/src/layout.c ---- mc-4.6.1.orig/src/layout.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/layout.c 2007-01-19 18:33:58.000000000 +0500 -@@ -362,36 +362,36 @@ - - while (i--) { - s_split_direction[i] = _(s_split_direction[i]); -- l1 = strlen (s_split_direction[i]) + 7; -+ l1 = mbstrlen (s_split_direction[i]) + 7; - if (l1 > first_width) - first_width = l1; - } - - for (i = 0; i <= 8; i++) { - check_options[i].text = _(check_options[i].text); -- l1 = strlen (check_options[i].text) + 7; -+ l1 = mbstrlen (check_options[i].text) + 7; - if (l1 > first_width) - first_width = l1; - } - -- l1 = strlen (title1) + 1; -+ l1 = mbstrlen (title1) + 1; - if (l1 > first_width) - first_width = l1; - -- l1 = strlen (title2) + 1; -+ l1 = mbstrlen (title2) + 1; - if (l1 > first_width) - first_width = l1; - - -- second_width = strlen (title3) + 1; -+ second_width = mbstrlen (title3) + 1; - for (i = 0; i < 6; i++) { - check_options[i].text = _(check_options[i].text); -- l1 = strlen (check_options[i].text) + 7; -+ l1 = mbstrlen (check_options[i].text) + 7; - if (l1 > second_width) - second_width = l1; - } - if (console_flag) { -- l1 = strlen (output_lines_label) + 13; -+ l1 = mbstrlen (output_lines_label) + 13; - if (l1 > second_width) - second_width = l1; - } -@@ -405,14 +405,14 @@ - * - * Now the last thing to do - properly space buttons... - */ -- l1 = 11 + strlen (ok_button) /* 14 - all brackets and inner space */ -- +strlen (save_button) /* notice: it is 3 char less because */ -- +strlen (cancel_button); /* of '&' char in button text */ -+ l1 = 11 + mbstrlen (ok_button) /* 14 - all brackets and inner space */ -+ +mbstrlen (save_button) /* notice: it is 3 char less because */ -+ +mbstrlen (cancel_button); /* of '&' char in button text */ - - i = (first_width + second_width - l1) / 4; - b1 = 5 + i; -- b2 = b1 + strlen (ok_button) + i + 6; -- b3 = b2 + strlen (save_button) + i + 4; -+ b2 = b1 + mbstrlen (ok_button) + i + 6; -+ b3 = b2 + mbstrlen (save_button) + i + 4; - - i18n_layt_flag = 1; - } -@@ -684,7 +684,7 @@ - panel_do_cols (0); - panel_do_cols (1); - -- promptl = strlen (prompt); -+ promptl = mbstrlen (prompt); - - widget_set_size (&the_menubar->widget, 0, 0, 1, COLS); - -diff -urN mc-4.6.1.orig/src/learn.c mc-4.6.1/src/learn.c ---- mc-4.6.1.orig/src/learn.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/learn.c 2007-01-19 18:33:59.000000000 +0500 -@@ -236,7 +236,7 @@ - learn_but[0].x = 78 / 2 + 4; - - learn_but[1].text = _(learn_but[1].text); -- learn_but[1].x = 78 / 2 - (strlen (learn_but[1].text) + 9); -+ learn_but[1].x = 78 / 2 - (mbstrlen (learn_but[1].text) + 9); - - learn_title = _(learn_title); - i18n_flag = 1; -diff -urN mc-4.6.1.orig/src/main.c mc-4.6.1/src/main.c ---- mc-4.6.1.orig/src/main.c 2005-07-23 22:52:02.000000000 +0600 -+++ mc-4.6.1/src/main.c 2007-01-19 18:33:59.000000000 +0500 -@@ -86,6 +86,7 @@ - - #ifdef HAVE_CHARSET - #include "charsets.h" -+#include "recode.h" - #endif /* HAVE_CHARSET */ - - #ifdef USE_VFS -@@ -102,6 +103,7 @@ - /* The structures for the panels */ - WPanel *left_panel = NULL; - WPanel *right_panel = NULL; -+WPanel* ret_panel=NULL; - - /* The pointer to the tree */ - WTree *the_tree = NULL; -@@ -274,6 +276,9 @@ - /* The user's shell */ - const char *shell = NULL; - -+/* Is the LANG UTF-8 ? */ -+gboolean is_utf8 = FALSE; -+ - /* mc_home: The home of MC */ - char *mc_home = NULL; - -@@ -585,6 +590,7 @@ - } - directory = *new_dir ? new_dir : home_dir; - -+ ret_panel=panel; - if (mc_chdir (directory) == -1) { - strcpy (panel->cwd, olddir); - g_free (olddir); -@@ -798,6 +804,10 @@ - {' ', N_("&Quick view C-x q"), 'Q', quick_view_cmd}, - {' ', N_("&Info C-x i"), 'I', info_cmd}, - {' ', N_("&Tree"), 'T', tree_cmd}, -+#ifdef HAVE_CHARSET -+ {' ', "", ' ', 0}, -+ {' ', N_("Panel &codepage"), 'C', fnc_l_cmd}, -+#endif - {' ', "", ' ', 0}, - {' ', N_("&Sort order..."), 'S', sort_cmd}, - {' ', "", ' ', 0}, -@@ -822,6 +832,10 @@ - {' ', N_("&Quick view C-x q"), 'Q', quick_view_cmd}, - {' ', N_("&Info C-x i"), 'I', info_cmd}, - {' ', N_("&Tree"), 'T', tree_cmd}, -+#ifdef HAVE_CHARSET -+ {' ', "", ' ', 0}, -+ {' ', N_("Panel &codepage"), 'C', fnc_r_cmd}, -+#endif - {' ', "", ' ', 0}, - {' ', N_("&Sort order..."), 'S', sort_cmd}, - {' ', "", ' ', 0}, -@@ -1600,21 +1614,49 @@ - - #define xtoolkit_panel_setup() - --/* Show current directory in the xterm title */ -+/* Show hostname and current directory in the xterm title */ - void - update_xterm_title_path (void) - { - unsigned char *p, *s; -+ char *pvp; -+ size_t pvlen; -+ int pvresult; - - if (xterm_flag && xterm_title) { -+ // currrent path - p = s = g_strdup (strip_home_and_password (current_panel->cwd)); -+ // hostname -+ pvlen = strlen(p); -+ pvp = g_malloc (pvlen + 64); //approach - max hostname length -+ pvresult = gethostname(pvp, 63); -+ if (pvresult) { // print just current path -+ g_free (pvp); -+ pvp = p; -+ } else { -+ s = pvp; -+ do { // merge hostname with path -+ if (!is_printable (*s)) -+ *s = '?'; -+ } while (*++s!=0x00); -+ *s++=':'; -+ strcpy (s, p); -+ g_free (p); -+ } -+ - do { -+#ifndef UTF8 - if (!is_printable (*s)) -+#else /* UTF8 */ -+ if (*s < ' ') -+#endif /* UTF8 */ - *s = '?'; - } while (*++s); -- fprintf (stdout, "\33]0;mc - %s\7", p); -+// fprintf (stdout, "\33]0;mc - %s\7", p); -+ fprintf (stdout, "\33]0;mc - %s\7", pvp); - fflush (stdout); -- g_free (p); -+// g_free (p); -+ g_free (pvp); - } - } - -@@ -2136,6 +2178,16 @@ - /* if on, it displays the information that files have been moved to ~/.mc */ - int show_change_notice = 0; - -+ /* Check whether we have UTF-8 locale */ -+ char *lang = getenv("LANG"); -+ size_t len = 0; -+ -+ if ( lang ) -+ len = strlen(lang); -+ -+ if ( len >= 5 && !strcasecmp(&lang[len-5],"UTF-8") ) -+ is_utf8 = TRUE; -+ - /* We had LC_CTYPE before, LC_ALL includs LC_TYPE as well */ - setlocale (LC_ALL, ""); - bindtextdomain ("mc", LOCALEDIR); -diff -urN mc-4.6.1.orig/src/main.h mc-4.6.1/src/main.h ---- mc-4.6.1.orig/src/main.h 2005-07-01 21:47:06.000000000 +0600 -+++ mc-4.6.1/src/main.h 2007-01-19 18:33:59.000000000 +0500 -@@ -64,6 +64,7 @@ - extern int only_leading_plus_minus; - extern int output_starts_shell; - extern int midnight_shutdown; -+extern gboolean is_utf8; - extern char cmd_buf [512]; - extern const char *shell; - -diff -urN mc-4.6.1.orig/src/Makefile.am mc-4.6.1/src/Makefile.am ---- mc-4.6.1.orig/src/Makefile.am 2005-06-08 18:27:19.000000000 +0600 -+++ mc-4.6.1/src/Makefile.am 2007-01-19 18:33:59.000000000 +0500 -@@ -40,7 +40,8 @@ - mc_LDADD = $(EDITLIB) $(SLANGLIB) $(VFSLIB) \ - $(INTLLIBS) $(GLIB_LIBS) $(MCLIBS) $(LIBICONV) - --CHARSET_SRC = charsets.c charsets.h selcodepage.c selcodepage.h -+CHARSET_SRC = charsets.c charsets.h selcodepage.c selcodepage.h \ -+ recode.c recode.h - - SRCS = achown.c achown.h background.c background.h boxes.c boxes.h \ - chmod.c chmod.h chown.c chown.h cmd.c cmd.h color.c color.h \ -@@ -55,8 +56,8 @@ - menu.c menu.h mountlist.c mountlist.h mouse.c mouse.h myslang.h \ - option.c option.h panel.h panelize.c panelize.h poptalloca.h \ - popt.c poptconfig.c popt.h popthelp.c poptint.h poptparse.c \ -- profile.c profile.h regex.c rxvt.c screen.c setup.c setup.h \ -- slint.c subshell.c subshell.h textconf.c textconf.h \ -+ profile.c profile.h regex.c rxvt.c screen.c screen.h setup.c \ -+ setup.h slint.c subshell.c subshell.h textconf.c textconf.h \ - tree.c tree.h treestore.c treestore.h tty.h user.c user.h \ - util.c util.h utilunix.c view.c view.h vfsdummy.h widget.c \ - widget.h win.c win.h wtools.c wtools.h \ -diff -urN mc-4.6.1.orig/src/Makefile.in mc-4.6.1/src/Makefile.in ---- mc-4.6.1.orig/src/Makefile.in 2005-07-23 22:53:15.000000000 +0600 -+++ mc-4.6.1/src/Makefile.in 2007-01-19 18:33:59.000000000 +0500 -@@ -84,12 +84,12 @@ - mouse.c mouse.h myslang.h option.c option.h panel.h panelize.c \ - panelize.h poptalloca.h popt.c poptconfig.c popt.h popthelp.c \ - poptint.h poptparse.c profile.c profile.h regex.c rxvt.c \ -- screen.c setup.c setup.h slint.c subshell.c subshell.h \ -+ screen.c screen.h setup.c setup.h slint.c subshell.c subshell.h \ - textconf.c textconf.h tree.c tree.h treestore.c treestore.h \ - tty.h user.c user.h util.c util.h utilunix.c view.c view.h \ - vfsdummy.h widget.c widget.h win.c win.h wtools.c wtools.h \ - x11conn.h x11conn.c charsets.c charsets.h selcodepage.c \ -- selcodepage.h -+ selcodepage.h recode.c recode.h - am__objects_1 = achown.$(OBJEXT) background.$(OBJEXT) boxes.$(OBJEXT) \ - chmod.$(OBJEXT) chown.$(OBJEXT) cmd.$(OBJEXT) color.$(OBJEXT) \ - command.$(OBJEXT) complete.$(OBJEXT) cons.handler.$(OBJEXT) \ -@@ -109,7 +109,8 @@ - util.$(OBJEXT) utilunix.$(OBJEXT) view.$(OBJEXT) \ - widget.$(OBJEXT) win.$(OBJEXT) wtools.$(OBJEXT) \ - x11conn.$(OBJEXT) --am__objects_2 = charsets.$(OBJEXT) selcodepage.$(OBJEXT) -+am__objects_2 = charsets.$(OBJEXT) selcodepage.$(OBJEXT) recode.$(OBJEXT) -+ - @CHARSET_FALSE@am_mc_OBJECTS = $(am__objects_1) - @CHARSET_TRUE@am_mc_OBJECTS = $(am__objects_1) $(am__objects_2) - mc_OBJECTS = $(am_mc_OBJECTS) -@@ -342,7 +343,8 @@ - mc_LDADD = $(EDITLIB) $(SLANGLIB) $(VFSLIB) \ - $(INTLLIBS) $(GLIB_LIBS) $(MCLIBS) $(LIBICONV) - --CHARSET_SRC = charsets.c charsets.h selcodepage.c selcodepage.h -+CHARSET_SRC = charsets.c charsets.h selcodepage.c selcodepage.h \ -+ recode.c recode.h - SRCS = achown.c achown.h background.c background.h boxes.c boxes.h \ - chmod.c chmod.h chown.c chown.h cmd.c cmd.h color.c color.h \ - command.c command.h complete.c complete.h cons.handler.c \ -@@ -356,8 +358,8 @@ - menu.c menu.h mountlist.c mountlist.h mouse.c mouse.h myslang.h \ - option.c option.h panel.h panelize.c panelize.h poptalloca.h \ - popt.c poptconfig.c popt.h popthelp.c poptint.h poptparse.c \ -- profile.c profile.h regex.c rxvt.c screen.c setup.c setup.h \ -- slint.c subshell.c subshell.h textconf.c textconf.h \ -+ profile.c profile.h regex.c rxvt.c screen.c screen.h setup.c \ -+ setup.h slint.c subshell.c subshell.h textconf.c textconf.h \ - tree.c tree.h treestore.c treestore.h tty.h user.c user.h \ - util.c util.h utilunix.c view.c view.h vfsdummy.h widget.c \ - widget.h win.c win.h wtools.c wtools.h \ -diff -urN mc-4.6.1.orig/src/menu.c mc-4.6.1/src/menu.c ---- mc-4.6.1.orig/src/menu.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/menu.c 2007-01-19 18:33:59.000000000 +0500 -@@ -20,6 +20,8 @@ - #include - #include - #include -+#include -+ - #include "global.h" - #include "tty.h" - #include "menu.h" -@@ -50,33 +52,96 @@ - { - Menu *menu; - const char *cp; -+ int wlen = 0; -+ mbstate_t s; - - menu = (Menu *) g_malloc (sizeof (*menu)); - menu->count = count; - menu->max_entry_len = 20; - menu->entries = entries; -+ menu->name = g_strdup (name); -+ menu_scan_hotkey (menu); -+#ifdef UTF8 -+ menu->wentries = NULL; -+ menu->wname = NULL; -+ if (SLsmg_Is_Unicode) { -+ const char *str = menu->name; -+ memset (&s, 0, sizeof (s)); -+ wlen = mbsrtowcs (NULL, &str, -1, &s); -+ if (wlen > 0) -+ ++wlen; -+ else { -+ wlen = 0; -+ memset (&s, 0, sizeof (s)); -+ } -+ } -+#endif - - if (entries != (menu_entry*) NULL) { - register menu_entry* mp; - for (mp = entries; count--; mp++) { - if (mp->text[0] != '\0') { -+ int len; - #ifdef ENABLE_NLS - mp->text = _(mp->text); - #endif /* ENABLE_NLS */ - cp = strchr (mp->text,'&'); - -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ len = mbstrlen(mp->text) + 1; -+ wlen += len; -+ menu->max_entry_len = max (len - 1, menu->max_entry_len); -+ } else -+#endif -+ len = strlen (mp->text); -+ - if (cp != NULL && *(cp+1) != '\0') { - mp->hot_key = tolower (*(cp+1)); -- menu->max_entry_len = max ((int) (strlen (mp->text) - 1), -- menu->max_entry_len); -+ menu->max_entry_len = max (len - 1, menu->max_entry_len); - } else { -- menu->max_entry_len = max ((int) strlen (mp->text), -- menu->max_entry_len); -+ menu->max_entry_len = max (len, menu->max_entry_len); - } - } - } - } - -+#ifdef UTF8 -+ if (wlen) { -+ wchar_t *wp; -+ const char *str; -+ int len; -+ -+ menu->wentries = (wchar_t **) -+ g_malloc (sizeof (wchar_t *) * menu->count -+ + wlen * sizeof (wchar_t)); -+ wp = (wchar_t *) (menu->wentries + menu->count); -+ str = menu->name; -+ len = mbsrtowcs (wp, &str, wlen, &s); -+ if (len > 0) { -+ menu->wname = wp; -+ wlen -= len + 1; -+ wp += len + 1; -+ } else -+ memset (&s, 0, sizeof (s)); -+ if (menu->entries != NULL) -+ for (count = 0; count < menu->count; ++count) -+ if (menu->entries[count].text[0] != '\0') { -+ str = menu->entries[count].text; -+ menu->wentries[count] = wp; -+ len = mbsrtowcs (wp, &str, wlen, &s); -+ if (len > 0) { -+ wlen -= len + 1; -+ wp += len + 1; -+ } else { -+ memset (&s, 0, sizeof (s)); -+ *wp++ = L'\0'; -+ --wlen; -+ } -+ } -+ } -+#endif -+ - menu->name = g_strdup (name); - menu_scan_hotkey(menu); - menu->start_x = 0; -@@ -109,8 +174,26 @@ - const unsigned char *text; - - addch((unsigned char)menu->entries [idx].first_letter); -- for (text = menu->entries [idx].text; *text; text++) -- { -+#ifdef UTF8 -+ if (menu->wentries) { -+ wchar_t *wtext, *wp; -+ -+ for (wtext = wp = menu->wentries [idx]; *wtext; wtext++) { -+ if (*wtext == L'&') { -+ if (wtext > wp) -+ SLsmg_write_nwchars (wp, wtext - wp); -+ attrset (color == MENU_SELECTED_COLOR ? -+ MENU_HOTSEL_COLOR : MENU_HOT_COLOR); -+ SLsmg_write_nwchars (++wtext, 1); -+ attrset (color); -+ wp = wtext + 1; -+ } -+ } -+ if (wtext > wp) -+ SLsmg_write_nwchars (wp, wtext - wp); -+ } else -+#endif -+ for (text = menu->entries [idx].text; *text; text++) { - if (*text != '&') - addch(*text); - else { -@@ -119,7 +202,7 @@ - addch(*(++text)); - attrset(color); - } -- } -+ } - } - widget_move (&menubar->widget, y, x + 1); - } -@@ -167,7 +250,13 @@ - if (menubar->active) - attrset(i == menubar->selected?MENU_SELECTED_COLOR:SELECTED_COLOR); - widget_move (&menubar->widget, 0, menubar->menu [i]->start_x); -- printw ("%s", menubar->menu [i]->name); -+#ifdef UTF8 -+ if (menubar->menu [i]->wname) -+ SLsmg_write_nwchars (menubar->menu [i]->wname, -+ wcslen (menubar->menu [i]->wname)); -+ else -+#endif -+ printw ("%s", menubar->menu [i]->name); - } - - if (menubar->dropped) -@@ -489,7 +578,13 @@ - - for (i = 0; i < items; i++) - { -- int len = strlen(menubar->menu[i]->name); -+ int len; -+#ifdef UTF8 -+ if (menubar->menu[i]->wname) -+ len = wcslen (menubar->menu[i]->wname); -+ else -+#endif -+ len = strlen(menubar->menu[i]->name); - menubar->menu[i]->start_x = start_x; - start_x += len + gap; - } -@@ -502,7 +597,13 @@ - for (i = 0; i < items; i++) - { - /* preserve length here, to be used below */ -- gap -= (menubar->menu[i]->start_x = strlen(menubar->menu[i]->name)); -+#ifdef UTF8 -+ if (menubar->menu[i]->wname) -+ menubar->menu[i]->start_x = wcslen (menubar->menu[i]->wname); -+ else -+#endif -+ menubar->menu[i]->start_x = strlen (menubar->menu[i]->name); -+ gap -= menubar->menu[i]->start_x; - } - - gap /= (items - 1); -@@ -526,6 +627,9 @@ - void - destroy_menu (Menu *menu) - { -+#ifdef UTF8 -+ g_free (menu->wentries); -+#endif - g_free (menu->name); - g_free (menu->help_node); - g_free (menu); -diff -urN mc-4.6.1.orig/src/menu.h mc-4.6.1/src/menu.h ---- mc-4.6.1.orig/src/menu.h 2004-09-18 20:30:59.000000000 +0600 -+++ mc-4.6.1/src/menu.h 2007-01-19 18:33:59.000000000 +0500 -@@ -21,6 +21,8 @@ - menu_entry *entries; - int start_x; /* position relative to menubar start */ - char *help_node; -+ wchar_t **wentries; -+ wchar_t *wname; - } Menu; - - extern int menubar_visible; -diff -urN mc-4.6.1.orig/src/mountlist.c mc-4.6.1/src/mountlist.c ---- mc-4.6.1.orig/src/mountlist.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/mountlist.c 2007-01-19 18:33:59.000000000 +0500 -@@ -132,11 +132,19 @@ - - struct fs_usage - { -+#ifndef HAVE_SYS_STATVFS_H - long fsu_blocks; /* Total blocks. */ - long fsu_bfree; /* Free blocks available to superuser. */ - long fsu_bavail; /* Free blocks available to non-superuser. */ - long fsu_files; /* Total file nodes. */ - long fsu_ffree; /* Free file nodes. */ -+#else /* We have sys/statvfs.h, use proper data types when _FILE_OFFSET_BITS=64 */ -+ fsblkcnt_t fsu_blocks; -+ fsblkcnt_t fsu_bfree; -+ fsblkcnt_t fsu_bavail; -+ fsblkcnt_t fsu_files; -+ fsblkcnt_t fsu_ffree; -+#endif /* HAVE_SYS_STATVFS_H */ - }; - - static int get_fs_usage (char *path, struct fs_usage *fsp); -@@ -663,6 +671,7 @@ - BLOCKS FROMSIZE-byte blocks, rounding away from zero. - TOSIZE must be positive. Return -1 if FROMSIZE is not positive. */ - -+#if !defined(HAVE_SYS_STATFS_H) || !defined(STAT_STATVFS) - static long - fs_adjust_blocks (long blocks, int fromsize, int tosize) - { -@@ -670,13 +679,21 @@ - abort (); - if (fromsize <= 0) - return -1; -- -+#else -+static fsblkcnt_t -+fs_adjust_blocks (fsblkcnt_t blocks, unsigned long fromsize, unsigned long tosize) -+{ -+ if (!tosize) -+ abort (); -+ if (!fromsize) -+ return -1; -+#endif - if (fromsize == tosize) /* E.g., from 512 to 512. */ - return blocks; - else if (fromsize > tosize) /* E.g., from 2048 to 512. */ - return blocks * (fromsize / tosize); - else /* E.g., from 256 to 512. */ -- return (blocks + (blocks < 0 ? -1 : 1)) / (tosize / fromsize); -+ return (blocks + 1) / (tosize / fromsize); - } - - #if defined(_AIX) && defined(_I386) -diff -urN mc-4.6.1.orig/src/myslang.h mc-4.6.1/src/myslang.h ---- mc-4.6.1.orig/src/myslang.h 2004-10-12 10:32:04.000000000 +0600 -+++ mc-4.6.1/src/myslang.h 2007-01-19 18:33:59.000000000 +0500 -@@ -11,6 +11,10 @@ - #endif /* HAVE_SLANG_SLANG_H */ - #endif - -+#ifdef UTF8 -+# include -+#endif -+ - enum { - KEY_BACKSPACE = 400, - KEY_END, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, -diff -urN mc-4.6.1.orig/src/option.c mc-4.6.1/src/option.c ---- mc-4.6.1.orig/src/option.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/option.c 2007-01-19 18:33:59.000000000 +0500 -@@ -124,12 +124,12 @@ - title2 = _(" Pause after run... "); - title3 = _(" Other options "); - -- first_width = strlen (title1) + 1; -- second_width = strlen (title3) + 1; -+ first_width = mbstrlen (title1) + 1; -+ second_width = mbstrlen (title3) + 1; - - for (i = 0; check_options[i].text; i++) { - check_options[i].text = _(check_options[i].text); -- l1 = strlen (check_options[i].text) + 7; -+ l1 = mbstrlen (check_options[i].text) + 7; - if (i >= OTHER_OPTIONS) { - if (l1 > first_width) - first_width = l1; -@@ -142,23 +142,23 @@ - i = PAUSE_OPTIONS; - while (i--) { - pause_options[i] = _(pause_options[i]); -- l1 = strlen (pause_options[i]) + 7; -+ l1 = mbstrlen (pause_options[i]) + 7; - if (l1 > first_width) - first_width = l1; - } - -- l1 = strlen (title2) + 1; -+ l1 = mbstrlen (title2) + 1; - if (l1 > first_width) - first_width = l1; - -- l1 = 11 + strlen (ok_button) -- + strlen (save_button) -- + strlen (cancel_button); -+ l1 = 11 + mbstrlen (ok_button) -+ + mbstrlen (save_button) -+ + mbstrlen (cancel_button); - - i = (first_width + second_width - l1) / 4; - b1 = 5 + i; -- b2 = b1 + strlen (ok_button) + i + 6; -- b3 = b2 + strlen (save_button) + i + 4; -+ b2 = b1 + mbstrlen (ok_button) + i + 6; -+ b3 = b2 + mbstrlen (save_button) + i + 4; - - i18n_config_flag = 1; - } -diff -urN mc-4.6.1.orig/src/panel.h mc-4.6.1/src/panel.h ---- mc-4.6.1.orig/src/panel.h 2004-08-29 22:55:51.000000000 +0600 -+++ mc-4.6.1/src/panel.h 2007-01-19 18:33:59.000000000 +0500 -@@ -71,6 +71,19 @@ - - int searching; - char search_buffer [256]; -+ -+#ifdef HAVE_CHARSET -+ int src_codepage; -+ unsigned char tr_table[256], tr_table_input[256]; -+#endif -+ -+#ifdef USE_VFS -+ #ifdef HAVE_CHARSET -+ int ret_codepage; -+ #endif -+ int is_return; -+ char retdir[MC_MAXPATHLEN]; -+#endif - } WPanel; - - WPanel *panel_new (const char *panel_name); -@@ -96,6 +109,7 @@ - extern WPanel *left_panel; - extern WPanel *right_panel; - extern WPanel *current_panel; -+extern WPanel* ret_panel; - - void try_to_select (WPanel *panel, const char *name); - -diff -urN mc-4.6.1.orig/src/panelize.c mc-4.6.1/src/panelize.c ---- mc-4.6.1.orig/src/panelize.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/panelize.c 2007-01-19 18:33:59.000000000 +0500 -@@ -127,7 +127,7 @@ - i = sizeof (panelize_but) / sizeof (panelize_but[0]); - while (i--) { - panelize_but[i].text = _(panelize_but[i].text); -- maxlen += strlen (panelize_but[i].text) + 5; -+ maxlen += mbstrlen (panelize_but[i].text) + 5; - } - maxlen += 10; - -@@ -136,11 +136,11 @@ - panelize_cols = max (panelize_cols, maxlen); - - panelize_but[2].x = -- panelize_but[3].x + strlen (panelize_but[3].text) + 7; -+ panelize_but[3].x + mbstrlen (panelize_but[3].text) + 7; - panelize_but[1].x = -- panelize_but[2].x + strlen (panelize_but[2].text) + 5; -+ panelize_but[2].x + mbstrlen (panelize_but[2].text) + 5; - panelize_but[0].x = -- panelize_cols - strlen (panelize_but[0].text) - 8 - BX; -+ panelize_cols - mbstrlen (panelize_but[0].text) - 8 - BX; - - #endif /* ENABLE_NLS */ - -diff -urN mc-4.6.1.orig/src/recode.c mc-4.6.1/src/recode.c ---- mc-4.6.1.orig/src/recode.c 1970-01-01 05:00:00.000000000 +0500 -+++ mc-4.6.1/src/recode.c 2007-01-19 18:33:59.000000000 +0500 -@@ -0,0 +1,153 @@ -+#include "recode.h" -+#ifdef HAVE_CHARSET -+ -+char *lang; -+char lang_codepage_name[256]; -+int lang_codepage; -+ -+int ftp_codepage=-1; -+ -+// recode buffer for displaying file names -+unsigned char recode_buf[MC_MAXPATHLEN]; -+ -+WPanel* recode_panel; -+ -+//--- get codepage from $LANG -+void get_locale_codepage() { -+ char* a; -+ char* b; -+ int len; -+ -+ lang=getenv("LANG"); -+ if(!lang) { -+ strncpy(lang_codepage_name,OTHER_8BIT, sizeof(OTHER_8BIT)); -+ lang_codepage=-1; -+ return; -+ } -+ -+ a=strchr(lang,'.'); -+ if(!a) { -+ strncpy(lang_codepage_name,OTHER_8BIT, sizeof(OTHER_8BIT)); -+ lang_codepage=-1; -+ return; -+ } -+ ++a; -+ -+ b=strchr(lang,'@'); -+ if(!b) b=lang+strlen(lang); -+ -+ len=b-a; -+ if(len>=sizeof(lang_codepage_name)) len=sizeof(lang_codepage_name)-1; -+ -+ memcpy(lang_codepage_name,a, len); -+ lang_codepage_name[len]='\0'; -+ lang_codepage=get_codepage_index(lang_codepage_name); -+ if(lang_codepage<0) strncpy(lang_codepage_name,OTHER_8BIT, sizeof(OTHER_8BIT)); -+} -+ -+//--- reset translation table -+void my_reset_tt(unsigned char *table,int n) { -+ int i; -+ for(i=0;isrc_codepage=-1; -+ my_reset_tt(p->tr_table,256); -+ my_reset_tt(p->tr_table_input,256); -+} -+ -+//--- Initialize translation table -+// i need this function because init_translation_table from -+// charsets.c fills only fixed translation tables conv_displ and conv_input -+//--- -+char* my_init_tt( int from, int to, unsigned char *table) { -+ int i; -+ iconv_t cd; -+ char *cpfrom, *cpto; -+ -+ if(from < 0 || to < 0 || from == to) { -+ my_reset_tt(table,256); -+ return NULL; -+ } -+ my_reset_tt(table,128); -+ cpfrom=codepages[from ].id; -+ cpto=codepages[to].id; -+ cd=iconv_open(cpfrom, cpto); -+ if(cd==(iconv_t)-1) { -+ snprintf(errbuf, 255, _("Cannot translate from %s to %s"), cpfrom, cpto); -+ return errbuf; -+ } -+ for(i=128; i<=255; ++i) table[i] = translate_character(cd, i); -+ iconv_close(cd); -+ return NULL; -+} -+ -+//--- Translate string from one codepage to another -+void my_translate_string(unsigned char *s1,int l1, unsigned char *s2, unsigned char *table) { -+ int i=0; -+ if(!s1) return; -+ while(irecode_buf,ctx->tr_table); -+ if (dir [i-1] == PATH_SEP) -+ return g_strconcat (dir, ctx->recode_buf, NULL); -+ else -+ return g_strconcat (dir, PATH_SEP_STR, ctx->recode_buf, NULL); -+ return 0; -+} -+ -+ -+//--- Internal handler for "Panel codepage" -+static void fnc_cmd(WPanel *p) { -+ char *errmsg; -+ if(display_codepage > 0) { -+ p->src_codepage=select_charset(p->src_codepage, 0, _(" Choose panel codepage ")); -+ errmsg=my_init_tt(display_codepage,p->src_codepage,p->tr_table); -+ if(errmsg) { -+ panel_reset_codepage(p); -+ message( 1, MSG_ERROR, "%s", errmsg); -+ } -+ errmsg=my_init_tt(p->src_codepage,display_codepage,p->tr_table_input); -+ if (errmsg) { -+ panel_reset_codepage(p); -+ message( 1, MSG_ERROR, "%s", errmsg ); -+ } -+ paint_dir(p); -+ show_dir(p); -+ display_mini_info(p); -+ } -+ else { -+ message( 1, _(" Warning "), -+ _("To use this feature select your codepage in\n" -+ "Setup / Display Bits dialog!\n" -+ "Do not forget to save options." )); -+ } -+} -+ -+//--- Menu handlers for "Panel codepage" for left and right panel menu -+ -+void fnc_l_cmd() { -+ fnc_cmd(left_panel); -+} -+ -+void fnc_r_cmd() { -+ fnc_cmd(right_panel); -+} -+ -+//--- screen handler for "Panel codepage" -+void fnc_c_cmd(WPanel *panel) { -+ fnc_cmd(current_panel); -+} -+ -+#endif //HAVE_CHARSET -diff -urN mc-4.6.1.orig/src/recode.h mc-4.6.1/src/recode.h ---- mc-4.6.1.orig/src/recode.h 1970-01-01 05:00:00.000000000 +0500 -+++ mc-4.6.1/src/recode.h 2007-01-19 18:33:59.000000000 +0500 -@@ -0,0 +1,48 @@ -+#ifndef __RECODE_H__ -+#define __RECODE_H__ -+#include -+#ifdef HAVE_CHARSET -+ -+#include -+#include -+#include -+ -+#include "global.h" -+#include "wtools.h" -+#include "panel.h" -+#include "charsets.h" -+#include "selcodepage.h" -+#include "screen.h" -+#include "main.h" -+#include "fileopctx.h" -+ -+extern char *lang; -+extern char lang_codepage_name[256]; -+extern int lang_codepage; -+ -+extern int ftp_codepage; -+ -+// recode buffer for displaying file names -+extern unsigned char recode_buf[MC_MAXPATHLEN]; -+extern WPanel* recode_panel; -+ -+//--- get codepage from $LANG -+extern void get_locale_codepage(); -+ -+//--- reset translation table -+extern void my_reset_tt(unsigned char *table,int n); -+//--- reset panel codepage -+extern void panel_reset_codepage(WPanel *p); -+//--- Initialize translation table -+extern char* my_init_tt( int from, int to, unsigned char *table); -+//--- Translate string from one codepage to another -+extern void my_translate_string(unsigned char *s1,int l1, unsigned char *s2, unsigned char *table); -+//--- Recode filename and concat in to dir -+extern char* concat_dir_and_recoded_fname(const char *dir, const char *fname, FileOpContext *ctx); -+//--- handlers for "Panel codepage" -+extern void fnc_l_cmd(); -+extern void fnc_r_cmd(); -+extern void fnc_c_cmd(WPanel *panel); -+ -+#endif // HAVE_CHARSET -+#endif //__RECODE_H__ -diff -urN mc-4.6.1.orig/src/screen.c mc-4.6.1/src/screen.c ---- mc-4.6.1.orig/src/screen.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/screen.c 2007-01-19 18:33:59.000000000 +0500 -@@ -48,6 +48,10 @@ - #define WANT_WIDGETS - #include "main.h" /* the_menubar */ - -+#ifdef HAVE_CHARSET -+#include "recode.h" -+#endif -+ - #define ELEMENTS(arr) ( sizeof(arr) / sizeof((arr)[0]) ) - - #define J_LEFT 1 -@@ -169,22 +173,67 @@ - static const char * - string_file_name (file_entry *fe, int len) - { -- static char buffer [BUF_SMALL]; - size_t i; -+ char* filename; -+#ifdef UTF8 -+ static char buffer [BUF_SMALL * 4]; -+ mbstate_t s; -+ int mbmax = MB_CUR_MAX; -+ const char *str = fe->fname; - -- for (i = 0; i < sizeof(buffer) - 1; i++) { -- char c; -+ memset (&s, 0, sizeof (s)); -+#else -+ static char buffer [BUF_SMALL]; -+#endif - -- c = fe->fname[i]; -+#ifdef HAVE_CHARSET -+ my_translate_string(fe->fname,fe->fnamelen, recode_buf, recode_panel->tr_table); -+ filename= recode_buf; -+#else -+ filename=fe->fname; -+#endif - -- if (!c) -- break; -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) -+ for (i = 0; i < sizeof (buffer) - 1; i++) { -+ wchar_t wc; -+ int len; - -- if (!is_printable(c)) -- c = '?'; -+ len = mbrtowc (&wc, str, mbmax, &s); -+ if (!len) -+ break; -+ if (len < 0) { -+ memset (&s, 0, sizeof (s)); -+ buffer[i] = '?'; -+ str++; -+ continue; -+ } -+ if (!is_printable (wc)) { -+ buffer[i] = '?'; -+ str++; -+ continue; -+ } -+ if (i >= sizeof (buffer) - len) -+ break; -+ memcpy (buffer + i, str, len); -+ i += len - 1; -+ str += len; -+ } -+ else -+#endif -+ for (i = 0; i < sizeof(buffer) - 1; i++) { -+ char c; - -- buffer[i] = c; -- } -+ c= filename[i]; -+ -+ if (!c) -+ break; -+ -+ if (!is_printable(c)) -+ c = '?'; -+ -+ buffer[i] = c; -+ } - - buffer[i] = 0; - return buffer; -@@ -425,42 +474,6 @@ - { "dot", 1, 0, J_RIGHT, " ", 0, string_dot, NULL }, - }; - --static char * --to_buffer (char *dest, int just_mode, int len, const char *txt) --{ -- int txtlen = strlen (txt); -- int still, over; -- -- /* Fill buffer with spaces */ -- memset (dest, ' ', len); -- -- still = (over=(txtlen > len)) ? (txtlen - len) : (len - txtlen); -- -- switch (HIDE_FIT(just_mode)){ -- case J_LEFT: -- still = 0; -- break; -- case J_CENTER: -- still /= 2; -- break; -- case J_RIGHT: -- default: -- break; -- } -- -- if (over){ -- if (IS_FIT(just_mode)) -- strcpy (dest, name_trunc(txt, len)); -- else -- strncpy (dest, txt+still, len); -- } else -- strncpy (dest+still, txt, txtlen); -- -- dest[len] = '\0'; -- -- return (dest + len); --} -- - static int - file_compute_color (int attr, file_entry *fe) - { -@@ -514,14 +527,18 @@ - - /* Formats the file number file_index of panel in the buffer dest */ - static void --format_file (char *dest, int limit, WPanel *panel, int file_index, int width, int attr, int isstatus) -+format_file (WPanel *panel, int file_index, int width, int attr, int isstatus) - { - int color, length, empty_line; - const char *txt; -- char *old_pos; -- char *cdest = dest; - format_e *format, *home; - file_entry *fe; -+#ifdef UTF8 -+ char buffer[BUF_MEDIUM * sizeof (wchar_t)]; -+#else -+ char buffer[BUF_MEDIUM]; -+#endif -+ int txtwidth; - - length = 0; - empty_line = (file_index >= panel->count); -@@ -539,34 +556,137 @@ - break; - - if (format->string_fn){ -- int len; -+ int len, still, over, perm, txtlen, wide; - - if (empty_line) - txt = " "; - else - txt = (*format->string_fn)(fe, format->field_len); - -- old_pos = cdest; -- - len = format->field_len; - if (len + length > width) - len = width - length; -- if (len + (cdest - dest) > limit) -- len = limit - (cdest - dest); -+ if (len >= BUF_MEDIUM) -+ len = BUF_MEDIUM - 1; - if (len <= 0) - break; -- cdest = to_buffer (cdest, format->just_mode, len, txt); -- length += len; - -- attrset (color); -+ perm = 0; -+ if (permission_mode) { -+ if (!strcmp(format->id, "perm")) -+ perm = 1; -+ else if (!strcmp(format->id, "mode")) -+ perm = 2; -+ } - -- if (permission_mode && !strcmp(format->id, "perm")) -- add_permission_string (old_pos, format->field_len, fe, attr, color, 0); -- else if (permission_mode && !strcmp(format->id, "mode")) -- add_permission_string (old_pos, format->field_len, fe, attr, color, 1); -- else -- addstr (old_pos); -+ wide = 0; -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode && !empty_line && !perm) { -+ mbstate_t s; -+ const char *str = txt; -+ -+ memset (&s, 0, sizeof (s)); -+ txtlen = mbsrtowcs ((wchar_t *) buffer, &str, -+ sizeof (buffer) / sizeof (wchar_t), &s); -+ if (txtlen < 0) { -+ txt = " "; -+ txtlen = 1; -+ } else { -+ wide = 1; -+ txtwidth = wcswidth((wchar_t*)buffer, txtlen); -+ } -+ } else -+#endif -+ { -+ txtlen = strlen (txt); -+ txtwidth = txtlen; -+ } -+ -+ over = txtwidth > len; -+ still = over ? txtlen - len : len - txtlen; -+ -+ switch (HIDE_FIT(format->just_mode)) { -+ case J_LEFT: -+ still = 0; -+ break; -+ case J_CENTER: -+ still /= 2; -+ break; -+ case J_RIGHT: -+ default: -+ break; -+ } -+ -+ attrset (color); - -+ if (wide) { -+#ifdef UTF8 -+ if (over) { -+ if (IS_FIT (format->just_mode)) { -+ int n1 = 0; -+ int width1 = 0; -+ int n2 = 0; -+ int width2 = 0; -+ int len1 = len / 2; -+ int len2; -+ -+ while (1) { -+ int w = wcwidth(((wchar_t *) buffer)[n1]); -+ if (width1 + w <= len1) { -+ width1 += w; -+ n1++; -+ } -+ else -+ break; -+ } -+ len2 = len - width1 - 1; -+ -+ while (1) { -+ int w = wcwidth(((wchar_t *) buffer)[txtlen - n2 - 1]); -+ if (width2 + w <= len2) { -+ width2 += w; -+ n2++; -+ } -+ else -+ break; -+ } -+ -+ -+ SLsmg_write_nwchars ((wchar_t *) buffer, n1); -+ SLsmg_write_nwchars (L"~", 1); -+ printw ("%*s", len - width1 - width2 - 1, ""); -+ SLsmg_write_nwchars (((wchar_t *) buffer) -+ + txtlen - n2, n2); -+ } else -+ SLsmg_write_nwchars ((wchar_t *) buffer, len); -+ } else { -+ printw ("%*s", still, ""); -+ SLsmg_write_nwchars ((wchar_t *) buffer, txtlen); -+ printw ("%*s", len - txtwidth - still, ""); -+ } -+#endif -+ } else { -+ if (over) { -+ if (IS_FIT (format->just_mode)) -+ strcpy (buffer, name_trunc(txt, len)); -+ else -+ memcpy (buffer, txt + still, len); -+ } else { -+ memset (buffer, ' ', still); -+ memcpy (buffer + still, txt, txtlen); -+ memset (buffer + still + txtlen, ' ', -+ len - txtlen - still); -+ } -+ buffer[len] = '\0'; -+ -+ if (perm) -+ add_permission_string (buffer, format->field_len, fe, -+ attr, color, perm - 1); -+ else -+ addstr (buffer); -+ } -+ -+ length += len; - } else { - if (attr == SELECTED || attr == MARKED_SELECTED) - attrset (SELECTED_COLOR); -@@ -589,7 +709,10 @@ - { - int second_column = 0; - int width, offset; -- char buffer [BUF_MEDIUM]; -+ -+#ifdef HAVE_CHARSET -+ recode_panel=panel; -+#endif - - offset = 0; - if (!isstatus && panel->split){ -@@ -618,7 +741,7 @@ - widget_move (&panel->widget, file_index - panel->top_file + 2, 1); - } - -- format_file (buffer, sizeof(buffer), panel, file_index, width, attr, isstatus); -+ format_file (panel, file_index, width, attr, isstatus); - - if (!isstatus && panel->split){ - if (second_column) -@@ -630,7 +753,7 @@ - } - } - --static void -+void - display_mini_info (WPanel *panel) - { - if (!show_mini_info) -@@ -658,7 +781,7 @@ - g_snprintf (buffer, sizeof (buffer), (panel->marked == 1) ? - _("%s bytes in %d file") : _("%s bytes in %d files"), - size_trunc_sep (panel->total), panel->marked); -- if ((int) strlen (buffer) > cols-2){ -+ if ((int) mbstrlen (buffer) > cols-2){ - buffer [cols] = 0; - p += 2; - } else -@@ -691,7 +814,7 @@ - return; - } - --static void -+void - paint_dir (WPanel *panel) - { - int i; -@@ -729,7 +852,7 @@ - #endif /* !HAVE_SLANG */ - } - --static void -+void - show_dir (WPanel *panel) - { - char *tmp; -@@ -749,6 +872,9 @@ - } - #endif /* HAVE_SLANG */ - -+ vscrollbar (panel->widget, panel->widget.lines, panel->widget.cols-1, 2, 2, -+ panel->selected, panel->count, TRUE); -+ - if (panel->active) - attrset (REVERSE_COLOR); - -@@ -757,8 +883,15 @@ - tmp = g_malloc (panel->widget.cols + 1); - tmp[panel->widget.cols] = '\0'; - -+#ifdef HAVE_CHARSET -+ my_translate_string(panel->cwd,strlen(panel->cwd),recode_buf, panel->tr_table); -+ trim (strip_home_and_password (recode_buf), tmp, -+ min (max (panel->widget.cols - 7, 0), panel->widget.cols) ); -+#else - trim (strip_home_and_password (panel->cwd), tmp, - min (max (panel->widget.cols - 7, 0), panel->widget.cols) ); -+#endif -+ - addstr (tmp); - g_free (tmp); - widget_move (&panel->widget, 0, 1); -@@ -970,6 +1103,17 @@ - mc_get_current_wd (panel->cwd, sizeof (panel->cwd) - 2); - strcpy (panel->lwd, "."); - -+#ifdef HAVE_CHARSET -+ panel_reset_codepage(panel); -+#endif -+ -+#ifdef USE_VFS -+ panel->is_return=0; -+ #ifdef HAVE_CHARSET -+ panel->ret_codepage=-1; -+ #endif -+#endif -+ - panel->hist_name = g_strconcat ("Dir Hist ", panel_name, (char *) NULL); - panel->dir_history = history_get (panel->hist_name); - directory_history_add (panel, panel->cwd); -@@ -1068,6 +1212,12 @@ - int side, width; - - const char *txt; -+#ifdef UTF8 -+ char buffer[30 * sizeof (wchar_t)]; -+ mbstate_t s; -+ -+ memset (&s, 0, sizeof (s)); -+#endif - if (!panel->split) - adjust_top_file (panel); - -@@ -1092,16 +1242,37 @@ - if (format->string_fn){ - txt = format->title; - -+ attrset (MARKED_COLOR); -+ width -= format->field_len; -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ const char *str = txt; -+ header_len = mbsrtowcs ((wchar_t *) buffer, &str, -+ sizeof (buffer) / sizeof (wchar_t), -+ &s); -+ if (header_len < 0) { -+ memset (&s, 0, sizeof (s)); -+ printw ("%*s", format->field_len, ""); -+ continue; -+ } -+ if (header_len > format->field_len) -+ header_len = format->field_len; -+ spaces = (format->field_len - header_len) / 2; -+ extra = (format->field_len - header_len) % 2; -+ printw ("%*s", spaces, ""); -+ SLsmg_write_nwchars ((wchar_t *) buffer, header_len); -+ printw ("%*s", spaces + extra, ""); -+ continue; -+ } -+#endif - header_len = strlen (txt); - if (header_len > format->field_len) - header_len = format->field_len; - -- attrset (MARKED_COLOR); - spaces = (format->field_len - header_len) / 2; - extra = (format->field_len - header_len) % 2; - printw ("%*s%.*s%*s", spaces, "", - header_len, txt, spaces+extra, ""); -- width -= 2 * spaces + extra + header_len; - } else { - attrset (NORMAL_COLOR); - one_vline (); -@@ -1320,7 +1491,7 @@ - panel->dirty = 1; - - /* Status needn't to be split */ -- usable_columns = ((panel->widget.cols-2)/((isstatus) -+ usable_columns = ((panel->widget.cols-3)/((isstatus) - ? 1 - : (panel->split+1))) - (!isstatus && panel->split); - -@@ -2100,7 +2271,12 @@ - { XCTRL('n'), move_down }, /* C-n like emacs */ - { XCTRL('s'), start_search }, /* C-s like emacs */ - { ALT('s'), start_search }, /* M-s not like emacs */ -+#ifndef HAVE_CHARSET - { XCTRL('t'), mark_file }, -+#endif -+#ifdef HAVE_CHARSET -+ { XCTRL('t'), mark_file }, /* was 'fnc_c_cmd' */ -+#endif - { ALT('o'), chdir_other_panel }, - { ALT('l'), chdir_to_readlink }, - { ALT('H'), directory_history_list }, -diff -urN mc-4.6.1.orig/src/screen.h mc-4.6.1/src/screen.h ---- mc-4.6.1.orig/src/screen.h 1970-01-01 05:00:00.000000000 +0500 -+++ mc-4.6.1/src/screen.h 2007-01-19 18:33:59.000000000 +0500 -@@ -0,0 +1,11 @@ -+#ifndef __SCREEN_H__ -+#define __SCREEN_H__ -+#include -+ -+#include "global.h" -+ -+extern void paint_dir (WPanel *panel); -+extern void display_mini_info (WPanel *panel); -+extern void show_dir(WPanel *panel); -+#endif //__SCREEN_H__ -+ -diff -urN mc-4.6.1.orig/src/selcodepage.c mc-4.6.1/src/selcodepage.c ---- mc-4.6.1.orig/src/selcodepage.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/selcodepage.c 2007-01-19 18:33:59.000000000 +0500 -@@ -44,14 +44,16 @@ - } - - int --select_charset (int current_charset, int seldisplay) -+select_charset (int current_charset, int seldisplay, const char *title) - { -+ int new_charset; -+ - int i, menu_lines = n_codepages + 1; - char buffer[255]; - - /* Create listbox */ - Listbox *listbox = create_listbox_window (ENTRY_LEN + 2, menu_lines, -- _(" Choose input codepage "), -+ title, - "[Codepages Translation]"); - - if (!seldisplay) -@@ -81,20 +83,26 @@ - - i = run_listbox (listbox); - -- return (seldisplay) ? ((i >= n_codepages) ? -1 : i) -- : (i - 1); -+ if(i==-1) -+ i = (seldisplay) -+ ? ((current_charset < 0) ? n_codepages : current_charset) -+ : (current_charset + 1); -+ -+ new_charset =(seldisplay) ? ( (i >= n_codepages) ? -1 : i ) : ( i-1 ); -+ new_charset = (new_charset==-2) ? current_charset:new_charset; -+ return new_charset; - } - - /* Helper functions for codepages support */ - - - int --do_select_codepage (void) -+do_select_codepage (const char *title) - { - const char *errmsg; - - if (display_codepage > 0) { -- source_codepage = select_charset (source_codepage, 0); -+ source_codepage = select_charset (source_codepage, 0, title); - errmsg = - init_translation_table (source_codepage, display_codepage); - if (errmsg) { -diff -urN mc-4.6.1.orig/src/selcodepage.h mc-4.6.1/src/selcodepage.h ---- mc-4.6.1.orig/src/selcodepage.h 2002-10-31 04:16:16.000000000 +0500 -+++ mc-4.6.1/src/selcodepage.h 2007-01-19 18:33:59.000000000 +0500 -@@ -2,8 +2,8 @@ - #ifndef __SELCODEPAGE_H__ - #define __SELCODEPAGE_H__ - --int select_charset (int current_charset, int seldisplay); --int do_select_codepage (void); -+int select_charset (int current_charset, int seldisplay, const char *title); -+int do_select_codepage (const char *title); - - #endif /* __SELCODEPAGE_H__ */ - #endif /* HAVE_CHARSET */ -diff -urN mc-4.6.1.orig/src/setup.c mc-4.6.1/src/setup.c ---- mc-4.6.1.orig/src/setup.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/setup.c 2007-01-19 18:33:59.000000000 +0500 -@@ -47,6 +47,8 @@ - - #ifdef HAVE_CHARSET - #include "charsets.h" -+#include"recode.h" -+#include "wtools.h" - #endif - - #ifdef USE_NETCODE -@@ -255,6 +257,11 @@ - g_snprintf (buffer, sizeof (buffer), "%d", panel->user_mini_status); - save_string (section, "user_mini_status", buffer, - profile_name); -+ -+#ifdef HAVE_CHARSET -+ // save panel codepage -+ save_string(section, "panel_display_codepage", get_codepage_id(panel->src_codepage), profile_name); -+#endif - } - - void -@@ -352,6 +359,7 @@ - #ifdef HAVE_CHARSET - save_string( "Misc", "display_codepage", - get_codepage_id( display_codepage ), profile_name ); -+ save_string( "Misc", "ftp_codepage", get_codepage_id(ftp_codepage), profile_name); - #endif /* HAVE_CHARSET */ - - g_free (profile); -@@ -401,6 +409,31 @@ - panel->user_mini_status = - load_int (section, "user_mini_status", 0); - -+#ifdef HAVE_CHARSET -+//--- Loading panel codepage -+ panel_reset_codepage(panel); -+ if(load_codepages_list()>0) { -+ char cpname[128]; -+ char *errmsg; -+ -+ -+ if(display_codepage>=0) { -+ load_string(section, "panel_display_codepage", "", cpname, sizeof(cpname)); -+ if(cpname[0]!='\0') panel->src_codepage = get_codepage_index(cpname); -+ } -+ -+ errmsg=my_init_tt(display_codepage,panel->src_codepage,panel->tr_table); -+ if(errmsg) { -+ panel_reset_codepage(panel); -+ message( 1, MSG_ERROR, "%s", errmsg ); -+ } -+ errmsg=my_init_tt(panel->src_codepage,display_codepage,panel->tr_table_input); -+ if(errmsg) { -+ panel_reset_codepage(panel); -+ message( 1, MSG_ERROR, "%s", errmsg ); -+ } -+ } -+#endif - } - - static void -@@ -543,12 +576,18 @@ - #endif /* USE_VFS && USE_NETCODE */ - - #ifdef HAVE_CHARSET -- if ( load_codepages_list() > 0 ) { -- char cpname[128]; -- load_string( "Misc", "display_codepage", "", -- cpname, sizeof(cpname) ); -- if ( cpname[0] != '\0' ) -- display_codepage = get_codepage_index( cpname ); -+ if(load_codepages_list() > 0) { -+ char cpname[128]; -+ get_locale_codepage(); -+ load_string("Misc", "display_codepage", "", cpname, sizeof(cpname)); -+ if(cpname[0] != '\0') display_codepage=get_codepage_index(cpname); -+ else display_codepage=lang_codepage; -+ -+ ftp_codepage=-1; -+ if(display_codepage >= 0) { -+ load_string( "Misc", "ftp_codepage", "", cpname, sizeof(cpname)); -+ if(cpname[0] != '\0') ftp_codepage=get_codepage_index(cpname); -+ } - } - - init_translation_table( source_codepage, display_codepage ); -diff -urN mc-4.6.1.orig/src/slint.c mc-4.6.1/src/slint.c ---- mc-4.6.1.orig/src/slint.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/slint.c 2007-01-19 18:33:59.000000000 +0500 -@@ -180,6 +180,9 @@ - struct sigaction act, oact; - - SLtt_get_terminfo (); -+#if SLANG_VERSION >= 20000 -+ SLutf8_enable (-1); -+#endif - - /* - * If the terminal in not in terminfo but begins with a well-known -diff -urN mc-4.6.1.orig/src/util.c mc-4.6.1/src/util.c ---- mc-4.6.1.orig/src/util.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/util.c 2007-01-19 18:33:59.000000000 +0500 -@@ -32,7 +32,11 @@ - #include - #include - #include -+#include -+#include -+#include - -+#include "tty.h" - #include "global.h" - #include "profile.h" - #include "main.h" /* mc_home */ -@@ -44,9 +48,40 @@ - #include "charsets.h" - #endif - -+#ifdef UTF8 -+#include -+#include -+#endif -+ - static const char app_text [] = "Midnight-Commander"; - int easy_patterns = 1; - -+#if SLANG_VERSION >= 20000 -+void SLsmg_write_nwchars(wchar_t *s, size_t n) -+{ -+ if (SLsmg_is_utf8_mode()) { /* slang can handle it directly */ -+ while(n-- && *s) -+ SLsmg_write_char(*s++); -+ } -+ else { /* convert wchars back to 8bit encoding */ -+ mbstate_t mbs; -+ memset (&mbs, 0, sizeof (mbs)); -+ while (n-- && *s) { -+ char buf[MB_LEN_MAX + 1]; /* should use 1 char, but to be sure */ -+ if (*s < 0x80) { -+ SLsmg_write_char(*s++); /* ASCII */ -+ } -+ else { -+ if (wcrtomb(buf, *s++, &mbs) == 1) -+ SLsmg_write_char((wchar_t)(buf[0])); -+ else -+ SLsmg_write_char('?'); /* should not happen */ -+ } -+ } -+ } -+} -+#endif -+ - extern void str_replace(char *s, char from, char to) - { - for (; *s != '\0'; s++) { -@@ -77,9 +112,106 @@ - return (c > 31 && c != 127 && c != 155); - } - -+size_t -+mbstrlen (const char *str) -+{ -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ size_t width = 0; -+ -+ for (; *str; str++) { -+ wchar_t c; -+ size_t len; -+ -+ len = mbrtowc (&c, str, MB_CUR_MAX, NULL); -+ -+ if (len == (size_t)(-1) || len == (size_t)(-2)) break; -+ -+ if (len > 0) { -+ int wcsize = wcwidth(c); -+ width += wcsize > 0 ? wcsize : 0; -+ str += len-1; -+ } -+ } -+ -+ return width; -+ } else -+#endif -+ return strlen (str); -+} -+ -+#ifdef UTF8 -+ -+void -+fix_utf8(char *str) -+{ -+ mbstate_t mbs; -+ -+ char *p = str; -+ -+ while (*p) { -+ int len; -+ memset (&mbs, 0, sizeof (mbs)); -+ len = mbrlen(p, MB_CUR_MAX, &mbs); -+ if (len == -1) { -+ *p = '?'; -+ p++; -+ } else if (len > 0) { -+ p += len; -+ } else { -+ p++; -+ } -+ } -+} -+#endif -+ -+ -+ -+#ifdef UTF8 -+wchar_t * -+mbstr_to_wchar (const char *str) -+{ -+ int len = mbstrlen(str); -+ wchar_t *buf = g_malloc((len+1) * sizeof(wchar_t)); -+ mbstate_t mbs; -+ memset (&mbs, 0, sizeof (mbs)); -+ mbsrtowcs (buf, &str, len, &mbs); -+ buf[len] = 0; -+ return buf; -+} -+ -+char * -+wchar_to_mbstr (const wchar_t *wstr) -+{ -+ mbstate_t mbs; -+ const wchar_t *wstr2; -+ char * string; -+ int len; -+ -+ memset (&mbs, 0, sizeof (mbs)); -+ wstr2 = wstr; -+ len = wcsrtombs(NULL, &wstr2, 0, &mbs); -+ if (len <= 0) -+ return NULL; -+ -+ string = g_malloc(len + 1); -+ -+ wstr2 = wstr; -+ wcsrtombs(string, &wstr2, len, &mbs); -+ string[len] = 0; -+ return string; -+} -+#endif -+ -+ -+ - int - is_printable (int c) - { -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) -+ return iswprint (c); -+#endif - c &= 0xff; - - #ifdef HAVE_CHARSET -@@ -97,7 +229,7 @@ - #endif /* !HAVE_CHARSET */ - } - --/* Returns the message dimensions (lines and columns) */ -+/* Returns the message dimensions columns */ - int msglen (const char *text, int *lines) - { - int max = 0; -@@ -108,8 +240,18 @@ - line_len = 0; - (*lines)++; - } else { -- line_len++; -- if (line_len > max) -+#ifdef UTF8 -+ size_t len; -+ wchar_t c; -+ -+ len = mbrtowc (&c, text, MB_CUR_MAX, NULL); -+ if (len > 0 && len != (size_t)(-1) && len != (size_t)(-2)) { -+ int wcsize = wcwidth(c); -+ line_len += wcsize > 0 ? wcsize-1 : -1; -+ text += len-1; -+ } -+#endif -+ if (++line_len > max) - max = line_len; - } - } -@@ -201,7 +343,24 @@ - *d++ = '\\'; - break; - } -+#ifndef UTF8 - *d = *s; -+#else /* UTF8 */ -+ { -+ mbstate_t mbs; -+ int len; -+ memset (&mbs, 0, sizeof (mbs)); -+ len = mbrlen(s, MB_CUR_MAX, &mbs); -+ if (len > 0) { -+ while (len-- > 1) -+ *d++ = *s++; -+ *d = *s; -+ } else { -+ *d = '?'; -+ } -+ -+ } -+#endif /* UTF8 */ - } - *d = '\0'; - return ret; -@@ -222,25 +381,90 @@ - name_trunc (const char *txt, int trunc_len) - { - static char x[MC_MAXPATHLEN + MC_MAXPATHLEN]; -- int txt_len; -+ int txt_len, first, skip; - char *p; -+ const char *str; - - if ((size_t) trunc_len > sizeof (x) - 1) { - trunc_len = sizeof (x) - 1; - } -- txt_len = strlen (txt); -- if (txt_len <= trunc_len) { -- strcpy (x, txt); -- } else { -- int y = (trunc_len / 2) + (trunc_len % 2); -- strncpy (x, txt, y); -- strncpy (x + y, txt + txt_len - (trunc_len / 2), trunc_len / 2); -- x[y] = '~'; -- } -- x[trunc_len] = 0; -- for (p = x; *p; p++) -- if (!is_printable (*p)) -- *p = '?'; -+ txt_len = mbstrlen (txt); -+ first = 0; -+ skip = 0; -+ if (txt_len > trunc_len) { -+ first = trunc_len / 2; -+ skip = txt_len - trunc_len + 1; -+ } -+ -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ mbstate_t s; -+ int mbmax; -+ -+ str = txt; -+ memset (&s, 0, sizeof (s)); -+ mbmax = MB_CUR_MAX; -+ p = x; -+ while (p < x + sizeof (x) - 1 && trunc_len) { -+ wchar_t wc; -+ int len; -+ -+ len = mbrtowc (&wc, str, mbmax, &s); -+ if (!len) -+ break; -+ if (len < 0) { -+ memset (&s, 0, sizeof (s)); -+ *p = '?'; -+ len = 1; -+ str++; -+ } else if (!is_printable (wc)) { -+ *p = '?'; -+ str += len; -+ len = 1; -+ } else if (p >= x + sizeof (x) - len) -+ break; -+ else { -+ memcpy (p, str, len); -+ str += len; -+ } -+ if (first) { -+ --trunc_len; -+ --first; -+ p += len; -+ if (!first && p < x + sizeof (x) - 1 && trunc_len) { -+ *p++ = '~'; -+ --trunc_len; -+ } -+ } else if (skip) -+ --skip; -+ else { -+ --trunc_len; -+ p += len; -+ } -+ } -+ } else -+#endif -+ { -+ str = txt; -+ p = x; -+ while (p < x + sizeof (x) - 1) { -+ if (*str == '\0') -+ break; -+ else if (!is_printable (*str)) -+ *p++ = '?'; -+ else -+ *p++ = *str; -+ ++str; -+ if (first) { -+ --first; -+ if (!first) { -+ *p++ = '~'; -+ str += skip; -+ } -+ } -+ } -+ } -+ *p = '\0'; - return x; - } - -@@ -650,11 +874,66 @@ - } - - char * -+utf8_to_local(char *str) -+{ -+ iconv_t cd; -+ size_t buflen; -+ char *output; -+ int retry = 1; -+ -+ if (str == NULL) -+ return NULL; -+ else -+ buflen = strlen(str); -+ -+ cd = iconv_open (nl_langinfo(CODESET), "UTF-8"); -+ if (cd == (iconv_t) -1) { -+ return g_strdup(str); -+ } -+ -+ output = g_malloc(buflen + 1); -+ -+ while (retry) -+ { -+ char *wrptr = output; -+ char *inptr = str; -+ size_t insize = buflen; -+ size_t avail = buflen; -+ size_t nconv; -+ -+ nconv = iconv (cd, &inptr, &insize, &wrptr, &avail); -+ if (nconv == (size_t) -1) -+ { -+ if (errno == E2BIG) -+ { -+ buflen *= 2; -+ g_free(output); -+ output = g_malloc(buflen + 1); -+ } -+ else -+ { -+ g_free(output); -+ return g_strdup(str); -+ } -+ } -+ else { -+ retry = 0; -+ *wrptr = 0; -+ } -+ } -+ -+ iconv_close (cd); -+ -+ return output; -+} -+ -+char * - load_mc_home_file (const char *filename, char **allocated_filename) - { - char *hintfile_base, *hintfile; - char *lang; - char *data; -+ char *conv_data; - - hintfile_base = concat_dir_and_file (mc_home, filename); - lang = guess_message_value (); -@@ -687,7 +966,10 @@ - else - g_free (hintfile); - -- return data; -+ conv_data = utf8_to_local(data); -+ g_free(data); -+ -+ return conv_data; - } - - /* Check strftime() results. Some systems (i.e. Solaris) have different -@@ -695,12 +977,14 @@ - size_t i18n_checktimelength (void) - { - size_t length, a, b; -- char buf [MAX_I18NTIMELENGTH + 1]; -+ char buf [4 * MAX_I18NTIMELENGTH + 1]; - time_t testtime = time (NULL); - -- a = strftime (buf, sizeof(buf)-1, _("%b %e %H:%M"), localtime(&testtime)); -- b = strftime (buf, sizeof(buf)-1, _("%b %e %Y"), localtime(&testtime)); -- -+ strftime (buf, sizeof(buf)-1, _("%b %e %H:%M"), localtime(&testtime)); -+ a = mbstrlen (buf); -+ strftime (buf, sizeof(buf)-1, _("%b %e %Y"), localtime(&testtime)); -+ b = mbstrlen (buf); -+ - length = max (a, b); - - /* Don't handle big differences. Use standard value (email bug, please) */ -@@ -712,15 +996,12 @@ - - const char *file_date (time_t when) - { -- static char timebuf [MAX_I18NTIMELENGTH + 1]; -+ static char timebuf [4 * MAX_I18NTIMELENGTH + 1]; - time_t current_time = time ((time_t) 0); -- static size_t i18n_timelength = 0; - static const char *fmtyear, *fmttime; - const char *fmt; - -- if (i18n_timelength == 0){ -- i18n_timelength = i18n_checktimelength() + 1; -- -+ if (fmtyear == NULL) { - /* strftime() format string for old dates */ - fmtyear = _("%b %e %Y"); - /* strftime() format string for recent dates */ -@@ -740,7 +1021,7 @@ - else - fmt = fmttime; - -- strftime (timebuf, i18n_timelength, fmt, localtime(&when)); -+ strftime (timebuf, sizeof (timebuf) - 1, fmt, localtime(&when)); - return timebuf; - } - -@@ -863,10 +1144,27 @@ - r++; - continue; - } -- -+#ifndef UTF8 - if (is_printable(*r)) - *w++ = *r; - ++r; -+#else /* UTF8 */ -+ { -+ mbstate_t mbs; -+ int len; -+ memset (&mbs, 0, sizeof (mbs)); -+ len = mbrlen(r, MB_CUR_MAX, &mbs); -+ -+ if (len > 0 && (unsigned char)*r >= ' ') -+ while (len--) -+ *w++ = *r++; -+ else { -+ if (len == -1) -+ *w++ = '?'; -+ r++; -+ } -+ } -+#endif /* UTF8 */ - } - *w = 0; - return s; -@@ -1140,21 +1438,23 @@ - * as needed up in first and then goes down using second */ - char *diff_two_paths (const char *first, const char *second) - { -- char *p, *q, *r, *s, *buf = 0; -+ char *p, *q, *r, *s, *buf = NULL; - int i, j, prevlen = -1, currlen; - char *my_first = NULL, *my_second = NULL; - - my_first = resolve_symlinks (first); - if (my_first == NULL) - return NULL; -+ my_second= resolve_symlinks (second); -+ if (my_second == NULL) { -+ g_free (my_first); -+ return NULL; -+ } - for (j = 0; j < 2; j++) { - p = my_first; - if (j) { -- my_second = resolve_symlinks (second); -- if (my_second == NULL) { -- g_free (my_first); -+ if (my_second == NULL) - return buf; -- } - } - q = my_second; - for (;;) { -diff -urN mc-4.6.1.orig/src/util.h mc-4.6.1/src/util.h ---- mc-4.6.1.orig/src/util.h 2005-01-14 00:20:47.000000000 +0500 -+++ mc-4.6.1/src/util.h 2007-01-19 18:33:59.000000000 +0500 -@@ -93,6 +93,13 @@ - char *get_group (int); - char *get_owner (int); - -+void fix_utf8(char *str); -+size_t mbstrlen (const char *); -+wchar_t *mbstr_to_wchar (const char *); -+char *wchar_to_mbstr (const wchar_t *); -+char *utf8_to_local(char *str); -+ -+ - #define MAX_I18NTIMELENGTH 14 - #define MIN_I18NTIMELENGTH 10 - #define STD_I18NTIMELENGTH 12 -@@ -210,7 +217,7 @@ - #define PATH_ENV_SEP ':' - #define TMPDIR_DEFAULT "/tmp" - #define SCRIPT_SUFFIX "" --#define get_default_editor() "vi" -+#define get_default_editor() "editor" - #define OS_SORT_CASE_SENSITIVE_DEFAULT 1 - #define STRCOMP strcmp - #define STRNCOMP strncmp -diff -urN mc-4.6.1.orig/src/view.c mc-4.6.1/src/view.c ---- mc-4.6.1.orig/src/view.c 2005-05-27 20:19:18.000000000 +0600 -+++ mc-4.6.1/src/view.c 2007-01-19 18:33:59.000000000 +0500 -@@ -36,6 +36,10 @@ - #include - #include - -+#ifdef UTF8 -+#include -+#endif /* UTF8 */ -+ - #include "global.h" - #include "tty.h" - #include "cmd.h" /* For view_other_cmd */ -@@ -793,7 +797,7 @@ - - if (!i18n_adjust) { - file_label = _("File: %s"); -- i18n_adjust = strlen (file_label) - 2; -+ i18n_adjust = mbstrlen (file_label) - 2; - } - - if (w < i18n_adjust + 6) -@@ -849,7 +853,11 @@ - widget_erase ((Widget *) view); - } - -+#ifndef UTF8 - #define view_add_character(view,c) addch (c) -+#else /* UTF8 */ -+#define view_add_character(view,c) {wchar_t tmp=c; SLsmg_write_nwchars(&tmp, 1);} -+#endif /* UTF8 */ - #define view_add_one_vline() one_vline() - #define view_add_string(view,s) addstr (s) - #define view_gotoyx(v,r,c) widget_move (v,r,c) -@@ -1071,6 +1079,12 @@ - if (view->growing_buffer && from == view->last_byte) - get_byte (view, from); - for (; row < height && from < view->last_byte; from++) { -+#ifdef UTF8 -+ mbstate_t mbs; -+ char mbbuf[MB_LEN_MAX]; -+ int mblen; -+ wchar_t wc; -+#endif /* UTF8 */ - c = get_byte (view, from); - if ((c == '\n') || (col >= width && view->wrap_mode)) { - col = frame_shift; -@@ -1084,7 +1098,37 @@ - col = ((col - frame_shift) / 8) * 8 + 8 + frame_shift; - continue; - } -+#ifndef UTF8 - if (view->viewer_nroff_flag && c == '\b') { -+#else /* UTF8 */ -+ mblen = 1; -+ mbbuf[0] = convert_to_display_c (c); -+ -+ while (mblen < MB_LEN_MAX) { -+ int res; -+ memset (&mbs, 0, sizeof (mbs)); -+ res = mbrtowc (&wc, mbbuf, mblen, &mbs); -+ if (res <= 0 && res != -2) { -+ wc = '.'; -+ mblen = 1; -+ break; -+ } -+ if (res == mblen) -+ break; -+ -+ mbbuf[mblen] = convert_to_display_c (get_byte (view, from + mblen)); -+ mblen++; -+ } -+ -+ if (mblen == MB_LEN_MAX) { -+ wc = '.'; -+ mblen = 1; -+ } -+ -+ from += mblen - 1; -+ -+ if (view->viewer_nroff_flag && wc == '\b') { -+#endif /* UTF8 */ - int c_prev; - int c_next; - -@@ -1122,12 +1166,23 @@ - && col < width - view->start_col) { - view_gotoyx (view, row, col + view->start_col); - -+#ifndef UTF8 - c = convert_to_display_c (c); -- - if (!is_printable (c)) - c = '.'; -- - view_add_character (view, c); -+#else /* UTF8 */ -+ if (!iswprint (wc)) -+ wc = '.'; -+ view_add_character (view, wc); -+ -+ { -+ int cw = wcwidth(wc); -+ if (cw > 1) -+ col+= cw - 1; -+ } -+#endif /* UTF8 */ -+ - } - col++; - if (boldflag != MARK_NORMAL) { -@@ -1239,7 +1294,12 @@ - if (lines != -1 && line >= lines) - return p; - -- c = get_byte (view, p); -+ if ((c = get_byte (view, p)) == -1) { -+ if (upto) -+ return line; -+ else -+ return p; -+ } - - if (view->wrap_mode) { - if (c == '\r') -@@ -2534,7 +2594,7 @@ - - #ifdef HAVE_CHARSET - case XCTRL ('t'): -- do_select_codepage (); -+ do_select_codepage (_(" Choose codepage ")); - view->dirty++; - view_update (view, TRUE); - return MSG_HANDLED; -diff -urN mc-4.6.1.orig/src/widget.c mc-4.6.1/src/widget.c ---- mc-4.6.1.orig/src/widget.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/src/widget.c 2007-01-19 18:33:59.000000000 +0500 -@@ -33,6 +33,9 @@ - #include - #include "global.h" - #include "tty.h" -+#ifdef UTF8 -+#include -+#endif /* UTF8 */ - #include "color.h" - #include "mouse.h" - #include "dialog.h" -@@ -148,6 +151,11 @@ - if (b->hotpos >= 0) { - attrset ((b->selected) ? HOT_FOCUSC : HOT_NORMALC); - widget_move (&b->widget, 0, b->hotpos + off); -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) -+ SLsmg_write_nwchars (&b->hotwc, 1); -+ else -+#endif - addch ((unsigned char) b->text[b->hotpos]); - } - return MSG_HANDLED; -@@ -179,7 +187,7 @@ - static int - button_len (const char *text, unsigned int flags) - { -- int ret = strlen (text); -+ int ret = mbstrlen (text); - switch (flags){ - case DEFPUSH_BUTTON: - ret += 6; -@@ -202,14 +210,36 @@ - * the button text is g_malloc()ed, we can safely change and shorten it. - */ - static void --button_scan_hotkey (WButton *b) -+scan_hotkey (char *text, int *hotposp, int *hotkeyp, wchar_t *hotwcp) - { -- char *cp = strchr (b->text, '&'); -+ char *cp = strchr (text, '&'); - - if (cp != NULL && cp[1] != '\0') { -- g_strlcpy (cp, cp + 1, strlen (cp)); -- b->hotkey = tolower (*cp); -- b->hotpos = cp - b->text; -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ mbstate_t s; -+ int len; -+ -+ *cp = '\0'; -+ memset (&s, 0, sizeof (s)); -+ len = mbrtowc (hotwcp, cp + 1, MB_CUR_MAX, &s); -+ if (len > 0) { -+ *hotposp = mbstrlen (text); -+ if (*hotposp < 0) { -+ *hotposp = -1; -+ } else { -+ /* FIXME */ -+ *hotkeyp = tolower (*hotwcp); -+ } -+ } -+ } else -+#endif -+ { -+ *hotkeyp = tolower (cp[1]); -+ *hotposp = cp - text; -+ } -+ -+ memmove (cp, cp + 1, strlen (cp + 1) + 1); - } - } - -@@ -231,22 +261,23 @@ - widget_want_hotkey (b->widget, 1); - b->hotkey = 0; - b->hotpos = -1; -+ b->hotwc = L'\0'; - -- button_scan_hotkey(b); -+ scan_hotkey(b->text, &b->hotpos, &b->hotkey, &b->hotwc); - return b; - } - - void - button_set_text (WButton *b, const char *text) - { -- g_free (b->text); -+ g_free (b->text); - b->text = g_strdup (text); - b->widget.cols = button_len (text, b->flags); -- button_scan_hotkey(b); -+ scan_hotkey(b->text, &b->hotpos, &b->hotkey, &b->hotwc); - dlg_redraw (b->widget.parent); - } - -- -+ - /* Radio button widget */ - static int radio_event (Gpm_Event *event, WRadio *r); - -@@ -320,16 +351,37 @@ - widget_move (&r->widget, i, 0); - - printw ("(%c) ", (r->sel == i) ? '*' : ' '); -- for (cp = r->texts[i]; *cp; cp++) { -- if (*cp == '&') { -- attrset ((i == r->pos && msg == WIDGET_FOCUS) -- ? HOT_FOCUSC : HOT_NORMALC); -- addch (*++cp); -- attrset ((i == r->pos -- && msg == WIDGET_FOCUS) ? FOCUSC : NORMALC); -+ cp = strchr (r->texts[i], '&'); -+ if (cp != NULL) { -+#ifdef UTF8 -+ mbstate_t s; -+ wchar_t wc; -+ int len; -+#endif -+ printw ("%.*s", (int) ((char *) cp - r->texts[i]), -+ r->texts[i]); -+ attrset ((i == r->pos && msg == WIDGET_FOCUS) -+ ? HOT_FOCUSC : HOT_NORMALC); -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) { -+ memset (&s, 0, sizeof (s)); -+ len = mbrtowc (&wc, cp + 1, MB_CUR_MAX, &s); -+ ++cp; -+ if (len > 0) { -+ printw ("%.*s", len, cp); -+ cp += len; -+ } - } else -- addch (*cp); -- } -+#endif -+ { -+ addch (*++cp); -+ ++cp; -+ } -+ attrset ((i == r->pos && msg == WIDGET_FOCUS) -+ ? FOCUSC : NORMALC); -+ } else -+ cp = r->texts[i]; -+ addstr ((char *) cp); - } - return MSG_HANDLED; - -@@ -365,7 +417,7 @@ - /* Compute the longest string */ - max = 0; - for (i = 0; i < count; i++){ -- m = strlen (texts [i]); -+ m = mbstrlen (texts [i]); - if (m > max) - max = m; - } -@@ -426,6 +478,11 @@ - if (c->hotpos >= 0) { - attrset ((msg == WIDGET_FOCUS) ? HOT_FOCUSC : HOT_NORMALC); - widget_move (&c->widget, 0, +c->hotpos + 4); -+#ifdef UTF8 -+ if (SLsmg_Is_Unicode) -+ SLsmg_write_nwchars (&c->hotwc, 1); -+ else -+#endif - addch ((unsigned char) c->text[c->hotpos]); - } - return MSG_HANDLED; -@@ -460,32 +517,18 @@ - check_new (int y, int x, int state, const char *text) - { - WCheck *c = g_new (WCheck, 1); -- const char *s; -- char *t; - -- init_widget (&c->widget, y, x, 1, strlen (text), -+ init_widget (&c->widget, y, x, 1, mbstrlen (text), - (callback_fn)check_callback, - (mouse_h) check_event); - c->state = state ? C_BOOL : 0; - c->text = g_strdup (text); - c->hotkey = 0; - c->hotpos = -1; -+ c->hotwc = L'\0'; - widget_want_hotkey (c->widget, 1); - -- /* Scan for the hotkey */ -- for (s = text, t = c->text; *s; s++, t++){ -- if (*s != '&'){ -- *t = *s; -- continue; -- } -- s++; -- if (*s){ -- c->hotkey = tolower (*s); -- c->hotpos = t - c->text; -- } -- *t = *s; -- } -- *t = 0; -+ scan_hotkey (c->text, &c->hotpos, &c->hotkey, &c->hotwc); - return c; - } - -@@ -527,7 +570,7 @@ - } - widget_move (&l->widget, y, 0); - printw ("%s", p); -- xlen = l->widget.cols - strlen (p); -+ xlen = l->widget.cols - mbstrlen (p); - if (xlen > 0) - printw ("%*s", xlen, " "); - if (!q) -@@ -561,7 +604,7 @@ - if (text){ - label->text = g_strdup (text); - if (label->auto_adjust_cols) { -- newcols = strlen (text); -+ newcols = mbstrlen (text); - if (newcols > label->widget.cols) - label->widget.cols = newcols; - } -@@ -585,7 +628,7 @@ - if (!text || strchr(text, '\n')) - width = 1; - else -- width = strlen (text); -+ width = mbstrlen (text); - - l = g_new (WLabel, 1); - init_widget (&l->widget, y, x, 1, width, -@@ -734,13 +777,69 @@ - /* Pointer to killed data */ - static char *kill_buffer = 0; - -+#ifdef UTF8 -+static int -+charpos(WInput *in, int idx) -+{ -+ int i, pos, l, len; -+ mbstate_t mbs; -+ memset (&mbs, 0, sizeof (mbs)); -+ i = 0; -+ pos = 0; -+ len = strlen(in->buffer); -+ -+ while (in->buffer[pos]) { -+ if (i == idx) -+ return pos; -+ l = mbrlen(in->buffer + pos, len - pos, &mbs); -+ if (l <= 0) -+ return pos; -+ pos+=l; -+ i++; -+ }; -+ return pos; -+} -+ -+static int -+charcolumn(WInput *in, int idx) -+{ -+ int i, pos, l, width, len; -+ mbstate_t mbs; -+ memset (&mbs, 0, sizeof (mbs)); -+ i = 0; -+ pos = 0; width = 0; -+ len = strlen(in->buffer); -+ -+ while (in->buffer[pos]) { -+ wchar_t wc; -+ if (i == idx) -+ return width; -+ l = mbrtowc(&wc, in->buffer + pos, len - pos, &mbs); -+ if (l <= 0) -+ return width; -+ pos += l; width += wcwidth(wc); -+ i++; -+ }; -+ return width; -+} -+#else -+#define charpos(in, idx) (idx) -+#define charcolumn(in, idx) (idx) -+#endif /* UTF8 */ -+ - void - update_input (WInput *in, int clear_first) - { - int has_history = 0; - int i, j; -- unsigned char c; -- int buf_len = strlen (in->buffer); -+ int buf_len = mbstrlen (in->buffer); -+#ifndef UTF8 -+ unsigned char c; -+#else /* UTF8 */ -+ wchar_t c; -+ mbstate_t mbs; -+ memset (&mbs, 0, sizeof (mbs)); -+#endif /* UTF8 */ - - if (should_show_history_button (in)) - has_history = HISTORY_BUTTON_WIDTH; -@@ -750,7 +849,7 @@ - - /* Make the point visible */ - if ((in->point < in->first_shown) || -- (in->point >= in->first_shown+in->field_len - has_history)){ -+ (charcolumn(in, in->point) >= charcolumn(in, in->first_shown) + in->field_len - has_history)){ - in->first_shown = in->point - (in->field_len / 3); - if (in->first_shown < 0) - in->first_shown = 0; -@@ -770,14 +869,29 @@ - addch (' '); - widget_move (&in->widget, 0, 0); - -+#ifndef UTF8 - for (i = 0, j = in->first_shown; i < in->field_len - has_history && in->buffer [j]; i++){ - c = in->buffer [j++]; - c = is_printable (c) ? c : '.'; -- if (in->is_password) -+#else /* UTF8 */ -+ for (i = 0, j = in->first_shown; (i < in->field_len - has_history) && (j < buf_len); i++,j++){ -+ char * chp = in->buffer + charpos(in,j); -+ size_t res = mbrtowc(&c, chp, strlen(chp), &mbs); -+ c = (res && iswprint (c)) ? 0 : '.'; -+#endif /* UTF8 */ -+ if (in->is_password) - c = '*'; -+#ifndef UTF8 - addch (c); -+#else /* UTF8 */ -+ if (c) { -+ addch (c); -+ } -+ else -+ SLsmg_write_nchars (chp, res); -+#endif /* UTF8 */ - } -- widget_move (&in->widget, 0, in->point - in->first_shown); -+ widget_move (&in->widget, 0, charcolumn(in, in->point) - charcolumn(in, in->first_shown)); - - if (clear_first) - in->first = 0; -@@ -919,7 +1033,7 @@ - show_hist (GList *history, int widget_x, int widget_y) - { - GList *hi, *z; -- size_t maxlen = strlen (i18n_htitle ()), i, count = 0; -+ size_t maxlen = mbstrlen (i18n_htitle ()), i, count = 0; - int x, y, w, h; - char *q, *r = 0; - Dlg_head *query_dlg; -@@ -932,7 +1046,7 @@ - z = g_list_first (history); - hi = z; - while (hi) { -- if ((i = strlen ((char *) hi->data)) > maxlen) -+ if ((i = mbstrlen ((char *) hi->data)) > maxlen) - maxlen = i; - count++; - hi = g_list_next (hi); -@@ -1104,35 +1218,83 @@ - in->need_push = 1; - in->buffer [0] = 0; - in->point = 0; -+ in->charpoint = 0; - in->mark = 0; - free_completions (in); - update_input (in, 0); - } - -+static void -+move_buffer_backward (WInput *in, int point) -+{ -+ int i, pos, len; -+ int str_len = mbstrlen (in->buffer); -+ if (point >= str_len) return; -+ -+ pos = charpos(in,point); -+ len = charpos(in,point + 1) - pos; -+ -+ for (i = pos; in->buffer [i + len - 1]; i++) -+ in->buffer [i] = in->buffer [i + len]; -+} -+ - static cb_ret_t - insert_char (WInput *in, int c_code) - { - size_t i; -+#ifdef UTF8 -+ mbstate_t mbs; -+ int res; -+ -+ memset (&mbs, 0, sizeof (mbs)); -+#else -+ in->charpoint = 0; -+#endif /* UTF8 */ - - if (c_code == -1) - return MSG_NOT_HANDLED; - -+#ifdef UTF8 -+ if (in->charpoint >= MB_CUR_MAX) return 1; -+ -+ in->charbuf[in->charpoint++] = c_code; -+ -+ res = mbrlen((char *)in->charbuf, in->charpoint, &mbs); -+ if (res < 0) { -+ if (res != -2) in->charpoint = 0; /* broken multibyte char, skip */ -+ return 1; -+ } -+ -+#endif /* UTF8 */ - in->need_push = 1; -- if (strlen (in->buffer)+1 == (size_t) in->current_max_len){ -+ if (strlen (in->buffer) + 1 + in->charpoint >= (size_t) in->current_max_len){ - /* Expand the buffer */ -- char *narea = g_realloc (in->buffer, in->current_max_len + in->field_len); -+ char *narea = g_realloc (in->buffer, in->current_max_len + in->field_len + in->charpoint); - if (narea){ - in->buffer = narea; -- in->current_max_len += in->field_len; -+ in->current_max_len += in->field_len + in->charpoint; - } - } -+#ifndef UTF8 - if (strlen (in->buffer)+1 < (size_t) in->current_max_len){ - size_t l = strlen (&in->buffer [in->point]); - for (i = l+1; i > 0; i--) - in->buffer [in->point+i] = in->buffer [in->point+i-1]; - in->buffer [in->point] = c_code; -+#else /* UTF8 */ -+ if (strlen (in->buffer) + in->charpoint < in->current_max_len){ -+ size_t ins_point = charpos(in,in->point); /* bytes from begin */ -+ /* move chars */ -+ size_t rest_bytes = strlen (in->buffer + ins_point); -+ -+ for (i = rest_bytes + 1; i > 0; i--) -+ in->buffer [ins_point + i + in->charpoint - 1] = in->buffer [ins_point + i - 1]; -+ -+ memcpy(in->buffer + ins_point, in->charbuf, in->charpoint); -+#endif /* UTF8 */ - in->point++; - } -+ in->charpoint = 0; - return MSG_HANDLED; - } - -@@ -1140,12 +1302,14 @@ - beginning_of_line (WInput *in) - { - in->point = 0; -+ in->charpoint = 0; - } - - static void - end_of_line (WInput *in) - { -- in->point = strlen (in->buffer); -+ in->point = mbstrlen (in->buffer); -+ in->charpoint = 0; - } - - static void -@@ -1153,18 +1317,21 @@ - { - if (in->point) - in->point--; -+ in->charpoint = 0; - } - - static void - forward_char (WInput *in) - { -- if (in->buffer [in->point]) -+ if (in->buffer [charpos(in,in->point)]) - in->point++; -+ in->charpoint = 0; - } - - static void - forward_word (WInput *in) - { -+#ifndef UTF8 - unsigned char *p = in->buffer+in->point; - - while (*p && (isspace (*p) || ispunct (*p))) -@@ -1172,11 +1339,39 @@ - while (*p && isalnum (*p)) - p++; - in->point = p - in->buffer; -+#else /* UTF8 */ -+ mbstate_t mbs; -+ int len = mbstrlen (in->buffer); -+ memset (&mbs, 0, sizeof (mbs)); -+ -+ while (in->point < len) { -+ wchar_t c; -+ char *p = in->buffer + charpos(in,in->point); -+ size_t res = mbrtowc(&c, p, strlen(p), &mbs); -+ if (res <= 0 || !(iswspace (c) || iswpunct (c))) -+ break; -+ in->point++; -+ } -+ -+ memset (&mbs, 0, sizeof (mbs)); -+ -+ while (in->point < len) { -+ wchar_t c; -+ char *p = in->buffer + charpos(in,in->point); -+ size_t res = mbrtowc(&c, p, strlen(p), &mbs); -+ if (res <= 0 || !iswalnum (c)) -+ break; -+ in->point++; -+ } -+ -+ in->charpoint = 0; -+#endif /* UTF8 */ - } - - static void - backward_word (WInput *in) - { -+#ifndef UTF8 - unsigned char *p = in->buffer+in->point; - - while (p-1 > in->buffer-1 && (isspace (*(p-1)) || ispunct (*(p-1)))) -@@ -1184,6 +1379,32 @@ - while (p-1 > in->buffer-1 && isalnum (*(p-1))) - p--; - in->point = p - in->buffer; -+#else /* UTF8 */ -+ mbstate_t mbs; -+ -+ memset (&mbs, 0, sizeof (mbs)); -+ while (in->point > 0) { -+ wchar_t c; -+ char *p = in->buffer + charpos(in,in->point); -+ size_t res = mbrtowc(&c, p, strlen(p), &mbs); -+ if (*p && (res <= 0 || !(iswspace (c) || iswpunct (c)))) -+ break; -+ in->point--; -+ } -+ -+ memset (&mbs, 0, sizeof (mbs)); -+ -+ while (in->point > 0) { -+ wchar_t c; -+ char *p = in->buffer + charpos(in,in->point); -+ size_t res = mbrtowc(&c, p, strlen(p), &mbs); -+ if (*p && (res <= 0 || !iswalnum (c))) -+ break; -+ in->point--; -+ } -+ -+ in->charpoint = 0; -+#endif /* UTF8 */ - } - - static void -@@ -1216,8 +1437,9 @@ - - if (!in->point) - return; -- for (i = in->point; in->buffer [i-1]; i++) -- in->buffer [i-1] = in->buffer [i]; -+ -+ move_buffer_backward(in, in->point - 1); -+ in->charpoint = 0; - in->need_push = 1; - in->point--; - } -@@ -1225,10 +1447,8 @@ - static void - delete_char (WInput *in) - { -- int i; -- -- for (i = in->point; in->buffer [i]; i++) -- in->buffer [i] = in->buffer [i+1]; -+ move_buffer_backward(in, in->point); -+ in->charpoint = 0; - in->need_push = 1; - } - -@@ -1243,6 +1463,9 @@ - - g_free (kill_buffer); - -+ first=charpos(in,first); -+ last=charpos(in,last); -+ - kill_buffer = g_strndup(in->buffer+first,last-first); - } - -@@ -1251,11 +1474,13 @@ - { - int first = min (x_first, x_last); - int last = max (x_first, x_last); -- size_t len = strlen (&in->buffer [last]) + 1; -+ size_t len; - - in->point = first; - in->mark = first; -- memmove (&in->buffer [first], &in->buffer [last], len); -+ len = strlen (&in->buffer [charpos(in,last)]) + 1; -+ memmove (&in->buffer [charpos(in,first)], &in->buffer [charpos(in,last)], len); -+ in->charpoint = 0; - in->need_push = 1; - } - -@@ -1272,6 +1497,8 @@ - copy_region (in, old_point, new_point); - delete_region (in, old_point, new_point); - in->need_push = 1; -+ in->charpoint = 0; -+ in->charpoint = 0; - } - - static void -@@ -1315,16 +1542,20 @@ - - if (!kill_buffer) - return; -+ in->charpoint = 0; - for (p = kill_buffer; *p; p++) - insert_char (in, *p); -+ in->charpoint = 0; - } - - static void - kill_line (WInput *in) - { -+ int chp = charpos(in,in->point); - g_free (kill_buffer); -- kill_buffer = g_strdup (&in->buffer [in->point]); -- in->buffer [in->point] = 0; -+ kill_buffer = g_strdup (&in->buffer [chp]); -+ in->buffer [chp] = 0; -+ in->charpoint = 0; - } - - void -@@ -1334,9 +1565,10 @@ - g_free (in->buffer); - in->buffer = g_strdup (text); /* was in->buffer->text */ - in->current_max_len = strlen (in->buffer) + 1; -- in->point = strlen (in->buffer); -+ in->point = mbstrlen (in->buffer); - in->mark = 0; - in->need_push = 1; -+ in->charpoint = 0; - } - - static void -@@ -1461,6 +1693,7 @@ - *in->buffer = 0; - in->point = 0; - in->first = 0; -+ in->charpoint = 0; - } - - cb_ret_t -@@ -1489,7 +1722,11 @@ - } - } - if (!input_map [i].fn){ -+#ifndef UTF8 - if (c_code > 255 || !is_printable (c_code)) -+#else /* UTF8 */ -+ if (c_code > 255) -+#endif /* UTF8 */ - return MSG_NOT_HANDLED; - if (in->first){ - port_region_marked_for_delete (in); -@@ -1523,6 +1760,9 @@ - if (pos != in->point) - free_completions (in); - in->point = pos; -+#ifdef UTF8 -+ in->charpoint = 0; -+#endif /* UTF8 */ - update_input (in, 1); - } - -@@ -1562,7 +1802,7 @@ - return MSG_HANDLED; - - case WIDGET_CURSOR: -- widget_move (&in->widget, 0, in->point - in->first_shown); -+ widget_move (&in->widget, 0, charcolumn(in, in->point) - charcolumn(in, in->first_shown)); - return MSG_HANDLED; - - case WIDGET_DESTROY: -@@ -1584,7 +1824,7 @@ - && should_show_history_button (in)) { - do_show_hist (in); - } else { -- in->point = strlen (in->buffer); -+ in->point = mbstrlen (in->buffer); - if (event->x - in->first_shown - 1 < in->point) - in->point = event->x - in->first_shown - 1; - if (in->point < 0) -@@ -1642,56 +1882,91 @@ - in->is_password = 0; - - strcpy (in->buffer, def_text); -- in->point = strlen (in->buffer); -+ in->point = mbstrlen (in->buffer); -+ in->charpoint = 0; - return in; - } - -- --/* Listbox widget */ -+/* Vertical scrollbar widget */ - --/* Should draw the scrollbar, but currently draws only -- * indications that there is more information -- */ --static int listbox_cdiff (WLEntry *s, WLEntry *e); -- --static void --listbox_drawscroll (WListbox *l) -+void -+vscrollbar (Widget widget, int height, int width, int tpad, int bpad, -+ int selected, int count, gboolean color) - { - int line; -- int i, top; -- int max_line = l->height-1; -- -+ int i; -+ - /* Are we at the top? */ -- widget_move (&l->widget, 0, l->width); -- if (l->list == l->top) -- one_vline (); -+ widget_move (&widget, tpad, width); -+#ifndef UTF8 -+ if (!selected) -+ one_vline (); -+ else -+ addch ('^'); -+#else -+ if (color) attrset (MARKED_COLOR); -+ if (is_utf8) -+ SLsmg_write_string("▲"); - else -- addch ('^'); -+ addch ('^'); -+ if (color) attrset (NORMAL_COLOR); -+#endif - - /* Are we at the bottom? */ -- widget_move (&l->widget, max_line, l->width); -- top = listbox_cdiff (l->list, l->top); -- if ((top + l->height == l->count) || l->height >= l->count) -- one_vline (); -+ widget_move (&widget, height-1-bpad, width); -+#ifndef UTF8 -+ if (selected == count-1) -+ one_vline (); -+ else -+ addch ('v'); -+#else -+ if (color) attrset (MARKED_COLOR); -+ if (is_utf8) -+ SLsmg_write_string("▼"); - else -- addch ('v'); -+ addch('v'); -+ if (color) attrset (NORMAL_COLOR); -+#endif - - /* Now draw the nice relative pointer */ -- if (l->count) -- line = 1+ ((l->pos * (l->height-2)) / l->count); -+ if (count > 1) -+ line = tpad + 1 + ((selected * (height-3-tpad-bpad)) / (count-1)); - else -- line = 0; -- -- for (i = 1; i < max_line; i++){ -- widget_move (&l->widget, i, l->width); -- if (i != line) -- one_vline (); -- else -- addch ('*'); -+ line = 0; -+ -+ for (i = tpad + 1; i < height-1-bpad; i++){ -+ widget_move (&widget, i, width); -+ if (i != line) -+#ifndef UTF8 -+ one_vline (); -+ else -+ addch ('*'); -+#else -+ if (is_utf8) -+ SLsmg_write_string("▒"); -+ else -+ one_vline(); -+ else { -+ if (color) attrset (MARKED_COLOR); -+ if (is_utf8) -+ SLsmg_write_string("●"); -+ else -+ addch('*'); -+ if (color) attrset (NORMAL_COLOR); -+ } -+#endif - } - } -- --static void -+ -+ -+/* Listbox widget */ -+ -+/* Should draw the scrollbar, but currently draws only -+ * indications that there is more information -+ */ -+static int listbox_cdiff (WLEntry *s, WLEntry *e); -+ -+void - listbox_draw (WListbox *l, int focused) - { - WLEntry *e; -@@ -1732,7 +2007,7 @@ - if (!l->scrollbar) - return; - attrset (normalc); -- listbox_drawscroll (l); -+ vscrollbar (l->widget, l->height, l->width, 0, 0, l->pos, l->count, FALSE); - } - - /* Returns the number of items between s and e, -diff -urN mc-4.6.1.orig/src/widget.h mc-4.6.1/src/widget.h ---- mc-4.6.1.orig/src/widget.h 2004-08-30 00:46:16.000000000 +0600 -+++ mc-4.6.1/src/widget.h 2007-01-19 18:33:59.000000000 +0500 -@@ -25,6 +25,7 @@ - char *text; /* text of button */ - int hotkey; /* hot KEY */ - int hotpos; /* offset hot KEY char in text */ -+ wchar_t hotwc; - bcback callback; /* Callback function */ - } WButton; - -@@ -43,6 +44,7 @@ - char *text; /* text of check button */ - int hotkey; /* hot KEY */ - int hotpos; /* offset hot KEY char in text */ -+ wchar_t hotwc; - } WCheck; - - typedef struct WGauge { -@@ -58,16 +60,20 @@ - - typedef struct { - Widget widget; -- int point; /* cursor position in the input line */ -- int mark; /* The mark position */ -- int first_shown; /* Index of the first shown character */ -- int current_max_len; /* Maximum length of input line */ -- int field_len; /* Length of the editing field */ -+ int point; /* cursor position in the input line (mb chars) */ -+ int mark; /* The mark position (mb chars) */ -+ int first_shown; /* Index of the first shown character (mb chars) */ -+ int current_max_len; /* Maximum length of input line (bytes) */ -+ int field_len; /* Length of the editing field (mb chars) */ - int color; /* color used */ - int first; /* Is first keystroke? */ - int disable_update; /* Do we want to skip updates? */ - int is_password; /* Is this a password input line? */ - unsigned char *buffer; /* pointer to editing buffer */ -+#ifdef UTF8 -+ unsigned char charbuf[MB_LEN_MAX]; -+#endif /* UTF8 */ -+ int charpoint; - GList *history; /* The history */ - int need_push; /* need to push the current Input on hist? */ - char **completions; /* Possible completions array */ -@@ -176,6 +182,10 @@ - /* Listbox manager */ - WLEntry *listbox_get_data (WListbox *l, int pos); - -+/* Vertical scrollbar */ -+void vscrollbar (Widget widget, int height, int width, int tpad, int bpad, -+ int selected, int count, gboolean color); -+ - /* search text int listbox entries */ - WLEntry *listbox_search_text (WListbox *l, const char *text); - void listbox_select_entry (WListbox *l, WLEntry *dest); -diff -urN mc-4.6.1.orig/src/wtools.c mc-4.6.1/src/wtools.c ---- mc-4.6.1.orig/src/wtools.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/src/wtools.c 2007-01-19 18:33:59.000000000 +0500 -@@ -48,11 +48,11 @@ - /* Adjust sizes */ - lines = (lines > LINES - 6) ? LINES - 6 : lines; - -- if (title && (cols < (len = strlen (title) + 2))) -+ if (title && (cols < (len = mbstrlen (title) + 2))) - cols = len; - - /* no &, but 4 spaces around button for brackets and such */ -- if (cols < (len = strlen (cancel_string) + 3)) -+ if (cols < (len = mbstrlen (cancel_string) + 3)) - cols = len; - - cols = cols > COLS - 6 ? COLS - 6 : cols; -@@ -123,7 +123,7 @@ - va_start (ap, count); - for (i = 0; i < count; i++) { - char *cp = va_arg (ap, char *); -- win_len += strlen (cp) + 6; -+ win_len += mbstrlen (cp) + 6; - if (strchr (cp, '&') != NULL) - win_len--; - } -@@ -131,7 +131,7 @@ - } - - /* count coordinates */ -- cols = 6 + max (win_len, max ((int) strlen (header), msglen (text, &lines))); -+ cols = 6 + max (win_len, max ((int) mbstrlen (header), msglen (text, &lines))); - lines += 4 + (count > 0 ? 2 : 0); - xpos = COLS / 2 - cols / 2; - ypos = LINES / 3 - (lines - 3) / 2; -@@ -146,7 +146,7 @@ - va_start (ap, count); - for (i = 0; i < count; i++) { - cur_name = va_arg (ap, char *); -- xpos = strlen (cur_name) + 6; -+ xpos = mbstrlen (cur_name) + 6; - if (strchr (cur_name, '&') != NULL) - xpos--; - -@@ -457,7 +457,7 @@ - g_strlcpy (histname + 3, header, 61); - quick_widgets[2].histname = histname; - -- len = max ((int) strlen (header), msglen (text, &lines)) + 4; -+ len = max ((int) mbstrlen (header), msglen (text, &lines)) + 4; - len = max (len, 64); - - /* The special value of def_text is used to identify password boxes -@@ -477,7 +477,7 @@ - */ - quick_widgets[0].relative_x = len / 2 + 4; - quick_widgets[1].relative_x = -- len / 2 - (strlen (_(quick_widgets[1].text)) + 9); -+ len / 2 - (mbstrlen (_(quick_widgets[1].text)) + 9); - quick_widgets[0].x_divisions = quick_widgets[1].x_divisions = len; - #endif /* ENABLE_NLS */ - -diff -urN mc-4.6.1.orig/syntax/c.syntax mc-4.6.1/syntax/c.syntax ---- mc-4.6.1.orig/syntax/c.syntax 2005-05-31 12:03:45.000000000 +0600 -+++ mc-4.6.1/syntax/c.syntax 2007-01-19 18:33:58.000000000 +0500 -@@ -32,34 +32,7 @@ - keyword whole volatile yellow - keyword whole while yellow - keyword whole asm yellow -- keyword whole catch yellow -- keyword whole class yellow -- keyword whole friend yellow -- keyword whole delete yellow - keyword whole inline yellow -- keyword whole new yellow -- keyword whole operator yellow -- keyword whole private yellow -- keyword whole protected yellow -- keyword whole public yellow -- keyword whole this yellow -- keyword whole throw yellow -- keyword whole template yellow -- keyword whole try yellow -- keyword whole virtual yellow -- keyword whole bool yellow -- keyword whole const_cast yellow -- keyword whole dynamic_cast yellow -- keyword whole explicit yellow -- keyword whole false yellow -- keyword whole mutable yellow -- keyword whole namespace yellow -- keyword whole reinterpret_cast yellow -- keyword whole static_cast yellow -- keyword whole true yellow -- keyword whole typeid yellow -- keyword whole typename yellow -- keyword whole using yellow - keyword whole wchar_t yellow - keyword whole ... yellow - keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta -diff -urN mc-4.6.1.orig/syntax/cxx.syntax mc-4.6.1/syntax/cxx.syntax ---- mc-4.6.1.orig/syntax/cxx.syntax 1970-01-01 05:00:00.000000000 +0500 -+++ mc-4.6.1/syntax/cxx.syntax 2007-01-19 18:33:58.000000000 +0500 -@@ -0,0 +1,128 @@ -+context default -+ keyword whole auto yellow -+ keyword whole break yellow -+ keyword whole case yellow -+ keyword whole char yellow -+ keyword whole const yellow -+ keyword whole continue yellow -+ keyword whole default yellow -+ keyword whole do yellow -+ keyword whole double yellow -+ keyword whole else yellow -+ keyword whole enum yellow -+ keyword whole extern yellow -+ keyword whole float yellow -+ keyword whole for yellow -+ keyword whole goto yellow -+ keyword whole if yellow -+ keyword whole int yellow -+ keyword whole long yellow -+ keyword whole register yellow -+ keyword whole return yellow -+ keyword whole short yellow -+ keyword whole signed yellow -+ keyword whole sizeof yellow -+ keyword whole static yellow -+ keyword whole struct yellow -+ keyword whole switch yellow -+ keyword whole typedef yellow -+ keyword whole union yellow -+ keyword whole unsigned yellow -+ keyword whole void yellow -+ keyword whole volatile yellow -+ keyword whole while yellow -+ keyword whole asm yellow -+ keyword whole catch yellow -+ keyword whole class yellow -+ keyword whole friend yellow -+ keyword whole delete yellow -+ keyword whole inline yellow -+ keyword whole new yellow -+ keyword whole operator yellow -+ keyword whole private yellow -+ keyword whole protected yellow -+ keyword whole public yellow -+ keyword whole this yellow -+ keyword whole throw yellow -+ keyword whole template yellow -+ keyword whole try yellow -+ keyword whole virtual yellow -+ keyword whole bool yellow -+ keyword whole const_cast yellow -+ keyword whole dynamic_cast yellow -+ keyword whole explicit yellow -+ keyword whole false yellow -+ keyword whole mutable yellow -+ keyword whole namespace yellow -+ keyword whole reinterpret_cast yellow -+ keyword whole static_cast yellow -+ keyword whole true yellow -+ keyword whole typeid yellow -+ keyword whole typename yellow -+ keyword whole using yellow -+ keyword whole wchar_t yellow -+ keyword whole ... yellow -+ keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta -+ -+ keyword /\* brown -+ keyword \*/ brown -+ keyword // brown -+ -+ keyword '\\\{"abtnvfr\}' brightgreen -+ keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen -+ keyword '\\'' brightgreen -+ keyword '\\\\' brightgreen -+ keyword '\\0' brightgreen -+ keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~\}' brightgreen -+ -+ keyword > yellow -+ keyword < yellow -+ keyword \+ yellow -+ keyword - yellow -+ keyword \* yellow -+ keyword / yellow -+ keyword % yellow -+ keyword = yellow -+ keyword != yellow -+ keyword == yellow -+ keyword { brightcyan -+ keyword } brightcyan -+ keyword ( brightcyan -+ keyword ) brightcyan -+ keyword [ brightcyan -+ keyword ] brightcyan -+ keyword , brightcyan -+ keyword : brightcyan -+ keyword ? brightcyan -+ keyword ; brightmagenta -+ -+context exclusive /\* \*/ brown -+ spellcheck -+ -+context exclusive // \n brown -+ spellcheck -+ -+context linestart # \n brightred -+ keyword \\\n yellow -+ keyword /\**\*/ brown -+ keyword //*\n brown -+ keyword "+" red -+ keyword <+> red -+ -+context " " green -+ spellcheck -+ keyword \\" brightgreen -+ keyword %% brightgreen -+ keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen -+ keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen -+ keyword %\[hl\]n brightgreen -+ keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen -+ keyword %[*] brightgreen -+ keyword %c brightgreen -+ keyword %p brightgreen -+ keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen -+ keyword \\\\ brightgreen -+ keyword \\' brightgreen -+ keyword \\\{abtnvfr\} brightgreen -+ -+ -diff -urN mc-4.6.1.orig/syntax/Makefile.am mc-4.6.1/syntax/Makefile.am ---- mc-4.6.1.orig/syntax/Makefile.am 2005-03-19 22:39:06.000000000 +0500 -+++ mc-4.6.1/syntax/Makefile.am 2007-01-19 18:33:58.000000000 +0500 -@@ -4,6 +4,7 @@ - aspx.syntax \ - assembler.syntax \ - c.syntax \ -+ cxx.syntax \ - cs.syntax \ - changelog.syntax \ - diff.syntax \ -diff -urN mc-4.6.1.orig/syntax/Makefile.in mc-4.6.1/syntax/Makefile.in ---- mc-4.6.1.orig/syntax/Makefile.in 2005-07-23 22:53:15.000000000 +0600 -+++ mc-4.6.1/syntax/Makefile.in 2007-01-19 18:33:58.000000000 +0500 -@@ -218,6 +218,7 @@ - aspx.syntax \ - assembler.syntax \ - c.syntax \ -+ cxx.syntax \ - cs.syntax \ - changelog.syntax \ - diff.syntax \ -diff -urN mc-4.6.1.orig/syntax/sh.syntax mc-4.6.1/syntax/sh.syntax ---- mc-4.6.1.orig/syntax/sh.syntax 2004-12-02 15:47:14.000000000 +0500 -+++ mc-4.6.1/syntax/sh.syntax 2007-01-19 18:33:58.000000000 +0500 -@@ -41,7 +41,9 @@ - keyword whole bg yellow - keyword whole break yellow - keyword whole case yellow -+ keyword whole clear yellow - keyword whole continue yellow -+ keyword whole declare yellow - keyword whole done yellow - keyword whole do yellow - keyword whole elif yellow -@@ -56,11 +58,13 @@ - keyword whole for yellow - keyword whole if yellow - keyword whole in yellow -+ keyword whole let yellow - keyword whole read yellow - keyword whole return yellow - keyword whole select yellow - keyword whole set yellow - keyword whole shift yellow -+ keyword whole source yellow - keyword whole then yellow - keyword whole trap yellow - keyword whole umask yellow -@@ -69,6 +73,8 @@ - keyword whole wait yellow - keyword whole while yellow - -+ keyword whole apt-get cyan -+ keyword whole ar cyan - keyword whole arch cyan - keyword whole ash cyan - keyword whole awk cyan -@@ -77,90 +83,204 @@ - keyword whole bg_backup cyan - keyword whole bg_restore cyan - keyword whole bsh cyan -+ keyword whole bzip cyan -+ keyword whole bzip2 cyan -+ keyword whole cam cyan - keyword whole cat cyan - keyword whole cd cyan -+ keyword whole cdda2wav cyan - keyword whole chgrp cyan - keyword whole chmod cyan - keyword whole chown cyan -+ keyword whole cmp cyan -+ keyword whole col cyan -+ keyword whole compress cyan - keyword whole cp cyan - keyword whole cpio cyan -+ keyword whole cpp cyan - keyword whole csh cyan -+ keyword whole curl cyan -+ keyword whole cut cyan - keyword whole date cyan - keyword whole dd cyan - keyword whole df cyan -+ keyword whole dialog cyan -+ keyword whole diff cyan -+ keyword whole dirname cyan - keyword whole dmesg cyan - keyword whole dnsdomainname cyan - keyword whole doexec cyan - keyword whole domainname cyan -+ keyword whole dpkg cyan -+ keyword whole dpkg-buildpackage cyan -+ keyword whole dpkg-scanpackages cyan -+ keyword whole dpkg-scansources cyan - keyword whole echo cyan - keyword whole ed cyan -+ keyword whole editor cyan - keyword whole egrep cyan - keyword whole ex cyan -+ keyword whole fakeroot cyan - keyword whole false cyan -+ keyword whole fdformat cyan -+ keyword whole fetchmail cyan - keyword whole fgrep cyan - keyword whole find cyan -+ keyword whole formail cyan -+ keyword whole free cyan -+ keyword whole freeze cyan - keyword whole fsconf cyan - keyword whole gawk cyan -+ keyword whole gdb cyan -+ keyword whole gcc cyan - keyword whole grep cyan - keyword whole gunzip cyan - keyword whole gzip cyan -+ keyword whole ha cyan - keyword whole hostname cyan - keyword whole igawk cyan -+ keyword whole insmod cyan - keyword whole ipcalc cyan -+ keyword whole iptables cyan - keyword whole kill cyan - keyword whole ksh cyan -+ keyword whole lame cyan -+ keyword whole less cyan -+ keyword whole lharc cyan -+ keyword whole lilo cyan -+ keyword whole linux_logo cyan - keyword whole linuxconf cyan - keyword whole ln cyan -+ keyword whole locale cyan -+ keyword whole logger cyan - keyword whole login cyan - keyword whole lpdconf cyan - keyword whole ls cyan -+ keyword whole lynx cyan - keyword whole mail cyan -+ keyword whole man cyan -+ keyword whole mc cyan -+ keyword whole mcedit cyan -+ keyword whole mcview cyan -+ keyword whole mimedecode cyan - keyword whole mkdir cyan -+ keyword whole mkdirhier cyan -+ keyword whole mkfs.ext2 cyan -+ keyword whole mkfs.ext3 cyan -+ keyword whole mkfs.minix cyan -+ keyword whole mkfs.msdos cyan -+ keyword whole mke2fs cyan -+ keyword whole mkdosfs cyan -+ keyword whole mkinitrd cyan - keyword whole mknod cyan - keyword whole mktemp cyan -+ keyword whole modprobe cyan - keyword whole more cyan - keyword whole mount cyan -+ keyword whole mozilla cyan -+ keyword whole mp3info cyan -+ keyword whole munpack cyan -+ keyword whole msgfmt cyan - keyword whole mt cyan -+ keyword whole mutt cyan - keyword whole mv cyan - keyword whole netconf cyan - keyword whole netstat cyan - keyword whole nice cyan - keyword whole nisdomainname cyan -+ keyword whole nm cyan -+ keyword whole patch cyan -+ keyword whole pinfo cyan - keyword whole ping cyan -+ keyword whole procmail cyan - keyword whole ps cyan - keyword whole pwd cyan -+ keyword whole rar cyan - keyword whole red cyan - keyword whole remadmin cyan -+ keyword whole rename cyan - keyword whole rm cyan - keyword whole rmdir cyan -+ keyword whole rmmod cyan -+ keyword whole rplay cyan - keyword whole rpm cyan -+ keyword whole rpm2cpio cyan - keyword whole sed cyan - keyword whole set cyan - keyword whole setserial cyan - keyword whole sh cyan - keyword whole sleep cyan - keyword whole sort cyan -+ keyword whole sa-learn cyan -+ keyword whole spamassassin cyan -+ keyword whole spamc cyan -+ keyword whole spamd cyan -+ keyword whole ssmtp cyan -+ keyword whole strace cyan - keyword whole stty cyan - keyword whole su cyan - keyword whole sync cyan - keyword whole taper cyan - keyword whole tar cyan -+ keyword whole tcpdump cyan - keyword whole tcsh cyan - keyword whole test cyan -+ keyword whole tempfile cyan - keyword whole time cyan -+ keyword whole tnef cyan - keyword whole touch cyan -+ keyword whole tr cyan - keyword whole true cyan -+ keyword whole tune2fs cyan - keyword whole umount cyan - keyword whole uname cyan -+ keyword whole unarj cyan -+ keyword whole uniq cyan -+ keyword whole unzip cyan -+ keyword whole uptime cyan - keyword whole userconf cyan - keyword whole usleep cyan - keyword whole vi cyan - keyword whole view cyan - keyword whole vim cyan -+ keyword whole wc cyan -+ keyword whole wget cyan -+ keyword whole whiptail cyan -+ keyword whole wvWare cyan - keyword whole xconf cyan -+ keyword whole xgettext cyan -+ keyword whole xmessage cyan -+ keyword whole xmodmap cyan -+ keyword whole xterm cyan - keyword whole ypdomainname cyan - keyword whole zcat cyan -+ keyword whole zgv cyan -+ keyword whole zip cyan -+ keyword whole zoo cyan - keyword whole zsh cyan -+ keyword whole Xdialog cyan -+ -+ keyword whole gpg red -+ keyword whole md5sum red -+ keyword whole openssl red -+ keyword whole ssh red -+ -+ keyword whole TEXTDOMAINDIR magenta -+ keyword whole TEXTDOMAIN magenta -+ keyword whole VERSION magenta -+ -+ keyword whole jpegtopnm cyan -+ keyword whole pnmscale cyan -+ keyword whole ppmtoxpm cyan -+ -+ keyword whole /dev/audio brightblue -+ keyword whole /dev/dsp brightblue -+ keyword whole /dev/null brightblue -+ keyword whole /dev/mixed brightblue -+ keyword whole /dev/stdin brightblue -+ keyword whole /dev/stdout brightblue -+ keyword whole /dev/stderr brightblue -+ keyword whole /dev/zero brightblue - - wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_ - -@@ -224,7 +344,9 @@ - - keyword whole break yellow - keyword whole case yellow -+ keyword whole clear yellow - keyword whole continue yellow -+ keyword whole declare yellow - keyword whole done yellow - keyword whole do yellow - keyword whole elif yellow -@@ -238,11 +360,15 @@ - keyword whole return yellow - keyword whole select yellow - keyword whole shift yellow -+ keyword whole source yellow - keyword whole then yellow - keyword whole trap yellow - keyword whole until yellow -+ keyword whole wait yellow - keyword whole while yellow - -+ keyword whole apt-get cyan -+ keyword whole ar cyan - keyword whole arch cyan - keyword whole ash cyan - keyword whole awk cyan -@@ -251,89 +377,194 @@ - keyword whole bg_backup cyan - keyword whole bg_restore cyan - keyword whole bsh cyan -+ keyword whole bzip cyan -+ keyword whole bzip2 cyan -+ keyword whole cam cyan - keyword whole cat cyan - keyword whole cd cyan -+ keyword whole cdda2wav cyan - keyword whole chgrp cyan - keyword whole chmod cyan - keyword whole chown cyan -+ keyword whole cmp cyan -+ keyword whole col cyan -+ keyword whole compress cyan - keyword whole cp cyan - keyword whole cpio cyan -+ keyword whole cpp cyan - keyword whole csh cyan -+ keyword whole curl cyan -+ keyword whole cut cyan - keyword whole date cyan - keyword whole dd cyan - keyword whole df cyan -+ keyword whole dialog cyan -+ keyword whole diff cyan -+ keyword whole dirname cyan - keyword whole dmesg cyan - keyword whole dnsdomainname cyan - keyword whole doexec cyan - keyword whole domainname cyan -+ keyword whole dpkg cyan -+ keyword whole dpkg-buildpackage cyan -+ keyword whole dpkg-scanpackages cyan -+ keyword whole dpkg-scansources cyan - keyword whole echo cyan - keyword whole ed cyan -+ keyword whole editor cyan - keyword whole egrep cyan - keyword whole ex cyan -+ keyword whole fakeroot cyan - keyword whole false cyan -+ keyword whole fdformat cyan -+ keyword whole fetchmail cyan - keyword whole fgrep cyan - keyword whole find cyan -+ keyword whole free cyan -+ keyword whole freeze cyan - keyword whole fsconf cyan - keyword whole gawk cyan -+ keyword whole gdb cyan -+ keyword whole gcc cyan - keyword whole grep cyan - keyword whole gunzip cyan - keyword whole gzip cyan -+ keyword whole ha cyan - keyword whole hostname cyan - keyword whole igawk cyan -+ keyword whole insmod cyan -+ keyword whole iptables cyan - keyword whole ipcalc cyan - keyword whole kill cyan - keyword whole ksh cyan -+ keyword whole lame cyan -+ keyword whole less cyan -+ keyword whole lharc cyan -+ keyword whole lilo cyan -+ keyword whole linux_logo cyan - keyword whole linuxconf cyan - keyword whole ln cyan -+ keyword whole locale cyan -+ keyword whole logger cyan - keyword whole login cyan - keyword whole lpdconf cyan - keyword whole ls cyan -+ keyword whole lynx cyan - keyword whole mail cyan -+ keyword whole man cyan -+ keyword whole mc cyan -+ keyword whole mcedit cyan -+ keyword whole mcview cyan -+ keyword whole mimedecode cyan - keyword whole mkdir cyan -+ keyword whole mkdirhier cyan -+ keyword whole mkfs.ext2 cyan -+ keyword whole mkfs.ext3 cyan -+ keyword whole mkfs.minix cyan -+ keyword whole mkfs.msdos cyan -+ keyword whole mke2fs cyan -+ keyword whole mkdosfs cyan -+ keyword whole mkinitrd cyan - keyword whole mknod cyan - keyword whole mktemp cyan -+ keyword whole modprobe cyan - keyword whole more cyan - keyword whole mount cyan -+ keyword whole mozilla cyan -+ keyword whole mp3info cyan -+ keyword whole msgfmt cyan - keyword whole mt cyan -+ keyword whole mutt cyan - keyword whole mv cyan - keyword whole netconf cyan - keyword whole netstat cyan - keyword whole nice cyan - keyword whole nisdomainname cyan -+ keyword whole nm cyan -+ keyword whole patch cyan -+ keyword whole pinfo cyan - keyword whole ping cyan - keyword whole ps cyan - keyword whole pwd cyan -+ keyword whole rar cyan - keyword whole red cyan - keyword whole remadmin cyan -+ keyword whole rename cyan - keyword whole rm cyan - keyword whole rmdir cyan -+ keyword whole rmmod cyan -+ keyword whole rplay cyan - keyword whole rpm cyan -+ keyword whole rpm2cpio cyan - keyword whole sed cyan - keyword whole set cyan - keyword whole setserial cyan - keyword whole sh cyan - keyword whole sleep cyan - keyword whole sort cyan -+ keyword whole sa-learn cyan -+ keyword whole spamassassin cyan -+ keyword whole spamc cyan -+ keyword whole spamd cyan -+ keyword whole ssmtp cyan -+ keyword whole strace cyan - keyword whole stty cyan - keyword whole su cyan - keyword whole sync cyan - keyword whole taper cyan - keyword whole tar cyan -+ keyword whole tcpdump cyan - keyword whole tcsh cyan -+ keyword whole tempfile cyan - keyword whole test cyan - keyword whole time cyan -+ keyword whole tnef cyan - keyword whole touch cyan -+ keyword whole tr cyan - keyword whole true cyan -+ keyword whole tune2fs cyan - keyword whole umount cyan - keyword whole uname cyan -+ keyword whole unarj cyan -+ keyword whole uniq cyan -+ keyword whole unzip cyan -+ keyword whole uptime cyan - keyword whole userconf cyan - keyword whole usleep cyan - keyword whole vi cyan - keyword whole view cyan - keyword whole vim cyan -+ keyword whole wc cyan -+ keyword whole wget cyan -+ keyword whole whiptail cyan -+ keyword whole wvWare cyan - keyword whole xconf cyan -+ keyword whole xgettext cyan -+ keyword whole xmessage cyan -+ keyword whole xmodmap cyan -+ keyword whole xterm cyan - keyword whole ypdomainname cyan - keyword whole zcat cyan -+ keyword whole zgv cyan -+ keyword whole zoo cyan -+ keyword whole zip cyan - keyword whole zsh cyan -+ keyword whole Xdialog cyan - -- -+ keyword whole gpg red -+ keyword whole md5sum red -+ keyword whole openssl red -+ keyword whole ssh red -+ -+ keyword whole TEXTDOMAINDIR magenta -+ keyword whole TEXTDOMAIN magenta -+ keyword whole VERSION magenta -+ -+ keyword whole /dev/audio brightblue -+ keyword whole /dev/dsp brightblue -+ keyword whole /dev/null brightblue -+ keyword whole /dev/mixed brightblue -+ keyword whole /dev/stdin brightblue -+ keyword whole /dev/stdout brightblue -+ keyword whole /dev/stderr brightblue -+ keyword whole /dev/zero brightblue -diff -urN mc-4.6.1.orig/syntax/Syntax mc-4.6.1/syntax/Syntax ---- mc-4.6.1.orig/syntax/Syntax 2005-05-26 13:21:34.000000000 +0600 -+++ mc-4.6.1/syntax/Syntax 2007-01-19 18:33:58.000000000 +0500 -@@ -45,9 +45,10 @@ - file ..\*\\.(rb|RB)$ Ruby\sProgram ^#!.\*([\s/]ruby|@RUBY@) - include ruby.syntax - --file ..\*\\.(man|[0-9n]|[0-9]x)$ NROFF\sSource -+file ..\*\\.(man|[0-9n]|[0-9](x|ncurses|ssl|p|pm|menu|form|vga|t|td))$ NROFF\sSource - include nroff.syntax - -+ - file ..\*\\.(htm|html|HTM|HTML)$ HTML\sFile - include html.syntax - -@@ -72,9 +73,12 @@ - file ..\*\.(texi|texinfo|TEXI|TEXINFO)$ Texinfo\sDocument - include texinfo.syntax - --file ..\*\\.([chC]|CC|cxx|cc|cpp|CPP|CXX|hxx|h\.in)$ C/C\+\+\sProgram -+file ..\*\\.c$ C\sProgram - include c.syntax - -+file ..\*\\.([hC]|CC|cxx|cc|cpp|CPP|CXX|hxx|h\.in)$ C/C\+\+\sProgram -+include cxx.syntax -+ - file ..\*\\.[fF]$ Fortran\sProgram - include fortran.syntax - -diff -urN mc-4.6.1.orig/vfs/cpio.c mc-4.6.1/vfs/cpio.c ---- mc-4.6.1.orig/vfs/cpio.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/vfs/cpio.c 2007-01-19 18:33:58.000000000 +0500 -@@ -83,7 +83,7 @@ - struct vfs_s_inode *inode; - }; - --static int cpio_position; -+static off_t cpio_position; - - static int cpio_find_head(struct vfs_class *me, struct vfs_s_super *super); - static int cpio_read_bin_head(struct vfs_class *me, struct vfs_s_super *super); -@@ -107,7 +107,7 @@ - return l; - } - --static int cpio_skip_padding(struct vfs_s_super *super) -+static off_t cpio_skip_padding(struct vfs_s_super *super) - { - switch(super->u.arch.type) { - case CPIO_BIN: -diff -urN mc-4.6.1.orig/vfs/direntry.c mc-4.6.1/vfs/direntry.c ---- mc-4.6.1.orig/vfs/direntry.c 2004-11-29 23:44:49.000000000 +0500 -+++ mc-4.6.1/vfs/direntry.c 2007-01-19 18:33:58.000000000 +0500 -@@ -243,7 +243,13 @@ - char * const pathref = g_strdup (a_path); - char *path = pathref; - -- canonicalize_pathname (path); -+ if (strncmp(me->name, "ftpfs", 5) != 0) -+ canonicalize_pathname (path); -+ else { -+ char *p = path + strlen (path) - 1; -+ while (p > path && *p == PATH_SEP) -+ *p-- = 0; -+ } - - while (root) { - while (*path == PATH_SEP) /* Strip leading '/' */ -@@ -313,7 +319,13 @@ - if (root->super->root != root) - vfs_die ("We have to use _real_ root. Always. Sorry."); - -- canonicalize_pathname (path); -+ if (strncmp (me->name, "ftpfs", 5) != 0) -+ canonicalize_pathname (path); -+ else { -+ char *p = path + strlen (path) - 1; -+ while (p > path && *p == PATH_SEP) -+ *p-- = 0; -+ } - - if (!(flags & FL_DIR)) { - char *dirname, *name, *save; -@@ -836,13 +848,13 @@ - return 0; - } - --static int -+static off_t - vfs_s_lseek (void *fh, off_t offset, int whence) - { - off_t size = FH->ino->st.st_size; - - if (FH->handle != -1){ /* If we have local file opened, we want to work with it */ -- int retval = lseek (FH->handle, offset, whence); -+ off_t retval = lseek (FH->handle, offset, whence); - if (retval == -1) - FH->ino->super->me->verrno = errno; - return retval; -diff -urN mc-4.6.1.orig/vfs/extfs/uzip.in mc-4.6.1/vfs/extfs/uzip.in ---- mc-4.6.1.orig/vfs/extfs/uzip.in 2004-09-02 06:16:33.000000000 +0600 -+++ mc-4.6.1/vfs/extfs/uzip.in 2007-01-19 18:33:58.000000000 +0500 -@@ -34,6 +34,14 @@ - # Command used to extract a file to standard out - my $cmd_extract = "$app_unzip -p"; - -+# -rw-r--r-- 2.2 unx 2891 tx 1435 defN 20000330.211927 ./edit.html -+# (perm) (?) (?) (size) (?) (zippedsize) (method) (yyyy)(mm)(dd)(HH)(MM) (fname) -+my $regex_zipinfo_line = qr"^(\S{7,10})\s+(\d+\.\d+)\s+(\S+)\s+(\d+)\s+(\S\S)\s+(\d+)\s+(\S{4})\s+(\d{4})(\d\d)(\d\d)\.(\d\d)(\d\d)(\d\d)\s(.*)$"; -+ -+# 2891 Defl:N 1435 50% 03-30-00 21:19 50cbaaf8 ./edit.html -+# (size) (method) (zippedsize) (zipratio) (mm)(dd)(yy)(HH)(MM) (cksum) (fname) -+my $regex_nonzipinfo_line = qr"^\s*(\d+)\s+(\S+)\s+(\d+)\s+(-?\d+\%)\s+(\d?\d)-(\d?\d)-(\d\d)\s+(\d?\d):(\d\d)\s+([0-9a-f]+)\s\s(.*)$"; -+ - # - # Main code - # -@@ -50,6 +58,50 @@ - my $cmd_list = ($op_has_zipinfo ? $cmd_list_zi : $cmd_list_nzi); - my ($qarchive, $aqarchive) = map (quotemeta, $archive, $aarchive); - -+# Strip all "." and ".." path components from a pathname. -+sub zipfs_canonicalize_pathname($) { -+ my ($fname) = @_; -+ $fname =~ s,/+,/,g; -+ $fname =~ s,(^|/)(?:\.?\./)+,$1,; -+ return $fname; -+} -+ -+# The Midnight Commander never calls this script with archive pathnames -+# starting with either "./" or "../". Some ZIP files contain such names, -+# so we need to build a translation table for them. -+my $zipfs_realpathname_table = undef; -+sub zipfs_realpathname($) { -+ my ($fname) = @_; -+ -+ if (!defined($zipfs_realpathname_table)) { -+ $zipfs_realpathname_table = {}; -+ if (!open(ZIP, "$cmd_list $qarchive |")) { -+ return $fname; -+ } -+ foreach my $line () { -+ $line =~ s/\r*\n*$//; -+ if ($op_has_zipinfo) { -+ if ($line =~ $regex_zipinfo_line) { -+ my ($fname) = ($14); -+ $zipfs_realpathname_table->{zipfs_canonicalize_pathname($fname)} = $fname; -+ } -+ } else { -+ if ($line =~ $regex_nonzipinfo_line) { -+ my ($fname) = ($11); -+ $zipfs_realpathname_table->{zipfs_canonicalize_pathname($fname)} = $fname; -+ } -+ } -+ } -+ if (!close(ZIP)) { -+ return $fname; -+ } -+ } -+ if (exists($zipfs_realpathname_table->{$fname})) { -+ return $zipfs_realpathname_table->{$fname}; -+ } -+ return $fname; -+} -+ - if ($cmd eq 'list') { &mczipfs_list(@ARGV); } - if ($cmd eq 'rm') { &mczipfs_rm(@ARGV); } - if ($cmd eq 'rmdir') { &mczipfs_rmdir(@ARGV); } -@@ -63,7 +115,12 @@ - - # Remove a file from the archive. - sub mczipfs_rm { -- my ($qfile) = map { &zipquotemeta($_) } @_; -+ my ($qfile) = map { &zipquotemeta(zipfs_realpathname($_)) } @_; -+ -+ # "./" at the beginning of pathnames is stripped by Info-ZIP, -+ # so convert it to "[.]/" to prevent stripping. -+ $qfile =~ s/^\\\./[.]/; -+ - &checkargs(1, 'archive file', @_); - &safesystem("$cmd_delete $qarchive $qfile >/dev/null"); - exit; -@@ -74,7 +131,7 @@ - # additional slash to the directory name to remove. I am not - # sure this is absolutely necessary, but it doesn't hurt. - sub mczipfs_rmdir { -- my ($qfile) = map { &zipquotemeta($_) } @_; -+ my ($qfile) = map { &zipquotemeta(zipfs_realpathname($_)) } @_; - &checkargs(1, 'archive directory', @_); - &safesystem("$cmd_delete $qarchive $qfile/ >/dev/null", 12); - exit; -@@ -84,7 +141,7 @@ - # Note that we don't need to check if the file is a link, - # because mc apparently doesn't call copyout for symbolic links. - sub mczipfs_copyout { -- my ($qafile, $qfsfile) = map { &zipquotemeta($_) } @_; -+ my ($qafile, $qfsfile) = map { &zipquotemeta(zipfs_realpathname($_)) } @_; - &checkargs(1, 'archive file', @_); - &checkargs(2, 'local file', @_); - &safesystem("$cmd_extract $qarchive $qafile > $qfsfile", 11); -@@ -195,14 +252,14 @@ - next if /^Archive:/; - next if /^\d+ file/; - next if /^Empty zipfile\.$/; -- my @match = /^(.{10}) +([\d.]+) +([a-z\d]+) +(\d+) +([^ ]{2}) +(\d+) +([^ ]{4}) +(\d{4})(\d\d)(\d\d)\.(\d\d)(\d\d)(\d\d) +(.*)$/; -+ my @match = /$regex_zipinfo_line/; - next if ($#match != 13); - &checked_print_file(@match); - } - } else { - while () { - chomp; -- my @match = /^ *(\d+) +([^ ]+) +(\d+) +(-?\d+\%) +(\d?\d)-(\d?\d)-(\d\d) (\d?\d):(\d\d) +([0-9a-f]+) +(.*)$/; -+ my @match = /$regex_nonzipinfo_line/; - next if ($#match != 10); - my @rmatch = ('', '', 'unknown', $match[0], '', $match[2], $match[1], - $match[6] + ($match[6] < 70 ? 2000 : 1900), $match[4], $match[5], -@@ -230,7 +287,7 @@ - sub mczipfs_run { - my ($afile) = @_; - &checkargs(1, 'archive file', @_); -- my $qafile = &zipquotemeta($afile); -+ my $qafile = &zipquotemeta(zipfs_realpathname($afile)); - my $tmpdir = &mktmpdir(); - my $tmpfile = File::Basename::basename($afile); - -diff -urN mc-4.6.1.orig/vfs/extfs.c mc-4.6.1/vfs/extfs.c ---- mc-4.6.1.orig/vfs/extfs.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/vfs/extfs.c 2007-01-19 18:33:58.000000000 +0500 -@@ -1125,7 +1125,7 @@ - return 0; - } - --static int extfs_lseek (void *data, off_t offset, int whence) -+static off_t extfs_lseek (void *data, off_t offset, int whence) - { - struct pseudofile *file = (struct pseudofile *) data; - -diff -urN mc-4.6.1.orig/vfs/ftpfs.c mc-4.6.1/vfs/ftpfs.c ---- mc-4.6.1.orig/vfs/ftpfs.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/vfs/ftpfs.c 2007-01-19 18:33:58.000000000 +0500 -@@ -114,7 +114,7 @@ - int ftpfs_use_unix_list_options = 1; - - /* First "CWD ", then "LIST -la ." */ --int ftpfs_first_cd_then_ls; -+int ftpfs_first_cd_then_ls = 1; - - /* Use the ~/.netrc */ - int use_netrc = 1; -diff -urN mc-4.6.1.orig/vfs/local.c mc-4.6.1/vfs/local.c ---- mc-4.6.1.orig/vfs/local.c 2004-09-25 05:00:18.000000000 +0600 -+++ mc-4.6.1/vfs/local.c 2007-01-19 18:33:58.000000000 +0500 -@@ -197,7 +197,7 @@ - return chdir (path); - } - --int -+off_t - local_lseek (void *data, off_t offset, int whence) - { - int fd = * (int *) data; -diff -urN mc-4.6.1.orig/vfs/local.h mc-4.6.1/vfs/local.h ---- mc-4.6.1.orig/vfs/local.h 2004-08-17 15:17:43.000000000 +0600 -+++ mc-4.6.1/vfs/local.h 2007-01-19 18:33:58.000000000 +0500 -@@ -11,7 +11,7 @@ - extern int local_read (void *data, char *buffer, int count); - extern int local_fstat (void *data, struct stat *buf); - extern int local_errno (struct vfs_class *me); --extern int local_lseek (void *data, off_t offset, int whence); -+extern off_t local_lseek (void *data, off_t offset, int whence); - #ifdef HAVE_MMAP - extern caddr_t local_mmap (struct vfs_class *me, caddr_t addr, size_t len, - int prot, int flags, void *data, off_t offset); -diff -urN mc-4.6.1.orig/vfs/mcfs.c mc-4.6.1/vfs/mcfs.c ---- mc-4.6.1.orig/vfs/mcfs.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/vfs/mcfs.c 2007-01-19 18:33:58.000000000 +0500 -@@ -1037,7 +1037,7 @@ - return 0; - } - --static int -+static off_t - mcfs_lseek (void *data, off_t offset, int whence) - { - mcfs_handle *info = (mcfs_handle *) data; -diff -urN mc-4.6.1.orig/vfs/smbfs.c mc-4.6.1/vfs/smbfs.c ---- mc-4.6.1.orig/vfs/smbfs.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/vfs/smbfs.c 2007-01-19 18:33:58.000000000 +0500 -@@ -283,7 +283,7 @@ - static int - smbfs_init (struct vfs_class * me) - { -- const char *servicesf = CONFIGDIR PATH_SEP_STR "smb.conf"; -+ const char *servicesf = CONFIGDIR PATH_SEP_STR "samba/smb.conf"; - - /* DEBUGLEVEL = 4; */ - -@@ -1585,7 +1585,7 @@ - - #define smbfs_lstat smbfs_stat /* no symlinks on smb filesystem? */ - --static int -+static off_t - smbfs_lseek (void *data, off_t offset, int whence) - { - smbfs_handle *info = (smbfs_handle *) data; -diff -urN mc-4.6.1.orig/vfs/tar.c mc-4.6.1/vfs/tar.c ---- mc-4.6.1.orig/vfs/tar.c 2005-07-23 22:52:04.000000000 +0600 -+++ mc-4.6.1/vfs/tar.c 2007-01-19 18:33:58.000000000 +0500 -@@ -194,7 +194,7 @@ - } - - /* As we open one archive at a time, it is safe to have this static */ --static int current_tar_position = 0; -+static off_t current_tar_position = 0; - - /* Returns fd of the open tar file */ - static int -@@ -461,7 +461,7 @@ - struct stat st; - struct vfs_s_entry *entry; - struct vfs_s_inode *inode, *parent; -- long data_position; -+ off_t data_position; - char *q; - int len; - char *current_file_name, *current_link_name; -@@ -646,8 +646,9 @@ - int fd = FH_SUPER->u.arch.fd; - struct vfs_class *me = FH_SUPER->me; - -- if (mc_lseek (fd, begin + FH->pos, SEEK_SET) != -- begin + FH->pos) ERRNOR (EIO, -1); -+ -+ off_t o = mc_lseek(fd, begin + FH->pos, SEEK_SET); -+ if ( o != begin + FH->pos) ERRNOR (EIO, -1); - - count = MIN(count, FH->ino->st.st_size - FH->pos); - -diff -urN mc-4.6.1.orig/vfs/undelfs.c mc-4.6.1/vfs/undelfs.c ---- mc-4.6.1.orig/vfs/undelfs.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/vfs/undelfs.c 2007-01-19 18:33:58.000000000 +0500 -@@ -645,7 +645,7 @@ - } - - /* this has to stay here for now: vfs layer does not know how to emulate it */ --static int -+static off_t - undelfs_lseek(void *vfs_info, off_t offset, int whence) - { - return -1; -diff -urN mc-4.6.1.orig/vfs/vfs.c mc-4.6.1/vfs/vfs.c ---- mc-4.6.1.orig/vfs/vfs.c 2005-05-27 20:19:19.000000000 +0600 -+++ mc-4.6.1/vfs/vfs.c 2007-01-19 18:33:59.000000000 +0500 -@@ -49,6 +49,11 @@ - #include "smbfs.h" - #include "local.h" - -+#include "../src/panel.h" -+#ifdef HAVE_CHARSET -+#include "../src/recode.h" -+#endif -+ - /* They keep track of the current directory */ - static struct vfs_class *current_vfs; - static char *current_dir; -@@ -623,14 +628,14 @@ - off_t mc_lseek (int fd, off_t offset, int whence) - { - struct vfs_class *vfs; -- int result; -+ off_t result; - - if (fd == -1) - return -1; - - vfs = vfs_op (fd); - result = vfs->lseek ? (*vfs->lseek)(vfs_info (fd), offset, whence) : -1; -- if (result == -1) -+ if (result == (off_t)-1) - errno = vfs->lseek ? ferrno (vfs) : E_NOTSUPP; - return result; - } -@@ -681,8 +686,66 @@ - vfsid old_vfsid; - int result; - -+#ifdef HAVE_CHARSET -+ char* errmsg; -+#endif -+ WPanel* p=ret_panel; -+ - new_dir = vfs_canon (path); - new_vfs = vfs_get_class (new_dir); -+ old_vfsid = vfs_getid (current_vfs, current_dir); -+ old_vfs = current_vfs; -+ -+ if(p) { -+ -+ // Change from localfs to ftpfs -+ ret_panel=NULL; -+ if( (strcmp(old_vfs->name,"localfs")==0) && -+ (strcmp(new_vfs->name,"ftpfs")==0)){ -+ p->is_return=1; -+ strncpy(p->retdir,current_dir, MC_MAXPATHLEN); -+#ifdef HAVE_CHARSET -+ p->ret_codepage=p->src_codepage; -+ p->src_codepage=ftp_codepage; -+ errmsg=my_init_tt(display_codepage,p->src_codepage,p->tr_table); -+ if(errmsg) { -+ panel_reset_codepage(p); -+ message( 1, MSG_ERROR, "%s", errmsg ); -+ } -+ errmsg=my_init_tt(p->src_codepage,display_codepage,p->tr_table_input); -+ if(errmsg) { -+ panel_reset_codepage(p); -+ message( 1, MSG_ERROR, "%s", errmsg ); -+ } -+#endif -+ } -+ -+ // Change from ftpfs to localfs -+ if( (strcmp(old_vfs->name,"ftpfs")==0) && -+ (strcmp(new_vfs->name,"localfs")==0) && -+ p->is_return){ -+ p->is_return=0; -+ g_free(new_dir); -+ new_dir = vfs_canon (p->retdir); -+ new_vfs = vfs_get_class (new_dir); -+#ifdef HAVE_CHARSET -+ p->src_codepage=p->ret_codepage; -+ errmsg=my_init_tt(display_codepage,p->src_codepage,p->tr_table); -+ if(errmsg) { -+ panel_reset_codepage(p); -+ message( 1, MSG_ERROR, "%s", errmsg ); -+ } -+ errmsg=my_init_tt(p->src_codepage,display_codepage,p->tr_table_input); -+ if(errmsg) { -+ panel_reset_codepage(p); -+ message( 1, MSG_ERROR, "%s", errmsg ); -+ } -+#endif -+ } -+ } -+ -+ -+ - if (!new_vfs->chdir) { - g_free (new_dir); - return -1; -@@ -696,9 +759,6 @@ - return -1; - } - -- old_vfsid = vfs_getid (current_vfs, current_dir); -- old_vfs = current_vfs; -- - /* Actually change directory */ - g_free (current_dir); - current_dir = new_dir; -diff -urN mc-4.6.1.orig/vfs/vfs-impl.h mc-4.6.1/vfs/vfs-impl.h ---- mc-4.6.1.orig/vfs/vfs-impl.h 2004-09-02 19:57:59.000000000 +0600 -+++ mc-4.6.1/vfs/vfs-impl.h 2007-01-19 18:33:58.000000000 +0500 -@@ -53,7 +53,7 @@ - int (*rename) (struct vfs_class *me, const char *p1, const char *p2); - int (*chdir) (struct vfs_class *me, const char *path); - int (*ferrno) (struct vfs_class *me); -- int (*lseek) (void *vfs_info, off_t offset, int whence); -+ off_t (*lseek) (void *vfs_info, off_t offset, int whence); - int (*mknod) (struct vfs_class *me, const char *path, int mode, int dev); - - vfsid (*getid) (struct vfs_class *me, const char *path); -diff -urN mc-4.6.1.orig/vfs/xdirentry.h mc-4.6.1/vfs/xdirentry.h ---- mc-4.6.1.orig/vfs/xdirentry.h 2004-10-07 00:04:15.000000000 +0600 -+++ mc-4.6.1/vfs/xdirentry.h 2007-01-19 18:33:58.000000000 +0500 -@@ -90,7 +90,7 @@ - char *linkname; /* Symlink's contents */ - char *localname; /* Filename of local file, if we have one */ - struct timeval timestamp; /* Subclass specific */ -- long data_offset; /* Subclass specific */ -+ off_t data_offset; /* Subclass specific */ - }; - - /* Data associated with an open file */ diff --git a/pkgs/tools/misc/mmv/default.nix b/pkgs/tools/misc/mmv/default.nix new file mode 100644 index 00000000000..e6e7eb505bf --- /dev/null +++ b/pkgs/tools/misc/mmv/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "mmv-${version}"; + version = "1.01b"; + + src = fetchurl { + url = "http://ftp.debian.org/debian/pool/main/m/mmv/mmv_${version}.orig.tar.gz"; + sha256 = "0399c027ea1e51fd607266c1e33573866d4db89f64a74be8b4a1d2d1ff1fdeef"; + }; + + patches = [ + # Use Debian patched version, as upstream is no longer maintained and it + # contains a _lot_ of fixes. + (fetchurl { + url = "http://ftp.debian.org/debian/pool/main/m/mmv/mmv_${version}-15.diff.gz"; + sha256 = "9ad3e3d47510f816b4a18bae04ea75913588eec92248182f85dd09bc5ad2df13"; + }) + ]; + + postPatch = '' + sed -i \ + -e 's/^\s*LDFLAGS\s*=\s*-s\s*-N/LDFLAGS = -s/' \ + -e "s|/usr/bin|$out/bin|" \ + -e "s|/usr/man|$out/share/man|" \ + Makefile + ''; + + preInstall = '' + mkdir -p "$out/bin" "$out/share/man/man1" + ''; + + postInstall = '' + for variant in mcp mad mln + do + ln -s mmv "$out/bin/$variant" + ln -s mmv.1 "$out/share/man/man1/$variant.1" + done + ''; + + meta = { + homepage = "http://linux.maruhn.com/sec/mmv.html"; + description = "Utility for wildcard renaming, copying, etc"; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/tools/misc/parted/2.3.nix b/pkgs/tools/misc/parted/2.3.nix deleted file mode 100644 index 649def69115..00000000000 --- a/pkgs/tools/misc/parted/2.3.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ stdenv, fetchurl, devicemapper, libuuid, gettext, readline -, utillinux, enableStatic ? false, hurd ? null }: - -stdenv.mkDerivation rec { - name = "parted-2.3"; - - src = fetchurl { - url = "mirror://gnu/parted/${name}.tar.xz"; - sha256 = "0sabj81nawcjm8ww34lxg65ka8crv3w2ab4crh8ypw5agg681836"; - }; - - buildInputs = [ libuuid ] - ++ stdenv.lib.optional (readline != null) readline - ++ stdenv.lib.optional (gettext != null) gettext - ++ stdenv.lib.optional (devicemapper != null) devicemapper - ++ stdenv.lib.optional (hurd != null) hurd; - - configureFlags = - (if (readline != null) - then [ "--with-readline" ] - else [ "--without-readline" ]) - ++ stdenv.lib.optional (devicemapper == null) "--disable-device-mapper" - ++ stdenv.lib.optional enableStatic "--enable-static"; - - doCheck = true; - - preCheck = - stdenv.lib.optionalString doCheck - # The `t0400-loop-clobber-infloop.sh' test wants `mkswap'. - "export PATH=\"${utillinux}/sbin:$PATH\""; - - meta = { - description = "GNU Parted, a tool to create, destroy, resize, check, and copy partitions"; - - longDescription = '' - GNU Parted is an industrial-strength package for creating, destroying, - resizing, checking and copying partitions, and the file systems on - them. This is useful for creating space for new operating systems, - reorganising disk usage, copying data on hard disks and disk imaging. - - It contains a library, libparted, and a command-line frontend, parted, - which also serves as a sample implementation and script backend. - ''; - - homepage = http://www.gnu.org/software/parted/; - license = "GPLv3+"; - - maintainers = [ - # Add your name here! - stdenv.lib.maintainers.ludo - ]; - - # GNU Parted requires libuuid, which is part of util-linux-ng. - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix new file mode 100644 index 00000000000..bb08091ad57 --- /dev/null +++ b/pkgs/tools/misc/picocom/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "picocom-1.7"; + + src = fetchurl { + url = "http://picocom.googlecode.com/files/${name}.tar.gz"; + sha256 = "17hjq713naq02xar711aw24qqd52p591mj1h5n97cni1ga7irwyh"; + }; + + installPhase = '' + ensureDir $out/bin $out/share/man/man8 + cp picocom $out/bin + cp picocom.8 $out/share/man/man8 + ''; + + meta = { + description = "Minimal dumb-terminal emulation program"; + homepage = http://code.google.com/p/picocom/; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; +} diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix new file mode 100644 index 00000000000..199e709f16a --- /dev/null +++ b/pkgs/tools/misc/plowshare/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, makeWrapper, curl }: + +stdenv.mkDerivation rec { + + name = "plowshare4-${version}"; + + version = "20121126.47e4480"; + + src = fetchurl { + url = "http://plowshare.googlecode.com/files/plowshare4-snapshot-git${version}.tar.gz"; + sha256 = "1p7bqqfbgcy41hiickgr8cilspyvrrql12rdmfasz0dmgf7nx1x6"; + }; + + buildInputs = [ makeWrapper ]; + + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + installPhase = '' + make PREFIX="$out" install + + for fn in plow{del,down,list,up}; do + wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin" + done + ''; + + meta = { + description = '' + A command-line download/upload tool for popular file sharing websites + ''; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.aforemny ]; + }; +} diff --git a/pkgs/tools/misc/refind/default.nix b/pkgs/tools/misc/refind/default.nix index bd0a7040adf..1fbb177afa0 100644 --- a/pkgs/tools/misc/refind/default.nix +++ b/pkgs/tools/misc/refind/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, gnu_efi, unzip }: -let version = "0.2.3"; in +let version = "0.4.5"; in stdenv.mkDerivation { name = "refind-${version}"; src = fetchurl { url = "mirror://sourceforge/refind/refind-src-${version}.zip"; - sha256 = "0q3p4mczr6wchk4vbgsb0cq7829vk3b3kg9qaizrb02pdak3s2nf"; + sha256 = "05nbalsl5csgph0v2amzgay9k2vzm47z8n1n6blbh9hvb7j5vn2c"; }; buildInputs = [ unzip ]; - buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" ]; + buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" "LOCAL_CFLAGS=-I${gnu_efi}/include" ]; installPhase = '' mkdir -pv $out - install -v -m644 refind/refind.efi refind.conf-sample $out + install -v -m644 refind/refind*.efi refind.conf-sample $out mv -v icons $out ''; diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index 329754ab5f5..2a525676192 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ncurses}: +{ stdenv, fetchurl, ncurses, pam }: stdenv.mkDerivation rec { name = "screen-4.0.3"; @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { }; preConfigure = '' - configureFlags="--enable-telnet --infodir=$out/share/info --mandir=$out/share/man" + configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc" sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in ''; - buildInputs = [ ncurses ]; + buildInputs = [ ncurses pam ]; doCheck = true; diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix index 8923637bbdb..b0da497c322 100644 --- a/pkgs/tools/misc/system-config-printer/default.nix +++ b/pkgs/tools/misc/system-config-printer/default.nix @@ -1,29 +1,34 @@ { stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto , makeWrapper, pygobject, pygtk, docbook_xml_dtd_412, docbook_xsl -, pythonDBus, libxml2, desktop_file_utils, libusb, cups, pycups +, pythonDBus, libxml2, desktop_file_utils, libusb1, cups, pycups , pythonPackages , withGUI ? true }: stdenv.mkDerivation rec { - name = "${meta.name}-${meta.version}"; + name = "system-config-printer-1.3.12"; src = fetchurl { - url = "http://cyberelk.net/tim/data/${meta.name}/1.3/${name}.tar.xz"; - sha256 = "1d50rqgpyrzyrxwq3qhafzq9075qm2wxdrh1f1q7whlr0chxi3mw"; + url = "http://cyberelk.net/tim/data/system-config-printer/1.3/${name}.tar.xz"; + sha256 = "1cg9n75rg5l9vr1925n2g771kga33imikyl0mf70lww2sfgvs18r"; }; + propagatedBuildInputs = [ pythonPackages.pycurl ]; + buildInputs = - [ intltool pkgconfig glib udev libusb cups xmlto + [ intltool pkgconfig glib udev libusb1 cups xmlto libxml2 docbook_xml_dtd_412 docbook_xsl desktop_file_utils pythonPackages.python pythonPackages.wrapPython ]; pythonPath = - [ pythonDBus pycups pygobject ] + [ pythonDBus pycups pygobject pythonPackages.pycurl ] ++ stdenv.lib.optionals withGUI [ pygtk pythonPackages.notify ]; - - configureFlags = "--with-udev-rules"; + + configureFlags = + [ "--with-udev-rules" + "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + ]; postInstall = '' @@ -34,7 +39,6 @@ stdenv.mkDerivation rec { ''; meta = { - name = "system-config-printer"; - version = "1.3.4"; + homepage = http://cyberelk.net/tim/software/system-config-printer/; }; } diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix index fd9f4578294..6ccfea50482 100644 --- a/pkgs/tools/misc/testdisk/default.nix +++ b/pkgs/tools/misc/testdisk/default.nix @@ -1,18 +1,18 @@ -{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl}: +{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid}: stdenv.mkDerivation { - name = "testdisk-6.8"; + name = "testdisk-6.13"; src = fetchurl { - url = http://www.cgsecurity.org/testdisk-6.8.tar.bz2; - sha256 = "0cyqikcyi6zj671kkr8vydqskh2r7f3n1v3xks1vh1biaffqq2ir"; + url = http://www.cgsecurity.org/testdisk-6.13.tar.bz2; + sha256 = "087jrn41z3ymf1b6njl2bg99pr79v8l1f63f7rn5ni69vz6mq9s8"; }; - buildInputs = [ncurses libjpeg e2fsprogs zlib openssl]; + buildInputs = [ncurses libjpeg e2fsprogs zlib openssl libuuid]; meta = { homepage = http://www.cgsecurity.org/wiki/TestDisk; - license = "GPL"; + license = "GPLv2+"; longDescription = '' TestDisk is a program for data recovery, primarily designed to help recover lost partitions and/or make non-booting disks diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix index 4fae21250ca..89ff6f4677f 100644 --- a/pkgs/tools/misc/timidity/default.nix +++ b/pkgs/tools/misc/timidity/default.nix @@ -7,7 +7,7 @@ composableDerivation.composableDerivation {} { name = "timidity-2.13.0"; src = fetchurl { - url = http://ovh.dl.sourceforge.net/sourceforge/timidity/TiMidity++-2.13.0.tar.bz2; + url = mirror://sourceforge/timidity/TiMidity++-2.13.0.tar.bz2; sha256 = "1jbmk0m375fh5nj2awqzns7pdjbi7dxpjdwcix04zipfcilppbmf"; }; diff --git a/pkgs/tools/misc/ttf2pt1/default.nix b/pkgs/tools/misc/ttf2pt1/default.nix index 379db7d533f..659b04a6238 100644 --- a/pkgs/tools/misc/ttf2pt1/default.nix +++ b/pkgs/tools/misc/ttf2pt1/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { ''; buildInputs = [ freetype ]; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; patches = ./gentoo-makefile.patch; # also contains the freetype patch diff --git a/pkgs/tools/misc/ttf2pt1/ttf2pt1-cl-pdf.nix b/pkgs/tools/misc/ttf2pt1/ttf2pt1-cl-pdf.nix deleted file mode 100644 index 97a052db20d..00000000000 --- a/pkgs/tools/misc/ttf2pt1/ttf2pt1-cl-pdf.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ttf2pt1, lib, fetchurl, unzip}: - -lib.overrideDerivation ttf2pt1 -(x: -{ - name = "ttf2pt1-cl-pdf"; - src = fetchurl { - url = "http://www.fractalconcept.com/fcweb/download/ttf2pt1-src.zip"; - sha256 = "1w6kxgnrj3x67lf346bswmcqny9lmyhbnkp6kv99l6wfaq4gs82b"; - }; - buildInputs = x.buildInputs ++ [unzip]; - sourceRoot = "ttf2pt1-cl-pdf"; - preBuild = '' - chmod a+x scripts/* - ''; - meta = x.meta // { - maintainers = [lib.maintainers.raskin]; - platforms = lib.platforms.linux; - }; -}) diff --git a/pkgs/tools/misc/usbmuxd/default.nix b/pkgs/tools/misc/usbmuxd/default.nix index c4b41249355..b95dfde9850 100644 --- a/pkgs/tools/misc/usbmuxd/default.nix +++ b/pkgs/tools/misc/usbmuxd/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "09swwr6x46qxmwylrylnyqh4pznr0swla9gijggwxxw8dw82r840"; }; - buildNativeInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ cmake pkgconfig ]; propagatedBuildInputs = [ libusb1 libplist ]; patchPhase = diff --git a/pkgs/tools/misc/xburst-tools/default.nix b/pkgs/tools/misc/xburst-tools/default.nix index 563406e430b..cc9f98a94f6 100644 --- a/pkgs/tools/misc/xburst-tools/default.nix +++ b/pkgs/tools/misc/xburst-tools/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation { # Not to strip cross build binaries (this is for the gcc-cross-wrapper) dontCrossStrip = true; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libusb libusb1 autoconf automake confuse ] ++ stdenv.lib.optional (gccCross != null) gccCross; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 0422383ed3b..09752ec71ce 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,31 +1,33 @@ -{stdenv, fetchgit, python}: +{ stdenv, fetchurl, python, pandoc, zip }: -let pkgname = "youtube-dl"; - pkgver = "2011.12.08"; - +let + version = "2012.12.11"; in stdenv.mkDerivation { - name = "${pkgname}-${pkgver}"; + name = "youtube-dl-${version}"; - src = fetchgit { - url = "git://github.com/rg3/${pkgname}"; - rev = "661a807c65a154eccdddb875b45e4782ca86132c"; - sha256 = "32fd193b867b122400e9d5d32f6dfaf15704f837a9dc2ff809e1ce06712857ba"; + src = fetchurl { + url = "https://github.com/downloads/rg3/youtube-dl/youtube-dl.${version}.tar.gz"; + sha256 = "03zv3z8p0fi122nqj7ff8hkgqscir4s7psm03rq7dfpg1z35klmn"; }; - buildInputs = [python]; - buildPhase = "sed -i 's|#!/usr/bin/env python|#!#{python}/bin/python|' youtube-dl"; + buildInputs = [ python ]; + nativeBuildInputs = [ pandoc zip ]; - installPhase = '' - ensureDir $out/bin - cp youtube-dl $out/bin + patchPhase = '' + rm youtube-dl + substituteInPlace Makefile --replace "#!/usr/bin/env python" "#!${python}/bin/python" + ''; + + configurePhase = '' + makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc ) ''; meta = { - description = "A small command-line program to download videos from YouTube.com and a few more sites"; - homepage = http://rg3.github.com/youtube-dl/; - maintainers = [ - stdenv.lib.maintainers.bluescreen303 - ]; + homepage = "http://rg3.github.com/youtube-dl/"; + description = "Command-line tool to download videos from YouTube.com and other sites"; + + platforms = with stdenv.lib.platforms; linux ++ darwin; + maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons ]; }; } diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix index 9ecaf183f1f..c616ba9ee16 100644 --- a/pkgs/tools/networking/aircrack-ng/default.nix +++ b/pkgs/tools/networking/aircrack-ng/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchsvn, libpcap, openssl, zlib, wirelesstools}: let - rev = "2178"; + rev = "2212"; in stdenv.mkDerivation rec { name = "aircrack-ng-1.1-${rev}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchsvn { url = "http://trac.aircrack-ng.org/svn/trunk"; inherit rev; - sha256 = "0rwj2nk4nyy0l9dg6rpg2h5gpvcygs5irj4i6fdcsr8xf0blq7yw"; + sha256 = "80e567b4e4bc501721cd58f7efadcd13fc3b235a41486174826694a6e701ce09"; }; buildInputs = [libpcap openssl zlib]; diff --git a/pkgs/tools/networking/connect/default.nix b/pkgs/tools/networking/connect/default.nix new file mode 100644 index 00000000000..67f2b63c292 --- /dev/null +++ b/pkgs/tools/networking/connect/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "connect-1.95"; + + src = fetchurl { + url = http://savannah.gnu.org/maintenance/connect.c; + sha256 = "11dx07pcanwaq71g4xh8d4blr5j7iy0ilmb0fkgpj8p22blb74mf"; + }; + + phases = "unpackPhase buildPhase fixupPhase"; + + unpackPhase = '' + cp $src connect.c + ''; + + buildPhase = '' + ensureDir $out/bin + gcc -o $out/bin/connect connect.c + ''; + + meta = { + description = "make network connection via SOCKS and https proxy."; + longDescription = '' + This proxy traversal tool is intended to assist OpenSSH (via ProxyCommand + in ~/.ssh/config) and GIT (via $GIT_PROXY_COMMAND) utilize SOCKS and https proxies. + ''; + homepage = http://bent.latency.net/bent/git/goto-san-connect-1.85/src/connect.html; # source URL is busted there + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.gnu; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 4dcab442119..0f44c67e01c 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -10,11 +10,11 @@ assert sslSupport -> openssl != null; assert scpSupport -> libssh2 != null; stdenv.mkDerivation rec { - name = "curl-7.26.0"; + name = "curl-7.29.0"; src = fetchurl { url = "http://curl.haxx.se/download/${name}.tar.bz2"; - sha256 = "0snj41knvy4xbfirr88l9gq5zjzz0mwlmq0mxbfgqszb2qpjdvgw"; + sha256 = "0bw3sclhjqb2zwgcp6njjpaca62rwlj2mrw2r9wic47sqsxfhy4x"; }; # Zlib and OpenSSL must be propagated because `libcurl.la' contains @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ${if linkStatic then "--enable-static --disable-shared" else ""} ''; - dontDisableStatic = if linkStatic then true else false; + dontDisableStatic = linkStatic; CFLAGS = if stdenv ? isDietLibC then "-DHAVE_INET_NTOA_R_2_ARGS=1" else ""; LDFLAGS = if linkStatic then "-static" else ""; @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { # We should refer to the cross built openssl # For the 'urandom', maybe it should be a cross-system option configureFlags = '' - ${if sslSupport then "--with-ssl=${openssl.hostDrv}" else "--without-ssl"} + ${if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl"} ${if linkStatic then "--enable-static --disable-shared" else ""} --with-random /dev/urandom ''; @@ -55,12 +55,14 @@ stdenv.mkDerivation rec { inherit sslSupport openssl; }; + patches = [ ./fix-curl-multi-cleanup.patch ]; + preConfigure = '' sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure ''; meta = { + homepage = "http://curl.haxx.se/"; description = "A command line tool for transferring files with URL syntax"; - homepage = http://curl.haxx.se/; }; } diff --git a/pkgs/tools/networking/curl/fix-curl-multi-cleanup.patch b/pkgs/tools/networking/curl/fix-curl-multi-cleanup.patch new file mode 100644 index 00000000000..f6e42040cb8 --- /dev/null +++ b/pkgs/tools/networking/curl/fix-curl-multi-cleanup.patch @@ -0,0 +1,32 @@ +commit 249c981407b8c52edf2b0833a78cd3d3d8bd2823 +Author: Shea Levy +Date: Sun Feb 10 13:27:10 2013 -0500 + + curl_multi_cleanup: Don't try to cleanup the closure_handle if it is NULL. + + Without this, curl_multi_cleanup(curl_multi_init()) segfaults. + + Signed-off-by: Shea Levy + +diff --git a/lib/multi.c b/lib/multi.c +index fa0afb9..5b9d0bb 100644 +--- a/lib/multi.c ++++ b/lib/multi.c +@@ -1773,11 +1773,13 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle) + /* Close all the connections in the connection cache */ + close_all_connections(multi); + +- multi->closure_handle->dns.hostcache = multi->hostcache; +- Curl_hostcache_clean(multi->closure_handle); ++ if (multi->closure_handle) { ++ multi->closure_handle->dns.hostcache = multi->hostcache; ++ Curl_hostcache_clean(multi->closure_handle); + +- Curl_close(multi->closure_handle); +- multi->closure_handle = NULL; ++ Curl_close(multi->closure_handle); ++ multi->closure_handle = NULL; ++ } + + Curl_hash_destroy(multi->sockhash); + multi->sockhash = NULL; diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix new file mode 100644 index 00000000000..e83ad7933f1 --- /dev/null +++ b/pkgs/tools/networking/dd-agent/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, python, sysstat }: + +stdenv.mkDerivation rec { + name = "dd-agent-ab14fde6f9"; + + src = fetchgit { + url = git://github.com/DataDog/dd-agent.git; + rev = "ab14fde6f9b9f6cb3544f643cece97ef18a0d770"; + sha256 = "2615a2f122ac97363eba8973dfc6c2ce81cb61a26eb61c2988faad2abd05efc5"; + }; + + buildInputs = [ python ]; + + postUnpack = "export sourceRoot=$sourceRoot/packaging"; + + makeFlags = [ "BUILD=$(out)" ]; + + installTargets = [ "install_base" "install_full" ]; + + postInstall = '' + mv $out/usr/* $out + rmdir $out/usr + ''; + + meta = { + description = "Event collector for the DataDog analysis service"; + + homepage = http://www.datadoghq.com; + + maintainers = [ stdenv.lib.maintainers.shlevy ]; + + license = stdenv.lib.licenses.bsd3; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/tools/networking/ddclient/ddclient-foreground.patch b/pkgs/tools/networking/ddclient/ddclient-foreground.patch index 954b3e1132f..1ae3621f507 100644 --- a/pkgs/tools/networking/ddclient/ddclient-foreground.patch +++ b/pkgs/tools/networking/ddclient/ddclient-foreground.patch @@ -1,80 +1,12 @@ -diff -rc ddclient-3.8.0/ddclient ddclient-3.8.0-new/ddclient -*** ddclient-3.8.0/ddclient 2009-01-27 20:14:02.000000000 +0100 ---- ddclient-3.8.0-new/ddclient 2009-09-16 12:56:43.720654327 +0200 -*************** -*** 307,313 **** - my %variables = ( - 'global-defaults' => { - 'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')), -! 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef), - 'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef), - 'pid' => setv(T_FILE, 0, 0, 1, "", undef), - 'proxy' => setv(T_FQDNP, 0, 0, 1, '', undef), ---- 307,314 ---- - my %variables = ( - 'global-defaults' => { - 'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')), -! 'foreground' => setv(T_BOOL, 0, 0, 1, 0, undef), -! 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef), - 'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef), - 'pid' => setv(T_FILE, 0, 0, 1, "", undef), - 'proxy' => setv(T_FQDNP, 0, 0, 1, '', undef), -*************** -*** 535,540 **** ---- 536,542 ---- - "usage: ${program} [options]", - "options are:", - [ "daemon", "=s", "-daemon delay : run as a daemon, specify delay as an interval." ], -+ [ "foreground", "!", "-foreground : do not fork" ], - [ "proxy", "=s", "-proxy host : use 'host' as the HTTP proxy" ], - [ "server", "=s", "-server host : update DNS information on 'host'" ], - [ "protocol", "=s", "-protocol type : update protocol used" ], -*************** -*** 623,629 **** - $SIG{'HUP'} = sub { $caught_hup = 1; }; - $SIG{'TERM'} = sub { $caught_term = 1; }; - $SIG{'KILL'} = sub { $caught_kill = 1; }; -! if (opt('daemon') && !opt('force')) { - $SIG{'CHLD'} = 'IGNORE'; - my $pid = fork; - if ($pid < 0) { ---- 625,634 ---- - $SIG{'HUP'} = sub { $caught_hup = 1; }; - $SIG{'TERM'} = sub { $caught_term = 1; }; - $SIG{'KILL'} = sub { $caught_kill = 1; }; -! # don't fork() if foreground or force is on -! if (opt('foreground') || opt('force')) { -! ; -! } elsif (opt('daemon')) { - $SIG{'CHLD'} = 'IGNORE'; - my $pid = fork; - if ($pid < 0) { -*************** -*** 633,644 **** - exit 0; - } - $SIG{'CHLD'} = 'DEFAULT'; -- $opt{'syslog'} = 1; - open(STDOUT, ">/dev/null"); - open(STDERR, ">/dev/null"); - open(STDIN, "/dev/null"); - open(STDERR, ">/dev/null"); - open(STDIN, "|' \ + libpcap_stuff.c script.c + + sed -i -r -e 's|"(/usr/(local/)?)?bin/"|"${tcl}/bin"|g' \ + -e 's!/usr/(local/)?(lib|include)!${tcl}/\2!g' \ + configure + ''; + + preInstall = '' + mkdir -vp "$out/sbin" "$out/share/man/man8" + ''; + + postInstall = '' + ln -vs hping3.8.gz "$out/share/man/man8/hping.8.gz" + ln -vs hping3.8.gz "$out/share/man/man8/hping2.8.gz" + ''; + + meta = { + description = "A command-line oriented TCP/IP packet assembler/analyzer"; + homepage = "http://www.hping.org/"; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix new file mode 100644 index 00000000000..d95360ccb45 --- /dev/null +++ b/pkgs/tools/networking/httpie/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pythonPackages }: + +pythonPackages.buildPythonPackage { + name = "httpie-0.3.1"; + namePrefix = ""; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/h/httpie/httpie-0.3.1.tar.gz"; + sha256 = "0abjkwcirmp6qa190qgbgj5fmmkmk5aa3fdiyayl2indh6304x7a"; + }; + + propagatedBuildInputs = with pythonPackages; [ pygments requests014 ]; + + doCheck = false; + + meta = { + description = "A command line HTTP client whose goal is to make CLI human-friendly"; + homepage = http://httpie.org/; + license = "BSD"; + maintainers = [ stdenv.lib.maintainers.antono ]; + }; +} diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index 6734465dbba..24d73ff4d6f 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -1,18 +1,26 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "inetutils-1.8"; + name = "inetutils-1.9.1"; src = fetchurl { url = "mirror://gnu/inetutils/${name}.tar.gz"; - sha256 = "1iqihfv54nzjmclivys2dpcyfhavgynj8pp6r44a97jbw2p0nl68"; + sha256 = "0azzg6njgq79byl6960kb0wihfhhzf49snslhxgvi30ribgfpa82"; }; buildInputs = [ ncurses /* for `talk' */ ]; configureFlags = "--with-ncurses-include-dir=${ncurses}/include"; - doCheck = true; + preConfigure = '' + # Fix for building on Glibc 2.16. Won't be needed once the + # gnulib in inetutils is updated. + sed -i '/gets is a security hole/d' lib/stdio.in.h + ''; + + # Test fails with "UNIX socket name too long", probably because our + # $TMPDIR is too long. + #doCheck = true; postInstall = '' # XXX: These programs are normally installed setuid but since it diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index 64e7ac50bc0..e2d1d8ed62a 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -1,12 +1,20 @@ -{stdenv, fetchurl, gnutls, libtasn1, pkgconfig, readline, zlib, xz}: +{ stdenv, fetchurl, gnutls, pkgconfig, readline, zlib, xz }: stdenv.mkDerivation rec { - name = "lftp-4.3.1"; + name = "lftp-4.4.0"; src = fetchurl { url = "ftp://ftp.cs.tu-berlin.de/pub/net/ftp/lftp/${name}.tar.xz"; - sha256 = "0v3591fknmimarzk5icm0qxdcfzfckwi2drh165vsiggmj590iyx"; + sha256 = "0cg4gabya2sygbwh2b0cdr8v719q9gv929hdb5g1mxgj8npjd4y7"; }; - buildInputs = [gnutls libtasn1 pkgconfig readline zlib]; + patches = [ ./no-gets.patch ]; + + buildInputs = [ gnutls pkgconfig readline zlib ]; + + meta = { + homepage = http://lftp.yar.ru/; + description = "A file transfer program supporting a number of network protocols"; + license = "GPL"; + }; } diff --git a/pkgs/tools/networking/lftp/no-gets.patch b/pkgs/tools/networking/lftp/no-gets.patch new file mode 100644 index 00000000000..0c2cb7c8ae6 --- /dev/null +++ b/pkgs/tools/networking/lftp/no-gets.patch @@ -0,0 +1,15 @@ +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -702,10 +702,12 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning; besides, C11 + removed it. */ ++#ifdef gets + #undef gets + #if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif ++#endif + + + #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ diff --git a/pkgs/tools/networking/maildrop/default.nix b/pkgs/tools/networking/maildrop/default.nix new file mode 100644 index 00000000000..b91282c9a2b --- /dev/null +++ b/pkgs/tools/networking/maildrop/default.nix @@ -0,0 +1,20 @@ +{ fetchurl, stdenv, pkgconfig, pcre, perl }: + +stdenv.mkDerivation rec { + name = "maildrop-2.6.0"; + + src = fetchurl { + url = "mirror://sourceforge/courier/maildrop/2.6.0/maildrop-2.6.0.tar.bz2"; + sha256 = "1a94p2b41iy334cwfwmzi19557dn5j61abh0cp2rfc9dkc8ibhdg"; + }; + + buildInputs = [ pkgconfig pcre perl ]; + + patches = [ ./maildrop.configure.hack.patch ]; # for building in chroot + + meta = { + homepage = http://www.courier-mta.org/maildrop/; + description = "Mail filter/mail delivery agent that is used by the Courier Mail Server"; + licenses = [ "GPLv3" ]; + }; +} diff --git a/pkgs/tools/networking/maildrop/maildrop.configure.hack.patch b/pkgs/tools/networking/maildrop/maildrop.configure.hack.patch new file mode 100644 index 00000000000..08988f6cde5 --- /dev/null +++ b/pkgs/tools/networking/maildrop/maildrop.configure.hack.patch @@ -0,0 +1,13 @@ +--- a/maildrop/configure 2012-09-06 01:52:13.000000000 +0100 ++++ b/maildrop/configure 2013-01-04 03:00:57.095628327 +0000 +@@ -17562,8 +17562,8 @@ + check_spooldir() { + if test "$CHECKED_SPOOLDIR" != 1 + then +- get_spooldir +- MBOX_DIR="$SPOOLDIR" ++ MBOX_DIR="/var/spool/mail" ++ MBOX_RESET_GID=0 + CHECKED_SPOOLDIR=1 + fi + } diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index 43293b79578..3a84516cd37 100644 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65"; }; - patches = [ ./path-to-cat.patch ]; + patches = [ ./path-to-cat.patch ./no-gets.patch ]; buildInputs = [ gettext gdbm libtool pam readline ncurses diff --git a/pkgs/tools/networking/mailutils/no-gets.patch b/pkgs/tools/networking/mailutils/no-gets.patch new file mode 100644 index 00000000000..d72fa3f056c --- /dev/null +++ b/pkgs/tools/networking/mailutils/no-gets.patch @@ -0,0 +1,14 @@ +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -138,8 +138,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ +-#undef gets ++#ifdef gets ++# undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ diff --git a/pkgs/tools/networking/minidlna/default.nix b/pkgs/tools/networking/minidlna/default.nix index 736ca980cfb..02013d8ede6 100644 --- a/pkgs/tools/networking/minidlna/default.nix +++ b/pkgs/tools/networking/minidlna/default.nix @@ -1,28 +1,32 @@ -{stdenv, fetchurl, libav, flac, libvorbis, libogg, libid3tag, libexif, libjpeg, sqlite }: +{ stdenv, fetchurl, ffmpeg, flac, libvorbis, libogg, libid3tag, libexif, libjpeg, sqlite }: + +let version = "1.0.25"; in + stdenv.mkDerivation rec { - name = "minidlna-1.0.24"; + name = "minidlna-${version}"; + src = fetchurl { - url = mirror://sourceforge/project/minidlna/minidlna/1.0.24/minidlna_1.0.24_src.tar.gz; - sha256 = "0hmrrrq7d8940rckwj93bcdpdxxy3qfkjl17j5k31mi37hqc42l4"; + url = "mirror://sourceforge/project/minidlna/minidlna/${version}/minidlna_${version}_src.tar.gz"; + sha256 = "0l987x3bx2apnlihnjbhywgk5b2g9ysiapwclz5vphj2w3xn018p"; }; + patches = [ ./config.patch ]; + preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libav}/include/libavutil -I${libav}/include/libavcodec -I${libav}/include/libavformat" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${ffmpeg}/include/libavutil -I${ffmpeg}/include/libavcodec -I${ffmpeg}/include/libavformat" export makeFlags="INSTALLPREFIX=$out" ''; - buildInputs = [ libav flac libvorbis libogg libid3tag libexif libjpeg sqlite ]; - patches = [ ./config.patch ]; + buildInputs = [ ffmpeg flac libvorbis libogg libid3tag libexif libjpeg sqlite ]; meta = { description = "MiniDLNA Media Server"; longDescription = '' - MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully - compliant with DLNA/UPnP-AV clients. + MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully + compliant with DLNA/UPnP-AV clients. ''; homepage = http://sourceforge.net/projects/minidlna/; license = stdenv.lib.licenses.gpl2; - - platforms = stdenv.lib.platforms.all; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix index 34ec8eed90e..3cd35073be6 100644 --- a/pkgs/tools/networking/miniupnpc/default.nix +++ b/pkgs/tools/networking/miniupnpc/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "miniupnpc-1.6"; + name = "miniupnpc-1.7"; src = fetchurl { url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz"; - sha256 = "151rh46axl44y7bbflb43pnj52gvlfnkxfgrn2jvai5gwrbbgmmv"; + sha256 = "0dv3mz4yikngmlnrnmh747mlgbbpijryw03wcs8g4jwvprb29p8n"; }; installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)"; diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix index 6db47f8e079..b5002d22990 100644 --- a/pkgs/tools/networking/miniupnpd/default.nix +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -1,33 +1,34 @@ -{ stdenv, fetchurl, iptables }: +{ stdenv, fetchurl, iptables, libnfnetlink, libnetfilter_conntrack }: assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "miniupnpd-1.4"; + name = "miniupnpd-1.7.20121005"; src = fetchurl { url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz"; - sha256 = "06q5agkzv2snjxcsszpm27h8bqv41jijahs8jqnarxdrik97rfl5"; + sha256 = "03kaxj808hgj1zf2528pzilgywgh70mh0qivjb5nm3spziiq32sv"; }; - buildInputs = [ iptables ]; + buildInputs = [ iptables libnfnetlink libnetfilter_conntrack ]; + + patchPhase = '' + sed -i -e 's/upnputils\.o -lnfnetlink/upnputils.o/' Makefile.linux + ''; NIX_CFLAGS_COMPILE = "-DIPTABLES_143"; - NIX_CFLAGS_LINK = "-liptc"; - + NIX_CFLAGS_LINK = "-liptc -lnfnetlink"; + makefile = "Makefile.linux"; makeFlags = "LIBS="; - postBuild = "cat config.h"; - installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)"; - postInstall = + preInstall = '' - mkdir -p $out/share/man/man1 - cp miniupnpd.1 $out/share/man/man1/ + mkdir -p $out/share/man/man8 ''; meta = { diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix index c9c975d557c..bfa673eff09 100644 --- a/pkgs/tools/networking/modemmanager/default.nix +++ b/pkgs/tools/networking/modemmanager/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { src = fetchurl_gnome { project = "ModemManager"; - major = "0"; minor = "5"; extension = "xz"; - sha256 = "0zvwrni4l21d856nq28khigrhwgrq5cc7nh45zidwjj8q7bsxiz7"; + major = "0"; minor = "5"; patchlevel = "4.0"; extension = "xz"; + sha256 = "1fdf5d5cc494825afe9f551248e00a2d91e220e88435b47f109ca2a707a40f1f"; }; - buildNativeInputs = [ intltool pkgconfig ]; + nativeBuildInputs = [ intltool pkgconfig ]; buildInputs = [ udev polkit dbus_glib ppp ]; diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix index 60a9e5cab87..e5d9a656494 100644 --- a/pkgs/tools/networking/mosh/default.nix +++ b/pkgs/tools/networking/mosh/default.nix @@ -2,11 +2,11 @@ , makeWrapper, perl }: stdenv.mkDerivation rec { - name = "mosh-1.1.3"; + name = "mosh-1.2.2"; src = fetchurl { url = "https://github.com/downloads/keithw/mosh/${name}.tar.gz"; - sha256 = "1vkf7h8mcmfn9dgcwrww05mdijrl7321xv9wlhf7j99nwmklc8sk"; + sha256 = "1763s6f398hmdgy73brpknwahnys28zk3pm37n66sr8iyz2cq8xp"; }; buildInputs = [ boost protobuf ncurses zlib pkgconfig IOTty makeWrapper perl ]; diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix index d4cfaa4ce9b..7470c07d937 100644 --- a/pkgs/tools/networking/mtr/default.nix +++ b/pkgs/tools/networking/mtr/default.nix @@ -10,10 +10,10 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="mtr"; - version="0.80"; + version="0.82"; name="${baseName}-${version}"; url="ftp://ftp.bitwizard.nl/${baseName}/${name}.tar.gz"; - hash="1h0fzxy5cwml3p2nq749sq8mk2dsvm4qb1ah7a9hbf7kzabxvfvn"; + hash="185nx4y6xn7vv6l3pbyc0ljmwfl4si4zszwad1jkbq1scb4mgd7k"; }; in rec { diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix new file mode 100644 index 00000000000..7495c3bcd7f --- /dev/null +++ b/pkgs/tools/networking/mu/default.nix @@ -0,0 +1,25 @@ +{ fetchurl, stdenv, sqlite, pkgconfig, xapian, glib, gmime, texinfo, emacs, guile }: + +stdenv.mkDerivation rec { + version = "0.9.9"; + name = "mu-${version}"; + + src = fetchurl { + url = "https://mu0.googlecode.com/files/mu-${version}.tar.gz"; + sha256 = "04r0y05awsyb5hqwaxn1hq9jxijw20hwsgdbacqrma519f0y5y43"; + }; + + buildInputs = [ sqlite pkgconfig xapian glib gmime texinfo emacs guile ]; + + meta = { + description = "mu is a collection of utilties for indexing and searching Maildirs"; + + licenses = [ "GPLv3+" ]; + + homepage = "http://www.djcbsoftware.nl/code/mu/"; + + platforms = stdenv.lib.platforms.all; + + maintainers = [ stdenv.lib.maintainers.antono ]; + }; +} diff --git a/pkgs/tools/networking/mu0/default.nix b/pkgs/tools/networking/mu0/default.nix deleted file mode 100644 index a772f237500..00000000000 --- a/pkgs/tools/networking/mu0/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ fetchurl, stdenv, sqlite, pkgconfig, xapian, glib, gmime }: - -stdenv.mkDerivation rec { - name = "mu0-0.9.7"; - - src = fetchurl { - url = http://mu0.googlecode.com/files/mu-0.9.7.tar.gz; - sha256 = "14nyn791ficyllj9idhiq3mncwnrg71lfxk126804dxba1l90r72"; - }; - - buildInputs = [ sqlite pkgconfig xapian glib gmime ]; - - /* The tests don't pass */ - doCheck = false; - - meta = { - description = "mu is a collection of utilties for indexing and searching Maildirs"; - - licenses = [ "GPLv3+" ]; - - homepage = http://code.google.com/p/mu0/; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index 1a9b9485749..d38bbcae014 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -5,7 +5,7 @@ let pn = "network-manager-applet"; major = "0.9"; - version = "${major}.4.1"; + version = "${major}.6.4"; in stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz"; - sha256 = "b6b6de75e28d1fbcdfdbb51c0e40fcd6bc0ec0385bfecd16c457260491cd2ff7"; + sha256 = "0ha16wvp2jcl96849qahaagidhiyalbjzi3nxi235y7hcnqnfmmf"; }; buildInputs = [ @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { polkit isocodes ]; - buildNativeInputs = [ intltool pkgconfig ]; + nativeBuildInputs = [ intltool pkgconfig ]; makeFlags = [ ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"'' diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index f7aab9fb4f2..d9e73a706db 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz -, udev, libnl1, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables +, udev, libnl, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables , libgcrypt, dnsmasq, avahi, bind, perl, substituteAll }: stdenv.mkDerivation rec { name = "network-manager-${version}"; - version = "0.9.4.0"; + version = "0.9.6.4"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz"; - sha256 = "eb4f124008b3d855a37205d03ef035b7218639cd7332bdae5567095977e93e0f"; + sha256 = "1sx7h29j9h13qszcppja1p27zq2m7vdrylbcyb47n62x0lg426si"; }; preConfigure = '' @@ -29,13 +29,16 @@ stdenv.mkDerivation rec { "--without-resolvconf" "--sysconfdir=/etc" "--localstatedir=/var" "--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d" - "--with-crypto=gnutls" "--disable-more-warnings" ]; + "--with-crypto=gnutls" "--disable-more-warnings" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--with-kernel-firmware-dir=/run/current-system/firmware" + "--with-session-tracking=systemd" ]; - buildInputs = [ wirelesstools udev libnl1 libuuid polkit ppp xz ]; + buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz ]; propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ]; - buildNativeInputs = [ intltool pkgconfig ]; + nativeBuildInputs = [ intltool pkgconfig ]; patches = [ ( substituteAll { @@ -53,11 +56,14 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/lib/NetworkManager + + # FIXME: Workaround until NixOS' dbus+systemd supports at_console policy + substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"' ''; meta = with stdenv.lib; { homepage = http://projects.gnome.org/NetworkManager/; - description = "Network configuration and management in an easy way. Desktop environment independent."; + description = "Network configuration and management tool"; license = licenses.gpl2Plus; maintainers = with maintainers; [ phreedom urkud rickynils ]; platforms = platforms.linux; diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix index 8d2acfe9b31..b71e41c8b56 100644 --- a/pkgs/tools/networking/network-manager/pptp.nix +++ b/pkgs/tools/networking/network-manager/pptp.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ networkmanager pptp ppp ] ++ stdenv.lib.optionals withGnome [ gtk libgnome_keyring ]; - buildNativeInputs = [ intltool pkgconfig ]; + nativeBuildInputs = [ intltool pkgconfig ]; configureFlags = if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"; diff --git a/pkgs/tools/networking/networkmanagement/default.nix b/pkgs/tools/networking/networkmanagement/default.nix index 1919186586a..474a4638758 100644 --- a/pkgs/tools/networking/networkmanagement/default.nix +++ b/pkgs/tools/networking/networkmanagement/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { }; buildInputs = [ kdelibs kde_workspace networkmanager ]; - buildNativeInputs = [ gettext pkgconfig ]; + nativeBuildInputs = [ gettext pkgconfig ]; NIX_CFLAGS_COMPILE="-I${kde_workspace}/include/solid/control"; diff --git a/pkgs/tools/networking/nss-pam-ldapd/default.nix b/pkgs/tools/networking/nss-pam-ldapd/default.nix new file mode 100644 index 00000000000..92cb053bb44 --- /dev/null +++ b/pkgs/tools/networking/nss-pam-ldapd/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, pkgconfig, openldap, python, pam, makeWrapper }: + +stdenv.mkDerivation rec { + name = "nss-pam-ldapd-${version}"; + version = "0.8.11"; + + src = fetchurl { + url = "http://arthurdejong.org/nss-pam-ldapd/${name}.tar.gz"; + sha256 = "9a841f6a46bf9f87213dc806c0f6507ac5016a2ee550d42c3ed9fb280c1e38e6"; + }; + + buildInputs = [ makeWrapper pkgconfig python openldap pam ]; + + preConfigure = '' + substituteInPlace Makefile.in --replace "install-data-local: " "# install-data-local: " + ''; + + configureFlags = [ + "--with-bindpw-file=/run/nslcd/bindpw" + "--with-nslcd-socket=/run/nslcd/socket" + "--with-nslcd-pidfile=/run/nslcd/nslcd.pid" + "--with-pam-seclib-dir=$(out)/lib/security" + ]; + + postInstall = '' + wrapProgram $out/sbin/nslcd --prefix LD_LIBRARY_PATH ":" $out/lib + ''; + + meta = { + description = "LDAP identity and authentication for NSS/PAM"; + homepage = http://arthurdejong.org/nss-pam-ldapd/; + license = [ "GPLv21" ]; + }; +} diff --git a/pkgs/tools/networking/ntop/default.nix b/pkgs/tools/networking/ntop/default.nix index 945effabcfb..48f2c9f0893 100644 --- a/pkgs/tools/networking/ntop/default.nix +++ b/pkgs/tools/networking/ntop/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { cp ${libtool}/share/aclocal/libtool.m4 libtool.m4.in ''; - buildNativeInputs = [ autoconf automake libtool wget libpcap gdbm zlib openssl rrdtool + nativeBuildInputs = [ autoconf automake libtool wget libpcap gdbm zlib openssl rrdtool python geoip ]; meta = { diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix index 7ff1ab4a5d3..c5386553f4f 100644 --- a/pkgs/tools/networking/nzbget/default.nix +++ b/pkgs/tools/networking/nzbget/default.nix @@ -2,20 +2,18 @@ , gnutls, libgcrypt }: stdenv.mkDerivation rec { - name = "nzbget-0.8.0"; + name = "nzbget-9.0"; src = fetchurl { url = "mirror://sourceforge/nzbget/${name}.tar.gz"; - sha256 = "15bxsxdbkml9cqpy6zxgv78ff69l8qrv8r201gmzvylpc1ckjsb4"; + sha256 = "1r4ys5nmcz1ilkdjdh3r8lawaf96i8spk6hl02h823q9rppvmya0"; }; buildInputs = [ pkgconfig libxml2 ncurses libsigcxx libpar2 gnutls libgcrypt ]; - postInstall = - '' - mkdir -p $out/etc - cp nzbget.conf.example $out/etc/ - ''; + enableParallelBuilding = true; + + NIX_LDFLAGS = "-lz"; meta = { homepage = http://nzbget.sourceforge.net/; diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix index 3aa818db728..2879c5cc1a1 100644 --- a/pkgs/tools/networking/openresolv/default.nix +++ b/pkgs/tools/networking/openresolv/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "openresolv-3.4.6"; + name = "openresolv-3.5.4"; src = fetchurl { url = "http://roy.marples.name/downloads/openresolv/${name}.tar.bz2"; - sha256 = "026z4973b0vqp5acr6mn5fyxyc84y4ahg1f8fddh8dph86jcnhba"; + sha256 = "0in40iha4ghk12lr2p65v0by3h0jp7qsdajmj4vm7iis0plzr4db"; }; configurePhase = diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index f708ede2f69..1c0ed3c6e77 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -6,18 +6,18 @@ let hpnSrc = fetchurl { - url = http://www.psc.edu/networking/projects/hpn-ssh/openssh-5.9p1-hpn13v12.diff.gz; - sha256 = "0h1h45vic4zks5bc5mvkc50rlgy2c219vn3rmpmalgm5hws9qjbl"; + url = http://nixos.org/tarballs/openssh-6.1p1-hpn13v14.diff.gz; + sha256 = "14das6lim6fxxnx887ssw76ywsbvx3s4q3n43afgh5rgvs4xmnnq"; }; in stdenv.mkDerivation rec { - name = "openssh-6.0p1"; + name = "openssh-6.1p1"; src = fetchurl { url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz"; - sha1 = "f691e53ef83417031a2854b8b1b661c9c08e4422"; + sha1 = "751c92c912310c3aa9cadc113e14458f843fc7b3"; }; prePatch = stdenv.lib.optionalString hpnSupport @@ -25,10 +25,9 @@ stdenv.mkDerivation rec { gunzip -c ${hpnSrc} | patch -p1 export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s" ''; - + patches = [ ./locale_archive.patch ]; - buildNativeInptus = [ perl ]; buildInputs = [ zlib openssl libedit pkgconfig pam ]; # I set --disable-strip because later we strip anyway. And it fails to strip diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix index 5ef4a640d2a..0c04d76e23f 100644 --- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix +++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix @@ -71,10 +71,9 @@ buildPythonPackage { find "$out/share/doc/${name}" -name Makefile -exec rm -v {} \; # Run the tests once everything is installed. - # FIXME: Some of the tests want to run $out/bin/tahoe, which isn't usable - # yet because it gets wrapped later on, in `postFixup'. export PYTHON_EGG_CACHE="$TMPDIR" - : python setup.py trial + python setup.py build + python setup.py trial ''; meta = { diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/test-timeout.patch b/pkgs/tools/networking/p2p/tahoe-lafs/test-timeout.patch deleted file mode 100644 index f9867e64bf8..00000000000 --- a/pkgs/tools/networking/p2p/tahoe-lafs/test-timeout.patch +++ /dev/null @@ -1,12 +0,0 @@ -See http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3194 . - ---- allmydata-tahoe-1.6.1/src/allmydata/test/test_immutable.py 2010-02-28 00:36:14.000000000 +0100 -+++ allmydata-tahoe-1.6.1/src/allmydata/test/test_immutable.py 2010-03-02 11:40:38.000000000 +0100 -@@ -6,6 +6,7 @@ from twisted.trial import unittest - import random - - class Test(common.ShareManglingMixin, unittest.TestCase): -+ timeout = 240 - def test_test_code(self): - # The following process of stashing the shares, running - # replace_shares, and asserting that the new set of shares equals the diff --git a/pkgs/tools/networking/pptp/default.nix b/pkgs/tools/networking/pptp/default.nix index 88f1a86a2ed..5bfb6f58bea 100644 --- a/pkgs/tools/networking/pptp/default.nix +++ b/pkgs/tools/networking/pptp/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { MANDIR=$out/share/man/man8 PPPDIR=$out/etc/ppp ) ''; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; meta = { description = "PPTP client for Linux"; diff --git a/pkgs/tools/networking/samplicator/default.nix b/pkgs/tools/networking/samplicator/default.nix new file mode 100644 index 00000000000..a8733a7305a --- /dev/null +++ b/pkgs/tools/networking/samplicator/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "samplicator-${version}"; + version = "1.3.7-beta6"; + + src = fetchurl { + url = "http://samplicator.googlecode.com/files/${name}.tar.gz"; + sha1 = "2091af1898d6508ad9fd338a07e352e2387522d4"; + }; + + meta = { + description = "Send copies of (UDP) datagrams to multiple receivers"; + homepage = "http://code.google.com/p/samplicator/"; + license = stdenv.lib.licenses.gpl2Plus; + }; +} diff --git a/pkgs/tools/networking/sitecopy/default.nix b/pkgs/tools/networking/sitecopy/default.nix index 6beaff56aea..5667744ef22 100644 --- a/pkgs/tools/networking/sitecopy/default.nix +++ b/pkgs/tools/networking/sitecopy/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, neon, zlib, openssl, autoconf, automake, libtool }: +{ stdenv, fetchurl, neon, zlib, openssl, autoreconfHook }: stdenv.mkDerivation rec { name = "sitecopy-0.16.6"; @@ -10,9 +10,7 @@ stdenv.mkDerivation rec { patches = [ ./neon-29.patch ]; - preConfigure = "autoreconf"; - - buildInputs = [ openssl neon zlib autoconf automake libtool ]; + buildInputs = [ openssl neon zlib autoreconfHook ]; configureFlags= "--with-ssl=openssl"; } diff --git a/pkgs/tools/networking/surfraw/default.nix b/pkgs/tools/networking/surfraw/default.nix new file mode 100644 index 00000000000..bd3a1135a84 --- /dev/null +++ b/pkgs/tools/networking/surfraw/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchurl, perl}: + +stdenv.mkDerivation rec { + name = "surfraw-2.2.8"; + + src = fetchurl { + url = "http://surfraw.alioth.debian.org/dist/surfraw-2.2.8.tar.gz"; + sha256 = "925075e05637e39458b00e859193aacde306aafd9a962f44f5114f81713539ec"; + }; + + configureFlags = [ + "--disable-opensearch" + ]; + + nativeBuildInputs = [ perl ]; + + meta = { + description = "Provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power"; + homepage = "http://surfraw.alioth.debian.org"; + maintainers = []; + }; +} diff --git a/pkgs/tools/networking/tcng/default.nix b/pkgs/tools/networking/tcng/default.nix deleted file mode 100644 index 062977b455c..00000000000 --- a/pkgs/tools/networking/tcng/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ stdenv, fetchurl, bison, flex, db4, perl, kernel, iproute }: - -# tcc can even compile kernel modules for speed reason. -# that would be a nice use case to test! - -# something is still wrong. The output can't be pasred sometimes -# Eg it contains continue/pass,drop/pass, drop/drop. I've replaced -# them by ok, drop, drop using sed. I'm not sure wether this is the correct way -# Man pages are missing as well. So use the link at the bottom - -let version = "10b"; in - -stdenv.mkDerivation { - - name = "tcng-${version}"; - - src = fetchurl { - url = mirror://debian/pool/main/t/tcng/tcng_10b.orig.tar.gz; - sha256 = "1xjs0yn90rfa8ibxybg3gab1xzcjg60njymq2bd1b0a9i0arx7ji"; - }; - - iproute2Src = iproute.src; - - patches = - [ (fetchurl { - url = mirror://debian/pool/main/t/tcng/tcng_10b-2.diff.gz; - sha256 = "17i4s2ffif0k4b78gfhkp08lvvharbfvyhwbd0vkwgpria0b9zrd"; - }) - ]; - - # one mailinglist post says you should just add your kernel version to the list.. (?) - patchPhase = '' - unset patchPhase - patchPhase - unpackFile $iproute2Src - IPROUTESRC=$(echo iproute*) - for script in $(find . -type f); do sed -e 's@#![ ]*/bin/bash@#! /bin/sh@' -i $script; done - find . -type f | xargs sed -i 's@/usr/bin/perl@${perl}/bin/perl@g' - find . -type f | xargs sed -i 's@/lib/cpp@cpp@g' - ''; - - # gentoo ebulid says tcsim doesn't compile with 2.6 headers.. - # DATADIR can still be overridden by env TOPDIR=... - # Don't know whats it for except including the default .tc files - configurePhase='' - cat >> config << EOF - YACC="yacc" - DATA_DIR="$out/lib/tcng" - EOF - ./configure \ - --kernel ${kernel}/lib/modules/2.6.28.6-default/build \ - --iproute2 $IPROUTESRC \ - --install-directory $out \ - --no-manual \ - --with-tcsim - ''; - - # hacky, how to enable building tcc the correct way? - # adding shared and tcc to SUBDIRS and run make again isn't nice but works - buildPhase = '' - sed -i 's@^\(SUBDIRS.*\)@\1 shared tcc@' Makefile - make - ''; - - # manually copy tcc and include files.. see comment above - installPhase = '' - mkdir -p $out{,/sbin,/lib/tcng/include} - make DESTDIR=$out install - cp tcc/tcc $out/sbin - cp tcc/*.tc $out/lib/tcng/include - ''; - - buildInputs = [ bison flex db4 perl ]; - - meta = { - description = "tcng - Traffic Control Next Generation"; - homepage = "http://tcng.sourceforge.net/"; - license = "GPLv2"; - }; -} diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix new file mode 100644 index 00000000000..bcfb584da1b --- /dev/null +++ b/pkgs/tools/networking/tinc/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, lzo, openssl, zlib}: + +stdenv.mkDerivation rec { + version = "1.0.19"; + name = "tinc-${version}"; + + src = fetchurl { + url = "http://www.tinc-vpn.org/packages/tinc-${version}.tar.gz"; + sha256 = "183nxj23d05vc3pxwbb692lr048wr81wnv0avzlkdm4r6c3bp7jh"; + }; + + buildInputs = [ lzo openssl zlib ]; + + configureFlags = '' + --localstatedir=/var + --sysconfdir=/etc + ''; + + meta = { + description = "VPN daemon with full mesh routing"; + longDescription = '' + tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and + encryption to create a secure private network between hosts on the + Internet. It features full mesh routing, as well as encryption, + authentication, compression and ethernet bridging. + ''; + homepage="http://www.tinc-vpn.org/"; + license = stdenv.lib.licenses.gpl2Plus; + }; +} diff --git a/pkgs/tools/networking/wbox/default.nix b/pkgs/tools/networking/wbox/default.nix new file mode 100644 index 00000000000..aa29b8be34f --- /dev/null +++ b/pkgs/tools/networking/wbox/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "wbox-${version}"; + version = "5"; + + installPhase = '' + install -vD wbox "$out/bin/wbox" + ''; + + src = fetchurl { + url = "http://www.hping.org/wbox/${name}.tar.gz"; + sha256 = "06daxwbysppvbh1mwprw8fgsp6mbd3kqj7a978w7ivn8hdgdi28m"; + }; + + meta = { + description = "A simple HTTP benchmarking tool"; + homepage = "http://www.hping.org/wbox/"; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix index 799c5e9dd85..3b6c28d2ac1 100644 --- a/pkgs/tools/networking/wget/default.nix +++ b/pkgs/tools/networking/wget/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext, perl, LWP, gnutls ? null }: stdenv.mkDerivation rec { - name = "wget-1.13.4"; + name = "wget-1.14"; src = fetchurl { - url = "mirror://gnu/wget/${name}.tar.gz"; - sha256 = "1kadjg63x1mm741dxdidwsn1rz0f7dkzbq59v0iww87jr45p3ir4"; + url = "mirror://gnu/wget/${name}.tar.xz"; + sha256 = "0yqllj3nv9p3vqbdm6j4nvpjcwf1y19rq8sd966nrbd2qvvxfq8p"; }; preConfigure = stdenv.lib.optionalString doCheck @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { done ''; - buildNativeInputs = [ gettext ]; + nativeBuildInputs = [ gettext ]; buildInputs = stdenv.lib.optionals doCheck [ perl LWP ] ++ stdenv.lib.optional (gnutls != null) gnutls; diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix index 6332ff8ad5d..57c2e1d6d3c 100644 --- a/pkgs/tools/networking/wicd/default.nix +++ b/pkgs/tools/networking/wicd/default.nix @@ -1,5 +1,5 @@ {stdenv, fetchurl, python, pygobject, pycairo, pyGtkGlade, pythonDBus, - wpa_supplicant, dhcp, dhcpcd, wirelesstools, nettools, iproute, + wpa_supplicant, dhcp, dhcpcd, wirelesstools, nettools, openresolv, iproute, locale ? "C" }: # Wicd has a ncurses interface that we do not build because it depends @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { substituteInPlace in/scripts=wicd.in --subst-var-by TEMPLATE-DEFAULT $out/share/other/dhclient.conf.template.default - sed -i "2iexport PATH=\$PATH\$\{PATH:+:\}${python}/bin:${wpa_supplicant}/sbin:${dhcpcd}/sbin:${dhcp}/sbin:${wirelesstools}/sbin:${nettools}/sbin:${iproute}/sbin" in/scripts=wicd.in + sed -i "2iexport PATH=\$PATH\$\{PATH:+:\}${python}/bin:${wpa_supplicant}/sbin:${dhcpcd}/sbin:${dhcp}/sbin:${wirelesstools}/sbin:${nettools}/sbin:${openresolv}/sbin:${iproute}/sbin" in/scripts=wicd.in sed -i "3iexport PYTHONPATH=\$PYTHONPATH\$\{PYTHONPATH:+:\}$(toPythonPath $out):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pythonDBus})" in/scripts=wicd.in sed -i "4iexport LC_ALL=\\\"${locale}\\\"" in/scripts=wicd.in sed -i "2iexport PATH=\$PATH\$\{PATH:+:\}${python}/bin" in/scripts=wicd-client.in diff --git a/pkgs/tools/package-management/cabal-install/0.14.0.nix b/pkgs/tools/package-management/cabal-install/0.14.0.nix index ecbd46de52c..15fe5f1e22c 100644 --- a/pkgs/tools/package-management/cabal-install/0.14.0.nix +++ b/pkgs/tools/package-management/cabal-install/0.14.0.nix @@ -9,6 +9,10 @@ cabal.mkDerivation (self: { buildDepends = [ Cabal filepath HTTP mtl network random time zlib ]; + postInstall = '' + mkdir $out/etc + mv bash-completion $out/etc/bash_completion.d + ''; meta = { homepage = "http://www.haskell.org/cabal/"; description = "The command-line interface for Cabal and Hackage"; diff --git a/pkgs/tools/package-management/cabal-install/1.16.0.2.nix b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix new file mode 100644 index 00000000000..8f28f57c18f --- /dev/null +++ b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix @@ -0,0 +1,23 @@ +{ cabal, Cabal, filepath, HTTP, mtl, network, random, time, zlib }: + +cabal.mkDerivation (self: { + pname = "cabal-install"; + version = "1.16.0.2"; + sha256 = "162nbkkffpbalg368m5s49jrvg9nibdwlwj0j1b8wriyyg4srpv6"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + Cabal filepath HTTP mtl network random time zlib + ]; + postInstall = '' + mkdir $out/etc + mv bash-completion $out/etc/bash_completion.d + ''; + meta = { + homepage = "http://www.haskell.org/cabal/"; + description = "The command-line interface for Cabal and Hackage"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/tools/package-management/dpkg/cache-arch.patch b/pkgs/tools/package-management/dpkg/cache-arch.patch new file mode 100644 index 00000000000..9677c8fdee3 --- /dev/null +++ b/pkgs/tools/package-management/dpkg/cache-arch.patch @@ -0,0 +1,15 @@ +Don't invoke "dpkg --print-architecture" for every call to +Dpkg::Arch::get_raw_build_arch(). + +diff -ru -x '*~' dpkg-1.16.9/scripts/Dpkg/Arch.pm dpkg-1.16.9-new/scripts/Dpkg/Arch.pm +--- dpkg-1.16.9/scripts/Dpkg/Arch.pm 2012-10-20 06:34:17.000000000 +0200 ++++ dpkg-1.16.9-new/scripts/Dpkg/Arch.pm 2012-12-04 19:42:20.451002537 +0100 +@@ -59,7 +59,7 @@ + # dpkg-architecture itself, by avoiding computing the DEB_BUILD_ + # variables when they are not requested. + +- my $build_arch = `dpkg --print-architecture`; ++ $build_arch = `dpkg --print-architecture`; + syserr("dpkg --print-architecture failed") if $? >> 8; + + chomp $build_arch; diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix index 2ffacb08479..e801bcfb2c2 100644 --- a/pkgs/tools/package-management/dpkg/default.nix +++ b/pkgs/tools/package-management/dpkg/default.nix @@ -1,21 +1,20 @@ -{stdenv, fetchurl, perl, zlib, bzip2}: +{ stdenv, fetchurl, perl, zlib, bzip2, xz, makeWrapper }: -let version = "1.14.29"; in +let version = "1.16.9"; in stdenv.mkDerivation { name = "dpkg-${version}"; src = fetchurl { - url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.gz"; - sha256 = "0cynms4vziy957r4zskybbid87sz99vrfy8d999vlhxgc74c2zpa"; + url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz"; + sha256 = "0ykby9x4x2zb7rfj30lfjcsrq2q32z2lnsrl8pbdvb2l9sx7zkbk"; }; - configureFlags = "--without-dselect --with-admindir=/var/lib/dpkg"; + patches = [ ./cache-arch.patch ]; + + configureFlags = "--disable-dselect --with-admindir=/var/lib/dpkg PERL_LIBDIR=$(out)/${perl.libPrefix}"; preConfigure = '' - # Can't use substitute pending resolution of NIXPKGS-89. - sed -s 's^/usr/bin/perl^${perl}/bin/perl^' -i scripts/dpkg-architecture.pl - # Nice: dpkg has a circular dependency on itself. Its configure # script calls scripts/dpkg-architecture, which calls "dpkg" in # $PATH. It doesn't actually use its result, but fails if it @@ -24,14 +23,25 @@ stdenv.mkDerivation { chmod +x $TMPDIR/dpkg PATH=$TMPDIR:$PATH - substituteInPlace src/Makefile.in --replace "install-data-local:" "disabled:" - substituteInPlace dpkg-split/Makefile.in --replace "install-data-local:" "disabled:" + for i in $(find . -name Makefile.in); do + substituteInPlace $i --replace "install-data-local:" "disabled:" ; + done ''; - buildInputs = [ perl zlib bzip2 ]; + buildInputs = [ perl zlib bzip2 xz makeWrapper ]; + + postInstall = + '' + for i in $out/bin/*; do + if head -n 1 $i | grep -q perl; then + wrapProgram $i --prefix PERL5LIB : $out/${perl.libPrefix} + fi + done # */ + ''; meta = { description = "The Debian package manager"; homepage = http://wiki.debian.org/Teams/Dpkg; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/package-management/nix/custom.nix b/pkgs/tools/package-management/nix/custom.nix deleted file mode 100644 index b760e4b7f4d..00000000000 --- a/pkgs/tools/package-management/nix/custom.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ stdenv, fetchurl, aterm, db4, perl, curl, bzip2, openssl ? null -, storeDir ? "/nix/store" -, stateDir ? "/nix/var" -, src -, preConfigure ? "" -, autoconf ? null, automake ? null, libtool ? null -, bison ? null -, flex ? null -, w3m ? null -, libxml2 ? null -, docbook5_xsl ? null, libxslt ? null -, docbook5 ? null, docbook_xml_dtd_43 ? null -, perlPackages -, boehmgc ? null -, pkgconfig ? null -, sqlite ? null -, configureFlags ? [] -, lib -, enableScripts ? [] -}: - -stdenv.mkDerivation { - name = "nix-custom"; - - inherit src; - - buildInputs = [perl curl openssl bzip2 ] - ++ (if automake != null then [automake] else []) - ++ (if autoconf != null then [autoconf] else []) - ++ (if libtool != null then [libtool] else []) - ++ (if bison != null then [bison] else []) - ++ (if flex != null then [flex] else []) - ++ (if docbook5_xsl != null then [docbook5_xsl] else []) - ++ (if libxslt != null then [libxslt] else []) - ++ (if docbook5 != null then [docbook5] else []) - ++ (if docbook_xml_dtd_43 != null then [docbook_xml_dtd_43] else []) - ++ (if w3m != null then [w3m] else []) - ++ (if libxml2 != null then [libxml2] else []) - ++ (if boehmgc != null then [boehmgc] else []) - ++ (if sqlite != null then [sqlite] else []) - ++ (if pkgconfig != null then [pkgconfig] else []) - ; - - preConfigure = - (lib.concatMapStrings (script: - '' - sed -e '/bin_SCRIPTS = /a${script} \\' -i scripts/Makefile.am - '' - ) enableScripts) - + preConfigure - + "\n./bootstrap.sh"; - - configureFlags = '' - --with-store-dir=${storeDir} --localstatedir=${stateDir} - --with-aterm=${aterm} --with-bdb=${db4} --with-bzip2=${bzip2} - --with-sqlite=${sqlite} - --disable-init-state - --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl - --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl - ${toString configureFlags} - ''; - - meta = { - description = "The Nix Deployment System"; - homepage = http://nixos.org/; - license = "LGPL"; - }; -} diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index e433aa60579..97ef421c341 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -5,14 +5,14 @@ }: stdenv.mkDerivation rec { - name = "nix-1.1"; + name = "nix-1.3"; src = fetchurl { - url = "http://hydra.nixos.org/build/2860022/download/4/${name}.tar.bz2"; - sha256 = "edb2fc444eda49be144ca2901f1fc9472cd24896775ba02556ded5705863d324"; + url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz"; + sha256 = "32cba96df0e02d6627f5625a441fdd4ea0db718dd5bfd50044cdfd3c606d4852"; }; - buildNativeInputs = [ perl pkgconfig ]; + nativeBuildInputs = [ perl pkgconfig ]; buildInputs = [ curl openssl boehmgc sqlite ]; @@ -26,34 +26,40 @@ stdenv.mkDerivation rec { configureFlags = '' - --with-store-dir=${storeDir} --localstatedir=${stateDir} - --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl - --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl + --with-store-dir=${storeDir} --localstatedir=${stateDir} --sysconfdir=/etc + --with-dbi=${perlPackages.DBI}/${perl.libPrefix} + --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix} + --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc CFLAGS=-O3 CXXFLAGS=-O3 ''; + makeFlags = "profiledir=$(out)/etc/profile.d"; + + installFlags = "sysconfdir=$(out)/etc"; + doInstallCheck = true; crossAttrs = { postUnpack = - '' export CPATH="${bzip2.hostDrv}/include" - export NIX_CROSS_LDFLAGS="-L${bzip2.hostDrv}/lib -rpath-link ${bzip2.hostDrv}/lib $NIX_CROSS_LDFLAGS" + '' export CPATH="${bzip2.crossDrv}/include" + export NIX_CROSS_LDFLAGS="-L${bzip2.crossDrv}/lib -rpath-link ${bzip2.crossDrv}/lib $NIX_CROSS_LDFLAGS" ''; configureFlags = '' --with-store-dir=${storeDir} --localstatedir=${stateDir} - --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl - --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl + --with-dbi=${perlPackages.DBI}/${perl.libPrefix} + --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix} + --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc CFLAGS=-O3 CXXFLAGS=-O3 '' + stdenv.lib.optionalString ( stdenv.cross ? nix && stdenv.cross.nix ? system ) ''--with-system=${stdenv.cross.nix.system}''; - + doInstallCheck = false; }; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 103d92a0ee9..ff36e0cc3cc 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -5,14 +5,14 @@ }: stdenv.mkDerivation rec { - name = "nix-1.2pre2793_d950cfe"; + name = "nix-1.4pre3056_79a3ba7"; src = fetchurl { - url = "http://hydra.nixos.org/build/2955697/download/4/${name}.tar.bz2"; - sha256 = "f91367d8e7ed795b2bc9a47fb3ecff00d005633f248ecaafa25e8e101a5dc682"; + url = "http://hydra.nixos.org/build/4070551/download/5/${name}.tar.xz"; + sha256 = "7478fd6fea91ec094645e8487b9ef001abd300703d79e04743f4d212469cf13d"; }; - buildNativeInputs = [ perl pkgconfig ]; + nativeBuildInputs = [ perl pkgconfig ]; buildInputs = [ curl openssl boehmgc sqlite ]; @@ -26,34 +26,40 @@ stdenv.mkDerivation rec { configureFlags = '' - --with-store-dir=${storeDir} --localstatedir=${stateDir} - --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl - --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl + --with-store-dir=${storeDir} --localstatedir=${stateDir} --sysconfdir=/etc + --with-dbi=${perlPackages.DBI}/${perl.libPrefix} + --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix} + --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc CFLAGS=-O3 CXXFLAGS=-O3 ''; + makeFlags = "profiledir=$(out)/etc/profile.d"; + + installFlags = "sysconfdir=$(out)/etc"; + doInstallCheck = true; crossAttrs = { postUnpack = - '' export CPATH="${bzip2.hostDrv}/include" - export NIX_CROSS_LDFLAGS="-L${bzip2.hostDrv}/lib -rpath-link ${bzip2.hostDrv}/lib $NIX_CROSS_LDFLAGS" + '' export CPATH="${bzip2.crossDrv}/include" + export NIX_CROSS_LDFLAGS="-L${bzip2.crossDrv}/lib -rpath-link ${bzip2.crossDrv}/lib $NIX_CROSS_LDFLAGS" ''; configureFlags = '' --with-store-dir=${storeDir} --localstatedir=${stateDir} - --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl - --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl + --with-dbi=${perlPackages.DBI}/${perl.libPrefix} + --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix} + --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc CFLAGS=-O3 CXXFLAGS=-O3 '' + stdenv.lib.optionalString ( stdenv.cross ? nix && stdenv.cross.nix ? system ) ''--with-system=${stdenv.cross.nix.system}''; - + doInstallCheck = false; }; diff --git a/pkgs/tools/security/aespipe/default.nix b/pkgs/tools/security/aespipe/default.nix new file mode 100644 index 00000000000..b16adbea868 --- /dev/null +++ b/pkgs/tools/security/aespipe/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "aespipe-${version}"; + version = "v2.4c"; + + src = fetchurl { + url = "mirror://sourceforge/loop-aes/aespipe/${name}.tar.bz2"; + sha256 = "0pl49jnjczjvfxwm9lw576qsjm1lxh8gc4g776l904cixaz90096"; + }; + + meta = { + description = "AES encrypting or decrypting pipe"; + homepage = http://loop-aes.sourceforge.net/aespipe.README; + license = "GPL"; + maintainers = stdenv.lib.maintainers.goibniu; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix new file mode 100644 index 00000000000..7eeb491374a --- /dev/null +++ b/pkgs/tools/security/apg/default.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchurl }: +stdenv.mkDerivation rec { + name = "apg-2.2.3"; + src = fetchurl { + url = "http://www.adel.nursat.kz/apg/download/${name}.tar.gz"; + sha256 = "1fkxpaifv925i385krsyslrig42ksws5y19hfq5asn1rwv6zmjb9"; + }; + configurePhase = '' + substituteInPlace Makefile --replace /usr/local "$out" + ''; + preInstall = '' + export CHOWNPROG=true + export CHGRPPROG=true + ''; + + meta = { + description = "A tool set for random password generation."; + longDescription = '' + APG (Automated Password Generator) is the tool set for random + password generation. + + Standalone version + + Generates some random words of required type and prints them + to standard output. + + Network version + + APG server: When client's request is arrived generates some + random words of predefined type and send them to client over + the network (according to RFC0972). + + APG client: Sends the password generation request to the APG + server, wait for generated Passwords arrival and then prints + them to the standard output. + + Advantages + + * Built-in ANSI X9.17 RNG (Random Number Generator) (CAST/SHA1) + * Built-in password quality checking system (it has support for + Bloom filter for faster access) + * Two Password Generation Algorithms: + 1. Pronounceable Password Generation Algorithm (according to + NIST FIPS 181) + 2. Random Character Password Generation Algorithm with 35 + configurable modes of operation + * Configurable password length parameters + * Configurable amount of generated passwords + * Ability to initialize RNG with user string + * Support for /dev/random + * Ability to crypt() generated passwords and print them as + additional output + * Special parameters to use APG in script + * Ability to log password generation requests for network version + * Ability to control APG service access using tcpd + * Ability to use password generation service from any type of box + (Mac, WinXX, etc.) that connected to network + * Ability to enforce remote users to use only allowed type of + password generation + ''; + homepage = http://www.adel.nursat.kz/apg/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ astsmtl ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/security/ccrypt/default.nix b/pkgs/tools/security/ccrypt/default.nix index a134f45c988..5653af424d1 100644 --- a/pkgs/tools/security/ccrypt/default.nix +++ b/pkgs/tools/security/ccrypt/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "1bzbfq19jnnlp221kilzxpy0l6w3hk9b1iqjz4haypzlyxswnf35"; }; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; meta = { homepage = http://ccrypt.sourceforge.net/; diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index 0667a7f9885..ba680cb8ba4 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { sha256 = "08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg"; }; - buildInputs = [ readline zlib libgpgerror pth libgcrypt libassuan libksba ] + buildInputs = [ readline zlib libgpgerror libgcrypt libassuan libksba pth ] ++ stdenv.lib.optional useLdap openldap ++ stdenv.lib.optional useBzip2 bzip2 ++ stdenv.lib.optional useUsb libusb diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix index 0674fc4e480..c779b979d9d 100644 --- a/pkgs/tools/security/gnupg1/default.nix +++ b/pkgs/tools/security/gnupg1/default.nix @@ -15,11 +15,11 @@ let in stdenv.mkDerivation rec { - name = "gnupg-1.4.11"; + name = "gnupg-1.4.13"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "1xkfxr4z2fy9d5d6hj4lzv854lk227kgv6qb2w0sam752snfx36i"; + sha1 = "17a75c54d292bd0923f0a1817a1b02ded37d1de1"; }; buildInputs = [ readline bzip2 ]; diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix index 28a673d03ef..a6f8b2dc064 100644 --- a/pkgs/tools/security/pcsclite/default.nix +++ b/pkgs/tools/security/pcsclite/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ udev dbus_libs ]; - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; meta = { description = "Middleware to access a smart card using SCard API (PC/SC)"; diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix index 524a582fcb0..543c5d81ba1 100644 --- a/pkgs/tools/security/pinentry/default.nix +++ b/pkgs/tools/security/pinentry/default.nix @@ -6,11 +6,11 @@ assert useGtk || useNcurses || useQt4; stdenv.mkDerivation rec { - name = "pinentry-0.8.0"; + name = "pinentry-0.8.2"; src = fetchurl { - url = "mirror://gnupg/pinentry/${name}.tar.gz"; - sha256 = "06phs3gbs6gf0z9g28z3jgsw312dhhpdgzrx4hhps53xrbwpyv22"; + url = "mirror://gnupg/pinentry/${name}.tar.bz2"; + sha256 = "1c9r99ck8072y7nkirddg3p372xadl95y65hyc1m6wn5mavbg12h"; }; buildInputs = let opt = stdenv.lib.optional; in [] @@ -24,17 +24,16 @@ stdenv.mkDerivation rec { ++ (if useGtk then ["--enable-pinentry-gtk2"] else ["--disable-pinentry-gtk"]) ++ (if useQt4 then ["--enable-pinentry-qt4"] else ["--disable-pinentry-qt4"]); - buildNativeInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; meta = { + homepage = "http://gnupg.org/aegypten2/"; description = "GnuPG's interface to passphrase input"; + license = "GPLv2+"; longDescription = '' Pinentry provides a console and a GTK+ GUI that allows users to enter a passphrase when `gpg' or `gpg2' is run and needs it. ''; - - homepage = http://gnupg.org/aegypten2/; - license = "GPLv2+"; }; } diff --git a/pkgs/tools/security/pinentry/duplicate-glib-defs.patch b/pkgs/tools/security/pinentry/duplicate-glib-defs.patch deleted file mode 100644 index 78796ee2f53..00000000000 --- a/pkgs/tools/security/pinentry/duplicate-glib-defs.patch +++ /dev/null @@ -1,20 +0,0 @@ -Comment out definitions of functions that are part of Glib. - ---- pinentry-0.7.5/gtk+-2/gtksecentry.c 2007-11-19 12:20:50.000000000 +0100 -+++ pinentry-0.7.5/gtk+-2/gtksecentry.c 2008-12-08 22:08:22.000000000 +0100 -@@ -269,6 +269,7 @@ gboolean g_use_secure_mem = FALSE; - } while(0) - - -+#if 0 - gpointer - g_malloc(gulong size) - { -@@ -347,6 +348,7 @@ g_free(gpointer mem) - free(mem); - } - } -+#endif - - GType - gtk_secure_entry_get_type(void) diff --git a/pkgs/tools/security/polkit-gnome/default.nix b/pkgs/tools/security/polkit-gnome/default.nix index b70aa427031..c06aac204a1 100644 --- a/pkgs/tools/security/polkit-gnome/default.nix +++ b/pkgs/tools/security/polkit-gnome/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; buildInputs = [ polkit gtk3 ]; - buildNativeInputs = [ pkgconfig intltool ]; + nativeBuildInputs = [ pkgconfig intltool ]; configureFlags = "--disable-introspection"; diff --git a/pkgs/tools/security/polkit-kde-agent/default.nix b/pkgs/tools/security/polkit-kde-agent/default.nix index 10836366b18..7696ee93bce 100644 --- a/pkgs/tools/security/polkit-kde-agent/default.nix +++ b/pkgs/tools/security/polkit-kde-agent/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { buildInputs = [ kdelibs polkit_qt_1 ]; - buildNativeInputs = [ gettext ]; + nativeBuildInputs = [ gettext ]; patchPhase = "sed -e s/KDE4_AUTOSTART/AUTOSTART/ -i CMakeLists.txt"; diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix new file mode 100644 index 00000000000..446e25772f1 --- /dev/null +++ b/pkgs/tools/security/rng-tools/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "rng-tools-4"; + + src = fetchurl { + url = "mirror://sourceforge/gkernel/${name}.tar.gz"; + + sha256 = "15f17j3lxn1v2mhdxvy3pahz41hn1vlnnm81c0qyh19c4bady6xp"; + }; + + meta = { + description = "A random number generator daemon"; + + homepage = http://sourceforge.net/projects/gkernel; + + license = stdenv.lib.licenses.gpl2; + + platforms = stdenv.lib.platforms.linux; + + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 3d2360196a6..c56f9454fcd 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libevent, openssl, zlib }: stdenv.mkDerivation rec { - name = "tor-0.2.2.35"; + name = "tor-0.2.3.25"; src = fetchurl { url = "http://www.torproject.org/dist/${name}.tar.gz"; - sha256 = "f141a41fffd31494a0f96ebbb6b999eab33ce62d5c31f81222a0acd034adbf3a"; + sha256 = "bb2d6f1136f33e11d37e6e34184143bf191e59501613daf33ae3d6f78f3176a0"; }; # patchPhase = diff --git a/pkgs/tools/security/tor/torsocks.nix b/pkgs/tools/security/tor/torsocks.nix index 83cfee07e66..ac60ccb16a1 100644 --- a/pkgs/tools/security/tor/torsocks.nix +++ b/pkgs/tools/security/tor/torsocks.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "torsocks"; name = "${pname}-${version}"; - version = "1.0-epsilon"; + version = "1.2"; src = fetchurl { url = "http://${pname}.googlecode.com/files/${name}.tar.gz"; - sha256 = "0508i4q9gm0rrav018z1jn4as5if3qrfdng6dmmzgs324hvdgap5"; + sha256 = "1m0is5q24sf7jjlkl0icfkdc0m53nbkg0q72s57p48yp4hv7v9dy"; }; preConfigure = '' diff --git a/pkgs/tools/security/vidalia/default.nix b/pkgs/tools/security/vidalia/default.nix index 243604c2c79..6f34d61908e 100644 --- a/pkgs/tools/security/vidalia/default.nix +++ b/pkgs/tools/security/vidalia/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "vidalia-${version}"; - version = "0.2.17"; + version = "0.2.21"; src = fetchurl { url = "https://www.torproject.org/dist/vidalia/${name}.tar.gz"; - sha256 = "0x0vb37h2d5njxmqkss03ybv7b7jw25682xb793mix1m8l0hs44r"; + sha256 = "1rqvvhdqgk6jqrd15invvc4r7p4nckd3b93hhr5dzpc1fxz8w064"; }; buildInputs = [ cmake qt4 ]; @@ -18,4 +18,4 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.phreedom ]; platforms = platforms.all; }; -} \ No newline at end of file +} diff --git a/pkgs/tools/system/acct/default.nix b/pkgs/tools/system/acct/default.nix index 003dbb45a2a..a2ea6176c74 100644 --- a/pkgs/tools/system/acct/default.nix +++ b/pkgs/tools/system/acct/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1mbg18acrva5m7kxc9pzhaknsqm4r90nrp7ax9jkm9wjkrxwhqs1"; }; + patches = [ ./no-gets.patch ]; + doCheck = true; meta = { diff --git a/pkgs/tools/system/acct/no-gets.patch b/pkgs/tools/system/acct/no-gets.patch new file mode 100644 index 00000000000..3478b66de9d --- /dev/null +++ b/pkgs/tools/system/acct/no-gets.patch @@ -0,0 +1,22 @@ +hack until acct pulls a newer gnulib version + +From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001 +From: Eric Blake +Date: Thu, 29 Mar 2012 13:30:41 -0600 +Subject: [PATCH] stdio: don't assume gets any more + +Gnulib intentionally does not have a gets module, and now that C11 +and glibc have dropped it, we should be more proactive about warning +any user on a platform that still has a declaration of this dangerous +interface. + +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -125,7 +125,6 @@ + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + #undef gets +-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix index 0ca5d6af2d7..8fa40e5710f 100644 --- a/pkgs/tools/system/ddrescue/default.nix +++ b/pkgs/tools/system/ddrescue/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "ddrescue-1.15"; + name = "ddrescue-1.16"; src = fetchurl { url = "mirror://gnu/ddrescue/${name}.tar.gz"; - sha256 = "0y1dxkbl82nli6xjlg2kaq5kxd19480rvpay4ydbb9av01i17q3m"; + sha256 = "1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn"; }; doCheck = true; diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix index d80b35e1a11..1bf18ed867c 100644 --- a/pkgs/tools/system/fakeroot/default.nix +++ b/pkgs/tools/system/fakeroot/default.nix @@ -1,13 +1,21 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, utillinux}: -stdenv.mkDerivation { - name = "fakeroot-1.18.1"; +stdenv.mkDerivation rec { + name = "fakeroot-1.18.4"; src = fetchurl { - url = http://ftp.de.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.18.1.orig.tar.bz2; - sha256 = "0h5jsw715a9hv32cb1m1bajy26l7xxrbgrk6qk1b6m91lxh6rnw9"; + url = https://launchpad.net/ubuntu/+archive/primary/+files/fakeroot_1.18.4.orig.tar.bz2; + sha256 = "18mydrz49n7ic7147pikkpdb96x00s9wisdk6hrc75ll7vx9wd8a"; }; + buildInputs = [ utillinux /* provides getopt */ ]; + + postUnpack = '' + for prog in getopt; do + sed -i "s@getopt@$(type -p getopt)@g" ${name}/scripts/fakeroot.in + done + ''; + meta = { homepage = http://fakeroot.alioth.debian.org/; description = "Give a fake root environment through LD_PRELOAD"; diff --git a/pkgs/tools/system/fdisk/default.nix b/pkgs/tools/system/fdisk/default.nix index 5a34813d8d9..988989b82f7 100644 --- a/pkgs/tools/system/fdisk/default.nix +++ b/pkgs/tools/system/fdisk/default.nix @@ -1,19 +1,19 @@ -{ fetchurl, stdenv, parted, libuuid, gettext }: +{ fetchurl, stdenv, parted, libuuid, gettext, guile }: stdenv.mkDerivation rec { - name = "fdisk-1.3.0a"; + name = "gnufdisk-2.0.0a"; # .0a1 seems broken, see http://lists.gnu.org/archive/html/bug-fdisk/2012-09/msg00000.html src = fetchurl { - url = "mirror://gnu/fdisk/${name}.tar.bz2"; - sha256 = "1g2zvl560f7p1hd4q50d1msy6qp7949mdkagfy8ki8cayp8fp267"; + url = "mirror://gnu/fdisk/${name}.tar.gz"; + sha256 = "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"; }; - buildInputs = [ parted libuuid gettext ]; + buildInputs = [ parted libuuid gettext guile ]; doCheck = true; meta = { - description = "GNU fdisk, a command-line disk partitioning tool"; + description = "A command-line disk partitioning tool"; longDescription = '' GNU fdisk provides alternatives to util-linux fdisk and util-linux @@ -25,6 +25,6 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/fdisk/; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.linux; + #platforms = stdenv.lib.platforms.linux; # was failing for long without anyone complaining }; } diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix index 1655fdba6f4..982aac3c990 100644 --- a/pkgs/tools/system/hardlink/default.nix +++ b/pkgs/tools/system/hardlink/default.nix @@ -1,33 +1,27 @@ -{ fetchurl, stdenv }: +{ fetchurl, stdenv, unzip }: let - rev = "269cc6"; - - src = fetchurl { - url = "http://pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=blob_plain;f=hardlink.c;hb=${rev}"; - sha256 = "721c54e653772e11bf0d30fb02aa21b96b147a1b68c0acb4f05cb87e7718bc12"; - name = "hardlink.c"; - }; - - man = fetchurl { - url = "pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=blob_plain;f=hardlink.1;hb=${rev}"; - sha256 = "2f7e18a0259a2ceae316592e8b18bee525eb7e83fe3bb6b881e5dafa24747f2d"; - name = "hardlink.1"; - }; + rev = "3ec908d539"; in stdenv.mkDerivation { - name = "hardlink-2010.1.${rev}"; + name = "hardlink-2012.9.${rev}"; - phases = ["buildPhase"]; + src = fetchurl { + url = "http://pkgs.fedoraproject.org/cgit/hardlink.git/snapshot/hardlink-${rev}.zip"; + sha256 = "fea1803170b538d5fecf6a8d312ded1d25d516e9386a3797441a247487551647"; + name = "hardlink-${rev}.zip"; + }; - buildPhase = '' + installPhase = '' mkdir -p $out/bin $out/share/man/man1 - gcc -O2 ${src} -o $out/bin/hardlink - install -m 444 ${man} $out/share/man/man1/hardlink.1 + gcc -O2 hardlink.c -o $out/bin/hardlink + mv hardlink.1 $out/share/man/man1/hardlink.1 ''; + buildInputs = [ unzip ]; + meta = { - homepage = "http://pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=summary"; + homepage = "http://pkgs.fedoraproject.org/cgit/hardlink.git/"; description = "consolidate duplicate files via hardlinks"; license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix index a9994f14b57..784c8e75e76 100644 --- a/pkgs/tools/system/logrotate/default.nix +++ b/pkgs/tools/system/logrotate/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchurl, gzip, popt}: +{ stdenv, fetchurl, gzip, popt }: stdenv.mkDerivation rec { - name = "logrotate-3.7.8"; + name = "logrotate-3.8.3"; src = fetchurl { - url = https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.7.8.tar.gz; - sha256 = "1p9nqmznqvzn03saw3jxa8xwsdqym8jr778rwig8kk786343vai1"; + url = "https://fedorahosted.org/releases/l/o/logrotate/${name}.tar.gz"; + sha256 = "0xqrz8xzs2c1vx8l5h9lp2ciwwifj7y52xsppb1vrvbi254vyxh7"; }; # Logrotate wants to access the 'mail' program; to be done. @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { buildInputs = [ popt ]; meta = { - homepage = "https://fedorahosted.org/releases/l/o/logrotate/"; + homepage = https://fedorahosted.org/releases/l/o/logrotate/; description = "Rotates and compresses system logs"; license = "GPLv2+"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; all; + maintainers = [ stdenv.lib.maintainers.viric ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/tools/system/monit/src-for-default.nix b/pkgs/tools/system/monit/src-for-default.nix index f024801515f..b74958ae19a 100644 --- a/pkgs/tools/system/monit/src-for-default.nix +++ b/pkgs/tools/system/monit/src-for-default.nix @@ -1,8 +1,9 @@ rec { - advertisedUrl="http://mmonit.com/monit/download/../dist/monit-5.0.3.tar.gz"; - version = "5.0.3"; - url="http://mmonit.com/monit/download/../dist/monit-5.0.3.tar.gz"; - hash = "1lw7qp5906cb9jg8ifhfy9cvv4gbd28mkapgfpx0klb17jdm7ljx"; - name = "monit-5.0.3"; + version="5.5"; + name="monit-5.5"; + hash="0lvw9llsnaj72dp6di74sc4sxpa4q3g23m28jwy4brphndhb0xl2"; + url="http://mmonit.com/monit/download/../dist/monit-${version}.tar.gz"; + advertisedUrl="http://mmonit.com/monit/download/../dist/monit-5.5.tar.gz"; + } diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix index 563521429a8..3cab8b0ef10 100644 --- a/pkgs/tools/system/pciutils/default.nix +++ b/pkgs/tools/system/pciutils/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchurl, zlib }: stdenv.mkDerivation rec { - name = "pciutils-3.1.7"; - + name = "pciutils-3.1.10"; + src = fetchurl { url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2"; - sha256 = "0i7mqf1fkmdqsawdk2badv6k3xrkryq0i2xknclvy6kcjsv27znq"; + sha256 = "0xdahcxd00c921wnxi0f0w3lzjqdfphwa5vglfcpf0lv3l2w40pl"; }; - + buildInputs = [ zlib ]; pciids = fetchurl { # Obtained from http://pciids.sourceforge.net/v2.2/pci.ids.bz2. - url = http://nixos.org/tarballs/pci.ids.20100714.bz2; - sha256 = "0vll4svr60l6217yna7bfhcjm3prxr2b62ynq4jaagdp1rilfbap"; + url = http://nixos.org/tarballs/pci.ids.20120929.bz2; + sha256 = "1q3i479ay88wam1zz1vbgkbqb2axg8av9qjxaigrqbnw2pv0srmb"; }; # Override broken auto-detect logic. @@ -27,6 +27,9 @@ stdenv.mkDerivation rec { installTargets = "install install-lib"; + # Get rid of update-pciids as it won't work. + postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8"; + meta = { homepage = http://mj.ucw.cz/pciutils.shtml; description = "A collection of programs for inspecting and manipulating configuration of PCI devices"; diff --git a/pkgs/tools/system/safecopy/default.nix b/pkgs/tools/system/safecopy/default.nix new file mode 100644 index 00000000000..a6a5fced879 --- /dev/null +++ b/pkgs/tools/system/safecopy/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "safecopy-1.7"; + + src = fetchurl { + url = "mirror://sourceforge/project/safecopy/safecopy/${name}/${name}.tar.gz"; + sha256 = "1zf4kk9r8za9pn4hzy1y3j02vrhl1rxfk5adyfq0w0k48xfyvys2"; + }; + + meta = { + description = "data recovery tool for damaged hardware"; + + longDescription = + '' Safecopy is a data recovery tool which tries to extract as much data as possible from a + problematic (i.e. damaged sectors) source - like floppy drives, hard disk partitions, CDs, + tape devices, etc, where other tools like dd would fail due to I/O errors. + + Safecopy includes a low level IO layer to read CDROM disks in raw mode, and issue device + resets and other helpful low level operations on a number of other device classes. + ''; + + homepage = http://safecopy.sourceforge.net; + + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; + }; +} diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix index eee0b0de571..7a37e1200b4 100644 --- a/pkgs/tools/system/smartmontools/default.nix +++ b/pkgs/tools/system/smartmontools/default.nix @@ -1,13 +1,25 @@ { stdenv, fetchurl }: +let + driverdb = fetchurl { + url = "http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/drivedb.h?revision=3742"; + sha256 = "04xsgxzc1mqn9szazyr6v3xcpw0pszi8vz7xcsb661rww5482rw0"; + name = "smartmontools-drivedb.h"; + }; +in stdenv.mkDerivation rec { - name = "smartmontools-5.43"; + name = "smartmontools-6.0"; src = fetchurl { url = "mirror://sourceforge/smartmontools/${name}.tar.gz"; - sha256 = "d845187d1500b87ef8d2c43772bd0218a59114fe58474a903c56777c9175351e"; + sha256 = "9fe4ff2b7bcd00fde19db82bba168f5462ed6e857d3ef439495e304e3231d3a6"; }; + patchPhase = '' + cp ${driverdb} drivedb.h + sed -i -e 's@which which >/dev/null || exit 1@alias which="type -p"@' update-smart-drivedb.in + ''; + meta = { description = "Tools for monitoring the health of hard drivers"; homepage = "http://smartmontools.sourceforge.net/"; diff --git a/pkgs/tools/text/ascii/default.nix b/pkgs/tools/text/ascii/default.nix new file mode 100644 index 00000000000..769cf389426 --- /dev/null +++ b/pkgs/tools/text/ascii/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "ascii-${version}"; + version = "3.12"; + + src = fetchurl { + url = "http://www.catb.org/~esr/ascii/${name}.tar.gz"; + sha256 = "17jhmmdbhzzaai0lr5aslg0nmqchq1ygdxwd8pgl7qn2jnxhc6ci"; + }; + + prePatch = '' + sed -i -e 's|$(DESTDIR)/usr|$(out)|g' Makefile + ''; + + preInstall = '' + mkdir -vp "$out/bin" "$out/share/man/man1" + ''; + + meta = { + description = "Interactive ASCII name and synonym chart"; + homepage = "http://www.catb.org/~esr/ascii/"; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index 086a44675a9..fc4293ad7cf 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -1,28 +1,20 @@ -{stdenv, fetchurl, coreutils ? null}: +{ stdenv, fetchurl, coreutils ? null }: -stdenv.mkDerivation ({ +stdenv.mkDerivation { name = "diffutils-3.2"; - + src = fetchurl { url = mirror://gnu/diffutils/diffutils-3.2.tar.gz; sha256 = "1lsf0ln0h3mnm2y0mwgrfk0lyfi7bnm4r886acvdrrsvc7pypaia"; }; - + + patches = [ ./gets-undeclared.patch ]; + /* If no explicit coreutils is given, use the one from stdenv. */ - buildNativeInputs = [coreutils]; + nativeBuildInputs = [ coreutils ]; meta = { homepage = http://www.gnu.org/software/diffutils/diffutils.html; description = "Commands for showing the differences between files (diff, cmp, etc.)"; }; } - -// - -{ - crossAttrs = - # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs. - (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") { - patches = [ ../../misc/coreutils/gets-undeclared.patch ]; - }); -}) diff --git a/pkgs/tools/text/diffutils/gets-undeclared.patch b/pkgs/tools/text/diffutils/gets-undeclared.patch new file mode 100644 index 00000000000..b6cdc77caa8 --- /dev/null +++ b/pkgs/tools/text/diffutils/gets-undeclared.patch @@ -0,0 +1,71 @@ +This patch is needed to allow builds with newer versions of +the GNU libc (2.16+). + + +commit 66712c23388e93e5c518ebc8515140fa0c807348 +Author: Eric Blake +Date: Thu Mar 29 13:30:41 2012 -0600 + + stdio: don't assume gets any more + + Gnulib intentionally does not have a gets module, and now that C11 + and glibc have dropped it, we should be more proactive about warning + any user on a platform that still has a declaration of this dangerous + interface. + + * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets + support. + * modules/stdio (Makefile.am): Likewise. + * lib/stdio-read.c (gets): Likewise. + * tests/test-stdio-c++.cc: Likewise. + * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. + * lib/stdio.in.h (gets): Make warning occur in more places. + * doc/posix-functions/gets.texi (gets): Update documentation. + Reported by Christer Solskogen. + + Signed-off-by: Eric Blake + +diff --git a/lib/stdio.in.h b/lib/stdio.in.h +index aa7b599..c377b6e 100644 +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " + # endif + #endif + +-#if @GNULIB_GETS@ +-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef gets +-# define gets rpl_gets +-# endif +-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); +-_GL_CXXALIAS_RPL (gets, char *, (char *s)); +-# else +-_GL_CXXALIAS_SYS (gets, char *, (char *s)); +-# undef gets +-# endif +-_GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ ++ so any use of gets warrants an unconditional warning; besides, C11 ++ removed it. */ ++#undef gets ++#if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif + +@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " + # endif + #endif + +-/* Some people would argue that sprintf should be handled like gets +- (for example, OpenBSD issues a link warning for both functions), +- since both can cause security holes due to buffer overruns. ++/* Some people would argue that all sprintf uses should be warned about ++ (for example, OpenBSD issues a link warning for it), ++ since it can cause security holes due to buffer overruns. + However, we believe that sprintf can be used safely, and is more + efficient than snprintf in those safe cases; and as proof of our + belief, we use sprintf in several gnulib modules. So this header diff --git a/pkgs/tools/text/enca/default.nix b/pkgs/tools/text/enca/default.nix new file mode 100644 index 00000000000..ce1c7401a4e --- /dev/null +++ b/pkgs/tools/text/enca/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, libiconv ? null }: + +stdenv.mkDerivation rec { + name = "enca-1.13"; + + src = fetchurl { + url = "http://dl.cihar.com/enca/${name}.tar.bz2"; + sha256 = "6c091455d524b3ddae3533fe9bb375092f60ad6fe252e0777c873bd7869c7432"; + }; + + buildInputs = (stdenv.lib.optional (libiconv != null) libiconv); + + meta = { + homepage = http://freecode.com/projects/enca; + description = "Detects the encoding of text files and reencodes them"; + + longDescription = '' + Enca detects the encoding of text files, on the basis of knowledge + of their language. It can also convert them to other encodings, + allowing you to recode files without knowing their current encoding. + It supports most of Central and East European languages, and a few + Unicode variants, independently on language. + ''; + + license = "GPLv2"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix index bb6e4e20d24..29b3936a0ba 100644 --- a/pkgs/tools/text/gawk/default.nix +++ b/pkgs/tools/text/gawk/default.nix @@ -1,14 +1,16 @@ { stdenv, fetchurl, libsigsegv }: -stdenv.mkDerivation (rec { - name = "gawk-4.0.0"; +stdenv.mkDerivation rec { + name = "gawk-4.0.2"; src = fetchurl { - url = "mirror://gnu/gawk/${name}.tar.bz2"; - sha256 = "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0"; + url = "mirror://gnu/gawk/${name}.tar.xz"; + sha256 = "04vd0axif762mf781pj3days6ilv2333b9zi9c50y5mma66g5q91"; }; - doCheck = !stdenv.isCygwin; # XXX: `test-dup2' segfaults on Cygwin 6.1 + patches = stdenv.lib.optional stdenv.isCygwin [ ./cygwin-identifiers.patch ]; + + doCheck = !stdenv.isCygwin; # XXX: `test-dup2' segfaults on Cygwin 6.1 buildInputs = [ libsigsegv ]; @@ -37,9 +39,3 @@ stdenv.mkDerivation (rec { maintainers = [ stdenv.lib.maintainers.ludo ]; }; } - -// - -stdenv.lib.optionalAttrs stdenv.isCygwin { - patches = [ ./cygwin-identifiers.patch ]; -}) diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index 8368edef656..98a737339d2 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -1,19 +1,21 @@ { stdenv, fetchurl, pcre, libiconv ? null }: -let version = "2.10"; in +let version = "2.14"; in -stdenv.mkDerivation ({ +stdenv.mkDerivation { name = "gnugrep-${version}"; src = fetchurl { url = "mirror://gnu/grep/grep-${version}.tar.xz"; - sha256 = "1cvsqyfzk1p38fcaav22dn76fkd02g7bjnqna6vrpk9vy9rnfybc"; + sha256 = "1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7"; }; buildInputs = [ pcre ] - ++ (stdenv.lib.optional (libiconv != null) libiconv); + ++ stdenv.lib.optional (libiconv != null) libiconv; - doCheck = if stdenv.isDarwin then false else true; + NIX_LDFLAGS = stdenv.lib.optionalString (libiconv != null) "-L${libiconv}/lib -liconv"; + + doCheck = !stdenv.isDarwin; # On Mac OS X, force use of mkdir -p, since Grep's fallback # (./install-sh) is broken. @@ -38,4 +40,4 @@ stdenv.mkDerivation ({ }; passthru = {inherit pcre;}; -} // (if libiconv != null then { NIX_LDFLAGS="-L${libiconv}/lib -liconv"; } else {}) ) +} diff --git a/pkgs/tools/text/gnupatch/darwin-fix.patch b/pkgs/tools/text/gnupatch/darwin-fix.patch deleted file mode 100644 index 50d08534814..00000000000 --- a/pkgs/tools/text/gnupatch/darwin-fix.patch +++ /dev/null @@ -1,60 +0,0 @@ -Fix builds on Darwin: -http://lists.gnu.org/archive/html/bug-patch/2010-01/msg00004.html . - - -commit 2c4e3ecddec8a686bd50d238f4cefebb950298b7 -Author: Andreas Gruenbacher -Date: Fri Jan 1 15:58:15 2010 +0100 - - * Makefile.in (LIBSRCS, LIBM4FILES): Add the missing files strnlen.c, - strnlen.m4, and safe-read.m4. - -diff --git a/Makefile.in b/Makefile.in -index 3b3d78a..26dc281 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -91,6 +91,7 @@ LIBSRCS = \ - gl/lib/stripslash.c \ - gl/lib/strncasecmp.c \ - gl/lib/strndup.c \ -+ gl/lib/strnlen.c \ - gl/lib/xmalloc.c \ - gl/lib/xstrndup.c - - -Add the missing bits from Gnulib. - ---- /dev/null 2012-04-23 08:54:35.747205543 +0200 -+++ b/gl/lib/strnlen.c 2012-01-16 22:35:02.000000000 +0100 -@@ -0,0 +1,31 @@ -+/* Find the length of STRING, but scan at most MAXLEN characters. -+ Copyright (C) 2005-2007, 2009-2012 Free Software Foundation, Inc. -+ Written by Simon Josefsson. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ This program is distributed in the hope that it 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; if not, write to the Free Software Foundation, -+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -+ -+#include -+ -+#include -+ -+/* Find the length of STRING, but scan at most MAXLEN characters. -+ If no '\0' terminator is found in that many characters, return MAXLEN. */ -+ -+size_t -+strnlen (const char *string, size_t maxlen) -+{ -+ const char *end = memchr (string, '\0', maxlen); -+ return end ? (size_t) (end - string) : maxlen; -+} diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix index a7a166c95c3..c8c336ad202 100644 --- a/pkgs/tools/text/gnupatch/default.nix +++ b/pkgs/tools/text/gnupatch/default.nix @@ -1,20 +1,21 @@ { stdenv, fetchurl, ed }: -stdenv.mkDerivation (rec { - name = "patch-2.6.1"; +stdenv.mkDerivation rec { + name = "patch-2.7.1"; src = fetchurl { url = "mirror://gnu/patch/${name}.tar.gz"; - sha256 = "1fc1jyq80nswkf492fiqdbl2bhvlw2wb44ghqlfd3zngx4qkfmni"; + sha256 = "1m9r83b5c154xnxbvgjg4lfff58xjapanj6dmmivqx1liik2hpy0"; }; - buildInputs = (stdenv.lib.optional doCheck ed); + buildInputs = stdenv.lib.optional doCheck ed; crossAttrs = { configureFlags = [ "ac_cv_func_strnlen_working=yes" ]; }; - doCheck = true; + # Tests fail on FreeBSD due to a Bashism in the tests. + doCheck = !stdenv.isFreeBSD; meta = { description = "GNU Patch, a program to apply differences to files"; @@ -33,9 +34,3 @@ stdenv.mkDerivation (rec { platforms = stdenv.lib.platforms.all; }; } - -// - -(stdenv.lib.optionalAttrs stdenv.isDarwin { - patches = [ ./darwin-fix.patch ]; -})) diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index 243fe8dcab8..90c5ef0ba81 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, ghostscript, perl, groff }: stdenv.mkDerivation rec { - name = "groff-1.20.1"; + name = "groff-1.22.2"; src = fetchurl { url = "mirror://gnu/groff/${name}.tar.gz"; - sha256 = "01fq5i68p4s4fc6m8i90y5d28wk1x6zh2mkw85n0qqnb6n0qfidn"; + sha256 = "0xi07nhj5vdgax37rj25mwxzdmsz1ifx50hjgc6hqbkpqkd6821q"; }; buildInputs = [ ghostscript ]; - buildNativeInputs = [ perl ]; + nativeBuildInputs = [ perl ]; doCheck = true; @@ -22,7 +22,9 @@ stdenv.mkDerivation rec { }; meta = { + homepage = "http://www.gnu.org/software/groff/"; description = "GNU Troff, a typesetting package that reads plain text and produces formatted output"; + license = "GPLv3+"; longDescription = '' groff is the GNU implementation of troff, a document formatting @@ -35,9 +37,5 @@ stdenv.mkDerivation rec { version gxditview of the X11 xditview previewer, and an implementation of the -mm macros. ''; - - homepage = http://www.gnu.org/software/groff/; - - license = "GPLv3+"; }; } diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix index d8807bda08b..fc8813e7cec 100644 --- a/pkgs/tools/text/kdiff3/default.nix +++ b/pkgs/tools/text/kdiff3/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ kdelibs ]; - buildNativeInputs = [ cmake gettext ]; + nativeBuildInputs = [ cmake gettext ]; meta = { homepage = http://kdiff3.sourceforge.net/; diff --git a/pkgs/tools/text/podiff/default.nix b/pkgs/tools/text/podiff/default.nix new file mode 100644 index 00000000000..fc9e3785cf3 --- /dev/null +++ b/pkgs/tools/text/podiff/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "podiff-${version}"; + version = "1.1"; + + src = fetchurl { + url = "ftp://download.gnu.org.ua/pub/release/podiff/podiff-1.1.tar.gz"; + sha256 = "1zz6bcmka5zvk2rq775qv122lqh54aijkxlghvx7z0r6kh880x59"; + }; + + patchPhase = '' + sed "s#PREFIX=/usr#PREFIX=$out#g" -i Makefile + mkdir -p $out/bin + mkdir -p $out/share/man/man1 + ''; + + meta = with stdenv.lib; { + description = "Finds differences in translations between two PO files, or revisions"; + homepage = http://puszcza.gnu.org.ua/software/podiff; + license = licenses.gpl3Plus; + maintainers = [ maintainers.goibhniu ]; + }; +} diff --git a/pkgs/tools/text/sgml/openjade/default.nix b/pkgs/tools/text/sgml/openjade/default.nix index 77532fd216c..fc7ee9f6f06 100644 --- a/pkgs/tools/text/sgml/openjade/default.nix +++ b/pkgs/tools/text/sgml/openjade/default.nix @@ -1,22 +1,19 @@ -{stdenv, fetchurl, opensp, perl}: +{ stdenv, fetchurl, opensp, perl }: -stdenv.mkDerivation { - # OpenJade-1.3.2 requires gcc 3.3 to build. - # The next release is likely to be compatible with newer gccs. - # If so the overrideGCC in top-level/all-packages should be removed. - name = "OpenJade-1.3.2"; +stdenv.mkDerivation rec { + name = "openjade-1.3.2"; src = fetchurl { - url = "mirror://sourceforge/openjade/openjade-1.3.2.tar.gz"; + url = "mirror://sourceforge/openjade/${name}.tar.gz"; sha256 = "1l92sfvx1f0wmkbvzv1385y1gb3hh010xksi1iyviyclrjb7jb8x"; }; - buildInputs = [opensp perl]; + buildInputs = [ opensp perl ]; configureFlags = [ "--enable-spincludedir=${opensp}/include/OpenSP" "--enable-splibdir=${opensp}/lib" - ]; + ]; meta = { description = "An implementation of DSSSL, an ISO standard for formatting SGML (and XML) documents"; diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix index 0d0576ee4a7..b64d05e19e1 100644 --- a/pkgs/tools/text/wdiff/default.nix +++ b/pkgs/tools/text/wdiff/default.nix @@ -1,14 +1,11 @@ { stdenv, fetchurl, which, screen }: -let - name = "wdiff-1.1.0"; -in -stdenv.mkDerivation { - inherit name; +stdenv.mkDerivation rec { + name = "wdiff-1.1.2"; src = fetchurl { url = "mirror://gnu/wdiff/${name}.tar.gz"; - sha256 = "1lg5lz78xij4jjifv8fj68ixr9mha1c5vp8xzyg6rdx6ynkvnm5i"; + sha256 = "0q78y5awvjjmsvizqilbpwany62shlmlq2ayxkjbygmdafpk1k8j"; }; # Required for the compile-time for the test suite. diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix index a4b9d375bce..f392ad065cc 100644 --- a/pkgs/tools/typesetting/asciidoc/default.nix +++ b/pkgs/tools/typesetting/asciidoc/default.nix @@ -1,10 +1,10 @@ { fetchurl, stdenv, python }: stdenv.mkDerivation rec { - name = "asciidoc-8.6.6"; + name = "asciidoc-8.6.8"; src = fetchurl { url = "mirror://sourceforge/asciidoc/${name}.tar.gz"; - sha256 = "9d54c11716e4309ff4d942cf6a6d9745d6a28754ff1de01efed0dc659457ac71"; + sha256 = "ffb67f59dccaf6f15db72fcd04fdf21a2f9b703d31f94fcd0c49a424a9fcfbc4"; }; patchPhase = '' @@ -20,11 +20,13 @@ stdenv.mkDerivation rec { buildInputs = [ python ]; meta = { + homepage = "http://www.methods.co.nz/asciidoc/"; + description = "ASCII text-based document generation system"; + license = "GPLv2+"; + longDescription = '' AsciiDoc is a text-based document generation system. AsciiDoc input files can be translated to HTML and DocBook markups. ''; - homepage = http://www.methods.co.nz/asciidoc/; - license = "GPLv2+"; }; } diff --git a/pkgs/tools/typesetting/hevea/builder.sh b/pkgs/tools/typesetting/hevea/builder.sh index 7598da5d0a5..05c93fe7da7 100644 --- a/pkgs/tools/typesetting/hevea/builder.sh +++ b/pkgs/tools/typesetting/hevea/builder.sh @@ -10,10 +10,5 @@ cd hevea-* sed s+/usr/local+$out+ Makefile > Makefile.new mv Makefile.new Makefile -if test "x$system" = "xpowerpc-darwin"; then - sed s/CPP=cpp\ -E\ -P/CPP=m4\ -E\ -E\ -P/ Makefile > Makefile.new - mv Makefile.new Makefile -fi - make make install diff --git a/pkgs/tools/typesetting/lhs2tex/default.nix b/pkgs/tools/typesetting/lhs2tex/default.nix index 5ac339e92ec..2b96ae526c4 100644 --- a/pkgs/tools/typesetting/lhs2tex/default.nix +++ b/pkgs/tools/typesetting/lhs2tex/default.nix @@ -2,9 +2,9 @@ cabal.mkDerivation (self: { pname = "lhs2tex"; - version = "1.17"; + version = "1.18.1"; name = self.fname; - sha256 = "1x49316m5xm4f6hw5q7kia9rpfpygxhk5gnifd54ai0zjmdlkxrc"; + sha256 = "0j4n7vkabsggn94gbwixy1vmckdck2nggdiqvk6n9nx164if5jnw"; extraBuildInputs = [regexCompat texLive]; postInstall = '' diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix index 05f4bd7a9fa..fa4746a562e 100644 --- a/pkgs/tools/typesetting/tex/dblatex/default.nix +++ b/pkgs/tools/typesetting/tex/dblatex/default.nix @@ -1,16 +1,19 @@ { stdenv, fetchurl, python, libxslt, tetex }: stdenv.mkDerivation rec { - name = "dblatex-0.3.2"; + name = "dblatex-0.3.4"; src = fetchurl { url = "mirror://sourceforge/dblatex/${name}.tar.bz2"; - sha256 = "0jg2acv2lyrbw06l8rr0id75lj1pws7xbsmryq58r3n13xzb1p7b"; + sha256 = "120w3wm07qx0k1grgdhjwm2vpwil71icshjvqznskp1f6ggch290"; }; buildPhase = "true"; - installPhase = "python ./setup.py install --prefix=$out"; + installPhase = '' + sed -i 's|self.install_layout == "deb"|False|' setup.py + python ./setup.py install --prefix=$out + ''; buildInputs = [ python libxslt tetex ]; diff --git a/pkgs/tools/typesetting/tex/tex4ht/default.nix b/pkgs/tools/typesetting/tex/tex4ht/default.nix index 5d5d85d3c1d..24612de549e 100644 --- a/pkgs/tools/typesetting/tex/tex4ht/default.nix +++ b/pkgs/tools/typesetting/tex/tex4ht/default.nix @@ -4,9 +4,8 @@ stdenv.mkDerivation rec { name = "tex4ht-1.0.2009_06_11_1038"; src = fetchurl { - url = "http://www.tug.org/applications/tex4ht/tex4ht.zip"; - # http://www.cse.ohio-state.edu/~gurari/TeX4ht/fix/${name}.tar.gz"; - sha1 = "2970cec5f4afc9039b82d6a4210f21d70ded2f5a"; + url = "http://tug.org/applications/tex4ht/tex4ht.zip"; + sha256 = "15gj18ihds6530af42clpa4zskak5kah9wzs2hd19a9ymwjsccd6"; }; buildInputs = [ tetex unzip ]; @@ -22,17 +21,15 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin - for f in src/tex4ht src/t4ht src/htcmd bin/unix/*; do # */ - mv $f $out/bin/. + for f in src/tex4ht src/t4ht src/htcmd "bin/unix/"*; do + mv $f $out/bin/ done - - mkdir -p $out/share - cp -r texmf $out/share/. + mv texmf $out/ ''; meta = { - homepage = http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html; - # LaTeX Project Public License - license = "LPPL"; + homepage = "http://tug.org/tex4ht/"; + description = "a system to convert (La)TeX documents to HTML and various other formats"; + license = "LPPL"; # LaTeX Project Public License }; -} \ No newline at end of file +} diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix index 851ad0707a1..bf9079ab104 100644 --- a/pkgs/tools/typesetting/tex/texlive/beamer.nix +++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix @@ -1,9 +1,9 @@ args: with args; rec { - name = "texlive-beamer-2007"; + name = "texlive-beamer-2012"; src = fetchurl { - url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.07.orig.tar.gz; - sha256 = "07ldhg5f0hcnhjgzg5g8ailqacn8zhqc8nl2jkxc43c2qxbvswbv"; + url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.10.orig.tar.gz; + sha256 = "1vk7nr1lxinyj941nz5xzcpzircd60s8sgmq7jd2gqmf5ynd27nx"; }; buildInputs = [texLive]; diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix index 2d422385bd5..e490d55bc5f 100644 --- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix +++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix @@ -1,10 +1,10 @@ args: with args; rec { - version = "1.1.1"; + version = "1.3.0"; name = "moderncv-${version}"; src = fetchurl { url = "https://launchpad.net/moderncv/trunk/${version}/+download/moderncv-${version}.zip"; - sha256 = "929c118eff339a5c59ed58cc961ddee787e9a5933d12ec8801613fd2e2500e9f"; + sha256 = "0wdj90shi04v97b2d6chhvm9qrp0bcvsm46441730ils1y74wisq"; }; buildInputs = [texLive unzip]; diff --git a/pkgs/tools/video/swfmill/default.nix b/pkgs/tools/video/swfmill/default.nix new file mode 100644 index 00000000000..b48cc7cddcc --- /dev/null +++ b/pkgs/tools/video/swfmill/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl +, pkgconfig, libxslt, freetype, libpng, libxml2 +}: + +stdenv.mkDerivation rec { + name = "swfmill-0.3.2"; + + src = fetchurl { + url = "http://swfmill.org/releases/${name}.tar.gz"; + sha256 = "077agf62q0xz95dxj4cq9avcqwin94vldrpb80iqwjskvkwpz9gy"; + }; + + buildInputs = [ pkgconfig libxslt freetype libpng libxml2 ]; + + meta = { + description = "An xml2swf and swf2xml processor with import functionalities"; + homepage = "http://swfmill.org"; + license = "GPLv2"; + }; +} + diff --git a/pkgs/tools/virtualization/ec2-ami-tools/default.nix b/pkgs/tools/virtualization/ec2-ami-tools/default.nix index 1420ab5eeeb..1905166c38e 100644 --- a/pkgs/tools/virtualization/ec2-ami-tools/default.nix +++ b/pkgs/tools/virtualization/ec2-ami-tools/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }: stdenv.mkDerivation rec { - name = "ec2-ami-tools-1.4.0.7"; - + name = "ec2-ami-tools-1.4.0.9"; + buildInputs = [ unzip makeWrapper ]; - + src = fetchurl { url = "http://nixos.org/tarballs/${name}.zip"; - sha256 = "0l8c623i1w30bh9k622cdjj5f57rlfc1zs0i01ya016ijyr08qip"; + sha256 = "0icpjr2ipch3f6cf4rg9x5z2y9k6a4rd85npsmw3a1ambs3dwxlq"; }; # Amazon EC2 requires that disk images are writable. If they're @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { --set EC2_HOME $out \ --prefix PATH : ${ruby}/bin:${openssl}/bin done - + sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb ''; # */ diff --git a/pkgs/tools/virtualization/ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix index 22669c67b12..ac2902aab94 100644 --- a/pkgs/tools/virtualization/ec2-api-tools/default.nix +++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix @@ -1,28 +1,31 @@ { stdenv, fetchurl, unzip, makeWrapper, jre }: stdenv.mkDerivation rec { - name = "ec2-api-tools-1.6.0.0"; - + name = "ec2-api-tools-1.6.5.1"; + src = fetchurl { url = "http://nixos.org/tarballs/${name}.zip"; - sha256 = "1j9isvi6g68zhk7zxs29yad2d0rpnbqx8fz25yn5paqx9c8pzqcl"; + sha256 = "1j2pc20vggi4hv950999mhh7dl6475yma76nyj6k0hzkd1lf5hda"; }; buildInputs = [ unzip makeWrapper ]; installPhase = '' - mkdir -p $out - mv * $out - rm $out/bin/*.cmd # Windows stuff + d=$out/libexec/ec2-api-tools + mkdir -p $d + mv * $d + rm $d/bin/*.cmd # Windows stuff - for i in $out/bin/*; do - wrapProgram $i \ - --set EC2_HOME $out \ + for i in $d/bin/*; do + b=$(basename $i) + if [ $b = "ec2-cmd" ]; then continue; fi + makeWrapper $i $out/bin/$(basename $i) \ + --set EC2_HOME $d \ --set JAVA_HOME ${jre} done ''; # */ - + meta = { homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351; description = "Command-line tools to create and manage Amazon EC2 virtual machines"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 06023a5a96a..e260ec13ea4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21,10 +21,12 @@ # null, the default standard environment is used. bootStdenv ? null -, # Darwin is an "impure" platform, with its libc outside of the store. - # Thus, GCC, GFortran, & co. must always look for files in standard system - # directories (/usr/include, etc.) - noSysDirs ? (system != "x86_64-darwin" && system != "i686-darwin") +, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc + # outside of the store. Thus, GCC, GFortran, & co. must always look for + # files in standard system directories (/usr/include, etc.) + noSysDirs ? (system != "x86_64-darwin" + && system != "x86_64-freebsd" && system != "i686-freebsd" + && system != "x86_64-kfreebsd-gnu") # More flags for the bootstrapping of stdenv. , gccWithCC ? true @@ -75,13 +77,17 @@ let else configExpr; # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc) + + platformAuto = let + platforms = (import ./platforms.nix); + in + if system == "armv6l-linux" then platforms.raspberrypi + else if system == "armv5tel-linux" then platforms.sheevaplug + else if system == "mips64el-linux" then platforms.fuloong2f_n32 + else platforms.pc; + platform = if platform_ != null then platform_ - else getConfig [ "platform" ] (import ./platforms.nix).pc; - - # Return an attribute from the Nixpkgs configuration file, or - # a default value if the attribute doesn't exist. - getConfig = attrPath: default: lib.attrByPath attrPath default config; - + else config.platform or platformAuto; # Helper functions that are exported through `pkgs'. helperFunctions = @@ -99,7 +105,7 @@ let # (un-overriden) set of packages, allowing packageOverrides # attributes to refer to the original attributes (e.g. "foo = # ... pkgs.foo ..."). - pkgs = applyGlobalOverrides (getConfig ["packageOverrides"] (pkgs: {})); + pkgs = applyGlobalOverrides (config.packageOverrides or (pkgs: {})); # Return the complete set of packages, after applying the overrides @@ -163,11 +169,10 @@ let ### Symbolic names. - - x11 = xlibsWrapper; + x11 = if stdenv.isDarwin then darwinX11AndOpenGL else xlibsWrapper; # `xlibs' is the set of X library components. This used to be the - # old modular X libraries project (called `xlibs') but now it's just + # old modular X llibraries project (called `xlibs') but now it's just # the set of packages in the modular X.org tree (which also includes # non-library components like the server, drivers, fonts, etc.). xlibs = xorg // {xlibs = xlibsWrapper;}; @@ -176,7 +181,7 @@ let ### Helper functions. - inherit lib config getConfig stdenvAdapters; + inherit lib config stdenvAdapters; inherit (lib) lowPrio hiPrio appendToName makeOverridable; @@ -198,14 +203,13 @@ let allStdenvs = import ../stdenv { - inherit system stdenvType platform; + inherit system stdenvType platform config; allPackages = args: import ./all-packages.nix ({ inherit config system; } // args); }; defaultStdenv = allStdenvs.stdenv // { inherit platform; }; - stdenvCross = makeStdenvCross defaultStdenv crossSystem binutilsCross - gccCrossStageFinal; + stdenvCross = lowPrio (makeStdenvCross defaultStdenv crossSystem binutilsCross gccCrossStageFinal); stdenv = if bootStdenv != null then (bootStdenv // {inherit platform;}) else @@ -213,7 +217,7 @@ let stdenvCross else let - changer = getConfig ["replaceStdenv"] null; + changer = config.replaceStdenv or null; in if changer != null then changer { # We import again all-packages to avoid recursivities. @@ -225,26 +229,30 @@ let else defaultStdenv; - forceBuildDrv = drv : if (crossSystem == null) then drv else - (drv // { hostDrv = drv.buildDrv; }); + forceNativeDrv = drv : if crossSystem == null then drv else + (drv // { crossDrv = drv.nativeDrv; }); # A stdenv capable of building 32-bit binaries. On x86_64-linux, # it uses GCC compiled with multilib support; on i686-linux, it's # just the plain stdenv. - stdenv_32bit = + stdenv_32bit = lowPrio ( if system == "x86_64-linux" then - overrideGCC stdenv gcc43_multi + overrideGCC stdenv gcc46_multi else - stdenv; + stdenv); ### BUILD SUPPORT - attrSetToDir = arg : import ../build-support/upstream-updater/attrset-to-dir.nix { + attrSetToDir = arg: import ../build-support/upstream-updater/attrset-to-dir.nix { inherit writeTextFile stdenv lib; theAttrSet = arg; }; + autoreconfHook = makeSetupHook + { substitutions = { inherit autoconf automake libtool; }; } + ../build-support/setup-hooks/autoreconf.sh; + buildEnv = import ../build-support/buildenv { inherit (pkgs) runCommand perl; }; @@ -276,7 +284,7 @@ let fetchgitrevision = import ../build-support/fetchgitrevision runCommand git; - fetchmtn = callPackage ../build-support/fetchmtn (getConfig ["fetchmtn"] {}); + fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {}); fetchsvn = import ../build-support/fetchsvn { inherit stdenv subversion openssh; @@ -327,7 +335,7 @@ let inherit stdenv perl cpio contents ubootChooser; }; - makeWrapper = makeSetupHook {} ../build-support/make-wrapper/make-wrapper.sh; + makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh; makeModulesClosure = {kernel, rootModules, allowMissing ? false}: import ../build-support/kernel/modules-closure.nix { @@ -343,6 +351,10 @@ let inherit stdenv; }; + replaceDependency = import ../build-support/replace-dependency.nix { + inherit runCommand nix lib; + }; + nukeReferences = callPackage ../build-support/nuke-references/default.nix { }; vmTools = import ../build-support/vm/default.nix { @@ -366,12 +378,23 @@ let aefs = callPackage ../tools/filesystems/aefs { }; + aespipe = callPackage ../tools/security/aespipe { }; + aircrackng = callPackage ../tools/networking/aircrack-ng { }; analog = callPackage ../tools/admin/analog {}; archivemount = callPackage ../tools/filesystems/archivemount { }; + arduino_core = callPackage ../development/arduino/arduino-core { + jdk = jdk; + jre = jdk; + }; + + argyllcms = callPackage ../tools/graphics/argyllcms {}; + + ascii = callPackage ../tools/text/ascii { }; + asymptote = builderDefsPackage ../tools/graphics/asymptote { inherit freeglut ghostscriptX imagemagick fftw boehmgc mesa ncurses readline gsl libsigsegv python zlib perl @@ -401,6 +424,22 @@ let client = true; }); + androidenv = import ../development/mobile/androidenv { + inherit pkgs; + pkgs_i686 = pkgsi686Linux; + }; + + apg = callPackage ../tools/security/apg { }; + + xcodeenv = callPackage ../development/mobile/xcodeenv { }; + + titaniumenv = import ../development/mobile/titaniumenv { + inherit pkgs; + pkgs_i686 = pkgsi686Linux; + }; + + inherit (androidenv) androidsdk_4_1; + aria = builderDefsPackage (import ../tools/networking/aria) { }; aria2 = callPackage ../tools/networking/aria2 { }; @@ -416,7 +455,7 @@ let autojump = callPackage ../tools/misc/autojump { }; avahi = callPackage ../development/libraries/avahi { - qt4Support = getConfig [ "avahi" "qt4Support" ] false; + qt4Support = config.avahi.qt4Support or false; }; aws = callPackage ../tools/virtualization/aws { }; @@ -447,8 +486,12 @@ let catdoc = callPackage ../tools/text/catdoc { }; + dlx = callPackage ../misc/emulators/dlx { }; + eggdrop = callPackage ../tools/networking/eggdrop { }; + enca = callPackage ../tools/text/enca { }; + mcrl = callPackage ../tools/misc/mcrl { }; mcrl2 = callPackage ../tools/misc/mcrl2 { }; @@ -492,6 +535,7 @@ let bup = callPackage ../tools/backup/bup { inherit (pythonPackages) pyxattr pylibacl setuptools fuse; inherit (haskellPackages) pandoc; + par2Support = (config.bup.par2Support or false); }; atool = callPackage ../tools/archivers/atool { }; @@ -512,6 +556,7 @@ let cfdg = builderDefsPackage ../tools/graphics/cfdg { inherit libpng bison flex; + ffmpeg = ffmpeg_1_1; }; checkinstall = callPackage ../tools/package-management/checkinstall { }; @@ -528,12 +573,16 @@ let colordiff = callPackage ../tools/text/colordiff { }; + connect = callPackage ../tools/networking/connect { }; + convertlit = callPackage ../tools/text/convertlit { }; cowsay = callPackage ../tools/misc/cowsay { }; unifdef = callPackage ../development/tools/misc/unifdef { }; + "unionfs-fuse" = callPackage ../tools/filesystems/unionfs-fuse { }; + usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; clamav = callPackage ../tools/security/clamav { }; @@ -544,9 +593,11 @@ let convmv = callPackage ../tools/misc/convmv { }; - coreutils = callPackage (if stdenv ? isDietLibC - then ../tools/misc/coreutils-5 - else ../tools/misc/coreutils) + coreutils = (if stdenv.isDarwin then + # 8.20 doesn't build on Darwin + callPackage ../tools/misc/coreutils/8.19.nix + else + callPackage ../tools/misc/coreutils) { # TODO: Add ACL support for cross-Linux. aclSupport = crossSystem == null && stdenv.isLinux; @@ -556,17 +607,15 @@ let cromfs = callPackage ../tools/archivers/cromfs { }; - cron = callPackage ../tools/system/cron { # see also fcron - }; + cron = callPackage ../tools/system/cron { }; cudatoolkit = callPackage ../development/compilers/cudatoolkit { python = python26; }; - curl = makeOverridable (import ../tools/networking/curl) rec { + curl = callPackage ../tools/networking/curl rec { fetchurl = fetchurlBoot; - inherit stdenv zlib openssl libssh2; - zlibSupport = ! ((stdenv ? isDietLibC) || (stdenv ? isStatic)); + zlibSupport = true; sslSupport = zlibSupport; scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin; }; @@ -575,8 +624,7 @@ let curlftpfs = callPackage ../tools/filesystems/curlftpfs { }; - dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { - }; + dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { }; dar = callPackage ../tools/archivers/dar { }; @@ -588,6 +636,10 @@ let dcraw = callPackage ../tools/graphics/dcraw { }; + debian_devscripts = callPackage ../tools/misc/debian-devscripts { + inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry; + }; + debootstrap = callPackage ../tools/misc/debootstrap { }; detox = callPackage ../tools/misc/detox { }; @@ -600,6 +652,8 @@ let desktop_file_utils = callPackage ../tools/misc/desktop-file-utils { }; + despotify = callPackage ../development/libraries/despotify { }; + dev86 = callPackage ../development/compilers/dev86 { /* Using GNU Make 3.82 leads to this: make[4]: *** No rule to make target `__ldivmod.o)' @@ -660,8 +714,7 @@ let ecryptfs = callPackage ../tools/security/ecryptfs { }; - edk2 = callPackage ../development/compilers/edk2 { - }; + edk2 = callPackage ../development/compilers/edk2 { }; efibootmgr = callPackage ../tools/system/efibootmgr { }; @@ -687,25 +740,19 @@ let fakeroot = callPackage ../tools/system/fakeroot { }; - fcron = callPackage ../tools/system/fcron { }; + fcitx = callPackage ../tools/inputmethods/fcitx { }; - fdisk = callPackage ../tools/system/fdisk { }; + fcron = callPackage ../tools/system/fcron { }; fdm = callPackage ../tools/networking/fdm {}; figlet = callPackage ../tools/misc/figlet { }; file = callPackage ../tools/misc/file { }; - file511 = callPackage ../tools/misc/file/511.nix { }; fileschanged = callPackage ../tools/misc/fileschanged { }; - findutils = - if stdenv.isDarwin - then findutils4227 - else callPackage ../tools/misc/findutils { }; - - findutils4227 = callPackage ../tools/misc/findutils/4.2.27.nix { }; + findutils = callPackage ../tools/misc/findutils { }; finger_bsd = callPackage ../tools/networking/bsd-finger { }; @@ -717,7 +764,7 @@ let flvtool2 = callPackage ../tools/video/flvtool2 { }; - fontforge = callPackage ../tools/misc/fontforge { }; + fontforge = lowPrio (callPackage ../tools/misc/fontforge { }); fontforgeX = callPackage ../tools/misc/fontforge { withX11 = true; @@ -725,6 +772,11 @@ let fortune = callPackage ../tools/misc/fortune { }; + fox = callPackage ../development/libraries/fox/default.nix { }; + fox_1_6 = callPackage ../development/libraries/fox/fox-1.6.nix { }; + + fping = callPackage ../tools/networking/fping {}; + fprot = callPackage ../tools/security/fprot { }; freeipmi = callPackage ../tools/system/freeipmi {}; @@ -767,9 +819,7 @@ let gifsicle = callPackage ../tools/graphics/gifsicle { }; - glusterfs = builderDefsPackage ../tools/filesystems/glusterfs { - inherit fuse flex bison; - }; + glusterfs = callPackage ../tools/filesystems/glusterfs { }; glxinfo = callPackage ../tools/graphics/glxinfo { }; @@ -779,6 +829,10 @@ let inherit (xorg) libXpm; }; + gnufdisk = callPackage ../tools/system/fdisk { + guile = guile_1_8; + }; + gnugrep = # Use libiconv only on non-GNU platforms (we can't test with # `stdenv ? glibc' at this point.) @@ -834,7 +888,7 @@ let }; grub = callPackage_i686 ../tools/misc/grub { - buggyBiosCDSupport = getConfig ["grub" "buggyBiosCDSupport"] true; + buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; }; grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; @@ -855,6 +909,8 @@ let gtmess = callPackage ../applications/networking/instant-messengers/gtmess { }; + gummiboot = callPackage ../tools/misc/gummiboot { }; + gupnp = callPackage ../development/libraries/gupnp { inherit (gnome) libsoup; }; @@ -893,6 +949,10 @@ let host = callPackage ../tools/networking/host { }; + hping = callPackage ../tools/networking/hping { }; + + httpie = callPackage ../tools/networking/httpie { }; + httpfs2 = callPackage ../tools/filesystems/httpfs { }; # FIXME: This Hydra snapshot is outdated and depends on the `nixPerl', @@ -904,6 +964,8 @@ let iasl = callPackage ../development/compilers/iasl { }; + icecast = callPackage ../servers/icecast { }; + icoutils = callPackage ../tools/graphics/icoutils { }; idutils = callPackage ../tools/misc/idutils { }; @@ -974,6 +1036,8 @@ let minidlna = callPackage ../tools/networking/minidlna { }; + mmv = callPackage ../tools/misc/mmv { }; + most = callPackage ../tools/misc/most { }; netperf = callPackage ../applications/networking/netperf { }; @@ -984,6 +1048,7 @@ let nodePackages = recurseIntoAttrs (import ./node-packages.nix { inherit pkgs stdenv nodejs fetchurl; + neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux; }); ldns = callPackage ../development/libraries/ldns { }; @@ -994,6 +1059,8 @@ let libtirpc = callPackage ../development/libraries/ti-rpc { }; + libshout = callPackage ../development/libraries/libshout { }; + libtorrent = callPackage ../tools/networking/p2p/libtorrent { }; logcheck = callPackage ../tools/system/logcheck { @@ -1014,7 +1081,9 @@ let lshw = callPackage ../tools/system/lshw { }; - lxc = callPackage ../applications/virtualization/lxc { }; + lxc = callPackage ../os-specific/linux/lxc { }; + + lzip = callPackage ../tools/compression/lzip { }; lzma = xz; @@ -1022,7 +1091,7 @@ let lzop = callPackage ../tools/compression/lzop { }; - mu0 = callPackage ../tools/networking/mu0 { }; + maildrop = callPackage ../tools/networking/maildrop { }; mailutils = callPackage ../tools/networking/mailutils { guile = guile_1_8; @@ -1052,6 +1121,8 @@ let minecraft = callPackage ../games/minecraft { }; + minetest = callPackage ../games/minetest { }; + miniupnpc = callPackage ../tools/networking/miniupnpc { }; miniupnpd = callPackage ../tools/networking/miniupnpd { }; @@ -1064,8 +1135,6 @@ let mktemp = callPackage ../tools/security/mktemp { }; - mldonkey = callPackage ../applications/networking/p2p/mldonkey { }; - modemmanager = callPackage ../tools/networking/modemmanager {}; monit = builderDefsPackage ../tools/system/monit { @@ -1161,6 +1230,8 @@ let inherit (pythonPackages) pysqlite; }; + nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {}; + ntfs3g = callPackage ../tools/filesystems/ntfs-3g { }; # ntfsprogs are merged into ntfs-3g @@ -1194,10 +1265,7 @@ let opendkim = callPackage ../development/libraries/opendkim { }; - openjade = callPackage ../tools/text/sgml/openjade { - stdenv = overrideGCC stdenv gcc33; - opensp = opensp.override { stdenv = overrideGCC stdenv gcc33; }; - }; + openjade = callPackage ../tools/text/sgml/openjade { }; openobex = callPackage ../tools/bluetooth/openobex { }; @@ -1238,7 +1306,6 @@ let patchutils = callPackage ../tools/text/patchutils { }; parted = callPackage ../tools/misc/parted { hurd = null; }; - parted_2_3 = callPackage ../tools/misc/parted/2.3.nix { hurd = null; }; hurdPartedCross = if crossSystem != null && crossSystem.config == "i586-pc-gnu" @@ -1254,10 +1321,12 @@ let gettext = null; readline = null; devicemapper = null; - }).hostDrv) + }).crossDrv) { hurd = gnu.hurdCrossIntermediate; }) else null; + ipsecTools = callPackage ../os-specific/linux/ipsec-tools { }; + patch = gnupatch; pbzip2 = callPackage ../tools/compression/pbzip2 { }; @@ -1270,6 +1339,8 @@ let pdfjam = callPackage ../tools/typesetting/pdfjam { }; + jbig2enc = callPackage ../tools/graphics/jbig2enc { }; + pdfread = callPackage ../tools/graphics/pdfread { }; briss = callPackage ../tools/graphics/briss { }; @@ -1301,6 +1372,8 @@ let plotutils = callPackage ../tools/graphics/plotutils { }; + plowshare = callPackage ../tools/misc/plowshare { }; + pngcrush = callPackage ../tools/graphics/pngcrush { }; pngnq = callPackage ../tools/graphics/pngnq { }; @@ -1309,6 +1382,8 @@ let libpng = libpng12; }; + podiff = callPackage ../tools/text/podiff { }; + polipo = callPackage ../servers/polipo { }; polkit_gnome = callPackage ../tools/security/polkit-gnome { }; @@ -1381,10 +1456,14 @@ let replace = callPackage ../tools/text/replace { }; + reptyr = callPackage ../os-specific/linux/reptyr {}; + rdiff_backup = callPackage ../tools/backup/rdiff-backup { }; ripmime = callPackage ../tools/networking/ripmime {}; + rng_tools = callPackage ../tools/security/rng-tools { }; + rsnapshot = callPackage ../tools/backup/rsnapshot { # For the `logger' command, we can use either `utillinux' or # GNU Inetutils. The latter is more portable. @@ -1423,6 +1502,12 @@ let sablotron = callPackage ../tools/text/xml/sablotron { }; + safecopy = callPackage ../tools/system/safecopy { }; + + salut_a_toi = callPackage ../applications/networking/instant-messengers/salut-a-toi {}; + + samplicator = callPackage ../tools/networking/samplicator { }; + screen = callPackage ../tools/misc/screen { }; scrot = callPackage ../tools/graphics/scrot { }; @@ -1467,9 +1552,9 @@ let sourceHighlight = callPackage ../tools/text/source-highlight { }; - socat2pre = builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix { + socat2pre = lowPrio (builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix { inherit fetchurl stdenv openssl; - }; + }); squashfsTools = callPackage ../tools/filesystems/squashfs { }; @@ -1493,12 +1578,16 @@ let su = shadow; + surfraw = callPackage ../tools/networking/surfraw { }; + swec = callPackage ../tools/networking/swec { inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent; }; svnfs = callPackage ../tools/filesystems/svnfs { }; + sysbench = callPackage ../development/tools/misc/sysbench {}; + system_config_printer = callPackage ../tools/misc/system-config-printer { libxml2 = libxml2Python; }; @@ -1509,13 +1598,9 @@ let autoconf = autoconf213; }; - tcpdump = callPackage ../tools/networking/tcpdump { }; + tarsnap = callPackage ../tools/backup/tarsnap { }; - /* - tcng = callPackage ../tools/networking/tcng { - kernel = linux_2_6_27; - }; - */ + tcpdump = callPackage ../tools/networking/tcpdump { }; telnet = callPackage ../tools/networking/telnet { }; @@ -1525,6 +1610,8 @@ let guile = guile_1_8; }; + tinc = callPackage ../tools/networking/tinc { }; + tmux = callPackage ../tools/misc/tmux { }; tor = callPackage ../tools/security/tor { }; @@ -1534,7 +1621,6 @@ let trickle = callPackage ../tools/networking/trickle {}; ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; - ttf2pt1_cl_pdf = callPackage ../tools/misc/ttf2pt1 { }; ucl = callPackage ../development/libraries/ucl { }; @@ -1584,6 +1670,8 @@ let vtun = callPackage ../tools/networking/vtun { }; + wbox = callPackage ../tools/networking/wbox {}; + welkin = callPackage ../tools/graphics/welkin {}; testdisk = callPackage ../tools/misc/testdisk { }; @@ -1595,6 +1683,8 @@ let tigervnc = callPackage ../tools/admin/tigervnc { fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc xorg.fontbhlucidatypewriter75dpi ]; + xorgserver = xorg.xorgserver_1_13_0; + fltk = fltk13; }; tightvnc = callPackage ../tools/admin/tightvnc { @@ -1608,6 +1698,17 @@ let tkabber_plugins = callPackage ../applications/networking/instant-messengers/tkabber-plugins { }; + qfsm = callPackage ../applications/science/electronics/qfsm { }; + + tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix { + inherit (xlibs) libX11 imake xproto gccmakedep; + }; + + # The newer package is low-priority because it segfaults at startup. + tkgate2 = lowPrio (callPackage ../applications/science/electronics/tkgate/2.x.nix { + inherit (xlibs) libX11; + }); + tm = callPackage ../tools/system/tm { }; trang = callPackage ../tools/text/xml/trang { }; @@ -1621,7 +1722,7 @@ let }; truecrypt = callPackage ../applications/misc/truecrypt { - wxGUI = getConfig [ "truecrypt" "wxGUI" ] true; + wxGUI = config.truecrypt.wxGUI or true; }; ttmkfdir = callPackage ../tools/misc/ttmkfdir { }; @@ -1640,7 +1741,7 @@ let unzip = callPackage ../tools/archivers/unzip { }; - unzipNLS = unzip.override { enableNLS = true; }; + unzipNLS = lowPrio (unzip.override { enableNLS = true; }); uptimed = callPackage ../tools/system/uptimed { }; @@ -1679,6 +1780,8 @@ let wv2 = callPackage ../tools/misc/wv2 { }; + x86info = callPackage ../os-specific/linux/x86info { }; + x11_ssh_askpass = callPackage ../tools/networking/x11-ssh-askpass { }; xbursttools = assert stdenv ? glibc; import ../tools/misc/xburst-tools { @@ -1746,7 +1849,7 @@ let xvfb_run = callPackage ../tools/misc/xvfb-run { inherit (texFunctions) fontsConf; }; - youtubeDL = callPackage ../tools/misc/youtube-dl { }; + youtubeDL = callPackage ../tools/misc/youtube-dl { inherit (haskellPackages) pandoc; }; zbar = callPackage ../tools/graphics/zbar {}; @@ -1774,8 +1877,6 @@ let dash = callPackage ../shells/dash { }; - ipython = callPackage ../shells/ipython { }; - tcsh = callPackage ../shells/tcsh { }; rush = callPackage ../shells/rush { }; @@ -1801,12 +1902,16 @@ let ccl = builderDefsPackage ../development/compilers/ccl {}; - clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix { }; + clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix { + stdenv = if stdenv.isDarwin + then stdenvAdapters.overrideGCC stdenv gccApple + else stdenv; + }; clang = wrapClang clangUnwrapped; #Use this instead of stdenv to build with clang - clangStdenv = stdenvAdapters.overrideGCC stdenv clang; + clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang); clean = callPackage ../development/compilers/clean { }; @@ -1831,10 +1936,6 @@ let gcc = gcc46; - gcc295 = wrapGCC (import ../development/compilers/gcc/2.95 { - inherit fetchurl stdenv noSysDirs; - }); - gcc33 = wrapGCC (import ../development/compilers/gcc/3.3 { inherit fetchurl stdenv noSysDirs; }); @@ -1848,19 +1949,6 @@ let # expects a single digit after the dot. As a workaround, we feed # GCC with Texinfo 4.9. Stupid bug, hackish workaround. - gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc/4.0) { - inherit fetchurl stdenv noSysDirs; - texinfo = texinfo49; - profiledCompiler = true; - }); - - gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc/4.1) { - inherit fetchurl noSysDirs gmp mpfr; - stdenv = overrideGCC stdenv gcc42; - texinfo = texinfo49; - profiledCompiler = false; - }); - gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2) { inherit fetchurl stdenv noSysDirs; profiledCompiler = false; @@ -1923,7 +2011,19 @@ let cross = assert crossSystem != null; crossSystem; }); - gcc_realCross = gcc46_realCross; + gcc47_realCross = lib.addMetaAttrs { platforms = []; } + (makeOverridable (import ../development/compilers/gcc/4.7) { + inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib + cloog ppl gettext which noSysDirs; + binutilsCross = binutilsCross; + libcCross = libcCross; + profiledCompiler = false; + enableMultilib = false; + crossStageStatic = false; + cross = assert crossSystem != null; crossSystem; + }); + + gcc_realCross = gcc47_realCross; gccCrossStageStatic = let isMingw = (stdenv.cross.libc == "msvcrt"); @@ -1932,7 +2032,7 @@ let if isMingw then windows.mingw_headers1 else null; in wrapGCCCross { - gcc = forceBuildDrv (lib.addMetaAttrs { platforms = []; } ( + gcc = forceNativeDrv (lib.addMetaAttrs { platforms = []; } ( gcc_realCross.override { crossStageStatic = true; langCC = false; @@ -1953,7 +2053,7 @@ let }; gccCrossStageFinal = wrapGCCCross { - gcc = forceBuildDrv (gcc_realCross.override { + gcc = forceNativeDrv (gcc_realCross.override { libpthreadCross = # FIXME: Don't explicitly refer to `i586-pc-gnu'. if crossSystem != null && crossSystem.config == "i586-pc-gnu" @@ -1983,9 +2083,9 @@ let gettext which noSysDirs; # bootstrapping a profiled compiler does not work in the sheevaplug: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 - profiledCompiler = if stdenv.isArm then false else true; + profiledCompiler = !stdenv.isArm; - # When building `gcc.hostDrv' (a "Canadian cross", with host == target + # When building `gcc.crossDrv' (a "Canadian cross", with host == target # and host != build), `cross' must be null but the cross-libc must still # be passed. cross = null; @@ -2004,7 +2104,7 @@ let # bootstrapping a profiled compiler does not work in the sheevaplug: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 - profiledCompiler = if stdenv.system == "armv5tel-linux" then false else true; + profiledCompiler = !stdenv.system == "armv5tel-linux"; })); gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 { @@ -2012,9 +2112,9 @@ let # bootstrapping a profiled compiler does not work in the sheevaplug: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944 - profiledCompiler = if stdenv.isArm then false else true; + profiledCompiler = !stdenv.isArm; - # When building `gcc.hostDrv' (a "Canadian cross", with host == target + # When building `gcc.crossDrv' (a "Canadian cross", with host == target # and host != build), `cross' must be null but the cross-libc must still # be passed. cross = null; @@ -2035,13 +2135,20 @@ let binutilsCross = null; })); + gcc46_multi = if system == "x86_64-linux" then lowPrio ( + wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc46.gcc.override { + stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc); + profiledCompiler = false; + enableMultilib = true; + })) else throw "Multilib gcc not supported on this system"; + gcc47_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 { inherit noSysDirs; # I'm not sure if profiling with enableParallelBuilding helps a lot. # We can enable it back some day. This makes the *gcc* builds faster now. profiledCompiler = false; - # When building `gcc.hostDrv' (a "Canadian cross", with host == target + # When building `gcc.crossDrv' (a "Canadian cross", with host == target # and host != build), `cross' must be null but the cross-libc must still # be passed. cross = null; @@ -2062,39 +2169,17 @@ let })); gccApple = - wrapGCC (makeOverridable - (if stdenv.system == "i686-darwin" - then import ../development/compilers/gcc/4.2-apple32 - else import ../development/compilers/gcc/4.2-apple64) { - inherit fetchurl noSysDirs; - profiledCompiler = true; - - # Since it fails to build with GCC 4.6, build it with the "native" - # Apple-GCC. - stdenv = allStdenvs.stdenvNative; - }); - - gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 { - inherit fetchurl stdenv bison autoconf gnum4 noSysDirs; - texinfo = texinfo49; - }); + assert stdenv.isDarwin; + wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2-apple64) { + inherit fetchurl noSysDirs; + profiledCompiler = true; + # Since it fails to build with GCC 4.6, build it with the "native" + # Apple-GCC. + stdenv = allStdenvs.stdenvNative; + }); gfortran = gfortran46; - gfortran40 = wrapGCC (gcc40.gcc.override { - langFortran = true; - langCC = false; - inherit gmp mpfr; - }); - - gfortran41 = wrapGCC (gcc41.gcc.override { - name = "gfortran"; - langFortran = true; - langCC = false; - langC = false; - inherit gmp mpfr; - }); - gfortran42 = wrapGCC (gcc42.gcc.override { name = "gfortran"; langFortran = true; @@ -2270,6 +2355,11 @@ let }; }; + jhc = callPackage ../development/compilers/jhc { + inherit (haskellPackages_ghc6123) ghc binary zlib utf8String readline fgl + regexCompat HsSyck random; + }; + # Haskell and GHC # Import Haskell infrastructure. @@ -2286,40 +2376,40 @@ let # particularly in connection with Hydra builds for all these packages. # So we enable it for selected versions only. - # Current default version: 7.4.1. - haskellPackages = haskellPackages_ghc741; - # Current Haskell platform. + # Current default version: 7.4.2. + haskellPackages = haskellPackages_ghc742; + # Current Haskell Platform: 2012.4.0.0 haskellPlatform = haskellPackages.haskellPlatform; - haskellPackages_ghc6104 = recurseIntoAttrs (haskell.packages_ghc6104); + haskellPackages_ghc6104 = haskell.packages_ghc6104; haskellPackages_ghc6121 = haskell.packages_ghc6121; haskellPackages_ghc6122 = haskell.packages_ghc6122; - haskellPackages_ghc6123 = recurseIntoAttrs (haskell.packages_ghc6123); + haskellPackages_ghc6123 = haskell.packages_ghc6123; haskellPackages_ghc701 = haskell.packages_ghc701; haskellPackages_ghc702 = haskell.packages_ghc702; haskellPackages_ghc703 = haskell.packages_ghc703; - haskellPackages_ghc704 = recurseIntoAttrs (haskell.packages_ghc704); + haskellPackages_ghc704 = haskell.packages_ghc704; haskellPackages_ghc721 = haskell.packages_ghc721; haskellPackages_ghc722 = haskell.packages_ghc722; # For the default version, we build profiling versions of the libraries, too. # The following three lines achieve that: the first two make Hydra build explicit # profiling and non-profiling versions; the final respects the user-configured # default setting. - haskellPackages_ghc741_no_profiling = recurseIntoAttrs (haskell.packages_ghc741.noProfiling); - haskellPackages_ghc741_profiling = recurseIntoAttrs (haskell.packages_ghc741.profiling); - haskellPackages_ghc741 = recurseIntoAttrs (haskell.packages_ghc741.highPrio); - # Stable branch snapshot. - haskellPackages_ghc742 = recurseIntoAttrs (haskell.packages_ghc742); - # Release candidate. + haskellPackages_ghc741 = haskell.packages_ghc741; + haskellPackages_ghc742_no_profiling = recurseIntoAttrs (haskell.packages_ghc742.noProfiling); + haskellPackages_ghc742_profiling = recurseIntoAttrs (haskell.packages_ghc742.profiling); + haskellPackages_ghc742 = recurseIntoAttrs (haskell.packages_ghc742.highPrio); haskellPackages_ghc761 = haskell.packages_ghc761; + haskellPackages_ghc762 = recurseIntoAttrs (haskell.packages_ghc762); # Reasonably current HEAD snapshot. haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; - haxeDist = import ../development/compilers/haxe { - inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko; + haxe = callPackage ../development/compilers/haxe { }; + + hiphopvm = callPackage ../development/interpreters/hiphopvm { + libevent = libevent14; + boost = boost149; }; - haxe = haxeDist.haxe; - haxelib = haxeDist.haxelib; falcon = builderDefsPackage (import ../development/interpreters/falcon) { inherit cmake; @@ -2331,63 +2421,58 @@ let gprolog = callPackage ../development/compilers/gprolog { }; - gwt = callPackage ../development/compilers/gwt { - libstdcpp5 = gcc33.gcc; - }; gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { }; ikarus = callPackage ../development/compilers/ikarus { }; - #TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test - # commented out because it's using the new configuration style proposal which is unstable hugs = callPackage ../development/compilers/hugs { }; path64 = callPackage ../development/compilers/path64 { }; - openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix {}; - openjdk = if stdenv.isDarwin then callPackage ../development/compilers/openjdk-darwin { } else - callPackage ../development/compilers/openjdk { - jdk = pkgs.openjdkBootstrap; - ant = pkgs.ant.override { jdk = pkgs.openjdkBootstrap; }; + let + openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix {}; + openjdkStage1 = callPackage ../development/compilers/openjdk { + jdk = openjdkBootstrap; + ant = pkgs.ant.override { jdk = openjdkBootstrap; }; + }; + in callPackage ../development/compilers/openjdk { + jdk = openjdkStage1; + ant = pkgs.ant.override { jdk = openjdkStage1; }; }; - openjre = callPackage ../development/compilers/openjdk { + openjre = pkgs.openjdk.override { jreOnly = true; }; - jdk = if (stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") - then openjdk - else jdkdistro true false; - jre = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") - then openjre - else jdkdistro false false; + jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" + then pkgs.openjdk + else pkgs.oraclejdk; + jre = if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" + then pkgs.openjre + else pkgs.oraclejre; - oraclejdk = jdkdistro true false; + oraclejdk = pkgs.jdkdistro true false; - oraclejre = jdkdistro false false; + oraclejre = lowPrio (pkgs.jdkdistro false false); - jrePlugin = lowPrio (jdkdistro false true); + jrePlugin = lowPrio (pkgs.jdkdistro false true); supportsJDK = system == "i686-linux" || - system == "x86_64-linux" || - system == "i686-cygwin"; + system == "x86_64-linux"; jdkdistro = installjdk: pluginSupport: - (assert supportsJDK; - (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk { - inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper cabextract; - })); + assert supportsJDK; + (if pluginSupport then appendToName "plugin" else x: x) + (callPackage ../development/compilers/jdk/jdk6-linux.nix { }); jikes = callPackage ../development/compilers/jikes { }; julia = callPackage ../development/compilers/julia { - llvm = llvm_3_1; - pcre = pcre_8_30; liblapack = liblapack.override {shared = true;}; fftw = fftw.override {pthreads = true;}; fftwSinglePrec = fftwSinglePrec.override {pthreads = true;}; @@ -2399,8 +2484,11 @@ let fpc = fpc; }; - llvm = callPackage ../development/compilers/llvm { }; - llvm_3_1 = callPackage ../development/compilers/llvm/3.1.nix { }; + llvm = callPackage ../development/compilers/llvm { + stdenv = if stdenv.isDarwin + then stdenvAdapters.overrideGCC stdenv gccApple + else stdenv; + }; mitscheme = callPackage ../development/compilers/mit-scheme { }; @@ -2428,7 +2516,7 @@ let ocaml_3_12_1 = callPackage ../development/compilers/ocaml/3.12.1.nix { }; - ocaml_4_00_0 = callPackage ../development/compilers/ocaml/4.00.0.nix { }; + ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { }; metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; @@ -2476,6 +2564,8 @@ let menhir = callPackage ../development/ocaml-modules/menhir { }; + mldonkey = callPackage ../applications/networking/p2p/mldonkey { }; + ocaml_batteries = callPackage ../development/ocaml-modules/batteries { camomile = camomile_0_8_2; }; @@ -2525,7 +2615,7 @@ let ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0; ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2; ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1; - ocamlPackages_4_00_0 = mkOcamlPackages ocaml_4_00_0 pkgs.ocamlPackages_4_00_0; + ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1; ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { }; @@ -2555,7 +2645,7 @@ let stalin = callPackage ../development/compilers/stalin { }; - strategoPackages = strategoPackages018; + strategoPackages = recurseIntoAttrs strategoPackages018; strategoPackages016 = callPackage ../development/compilers/strategoxt/0.16.nix { stdenv = overrideInStdenv stdenv [gnumake380]; @@ -2623,23 +2713,13 @@ let wrapGCCCross = {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}: - forceBuildDrv (import ../build-support/gcc-cross-wrapper { + forceNativeDrv (import ../build-support/gcc-cross-wrapper { nativeTools = false; nativeLibc = false; noLibc = (libc == null); inherit stdenv gcc binutils libc shell name cross; }); - # FIXME: This is a specific hack for GCC-UPC. Eventually, we may - # want to merge `gcc-upc-wrapper' and `gcc-wrapper'. - wrapGCCUPC = baseGCC: import ../build-support/gcc-upc-wrapper { - nativeTools = stdenv ? gcc && stdenv.gcc.nativeTools; - nativeLibc = stdenv ? gcc && stdenv.gcc.nativeLibc; - gcc = baseGCC; - libc = glibc; - inherit stdenv binutils; - }; - # prolog yap = callPackage ../development/compilers/yap { }; @@ -2663,6 +2743,8 @@ let clojure = callPackage ../development/interpreters/clojure { }; + clojureUnstable = callPackage ../development/interpreters/clojure { version = "1.5.0-RC1"; }; + clojure_binary = callPackage ../development/interpreters/clojure/binary.nix { }; clojure_wrapper = callPackage ../development/interpreters/clojure/wrapper.nix { @@ -2675,9 +2757,9 @@ let clooj = clooj_standalone_binary; }; - erlang = callPackage ../development/interpreters/erlang { }; - erlangR14B04 = callPackage ../development/interpreters/erlang/R14B04.nix { }; + erlangR15B02 = callPackage ../development/interpreters/erlang/R15B02.nix { }; + erlang = erlangR15B02; groovy = callPackage ../development/interpreters/groovy { }; @@ -2700,10 +2782,9 @@ let love = callPackage ../development/interpreters/love {}; lua4 = callPackage ../development/interpreters/lua-4 { }; - lua5 = callPackage ../development/interpreters/lua-5 { }; - lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { }; + lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { }; maude = callPackage ../development/interpreters/maude { }; @@ -2720,27 +2801,15 @@ let perl510 = callPackage ../development/interpreters/perl/5.10 { }; - perl514 = callPackage ../development/interpreters/perl/5.14 { + perl514 = callPackage ../development/interpreters/perl/5.14 { }; + + perl516 = callPackage ../development/interpreters/perl/5.16 { fetchurl = fetchurlBoot; }; - perl = if system != "i686-cygwin" then perl514 else sysPerl; + perl = if system != "i686-cygwin" then perl516 else sysPerl; - php = php5_3; - - php5_2 = makeOverridable (import ../development/interpreters/php/5.2.nix) { - inherit - stdenv fetchurl lib composableDerivation autoconf automake - flex bison apacheHttpd mysql libxml2 readline - zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng; - }; - - php5_3 = makeOverridable (import ../development/interpreters/php/5.3.nix) { - inherit - stdenv fetchurl lib composableDerivation autoconf automake - flex bison apacheHttpd mysql libxml2 readline - zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng; - }; + php = callPackage ../development/interpreters/php/5.3.nix { }; php_apc = callPackage ../development/libraries/php-apc { }; @@ -2762,28 +2831,27 @@ let pure = callPackage ../development/interpreters/pure {}; - python = python27; python3 = python32; + python32 = callPackage ../development/interpreters/python/3.2 { }; + python33 = callPackage ../development/interpreters/python/3.3 { }; + python = python27; python26 = callPackage ../development/interpreters/python/2.6 { }; - python27 = callPackage ../development/interpreters/python/2.7 { }; - python32 = callPackage ../development/interpreters/python/3.2 { }; - pythonFull = python27Full; - python26Full = callPackage ../development/interpreters/python/wrapper.nix { extraLibs = lib.attrValues python26.modules; python = python26; + inherit (python26Packages) recursivePthLoader; }; - python27Full = callPackage ../development/interpreters/python/wrapper.nix { extraLibs = lib.attrValues python27.modules; python = python27; + inherit (python27Packages) recursivePthLoader; }; - pythonhomeWrapper = callPackage ../development/interpreters/python/pythonhome-wrapper.nix { }; + pythonLinkmeWrapper = callPackage ../development/interpreters/python/python-linkme-wrapper.nix { }; pyrex = pyrex095; @@ -2809,7 +2877,7 @@ let rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { }; rLang = callPackage ../development/interpreters/r-lang { - withBioconductor = getConfig ["rLang" "withBioconductor"] false; + withBioconductor = config.rLang.withBioconductor or false; }; rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) { @@ -2836,18 +2904,15 @@ let xulrunner = pkgs.firefoxPkgs.xulrunner; + ### DEVELOPMENT / MISC avrgcclibc = callPackage ../development/misc/avr-gcc-with-avr-libc {}; avr8burnomat = callPackage ../development/misc/avr8-burn-omat { }; - /* - toolbus = callPackage ../development/interpreters/toolbus { }; - */ - sourceFromHead = import ../build-support/source-from-head-fun.nix { - inherit getConfig; + inherit config; }; ecj = callPackage ../development/eclipse/ecj { }; @@ -2885,6 +2950,7 @@ let apacheAnt = callPackage ../development/tools/build-managers/apache-ant { }; apacheAntOpenJDK = apacheAnt.override { jdk = openjdk; }; + apacheAntOracleJDK = ant.override { jdk = pkgs.oraclejdk; }; apacheAntGcj = callPackage ../development/tools/build-managers/apache-ant/from-source.nix { # must be either pre-built or built with GCJ *alone* @@ -2903,20 +2969,11 @@ let automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { }; - automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { - doCheck = !stdenv.isArm && !stdenv.isCygwin && !stdenv.isMips - # Some of the parallel tests seem to hang on `i386-pc-solaris2.11'. - && stdenv.system != "i686-solaris" + automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { }; - # One test fails to terminate on FreeBSD: . - && !stdenv.isFreeBSD; - }; + automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { }; - automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { - doCheck = !stdenv.isArm && !stdenv.isCygwin && !stdenv.isMips - # Some of the parallel tests seem to hang on `i386-pc-solaris2.11'. - && stdenv.system != "i686-solaris"; - }; + automake113x = callPackage ../development/tools/misc/automake/automake-1.13.x.nix { }; automoc4 = callPackage ../development/tools/misc/automoc4 { }; @@ -2928,28 +2985,18 @@ let inherit noSysDirs; }; - binutils_gold = callPackage ../development/tools/misc/binutils { + binutils_gold = lowPrio (callPackage ../development/tools/misc/binutils { inherit noSysDirs; gold = true; - }; + }); - binutilsCross = forceBuildDrv (import ../development/tools/misc/binutils { + binutilsCross = lowPrio (forceNativeDrv (import ../development/tools/misc/binutils { inherit stdenv fetchurl zlib; noSysDirs = true; cross = assert crossSystem != null; crossSystem; - }); + })); - bison = bison25; - - bison1875 = callPackage ../development/tools/parsing/bison/bison-1.875.nix { }; - - bison23 = callPackage ../development/tools/parsing/bison/bison-2.3.nix { }; - - bison24 = callPackage ../development/tools/parsing/bison/bison-2.4.nix { }; - - bison25 = callPackage ../development/tools/parsing/bison/bison-2.5.nix { }; - - bison26 = callPackage ../development/tools/parsing/bison/bison-2.6.nix { }; + bison = callPackage ../development/tools/parsing/bison { }; buildbot = callPackage ../development/tools/build-managers/buildbot { inherit (pythonPackages) twisted; @@ -2957,6 +3004,8 @@ let byacc = callPackage ../development/tools/parsing/byacc { }; + casperjs = callPackage ../development/tools/casperjs { }; + cbrowser = callPackage ../development/tools/misc/cbrowser { }; ccache = callPackage ../development/tools/misc/ccache { }; @@ -2977,7 +3026,7 @@ let # ccacheWrapper = makeOverridable ({ extraConfig ? "" }: wrapGCC (ccache.links extraConfig)) {}; - ccacheStdenv = overrideGCC stdenv ccacheWrapper; + ccacheStdenv = lowPrio (overrideGCC stdenv ccacheWrapper); cgdb = callPackage ../development/tools/misc/cgdb { }; @@ -3013,12 +3062,36 @@ let csslint = callPackage ../development/web/csslint { }; + libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; }; + dejagnu = callPackage ../development/tools/misc/dejagnu { }; ddd = callPackage ../development/tools/misc/ddd { }; distcc = callPackage ../development/tools/misc/distcc { }; + # distccWrapper: wrapper that works as gcc or g++ + # It can be used by setting in nixpkgs config like this, for example: + # replaceStdenv = { pkgs }: pkgs.distccStdenv; + # But if you build in chroot, a default 'nix' will create + # a new net namespace, and won't have network access. + # You can use an override in packageOverrides to set extraConfig: + # packageOverrides = pkgs: { + # distccWrapper = pkgs.distccWrapper.override { + # extraConfig = '' + # DISTCC_HOSTS="myhost1 myhost2" + # ''; + # }; + # + distccWrapper = makeOverridable ({ extraConfig ? "" }: + wrapGCC (distcc.links extraConfig)) {}; + distccStdenv = lowPrio (overrideGCC stdenv distccWrapper); + + distccMasquerade = callPackage ../development/tools/misc/distcc/masq.nix { + gccRaw = gcc.gcc; + binutils = binutils; + }; + docutils = builderDefsPackage (import ../development/tools/documentation/docutils) { inherit python pil makeWrapper; }; @@ -3102,6 +3175,8 @@ let indent = callPackage ../development/tools/misc/indent { }; + ino = callPackage ../development/arduino/ino { }; + inotifyTools = callPackage ../development/tools/misc/inotify-tools { }; intelgen4asm = callPackage ../development/misc/intelgen4asm { }; @@ -3130,6 +3205,10 @@ let mk = callPackage ../development/tools/build-managers/mk { }; + neoload = callPackage ../development/tools/neoload { + licenseAccepted = (config.neoload.accept_license or false); + }; + noweb = callPackage ../development/tools/literate-programming/noweb { }; omake = callPackage ../development/tools/ocaml/omake { }; @@ -3144,16 +3223,18 @@ let peg = callPackage ../development/tools/parsing/peg { }; + phantomjs = callPackage ../development/tools/phantomjs { }; + pmccabe = callPackage ../development/tools/misc/pmccabe { }; - /* Make pkgconfig always return a buildDrv, never a proper hostDrv, + /* Make pkgconfig always return a nativeDrv, never a proper crossDrv, because most usage of pkgconfig as buildInput (inheritance of - pre-cross nixpkgs) means using it using as buildNativeInput + pre-cross nixpkgs) means using it using as nativeBuildInput cross_renaming: we should make all programs use pkgconfig as - buildNativeInput after the renaming. + nativeBuildInput after the renaming. */ - pkgconfig = forceBuildDrv (callPackage ../development/tools/misc/pkgconfig { }); - pkgconfigUpstream = pkgconfig.override { vanilla = true; }; + pkgconfig = forceNativeDrv (callPackage ../development/tools/misc/pkgconfig { }); + pkgconfigUpstream = lowPrio (pkgconfig.override { vanilla = true; }); premake = callPackage ../development/tools/misc/premake { }; @@ -3162,14 +3243,16 @@ let radare = callPackage ../development/tools/analysis/radare { inherit (gnome) vte; lua = lua5; - useX11 = getConfig ["radare" "useX11"] false; - pythonBindings = getConfig ["radare" "pythonBindings"] false; - rubyBindings = getConfig ["radare" "rubyBindings"] false; - luaBindings = getConfig ["radare" "luaBindings"] false; + useX11 = config.radare.useX11 or false; + pythonBindings = config.radare.pythonBindings or false; + rubyBindings = config.radare.rubyBindings or false; + luaBindings = config.radare.luaBindings or false; }; ragel = callPackage ../development/tools/parsing/ragel { }; + re2c = callPackage ../development/tools/parsing/re2c { }; + remake = callPackage ../development/tools/build-managers/remake { }; # couldn't find the source yet @@ -3183,6 +3266,11 @@ let sloccount = callPackage ../development/tools/misc/sloccount { }; + smatch = callPackage ../development/tools/analysis/smatch { + buildllvmsparse = false; + buildc2xml = false; + }; + sparse = callPackage ../development/tools/analysis/sparse { }; spin = callPackage ../development/tools/analysis/spin { }; @@ -3197,11 +3285,14 @@ let swigWithJava = swig; + swfmill = callPackage ../tools/video/swfmill { }; + swftools = callPackage ../tools/video/swftools { }; + texinfo413 = callPackage ../development/tools/misc/texinfo/4.13a.nix { }; texinfo49 = callPackage ../development/tools/misc/texinfo/4.9.nix { }; - - texinfo = callPackage ../development/tools/misc/texinfo { }; + texinfo5 = callPackage ../development/tools/misc/texinfo/5.0.nix { }; + texinfo = texinfo413; texi2html = callPackage ../development/tools/misc/texi2html { }; @@ -3212,9 +3303,9 @@ let inherit (gnu) mig; }; - gdbCross = callPackage ../development/tools/misc/gdb { + gdbCross = lowPrio (callPackage ../development/tools/misc/gdb { target = crossSystem; - }; + }); valgrind = callPackage ../development/tools/analysis/valgrind { stdenv = @@ -3301,15 +3392,13 @@ let boolstuff = callPackage ../development/libraries/boolstuff { }; boost144 = callPackage ../development/libraries/boost/1.44.nix { }; - boost146 = callPackage ../development/libraries/boost/1.46.nix { }; boost147 = callPackage ../development/libraries/boost/1.47.nix { }; boost149 = callPackage ../development/libraries/boost/1.49.nix { }; - boost150 = callPackage ../development/libraries/boost/1.50.nix { }; - boost = boost150; + boost153 = callPackage ../development/libraries/boost/1.53.nix { }; + boost = boost153; - boostHeaders149 = callPackage ../development/libraries/boost/1.49-headers.nix { }; - boostHeaders150 = callPackage ../development/libraries/boost/1.50-headers.nix { }; - boostHeaders = boostHeaders150; + boostHeaders153 = callPackage ../development/libraries/boost/1.53-headers.nix { }; + boostHeaders = boostHeaders153; botan = callPackage ../development/libraries/botan { }; @@ -3331,6 +3420,7 @@ let celt = callPackage ../development/libraries/celt {}; celt_0_7 = callPackage ../development/libraries/celt/0.7.nix {}; + celt_0_5_1 = callPackage ../development/libraries/celt/0.5.1.nix {}; cgal = callPackage ../development/libraries/CGAL {}; @@ -3367,6 +3457,8 @@ let clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) { }; + clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { }; + clucene_core = callPackage ../development/libraries/clucene-core { }; cluceneCore = clucene_core; # !!! remove this @@ -3386,8 +3478,6 @@ let confuse = callPackage ../development/libraries/confuse { }; - consolekit = callPackage ../development/libraries/consolekit { }; - coredumper = callPackage ../development/libraries/coredumper { }; ctl = callPackage ../development/libraries/ctl { }; @@ -3446,6 +3536,8 @@ let eigen = callPackage ../development/libraries/eigen {}; + eigen2 = callPackage ../development/libraries/eigen/2.0.nix {}; + enchant = callPackage ../development/libraries/enchant { }; enet = callPackage ../development/libraries/enet { }; @@ -3481,11 +3573,19 @@ let fcgi = callPackage ../development/libraries/fcgi { }; ffmpeg = callPackage ../development/libraries/ffmpeg { - vpxSupport = if !stdenv.isMips then true else false; + vpxSupport = !stdenv.isMips; }; ffmpeg_0_6_90 = callPackage ../development/libraries/ffmpeg/0.6.90.nix { - vpxSupport = if !stdenv.isMips then true else false; + vpxSupport = !stdenv.isMips; + }; + + ffmpeg_1_0 = callPackage ../development/libraries/ffmpeg/1.0.nix { + vpxSupport = !stdenv.isMips; + }; + + ffmpeg_1_1 = callPackage ../development/libraries/ffmpeg/1.1.nix { + vpxSupport = !stdenv.isMips; }; fftw = callPackage ../development/libraries/fftw { @@ -3521,7 +3621,8 @@ let freealut = callPackage ../development/libraries/freealut { }; - freeglut = callPackage ../development/libraries/freeglut { }; + freeglut = if stdenv.isDarwin then darwinX11AndOpenGL else + callPackage ../development/libraries/freeglut { }; freetype = callPackage ../development/libraries/freetype { }; @@ -3550,6 +3651,7 @@ let gegl_0_0_22 = callPackage ../development/libraries/gegl/0_0_22.nix { # avocodec avformat librsvg }; + geoclue = callPackage ../development/libraries/geoclue {}; geoip = builderDefsPackage ../development/libraries/geoip { @@ -3577,87 +3679,53 @@ let glfw = callPackage ../development/libraries/glfw { }; - glibc = glibc213; + glibc = glibc217; - glibcCross = glibc213Cross; - - glibc25 = callPackage ../development/libraries/glibc/2.5 { - kernelHeaders = linuxHeaders_2_6_28; - installLocales = false; - }; - - glibc27 = callPackage ../development/libraries/glibc/2.7 { - kernelHeaders = linuxHeaders; - #installLocales = false; - }; - - glibc29 = callPackage ../development/libraries/glibc/2.9 { - kernelHeaders = linuxHeaders; - installLocales = getConfig [ "glibc" "locales" ] false; - }; - - glibc29Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc/2.9) { - inherit stdenv fetchurl; - gccCross = gccCrossStageStatic; - kernelHeaders = linuxHeadersCross; - installLocales = getConfig [ "glibc" "locales" ] false; - }); + glibcCross = glibc217Cross; glibc213 = (callPackage ../development/libraries/glibc/2.13 { kernelHeaders = linuxHeaders; - installLocales = getConfig [ "glibc" "locales" ] false; + installLocales = config.glibc.locales or false; machHeaders = null; hurdHeaders = null; gccCross = null; - }) // (if crossSystem != null then { hostDrv = glibc213Cross; } else {}); + }) // (if crossSystem != null then { crossDrv = glibc213Cross; } else {}); - glibc213Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc/2.13) + glibc217 = callPackage ../development/libraries/glibc/2.17 { + kernelHeaders = linuxHeaders; + installLocales = config.glibc.locales or false; + machHeaders = null; + hurdHeaders = null; + gccCross = null; + }; + + glibc217Cross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.17) (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu"; in { inherit stdenv fetchurl; gccCross = gccCrossStageStatic; kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross; - installLocales = getConfig [ "glibc" "locales" ] false; + installLocales = config.glibc.locales or false; } // lib.optionalAttrs crossGNU { inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig; inherit fetchgit; })); - glibc214 = (callPackage ../development/libraries/glibc/2.14 { - kernelHeaders = linuxHeaders; - installLocales = getConfig [ "glibc" "locales" ] false; - machHeaders = null; - hurdHeaders = null; - gccCross = null; - }) // (lib.optionalAttrs (crossSystem != null) { hostDrv = glibc214Cross; }); - - glibc214Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc/2.14) - (let crossGNU = (crossSystem != null && crossSystem.config == "i586-pc-gnu"); - in { - inherit stdenv fetchurl; - gccCross = gccCrossStageStatic; - kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross; - installLocales = getConfig [ "glibc" "locales" ] false; - } - // lib.optionalAttrs crossGNU { - inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig; - inherit fetchgit; - })); # We can choose: - libcCrossChooser = name : if (name == "glibc") then glibcCross - else if (name == "uclibc") then uclibcCross - else if (name == "msvcrt" && stdenv.cross.config == "x86_64-w64-mingw32") then + libcCrossChooser = name : if name == "glibc" then glibcCross + else if name == "uclibc" then uclibcCross + else if name == "msvcrt" && stdenv.cross.config == "x86_64-w64-mingw32" then windows.mingw_w64 - else if (name == "msvcrt") then windows.mingw_headers3 + else if name == "msvcrt" then windows.mingw_headers3 else throw "Unknown libc"; libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc; eglibc = callPackage ../development/libraries/eglibc { kernelHeaders = linuxHeaders; - installLocales = getConfig [ "glibc" "locales" ] false; + installLocales = config.glibc.locales or false; }; glibcLocales = callPackage ../development/libraries/glibc/2.13/locales.nix { }; @@ -3665,26 +3733,26 @@ let glibcInfo = callPackage ../development/libraries/glibc/2.13/info.nix { }; glibc_multi = - runCommand "${glibc.name}-multi" - { glibc64 = glibc; - glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; - } - '' - mkdir -p $out - ln -s $glibc64/* $out/ + runCommand "${glibc.name}-multi" + { glibc64 = glibc; + glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc; + } + '' + mkdir -p $out + ln -s $glibc64/* $out/ - rm $out/lib $out/lib64 - mkdir -p $out/lib - ln -s $glibc64/lib/* $out/lib - ln -s $glibc32/lib $out/lib/32 - ln -s lib $out/lib64 + rm $out/lib $out/lib64 + mkdir -p $out/lib + ln -s $glibc64/lib/* $out/lib + ln -s $glibc32/lib $out/lib/32 + ln -s lib $out/lib64 - rm $out/include - cp -rs $glibc32/include $out - chmod -R u+w $out/include - cp -rsf $glibc64/include $out - '' # */ - ; + rm $out/include + cp -rs $glibc32/include $out + chmod -R u+w $out/include + cp -rsf $glibc64/include $out + '' # */ + ; glpk = callPackage ../development/libraries/glpk { }; @@ -3692,22 +3760,16 @@ let gmm = callPackage ../development/libraries/gmm { }; - gmp = - if stdenv.system == "i686-darwin" then - # GMP 4.3.2 is broken on Darwin, so use 4.3.1. - callPackage ../development/libraries/gmp/4.3.1.nix { } - else - callPackage ../development/libraries/gmp/5.0.5.nix { }; + gmp = gmp5; gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; }); # The GHC bootstrap binaries link against libgmp.so.3, which is in GMP 4.x. - gmp4 = - if stdenv.system == "i686-darwin" then - # GMP 4.3.2 is broken on Darwin, so use 4.3.1. - callPackage ../development/libraries/gmp/4.3.1.nix { } - else - callPackage ../development/libraries/gmp/4.3.2.nix { }; + gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; + + gmp5 = callPackage ../development/libraries/gmp/5.0.5.nix { }; + + gmp51 = callPackage ../development/libraries/gmp/5.1.1.nix { }; gobjectIntrospection = callPackage ../development/libraries/gobject-introspection { }; @@ -3717,7 +3779,7 @@ let libart = gnome.libart_lgpl; }; - goffice_0_9 = callPackage ../development/libraries/goffice/0.9.nix { + goffice_0_10 = callPackage ../development/libraries/goffice/0.10.nix { inherit (gnome) libglade libgnomeui; gconf = gnome.GConf; libart = gnome.libart_lgpl; @@ -3726,7 +3788,7 @@ let goocanvas = callPackage ../development/libraries/goocanvas { }; - google_perftools = callPackage ../development/libraries/google-perftools { }; + gperftools = callPackage ../development/libraries/gperftools { }; #GMP ex-satellite, so better keep it near gmp mpfr = callPackage ../development/libraries/mpfr { }; @@ -3765,17 +3827,21 @@ let }; gnutls = callPackage ../development/libraries/gnutls { - guileBindings = getConfig ["gnutls" "guile"] true; + guileBindings = config.gnutls.guile or true; }; gnutls2 = callPackage ../development/libraries/gnutls/2.12.nix { - guileBindings = getConfig ["gnutls" "guile"] true; + guileBindings = config.gnutls.guile or true; }; gnutls_without_guile = gnutls.override { guileBindings = false; }; gnutls2_without_guile = gnutls2.override { guileBindings = false; }; - gpgme = callPackage ../development/libraries/gpgme { }; + gpac = callPackage ../applications/video/gpac { }; + + gpgme = callPackage ../development/libraries/gpgme { + gnupg1 = gnupg1orig; + }; grantlee = callPackage ../development/libraries/grantlee { }; @@ -3798,25 +3864,30 @@ let gtkmm; }; - glib = callPackage ../development/libraries/glib/2.30.x.nix { }; + glib = callPackage ../development/libraries/glib { }; glibmm = callPackage ../development/libraries/glibmm/2.30.x.nix { }; glib_networking = callPackage ../development/libraries/glib-networking {}; - atk = callPackage ../development/libraries/atk/2.2.x.nix { }; + atk = callPackage ../development/libraries/atk { }; atkmm = callPackage ../development/libraries/atkmm/2.22.x.nix { }; - cairo = callPackage ../development/libraries/cairo { }; + cairo = callPackage ../development/libraries/cairo { + pixman = pixman_cairo; # it's recommended to be in sync + }; + pixman_cairo = callPackage ../development/libraries/pixman { }; - pango = callPackage ../development/libraries/pango/1.29.x.nix { }; + pango = callPackage ../development/libraries/pango { }; pangomm = callPackage ../development/libraries/pangomm/2.28.x.nix { }; - gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.24.x.nix { }; + pangox_compat = callPackage ../development/libraries/pangox-compat { }; - gtk2 = callPackage ../development/libraries/gtk+/2.24.x.nix { }; + gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { }; + + gtk2 = callPackage ../development/libraries/gtk+/2.x.nix { }; gtk = pkgs.gtk2; @@ -3855,6 +3926,8 @@ let # TODO : Add MIT Kerberos and let admin choose. kerberos = heimdal; + harfbuzz = callPackage ../development/libraries/harfbuzz { }; + hawknl = callPackage ../development/libraries/hawknl { }; heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; @@ -3903,7 +3976,9 @@ let iniparser = callPackage ../development/libraries/iniparser { }; - intltool = gnome.intltool; + inteltbb = callPackage ../development/libraries/intel-tbb { }; + + intltool = callPackage ../development/tools/misc/intltool { }; irrlicht3843 = callPackage ../development/libraries/irrlicht { }; @@ -3958,7 +4033,7 @@ let libaal = callPackage ../development/libraries/libaal { }; libao = callPackage ../development/libraries/libao { - usePulseAudio = getConfig [ "pulseaudio" ] true; + usePulseAudio = config.pulseaudio or true; }; libarchive = callPackage ../development/libraries/libarchive { }; @@ -3989,6 +4064,8 @@ let libcdio = callPackage ../development/libraries/libcdio { }; + libcdr = callPackage ../development/libraries/libcdr { }; + libchamplain = callPackage ../development/libraries/libchamplain { inherit (gnome) libsoup; }; @@ -4051,6 +4128,10 @@ let libdvdread = callPackage ../development/libraries/libdvdread { }; + libdwarf = callPackage ../development/libraries/libdwarf { }; + + libeatmydata = callPackage ../development/libraries/libeatmydata { }; + libebml = callPackage ../development/libraries/libebml { }; libedit = callPackage ../development/libraries/libedit { }; @@ -4073,13 +4154,13 @@ let liblo = callPackage ../development/libraries/liblo { }; - liblrdf = callPackage ../development/libraries/liblrdf {}; + liblrdf = librdf; liblscp = callPackage ../development/libraries/liblscp { }; - libev = builderDefsPackage ../development/libraries/libev { - }; + libev = builderDefsPackage ../development/libraries/libev { }; + libevent14 = callPackage ../development/libraries/libevent/1.4.nix { }; libevent = callPackage ../development/libraries/libevent { }; libewf = callPackage ../development/libraries/libewf { }; @@ -4092,6 +4173,8 @@ let libmpeg2 = mpeg2dec; }; + libexttextcat = callPackage ../development/libraries/libexttextcat {}; + libf2c = callPackage ../development/libraries/libf2c {}; libfixposix = callPackage ../development/libraries/libfixposix {}; @@ -4125,7 +4208,7 @@ let libimobiledevice = callPackage ../development/libraries/libimobiledevice { }; libiodbc = callPackage ../development/libraries/libiodbc { - useGTK = getConfig [ "libiodbc" "gtk" ] false; + useGTK = config.libiodbc.gtk or false; }; liblastfmSF = callPackage ../development/libraries/liblastfmSF { }; @@ -4136,6 +4219,8 @@ let liblockfile = callPackage ../development/libraries/liblockfile { }; + libmcrypt = callPackage ../development/libraries/libmcrypt {}; + libmhash = callPackage ../development/libraries/libmhash {}; libmtp = callPackage ../development/libraries/libmtp { }; @@ -4150,6 +4235,9 @@ let libQGLViewer = callPackage ../development/libraries/libqglviewer { }; + libre = callPackage ../development/libraries/libre {}; + librem = callPackage ../development/libraries/librem {}; + libsamplerate = callPackage ../development/libraries/libsamplerate { }; libspectre = callPackage ../development/libraries/libspectre { }; @@ -4160,14 +4248,14 @@ let libiconv = callPackage ../development/libraries/libiconv { }; - libiconvOrEmpty = if (libiconvOrNull == null) then [] else [libiconv]; + libiconvOrEmpty = if libiconvOrNull == null then [] else [libiconv]; libiconvOrNull = - if ((gcc ? libc && (gcc.libc != null)) || stdenv.isGlibc) + if gcc.libc or null != null || stdenv.isGlibc then null else libiconv; - libiconvOrLibc = if (libiconvOrNull == null) then gcc.libc else libiconv; + libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv; libid3tag = callPackage ../development/libraries/libid3tag { }; @@ -4181,9 +4269,9 @@ let libiptcdata = callPackage ../development/libraries/libiptcdata { }; - libjpeg = callPackage ../development/libraries/libjpeg { }; - + libjpeg_original = callPackage ../development/libraries/libjpeg { }; libjpeg_turbo = callPackage ../development/libraries/libjpeg-turbo { }; + libjpeg = libjpeg_turbo; libjpeg62 = callPackage ../development/libraries/libjpeg/62.nix { libtool = libtool_1_5; @@ -4203,6 +4291,8 @@ let libmcs = callPackage ../development/libraries/libmcs { }; + libmemcached = callPackage ../development/libraries/libmemcached { }; + libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { }; libmikmod = callPackage ../development/libraries/libmikmod { }; @@ -4215,6 +4305,8 @@ let libmng = callPackage ../development/libraries/libmng { }; + libmnl = callPackage ../development/libraries/libmnl { }; + libmodplug = callPackage ../development/libraries/libmodplug {}; libmpcdec = callPackage ../development/libraries/libmpcdec { }; @@ -4233,6 +4325,10 @@ let libmusicbrainz = libmusicbrainz3; + libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { }; + + libnfnetlink = callPackage ../development/libraries/libnfnetlink { }; + libnih = callPackage ../development/libraries/libnih { }; libnova = callPackage ../development/libraries/libnova { }; @@ -4251,6 +4347,8 @@ let liboop = callPackage ../development/libraries/liboop { }; + libopus = callPackage ../development/libraries/libopus { }; + libosip = callPackage ../development/libraries/osip {}; libotr = callPackage ../development/libraries/libotr { }; @@ -4264,6 +4362,9 @@ let libpng = callPackage ../development/libraries/libpng { }; libpng_apng = callPackage ../development/libraries/libpng/libpng-apng.nix { }; libpng12 = callPackage ../development/libraries/libpng/12.nix { }; + libpng15 = callPackage ../development/libraries/libpng/15.nix { }; + + libpaper = callPackage ../development/libraries/libpaper { }; libproxy = callPackage ../development/libraries/libproxy { }; @@ -4318,22 +4419,26 @@ let libungif = callPackage ../development/libraries/giflib/libungif.nix { }; + libunique = callPackage ../development/libraries/libunique/default.nix { }; + libusb = callPackage ../development/libraries/libusb { }; libusb1 = callPackage ../development/libraries/libusb1 { }; libunwind = callPackage ../development/libraries/libunwind { }; - libv4l = v4l_utils.override { + libv4l = lowPrio (v4l_utils.override { withQt4 = false; - }; + }); libva = callPackage ../development/libraries/libva { }; - libvdpau = callPackage ../development/libraries/libvdpau { inherit (xlibs) libX11; }; + libvdpau = callPackage ../development/libraries/libvdpau { }; libvirt = callPackage ../development/libraries/libvirt { }; + libvisio = callPackage ../development/libraries/libvisio { }; + libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) { inherit libtool libjpeg openssl zlib; inherit (xlibs) xproto libX11 damageproto libXdamage @@ -4364,8 +4469,6 @@ let libx86 = builderDefsPackage ../development/libraries/libx86 {}; - libxcrypt = callPackage ../development/libraries/libxcrypt { }; - libxdg_basedir = callPackage ../development/libraries/libxdg-basedir { }; libxklavier = callPackage ../development/libraries/libxklavier { }; @@ -4376,14 +4479,16 @@ let pythonSupport = false; }; - libxml2Python = libxml2.override { + libxml2Python = lowPrio (libxml2.override { pythonSupport = true; - }; + }); libxmlxx = callPackage ../development/libraries/libxmlxx { }; libxslt = callPackage ../development/libraries/libxslt { }; + libxtc_dxtn = callPackage ../development/libraries/libxtc_dxtn { }; + libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii { inherit fetchurl stdenv; }); @@ -4403,13 +4508,14 @@ let liquidwar = builderDefsPackage ../games/liquidwar { inherit (xlibs) xproto libX11 libXrender; - inherit gmp mesa libjpeg libpng + inherit gmp mesa libjpeg expat gettext perl SDL SDL_image SDL_mixer SDL_ttf curl sqlite libogg libvorbis ; - guile = guile_1_8; + guile = guile_1_8; + libpng = libpng15; # 0.0.13 needs libpng 1.2--1.5 }; log4cxx = callPackage ../development/libraries/log4cxx { }; @@ -4420,16 +4526,17 @@ let lzo = callPackage ../development/libraries/lzo { }; + mdds = callPackage ../development/libraries/mdds { }; + # failed to build mediastreamer = callPackage ../development/libraries/mediastreamer { }; - mesaSupported = - system == "i686-linux" || - system == "x86_64-linux" || - system == "x86_64-darwin" || - system == "i686-darwin"; + mesaSupported = lib.elem system lib.platforms.mesaPlatforms; - mesa = callPackage ../development/libraries/mesa { }; + mesa_noglu = callPackage ../development/libraries/mesa { }; + mesa = if stdenv.isDarwin then darwinX11AndOpenGL + else callPackage ../development/libraries/mesa-glu { }; # mesa *with* GL/glu.h + darwinX11AndOpenGL = callPackage ../os-specific/darwin/native-x11-and-opengl { }; metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec { sdfLibrary = callPackage ../development/libraries/sdf-library { aterm = aterm28; }; @@ -4452,7 +4559,9 @@ let mkvtoolnix = callPackage ../applications/video/mkvtoolnix { }; - mlt = callPackage ../development/libraries/mlt { }; + mlt = callPackage ../development/libraries/mlt { + ffmpeg = ffmpeg_1_1; + }; libmpeg2 = callPackage ../development/libraries/libmpeg2 { }; @@ -4468,6 +4577,8 @@ let mtdev = callPackage ../development/libraries/mtdev { }; + mu = callPackage ../tools/networking/mu { }; + muparser = callPackage ../development/libraries/muparser { }; mygui = callPackage ../development/libraries/mygui {}; @@ -4476,6 +4587,8 @@ let mysocketw = callPackage ../development/libraries/mysocketw { }; + mythes = callPackage ../development/libraries/mythes { }; + ncurses = makeOverridable (import ../development/libraries/ncurses) { inherit fetchurl; unicode = system != "i686-cygwin"; @@ -4515,7 +4628,7 @@ let nspr = callPackage ../development/libraries/nspr { }; - nss = callPackage ../development/libraries/nss { }; + nss = lowPrio (callPackage ../development/libraries/nss { }); nssTools = callPackage ../development/libraries/nss { includeTools = true; @@ -4523,13 +4636,14 @@ let ntrack = callPackage ../development/libraries/ntrack { }; - ode = builderDefsPackage (import ../development/libraries/ode) { - }; + ode = builderDefsPackage (import ../development/libraries/ode) { }; ogre = callPackage ../development/libraries/ogre {}; ogrepaged = callPackage ../development/libraries/ogrepaged { }; + oniguruma = callPackage ../development/libraries/oniguruma { }; + openal = callPackage ../development/libraries/openal { }; # added because I hope that it has been easier to compile on x86 (for blender) @@ -4582,6 +4696,10 @@ let openssl = callPackage ../development/libraries/openssl { fetchurl = fetchurlBoot; + cryptodevHeaders = linuxPackages.cryptodev.override { + fetchurl = fetchurlBoot; + onlyHeaders = true; + }; }; ortp = callPackage ../development/libraries/ortp { }; @@ -4591,13 +4709,7 @@ let pangoxsl = callPackage ../development/libraries/pangoxsl { }; pcre = callPackage ../development/libraries/pcre { - unicodeSupport = getConfig ["pcre" "unicode"] true; - cplusplusSupport = !stdenv ? isDietLibC; - }; - - pcre_8_30 = callPackage ../development/libraries/pcre/8.30.nix { - unicodeSupport = getConfig ["pcre" "unicode"] true; - cplusplusSupport = !stdenv ? isDietLibC; + unicodeSupport = config.pcre.unicode or true; }; pdf2xml = callPackage ../development/libraries/pdf2xml {} ; @@ -4626,6 +4738,10 @@ let gtkSupport = true; qt4Support = false; }; + poppler_0_18 = callPackage ../development/libraries/poppler/0.18.nix { + gtkSupport = true; + qt4Support = false; + }; popplerQt4 = poppler.override { gtkSupport = false; @@ -4645,6 +4761,8 @@ let protobuf = callPackage ../development/libraries/protobuf { }; + protobufc = callPackage ../development/libraries/protobufc { }; + pth = callPackage ../development/libraries/pth { }; ptlib = callPackage ../development/libraries/ptlib {}; @@ -4665,22 +4783,13 @@ let qt4 = pkgs.kde4.qt4; - qt47 = callPackage ../development/libraries/qt-4.x/4.7 { }; - qt48 = callPackage ../development/libraries/qt-4.x/4.8 { # GNOME dependencies are not used unless gtkStyle == true inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; }; - qt4_for_skype = qt48.override { - mysql = null; - postgresql = null; - libtiff = null; - libmng = null; - cups = null; - flashplayerFix = false; - gstreamer = null; - gst_plugins_base = null; + qt4_for_qtcreator = qt48.override { + developerBuild = true; }; qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { }; @@ -4778,6 +4887,8 @@ let # optional }; + snappy = callPackage ../development/libraries/snappy { }; + sofia_sip = callPackage ../development/libraries/sofia-sip { }; soprano = callPackage ../development/libraries/soprano { }; @@ -4786,6 +4897,8 @@ let sord = callPackage ../development/libraries/sord {}; + spandsp = callPackage ../development/libraries/spandsp {}; + speechd = callPackage ../development/libraries/speechd { }; speech_tools = callPackage ../development/libraries/speech-tools {}; @@ -4794,6 +4907,14 @@ let sphinxbase = callPackage ../development/libraries/sphinxbase { }; + spice = callPackage ../development/libraries/spice { + celt = celt_0_5_1; + inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama; + inherit (pythonPackages) pyparsing; + }; + + spice_protocol = callPackage ../development/libraries/spice-protocol { }; + sratom = callPackage ../development/libraries/audio/sratom { }; srtp = callPackage ../development/libraries/srtp {}; @@ -4838,12 +4959,12 @@ let tclap = callPackage ../development/libraries/tclap {}; + tclgpg = callPackage ../development/libraries/tclgpg { }; + tcllib = callPackage ../development/libraries/tcllib { }; tcltls = callPackage ../development/libraries/tcltls { }; - tcp_wrappers = callPackage ../development/libraries/tcp-wrappers {}; - tdb = callPackage ../development/libraries/tdb { }; tecla = callPackage ../development/libraries/tecla { }; @@ -4854,6 +4975,10 @@ let telepathy_qt = callPackage ../development/libraries/telepathy/qt { }; + tinyxml = tinyxml2; + + tinyxml2 = callPackage ../development/libraries/tinyxml/2.6.2.nix { }; + tk = callPackage ../development/libraries/tk { }; tnt = callPackage ../development/libraries/tnt { }; @@ -4865,6 +4990,8 @@ let unicap = callPackage ../development/libraries/unicap {}; + tsocks = callPackage ../development/libraries/tsocks { }; + unixODBC = callPackage ../development/libraries/unixODBC { }; unixODBCDrivers = recurseIntoAttrs (import ../development/libraries/unixODBCDrivers { @@ -4878,6 +5005,10 @@ let ucommon = callPackage ../development/libraries/ucommon { }; + vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; + + vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { }; + vamp = callPackage ../development/libraries/audio/vamp { }; vcdimager = callPackage ../development/libraries/vcdimager { }; @@ -4894,10 +5025,14 @@ let vtk = callPackage ../development/libraries/vtk { }; + vtkWithQt4 = vtk.override { useQt4 = true; }; + vxl = callPackage ../development/libraries/vxl { libpng = libpng12; }; + wayland = callPackage ../development/libraries/wayland { }; + webkit = builderDefsPackage ../development/libraries/webkit { inherit (gnome) gtkdoc libsoup; @@ -4907,7 +5042,7 @@ let libjpeg libtiff libxml2 libxslt sqlite icu cairo intltool automake libtool pkgconfig autoconf bison libproxy enchant - python ruby which flex geoclue; + python ruby which flex geoclue mesa; inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good; inherit (xlibs) libXt renderproto libXrender kbproto; @@ -5012,19 +5147,18 @@ let fetchurl = fetchurlBoot; }; - zlibStatic = lowPrio (appendToName "static" (import ../development/libraries/zlib { - inherit fetchurl stdenv; + zlibStatic = lowPrio (appendToName "static" (callPackage ../development/libraries/zlib { static = true; })); - zeromq = callPackage ../development/libraries/zeromq {}; + zeromq2 = callPackage ../development/libraries/zeromq/2.x.nix {}; + zeromq3 = callPackage ../development/libraries/zeromq/3.x.nix {}; + ### DEVELOPMENT / LIBRARIES / JAVA - atermjava = callPackage ../development/libraries/java/aterm { stdenv = overrideInStdenv stdenv [gnumake380]; - }; commonsFileUpload = callPackage ../development/libraries/java/jakarta-commons/file-upload { }; @@ -5093,6 +5227,7 @@ let jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { }; + ### DEVELOPMENT / PERL MODULES buildPerlPackage = import ../development/perl-modules/generic perl; @@ -5121,6 +5256,10 @@ let pythonPackages = python27Packages; + # `nix-env -i python-nose` installs for 2.7, the default python. + # Therefore we do not recurse into attributes here, in contrast to + # python27Packages. `nix-env -iA python26Packages.nose` works + # regardless. python26Packages = import ./python-packages.nix { inherit pkgs; python = python26; @@ -5131,19 +5270,24 @@ let python = python27; }); + plone42Packages = recurseIntoAttrs (import ../development/web/plone { + inherit pkgs buildPythonPackage; + python = python27; + }); + foursuite = callPackage ../development/python-modules/4suite { }; bsddb3 = callPackage ../development/python-modules/bsddb3 { }; numeric = callPackage ../development/python-modules/numeric { }; - pil = callPackage ../development/python-modules/pil { }; + pil = pythonPackages.pil; psyco = callPackage ../development/python-modules/psyco { }; - pycairo = callPackage ../development/python-modules/pycairo { }; + pycairo = pythonPackages.pycairo; - pycrypto = callPackage ../development/python-modules/pycrypto { }; + pycrypto = pythonPackages.pycrypto; pycups = callPackage ../development/python-modules/pycups { }; @@ -5151,13 +5295,11 @@ let pygame = callPackage ../development/python-modules/pygame { }; - pygobject = callPackage ../development/python-modules/pygobject { }; + pygobject = pythonPackages.pygobject; - pygtk = callPackage ../development/python-modules/pygtk { }; + pygtk = pythonPackages.pygtk; - pyGtkGlade = callPackage ../development/python-modules/pygtk { - inherit (gnome) libglade; - }; + pyGtkGlade = pythonPackages.pyGtkGlade; pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) { inherit python openssl; @@ -5190,13 +5332,7 @@ let twisted = pythonPackages.twisted; - ZopeInterface = pythonPackages.zopeInterface; - - /* - zope = callPackage ../development/python-modules/zope { - python = python24; - }; - */ + ZopeInterface = pythonPackages.zope_interface; ### SERVERS @@ -5236,9 +5372,6 @@ let }; dovecot = callPackage ../servers/mail/dovecot { }; - dovecot_1_1_1 = callPackage ../servers/mail/dovecot/1.1.1.nix { }; - dovecot_2 = callPackage ../servers/mail/dovecot/2.x.nix { }; - dovecot_2_0 = pkgs.dovecot_2; # Actually, 2.1 ejabberd = callPackage ../servers/xmpp/ejabberd { }; @@ -5297,6 +5430,10 @@ let nginx = callPackage ../servers/http/nginx { }; + petidomo = callPackage ../servers/mail/petidomo { }; + + popa3d = callPackage ../servers/mail/popa3d { }; + postfix = callPackage ../servers/mail/postfix { }; pulseaudio = callPackage ../servers/pulseaudio { @@ -5319,8 +5456,7 @@ let #monetdb = callPackage ../servers/sql/monetdb { }; mongodb = callPackage ../servers/nosql/mongodb { - boost = boost149; - useV8 = (getConfig ["mongodb" "useV8"] false); + useV8 = (config.mongodb.useV8 or false); }; mysql4 = import ../servers/sql/mysql { @@ -5368,8 +5504,14 @@ let postgresql91 = callPackage ../servers/sql/postgresql/9.1.x.nix { }; + postgresql92 = callPackage ../servers/sql/postgresql/9.2.x.nix { }; + postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { }; + psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { + postgresql = postgresql91; + }; + pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) { inherit xmpppy pythonIRClib python makeWrapper; }; @@ -5382,28 +5524,34 @@ let radius = callPackage ../servers/radius { }; - redis = callPackage ../servers/nosql/redis { }; + redis = callPackage ../servers/nosql/redis { + stdenv = + if stdenv.isDarwin + then overrideGCC stdenv gccApple + else stdenv; + }; redstore = callPackage ../servers/http/redstore { }; + restund = callPackage ../servers/restund {}; + spamassassin = callPackage ../servers/mail/spamassassin { inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile - HTTPDate MailDKIM; + HTTPDate MailDKIM LWP IOSocketSSL; }; samba = callPackage ../servers/samba { }; # A lightweight Samba, useful for non-Linux-based OSes. - samba_light = callPackage ../servers/samba { + samba_light = lowPrio (callPackage ../servers/samba { pam = null; fam = null; cups = null; acl = null; openldap = null; - # libunwind 1.0.1 is not ported to GNU/Hurd. libunwind = null; - }; + }); shishi = callPackage ../servers/shishi { }; @@ -5434,7 +5582,7 @@ let inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig libxslt expat libdrm libpng zlib perl mesa xkeyboard_config dbus libuuid openssl gperf m4 - autoconf libtool xmlto asciidoc udev flex bison python; + autoconf libtool xmlto asciidoc udev flex bison python mtdev; automake = automake110x; }); @@ -5446,6 +5594,10 @@ let inherit fetchurl stdenv pkgconfig postgresql curl openssl zlib; }); + zabbix20 = recurseIntoAttrs (import ../servers/monitoring/zabbix/2.0.nix { + inherit fetchurl stdenv pkgconfig postgresql curl openssl zlib gettext; + }); + ### OS-SPECIFIC @@ -5474,6 +5626,7 @@ let alsaPluginWrapper = callPackage ../os-specific/linux/alsa-plugins/wrapper.nix { }; alsaUtils = callPackage ../os-specific/linux/alsa-utils { }; + alsaOss = callPackage ../os-specific/linux/alsa-oss { }; microcode2ucode = callPackage ../os-specific/linux/microcode/converter.nix { }; @@ -5519,10 +5672,7 @@ let dmtcp = callPackage ../os-specific/linux/dmtcp { }; - dietlibc = callPackage ../os-specific/linux/dietlibc { - # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works. - stdenv = if stdenv.system == "powerpc-linux" then overrideGCC stdenv gcc34 else stdenv; - }; + dietlibc = callPackage ../os-specific/linux/dietlibc { }; directvnc = builderDefsPackage ../os-specific/linux/directvnc { inherit libjpeg pkgconfig zlib directfb; @@ -5538,7 +5688,7 @@ let libuuid = if crossSystem != null && crossSystem.config == "i586-pc-gnu" then (utillinux // { - hostDrv = lib.overrideDerivation utillinux.hostDrv (args: { + crossDrv = lib.overrideDerivation utillinux.crossDrv (args: { # `libblkid' fails to build on GNU/Hurd. configureFlags = args.configureFlags + " --disable-libblkid --disable-mount --disable-libmount" @@ -5558,15 +5708,11 @@ let ebtables = callPackage ../os-specific/linux/ebtables { }; - eject = callPackage ../os-specific/linux/eject { }; + eject = utillinux; ffado = callPackage ../os-specific/linux/ffado { }; - fbterm = builderDefsPackage (import ../os-specific/linux/fbterm) { - inherit fontconfig gpm freetype pkgconfig ncurses; - }; - - fbtermStdenv = callPackage ../os-specific/linux/fbterm/stdenv.nix { }; + fbterm = callPackage ../os-specific/linux/fbterm { }; fuse = callPackage ../os-specific/linux/fuse { }; @@ -5574,14 +5720,6 @@ let gpm = callPackage ../servers/gpm { }; - hal = callPackage ../os-specific/linux/hal { }; - - halevt = callPackage ../os-specific/linux/hal/hal-evt.nix { }; - - hal_info = callPackage ../os-specific/linux/hal/info.nix { }; - - hal_info_synaptics = callPackage ../os-specific/linux/hal/synaptics.nix { }; - hdparm = callPackage ../os-specific/linux/hdparm { }; hibernate = callPackage ../os-specific/linux/hibernate { }; @@ -5617,6 +5755,8 @@ let iwlwifi1000ucode = callPackage ../os-specific/linux/firmware/iwlwifi-1000-ucode { }; + iwlwifi2030ucode = callPackage ../os-specific/linux/firmware/iwlwifi-2030-ucode { }; + iwlwifi3945ucode = callPackage ../os-specific/linux/firmware/iwlwifi-3945-ucode { }; iwlwifi4965ucodeV1 = callPackage ../os-specific/linux/firmware/iwlwifi-4965-ucode { }; @@ -5633,9 +5773,7 @@ let iwlwifi6000g2bucode = callPackage ../os-specific/linux/firmware/iwlwifi-6000g2b-ucode { }; - jujuutils = callPackage ../os-specific/linux/jujuutils { - linuxHeaders = linuxHeaders33; - }; + jujuutils = callPackage ../os-specific/linux/jujuutils { }; kbd = callPackage ../os-specific/linux/kbd { }; @@ -5649,27 +5787,25 @@ let libnl = callPackage ../os-specific/linux/libnl { }; - libnl2 = callPackage ../os-specific/linux/libnl/v2.nix { }; + linuxHeaders = linuxHeaders37; - libnl1 = callPackage ../os-specific/linux/libnl/v1.nix { }; + linuxConsoleTools = callPackage ../os-specific/linux/consoletools { }; - linuxHeaders = callPackage ../os-specific/linux/kernel-headers { }; + linuxHeaders37 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; - linuxHeaders33 = callPackage ../os-specific/linux/kernel-headers/3.3.5.nix { }; - - linuxHeaders26Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { + linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { inherit stdenv fetchurl perl; cross = assert crossSystem != null; crossSystem; }); - linuxHeaders24Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.4.nix { + linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { inherit stdenv fetchurl perl; cross = assert crossSystem != null; crossSystem; }); # We can choose: - linuxHeadersCrossChooser = ver : if (ver == "2.4") then linuxHeaders24Cross - else if (ver == "2.6") then linuxHeaders26Cross + linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross + else if ver == "2.6" then linuxHeaders26Cross else throw "Unknown linux kernel version"; linuxHeadersCross = assert crossSystem != null; @@ -5692,19 +5828,7 @@ let kernelPatches = [ kernelPatches.fbcondecor_2_6_31 kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs2_2_6_32 - kernelPatches.cifs_timeout_2_6_29 - kernelPatches.no_xsave - kernelPatches.dell_rfkill - ]; - }; - - linux_2_6_32_xen = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32-xen.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; - kernelPatches = - [ kernelPatches.fbcondecor_2_6_31 - kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs2_2_6_32 + # kernelPatches.aufs2_2_6_32 kernelPatches.cifs_timeout_2_6_29 kernelPatches.no_xsave kernelPatches.dell_rfkill @@ -5716,7 +5840,7 @@ let kernelPatches = [ kernelPatches.fbcondecor_2_6_35 kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs2_2_6_35 + # kernelPatches.aufs2_2_6_35 kernelPatches.cifs_timeout_2_6_35 ] ++ lib.optional (platform.kernelArch == "arm") kernelPatches.sheevaplug_modules_2_6_35; @@ -5738,17 +5862,7 @@ let kernelPatches = [ #kernelPatches.fbcondecor_2_6_38 kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs3_0 - #kernelPatches.aufs2_1_3_0 - ]; - }; - - linux_3_1 = makeOverridable (import ../os-specific/linux/kernel/linux-3.1.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; - kernelPatches = - [ #kernelPatches.fbcondecor_2_6_38 - kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs3_1 + # kernelPatches.aufs3_0 ]; }; @@ -5757,7 +5871,7 @@ let kernelPatches = [ #kernelPatches.fbcondecor_2_6_38 kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs3_2 + # kernelPatches.aufs3_2 kernelPatches.cifs_timeout_2_6_38 ]; }; @@ -5768,40 +5882,35 @@ let ''; }; - linux_3_3 = makeOverridable (import ../os-specific/linux/kernel/linux-3.3.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; - kernelPatches = - [ #kernelPatches.fbcondecor_2_6_38 - kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs3_3 - ]; - }; - linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; kernelPatches = [ #kernelPatches.fbcondecor_2_6_38 kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs3_4 + # kernelPatches.aufs3_4 ] ++ lib.optionals (platform.kernelArch == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill ]; }; - linux_3_5 = makeOverridable (import ../os-specific/linux/kernel/linux-3.5.nix) { + linux_3_7 = makeOverridable (import ../os-specific/linux/kernel/linux-3.7.nix) { inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 - kernelPatches.aufs3_5 - kernelPatches.perf3_5 + # kernelPatches.aufs3_7 ] ++ lib.optionals (platform.kernelArch == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 ]; }; + linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { + inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + }; + /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a specific kernel, we have a function that builds those packages @@ -5821,8 +5930,6 @@ let aufs = if kernel.features ? aufs2 then callPackage ../os-specific/linux/aufs/2.nix { } - else if kernel.features ? aufs2_1 then - callPackage ../os-specific/linux/aufs/2.1.nix { } else if kernel.features ? aufs3 then callPackage ../os-specific/linux/aufs/3.nix { } else null; @@ -5830,14 +5937,14 @@ let aufs_util = if kernel.features ? aufs2 then callPackage ../os-specific/linux/aufs-util/2.nix { } - else if kernel.features ? aufs2_1 then - callPackage ../os-specific/linux/aufs-util/2.1.nix { } else if kernel.features ? aufs3 then callPackage ../os-specific/linux/aufs-util/3.nix { } else null; blcr = callPackage ../os-specific/linux/blcr { }; + cryptodev = callPackage ../os-specific/linux/cryptodev { }; + e1000e = callPackage ../os-specific/linux/e1000e {}; exmap = callPackage ../os-specific/linux/exmap { }; @@ -5849,21 +5956,22 @@ let iwlwifi = callPackage ../os-specific/linux/iwlwifi { }; iwlwifi4965ucode = - (if (builtins.compareVersions kernel.version "2.6.27" == 0) - || (builtins.compareVersions kernel.version "2.6.27" == 1) - then iwlwifi4965ucodeV2 - else iwlwifi4965ucodeV1); + if (builtins.compareVersions kernel.version "2.6.27" == 0) + || (builtins.compareVersions kernel.version "2.6.27" == 1) + then iwlwifi4965ucodeV2 + else iwlwifi4965ucodeV1; atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { }; broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { }; - kernelHeaders = callPackage ../os-specific/linux/kernel-headers { }; + kernelHeaders = linuxHeaders; nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { }; nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { }; nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { }; + nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { }; openafsClient = callPackage ../servers/openafs-client { }; @@ -5887,12 +5995,10 @@ let */ ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { }; - ov511 = callPackage ../os-specific/linux/ov511 { - stdenv = overrideGCC stdenv gcc34; - }; - perf = callPackage ../os-specific/linux/kernel/perf.nix { }; + spl = callPackage ../os-specific/linux/spl/default.nix { }; + sysprof = callPackage ../development/tools/profiling/sysprof { inherit (gnome) libglade; }; @@ -5912,19 +6018,19 @@ let }; virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { }; + + zfs = callPackage ../os-specific/linux/zfs/default.nix { }; }; # Build the kernel modules for the some of the kernels. linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 pkgs.linuxPackages_2_6_32); - linuxPackages_2_6_32_xen = linuxPackagesFor linux_2_6_32_xen pkgs.linuxPackages_2_6_32_xen; linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 pkgs.linuxPackages_2_6_35); linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 pkgs.linuxPackages_3_0); - linuxPackages_3_1 = recurseIntoAttrs (linuxPackagesFor linux_3_1 pkgs.linuxPackages_3_1); linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 pkgs.linuxPackages_3_2); linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen pkgs.linuxPackages_3_2_xen); - linuxPackages_3_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_3 pkgs.linuxPackages_3_3); linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 pkgs.linuxPackages_3_4); - linuxPackages_3_5 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_5 pkgs.linuxPackages_3_5); + linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi pkgs.linuxPackages_3_6_rpi); + linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 pkgs.linuxPackages_3_7); # The current default kernel / kernel modules. linux = linuxPackages.kernel; @@ -5987,24 +6093,20 @@ let module_init_tools = callPackage ../os-specific/linux/module-init-tools { }; - mountall = callPackage ../os-specific/linux/mountall { - automake = automake111x; - }; + mountall = callPackage ../os-specific/linux/mountall { }; aggregateModules = modules: import ../os-specific/linux/module-init-tools/aggregator.nix { inherit stdenv module_init_tools modules buildEnv; }; - modutils = callPackage ../os-specific/linux/modutils { - stdenv = overrideGCC stdenv gcc34; - }; - multipath_tools = callPackage ../os-specific/linux/multipath-tools { }; nettools = callPackage ../os-specific/linux/net-tools { }; - neverball = callPackage ../games/neverball { }; + neverball = callPackage ../games/neverball { + libpng = libpng15; + }; numactl = callPackage ../os-specific/linux/numactl { }; @@ -6034,23 +6136,19 @@ let pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth { }; - pam_unix2 = callPackage ../os-specific/linux/pam_unix2 { }; - pam_usb = callPackage ../os-specific/linux/pam_usb { }; pcmciaUtils = callPackage ../os-specific/linux/pcmciautils { - firmware = getConfig ["pcmciaUtils" "firmware"] []; - config = getConfig ["pcmciaUtils" "config"] null; - }; - - phat = callPackage ../development/libraries/phat { - inherit (gnome) libgnomecanvas; + firmware = config.pcmciaUtils.firmware or []; + config = config.pcmciaUtils.config or null; }; pmount = callPackage ../os-specific/linux/pmount { }; pmutils = callPackage ../os-specific/linux/pm-utils { }; + pmtools = callPackage ../os-specific/linux/pmtools { }; + policycoreutils = callPackage ../os-specific/linux/policycoreutils { }; powertop = callPackage ../os-specific/linux/powertop { }; @@ -6059,7 +6157,7 @@ let procps = callPackage ../os-specific/linux/procps { }; - pwdutils = callPackage ../os-specific/linux/pwdutils { }; + "procps-ng" = callPackage ../os-specific/linux/procps-ng { }; qemu_kvm = callPackage ../os-specific/linux/qemu-kvm { }; @@ -6071,6 +6169,8 @@ let radeonR600 = callPackage ../os-specific/linux/firmware/radeon-r600 { }; radeonJuniper = callPackage ../os-specific/linux/firmware/radeon-juniper { }; + raspberrypifw = callPackage ../os-specific/linux/firmware/raspberrypi {}; + regionset = callPackage ../os-specific/linux/regionset { }; rfkill = callPackage ../os-specific/linux/rfkill { }; @@ -6118,7 +6218,7 @@ let }; # FIXME: `tcp-wrapper' is actually not OS-specific. - tcpWrapper = callPackage ../os-specific/linux/tcp-wrapper { }; + tcp_wrappers = callPackage ../os-specific/linux/tcp-wrappers { }; trackballs = callPackage ../games/trackballs { debug = false; @@ -6127,10 +6227,10 @@ let tunctl = callPackage ../os-specific/linux/tunctl { }; - ubootChooser = name : if (name == "upstream") then ubootUpstream - else if (name == "sheevaplug") then ubootSheevaplug - else if (name == "guruplug") then ubootGuruplug - else if (name == "nanonote") then ubootNanonote + ubootChooser = name : if name == "upstream" then ubootUpstream + else if name == "sheevaplug" then ubootSheevaplug + else if name == "guruplug" then ubootGuruplug + else if name == "nanonote" then ubootNanonote else throw "Unknown uboot"; ubootUpstream = callPackage ../misc/uboot { }; @@ -6143,27 +6243,18 @@ let uclibc = callPackage ../os-specific/linux/uclibc { }; - uclibcCross = callPackage ../os-specific/linux/uclibc { + uclibcCross = lowPrio (callPackage ../os-specific/linux/uclibc { inherit fetchurl stdenv libiconv; linuxHeaders = linuxHeadersCross; gccCross = gccCrossStageStatic; cross = assert crossSystem != null; crossSystem; - }; + }); udev145 = callPackage ../os-specific/linux/udev/145.nix { }; - udev173 = callPackage ../os-specific/linux/udev/173.nix { }; - udev = pkgs.udev173; + udev = pkgs.systemd; udisks = callPackage ../os-specific/linux/udisks { }; - uml = linux.override { - userModeLinux = true; - }; - - umlutilities = callPackage ../os-specific/linux/uml-utilities { - tunctl = true; mconsole = true; - }; - untie = callPackage ../os-specific/linux/untie { }; upower = callPackage ../os-specific/linux/upower { }; @@ -6239,7 +6330,6 @@ let wesnoth = callPackage ../games/wesnoth { lua = lua5; - boost = boost147; }; wirelesstools = callPackage ../os-specific/linux/wireless-tools { }; @@ -6282,8 +6372,7 @@ let anonymousPro = callPackage ../data/fonts/anonymous-pro {}; - arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) { - }; + arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) { }; bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { }; @@ -6347,7 +6436,7 @@ let liberation_ttf = callPackage ../data/fonts/redhat-liberation-fonts { }; libertine = builderDefsPackage (import ../data/fonts/libertine) { - inherit fontforge; + inherit fetchurl fontforge lib; }; lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {}; @@ -6398,6 +6487,8 @@ let ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { }; + tzdata = callPackage ../data/misc/tzdata { }; + ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { }; ucsFonts = callPackage ../data/fonts/ucs-fonts { }; @@ -6431,7 +6522,9 @@ let aangifte2011 = callPackage_i686 ../applications/taxes/aangifte-2011 { }; - abcde = callPackage ../applications/audio/abcde { }; + abcde = callPackage ../applications/audio/abcde { + inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID; + }; abiword = callPackage ../applications/office/abiword { inherit (gnome) libglade libgnomecanvas; @@ -6439,6 +6532,8 @@ let adobeReader = callPackage_i686 ../applications/misc/adobe-reader { }; + aewan = callPackage ../applications/editors/aewan { }; + amsn = callPackage ../applications/networking/instant-messengers/amsn { }; antiword = callPackage ../applications/office/antiword {}; @@ -6464,16 +6559,19 @@ let autopanosiftc = callPackage ../applications/graphics/autopanosiftc { }; - avidemux = callPackage ../applications/video/avidemux { - }; + avidemux = callPackage ../applications/video/avidemux { }; - avogadro = callPackage ../applications/science/chemistry/avogadro { }; + avogadro = callPackage ../applications/science/chemistry/avogadro { + eigen = eigen2; + }; awesome = callPackage ../applications/window-managers/awesome { lua = lua5; cairo = cairo.override { xcbSupport = true; }; }; + baresip = callPackage ../applications/networking/instant-messengers/baresip {}; + batik = callPackage ../applications/graphics/batik { }; bazaar = callPackage ../applications/version-management/bazaar { }; @@ -6500,9 +6598,11 @@ let }; blender = callPackage ../applications/misc/blender { - python = python32; + python = python33; # 2.65a doesn't accept lower }; + bristol = callPackage ../applications/audio/bristol { }; + bvi = callPackage ../applications/editors/bvi { }; calf = callPackage ../applications/audio/calf { @@ -6538,35 +6638,32 @@ let }; chromium = lowPrio (callPackage ../applications/networking/browsers/chromium { + channel = "stable"; gconf = gnome.GConf; + pulseSupport = config.pulseaudio or false; }); - chromeWrapper = wrapFirefox - { browser = chromium; browserName = chromium.packageName; desktopName = "Chromium"; - icon = "${chromium}/share/icons/hicolor/48x48/apps/${chromium.packageName}.png"; - }; + chromiumBeta = chromium.override { channel = "beta"; }; + chromiumBetaWrapper = wrapChromium chromiumBeta; + + chromiumDev = chromium.override { channel = "dev"; }; + chromiumDevWrapper = wrapChromium chromiumDev; + + chromiumWrapper = wrapChromium chromium; cinelerra = callPackage ../applications/video/cinelerra { }; cmus = callPackage ../applications/audio/cmus { }; - compiz = callPackage ../applications/window-managers/compiz/core.nix { }; - - compiz_ccsm = callPackage ../applications/window-managers/compiz/ccsm.nix { }; - - compizconfig_python = callPackage ../applications/window-managers/compiz/config-python.nix { }; + compiz = callPackage ../applications/window-managers/compiz { + inherit (gnome) GConf ORBit2; + }; coriander = callPackage ../applications/video/coriander { inherit (gnome) libgnomeui GConf; }; - libcompizconfig = callPackage ../applications/window-managers/compiz/libcompizconfig.nix { }; - - compiz_bcop = callPackage ../applications/window-managers/compiz/bcop.nix { }; - - compiz_plugins_main = callPackage ../applications/window-managers/compiz/plugins-main.nix { }; - - compiz_plugins_extra = callPackage ../applications/window-managers/compiz/plugins-extra.nix { }; + csound = callPackage ../applications/audio/csound { }; cinepaint = callPackage ../applications/graphics/cinepaint { fltk = fltk13; @@ -6584,7 +6681,7 @@ let cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) { inherit cmake patchelf; - imagemagick=imagemagick; + imagemagick = imagemagick; }; cvs = callPackage ../applications/version-management/cvs { }; @@ -6595,22 +6692,35 @@ let d4x = callPackage ../applications/misc/d4x { }; - darcs = haskellPackages.darcs; + darcs = haskellPackages.darcs.override { + # A variant of the Darcs derivation that containts only the executable and + # thus has no dependencies on other Haskell packages. + cabal = { mkDerivation = x: rec { final = haskellPackages.cabal.mkDerivation (self: (x final) // { + isLibrary = false; + configureFlags = "-f-library"; }); }.final; + }; + }; darktable = callPackage ../applications/graphics/darktable { inherit (gnome) GConf libglade; }; + "dd-agent" = callPackage ../tools/networking/dd-agent { }; + dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome) libart_lgpl libgnomeui; }; + distrho = callPackage ../applications/audio/distrho {}; + djvulibre = callPackage ../applications/misc/djvulibre { }; djview = callPackage ../applications/graphics/djview { }; djview4 = pkgs.djview; - dmenu = callPackage ../applications/misc/dmenu { }; + dmenu = callPackage ../applications/misc/dmenu { + enableXft = config.dmenu.enableXft or false; + }; dmtx = builderDefsPackage (import ../tools/graphics/dmtx) { inherit libpng libtiff libjpeg imagemagick librsvg @@ -6626,7 +6736,7 @@ let dvswitch = callPackage ../applications/video/dvswitch { }; dwm = callPackage ../applications/window-managers/dwm { - patches = getConfig [ "dwm" "patches" ] []; + patches = config.dwm.patches or []; }; eaglemode = callPackage ../applications/misc/eaglemode { }; @@ -6641,28 +6751,6 @@ let emacs = emacs24; - emacs22 = callPackage ../applications/editors/emacs-22 { - stdenv = - if stdenv.isDarwin - - /* On Darwin, use Apple-GCC, otherwise: - configure: error: C preprocessor "cc -E -no-cpp-precomp" fails sanity check */ - then overrideGCC stdenv gccApple - - /* Using cpp 4.5, we get: - - make[1]: Entering directory `/tmp/nix-build-dhbj8qqmqxwp3iw6sjcgafsrwlwrix1f-emacs-22.3.drv-0/emacs-22.3/lib-src' - Makefile:148: *** recipe commences before first target. Stop. - - Apparently, this is because `lib-src/Makefile' is generated by - processing `lib-src/Makefile.in' with cpp, and the escaping rules for - literal backslashes have changed. */ - else overrideGCC stdenv gcc44; - - xaw3dSupport = getConfig [ "emacs" "xaw3dSupport" ] false; - gtkGUI = getConfig [ "emacs" "gtkSupport" ] true; - }; - emacs23 = callPackage ../applications/editors/emacs-23 { stdenv = if stdenv.isDarwin @@ -6712,6 +6800,8 @@ let jabber = callPackage ../applications/editors/emacs-modes/jabber { }; + emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { }; + emacsSessionManagement = callPackage ../applications/editors/emacs-modes/session-management-for-emacs { }; emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { }; @@ -6722,6 +6812,8 @@ let gh = callPackage ../applications/editors/emacs-modes/gh { }; + graphvizDot = callPackage ../applications/editors/emacs-modes/graphviz-dot { }; + gist = callPackage ../applications/editors/emacs-modes/gist { }; jade = callPackage ../applications/editors/emacs-modes/jade { }; @@ -6752,12 +6844,12 @@ let notmuch = callPackage ../applications/networking/mailreaders/notmuch { }; - nxml = callPackage ../applications/editors/emacs-modes/nxml { }; - # This is usually a newer version of Org-Mode than that found in GNU Emacs, so # we want it to have higher precedence. org = hiPrio (callPackage ../applications/editors/emacs-modes/org { }); + org2blog = callPackage ../applications/editors/emacs-modes/org2blog { }; + pcache = callPackage ../applications/editors/emacs-modes/pcache { }; phpMode = callPackage ../applications/editors/emacs-modes/php { }; @@ -6766,8 +6858,8 @@ let proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral { texLive = pkgs.texLiveAggregationFun { - paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; - }; + paths = [ pkgs.texLive pkgs.texLiveCMSuper ]; + }; }; quack = callPackage ../applications/editors/emacs-modes/quack { }; @@ -6781,9 +6873,10 @@ let scalaMode = callPackage ../applications/editors/emacs-modes/scala-mode { }; sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { }; + + xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { }; }; - emacs22Packages = emacsPackages emacs22 pkgs.emacs22Packages; emacs23Packages = emacsPackages emacs23 pkgs.emacs23Packages; emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages); @@ -6809,6 +6902,7 @@ let evince = hiPrio (callPackage ../applications/misc/evince { inherit (gnome) gnomedocutils gnomeicontheme libgnome libgnomeui libglade scrollkeeper; + poppler = poppler_0_18; }); evolution_data_server = newScope (gnome) ../servers/evolution-data-server { }; @@ -6827,12 +6921,14 @@ let fossil = callPackage ../applications/version-management/fossil { }; + geany = callPackage ../applications/editors/geany { }; + goldendict = callPackage ../applications/misc/goldendict { }; grass = import ../applications/misc/grass { inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm libXaw libXrender; - inherit getConfig composableDerivation stdenv fetchurl + inherit config composableDerivation stdenv fetchurl lib flex bison cairo fontconfig gdal zlib ncurses gdbm proj pkgconfig swig blas liblapack libjpeg libpng mysql unixODBC mesa postgresql python @@ -6847,6 +6943,10 @@ let inherit (gnome) libgnome libgnomeui vte; }; + guitarix = callPackage ../applications/audio/guitarix { + fftw = fftwSinglePrec; + }; + wavesurfer = callPackage ../applications/misc/audio/wavesurfer { }; wireshark = callPackage ../applications/networking/sniffers/wireshark { }; @@ -6859,11 +6959,13 @@ let feh = callPackage ../applications/graphics/feh { }; + filezilla = callPackage ../applications/networking/ftp/filezilla { }; + firefox = pkgs.firefoxPkgs.firefox; firefoxWrapper = wrapFirefox { browser = pkgs.firefox; }; - firefoxPkgs = pkgs.firefox12Pkgs; + firefoxPkgs = pkgs.firefox18Pkgs; firefox36Pkgs = callPackage ../applications/networking/browsers/firefox/3.6.nix { inherit (gnome) libIDL; @@ -6871,35 +6973,27 @@ let firefox36Wrapper = wrapFirefox { browser = firefox36Pkgs.firefox; }; - firefox12Pkgs = callPackage ../applications/networking/browsers/firefox/12.0.nix { - inherit (gnome) libIDL; - }; - - firefox12Wrapper = wrapFirefox { browser = firefox12Pkgs.firefox; }; - firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix { inherit (gnome) libIDL; }; firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; }); - flac = callPackage ../applications/audio/flac { }; - - flashplayer = flashplayer11; - - flashplayer9 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-9 { }; - - flashplayer10 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-10 { - debug = getConfig ["flashplayer" "debug"] false; + firefox18Pkgs = callPackage ../applications/networking/browsers/firefox/18.0.nix { + inherit (gnome) libIDL; + inherit (pythonPackages) pysqlite; }; - flashplayer11 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 { - debug = getConfig ["flashplayer" "debug"] false; + firefox18Wrapper = lowPrio (wrapFirefox { browser = firefox18Pkgs.firefox; }); + + flac = callPackage ../applications/audio/flac { }; + + flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 { + debug = config.flashplayer.debug or false; # !!! Fix the dependency on two different builds of nss. }; freecad = callPackage ../applications/graphics/freecad { - boost = boost146; }; freemind = callPackage ../applications/misc/freemind { @@ -6916,6 +7010,10 @@ let freerdpUnstable = callPackage ../applications/networking/remote/freerdp/unstable.nix { }; + freicoin = callPackage ../applications/misc/freicoin { + db4 = db48; + }; + fspot = callPackage ../applications/graphics/f-spot { inherit (gnome) libgnome libgnomeui; gtksharp = gtksharp1; @@ -6929,6 +7027,7 @@ let gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix { inherit (gnome) libart_lgpl; + webkit = null; }; gimp = gimp_2_6; @@ -6943,21 +7042,20 @@ let git = gitAndTools.git; gitFull = gitAndTools.gitFull; gitSVN = gitAndTools.gitSVN; - tig = gitAndTools.tig; giv = callPackage ../applications/graphics/giv { pcre = pcre.override { unicodeSupport = true; }; }; + gmrun = callPackage ../applications/misc/gmrun {}; + gnucash = callPackage ../applications/office/gnucash { - inherit (gnome) libgnomeui libgtkhtml gtkhtml libbonoboui libgnomeprint; - gconf = gnome.GConf; + inherit (gnome2) libgnomeui libgtkhtml gtkhtml libbonoboui libgnomeprint libglade libart_lgpl; + gconf = gnome2.GConf; guile = guile_1_8; slibGuile = slibGuile.override { scheme = guile_1_8; }; }; - qcad = callPackage ../applications/misc/qcad { }; - libquvi = callPackage ../applications/video/quvi/library.nix { }; praat = callPackage ../applications/audio/praat { }; @@ -6982,14 +7080,14 @@ let }; gnumeric = callPackage ../applications/office/gnumeric { - goffice = goffice_0_9; + goffice = goffice_0_10; inherit (gnome) libglade scrollkeeper; }; gnunet08 = callPackage ../applications/networking/p2p/gnunet/0.8.nix { inherit (gnome) libglade; guile = guile_1_8; - gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true; + gtkSupport = config.gnunet.gtkSupport or true; }; gnunet = callPackage ../applications/networking/p2p/gnunet { }; @@ -7064,6 +7162,8 @@ let hello = callPackage ../applications/misc/hello/ex-2 { }; + hexedit = callPackage ../applications/editors/hexedit { }; + homebank = callPackage ../applications/office/homebank { }; htmldoc = callPackage ../applications/misc/htmldoc { @@ -7122,7 +7222,7 @@ let librsvg = null; }; - imagemagickBig = callPackage ../applications/graphics/ImageMagick { }; + imagemagickBig = lowPrio (callPackage ../applications/graphics/ImageMagick { }); # Impressive, formerly known as "KeyJNote". impressive = callPackage ../applications/office/impressive { @@ -7138,6 +7238,8 @@ let lua = lua5; }; + ipe = callPackage ../applications/graphics/ipe { }; + iptraf = callPackage ../applications/networking/iptraf { }; irssi = callPackage ../applications/networking/irc/irssi { }; @@ -7170,6 +7272,8 @@ let kermit = callPackage ../tools/misc/kermit { }; + keymon = callPackage ../applications/video/key-mon { }; + kino = callPackage ../applications/video/kino { inherit (gnome) libglade; }; @@ -7186,6 +7290,8 @@ let fftw = fftwSinglePrec; }; + lastwatch = callPackage ../applications/audio/lastwatch { }; + lci = callPackage ../applications/science/logic/lci {}; ldcpp = callPackage ../applications/networking/p2p/ldcpp { @@ -7194,7 +7300,9 @@ let librecad = callPackage ../applications/misc/librecad { }; - libreoffice = callPackage ../applications/office/openoffice/libreoffice.nix { + librecad2 = callPackage ../applications/misc/librecad/2.0.nix { }; + + libreoffice = callPackage ../applications/office/libreoffice { inherit (perlPackages) ArchiveZip CompressZlib; inherit (gnome) GConf ORBit2 gnome_vfs; zip = zip.override { enableNLS = false; }; @@ -7205,6 +7313,7 @@ let freefont_ttf xorg.fontmiscmisc xorg.fontbhttf ]; }; + poppler = poppler_0_18; }; lingot = callPackage ../applications/audio/lingot { @@ -7247,16 +7356,14 @@ let mercurial = callPackage ../applications/version-management/mercurial { inherit (pythonPackages) curses docutils; - guiSupport = false; # use mercurialFull to get hgk GUI + guiSupport = false; # use mercurialFull to get hgk GUI }; mercurialFull = lowPrio (appendToName "full" (pkgs.mercurial.override { guiSupport = true; })); merkaartor = callPackage ../applications/misc/merkaartor { }; - meshlab = callPackage ../applications/graphics/meshlab { - qt = qt47; - }; + meshlab = callPackage ../applications/graphics/meshlab { }; mhwaveedit = callPackage ../applications/audio/mhwaveedit {}; @@ -7297,6 +7404,7 @@ let monotone = callPackage ../applications/version-management/monotone { lua = lua5; + boost = boost149; }; monotoneViz = builderDefsPackage (import ../applications/version-management/monotone-viz/mtn-head.nix) { @@ -7326,7 +7434,13 @@ let ncmpcpp = callPackage ../applications/audio/ncmpcpp { }; - MPlayer = callPackage ../applications/video/MPlayer { }; + mplayer = callPackage ../applications/video/mplayer { + pulseSupport = config.pulseaudio or false; + }; + + mplayer2 = callPackage ../applications/video/mplayer2 { + ffmpeg = ffmpeg_1_1; + }; MPlayerPlugin = browser: import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in { @@ -7346,15 +7460,14 @@ let avahi = avahi.override { withLibdnssdCompat = true; }; - jackSupport = getConfig [ "mumble" "jackSupport" ] false; + jackSupport = config.mumble.jackSupport or false; }; mutt = callPackage ../applications/networking/mailreaders/mutt { }; msmtp = callPackage ../applications/networking/msmtp { }; - mupdf = callPackage ../applications/misc/mupdf { - }; + mupdf = callPackage ../applications/misc/mupdf { }; mythtv = callPackage ../applications/video/mythtv { }; @@ -7364,29 +7477,32 @@ let nano = callPackage ../applications/editors/nano { }; - navipowm = callPackage ../applications/misc/navipowm { - }; + navipowm = callPackage ../applications/misc/navipowm { }; navit = callPackage ../applications/misc/navit { }; + netbeans = callPackage ../applications/editors/netbeans { }; + ncdu = callPackage ../tools/misc/ncdu { }; nedit = callPackage ../applications/editors/nedit { - motif = lesstif; + motif = lesstif; }; netsurfBrowser = netsurf.browser; netsurf = recurseIntoAttrs (import ../applications/networking/browsers/netsurf { inherit pkgs; }); notmuch = callPackage ../applications/networking/mailreaders/notmuch { - # use emacsPackages.notmuch if you want emacs support - emacs = null; + # use emacsPackages.notmuch if you want emacs support + emacs = null; }; nova = callPackage ../applications/virtualization/nova { }; novaclient = callPackage ../applications/virtualization/nova/client.nix { }; + nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {}; + nvi = callPackage ../applications/editors/nvi { }; ocrad = callPackage ../applications/graphics/ocrad { }; @@ -7401,20 +7517,14 @@ let openjump = callPackage ../applications/misc/openjump { }; - openoffice = callPackage ../applications/office/openoffice { - inherit (perlPackages) ArchiveZip CompressZlib; - inherit (gnome) GConf ORBit2; - neon = neon029; - libwpd = libwpd_08; - zip = zip.override { enableNLS = false; }; - }; - openscad = callPackage ../applications/graphics/openscad {}; opera = callPackage ../applications/networking/browsers/opera { inherit (pkgs.kde4) kdelibs; }; + opusTools = callPackage ../applications/audio/opus-tools { }; + pan = callPackage ../applications/networking/newsreaders/pan { spellChecking = false; }; @@ -7435,10 +7545,14 @@ let pianobooster = callPackage ../applications/audio/pianobooster { }; + picard = callPackage ../applications/audio/picard { }; + + picocom = callPackage ../tools/misc/picocom { }; + pidgin = callPackage ../applications/networking/instant-messengers/pidgin { - openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null; - gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null; - libgcrypt = if (getConfig ["pidgin" "gnutls"] false) then libgcrypt else null; + openssl = if config.pidgin.openssl or true then openssl else null; + gnutls = if config.pidgin.gnutls or false then gnutls else null; + libgcrypt = if config.pidgin.gnutls or false then libgcrypt else null; inherit (gnome) startupnotification; }; @@ -7470,6 +7584,8 @@ let pqiv = callPackage ../applications/graphics/pqiv { }; + qiv = callPackage ../applications/graphics/qiv { }; + # perhaps there are better apps for this task? It's how I had configured my preivous system. # And I don't want to rewrite all rules procmail = callPackage ../applications/misc/procmail { }; @@ -7480,13 +7596,7 @@ let pythonmagick = callPackage ../applications/graphics/PythonMagick { }; - qemu = callPackage ../applications/virtualization/qemu/0.15.nix { }; - - qemu_1_0 = callPackage ../applications/virtualization/qemu/1.0.nix { }; - - qemu_0_13 = callPackage ../applications/virtualization/qemu/0.13.nix { }; - - qemuSVN = callPackage ../applications/virtualization/qemu/svn-6642.nix { }; + qemu = callPackage ../applications/virtualization/qemu { }; qemuImage = callPackage ../applications/virtualization/qemu/linux-img { }; @@ -7494,6 +7604,8 @@ let qsynth = callPackage ../applications/audio/qsynth { }; + qtcreator = callPackage ../development/qtcreator { }; + qtpfsgui = callPackage ../applications/graphics/qtpfsgui { }; qtractor = callPackage ../applications/audio/qtractor { }; @@ -7515,10 +7627,6 @@ let rdesktop = callPackage ../applications/networking/remote/rdesktop { }; - RealPlayer = callPackage_i686 ../applications/video/RealPlayer { - libstdcpp5 = gcc33.gcc; - }; - recode = callPackage ../tools/text/recode { }; retroshare = callPackage ../applications/networking/p2p/retroshare { @@ -7527,7 +7635,7 @@ let rsync = callPackage ../applications/networking/sync/rsync { enableACLs = !(stdenv.isDarwin || stdenv.isSunOS); - enableCopyDevicesPatch = (getConfig ["rsync" "enableCopyDevicesPatch"] false); + enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false); }; rxvt = callPackage ../applications/misc/rxvt { }; @@ -7559,8 +7667,8 @@ let siproxd = callPackage ../applications/networking/siproxd { }; - skype_linux = callPackage_i686 ../applications/networking/instant-messengers/skype { - usePulseAudio = getConfig [ "pulseaudio" ] false; # disabled by default (the 100% cpu bug) + skype = callPackage_i686 ../applications/networking/instant-messengers/skype { + usePulseAudio = config.pulseaudio or true; }; st = callPackage ../applications/misc/st { }; @@ -7591,6 +7699,10 @@ let spotify = callPackage ../applications/audio/spotify { }; + libspotify = callPackage ../development/libraries/libspotify { + apiKey = config.libspotify.apiKey or null; + }; + stalonetray = callPackage ../applications/window-managers/stalonetray {}; stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) { @@ -7598,6 +7710,8 @@ let clisp = clisp_2_44_1; }; + sublime = callPackage ../applications/editors/sublime { }; + subversion = callPackage ../applications/version-management/subversion/default.nix { neon = pkgs.neon029; bdbSupport = true; @@ -7626,6 +7740,8 @@ let svk = perlPackages.SVK; + swh_lv2 = callPackage ../applications/audio/swh-lv2 { }; + sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { sslSupport = true; gpgSupport = true; @@ -7652,11 +7768,7 @@ let teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; - taskjuggler = callPackage ../applications/misc/taskjuggler { - # KDE support is not working yet. - inherit (kde3) kdelibs kdebase; - withKde = getConfig [ "taskJuggler" "kde" ] false; - }; + taskjuggler = callPackage ../applications/misc/taskjuggler { }; taskwarrior = callPackage ../applications/misc/taskwarrior { }; @@ -7678,10 +7790,12 @@ let thinkingRock = callPackage ../applications/misc/thinking-rock { }; - thunderbird = callPackage ../applications/networking/mailreaders/thunderbird/11.x.nix { + thunderbird = callPackage ../applications/networking/mailreaders/thunderbird { inherit (gnome) libIDL; }; + tig = gitAndTools.tig; + timidity = callPackage ../tools/misc/timidity { }; tkcvs = callPackage ../applications/version-management/tkcvs { }; @@ -7707,9 +7821,11 @@ let libzrtpcpp = libzrtpcpp_1_6; }; + umurmur = callPackage ../applications/networking/umurmur { }; + unison = callPackage ../applications/networking/sync/unison { inherit (ocamlPackages) lablgtk; - enableX11 = getConfig [ "unison" "enableX11" ] true; + enableX11 = config.unison.enableX11 or true; }; uucp = callPackage ../tools/misc/uucp { }; @@ -7717,12 +7833,15 @@ let uwimap = callPackage ../tools/networking/uwimap { }; uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) { - inherit pkgconfig webkit makeWrapper glib_networking; - inherit gtk3 glib; + inherit pkgconfig webkit makeWrapper glib_networking python3; + inherit glib pango cairo gdk_pixbuf atk; inherit (xlibs) libX11 kbproto; inherit (gnome) libsoup; + gtk = gtk3; }; + vbindiff = callPackage ../applications/editors/vbindiff { }; + vdpauinfo = callPackage ../tools/X11/vdpauinfo { }; veracity = callPackage ../applications/version-management/veracity {}; @@ -7739,21 +7858,17 @@ let vimHugeX = vim_configurable; vim_configurable = import ../applications/editors/vim/configurable.nix { - inherit (pkgs) fetchurl stdenv ncurses pkgconfig gettext composableDerivation lib - getConfig; - inherit (pkgs.xlibs) libX11 libXext libSM libXpm - libXt libXaw libXau libXmu libICE; + inherit (pkgs) fetchurl stdenv ncurses pkgconfig gettext composableDerivation lib config; + inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu libICE; inherit (pkgs) glib gtk; features = "huge"; # one of tiny, small, normal, big or huge # optional features by passing # python # TODO mzschemeinterp perlinterp inherit (pkgs) python perl tcl ruby /*x11*/; - lua = pkgs.lua5; - # optional features by flags - flags = [ "X11" ]; # only flag "X11" by now + flags = [ "python" "X11" ]; # only flag "X11" by now }; virtviewer = callPackage ../applications/virtualization/virt-viewer {}; @@ -7771,7 +7886,9 @@ let inherit (xlibs) libX11; }; - vlc = callPackage ../applications/video/vlc { }; + vlc = callPackage ../applications/video/vlc { + ffmpeg = ffmpeg_1_1; + }; vnstat = callPackage ../applications/networking/vnstat { }; @@ -7789,6 +7906,8 @@ let wings = callPackage ../applications/graphics/wings { }; + wmname = callPackage ../applications/misc/wmname { }; + # I'm keen on wmiimenu only >wmii-3.5 no longer has it... wmiimenu = import ../applications/window-managers/wmii31 { libixp = libixp_for_wmii; @@ -7800,35 +7919,41 @@ let libixp = libixp_for_wmii; inherit fetchurl /* fetchhg */ stdenv gawk; inherit (xlibs) libX11 xextproto libXt libXext; - includeUnpack = getConfig ["stdenv" "includeUnpack"] false; + includeUnpack = config.stdenv.includeUnpack or false; }; wordnet = callPackage ../applications/misc/wordnet { }; + wrapChromium = browser: wrapFirefox { + inherit browser; + browserName = browser.packageName; + desktopName = "Chromium"; + icon = "${browser}/share/icons/hicolor/48x48/apps/${browser.packageName}.png"; + }; + wrapFirefox = { browser, browserName ? "firefox", desktopName ? "Firefox", nameSuffix ? "" , icon ? "${browser}/lib/${browser.name}/icons/mozicon128.png" }: + let + cfg = stdenv.lib.attrByPath [ browserName ] {} config; + enableAdobeFlash = cfg.enableAdobeFlash or true; + enableGnash = cfg.enableGnash or false; + in import ../applications/networking/browsers/firefox/wrapper.nix { inherit stdenv makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon; plugins = - let - enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true; - enableGnash = getConfig [ browserName "enableGnash" ] false; - in assert !(enableGnash && enableAdobeFlash); ([ ] ++ lib.optional enableGnash gnash ++ lib.optional enableAdobeFlash flashplayer - # RealPlayer is disabled by default for legal reasons. - ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer - ++ lib.optional (getConfig [browserName "enableDjvu"] false) (djview4) - ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser) - ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer - ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin - ++ lib.optional (getConfig [browserName "enableGoogleTalkPlugin"] false) google_talk_plugin + ++ lib.optional (cfg.enableDjvu or false) (djview4) + ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser) + ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer + ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin + ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin ); libs = - if getConfig [ browserName "enableQuakeLive" ] false + if cfg.enableQuakeLive or false then with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ] else [ ]; }; @@ -7849,6 +7974,10 @@ let xbindkeys = callPackage ../tools/X11/xbindkeys { }; + xbmc = callPackage ../applications/video/xbmc { }; + + xcalib = callPackage ../tools/X11/xcalib { }; + xchat = callPackage ../applications/networking/irc/xchat { }; xchm = callPackage ../applications/misc/xchm { }; @@ -7865,9 +7994,9 @@ let xen = callPackage ../applications/virtualization/xen { }; - xfig = callPackage ../applications/graphics/xfig { - stdenv = overrideGCC stdenv gcc34; - }; + xfe = callPackage ../applications/misc/xfe { }; + + xfig = callPackage ../applications/graphics/xfig { }; xineUI = callPackage ../applications/video/xine-ui { }; @@ -7890,8 +8019,9 @@ let base14Fonts = "${ghostscript}/share/ghostscript/fonts"; }; - libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix { - }; + xkb_switch = callPackage ../tools/X11/xkb-switch { }; + + libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix { }; xpra = callPackage ../tools/X11/xpra { inherit (pythonPackages) notify; @@ -7930,7 +8060,13 @@ let fltk = fltk13; }; - zathura = callPackage ../applications/misc/zathura { }; + zathuraCollection = recurseIntoAttrs + (let callPackage = newScope pkgs.zathuraCollection; in + import ../applications/misc/zathura { inherit callPackage pkgs; }); + + zathura = zathuraCollection.zathuraWrapper; + + girara = callPackage ../applications/misc/girara { }; zgrviewer = callPackage ../applications/graphics/zgrviewer {}; @@ -7942,6 +8078,8 @@ let andyetitmoves = if stdenv.isLinux then callPackage ../games/andyetitmoves {} else null; + anki = callPackage ../games/anki { }; + asc = callPackage ../games/asc { lua = lua5; libsigcxx = libsigcxx12; @@ -7971,10 +8109,10 @@ let castle_combat = callPackage ../games/castle-combat { }; - construoBase = callPackage ../games/construo { + construoBase = lowPrio (callPackage ../games/construo { mesa = null; freeglut = null; - }; + }); construo = construoBase.override { inherit mesa freeglut; @@ -7995,13 +8133,6 @@ let libpng = libpng12; }; - /* - exultSnapshot = lowPrio (import ../games/exult/snapshot.nix { - inherit fetchurl stdenv SDL SDL_mixer zlib libpng unzip - autoconf automake libtool flex bison; - }); - */ - flightgear = callPackage ../games/flightgear {}; freeciv = callPackage ../games/freeciv { }; @@ -8026,9 +8157,10 @@ let gnugo = callPackage ../games/gnugo { }; - gparted = callPackage ../tools/misc/gparted { - parted = parted_2_3; - inherit (gnome) gnomedocutils; + gparted = callPackage ../tools/misc/gparted { }; + + gsmartcontrol = callPackage ../tools/misc/gsmartcontrol { + inherit (gnome) libglademm; }; gtypist = callPackage ../games/gtypist { }; @@ -8049,6 +8181,8 @@ let inherit libpng zlib; }; + lincity_ng = callPackage ../games/lincity/ng.nix {}; + mars = callPackage ../games/mars { }; micropolis = callPackage ../games/micropolis { }; @@ -8065,6 +8199,8 @@ let opentyrian = callPackage ../games/opentyrian { }; + pingus = callPackage ../games/pingus {}; + pioneers = callPackage ../games/pioneers { }; pong3d = callPackage ../games/pong3d { }; @@ -8088,14 +8224,17 @@ let mygui = myguiSvn; }; + rili = callPackage ../games/rili { }; + rogue = callPackage ../games/rogue { }; sauerbraten = callPackage ../games/sauerbraten {}; + scid = callPackage ../games/scid { }; + scummvm = callPackage ../games/scummvm { }; - scorched3d = callPackage ../games/scorched3d { - }; + scorched3d = callPackage ../games/scorched3d { }; sgtpuzzles = builderDefsPackage (import ../games/sgt-puzzles) { inherit pkgconfig fetchsvn perl gtk; @@ -8104,16 +8243,12 @@ let simutrans = callPackage ../games/simutrans { }; - six = callPackage ../games/six { - inherit (kde3) arts kdelibs; - }; - soi = callPackage ../games/soi {}; # You still can override by passing more arguments. spaceOrbit = callPackage ../games/orbit { }; - spring = callPackage ../games/spring { }; + spring = callPackage ../games/spring { boost = boost149;}; springLobby = callPackage ../games/spring/springlobby.nix { }; @@ -8123,12 +8258,7 @@ let superTux = callPackage ../games/super-tux { }; - superTuxKart = callPackage ../games/super-tux-kart { - /* With GNU Make 3.82, the build process is stuck in the `data' - directory, after displaying "Making all in tracks", and `pstree' - indicates that `make' doesn't launch any new process. */ - stdenv = overrideInStdenv stdenv [ gnumake381 ]; - }; + superTuxKart = callPackage ../games/super-tux-kart { }; tbe = callPackage ../games/the-butterfly-effect {}; @@ -8145,22 +8275,19 @@ let speed_dreams = callPackage ../games/speed-dreams { # Torcs wants to make shared libraries linked with plib libraries (it provides static). # i686 is the only platform I know than can do that linking without plib built with -fPIC - plib = plib.override { enablePIC = if stdenv.isi686 then false else true; }; + plib = plib.override { enablePIC = !stdenv.isi686; }; libpng = libpng12; }; torcs = callPackage ../games/torcs { # Torcs wants to make shared libraries linked with plib libraries (it provides static). # i686 is the only platform I know than can do that linking without plib built with -fPIC - plib = plib.override { enablePIC = if stdenv.isi686 then false else true; }; + plib = plib.override { enablePIC = !stdenv.isi686; }; }; trigger = callPackage ../games/trigger { }; - ufoai = callPackage ../games/ufoai { - inherit (gnome) gtksourceview gtkglext; - libpng = libpng12; - }; + ufoai = callPackage ../games/ufoai { }; ultimatestunts = callPackage ../games/ultimatestunts { }; @@ -8168,6 +8295,8 @@ let lua = lua5; }; + uqm = callPackage ../games/uqm { }; + urbanterror = callPackage ../games/urbanterror { }; ut2004demo = callPackage ../games/ut2004demo { }; @@ -8176,6 +8305,8 @@ let vectoroids = callPackage ../games/vectoroids { }; + vessel = callPackage_i686 ../games/vessel { }; + warmux = callPackage ../games/warmux { }; warsow = callPackage ../games/warsow { @@ -8188,12 +8319,14 @@ let libpng = libpng12; }; - xboard = builderDefsPackage (import ../games/xboard) { - inherit (xlibs) libX11 xproto libXt libXaw libSM - libICE libXmu libXext libXpm; - inherit gnuchess texinfo; + worldofgoo_demo = callPackage ../games/worldofgoo { + demo = true; }; + worldofgoo = callPackage ../games/worldofgoo { }; + + xboard = callPackage ../games/xboard { }; + xconq = callPackage ../games/xconq {}; # TODO: the corresponding nix file is missing @@ -8219,10 +8352,10 @@ let enlightenment = callPackage ../desktops/enlightenment { }; - # e17 = recurseIntoAttrs ( - # let callPackage = newScope pkgs.e17; in - # import ../desktops/e17 { inherit callPackage pkgs; } - # ); + e17 = recurseIntoAttrs ( + let callPackage = newScope pkgs.e17; in + import ../desktops/e17 { inherit callPackage pkgs; } + ); gnome2 = callPackage ../desktops/gnome-2 { callPackage = pkgs.newScope pkgs.gnome2; @@ -8239,29 +8372,23 @@ let gnome = recurseIntoAttrs gnome2; - kde3 = recurseIntoAttrs { - - kdelibs = callPackage ../desktops/kde-3/kdelibs { - stdenv = overrideGCC stdenv gcc43; - }; - - arts = callPackage ../development/libraries/arts { - inherit (pkgs.kde3) kdelibs; - }; - - }; - kde4 = recurseIntoAttrs pkgs.kde47; - kde47 = kdePackagesFor pkgs.kde47 "4.7"; + kde47 = kdePackagesFor (pkgs.kde47 // { + boost = boost149; + eigen = eigen2; + }) ../desktops/kde-4.7; - kde48 = kdePackagesFor pkgs.kde48 "4.8"; + kde48 = kdePackagesFor (pkgs.kde48 // { + boost = boost149; + eigen = eigen2; + }) ../desktops/kde-4.8; - kdePackagesFor = self: version: + kdePackagesFor = self: dir: let callPackageOrig = callPackage; in let callPackage = newScope self; - kde4 = callPackageOrig (../desktops/kde- + version) { + kde4 = callPackageOrig dir { inherit callPackage callPackageOrig; }; in kde4 // { @@ -8281,9 +8408,7 @@ let calligra = callPackage ../applications/office/calligra { }; - digikam = callPackage ../applications/graphics/digikam { - boost = boost147; - }; + digikam = callPackage ../applications/graphics/digikam { }; k3b = callPackage ../applications/misc/k3b { }; @@ -8383,19 +8508,18 @@ let oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { }; - xfce = xfce48; - - xfce46 = recurseIntoAttrs - (let callPackage = newScope pkgs.xfce46; in - import ../desktops/xfce-4.6 { inherit callPackage pkgs; }); - - xfce48 = recurseIntoAttrs - (let callPackage = newScope pkgs.xfce48; in - import ../desktops/xfce-4.8 { inherit callPackage pkgs; }); - + xfce = xfce4_10; + xfce4_08 = recurseIntoAttrs (import ../desktops/xfce/4_08.nix { inherit pkgs newScope; }); + xfce4_10 = recurseIntoAttrs (import ../desktops/xfce/4_10.nix { inherit pkgs newScope; }); ### SCIENCE + celestia = callPackage ../applications/science/astronomy/celestia { + lua = lua5_1; + inherit (xlibs) libXmu; + inherit (pkgs.gnome) gtkglext; + }; + xplanet = callPackage ../applications/science/astronomy/xplanet { }; gravit = callPackage ../applications/science/astronomy/gravit { }; @@ -8442,8 +8566,6 @@ let paml = callPackage ../applications/science/biology/paml { }; - /* slr = callPackage ../applications/science/biology/slr { }; */ - pal2nal = callPackage ../applications/science/biology/pal2nal { }; @@ -8471,6 +8593,21 @@ let openblas = callPackage ../development/libraries/science/math/openblas { }; + + ### SCIENCE/MOLECULAR-DYNAMICS + + gromacs = callPackage ../applications/science/molecular-dynamics/gromacs { + singlePrec = true; + fftw = fftwSinglePrec; + cmake = cmakeCurses; + }; + + gromacsDouble = lowPrio (callPackage ../applications/science/molecular-dynamics/gromacs { + singlePrec = false; + fftw = fftw; + cmake = cmakeCurses; + }); + ### SCIENCE/LOGIC coq = callPackage ../applications/science/logic/coq { @@ -8485,7 +8622,7 @@ let cvc3 = callPackage ../applications/science/logic/cvc3 {}; - eprover = callPackage ../applications/science/logic/eProver { + eprover = callPackage ../applications/science/logic/eprover { texLive = texLiveAggregationFun { paths = [ texLive texLiveExtra @@ -8511,6 +8648,8 @@ let leo2 = callPackage ../applications/science/logic/leo2 {}; + logisim = callPackage ../applications/science/logic/logisim {}; + matita = callPackage ../applications/science/logic/matita { ocaml = ocaml_3_11_2; inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http @@ -8536,7 +8675,6 @@ let spass = callPackage ../applications/science/logic/spass {}; ssreflect = callPackage ../applications/science/logic/ssreflect { - coq = coq_8_3; camlp5 = ocamlPackages.camlp5_transitional; }; @@ -8637,18 +8775,17 @@ let foomatic_filters = callPackage ../misc/drivers/foomatic-filters {}; - freestyle = callPackage ../misc/freestyle { - #stdenv = overrideGCC stdenv gcc41; - }; + freestyle = callPackage ../misc/freestyle { }; gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) { inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy - docutils gtk; + docutils gtk farstream gst_plugins_bad gstreamer gst_ffmpeg gst_python; dbus = dbus.libs; inherit (gnome) libglade; inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11 scrnsaverproto; + inherit (pythonPackages) pyasn1; python = pythonFull; }; @@ -8656,8 +8793,8 @@ let ghostscript = callPackage ../misc/ghostscript { x11Support = false; - cupsSupport = getConfig [ "ghostscript" "cups" ] true; - gnuFork = getConfig [ "ghostscript" "gnu" ] false; + cupsSupport = config.ghostscript.cups or true; + gnuFork = config.ghostscript.gnu or false; }; ghostscriptX = appendToName "with-X" (ghostscript.override { @@ -8693,39 +8830,27 @@ let nix = nixStable; nixStable = callPackage ../tools/package-management/nix { - storeDir = getConfig [ "nix" "storeDir" ] "/nix/store"; - stateDir = getConfig [ "nix" "stateDir" ] "/nix/var"; + storeDir = config.nix.storeDir or "/nix/store"; + stateDir = config.nix.stateDir or "/nix/var"; }; nixUnstable = callPackage ../tools/package-management/nix/unstable.nix { - storeDir = getConfig [ "nix" "storeDir" ] "/nix/store"; - stateDir = getConfig [ "nix" "stateDir" ] "/nix/var"; + storeDir = config.nix.storeDir or "/nix/store"; + stateDir = config.nix.stateDir or "/nix/var"; }; - nixCustomFun = src: preConfigure: enableScripts: configureFlags: - import ../tools/package-management/nix/custom.nix { - inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake - autoconf libtool configureFlags enableScripts lib libxml2 boehmgc - pkgconfig flex bison sqlite perlPackages; - aterm = aterm25; - db4 = db45; - inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m; - }; - nut = callPackage ../applications/misc/nut { }; - nut_2_6_3 = callPackage ../applications/misc/nut/2.6.3.nix { }; - disnix = callPackage ../tools/package-management/disnix { }; disnix_activation_scripts = callPackage ../tools/package-management/disnix/activation-scripts { - enableApacheWebApplication = getConfig ["disnix" "enableApacheWebApplication"] false; - enableAxis2WebService = getConfig ["disnix" "enableAxis2WebService"] false; - enableEjabberdDump = getConfig ["disnix" "enableEjabberdDump"] false; - enableMySQLDatabase = getConfig ["disnix" "enableMySQLDatabase"] false; - enablePostgreSQLDatabase = getConfig ["disnix" "enablePostgreSQLDatabase"] false; - enableSubversionRepository = getConfig ["disnix" "enableSubversionRepository"] false; - enableTomcatWebApplication = getConfig ["disnix" "enableTomcatWebApplication"] false; + enableApacheWebApplication = config.disnix.enableApacheWebApplication or false; + enableAxis2WebService = config.disnix.enableAxis2WebService or false; + enableEjabberdDump = config.disnix.enableEjabberdDump or false; + enableMySQLDatabase = config.disnix.enableMySQLDatabase or false; + enablePostgreSQLDatabase = config.disnix.enablePostgreSQLDatabase or false; + enableSubversionRepository = config.disnix.enableSubversionRepository or false; + enableTomcatWebApplication = config.disnix.enableTomcatWebApplication or false; }; disnixos = callPackage ../tools/package-management/disnix/disnixos { }; @@ -8769,16 +8894,26 @@ let xlockmore = callPackage ../misc/screensavers/xlockmore { }; - saneBackends = callPackage ../misc/sane-backends { - gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null; - hotplugSupport = getConfig ["sane" "hotplugSupport"] true; + samsungUnifiedLinuxDriver = import ../misc/cups/drivers/samsung { + inherit fetchurl stdenv; + inherit cups ghostscript glibc patchelf; + gcc = import ../development/compilers/gcc/4.4 { + inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gettext which; + profiledCompiler = true; + }; }; - saneBackendsSnapshot = callPackage ../misc/sane-backends/snapshot.nix { - gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null; + saneBackends = callPackage ../applications/graphics/sane/backends.nix { + gt68xxFirmware = config.sane.gt68xxFirmware or null; + hotplugSupport = config.sane.hotplugSupport or true; }; - saneFrontends = callPackage ../misc/sane-front { }; + saneBackendsGit = callPackage ../applications/graphics/sane/backends-git.nix { + gt68xxFirmware = config.sane.gt68xxFirmware or null; + hotplugSupport = config.sane.hotplugSupport or true; + }; + + saneFrontends = callPackage ../applications/graphics/sane/frontends.nix { }; slock = callPackage ../misc/screensavers/slock { }; @@ -8807,7 +8942,7 @@ let texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun { paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor - texLivePGF texLiveBeamer texLiveModerncv tipa ]; + texLivePGF texLiveBeamer texLiveModerncv tipa tex4ht ]; }); /* Look in configurations/misc/raskin.nix for usage example (around revisions @@ -8871,14 +9006,19 @@ let # Wine cannot be built in 64-bit; use a 32-bit build instead. wine = callPackage_i686 ../misc/emulators/wine { }; - wineWarcraft = callPackage_i686 ../misc/emulators/wine/wine-warcraft.nix { }; + # winetricks is a shell script with no binary components. Safe to just use the current platforms + # build instead of the i686 specific build. + winetricks = callPackage ../misc/emulators/wine/winetricks.nix { + inherit (gnome2) zenity; + }; x2x = callPackage ../tools/X11/x2x { }; xosd = callPackage ../misc/xosd { }; - xsane = callPackage ../misc/xsane { + xsane = callPackage ../applications/graphics/sane/xsane.nix { libpng = libpng12; + saneBackends = saneBackends; }; yafc = callPackage ../applications/networking/yafc { }; @@ -8888,7 +9028,9 @@ let inherit (stdenv) mkDerivation; }; - zsnes = callPackage_i686 ../misc/emulators/zsnes { }; + zsnes = callPackage_i686 ../misc/emulators/zsnes { + libpng = libpng12; + }; misc = import ../misc/misc.nix { inherit pkgs stdenv; }; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index e076a92350d..a03f0a6fe46 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -8,7 +8,7 @@ # The actual Haskell packages are composed in haskell-packages.nix. There is # more documentation in there. -{ makeOverridable, lowPrio, stdenv, pkgs, newScope, getConfig, callPackage } : rec { +{ makeOverridable, lowPrio, stdenv, pkgs, newScope, config, callPackage } : rec { # Preferences functions. # @@ -19,19 +19,29 @@ self : self.haskellPlatformArgs_future self // { haskellPlatform = null; binary = null; # now a core package + extensibleExceptions = self.extensibleExceptions_0_1_1_4; + }; + + ghc742Prefs = + self : self.haskellPlatformArgs_2012_4_0_0 self // { + haskellPlatform = self.haskellPlatform_2012_4_0_0; + binary = null; # now a core package + cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; }; ghc741Prefs = self : self.haskellPlatformArgs_2012_2_0_0 self // { haskellPlatform = self.haskellPlatform_2012_2_0_0; binary = null; # now a core package + cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; }; ghc722Prefs = self : self.haskellPlatformArgs_2012_2_0_0 self // { haskellPlatform = self.haskellPlatform_2012_2_0_0; binary = null; # a core package - deepseq = self.deepseq_1_3_0_0; + deepseq = self.deepseq_1_3_0_1; + cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; }; ghc721Prefs = ghc722Prefs; @@ -39,17 +49,19 @@ ghc704Prefs = self : self.haskellPlatformArgs_2011_4_0_0 self // { haskellPlatform = self.haskellPlatform_2011_4_0_0; - repaExamples = null; # don't pick this version of 'repa-examples' during nix-env -u cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; }; + cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; monadPar = self.monadPar_0_1_0_3; + jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; }; }; ghc703Prefs = self : self.haskellPlatformArgs_2011_2_0_1 self // { haskellPlatform = self.haskellPlatform_2011_2_0_1; - repaExamples = null; # don't pick this version of 'repa-examples' during nix-env -u cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; }; + cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3; }; monadPar = self.monadPar_0_1_0_3; + jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; }; }; ghc702Prefs = ghc701Prefs; @@ -57,9 +69,10 @@ ghc701Prefs = self : self.haskellPlatformArgs_2011_2_0_0 self // { haskellPlatform = self.haskellPlatform_2011_2_0_0; - repaExamples = null; # don't pick this version of 'repa-examples' during nix-env -u cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; }; + cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3; }; monadPar = self.monadPar_0_1_0_3; + jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; }; }; ghc6123Prefs = ghc6122Prefs; @@ -68,11 +81,10 @@ self : self.haskellPlatformArgs_2010_2_0_0 self // { haskellPlatform = self.haskellPlatform_2010_2_0_0; mtl1 = self.mtl_1_1_0_2; - repaExamples = null; # don't pick this version of 'repa-examples' during nix-env -u - cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; }; monadPar = self.monadPar_0_1_0_3; deepseq = self.deepseq_1_1_0_2; # deviating from Haskell platform here, to make some packages (notably statistics) compile + jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; }; }; ghc6121Prefs = @@ -80,9 +92,9 @@ haskellPlatform = self.haskellPlatform_2010_1_0_0; mtl1 = self.mtl_1_1_0_2; extensibleExceptions = self.extensibleExceptions_0_1_1_0; - repaExamples = null; # don't pick this version of 'repa-examples' during nix-env -u deepseq = self.deepseq_1_1_0_2; monadPar = self.monadPar_0_1_0_3; + jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; }; # deviating from Haskell platform here, to make some packages (notably statistics) compile }; @@ -93,10 +105,9 @@ mtl1 = self.mtl_1_1_0_2; extensibleExceptions = self.extensibleExceptions_0_1_1_0; text = self.text_0_11_0_6; - repaExamples = null; # don't pick this version of 'repa-examples' during nix-env -u - cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; }; deepseq = self.deepseq_1_1_0_2; monadPar = self.monadPar_0_1_0_3; + jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; }; # deviating from Haskell platform here, to make some packages (notably statistics) compile }; @@ -115,13 +126,13 @@ # prefFun = self : super : self; enableLibraryProfiling = if profExplicit then profDefault - else getConfig [ "cabal" "libraryProfiling" ] profDefault; + else config.cabal.libraryProfiling or profDefault; ghc = callPackage ghcPath { ghc = ghcBinary; }; }); defaultVersionPrioFun = profDefault : - if getConfig [ "cabal" "libraryProfiling" ] false == profDefault + if config.cabal.libraryProfiling or false == profDefault then (x : x) else lowPrio; @@ -166,6 +177,10 @@ gmp = pkgs.gmp4; }); + ghc742Binary = lowPrio (callPackage ../development/compilers/ghc/7.4.2-binary.nix { + gmp = pkgs.gmp4; + }); + ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary; ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary; @@ -253,7 +268,7 @@ packages_ghc742 = packages { ghcPath = ../development/compilers/ghc/7.4.2.nix; ghcBinary = ghc6121BinaryDarwin; - prefFun = ghc741Prefs; + prefFun = ghc742Prefs; }; packages_ghc761 = @@ -262,11 +277,17 @@ prefFun = ghcHEADPrefs; }; - # Reasonably current HEAD snapshot. Should *always* be lowPrio. - packages_ghcHEAD = - packages { ghcPath = ../development/compilers/ghc/head.nix; + packages_ghc762 = + packages { ghcPath = ../development/compilers/ghc/7.6.2.nix; ghcBinary = ghc704Binary; prefFun = ghcHEADPrefs; }; + # Reasonably current HEAD snapshot. Should *always* be lowPrio. + packages_ghcHEAD = + packages { ghcPath = ../development/compilers/ghc/head.nix; + ghcBinary = ghc742Binary; + prefFun = ghcHEADPrefs; + }; + } diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index c2e457bfe45..b2b7915eb63 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -116,39 +116,82 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); # GHC version, change the "preferences function" for that GHC version # in haskell-defaults.nix. - # NOTE: 2012.2.0.0 is the current default. + # NOTE: 2012.4.0.0 is the current default. haskellPlatformArgs_future = self : { inherit (self) cabal ghc; - cgi = self.cgi_3001_1_7_4; # 7.5 fail - fgl = self.fgl_5_4_2_4; # 7.5 ok - GLUT = self.GLUT_2_1_2_1; # 7.5 fail - haskellSrc = self.haskellSrc_1_0_1_5; # 7.5 ok - html = self.html_1_0_1_2; # 7.5 ok - HTTP = self.HTTP_4000_2_3; # 7.5 ok - HUnit = self.HUnit_1_2_5_1; # 7.5 ok - mtl = self.mtl_2_1_2; # 7.5 ok - network = self.network_2_3_1_0; # 7.5 ok - OpenGL = self.OpenGL_2_2_3_1; # 7.5 fail - parallel = self.parallel_3_2_0_2; # 7.5 fail - parsec = self.parsec_3_1_3; # 7.5 ok - QuickCheck = self.QuickCheck_2_5; # 7.5 fail - random = self.random_1_0_1_1; # 7.5 ok - regexBase = self.regexBase_0_93_2; # 7.5 ok - regexCompat = self.regexCompat_0_95_1; # 7.5 fail - regexPosix = self.regexPosix_0_95_1; # 7.5 fail - stm = self.stm_2_4; # 7.5 ok - syb = self.syb_0_3_7; # 7.5 ok - text = self.text_0_11_2_3; # 7.5 ok - transformers = self.transformers_0_3_0_0; # 7.5 ok - xhtml = self.xhtml_3000_2_1; # 7.5 ok - zlib = self.zlib_0_5_3_3; # 7.5 fail - cabalInstall = self.cabalInstall_0_14_0; # 7.5 ok - alex = self.alex_3_0_1; # 7.5 ok - haddock = self.haddock_2_10_0; # 7.5 ok - happy = self.happy_1_18_9; # 7.5 ok + async = self.async_2_0_1_4; # 7.6 ok + cgi = self.cgi_3001_1_8_3; # 7.6 ok + fgl = self.fgl_5_4_2_4; # 7.6 ok + GLUT = self.GLUT_2_3_1_0; # 7.6 ok + haskellSrc = self.haskellSrc_1_0_1_5; # 7.6 ok + html = self.html_1_0_1_2; # 7.6 ok + HTTP = self.HTTP_4000_2_8; # 7.6 ok + HUnit = self.HUnit_1_2_5_1; # 7.6 ok + mtl = self.mtl_2_1_2; # 7.6 ok + network = self.network_2_4_1_0; # 7.6 ok + OpenGL = self.OpenGL_2_6_0_1; # 7.6 ok + parallel = self.parallel_3_2_0_3; # 7.6 ok + parsec = self.parsec_3_1_3; # 7.6 ok + QuickCheck = self.QuickCheck_2_5_1_1; # 7.6 ok + random = self.random_1_0_1_1; # 7.6 ok + regexBase = self.regexBase_0_93_2; # 7.6 ok + regexCompat = self.regexCompat_0_95_1; # 7.6 ok + regexPosix = self.regexPosix_0_95_2; # 7.6 ok + split = self.split_0_2_1_2; # 7.6 ok + stm = self.stm_2_4_2; # 7.6 ok + syb = self.syb_0_3_7; # 7.6 ok + text = self.text_0_11_2_3; # 7.6 ok + transformers = self.transformers_0_3_0_0; # 7.6 ok + vector = self.vector_0_10_0_1; # 7.6 ok + xhtml = self.xhtml_3000_2_1; # 7.6 ok + zlib = self.zlib_0_5_4_0; # 7.6 ok + cabalInstall = self.cabalInstall_1_16_0_2; # 7.6 ok + alex = self.alex_3_0_2; # 7.6 ok + haddock = self.haddock_2_13_1; # 7.6 ok + happy = self.happy_1_18_10; # 7.6 ok + primitive = self.primitive_0_5_0_1; # semi-official, but specified }; + haskellPlatformArgs_2012_4_0_0 = self : { + inherit (self) cabal ghc; + async = self.async_2_0_1_3; + cgi = self.cgi_3001_1_7_4; + fgl = self.fgl_5_4_2_4; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_5; + html = self.html_1_0_1_2; + HTTP = self.HTTP_4000_2_5; + HUnit = self.HUnit_1_2_5_1; + mtl = self.mtl_2_1_2; + network = self.network_2_3_1_0; + OpenGL = self.OpenGL_2_2_3_1; + parallel = self.parallel_3_2_0_3; + parsec = self.parsec_3_1_3; + QuickCheck = self.QuickCheck_2_5_1_1; + random = self.random_1_0_1_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_95_1; + regexPosix = self.regexPosix_0_95_2; + split = self.split_0_2_1_1; + stm = self.stm_2_4; + syb = self.syb_0_3_7; + text = self.text_0_11_2_3; + transformers = self.transformers_0_3_0_0; + vector = self.vector_0_10_0_1; + xhtml = self.xhtml_3000_2_1; + zlib = self.zlib_0_5_4_0; + cabalInstall = self.cabalInstall_0_14_0; + alex = self.alex_3_0_2; + haddock = self.haddock_2_11_0; + happy = self.happy_1_18_10; + primitive = self.primitive_0_5_0_1; # semi-official, but specified + }; + + haskellPlatform_2012_4_0_0 = + callPackage ../development/libraries/haskell/haskell-platform/2012.4.0.0.nix + (self.haskellPlatformArgs_2012_4_0_0 self); + haskellPlatformArgs_2012_2_0_0 = self : { inherit (self) cabal ghc; cgi = self.cgi_3001_1_7_4; # 7.4.1 ok @@ -384,9 +427,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); # Haskell libraries. - Agda = callPackage ../development/libraries/haskell/Agda { - haskellSrcExts = self.haskellSrcExts_1_11_1; - }; + Agda = callPackage ../development/libraries/haskell/Agda {}; accelerate = callPackage ../development/libraries/haskell/accelerate {}; @@ -396,6 +437,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); accelerateIo = callPackage ../development/libraries/haskell/accelerate-io {}; + active = callPackage ../development/libraries/haskell/active {}; + ACVector = callPackage ../development/libraries/haskell/AC-Vector {}; abstractDeque = callPackage ../development/libraries/haskell/abstract-deque {}; @@ -406,6 +449,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); alternativeIo = callPackage ../development/libraries/haskell/alternative-io {}; + appar = callPackage ../development/libraries/haskell/appar {}; + ansiTerminal = callPackage ../development/libraries/haskell/ansi-terminal {}; ansiWlPprint = callPackage ../development/libraries/haskell/ansi-wl-pprint {}; @@ -416,12 +461,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); AspectAG = callPackage ../development/libraries/haskell/AspectAG {}; - async = callPackage ../development/libraries/haskell/async {}; + async_2_0_1_3 = callPackage ../development/libraries/haskell/async/2.0.1.3.nix {}; + async_2_0_1_4 = callPackage ../development/libraries/haskell/async/2.0.1.4.nix {}; + async = self.async_2_0_1_4; attempt = callPackage ../development/libraries/haskell/attempt {}; attoparsec = callPackage ../development/libraries/haskell/attoparsec {}; + attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {}; + attoparsecConduit = callPackage ../development/libraries/haskell/attoparsec-conduit {}; attoparsecEnumerator = callPackage ../development/libraries/haskell/attoparsec/enumerator.nix {}; @@ -434,11 +483,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); base64Bytestring = callPackage ../development/libraries/haskell/base64-bytestring {}; + base64Conduit = callPackage ../development/libraries/haskell/base64-conduit {}; + baseUnicodeSymbols = callPackage ../development/libraries/haskell/base-unicode-symbols {}; - benchpress = callPackage ../development/libraries/haskell/benchpress { - time = self.time_1_1_3; - }; + basicPrelude = callPackage ../development/libraries/haskell/basic-prelude {}; + + benchpress = callPackage ../development/libraries/haskell/benchpress {}; + + bifunctors = callPackage ../development/libraries/haskell/bifunctors {}; bimap = callPackage ../development/libraries/haskell/bimap {}; @@ -465,11 +518,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); blazeMarkup = callPackage ../development/libraries/haskell/blaze-markup {}; + blazeSvg = callPackage ../development/libraries/haskell/blaze-svg {}; + blazeTextual = callPackage ../development/libraries/haskell/blaze-textual {}; bloomfilter = callPackage ../development/libraries/haskell/bloomfilter {}; - bmp = callPackage ../development/libraries/haskell/bmp {}; + bmp_1_2_2_1 = callPackage ../development/libraries/haskell/bmp/1.2.2.1.nix {}; + bmp_1_2_4_1 = callPackage ../development/libraries/haskell/bmp/1.2.4.1.nix {}; + bmp = self.bmp_1_2_2_1; # later versions work only with ghc 7.6 and beyond Boolean = callPackage ../development/libraries/haskell/Boolean {}; @@ -477,6 +534,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); bson = callPackage ../development/libraries/haskell/bson {}; + boomerang = callPackage ../development/libraries/haskell/boomerang {}; + byteorder = callPackage ../development/libraries/haskell/byteorder {}; bytestringNums = callPackage ../development/libraries/haskell/bytestring-nums {}; @@ -492,6 +551,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); }; Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; }; + Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; }; Cabal = null; # core package in GHC cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {}; @@ -515,13 +575,21 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); cgi_3001_1_7_2 = callPackage ../development/libraries/haskell/cgi/3001.1.7.2.nix {}; cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {}; cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {}; - cgi_3001_1_8_2 = callPackage ../development/libraries/haskell/cgi/3001.1.8.2.nix {}; - cgi = self.cgi_3001_1_8_2; + cgi_3001_1_8_3 = callPackage ../development/libraries/haskell/cgi/3001.1.8.3.nix {}; + cgi = self.cgi_3001_1_8_3; Chart = callPackage ../development/libraries/haskell/Chart {}; citeprocHs = callPackage ../development/libraries/haskell/citeproc-hs {}; + cipherAes = callPackage ../development/libraries/haskell/cipher-aes {}; + + cipherRc4 = callPackage ../development/libraries/haskell/cipher-rc4 {}; + + classyPrelude = callPackage ../development/libraries/haskell/classy-prelude {}; + + classyPreludeConduit = callPackage ../development/libraries/haskell/classy-prelude-conduit {}; + clientsession = callPackage ../development/libraries/haskell/clientsession {}; cmdargs = callPackage ../development/libraries/haskell/cmdargs {}; @@ -532,16 +600,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); colour = callPackage ../development/libraries/haskell/colour {}; - comonad_1_1_1_6 = callPackage ../development/libraries/haskell/comonad/1.1.1.6.nix {}; - comonad_3_0_0_2 = callPackage ../development/libraries/haskell/comonad/3.0.0.2.nix {}; - comonad = self.comonad_3_0_0_2; + comonad = callPackage ../development/libraries/haskell/comonad {}; - comonadTransformers_2_1_2 = callPackage ../development/libraries/haskell/comonad-transformers/2.1.2.nix { - comonad = self.comonad_1_1_1_6; - semigroupoids = self.semigroupoids_1_3_4; - }; - comonadTransformers_3_0 = callPackage ../development/libraries/haskell/comonad-transformers/3.0.nix {}; - comonadTransformers = self.comonadTransformers_3_0; + comonadsFd = callPackage ../development/libraries/haskell/comonads-fd {}; + + comonadTransformers = callPackage ../development/libraries/haskell/comonad-transformers {}; compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {}; @@ -551,9 +614,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); configurator = callPackage ../development/libraries/haskell/configurator {}; - convertible = callPackage ../development/libraries/haskell/convertible { - time = self.time_1_1_3; - }; + convertible = callPackage ../development/libraries/haskell/convertible {}; continuedFractions = callPackage ../development/libraries/haskell/continued-fractions {}; @@ -577,8 +638,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); cryptohash = callPackage ../development/libraries/haskell/cryptohash {}; + cryptoNumbers = callPackage ../development/libraries/haskell/crypto-numbers {}; + cryptoPubkeyTypes = callPackage ../development/libraries/haskell/crypto-pubkey-types {}; + cryptoPubkey = callPackage ../development/libraries/haskell/crypto-pubkey {}; + + cryptoRandomApi = callPackage ../development/libraries/haskell/crypto-random-api {}; + cuda = callPackage ../development/libraries/haskell/cuda { inherit (pkgs.linuxPackages) nvidia_x11; }; @@ -603,10 +670,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); dataInttrie = callPackage ../development/libraries/haskell/data-inttrie {}; - dataLens = callPackage ../development/libraries/haskell/data-lens { - comonadTransformers = self.comonadTransformers_2_1_2; - semigroupoids = self.semigroupoids_1_3_4; - }; + dataLens = callPackage ../development/libraries/haskell/data-lens {}; dataLensTemplate = callPackage ../development/libraries/haskell/data-lens-template {}; @@ -614,12 +678,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); dataReify = callPackage ../development/libraries/haskell/data-reify {}; + dateCache = callPackage ../development/libraries/haskell/date-cache {}; + datetime = callPackage ../development/libraries/haskell/datetime {}; + DAV = callPackage ../development/libraries/haskell/DAV {}; + + dbus = callPackage ../development/libraries/haskell/dbus {}; + deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {}; deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {}; deepseq_1_2_0_1 = callPackage ../development/libraries/haskell/deepseq/1.2.0.1.nix {}; - deepseq_1_3_0_0 = callPackage ../development/libraries/haskell/deepseq/1.3.0.0.nix {}; + deepseq_1_3_0_1 = callPackage ../development/libraries/haskell/deepseq/1.3.0.1.nix {}; deepseq = null; # a core package in recent GHCs deepseqTh = callPackage ../development/libraries/haskell/deepseq-th {}; @@ -628,6 +698,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); derp = callPackage ../development/libraries/haskell/derp {}; + diagrams = callPackage ../development/libraries/haskell/diagrams/diagrams.nix {}; + diagramsCairo = callPackage ../development/libraries/haskell/diagrams/cairo.nix {}; + diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix {}; + diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {}; + diagramsLib = callPackage ../development/libraries/haskell/diagrams/lib.nix {}; + diagramsSvg = callPackage ../development/libraries/haskell/diagrams/svg.nix {}; + Diff = callPackage ../development/libraries/haskell/Diff {}; digest = callPackage ../development/libraries/haskell/digest { @@ -642,12 +719,24 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); dimensional = callPackage ../development/libraries/haskell/dimensional {}; + dimensionalTf = callPackage ../development/libraries/haskell/dimensional-tf {}; + directoryTree = callPackage ../development/libraries/haskell/directory-tree {}; + distributedProcess = callPackage ../development/libraries/haskell/distributed-process {}; + + distributedProcessSimplelocalnet = callPackage ../development/libraries/haskell/distributed-process-simplelocalnet {}; + + distributedStatic = callPackage ../development/libraries/haskell/distributed-static {}; + distributive = callPackage ../development/libraries/haskell/distributive {}; dlist = callPackage ../development/libraries/haskell/dlist {}; + dns = callPackage ../development/libraries/haskell/dns {}; + + doctest = callPackage ../development/libraries/haskell/doctest {}; + dotgen = callPackage ../development/libraries/haskell/dotgen {}; doubleConversion = callPackage ../development/libraries/haskell/double-conversion {}; @@ -660,10 +749,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); dstring = callPackage ../development/libraries/haskell/dstring {}; + dualTree = callPackage ../development/libraries/haskell/dual-tree {}; + + dyre = callPackage ../development/libraries/haskell/dyre {}; + editDistance = callPackage ../development/libraries/haskell/edit-distance {}; editline = callPackage ../development/libraries/haskell/editline {}; + elerea = callPackage ../development/libraries/haskell/elerea {}; + emailValidate = callPackage ../development/libraries/haskell/email-validate {}; enumerator = callPackage ../development/libraries/haskell/enumerator {}; @@ -672,6 +767,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); erf = callPackage ../development/libraries/haskell/erf {}; + errors = callPackage ../development/libraries/haskell/errors {}; + + either = callPackage ../development/libraries/haskell/either {}; + exceptionMtl = callPackage ../development/libraries/haskell/exception-mtl {}; exceptionTransformers = callPackage ../development/libraries/haskell/exception-transformers {}; @@ -707,6 +806,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); filestore = callPackage ../development/libraries/haskell/filestore {}; + filesystemConduit = callPackage ../development/libraries/haskell/filesystem-conduit {}; + fgl_5_4_2_2 = callPackage ../development/libraries/haskell/fgl/5.4.2.2.nix {}; fgl_5_4_2_3 = callPackage ../development/libraries/haskell/fgl/5.4.2.3.nix {}; fgl_5_4_2_4 = callPackage ../development/libraries/haskell/fgl/5.4.2.4.nix {}; @@ -716,8 +817,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); fingertree = callPackage ../development/libraries/haskell/fingertree {}; + forceLayout = callPackage ../development/libraries/haskell/force-layout {}; + + fsnotify = callPackage ../development/libraries/haskell/fsnotify {}; + gamma = callPackage ../development/libraries/haskell/gamma {}; + geniplate = callPackage ../development/libraries/haskell/geniplate {}; + gd = callPackage ../development/libraries/haskell/gd { inherit (pkgs) gd zlib; }; @@ -730,6 +837,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ghcEvents = callPackage ../development/libraries/haskell/ghc-events {}; + ghcHeapView = callPackage ../development/libraries/haskell/ghc-heap-view { + cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled + }; + ghcMod = callPackage ../development/libraries/haskell/ghc-mod { inherit (pkgs) emacs; }; @@ -742,6 +853,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ghcSybUtils = callPackage ../development/libraries/haskell/ghc-syb-utils {}; + ghcVis = callPackage ../development/libraries/haskell/ghc-vis { + cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled + }; + gio = callPackage ../development/libraries/haskell/gio {}; gitit = callPackage ../development/libraries/haskell/gitit {}; @@ -759,11 +874,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); libc = pkgs.stdenv.gcc.libc; }; + Glob = callPackage ../development/libraries/haskell/Glob {}; + GlomeVec = callPackage ../development/libraries/haskell/GlomeVec {}; gloss = callPackage ../development/libraries/haskell/gloss { - GLUT = self.GLUT23; - OpenGL = self.OpenGL25; + OpenGL = self.OpenGL_2_6_0_1; + GLUT = self.GLUT_2_3_1_0; }; glpkHs = callPackage ../development/libraries/haskell/glpk-hs {}; @@ -776,12 +893,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); GLUT_2_2_2_1 = callPackage ../development/libraries/haskell/GLUT/2.2.2.1.nix { OpenGL = self.OpenGL_2_4_0_2; }; - GLUT_2_3_0_0 = callPackage ../development/libraries/haskell/GLUT/2.3.0.0.nix { - OpenGL = self.OpenGL_2_5_0_0; + GLUT_2_3_1_0 = callPackage ../development/libraries/haskell/GLUT/2.3.1.0.nix { + OpenGL = self.OpenGL_2_6_0_1; }; - GLUT22 = self.GLUT_2_2_2_1; - GLUT23 = self.GLUT_2_3_0_0; - GLUT = self.GLUT_2_3_0_0; + GLUT = self.GLUT_2_3_1_0; + + gnuidn = callPackage ../development/libraries/haskell/gnuidn {}; + + gnutls = callPackage ../development/libraries/haskell/gnutls { inherit (pkgs) gnutls; }; + + gsasl = callPackage ../development/libraries/haskell/gsasl { inherit (pkgs) gsasl; }; gtk = callPackage ../development/libraries/haskell/gtk { inherit (pkgs) gtk; @@ -803,6 +924,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); polyparse = self.polyparse_1_7; }; + groupoids = callPackage ../development/libraries/haskell/groupoids {}; + hakyll = callPackage ../development/libraries/haskell/hakyll {}; hamlet = callPackage ../development/libraries/haskell/hamlet {}; @@ -813,13 +936,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); happstackHamlet = callPackage ../development/libraries/haskell/happstack/happstack-hamlet.nix {}; - hashable = callPackage ../development/libraries/haskell/hashable {}; + hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {}; + hashable_1_2_0_5 = callPackage ../development/libraries/haskell/hashable/1.2.0.5.nix {}; + hashable = self.hashable_1_1_2_5; hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {}; hashtables = callPackage ../development/libraries/haskell/hashtables {}; - haskeline = callPackage ../development/libraries/haskell/haskeline {}; + haskeline_0_6_4_7 = callPackage ../development/libraries/haskell/haskeline/0.6.4.7.nix {}; + haskeline_0_7_0_3 = callPackage ../development/libraries/haskell/haskeline/0.7.0.3.nix {}; + haskeline = self.haskeline_0_7_0_3; haskelineClass = callPackage ../development/libraries/haskell/haskeline-class {}; @@ -835,13 +962,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); haskellSrc = self.haskellSrc_1_0_1_5; haskellSrcExts_1_11_1 = callPackage ../development/libraries/haskell/haskell-src-exts/1.11.1.nix {}; - haskellSrcExts_1_13_3 = callPackage ../development/libraries/haskell/haskell-src-exts/1.13.3.nix {}; - haskellSrcExts = self.haskellSrcExts_1_13_3; + haskellSrcExts_1_13_5 = callPackage ../development/libraries/haskell/haskell-src-exts/1.13.5.nix {}; + haskellSrcExts = self.haskellSrcExts_1_13_5; haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {}; hastache = callPackage ../development/libraries/haskell/hastache {}; + hexpat = callPackage ../development/libraries/haskell/hexpat {}; + HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {}; HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {}; HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {}; @@ -849,7 +978,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); HTTP_4000_2_1 = callPackage ../development/libraries/haskell/HTTP/4000.2.1.nix {}; HTTP_4000_2_2 = callPackage ../development/libraries/haskell/HTTP/4000.2.2.nix {}; HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {}; - HTTP = self.HTTP_4000_2_3; + HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {}; + HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {}; + HTTP = self.HTTP_4000_2_8; + + httpReverseProxy = callPackage ../development/libraries/haskell/http-reverse-proxy {}; hackageDb = callPackage ../development/libraries/haskell/hackage-db {}; @@ -869,7 +1002,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); HDBCPostgresql = callPackage ../development/libraries/haskell/HDBC/HDBC-postgresql.nix {}; - HDBCSqlite = callPackage ../development/libraries/haskell/HDBC/HDBC-sqlite3.nix {}; + HDBCSqlite3 = callPackage ../development/libraries/haskell/HDBC/HDBC-sqlite3.nix {}; heist = callPackage ../development/libraries/haskell/heist {}; @@ -930,11 +1063,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); hsloggerTemplate = callPackage ../development/libraries/haskell/hslogger-template {}; + hspec = callPackage ../development/libraries/haskell/hspec {}; + + hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {}; + hsyslog = callPackage ../development/libraries/haskell/hsyslog {}; html_1_0_1_2 = callPackage ../development/libraries/haskell/html/1.0.1.2.nix {}; html = self.html_1_0_1_2; + htmlConduit = callPackage ../development/libraries/haskell/html-conduit {}; + httpConduit = callPackage ../development/libraries/haskell/http-conduit {}; httpdShed = callPackage ../development/libraries/haskell/httpd-shed {}; @@ -973,6 +1112,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ioStorage = callPackage ../development/libraries/haskell/io-storage {}; + iproute = callPackage ../development/libraries/haskell/iproute {}; + irc = callPackage ../development/libraries/haskell/irc { parsec = self.parsec2; }; @@ -994,6 +1135,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {}; + kansasLava = callPackage ../development/libraries/haskell/kansas-lava {}; + languageC_0_4_2 = callPackage ../development/libraries/haskell/language-c/0.4.2.nix {}; languageC_0_3_2_1 = callPackage ../development/libraries/haskell/language-c/0.3.2.1.nix {}; languageC = self.languageC_0_4_2; @@ -1008,18 +1151,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); lambdabotUtils = callPackage ../development/libraries/haskell/lambdabot-utils {}; + lambdacubeEngine = callPackage ../development/libraries/haskell/lambdacube-engine {}; + largeword = callPackage ../development/libraries/haskell/largeword {}; lazysmallcheck = callPackage ../development/libraries/haskell/lazysmallcheck {}; leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {}; + lens = callPackage ../development/libraries/haskell/lens {}; + libmpd = callPackage ../development/libraries/haskell/libmpd {}; + liblastfm = callPackage ../development/libraries/haskell/liblastfm {}; + + libxmlSax = callPackage ../development/libraries/haskell/libxml-sax {}; + liftedBase = callPackage ../development/libraries/haskell/lifted-base {}; + List = callPackage ../development/libraries/haskell/List {}; + ListLike = callPackage ../development/libraries/haskell/ListLike {}; + ListZipper = callPackage ../development/libraries/haskell/ListZipper {}; + lrucache = callPackage ../development/libraries/haskell/lrucache {}; ltk = callPackage ../development/libraries/haskell/ltk {}; @@ -1028,6 +1183,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); logict = callPackage ../development/libraries/haskell/logict {}; + maccatcher = callPackage ../development/libraries/haskell/maccatcher {}; + mathFunctions = callPackage ../development/libraries/haskell/math-functions {}; mainlandPretty = callPackage ../development/libraries/haskell/mainland-pretty {}; @@ -1040,6 +1197,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); mersenneRandomPure64 = callPackage ../development/libraries/haskell/mersenne-random-pure64 {}; + minimorph = callPackage ../development/libraries/haskell/minimorph {}; + + miniutter = callPackage ../development/libraries/haskell/miniutter {}; + mimeMail = callPackage ../development/libraries/haskell/mime-mail {}; mimeTypes = callPackage ../development/libraries/haskell/mime-types {}; @@ -1061,8 +1222,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); monadLogger = callPackage ../development/libraries/haskell/monad-logger {}; monadPar_0_1_0_3 = callPackage ../development/libraries/haskell/monad-par/0.1.0.3.nix {}; - monadPar_0_3 = callPackage ../development/libraries/haskell/monad-par/0.3.nix {}; - monadPar = self.monadPar_0_3; + monadPar_0_3_4 = callPackage ../development/libraries/haskell/monad-par/0.3.4.nix {}; + monadPar = self.monadPar_0_3_4; monadParExtras = callPackage ../development/libraries/haskell/monad-par-extras {}; @@ -1074,6 +1235,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); monadsTf = callPackage ../development/libraries/haskell/monads-tf {}; + monoidExtras = callPackage ../development/libraries/haskell/monoid-extras {}; + mongoDB = callPackage ../development/libraries/haskell/mongoDB {}; mpppc = callPackage ../development/libraries/haskell/mpppc {}; @@ -1097,7 +1260,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); multirec = callPackage ../development/libraries/haskell/multirec {}; - multiset = callPackage ../development/libraries/haskell/multiset {}; + multiset_0_2_1 = callPackage ../development/libraries/haskell/multiset/0.2.1.nix {}; + multiset_0_2_2 = callPackage ../development/libraries/haskell/multiset/0.2.2.nix {}; + multiset = self.multiset_0_2_1; # later versions work only with ghc 7.6 and beyond murmurHash = callPackage ../development/libraries/haskell/murmur-hash {}; @@ -1105,16 +1270,39 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {}; + nat = callPackage ../development/libraries/haskell/nat {}; + + nats = callPackage ../development/libraries/haskell/nats {}; + + naturals = callPackage ../development/libraries/haskell/naturals {}; + + netlist = callPackage ../development/libraries/haskell/netlist {}; + + netlistToVhdl = callPackage ../development/libraries/haskell/netlist-to-vhdl {}; + network_2_2_1_4 = callPackage ../development/libraries/haskell/network/2.2.1.4.nix {}; network_2_2_1_7 = callPackage ../development/libraries/haskell/network/2.2.1.7.nix {}; network_2_3_0_2 = callPackage ../development/libraries/haskell/network/2.3.0.2.nix {}; network_2_3_0_5 = callPackage ../development/libraries/haskell/network/2.3.0.5.nix {}; network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {}; network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {}; - network = self.network_2_3_1_0; + network_2_4_1_0 = callPackage ../development/libraries/haskell/network/2.4.1.0.nix {}; + network = self.network_2_4_1_0; networkConduit = callPackage ../development/libraries/haskell/network-conduit {}; + networkInfo = callPackage ../development/libraries/haskell/network-info {}; + + networkMulticast = callPackage ../development/libraries/haskell/network-multicast {}; + + networkPprotocolXmpp = callPackage ../development/libraries/haskell/network-protocol-xmpp {}; + + networkTransport = callPackage ../development/libraries/haskell/network-transport {}; + + networkTransportTcp = callPackage ../development/libraries/haskell/network-transport-tcp {}; + + newtype = callPackage ../development/libraries/haskell/newtype {}; + nonNegative = callPackage ../development/libraries/haskell/non-negative {}; numericPrelude = callPackage ../development/libraries/haskell/numeric-prelude {}; @@ -1125,6 +1313,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); numtype = callPackage ../development/libraries/haskell/numtype {}; + numtypeTf = callPackage ../development/libraries/haskell/numtype-tf {}; + OneTuple = callPackage ../development/libraries/haskell/OneTuple {}; ObjectName = callPackage ../development/libraries/haskell/ObjectName {}; @@ -1137,13 +1327,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {}; OpenGL_2_2_3_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.1.nix {}; OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {}; - OpenGL_2_5_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.5.0.0.nix {}; - OpenGL24 = self.OpenGL_2_4_0_2; - OpenGL25 = self.OpenGL_2_5_0_0; - OpenGL = self.OpenGL_2_5_0_0; + OpenGL_2_6_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.6.0.1.nix {}; + OpenGL = self.OpenGL_2_6_0_1; OpenGLRaw = callPackage ../development/libraries/haskell/OpenGLRaw {}; + optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {}; + pathPieces = callPackage ../development/libraries/haskell/path-pieces {}; pandoc = callPackage ../development/libraries/haskell/pandoc {}; @@ -1162,6 +1352,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); parallel_3_2_0_3 = callPackage ../development/libraries/haskell/parallel/3.2.0.3.nix {}; parallel = self.parallel_3_2_0_3; + parallelIo = callPackage ../development/libraries/haskell/parallel-io {}; + parseargs = callPackage ../development/libraries/haskell/parseargs {}; parsec_2_1_0_1 = callPackage ../development/libraries/haskell/parsec/2.1.0.1.nix {}; @@ -1210,7 +1402,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); prettyShow = callPackage ../development/libraries/haskell/pretty-show {}; - primitive = callPackage ../development/libraries/haskell/primitive {}; + primitive_0_4_1 = callPackage ../development/libraries/haskell/primitive/0.4.1.nix {}; + primitive_0_5 = callPackage ../development/libraries/haskell/primitive/0.5.nix {}; + primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {}; + primitive = self.primitive_0_5_0_1; + + profunctors = callPackage ../development/libraries/haskell/profunctors {}; + + profunctorExtras = callPackage ../development/libraries/haskell/profunctor-extras {}; + + projectTemplate = callPackage ../development/libraries/haskell/project-template {}; processExtras = callPackage ../development/libraries/haskell/process-extras {}; @@ -1236,9 +1437,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); QuickCheck_2_4_0_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.0.1.nix {}; QuickCheck_2_4_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.1.1.nix {}; QuickCheck_2_4_2 = callPackage ../development/libraries/haskell/QuickCheck/2.4.2.nix {}; - QuickCheck_2_5 = callPackage ../development/libraries/haskell/QuickCheck/2.5.nix {}; + QuickCheck_2_5_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.5.1.1.nix {}; QuickCheck1 = self.QuickCheck_1_2_0_1; - QuickCheck2 = self.QuickCheck_2_5; + QuickCheck2 = self.QuickCheck_2_5_1_1; QuickCheck = self.QuickCheck2; RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {}; @@ -1252,6 +1453,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); randomShuffle = callPackage ../development/libraries/haskell/random-shuffle {}; + rank1dynamic = callPackage ../development/libraries/haskell/rank1dynamic {}; + ranges = callPackage ../development/libraries/haskell/ranges {}; rvar = callPackage ../development/libraries/haskell/rvar {}; @@ -1260,12 +1463,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); reactiveBananaWx = callPackage ../development/libraries/haskell/reactive-banana-wx {}; + ReadArgs = callPackage ../development/libraries/haskell/ReadArgs {}; + readline = callPackage ../development/libraries/haskell/readline { inherit (pkgs) readline; }; recaptcha = callPackage ../development/libraries/haskell/recaptcha {}; + reflection = callPackage ../development/libraries/haskell/reflection {}; + regexBase_0_72_0_2 = callPackage ../development/libraries/haskell/regex-base/0.72.0.2.nix {}; regexBase_0_93_1 = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix {}; regexBase_0_93_2 = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix {}; @@ -1274,9 +1481,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); regexCompat_0_71_0_1 = callPackage ../development/libraries/haskell/regex-compat/0.71.0.1.nix {}; regexCompat_0_92 = callPackage ../development/libraries/haskell/regex-compat/0.92.nix {}; regexCompat_0_93_1 = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix {}; - regexCompat_0_95_1 = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix { - regexPosix = self.regexPosix_0_95_1; - }; + regexCompat_0_95_1 = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix {}; regexCompat93 = self.regexCompat_0_93_1; regexCompat = self.regexCompat_0_71_0_1; @@ -1284,12 +1489,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {}; regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {}; regexPosix_0_94_4 = callPackage ../development/libraries/haskell/regex-posix/0.94.4.nix {}; - regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix { - regexBase = self.regexBase_0_93_2; - }; - regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix { - regexBase = self.regexBase_0_93_2; - }; + regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix {}; + regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {}; regexPosix = self.regexPosix_0_95_2; regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {}; @@ -1298,8 +1499,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); regexPCRE = callPackage ../development/libraries/haskell/regex-pcre {}; regexPcre = self.regexPCRE; - regexPcreBuiltin = callPackage ../development/libraries/haskell/regex-pcre-builtin {}; - regexpr = callPackage ../development/libraries/haskell/regexpr {}; regular = callPackage ../development/libraries/haskell/regular {}; @@ -1323,20 +1522,26 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); safe = callPackage ../development/libraries/haskell/safe {}; + SafeSemaphore = callPackage ../development/libraries/haskell/SafeSemaphore {}; + sendfile = callPackage ../development/libraries/haskell/sendfile {}; semigroups = callPackage ../development/libraries/haskell/semigroups {}; - semigroupoids_1_3_4 = callPackage ../development/libraries/haskell/semigroupoids/1.3.4.nix { - comonad = self.comonad_1_1_1_6; - }; - semigroupoids_3_0 = callPackage ../development/libraries/haskell/semigroupoids/3.0.nix {}; - semigroupoids = self.semigroupoids_3_0; + semigroupoids = callPackage ../development/libraries/haskell/semigroupoids {}; + + semigroupoidExtras = callPackage ../development/libraries/haskell/semigroupoid-extras {}; + + setenv = callPackage ../development/libraries/haskell/setenv {}; shelly = callPackage ../development/libraries/haskell/shelly {}; simpleSendfile = callPackage ../development/libraries/haskell/simple-sendfile {}; + silently = callPackage ../development/libraries/haskell/silently {}; + + sizedTypes = callPackage ../development/libraries/haskell/sized-types {}; + skein = callPackage ../development/libraries/haskell/skein {}; smallcheck = callPackage ../development/libraries/haskell/smallcheck {}; @@ -1367,8 +1572,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); stringCombinators = callPackage ../development/libraries/haskell/string-combinators {}; + stringQq = callPackage ../development/libraries/haskell/string-qq {}; + stringsearch = callPackage ../development/libraries/haskell/stringsearch {}; + strptime = callPackage ../development/libraries/haskell/strptime {}; + + stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {}; + syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {}; syb_0_3 = callPackage ../development/libraries/haskell/syb/0.3.nix {}; syb_0_3_3 = callPackage ../development/libraries/haskell/syb/0.3.3.nix {}; @@ -1410,8 +1621,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {}; - split_0_1 = callPackage ../development/libraries/haskell/split/0.1.nix {}; - split = callPackage ../development/libraries/haskell/split {}; + split_0_2_1_1 = callPackage ../development/libraries/haskell/split/0.2.1.1.nix {}; + split_0_2_1_2 = callPackage ../development/libraries/haskell/split/0.2.1.2.nix {}; + split = self.split_0_2_1_2; stbImage = callPackage ../development/libraries/haskell/stb-image {}; @@ -1420,7 +1632,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); stm_2_2_0_1 = callPackage ../development/libraries/haskell/stm/2.2.0.1.nix {}; stm_2_3 = callPackage ../development/libraries/haskell/stm/2.3.nix {}; stm_2_4 = callPackage ../development/libraries/haskell/stm/2.4.nix {}; - stm = self.stm_2_4; + stm_2_4_2 = callPackage ../development/libraries/haskell/stm/2.4.2.nix {}; + stm = self.stm_2_4_2; storableComplex = callPackage ../development/libraries/haskell/storable-complex {}; @@ -1448,7 +1661,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); tagsoup = callPackage ../development/libraries/haskell/tagsoup {}; - tagsoup_0_10_1 = callPackage ../development/libraries/haskell/tagsoup/0.10.1nix {}; + tagstreamConduit = callPackage ../development/libraries/haskell/tagstream-conduit {}; temporary = callPackage ../development/libraries/haskell/temporary {}; @@ -1468,6 +1681,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); testFrameworkTh = callPackage ../development/libraries/haskell/test-framework-th {}; + testFrameworkThPrime = callPackage ../development/libraries/haskell/test-framework-th-prime {}; + testpack = callPackage ../development/libraries/haskell/testpack {}; texmath = callPackage ../development/libraries/haskell/texmath {}; @@ -1486,17 +1701,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); thLift = callPackage ../development/libraries/haskell/th-lift {}; + thOrphans = callPackage ../development/libraries/haskell/th-orphans {}; + threadmanager = callPackage ../development/libraries/haskell/threadmanager {}; + threads = callPackage ../development/libraries/haskell/threads {}; + time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {}; - time_1_1_3 = callPackage ../development/libraries/haskell/time/1.1.3.nix {}; - time_1_2_0_3 = callPackage ../development/libraries/haskell/time/1.2.0.3.nix {}; - time_1_2_0_5 = callPackage ../development/libraries/haskell/time/1.2.0.5.nix {}; - time_1_4_0_1 = callPackage ../development/libraries/haskell/time/1.4.0.1.nix {}; + time_1_4_0_2 = callPackage ../development/libraries/haskell/time/1.4.0.2.nix {}; # time is in the core package set. It should only be necessary to # pass it explicitly in rare circumstances. time = null; + timeCompat = callPackage ../development/libraries/haskell/time-compat {}; + tls = callPackage ../development/libraries/haskell/tls {}; tlsExtra = callPackage ../development/libraries/haskell/tls-extra {}; @@ -1507,10 +1725,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); transformersBase = callPackage ../development/libraries/haskell/transformers-base {}; + transformersCompat = callPackage ../development/libraries/haskell/transformers-compat {}; + tuple = callPackage ../development/libraries/haskell/tuple {}; typeEquality = callPackage ../development/libraries/haskell/type-equality {}; + typeLlevelNaturalNumber = callPackage ../development/libraries/haskell/type-level-natural-number {}; + unbound = callPackage ../development/libraries/haskell/unbound {}; uniplate = callPackage ../development/libraries/haskell/uniplate {}; @@ -1527,6 +1749,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); url = callPackage ../development/libraries/haskell/url {}; + urlencoded = callPackage ../development/libraries/haskell/urlencoded {}; + utf8Light = callPackage ../development/libraries/haskell/utf8-light {}; utf8String = callPackage ../development/libraries/haskell/utf8-string {}; @@ -1535,6 +1759,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); uulib = callPackage ../development/libraries/haskell/uulib {}; + uuid = callPackage ../development/libraries/haskell/uuid {}; + uuParsinglib = callPackage ../development/libraries/haskell/uu-parsinglib {}; vacuum = callPackage ../development/libraries/haskell/vacuum {}; @@ -1543,18 +1769,29 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); vault = callPackage ../development/libraries/haskell/vault {}; + vcsRevision = callPackage ../development/libraries/haskell/vcs-revision {}; + Vec = callPackage ../development/libraries/haskell/Vec {}; - vector = callPackage ../development/libraries/haskell/vector {}; + vect = callPackage ../development/libraries/haskell/vect {}; + + vector_0_9_1 = callPackage ../development/libraries/haskell/vector/0.9.1.nix {}; + vector_0_10 = callPackage ../development/libraries/haskell/vector/0.10.nix {}; + vector_0_10_0_1 = callPackage ../development/libraries/haskell/vector/0.10.0.1.nix {}; + vector = self.vector_0_10_0_1; vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {}; vectorSpace = callPackage ../development/libraries/haskell/vector-space {}; + vectorSpacePoints = callPackage ../development/libraries/haskell/vector-space-points {}; + void = callPackage ../development/libraries/haskell/void {}; vty = callPackage ../development/libraries/haskell/vty {}; + vtyUi = callPackage ../development/libraries/haskell/vty-ui {}; + wai = callPackage ../development/libraries/haskell/wai {}; waiAppStatic = callPackage ../development/libraries/haskell/wai-app-static {}; @@ -1563,6 +1800,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); waiLogger = callPackage ../development/libraries/haskell/wai-logger {}; + waiTest = callPackage ../development/libraries/haskell/wai-test {}; + warp = callPackage ../development/libraries/haskell/warp {}; WebBits_1_0 = callPackage ../development/libraries/haskell/WebBits/1.0.nix { @@ -1586,6 +1825,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); wlPprintText = callPackage ../development/libraries/haskell/wl-pprint-text {}; + word8 = callPackage ../development/libraries/haskell/word8 {}; + wx = callPackage ../development/libraries/haskell/wxHaskell/wx.nix {}; wxc = callPackage ../development/libraries/haskell/wxHaskell/wxc.nix { @@ -1596,16 +1837,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); wxGTK = pkgs.wxGTK29; }; - wxdirect = callPackage ../development/libraries/haskell/wxHaskell/wxdirect.nix { - time = self.time_1_2_0_5; - }; + wxdirect = callPackage ../development/libraries/haskell/wxHaskell/wxdirect.nix {}; - X11_1_5_0_1 = callPackage ../development/libraries/haskell/X11/1.5.0.1.nix {}; - X11_1_6_0 = callPackage ../development/libraries/haskell/X11/1.6.0.nix {}; - X11 = self.X11_1_6_0; + X11 = callPackage ../development/libraries/haskell/X11 {}; X11Xft = callPackage ../development/libraries/haskell/X11-xft {}; + xdgBasedir = callPackage ../development/libraries/haskell/xdg-basedir {}; + + xdot = callPackage ../development/libraries/haskell/xdot { + polyparse = self.polyparse_1_7; + }; + xhtml_3000_2_0_1 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.1.nix {}; xhtml_3000_2_0_4 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.4.nix {}; xhtml_3000_2_0_5 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.5.nix {}; @@ -1616,6 +1859,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {}; + xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {}; + xmlhtml = callPackage ../development/libraries/haskell/xmlhtml {}; xmlTypes = callPackage ../development/libraries/haskell/xml-types {}; @@ -1644,9 +1889,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); yesodStatic = callPackage ../development/libraries/haskell/yesod-static {}; + yesodTest = callPackage ../development/libraries/haskell/yesod-test {}; + yst = callPackage ../development/libraries/haskell/yst {}; - zeromqHaskell = callPackage ../development/libraries/haskell/zeromq-haskell {}; + zeromqHaskell = callPackage ../development/libraries/haskell/zeromq-haskell { zeromq = pkgs.zeromq2; }; + + zeromq3Haskell = callPackage ../development/libraries/haskell/zeromq3-haskell { zeromq = pkgs.zeromq3; }; zipArchive = callPackage ../development/libraries/haskell/zip-archive {}; @@ -1664,7 +1913,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix { inherit (pkgs) zlib; }; - zlib = self.zlib_0_5_3_3; + zlib_0_5_4_0 = callPackage ../development/libraries/haskell/zlib/0.5.4.0.nix { + inherit (pkgs) zlib; + }; + zlib = self.zlib_0_5_4_0; zlibBindings = callPackage ../development/libraries/haskell/zlib-bindings {}; @@ -1713,14 +1965,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {}; haddock_2_9_4 = callPackage ../development/tools/documentation/haddock/2.9.4.nix {}; haddock_2_10_0 = callPackage ../development/tools/documentation/haddock/2.10.0.nix {}; - haddock = self.haddock_2_10_0; + haddock_2_11_0 = callPackage ../development/tools/documentation/haddock/2.11.0.nix {}; + haddock_2_12_0 = callPackage ../development/tools/documentation/haddock/2.12.0.nix {}; + haddock_2_13_1 = callPackage ../development/tools/documentation/haddock/2.13.1.nix {}; + haddock = self.haddock_2_13_1; happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {}; happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {}; happy_1_18_6 = callPackage ../development/tools/parsing/happy/1.18.6.nix {}; happy_1_18_8 = callPackage ../development/tools/parsing/happy/1.18.8.nix {}; happy_1_18_9 = callPackage ../development/tools/parsing/happy/1.18.9.nix {}; - happy = self.happy_1_18_9; + happy_1_18_10 = callPackage ../development/tools/parsing/happy/1.18.10.nix {}; + happy = self.happy_1_18_10; happyMeta = callPackage ../development/tools/haskell/happy-meta {}; @@ -1739,8 +1995,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); }; tar_0_3_2_0 = callPackage ../development/tools/haskell/tar/0.3.2.0.nix {}; - tar_0_4_0_0 = callPackage ../development/tools/haskell/tar/0.4.0.0.nix {}; - tar = self.tar_0_4_0_0; + tar_0_4_0_1 = callPackage ../development/tools/haskell/tar/0.4.0.1.nix {}; + tar = self.tar_0_4_0_1; threadscope = callPackage ../development/tools/haskell/threadscope {}; @@ -1750,9 +2006,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); # Applications. - darcs = callPackage ../applications/version-management/darcs { - tar = self.tar_0_3_2_0; - }; + darcs = callPackage ../applications/version-management/darcs {}; leksah = callPackage ../applications/editors/leksah { QuickCheck = self.QuickCheck2; @@ -1762,24 +2016,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); stm = self.stm_2_3; }; - xmonad = callPackage ../applications/window-managers/xmonad { - X11 = self.X11_1_5_0_1; - }; + xmonad = callPackage ../applications/window-managers/xmonad {}; - xmonadContrib = callPackage ../applications/window-managers/xmonad/xmonad-contrib.nix { - X11 = self.X11_1_5_0_1; - X11Xft = self.X11Xft.override { X11 = self.X11_1_5_0_1; }; - }; + xmonadContrib = callPackage ../applications/window-managers/xmonad/xmonad-contrib.nix {}; - xmonadExtras = callPackage ../applications/window-managers/xmonad/xmonad-extras.nix { - X11 = self.X11_1_5_0_1; - split = self.split_0_1; - }; + xmonadExtras = callPackage ../applications/window-managers/xmonad/xmonad-extras.nix {}; # Tools. cabal2nix = callPackage ../development/tools/haskell/cabal2nix {}; + cabalDev = callPackage ../development/tools/haskell/cabal-dev { + mtl = self.mtl_2_0_1_0.override { transformers = self.transformers_0_2_2_0; }; + transformers = self.transformers_0_2_2_0; + tar = self.tar_0_3_2_0; + }; + cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {}; cabalInstall_0_6_2 = callPackage ../tools/package-management/cabal-install/0.6.2.nix {}; @@ -1787,12 +2039,19 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); cabalInstall_0_8_2 = callPackage ../tools/package-management/cabal-install/0.8.2.nix {}; cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {}; cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {}; - cabalInstall = self.cabalInstall_0_14_0; + cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix {}; + cabalInstall = self.cabalInstall_1_16_0_2; + + jailbreakCabal = callPackage ../development/tools/haskell/jailbreak-cabal {}; lhs2tex = callPackage ../tools/typesetting/lhs2tex {}; myhasktags = callPackage ../tools/misc/myhasktags {}; + splot = callPackage ../development/tools/haskell/splot {}; + + timeplot = callPackage ../development/tools/haskell/timeplot {}; + # Games. LambdaHack = callPackage ../games/LambdaHack {}; diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index d2f74fe74c0..cd70773869d 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -47,16 +47,16 @@ releaseTools.sourceTarball { export NIX_DB_DIR=$TMPDIR export NIX_STATE_DIR=$TMPDIR nix-store --init - + # Run the regression tests in `lib'. res="$(nix-instantiate --eval-only --strict pkgs/lib/tests.nix)" if test "$res" != "[ ]"; then echo "regression tests for lib failed, got: $res" exit 1 fi - + # Check that all-packages.nix evaluates on a number of platforms. - for platform in i686-linux x86_64-linux powerpc-linux i686-freebsd powerpc-darwin i686-darwin; do + for platform in i686-linux x86_64-linux powerpc-linux i686-freebsd; do header "checking pkgs/top-level/all-packages.nix on $platform" nix-env --readonly-mode -f pkgs/top-level/all-packages.nix \ --show-trace --argstr system "$platform" \ @@ -72,13 +72,12 @@ releaseTools.sourceTarball { distPhase = '' find . -name "\.svn" -exec rm -rvf {} \; -prune - + mkdir -p $out/tarballs mkdir ../$releaseName cp -prd . ../$releaseName echo nixpkgs > ../$releaseName/channel-name - (cd .. && tar cfa $out/tarballs/$releaseName.tar.bz2 $releaseName) || false - (cd .. && tar cfa $out/tarballs/$releaseName.tar.lzma $releaseName) || false + (cd .. && tar cfa $out/tarballs/$releaseName.tar.xz $releaseName) || false mkdir -p $out/release-notes cp doc/NEWS.html $out/release-notes/index.html diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix index 0ab4306cca0..083fb573087 100644 --- a/pkgs/top-level/node-packages.nix +++ b/pkgs/top-level/node-packages.nix @@ -1,11 +1,196 @@ -{ pkgs, stdenv, nodejs, fetchurl }: +{ pkgs, stdenv, nodejs, fetchurl, neededNatives }: let self = { buildNodePackage = import ../development/web/nodejs/build-node-package.nix { - inherit stdenv nodejs; + inherit stdenv nodejs neededNatives; + inherit (pkgs) runCommand; }; - "coffee-script" = self."coffee-script-1.3.3"; + patchLatest = srcAttrs: + let src = fetchurl srcAttrs; in + pkgs.runCommand src.name {} '' + tar xf ${src} + sed -i -e "s/: \"latest\"/: \"*\"/" package/package.json + tar cf $out package + ''; + + "abbrev" = self."abbrev-1"; + + "abbrev-1" = self.buildNodePackage rec { + name = "abbrev-1.0.3"; + src = fetchurl { + url = "http://registry.npmjs.org/abbrev/-/${name}.tgz"; + sha256 = "d444c07f411418828a5e81ac85569afe638e6441a562086faa0209ec7bdf55f2"; + }; + deps = [ + + ]; + }; + + "active-x-obfuscator" = self."active-x-obfuscator-0.0.1"; + + "active-x-obfuscator-0.0.1" = self.buildNodePackage rec { + name = "active-x-obfuscator-0.0.1"; + src = fetchurl { + url = "http://registry.npmjs.org/active-x-obfuscator/-/${name}.tgz"; + sha256 = "069cc18a0e7790ec106b267d28b47c691220f119a8daec925dd47f06866ce1c6"; + }; + deps = [ + self."zeparser-0.0.5" + ]; + }; + + "ansi" = self."ansi-~0.1.2"; + + "ansi-~0.1.2" = self.buildNodePackage rec { + name = "ansi-0.1.2"; + src = fetchurl { + url = "http://registry.npmjs.org/ansi/-/${name}.tgz"; + sha256 = "6f2288b1db642eb822578f4ee70bf26bf97173cc7d3f10f496070fb96250006b"; + }; + deps = [ + + ]; + }; + + "async" = self."async-0.1.22"; + + "async-0.1.22" = self.buildNodePackage rec { + name = "async-0.1.22"; + src = fetchurl { + url = "http://registry.npmjs.org/async/-/${name}.tgz"; + sha256 = "6fd2750cd519a754b0e32ef3423e64768055129e00a95d9297005bda29fdef18"; + }; + deps = [ + + ]; + }; + + "backbone" = self."backbone-0.9.2"; + + "backbone-0.9.2" = self.buildNodePackage rec { + name = "backbone-0.9.2"; + src = fetchurl { + url = "http://registry.npmjs.org/backbone/-/${name}.tgz"; + sha256 = "0a5ebc8d32949ea2870a684e8430a8b4dec75a163ecf2740eb5fb4865393bb32"; + }; + deps = [ + self."underscore->=1.3.1" + ]; + }; + + "bindings" = self."bindings-1"; + + "bindings-1" = self.buildNodePackage rec { + name = "bindings-1.0.0"; + src = fetchurl { + url = "http://registry.npmjs.org/bindings/-/${name}.tgz"; + sha256 = "cb211ac856d135af5ee864762fae9e554225a613ea1fd815c20b8fdd1679c9ed"; + }; + deps = [ + + ]; + }; + + "block-stream" = self."block-stream-*"; + + "block-stream-*" = self.buildNodePackage rec { + name = "block-stream-0.0.6"; + src = fetchurl { + url = "http://registry.npmjs.org/block-stream/-/${name}.tgz"; + sha256 = "2fc365b42b8601c8ee150d453f6cc762a01054b7fb28bdfcfcbce7c97e93601b"; + }; + deps = [ + self."inherits-~1.0.0" + ]; + }; + + "browserchannel" = self."browserchannel-0.4.1"; + + "browserchannel-0.4.1" = self.buildNodePackage rec { + name = "browserchannel-0.4.1"; + src = fetchurl { + url = "http://registry.npmjs.org/browserchannel/-/${name}.tgz"; + sha256 = "f5d038347cee6802bb6f30f53bcf2adf196d241505b77ffca3d5f8a76a109c5f"; + }; + deps = [ + self."coffee-script-~1" + self."hat" + self."connect-~1.7" + self."timerstub" + self."request-~2" + ]; + }; + + "bson" = self."bson-0.1.5"; + + "bson-0.1.5" = self.buildNodePackage rec { + name = "bson-0.1.5"; + src = fetchurl { + url = "http://registry.npmjs.org/bson/-/${name}.tgz"; + sha256 = "58af4a1697b015190b40c2a7e5743f9d4494887ef98dfe2f58f24c70f2d31150"; + }; + deps = [ + + ]; + }; + + "buffertools" = self."buffertools-~1"; + + "buffertools-~1" = self.buildNodePackage rec { + name = "buffertools-1.1.0"; + src = fetchurl { + url = "http://registry.npmjs.org/buffertools/-/${name}.tgz"; + sha256 = "a0520dbf39eedbd8c685ac4989bf822ac57cc161924abf82ba567234620380a5"; + }; + deps = [ + + ]; + }; + + "bytes" = self."bytes-0.1.0"; + + "bytes-0.1.0" = self.buildNodePackage rec { + name = "bytes-0.1.0"; + src = fetchurl { + url = "http://registry.npmjs.org/bytes/-/${name}.tgz"; + sha256 = "32954618600f6566ecd95aec0ea0ae3318a1b4a29bf6a7970462c29a843bf701"; + }; + deps = [ + + ]; + }; + + "cipher-block-size" = self."cipher-block-size-0.0.0"; + + "cipher-block-size-0.0.0" = self.buildNodePackage rec { + name = "cipher-block-size-0.0.0"; + src = fetchurl { + url = https://bitbucket.org/shlevy/node-cipher-block-size/get/0.0.0.tar.gz; + sha256 = "0j4i19ckb9ab9aqd4w3j0vrvcw7c6icq279x4fx8xs1h9massxng"; + name = "${name}.tgz"; + }; + deps = [ + self."bindings-1" + ]; + buildInputs = [ + pkgs.openssl + ]; + }; + + "coffee-script" = self."coffee-script-1.4.0"; + "coffee-script-~1" = self."coffee-script-1.4.0"; + + "coffee-script-~1.1.2" = self.buildNodePackage rec { + name = "coffee-script-1.1.3"; + src = fetchurl { + url = "http://registry.npmjs.org/coffee-script/-/${name}.tgz"; + sha256 = "3b431da901f753bde0ab26245c7111e1e4b8be1bba0086cf4a7470d739acae87"; + }; + deps = [ + + ]; + }; "coffee-script-1.3.3" = self.buildNodePackage rec { name = "coffee-script-1.3.3"; @@ -18,30 +203,385 @@ let self = { ]; }; - "semver" = self."semver-1"; - - "semver-1" = self.buildNodePackage rec { - name = "semver-1.0.14"; + "coffee-script-1.4.0" = self.buildNodePackage rec { + name = "coffee-script-1.4.0"; src = fetchurl { - url = "http://registry.npmjs.org/semver/-/${name}.tgz"; - sha256 = "560df522ae0e8834d8b07f6ca9c60bd8836e844642361abde108018cbe9ca82f"; + url = "http://registry.npmjs.org/coffee-script/-/${name}.tgz"; + sha256 = "146e8985d89210b63dae83378fd851ccf54d38d7d11cadcdca01520d50882613"; }; deps = [ ]; }; - "npm2nix" = self."npm2nix-0.1.2"; + "commander" = self."commander-~0.6.1"; - "npm2nix-0.1.2" = self.buildNodePackage rec { - name = "npm2nix-0.1.2"; + "commander-~0.6.1" = self.buildNodePackage rec { + name = "commander-0.6.1"; src = fetchurl { - url = https://bitbucket.org/shlevy/npm2nix/get/0.1.2.tar.gz; - sha256 = "0wmgdbjvvwqv47113xdipzkmdafsca9av1s0fq605jf97wrpvbw3"; - name = "${name}.tgz"; + url = "http://registry.npmjs.org/commander/-/${name}.tgz"; + sha256 = "7b7fdd1bc4d16f6776169a64f133d629efe2e3a7cd338b1d0884ee909abbd729"; }; deps = [ - self."semver-1" + + ]; + }; + + "connect" = self."connect-2.4.4"; + + "connect-~1.7" = self.buildNodePackage rec { + name = "connect-1.7.3"; + src = fetchurl { + url = "http://registry.npmjs.org/connect/-/${name}.tgz"; + sha256 = "773fd6ca8c90e33cc28d012fb3d72d66eb99114b20d88228330458628f030d12"; + }; + deps = [ + self."qs->= 0.3.1" + self."mime->= 0.0.1" + ]; + }; + + "connect-2.4.4" = self.buildNodePackage rec { + name = "connect-2.4.4"; + src = fetchurl { + url = "http://registry.npmjs.org/connect/-/${name}.tgz"; + sha256 = "1f474ca9db05b9d58f3469ad4932722e49bec1f6ec35665ddea09155382914e9"; + }; + deps = [ + self."qs-0.4.2" + self."formidable-1.0.11" + self."crc-0.2.0" + self."cookie-0.0.4" + self."bytes-0.1.0" + self."send-0.0.4" + self."fresh-0.1.0" + self."pause-0.0.1" + self."debug" + ]; + }; + + "cookie" = self."cookie-0.0.4"; + + "cookie-0.0.4" = self.buildNodePackage rec { + name = "cookie-0.0.4"; + src = fetchurl { + url = "http://registry.npmjs.org/cookie/-/${name}.tgz"; + sha256 = "a917477c448a6a91ef73d550d8d8a6d4864e8fbd247b6f73baaca66c9bfc3b0b"; + }; + deps = [ + + ]; + }; + + "crc" = self."crc-0.2.0"; + + "crc-0.2.0" = self.buildNodePackage rec { + name = "crc-0.2.0"; + src = fetchurl { + url = "http://registry.npmjs.org/crc/-/${name}.tgz"; + sha256 = "027c180bbbddd0960e6000f7ef60623997dfa61b3c2ef141acf00c29a1763b5d"; + }; + deps = [ + + ]; + }; + + "cssmin" = self."cssmin-0.3.1"; + + "cssmin-0.3.1" = self.buildNodePackage rec { + name = "cssmin-0.3.1"; + src = fetchurl { + url = "http://registry.npmjs.org/cssmin/-/${name}.tgz"; + sha256 = "56f1854fd0c6cb4cf78cea861e7b617ccf1daf91b47fba5bc80abdf2529b3102"; + }; + deps = [ + + ]; + }; + + "datetime" = self."datetime-0.0.3"; + + "datetime-0.0.3" = self.buildNodePackage rec { + name = "datetime-0.0.3"; + src = fetchurl { + url = "http://registry.npmjs.org/datetime/-/${name}.tgz"; + sha256 = "d584a5b140ced7bd44199fc5e1b6cd55ec2d3c946dc990ced42f6ab2687747f0"; + }; + deps = [ + self."vows->=0.5.4" + ]; + }; + + "debug" = self."debug-*"; + + "debug-*" = self.buildNodePackage rec { + name = "debug-0.7.0"; + src = fetchurl { + url = "http://registry.npmjs.org/debug/-/${name}.tgz"; + sha256 = "113c041fb01fd8db2a1b83320529849ccbb23794a4c3799a0154312de2a5d618"; + }; + deps = [ + + ]; + }; + + "diff" = self."diff-~1.0.3"; + + "diff-~1.0.3" = self.buildNodePackage rec { + name = "diff-1.0.3"; + src = fetchurl { + url = "http://registry.npmjs.org/diff/-/${name}.tgz"; + sha256 = "88e1bb04e3707c5601ec0841e170f8892a3b929bf8c4030f826cd32c1fa21472"; + }; + deps = [ + + ]; + }; + + "escape-html" = self."escape-html-0.0.1"; + + "escape-html-0.0.1" = self.buildNodePackage rec { + name = "escape-html-0.0.1"; + src = fetchurl { + url = "http://registry.npmjs.org/escape-html/-/${name}.tgz"; + sha256 = "03c24a492f80659c25f788809ae64277408a4c12594cff62f89db4b3259c6b58"; + }; + deps = [ + + ]; + }; + + "eyes" = self."eyes->=0.1.6"; + + "eyes->=0.1.6" = self.buildNodePackage rec { + name = "eyes-0.1.8"; + src = fetchurl { + url = "http://registry.npmjs.org/eyes/-/${name}.tgz"; + sha256 = "4fa6db8f2c9926fb39a211c622d7eb3a76efbc4878559f9bd155d647a6963735"; + }; + deps = [ + + ]; + }; + + "faye-websocket" = self."faye-websocket-0.4.0"; + + "faye-websocket-0.4.0" = self.buildNodePackage rec { + name = "faye-websocket-0.4.0"; + src = fetchurl { + url = "http://registry.npmjs.org/faye-websocket/-/${name}.tgz"; + sha256 = "853b8d2f4611013da89faf45b6c9f6e440ad6c46616e405b8cf59b4302e78e2f"; + }; + deps = [ + + ]; + }; + + "formidable" = self."formidable-1.0.11"; + + "formidable-1.0.11" = self.buildNodePackage rec { + name = "formidable-1.0.11"; + src = fetchurl { + url = "http://registry.npmjs.org/formidable/-/${name}.tgz"; + sha256 = "39b345d14d69c27fe262e12f16900cef6be220510788866e0a12c9fedd03766e"; + }; + deps = [ + + ]; + }; + + "fresh" = self."fresh-0.1.0"; + + "fresh-0.1.0" = self.buildNodePackage rec { + name = "fresh-0.1.0"; + src = fetchurl { + url = "http://registry.npmjs.org/fresh/-/${name}.tgz"; + sha256 = "c402fbd25e26c0167bf288e1ba791716808bfaa5de32b76ae68e8e8a3d7e2b33"; + }; + deps = [ + + ]; + }; + + "fstream" = self."fstream-0.1.18"; + "fstream-~0.1.8" = self."fstream-0.1.18"; + "fstream-~0.1.13" = self."fstream-0.1.18"; + + "fstream-0.1.18" = self.buildNodePackage rec { + name = "fstream-0.1.18"; + src = fetchurl { + url = "http://registry.npmjs.org/fstream/-/${name}.tgz"; + sha256 = "fd5791dd0ce8d7b707fa171ac5bd482e09f80cd09ec8176b45d547416893372d"; + }; + deps = [ + self."rimraf-2" + self."mkdirp-0.3" + self."graceful-fs-~1.1.2" + self."inherits-~1.0.0" + ]; + }; + + "glob" = self."glob-3"; + + "glob-3" = self.buildNodePackage rec { + name = "glob-3.1.12"; + src = fetchurl { + url = "http://registry.npmjs.org/glob/-/${name}.tgz"; + sha256 = "a37c02e9a91915fe4e3232229676e842803151dde831d1046620ec96118f6036"; + }; + deps = [ + self."minimatch-0.2" + self."graceful-fs-~1.1.2" + self."inherits-1" + ]; + }; + + "graceful-fs" = self."graceful-fs-1.1.10"; + "graceful-fs-1" = self."graceful-fs-1.1.10"; + "graceful-fs-~1.1" = self."graceful-fs-1.1.10"; + "graceful-fs-~1.1.2" = self."graceful-fs-1.1.10"; + + "graceful-fs-1.1.10" = self.buildNodePackage rec { + name = "graceful-fs-1.1.10"; + src = fetchurl { + url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz"; + sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24"; + }; + deps = [ + + ]; + }; + + "hat" = self."hat-0.0.3"; + + "hat-0.0.3" = self.buildNodePackage rec { + name = "hat-0.0.3"; + src = fetchurl { + url = "http://registry.npmjs.org/hat/-/${name}.tgz"; + sha256 = "7bf52b3b020ca333a42eb67411090912b21abb6ac746d587022a0955b16e5f5c"; + }; + deps = [ + + ]; + }; + + "hiredis" = self."hiredis-*"; + + "hiredis-*" = self.buildNodePackage rec { + name = "hiredis-0.1.14"; + src = fetchurl { + url = "http://registry.npmjs.org/hiredis/-/${name}.tgz"; + sha256 = "9d7ce0a7ae81cf465a0c26c07fb618b6ffd98ca344f14369114abf548d75637a"; + }; + deps = [ + + ]; + }; + + "inherits" = self."inherits-1.0.0"; + "inherits-1" = self."inherits-1.0.0"; + "inherits-1.x" = self."inherits-1.0.0"; + "inherits-~1.0.0" = self."inherits-1.0.0"; + + "inherits-1.0.0" = self.buildNodePackage rec { + name = "inherits-1.0.0"; + src = fetchurl { + url = "http://registry.npmjs.org/inherits/-/${name}.tgz"; + sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186"; + }; + deps = [ + + ]; + }; + + "jsontool" = self."jsontool-*"; + + "jsontool-*" = self.buildNodePackage rec { + name = "jsontool-5.1.1"; + src = fetchurl { + url = "http://registry.npmjs.org/jsontool/-/${name}.tgz"; + sha256 = "f7c12a0de635905f8134dfc8385f237135494d8c99fc0a5f112ee9735c2b6d05"; + }; + deps = [ + + ]; + }; + + "knox" = self."knox-*"; + + "knox-*" = self.buildNodePackage rec { + name = "knox-0.3.1"; + src = fetchurl { + url = "http://registry.npmjs.org/knox/-/${name}.tgz"; + sha256 = "d62623482cc2f8b2fe08ff0c0cf2ed7f35a320e806ebdfa6ac36df5486018517"; + }; + deps = [ + self."mime" + ]; + }; + + "less" = self."less-1.3.0"; + + "less-1.3.0" = self.buildNodePackage rec { + name = "less-1.3.0"; + src = fetchurl { + url = "http://registry.npmjs.org/less/-/${name}.tgz"; + sha256 = "a182824764d5feefe8a66c5f9c7fe8b92d24a7677942fd650b9092bbd3f63d1b"; + }; + deps = [ + + ]; + }; + + "lru-cache" = self."lru-cache-~2.0.0"; + + "lru-cache-~2.0.0" = self.buildNodePackage rec { + name = "lru-cache-2.0.1"; + src = fetchurl { + url = "http://registry.npmjs.org/lru-cache/-/${name}.tgz"; + sha256 = "3b4fd68f0bd75f5abf69e349b6ffa918bfe4990ff36d2d88dc74f334a9ed627e"; + }; + deps = [ + + ]; + }; + + "mime" = self."mime-*"; + + "mime->= 0.0.1" = self."mime-*"; + + "mime-1.2.6" = self.buildNodePackage rec { + name = "mime-1.2.6"; + src = fetchurl { + url = "http://registry.npmjs.org/mime/-/${name}.tgz"; + sha256 = "7460134d6b4686d64fd1e7b878d34e2bdd258ad29b6665cf62e6d92659e81591"; + }; + deps = [ + + ]; + }; + + "mime-*" = self.buildNodePackage rec { + name = "mime-1.2.7"; + src = fetchurl { + url = "http://registry.npmjs.org/mime/-/${name}.tgz"; + sha256 = "a80244918c9c75fa4d0b37f311920c7d5270aab9a05aca9a74783764ad152df6"; + }; + deps = [ + + ]; + }; + + "minimatch" = self."minimatch-0.2"; + + "minimatch-0.2" = self.buildNodePackage rec { + name = "minimatch-0.2.6"; + src = fetchurl { + url = "http://registry.npmjs.org/minimatch/-/${name}.tgz"; + sha256 = "f0030112575a815ff304fa3bc64ee7e60ab8bfddb281602bc37eca0cddd48350"; + }; + deps = [ + self."lru-cache-~2.0.0" ]; }; @@ -58,72 +598,44 @@ let self = { ]; }; - "nopt" = self."nopt-2"; + "mongodb" = self."mongodb-1.1.11"; - "nopt-2" = self.buildNodePackage rec { - name = "nopt-2.0.0"; + "mongodb-1.1.11" = self.buildNodePackage rec { + name = "mongodb-1.1.11"; src = fetchurl { - url = "http://registry.npmjs.org/nopt/-/${name}.tgz"; - sha256 = "112e9bea8b745a2e5a59d239e6f6f02e720e080ab8cdca89b6b8f0143ae718b5"; + url = "http://registry.npmjs.org/mongodb/-/${name}.tgz"; + sha256 = "fedd14b097a58ae5c2c83e5cb0af85a191ad00c2ce8d6db46520ee6cc1650277"; }; deps = [ - self."abbrev-1" + self."bson-0.1.5" ]; }; - "graceful-fs" = self."graceful-fs-1"; + "mrclean" = self."mrclean-0.1.0"; - "graceful-fs-1" = self.buildNodePackage rec { - name = "graceful-fs-1.1.10"; + "mrclean-0.1.0" = self.buildNodePackage rec { + name = "mrclean-0.1.0"; src = fetchurl { - url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz"; - sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24"; + url = "http://registry.npmjs.org/mrclean/-/${name}.tgz"; + sha256 = "5a8921007d8d3db990d41924d220f90efc8cbeb1f425c52fe0fe28be22223705"; }; deps = [ ]; }; - "fstream" = self."fstream-~0.1.13"; + "node-expat" = self."node-expat-*"; - "fstream-~0.1.13" = self.buildNodePackage rec { - name = "fstream-0.1.18"; + "node-expat-*" = self.buildNodePackage rec { + name = "node-expat-1.6.1"; src = fetchurl { - url = "http://registry.npmjs.org/fstream/-/${name}.tgz"; - sha256 = "fd5791dd0ce8d7b707fa171ac5bd482e09f80cd09ec8176b45d547416893372d"; - }; - deps = [ - self."rimraf-2" - self."mkdirp-0.3" - self."graceful-fs-~1.1.2" - self."inherits-~1.0.0" - ]; - }; - - "npmlog" = self."npmlog-0"; - - "npmlog-0" = self.buildNodePackage rec { - name = "npmlog-0.0.2"; - src = fetchurl { - url = "http://registry.npmjs.org/npmlog/-/${name}.tgz"; - sha256 = "ce98d4d3380390c0259695cce407e2e96d2970c5caee1461a62ecbd38e8caed4"; - }; - deps = [ - self."ansi-~0.1.2" - ]; - }; - - "osenv" = self."osenv-0"; - - "osenv-0" = self.buildNodePackage rec { - name = "osenv-0.0.3"; - src = fetchurl { - url = "http://registry.npmjs.org/osenv/-/${name}.tgz"; - sha256 = "aafbb23637b7338c9025f9da336f31f96674d7926c30f209e4d93ce16d5251c4"; + url = "http://registry.npmjs.org/node-expat/-/${name}.tgz"; + sha256 = "15c0566889ef8a54b2b626956b7dfc160469eb6c0d44a582a0b1077fadf034d2"; }; deps = [ ]; + buildInputs = [ pkgs.expat ]; }; "node-gyp" = self."node-gyp-*"; @@ -151,6 +663,254 @@ let self = { ]; }; + "node-uuid" = self."node-uuid-1.3.3"; + + "node-uuid-1.3.3" = self.buildNodePackage rec { + name = "node-uuid-1.3.3"; + src = fetchurl { + url = "http://registry.npmjs.org/node-uuid/-/${name}.tgz"; + sha256 = "a3fbccc904944a9c8eadc59e55aaac908cc458569f539b50077d9672a84587a8"; + }; + deps = [ + + ]; + }; + + "nopt" = self."nopt-2"; + + "nopt-2" = self.buildNodePackage rec { + name = "nopt-2.0.0"; + src = fetchurl { + url = "http://registry.npmjs.org/nopt/-/${name}.tgz"; + sha256 = "112e9bea8b745a2e5a59d239e6f6f02e720e080ab8cdca89b6b8f0143ae718b5"; + }; + deps = [ + self."abbrev-1" + ]; + }; + + "npm2nix" = self."npm2nix-0.1.3"; + + "npm2nix-0.1.3" = self.buildNodePackage rec { + name = "npm2nix-0.1.3"; + src = fetchurl { + url = https://bitbucket.org/shlevy/npm2nix/get/0.1.3.tar.gz; + sha256 = "1728fzmixcyg4g8mqcgn5yf7d4nin9zyqv8bs8b6660swhfdn4il"; + name = "${name}.tgz"; + }; + deps = [ + self."semver-1" + ]; + }; + + "npmlog" = self."npmlog-0"; + + "npmlog-0" = self.buildNodePackage rec { + name = "npmlog-0.0.2"; + src = fetchurl { + url = "http://registry.npmjs.org/npmlog/-/${name}.tgz"; + sha256 = "ce98d4d3380390c0259695cce407e2e96d2970c5caee1461a62ecbd38e8caed4"; + }; + deps = [ + self."ansi-~0.1.2" + ]; + }; + + "optimist" = self."optimist-*"; + + "optimist-*" = self.buildNodePackage rec { + name = "optimist-0.3.4"; + src = fetchurl { + url = "http://registry.npmjs.org/optimist/-/${name}.tgz"; + sha256 = "add88b473a660ad8a9ff88a3eec49a74d9c64f592acbcd219ff4c0d7249f4d60"; + }; + deps = [ + self."wordwrap-~0.0.2" + ]; + }; + + "options" = self."options-*"; + + "options-*" = self.buildNodePackage rec { + name = "options-0.0.3"; + src = fetchurl { + url = "http://registry.npmjs.org/options/-/${name}.tgz"; + sha256 = "06cfe21b54b45f8cf7bb0a184d6ea6de3adb2dc471bf0663d06c791b4d48536d"; + }; + deps = [ + + ]; + }; + + "optparse" = self."optparse-1.0.3"; + + "optparse-1.0.3" = self.buildNodePackage rec { + name = "optparse-1.0.3"; + src = fetchurl { + url = "http://registry.npmjs.org/optparse/-/${name}.tgz"; + sha256 = "1cg99i4rq8azxikzqz0ykw4q971azbj49d3m7slj041yscb6m883"; + }; + deps = [ + + ]; + }; + + "osenv" = self."osenv-0"; + + "osenv-0" = self.buildNodePackage rec { + name = "osenv-0.0.3"; + src = fetchurl { + url = "http://registry.npmjs.org/osenv/-/${name}.tgz"; + sha256 = "aafbb23637b7338c9025f9da336f31f96674d7926c30f209e4d93ce16d5251c4"; + }; + deps = [ + + ]; + }; + + "pause" = self."pause-0.0.1"; + + "pause-0.0.1" = self.buildNodePackage rec { + name = "pause-0.0.1"; + src = fetchurl { + url = "http://registry.npmjs.org/pause/-/${name}.tgz"; + sha256 = "d37b84046db0c28c9768be649e8f02bd991ede34b276b5dba7bade23b523235e"; + }; + deps = [ + + ]; + }; + + "policyfile" = self."policyfile-0.0.4"; + + "policyfile-0.0.4" = self.buildNodePackage rec { + name = "policyfile-0.0.4"; + src = fetchurl { + url = "http://registry.npmjs.org/policyfile/-/${name}.tgz"; + sha256 = "e19e9e57d6262ab7965212ec5456eae2c07438de3b09fd8f3cba36a61a14c43f"; + }; + deps = [ + + ]; + }; + + "qs" = self."qs-0.5.0"; + "qs->= 0.3.1" = self."qs-0.5.0"; + + "qs-0.4.2" = self.buildNodePackage rec { + name = "qs-0.4.2"; + src = fetchurl { + url = "http://registry.npmjs.org/qs/-/${name}.tgz"; + sha256 = "c44875d3aa882693cf73185b46fed63c1a89c34dce600b191b41dd90fb019b86"; + }; + deps = [ + + ]; + }; + + "qs-0.5.0" = self.buildNodePackage rec { + name = "qs-0.5.0"; + src = fetchurl { + url = "http://registry.npmjs.org/qs/-/${name}.tgz"; + sha256 = "229a99fc833d50307833a13d898f3de137f2823593220273295e7e1dc81ab993"; + }; + deps = [ + + ]; + }; + + "range-parser" = self."range-parser-0.0.4"; + + "range-parser-0.0.4" = self.buildNodePackage rec { + name = "range-parser-0.0.4"; + src = fetchurl { + url = "http://registry.npmjs.org/range-parser/-/${name}.tgz"; + sha256 = "8e1bcce3544330b51644ea0cb4d25f0daa4b43008a75da27e285635f4ac4b1ce"; + }; + deps = [ + + ]; + }; + + "rbytes" = self."rbytes-0.0.2"; + + "rbytes-0.0.2" = self.buildNodePackage rec { + name = "rbytes-0.0.2"; + src = fetchurl { + url = "http://registry.npmjs.org/rbytes/-/${name}.tgz"; + sha256 = "0fd4697be996ee12c65f8fb13b2edc7a554d22c31d1a344539bc611ce73b69aa"; + }; + deps = [ + + ]; + buildInputs = [ + pkgs.openssl + ]; + }; + + "redis" = self."redis-0.7.2"; + + "redis-0.6.7" = self.buildNodePackage rec { + name = "redis-0.6.7"; + src = fetchurl { + url = "http://registry.npmjs.org/redis/-/${name}.tgz"; + sha256 = "6a65c0204a773ca4adec0635d747c80a7565ba5e2028775c7d0e95d23df088bb"; + }; + deps = [ + + ]; + }; + + "redis-0.7.2" = self.buildNodePackage rec { + name = "redis-0.7.2"; + src = fetchurl { + url = "http://registry.npmjs.org/redis/-/${name}.tgz"; + sha256 = "d56d99e15dd35f6fabf545d9e91545553d60eaeb32ecf5caa1f357458df161ab"; + }; + deps = [ + self."hiredis" + ]; + }; + + "request" = self."request-~2"; + + "request-2.9" = self.buildNodePackage rec { + name = "request-2.9.203"; + src = fetchurl { + url = "http://registry.npmjs.org/request/-/${name}.tgz"; + sha256 = "2af8f83a63c7227383fbdd6114e470e0921af86a037c4e82f42883120f35f836"; + }; + deps = [ + + ]; + }; + + "request-~2" = self.buildNodePackage rec { + name = "request-2.11.0"; + src = fetchurl { + url = "http://registry.npmjs.org/request/-/${name}.tgz"; + sha256 = "01e5c144c755c8ee1a1ec93077b684bd63efb8df32d54675e20737e8e1c1afa6"; + }; + deps = [ + + ]; + }; + + "requirejs" = self."requirejs-0.26.0"; + + "requirejs-==0.26.0" = self."requirejs-0.26.0"; + + "requirejs-0.26.0" = self.buildNodePackage rec { + name = "requirejs-0.26.0"; + src = fetchurl { + url = "http://registry.npmjs.org/requirejs/-/${name}.tgz"; + sha256 = "5ec7264031784fd1b5844aba813ace9045918a0b004a52fafa6b52e9e9760407"; + }; + deps = [ + + ]; + }; + "rimraf" = self."rimraf-2"; "rimraf-2" = self.buildNodePackage rec { @@ -164,31 +924,117 @@ let self = { ]; }; - "minimatch" = self."minimatch-0.2"; + "semver" = self."semver-1"; - "minimatch-0.2" = self.buildNodePackage rec { - name = "minimatch-0.2.6"; + "semver-1" = self.buildNodePackage rec { + name = "semver-1.0.14"; src = fetchurl { - url = "http://registry.npmjs.org/minimatch/-/${name}.tgz"; - sha256 = "f0030112575a815ff304fa3bc64ee7e60ab8bfddb281602bc37eca0cddd48350"; + url = "http://registry.npmjs.org/semver/-/${name}.tgz"; + sha256 = "560df522ae0e8834d8b07f6ca9c60bd8836e844642361abde108018cbe9ca82f"; }; deps = [ - self."lru-cache-~2.0.0" + ]; }; - "glob" = self."glob-3"; + "send" = self."send-0.0.4"; - "glob-3" = self.buildNodePackage rec { - name = "glob-3.1.12"; + "send-0.0.4" = self.buildNodePackage rec { + name = "send-0.0.4"; src = fetchurl { - url = "http://registry.npmjs.org/glob/-/${name}.tgz"; - sha256 = "a37c02e9a91915fe4e3232229676e842803151dde831d1046620ec96118f6036"; + url = "http://registry.npmjs.org/send/-/${name}.tgz"; + sha256 = "7e028fa3760884d8103414f079dc4bcc99d0b72bc21bcaa9d66a319d59010d6c"; }; deps = [ - self."minimatch-0.2" - self."graceful-fs-~1.1.2" - self."inherits-1" + self."debug" + self."mime-1.2.6" + self."fresh-0.1.0" + self."range-parser-0.0.4" + ]; + }; + + "showdown" = self."showdown-0.0.1"; + + "showdown-0.0.1" = self.buildNodePackage rec { + name = "showdown-0.0.1"; + src = fetchurl { + url = "http://registry.npmjs.org/showdown/-/${name}.tgz"; + sha256 = "669a3284344a4cb51b0327af8d84b9e35c895ef1cedbafada5284a31f4d4783d"; + }; + deps = [ + + ]; + }; + + "socket.io" = self."socket.io-0.9.6"; + + "socket.io-0.9.6" = self.buildNodePackage rec { + name = "socket.io-0.9.6"; + src = fetchurl { + url = "http://registry.npmjs.org/socket.io/-/${name}.tgz"; + sha256 = "444e346e2701e2212590461a1fcf656f5d685ceb209e473517603286f09e743c"; + }; + deps = [ + self."socket.io-client-0.9.6" + self."policyfile-0.0.4" + self."redis-0.6.7" + ]; + }; + + "socket.io-client" = self."socket.io-client-0.9.6"; + + "socket.io-client-0.9.6" = self.buildNodePackage rec { + name = "socket.io-client-0.9.6"; + src = fetchurl { + url = "http://registry.npmjs.org/socket.io-client/-/${name}.tgz"; + sha256 = "eab65186515d5206fe18b9ced75aae8c803dbcd18295a9a1cb71e5ae772ba399"; + }; + deps = [ + self."uglify-js-1.2.5" + self."ws-0.4.x" + self."xmlhttprequest-1.2.2" + self."active-x-obfuscator-0.0.1" + ]; + }; + + "sockjs" = self."sockjs-0.3.1"; + + "sockjs-0.3.1" = self.buildNodePackage rec { + name = "sockjs-0.3.1"; + src = fetchurl { + url = "http://registry.npmjs.org/sockjs/-/${name}.tgz"; + sha256 = "056476f23dbe2e2182e5edea755108a8b6dbaea4b675b228172e876c8649efdf"; + }; + deps = [ + self."node-uuid-1.3.3" + self."faye-websocket-0.4.0" + self."rbytes-0.0.2" + ]; + }; + + "source-map" = self."source-map-0.1.2"; + + "source-map-0.1.2" = self.buildNodePackage rec { + name = "source-map-0.1.2"; + src = fetchurl { + url = "http://registry.npmjs.org/source-map/-/${name}.tgz"; + sha256 = "4465bb3a293c0e86092affb7cbdd6d9356cad69231c56f6e73bba7750497035f"; + }; + deps = [ + self."requirejs-==0.26.0" + ]; + }; + + "swig" = self."swig-0.13.2"; + + "swig-0.13.2" = self.buildNodePackage rec { + name = "swig-0.13.2"; + src = fetchurl { + url = "http://registry.npmjs.org/swig/-/${name}.tgz"; + sha256 = "1fxc1cg0g5bn0ksm4gddx75ff5yzzbhqn4yqh6xqa5ag73nvxiyg"; + }; + deps = [ + self."underscore" ]; }; @@ -207,6 +1053,97 @@ let self = { ]; }; + "temp" = self."temp-*"; + + "temp-*" = self.buildNodePackage rec { + name = "temp-0.4.0"; + src = fetchurl { + url = "http://registry.npmjs.org/temp/-/${name}.tgz"; + sha256 = "ca8274250d36d94e670b8773bf062a28bc43eb342ae47ff629fbb627d48d710b"; + }; + deps = [ + + ]; + }; + + "timerstub" = self."timerstub-*"; + + "timerstub-*" = self.buildNodePackage rec { + name = "timerstub-0.1.3"; + src = fetchurl { + url = "http://registry.npmjs.org/timerstub/-/${name}.tgz"; + sha256 = "0ecbd05a10e0db1d628505c8a3b6ae07246bb8cf1074c435ddc26f22fcb5e153"; + }; + deps = [ + self."coffee-script-~1.1.2" + ]; + }; + + "tinycolor" = self."tinycolor-0.x"; + + "tinycolor-0.x" = self.buildNodePackage rec { + name = "tinycolor-0.0.1"; + src = fetchurl { + url = "http://registry.npmjs.org/tinycolor/-/${name}.tgz"; + sha256 = "f5aaf5df002750c4af19181988c8789c9e230445747e511dde7c660424f286a0"; + }; + deps = [ + + ]; + }; + + "uglify-js" = self."uglify-js-1.2.6"; + + "uglify-js-1.2.5" = self.buildNodePackage rec { + name = "uglify-js-1.2.5"; + src = fetchurl { + url = "http://registry.npmjs.org/uglify-js/-/${name}.tgz"; + sha256 = "111fa1b844885b94df8cd73eb864bd96ff2e9173e8eb7045cc778fa237304a74"; + }; + deps = [ + + ]; + }; + + "uglify-js-1.2.6" = self.buildNodePackage rec { + name = "uglify-js-1.2.6"; + src = fetchurl { + url = "http://registry.npmjs.org/uglify-js/-/${name}.tgz"; + sha256 = "6d9202c8332e78868510a5441de4d54d8c2e08901ea7945eb332be8d7670788d"; + }; + deps = [ + + ]; + }; + + "underscore" = self."underscore-1.4.2"; + "underscore->=1.3.1" = self."underscore-1.4.2"; + + "underscore-1.4.2" = self.buildNodePackage rec { + name = "underscore-1.4.2"; + src = fetchurl { + url = "http://registry.npmjs.org/underscore/-/${name}.tgz"; + sha256 = "329ab22ba9b37be4a0c694ca21b9ed85b99256a45c2e0cf3624c4719443366d6"; + }; + deps = [ + + ]; + }; + + "vows" = self."vows->=0.5.4"; + + "vows->=0.5.4" = self.buildNodePackage rec { + name = "vows-0.6.4"; + src = fetchurl { + url = "http://registry.npmjs.org/vows/-/${name}.tgz"; + sha256 = "017586c2fbdd5cd15aacdc870ea0c1b1ab60558306457ddc9b0aa4dae8290597"; + }; + deps = [ + self."eyes->=0.1.6" + self."diff-~1.0.3" + ]; + }; + "which" = self."which-1"; "which-1" = self.buildNodePackage rec { @@ -220,141 +1157,73 @@ let self = { ]; }; - "abbrev" = self."abbrev-1"; + "wordwrap" = self."wordwrap-~0.0.2"; - "abbrev-1" = self.buildNodePackage rec { - name = "abbrev-1.0.3"; + "wordwrap-~0.0.2" = self.buildNodePackage rec { + name = "wordwrap-0.0.2"; src = fetchurl { - url = "http://registry.npmjs.org/abbrev/-/${name}.tgz"; - sha256 = "d444c07f411418828a5e81ac85569afe638e6441a562086faa0209ec7bdf55f2"; + url = "http://registry.npmjs.org/wordwrap/-/${name}.tgz"; + sha256 = "66a2fa688509738922c3ad62a6159fe3c93268bd3bca2bff24df4bc02cc31582"; }; deps = [ ]; }; - "graceful-fs-~1.1.2" = self.buildNodePackage rec { - name = "graceful-fs-1.1.10"; + "ws" = self."ws-0.4.x"; + "ws-0.4.x" = self."ws-0.4.21"; + + "ws-0.4.21" = self.buildNodePackage rec { + name = "ws-0.4.21"; + src = self.patchLatest { + url = "http://registry.npmjs.org/ws/-/${name}.tgz"; + sha256 = "f21bc0058730355e1ff9d6ccf84a4cb56a2fc28e939edd15395770ea9e87fa0e"; + }; + deps = [ + self."commander-~0.6.1" + self."tinycolor-0.x" + self."options" + ]; + }; + + "wu" = self."wu-0.1.8"; + + "wu-0.1.8" = self.buildNodePackage rec { + name = "wu-0.1.8"; src = fetchurl { - url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz"; - sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24"; + url = "http://registry.npmjs.org/wu/-/${name}.tgz"; + sha256 = "2400d0ca7da862a9063a6a8d914bb4e585f81a5121b0fda8e40b1f6e782c72c6"; }; deps = [ ]; }; - "request" = self."request-2.9"; + "xmlhttprequest" = self."xmlhttprequest-1.2.2"; - "request-2.9" = self.buildNodePackage rec { - name = "request-2.9.203"; + "xmlhttprequest-1.2.2" = self.buildNodePackage rec { + name = "xmlhttprequest-1.2.2"; src = fetchurl { - url = "http://registry.npmjs.org/request/-/${name}.tgz"; - sha256 = "2af8f83a63c7227383fbdd6114e470e0921af86a037c4e82f42883120f35f836"; + url = "http://registry.npmjs.org/xmlhttprequest/-/${name}.tgz"; + sha256 = "44ce4ed6e5f7b5df84f27590fa142ecd175f53da4807b9f06c0c4733e23bd95d"; }; deps = [ ]; }; - "inherits-~1.0.0" = self.buildNodePackage rec { - name = "inherits-1.0.0"; + "zeparser" = self."zeparser-0.0.5"; + + "zeparser-0.0.5" = self.buildNodePackage rec { + name = "zeparser-0.0.5"; src = fetchurl { - url = "http://registry.npmjs.org/inherits/-/${name}.tgz"; - sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186"; + url = "http://registry.npmjs.org/zeparser/-/${name}.tgz"; + sha256 = "8b5a57ae84a7b7adf8827d1469c8f66d08d1660bd1375a07381877cd1bb9ed0b"; }; deps = [ ]; }; - - "ansi" = self."ansi-~0.1.2"; - - "ansi-~0.1.2" = self.buildNodePackage rec { - name = "ansi-0.1.2"; - src = fetchurl { - url = "http://registry.npmjs.org/ansi/-/${name}.tgz"; - sha256 = "6f2288b1db642eb822578f4ee70bf26bf97173cc7d3f10f496070fb96250006b"; - }; - deps = [ - - ]; - }; - - "block-stream" = self."block-stream-*"; - - "block-stream-*" = self.buildNodePackage rec { - name = "block-stream-0.0.6"; - src = fetchurl { - url = "http://registry.npmjs.org/block-stream/-/${name}.tgz"; - sha256 = "2fc365b42b8601c8ee150d453f6cc762a01054b7fb28bdfcfcbce7c97e93601b"; - }; - deps = [ - self."inherits-~1.0.0" - ]; - }; - - "lru-cache" = self."lru-cache-~2.0.0"; - - "lru-cache-~2.0.0" = self.buildNodePackage rec { - name = "lru-cache-2.0.1"; - src = fetchurl { - url = "http://registry.npmjs.org/lru-cache/-/${name}.tgz"; - sha256 = "3b4fd68f0bd75f5abf69e349b6ffa918bfe4990ff36d2d88dc74f334a9ed627e"; - }; - deps = [ - - ]; - }; - - "graceful-fs-~1.1" = self.buildNodePackage rec { - name = "graceful-fs-1.1.10"; - src = fetchurl { - url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz"; - sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24"; - }; - deps = [ - - ]; - }; - - "inherits" = self."inherits-1"; - - "inherits-1" = self.buildNodePackage rec { - name = "inherits-1.0.0"; - src = fetchurl { - url = "http://registry.npmjs.org/inherits/-/${name}.tgz"; - sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186"; - }; - deps = [ - - ]; - }; - - "inherits-1.x" = self.buildNodePackage rec { - name = "inherits-1.0.0"; - src = fetchurl { - url = "http://registry.npmjs.org/inherits/-/${name}.tgz"; - sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186"; - }; - deps = [ - - ]; - }; - - "fstream-~0.1.8" = self.buildNodePackage rec { - name = "fstream-0.1.18"; - src = fetchurl { - url = "http://registry.npmjs.org/fstream/-/${name}.tgz"; - sha256 = "fd5791dd0ce8d7b707fa171ac5bd482e09f80cd09ec8176b45d547416893372d"; - }; - deps = [ - self."rimraf-2" - self."mkdirp-0.3" - self."graceful-fs-~1.1.2" - self."inherits-~1.0.0" - ]; - }; }; in self diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index eeba996990d..a51abf44ff2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12,7 +12,7 @@ rec { inherit (pkgs) buildPerlPackage fetchurl stdenv perl fetchsvn; # Helper functions for packages that use Module::Build to build. - buildModule = { buildInputs ? [], ... } @ args: + buildPerlModule = { buildInputs ? [], ... } @ args: buildPerlPackage (args // { buildInputs = buildInputs ++ [ ModuleBuild ]; preConfigure = "touch Makefile.PL"; @@ -30,10 +30,7 @@ rec { }; propagatedBuildInputs = [ FileNext ]; meta = { - description = "grep-like text finder"; - longDescription = '' - ack is a grep-like tool tailored to working with large trees of source code. - ''; + description = "A grep-like tool tailored to working with large trees of source code"; homepage = http://betterthangrep.com/; license = "free"; # Artistic 2.0 }; @@ -48,13 +45,25 @@ rec { propagatedBuildInputs = [AlgorithmDiff]; }; - AlgorithmDiff = buildPerlPackage rec { - name = "Algorithm-Diff-1.1901"; + AlgorithmC3 = buildPerlModule { + name = "Algorithm-C3-0.08"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TY/TYEMQ/${name}.zip"; - sha256 = "0qk60fi49mpyvnfpjd2dzcmya8x3g5zfgb2hrnl7a5krn045g6i2"; + url = mirror://cpan/authors/id/F/FL/FLORA/Algorithm-C3-0.08.tar.gz; + sha256 = "016cjr63wivg54ms6sjnxz4g75fafgvgwralamv29phcic2cl2am"; }; - buildInputs = [pkgs.unzip]; + meta = { + description = "A module for merging hierarchies using the C3 algorithm"; + license = "perl"; + }; + }; + + AlgorithmDiff = buildPerlPackage rec { + name = "Algorithm-Diff-1.1902"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1902.tar.gz; + sha256 = "0xc315h7xwq65n9n6nq8flv5d89z6kra69hspnyccw3782zhvd68"; + }; + buildInputs = [ pkgs.unzip ]; }; aliased = buildPerlPackage rec { @@ -89,6 +98,9 @@ rec { url = mirror://cpan/authors/id/A/AB/ABW/AppConfig-1.66.tar.gz; sha256 = "1p1vs9px20lrq9mdwpzp309a8r6rchibsdmxang4krk90pi2sh4b"; }; + meta = { + description = "A bundle of Perl5 modules for reading configuration files and parsing command line arguments"; + }; }; ArrayCompare = buildPerlPackage { @@ -188,13 +200,18 @@ rec { inherit (pkgs) db4; }; - BHooksEndOfScope = buildPerlPackage rec { - name = "B-Hooks-EndOfScope-0.08"; + BHooksEndOfScope = buildPerlPackage { + name = "B-Hooks-EndOfScope-0.12"; src = fetchurl { - url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; - sha256 = "07gbfc36qr8pfwrcskq3bbpwscmi7nkvvw54vz5d9ym1fyn3zf0g"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/B-Hooks-EndOfScope-0.12.tar.gz; + sha256 = "1gagn8b9zhbwk4f4cllrvir1mspvq0ladsy0pfkwl9w85q1843lj"; + }; + propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ]; + meta = { + homepage = http://metacpan.org/release/B-Hooks-EndOfScope; + description = "Execute code after a scope finished compilation"; + license = "perl5"; }; - propagatedBuildInputs = [SubExporter VariableMagic]; }; BitVector = buildPerlPackage { @@ -259,38 +276,53 @@ rec { buildInputs = [TestPod]; }; - CaptureTiny = buildPerlPackage rec { - name = "Capture-Tiny-0.11"; + CaptureTiny = buildPerlPackage { + name = "Capture-Tiny-0.21"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz"; - sha256 = "09rhfjgryvfap2v6ym7ywl130r3q8a1p2rq70l1jv415qhj0194c"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.21.tar.gz; + sha256 = "1lvz2639zsjpr3001b2xyidnsd4kcgll5fvaa0pm928wzldb49wg"; + }; + meta = { + homepage = https://metacpan.org/release/Capture-Tiny; + description = "Capture STDOUT and STDERR from Perl, XS or external programs"; + license = "apache_2_0"; }; }; - CarpAssert = buildPerlPackage rec { + CarpAssert = buildPerlPackage { name = "Carp-Assert-0.20"; src = fetchurl { - url = "mirror://cpan/authors/id/M/MS/MSCHWERN/${name}.tar.gz"; + url = mirror://cpan/authors/id/M/MS/MSCHWERN/Carp-Assert-0.20.tar.gz; sha256 = "1wzy4lswvwi45ybsm65zlq17rrqx84lsd7rajvd0jvd5af5lmlqd"; }; + meta = { + }; }; - CarpAssertMore = buildPerlPackage rec { - name = "Carp-Assert-More-1.12"; + CarpAssertMore = buildPerlPackage { + name = "Carp-Assert-More-1.14"; src = fetchurl { - url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz"; - sha256 = "1m9k6z0m10s03x2hnc9mh5d4r8lnczm9bqd54jmnw0wzm4m33lyr"; + url = mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.14.tar.gz; + sha256 = "0cq7qk4qbhqppm4raby5k24b5mx5qjgy1884nrddhxillnzlq01z"; + }; + propagatedBuildInputs = [ CarpAssert TestException ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + license = "artistic_2"; }; - propagatedBuildInputs = [TestException CarpAssert]; }; CarpClan = buildPerlPackage { - name = "Carp-Clan-6.00"; + name = "Carp-Clan-6.04"; src = fetchurl { - url = mirror://cpan/authors/id/J/JJ/JJORE/Carp-Clan-6.00.tar.gz; - sha256 = "0lbin4i0vzagcwkywpd5x4gz3a4ira4yn5g5v1ip0pbpyqnjk15h"; + url = mirror://cpan/authors/id/S/ST/STBEY/Carp-Clan-6.04.tar.gz; + sha256 = "1v71k8s1pi16l5y579gnrg372c6pdvy6qqm6iddm8h1dx7n16bjl"; + }; + propagatedBuildInputs = [ TestException ]; + meta = { + description = "Report errors from perspective of caller of a \"clan\" of modules"; + license = "perl"; }; - propagatedBuildInputs = [TestException]; }; CatalystActionRenderView = buildPerlPackage rec { @@ -314,15 +346,17 @@ rec { [ CatalystPluginAuthentication ClassAccessor CryptPasswdMD5 AuthenHtpasswd HTMLForm ]; }; - CatalystAuthenticationStoreDBIxClass = buildPerlPackage rec { - name = "Catalyst-Authentication-Store-DBIx-Class-0.1082"; + CatalystAuthenticationStoreDBIxClass = buildPerlPackage { + name = "Catalyst-Authentication-Store-DBIx-Class-0.1503"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JA/JAYK/${name}.tar.gz"; - sha256 = "1rh5jwqw3fb16ll5id8z0igpqdwr0czi0xbaa2igalxr53hh2cni"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Store-DBIx-Class-0.1503.tar.gz; + sha256 = "1l11if91gjfrga7i7bjxwa0zybhkkrpgg6ps3nxm30vmg7xqaf4d"; + }; + propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication CatalystRuntime DBIxClass ListMoreUtils Moose namespaceautoclean TryTiny ]; + meta = { + description = "A storage class for Catalyst Authentication using DBIx::Class"; + license = "perl"; }; - propagatedBuildInputs = [ - CatalystRuntime CatalystPluginAuthentication CatalystModelDBICSchema - ]; }; CatalystComponentInstancePerContext = buildPerlPackage rec { @@ -349,20 +383,20 @@ rec { ]; }; - CatalystDevel = buildPerlPackage rec { - name = "Catalyst-Devel-1.33"; + CatalystDevel = buildPerlPackage { + name = "Catalyst-Devel-1.37"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "0g41rglw460y2n2xbysjbsjb56jkkz2m5jhap2nw3a5jby1ymp07"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Devel-1.37.tar.gz; + sha256 = "0yk526py65iy40z10d6w0fspb8fam5rf1hzsxnfyy4lpy91lp7s9"; + }; + buildInputs = [ TestFatal ]; + propagatedBuildInputs = [ CatalystRuntime CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive FileShareDir ModuleInstall Moose MooseXDaemonize MooseXEmulateClassAccessorFast namespaceautoclean namespaceclean PathClass Starman TemplateToolkit ]; + meta = { + homepage = http://dev.catalyst.perl.org/; + description = "Catalyst Development Tools"; + license = "perl"; + platforms = stdenv.lib.platforms.linux; }; - buildInputs = [ TestFatal TestMore ]; - propagatedBuildInputs = - [ CatalystRuntime CatalystActionRenderView - CatalystPluginStaticSimple CatalystPluginConfigLoader - ClassAccessor ConfigGeneral FileChangeNotify FileCopyRecursive - FileShareDir Parent PathClass TemplateToolkit YAMLTiny - ]; - CATALYST_DEVEL_NO_510_CHECK = 1; # bug in Perl 5.10.0 }; CatalystEngineHTTPPrefork = buildPerlPackage rec { @@ -383,70 +417,74 @@ rec { ]; }; - CatalystManual = buildPerlPackage rec { - name = "Catalyst-Manual-5.8000"; + CatalystManual = buildPerlPackage { + name = "Catalyst-Manual-5.9006"; src = fetchurl { - url = "mirror://cpan/authors/id/H/HK/HKCLARK/${name}.tar.gz"; - sha256 = "0ay4gcprwqw4h5vsk8g0n9ir51sq7n5i2rdahgqdlb8caj4fshz5"; + url = mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Manual-5.9006.tar.gz; + sha256 = "0cl9nqg5jrqcf2h3pgk6q8408czf5s0k0xh3ra884c9cnx84mr95"; + }; + meta = { + description = "The Catalyst developer's manual"; + license = "perl"; }; - buildInputs = [TestPod TestPodCoverage]; }; - CatalystModelDBICSchema = buildPerlPackage rec { - name = "Catalyst-Model-DBIC-Schema-0.54"; + CatalystModelDBICSchema = buildPerlPackage { + name = "Catalyst-Model-DBIC-Schema-0.60"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "19iasq94nph33vz4jrk5x6cqd9ivq0db867s524faba8avrrlxz9"; + url = mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Model-DBIC-Schema-0.60.tar.gz; + sha256 = "176jqvrmhp0wng446m0qlmh1kgqj4z1czg6s418ffr4a7c3jqyld"; + }; + buildInputs = [ DBDSQLite TestException TestRequires ]; + propagatedBuildInputs = [ CarpClan CatalystComponentInstancePerContext CatalystDevel CatalystRuntime CatalystXComponentTraits DBIxClass DBIxClassCursorCached DBIxClassSchemaLoader HashMerge ListMoreUtils Moose MooseXMarkAsMethods MooseXNonMoose MooseXTypes namespaceautoclean namespaceclean TieIxHash TryTiny ]; + meta = { + description = "DBIx::Class::Schema Model Class"; + license = "perl"; + platforms = stdenv.lib.platforms.linux; }; - buildInputs = [ TestMore TestException TestRequires DBDSQLite ]; - propagatedBuildInputs = - [ DBIxClass CatalystRuntime CatalystXComponentTraits Moose MooseXTypes - NamespaceAutoclean CarpClan ListMoreUtils TieIxHash TryTiny - CatalystDevel DBIxClassSchemaLoader MooseXNonMoose - NamespaceClean HashMerge DBIxClassCursorCached - ]; - meta.platforms = stdenv.lib.platforms.linux; }; - CatalystRuntime = buildPerlPackage rec{ - name = "Catalyst-Runtime-5.90006"; + CatalystRuntime = buildPerlPackage { + name = "Catalyst-Runtime-5.90019"; src = fetchurl { - url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz"; - sha256 = "01afjgcc5lqaw6gmzwym8n09q8nksj4jdl2z25m64sfiv1gdyx2w"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Runtime-5.90019.tar.gz; + sha256 = "0madnqyzhcvbv6iql6b10dzfqvajj0fyp1sla83csakkbff38mqp"; + }; + buildInputs = [ ClassDataInheritable DataDump HTTPMessage TestException ]; + propagatedBuildInputs = [ CGISimple ClassC3AdoptNEXT ClassLoad ClassMOP DataDump DataOptList HTMLParser HTTPBody HTTPMessage HTTPRequestAsCGI ListMoreUtils LWPUserAgent Moose MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading MROCompat namespaceautoclean namespaceclean PathClass Plack PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix SubExporter TaskWeaken TextSimpleTable TreeSimple TreeSimpleVisitorFactory TryTiny URI ]; + meta = { + homepage = http://dev.catalyst.perl.org/; + description = "The Catalyst Framework Runtime"; + license = "perl"; + platforms = stdenv.lib.platforms.linux; }; - buildInputs = [ TestException ]; - propagatedBuildInputs = - [ ClassDataInheritable ListMoreUtils NamespaceAutoclean NamespaceClean - BHooksEndOfScope MooseXEmulateClassAccessorFast ClassMOP - Moose MooseXMethodAttributes MooseXRoleWithOverloading - ClassC3AdoptNEXT CGISimple DataDump DataOptList - HTMLParser HTTPBody HTTPRequestAsCGI - LWP ModulePluggable PathClass SubExporter - TextSimpleTable TimeHiRes TreeSimple TreeSimpleVisitorFactory - URI TaskWeaken /* TextBalanced */ MROCompat MooseXTypes - MooseXGetopt MooseXTypesCommon StringRewritePrefix - MooseXTypesLoadableClass Plack PlackMiddlewareReverseProxy - ]; - meta.platforms = stdenv.lib.platforms.linux; }; - CatalystPluginAccessLog = buildPerlPackage rec { - name = "Catalyst-Plugin-AccessLog-1.04"; + CatalystPluginAccessLog = buildPerlPackage { + name = "Catalyst-Plugin-AccessLog-1.05"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "1cbbg6fviyv398lyhmv14ya0v0h0xs04d29zz9r49vzsbw6shy33"; + url = mirror://cpan/authors/id/A/AR/ARODLAND/Catalyst-Plugin-AccessLog-1.05.tar.gz; + sha256 = "0hqvckaw91q5yc25a33bp0d4qqxlgkp7rxlvi8n8svxd1406r55s"; + }; + propagatedBuildInputs = [ CatalystRuntime DateTime Moose namespaceautoclean ]; + meta = { + description = "Request logging from within Catalyst"; + license = "perl"; }; - propagatedBuildInputs = [ CatalystRuntime DateTime ]; }; - CatalystPluginAuthentication = buildPerlPackage rec { - name = "Catalyst-Plugin-Authentication-0.10018"; + CatalystPluginAuthentication = buildPerlPackage { + name = "Catalyst-Plugin-Authentication-0.10022"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "1znm81baidzhiiyanigy8rs8jq97vh94fiv4xvkrmaxz0k6vppdx"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10022.tar.gz; + sha256 = "1yxx89j6q10ydmwwhv3zq68gwndcnh4vvdqiv7az5w2rf2w1nvip"; + }; + buildInputs = [ ClassMOP Moose TestException ]; + propagatedBuildInputs = [ CatalystPluginSession CatalystRuntime ClassInspector Moose MooseXEmulateClassAccessorFast MROCompat namespaceautoclean StringRewritePrefix TryTiny ]; + meta = { + description = "Infrastructure plugin for the Catalyst authentication framework"; + license = "perl"; }; - propagatedBuildInputs = - [ CatalystRuntime CatalystPluginSession ClassInspector ]; }; CatalystPluginAuthorizationACL = buildPerlPackage rec { @@ -459,15 +497,17 @@ rec { }; CatalystPluginAuthorizationRoles = buildPerlPackage { - name = "Catalyst-Plugin-Authorization-Roles-0.07"; + name = "Catalyst-Plugin-Authorization-Roles-0.09"; src = fetchurl { - url = mirror://cpan/authors/id/B/BR/BRICAS/Catalyst-Plugin-Authorization-Roles-0.07.tar.gz; - sha256 = "07b8zc7b06p0fprjj68fk7rgh781r9s3q8dx045sk03w0fnk3b4b"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authorization-Roles-0.09.tar.gz; + sha256 = "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f"; + }; + buildInputs = [ TestException ]; + propagatedBuildInputs = [ CatalystPluginAuthentication CatalystRuntime SetObject UNIVERSALisa ]; + meta = { + description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication"; + license = "perl"; }; - propagatedBuildInputs = [ - CatalystRuntime CatalystPluginAuthentication - TestException SetObject UNIVERSALisa - ]; }; CatalystPluginConfigLoader = buildPerlPackage rec { @@ -497,15 +537,18 @@ rec { propagatedBuildInputs = [CatalystRuntime HTMLWidget]; }; - CatalystPluginSession = buildPerlPackage rec { - name = "Catalyst-Plugin-Session-0.34"; + CatalystPluginSession = buildPerlPackage { + name = "Catalyst-Plugin-Session-0.36"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "0vgm3pjymzxqnjn8cj8ld1wprwj3hq15n26djvjmnx6pwyf2ffgz"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-0.36.tar.gz; + sha256 = "14wgkrg3w69gwg6zg991k5f611xqsnyx0i0xzhw9rx2j5nf9rj4b"; + }; + buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ]; + propagatedBuildInputs = [ CatalystRuntime Moose MooseXEmulateClassAccessorFast MROCompat namespaceclean ObjectSignature ]; + meta = { + description = "Generic Session plugin - ties together server side storage and client side state required to maintain session data"; + license = "perl"; }; - buildInputs = [ TestMockObject TestDeep ]; - propagatedBuildInputs = - [ CatalystRuntime ObjectSignature MROCompat ]; }; CatalystPluginSessionStateCookie = buildPerlPackage rec { @@ -528,22 +571,30 @@ rec { [ PathClass CatalystPluginSession CacheFastMmap MROCompat ]; }; - CatalystPluginStackTrace = buildPerlPackage rec { + CatalystPluginStackTrace = buildPerlPackage { name = "Catalyst-Plugin-StackTrace-0.11"; src = fetchurl { - url = "mirror://cpan/authors/id/M/MS/MSTROUT/${name}.tar.gz"; + url = mirror://cpan/authors/id/M/MS/MSTROUT/Catalyst-Plugin-StackTrace-0.11.tar.gz; sha256 = "1ingivnga1yb4dqsj6icc4a58i9wdalzpn2qflsn8n2skgm223qb"; }; propagatedBuildInputs = [ CatalystRuntime DevelStackTrace MROCompat ]; + meta = { + description = "Display a stack trace on the debug screen"; + license = "perl"; + }; }; - CatalystPluginStaticSimple = buildPerlPackage rec { - name = "Catalyst-Plugin-Static-Simple-0.29"; + CatalystPluginStaticSimple = buildPerlPackage { + name = "Catalyst-Plugin-Static-Simple-0.30"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "1wjh1a24gksjxzzl9wblbaar5gjvlm38kndjx8629fm9dcbqvc14"; + url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.30.tar.gz; + sha256 = "18zar1n4imgnv7b4dr5sxyikry4668ngqgc6f0dr210bqafvwv7w"; + }; + propagatedBuildInputs = [ CatalystRuntime MIMETypes Moose MooseXTypes namespaceautoclean ]; + meta = { + description = "Make serving static pages painless"; + license = "perl"; }; - propagatedBuildInputs = [CatalystRuntime MIMETypes]; }; CatalystViewDownload = buildPerlPackage rec { @@ -556,25 +607,31 @@ rec { propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ]; }; - CatalystViewJSON = buildPerlPackage rec { + CatalystViewJSON = buildPerlPackage { name = "Catalyst-View-JSON-0.33"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Catalyst-View-JSON-0.33.tar.gz; sha256 = "03yda9skcfnwkm4hf2a3y7g2rdjdia5hzfnll0h7z4wiyb8kxfii"; }; - propagatedBuildInputs = [ CatalystRuntime JSONAny YAML ]; + buildInputs = [ JSON ]; + propagatedBuildInputs = [ CatalystRuntime JSONAny MROCompat YAML ]; + meta = { + description = "JSON view for your data"; + license = "perl"; + }; }; - CatalystViewTT = buildPerlPackage rec { - name = "Catalyst-View-TT-0.37"; + CatalystViewTT = buildPerlPackage { + name = "Catalyst-View-TT-0.40"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "00vv4rkhpablmmfn70nybxy1jlfxhyf72ck3bch2gcfgqqysxvqz"; + url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-View-TT-0.40.tar.gz; + sha256 = "0j73mk631p9x0b0l24ikavh9nxl6lpya4g46fpanjk396d2zj8bs"; + }; + propagatedBuildInputs = [ CatalystRuntime ClassAccessor MROCompat PathClass TemplateToolkit TemplateTimer ]; + meta = { + description = "Template View Class"; + license = "perl"; }; - propagatedBuildInputs = [ - CatalystRuntime TemplateToolkit ClassAccessor - PathClass TemplateTimer - ]; }; CatalystXComponentTraits = buildPerlPackage rec { @@ -584,17 +641,21 @@ rec { sha256 = "0a2mhfgv0kqmaxf2crs8mqk44lyhd9qcwlpzhrc0b0dh4z503mr4"; }; propagatedBuildInputs = - [ CatalystRuntime MooseXTraitsPluggable NamespaceAutoclean ListMoreUtils ]; + [ CatalystRuntime MooseXTraitsPluggable namespaceautoclean ListMoreUtils ]; }; - CatalystXScriptServerStarman = buildPerlPackage rec { - name = "CatalystX-Script-Server-Starman-0.01"; + CatalystXScriptServerStarman = buildPerlPackage { + name = "CatalystX-Script-Server-Starman-0.02"; src = fetchurl { - url = "mirror://cpan/modules/by-module/CatalystX/${name}.tar.gz"; - sha256 = "18hpp35bjyw65x564m1m82mr0nmff6836vfjqdwf2lwsb4n8s4xr"; + url = mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.02.tar.gz; + sha256 = "0h02mpkc4cmi3jpvcd7iw7xyzx55bqvvl1qkf967gqkvpklm0qx5"; }; buildInputs = [ TestWWWMechanizeCatalyst ]; - propagatedBuildInputs = [ CatalystRuntime Starman ]; + propagatedBuildInputs = [ CatalystRuntime Moose namespaceautoclean Starman ]; + meta = { + description = "Replace the development server with Starman"; + license = "perl"; + }; }; CGICookieXS = buildPerlPackage rec { @@ -622,20 +683,27 @@ rec { buildInputs = [ DBFile ]; }; - CGISimple = buildPerlPackage rec { + CGISimple = buildPerlPackage { name = "CGI-Simple-1.113"; src = fetchurl { - url = "mirror://cpan/modules/by-module/CGI/${name}.tar.gz"; + url = mirror://cpan/authors/id/A/AN/ANDYA/CGI-Simple-1.113.tar.gz; sha256 = "0g8v0jd7dk310k6ncz47qa1cfrysi8yib1zwkhasv4zhswgqiqjj"; }; propagatedBuildInputs = [ IOStringy ]; + meta = { + description = "A Simple totally OO CGI interface that is CGI.pm compliant"; + license = "perl"; + }; }; ClassAccessor = buildPerlPackage { - name = "Class-Accessor-0.31"; + name = "Class-Accessor-0.34"; src = fetchurl { - url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.31.tar.gz; - sha256 = "1a4v5qqdf9bipd6ba5n47mag0cmgwp97cid67i510aw96bcjrsiy"; + url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.34.tar.gz; + sha256 = "1z6fqg0yz8gay15r1iasslv8f1n1mzjkrhs47fvbj3rqz36y1cfd"; + }; + meta = { + license = "perl"; }; }; @@ -648,14 +716,18 @@ rec { propagatedBuildInputs = [ClassAccessor]; }; - ClassAccessorGrouped = buildPerlPackage rec { - name = "Class-Accessor-Grouped-0.10003"; + ClassAccessorGrouped = buildPerlPackage { + name = "Class-Accessor-Grouped-0.10009"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz"; - sha256 = "036cyp74cdz8y5nig2b1iyqk6ps60sbqb0dqy0ybp3j5qiy28mix"; + url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Class-Accessor-Grouped-0.10009.tar.gz; + sha256 = "1cs6wvng9xxhmrps7qb7ccxswqkqskwj862dp4fqfra14aprlg4c"; + }; + buildInputs = [ TestException ]; + propagatedBuildInputs = [ ClassXSAccessor ModuleRuntime SubName ]; + meta = { + description = "Lets you build groups of accessors"; + license = "perl"; }; - buildInputs = [ TestMore TestException ]; - propagatedBuildInputs = [ ClassInspector SubName ClassXSAccessor ]; }; ClassAutouse = buildPerlPackage { @@ -674,31 +746,45 @@ rec { }; }; - ClassC3 = buildPerlPackage rec { - name = "Class-C3-0.21"; + ClassC3 = buildPerlPackage { + name = "Class-C3-0.24"; src = fetchurl { - url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; - sha256 = "1bl8z095y4js66pwxnm7s853pi9czala4sqc743fdlnk27kq94gz"; + url = mirror://cpan/authors/id/F/FL/FLORA/Class-C3-0.24.tar.gz; + sha256 = "1nhwf7bj7z5szk7sxmq0ynqh2k9p42a7zkfyikkairfb78xckpkz"; + }; + propagatedBuildInputs = [ AlgorithmC3 ]; + meta = { + description = "A pragma to use the C3 method resolution order algortihm"; + license = "perl"; }; }; - ClassC3AdoptNEXT = buildPerlPackage rec { - name = "Class-C3-Adopt-NEXT-0.07"; + ClassC3AdoptNEXT = buildPerlPackage { + name = "Class-C3-Adopt-NEXT-0.13"; src = fetchurl { - url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; - sha256 = "1kxbdq10vicrbz3i6hvml3mma5x0r523gfdd649f9bvrsizb0jxj"; + url = mirror://cpan/authors/id/F/FL/FLORA/Class-C3-Adopt-NEXT-0.13.tar.gz; + sha256 = "1rwgbx6dsy4rpas94p8wakzj7hrla1p15jnbm24kwhsv79gp91ld"; + }; + buildInputs = [ TestException ]; + propagatedBuildInputs = [ ListMoreUtils MROCompat ]; + meta = { + homepage = http://search.cpan.org/dist/Class-C3-Adopt-NEXT; + description = "Make NEXT suck less"; + license = "perl"; }; - propagatedBuildInputs = [MROCompat TestException ListMoreUtils]; }; - ClassC3Componentised = buildPerlPackage rec { + ClassC3Componentised = buildPerlPackage { name = "Class-C3-Componentised-1.001000"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz"; + url = mirror://cpan/authors/id/F/FR/FREW/Class-C3-Componentised-1.001000.tar.gz; sha256 = "1nzav8arxll0rya7r2vp032s3acliihbb9mjlfa13rywhh77bzvl"; }; buildInputs = [ TestException ]; propagatedBuildInputs = [ ClassC3 ClassInspector MROCompat ]; + meta = { + license = "perl"; + }; }; ClassDataAccessor = buildPerlPackage { @@ -725,11 +811,15 @@ rec { }; }; - ClassInspector = buildPerlPackage rec { - name = "Class-Inspector-1.24"; + ClassInspector = buildPerlPackage { + name = "Class-Inspector-1.28"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "0rhsn73g516knx5djqzlgygjk8ij6xxjkm1sim0facvd4z0wlw0a"; + url = mirror://cpan/authors/id/A/AD/ADAMK/Class-Inspector-1.28.tar.gz; + sha256 = "04iij8dbcgaim7g109frpyf7mh4ydsd8zh53r53chk0zxnivg91w"; + }; + meta = { + description = "Get information about a class and its structure"; + license = "perl"; }; }; @@ -741,6 +831,20 @@ rec { }; }; + ClassMethodModifiers = buildPerlPackage { + name = "Class-Method-Modifiers-2.00"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SA/SARTAK/Class-Method-Modifiers-2.00.tar.gz; + sha256 = "0lvj38ahqqyhv9dpi7ks1cq35f19nfw8ygxw22x2mcmagl8mnkhs"; + }; + buildInputs = [ TestFatal ]; + meta = { + homepage = https://github.com/sartak/Class-Method-Modifiers/tree; + description = "Provides Moose-like method modifiers"; + license = "perl"; + }; + }; + ClassMix = buildPerlPackage rec { name = "Class-Mix-0.005"; src = fetchurl { @@ -768,24 +872,34 @@ rec { }; }; - ClassLoad = buildPerlPackage rec { - name = "Class-Load-0.12"; + ClassLoad = buildPerlPackage { + name = "Class-Load-0.20"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz"; - sha256 = "0siw8hyqnmn0flk1hbd6fnnfqlhkgfr1d5442rri1d8a0rs1a36r"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Load-0.20.tar.gz; + sha256 = "084cxrm0hcpyz3ly1iqkcjpl4bs03n42na37d3pzwa8xbs44ag42"; + }; + buildInputs = [ TestFatal TestRequires ]; + propagatedBuildInputs = [ DataOptList ModuleImplementation ModuleRuntime PackageStash TryTiny ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "A working (require \"Class::Name\") and more"; + license = "perl5"; }; - buildInputs = [ TestFatal ]; - propagatedBuildInputs = [ DataOptList PackageStash ModuleRuntime ]; }; - ClassLoadXS = buildModule rec { - name = "Class-Load-XS-0.03"; + ClassLoadXS = buildPerlModule { + name = "Class-Load-XS-0.06"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz"; - sha256 = "1k3fffm4z6hvml5gqh27p7l78xs220s2d7ybd2a42akxrx8gk9r8"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Load-XS-0.06.tar.gz; + sha256 = "1dl739nnfw2j9rjgqxx24jqbanyvncqfnkwm27af8ik6kiqk50ik"; }; - buildInputs = [ TestFatal ]; + buildInputs = [ ModuleImplementation TestFatal TestRequires ]; propagatedBuildInputs = [ ClassLoad ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "XS implementation of parts of Class::Load"; + license = "artistic_2"; + }; }; ClassUnload = buildPerlPackage rec { @@ -797,33 +911,58 @@ rec { propagatedBuildInputs = [ ClassInspector ]; }; - ClassXSAccessor = buildPerlPackage rec { - name = "Class-XSAccessor-1.13"; + ClassXSAccessor = buildPerlPackage { + name = "Class-XSAccessor-1.16"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz"; - sha256 = "1nj21xq8bqvfz2mafrfskzw2p2j48b5k3rqxgxk99lw5ysmkz834"; + url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.16.tar.gz; + sha256 = "1yjpw9kssy4m52407k45hxjnqz02494z7x8j44pjzkyi8msafvg5"; + }; + meta = { + description = "Generate fast XS accessors without runtime compilation"; + license = "perl5"; }; }; - Clone = buildPerlPackage rec { - name = "Clone-0.31"; + Clone = buildPerlPackage { + name = "Clone-0.34"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RD/RDF/${name}.tar.gz"; - sha256 = "0fazl71hrc0r56gnc7vzwz9283p7h62gc8wsna7zgyfvrajjnhwl"; + url = mirror://cpan/authors/id/G/GA/GARU/Clone-0.34.tar.gz; + sha256 = "0qk32i2ncmn7wm2dbjpwhwa4js079bgfs4ayb90mnxjhwq5358ix"; + }; + meta = { + description = "Recursively copy Perl datatypes"; + license = "perl5"; }; }; CommonSense = buildPerlPackage rec { - name = "common-sense-3.4"; + name = "common-sense-3.6"; src = fetchurl { - url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz"; - sha256 = "0s1lym5519gwdgwd6c6cq9c9iagr7bmb16jklq5iq3nsdyb0qc2l"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.6.tar.gz; + sha256 = "0nkbp1by0mpvg1x6053fbh9dl8nnswlyfmqp8k2lppd717hw5ql6"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; }; }; - CompressRawBzip2 = import ../development/perl-modules/Compress-Raw-Bzip2 { - inherit fetchurl buildPerlPackage; - inherit (pkgs) bzip2; + CompressRawBzip2 = buildPerlPackage { + name = "Compress-Raw-Bzip2-2.060"; + src = fetchurl { + url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.060.tar.gz; + sha256 = "02azwhglk2w68aa47sjqhj6vwzi66mv4hwal87jccjfy17gcwvx7"; + }; + + # Don't build a private copy of bzip2. + BUILD_BZIP2 = false; + BZIP2_LIB = "${pkgs.bzip2}/lib"; + BZIP2_INCLUDE = "${pkgs.bzip2}/include"; + + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Low-Level Interface to bzip2 compression library"; + license = "perl5"; + }; }; CompressRawZlib = import ../development/perl-modules/Compress-Raw-Zlib { @@ -850,11 +989,14 @@ rec { }; }; - ConfigGeneral = buildPerlPackage rec { - name = "Config-General-2.50"; + ConfigGeneral = buildPerlPackage { + name = "Config-General-2.51"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz"; - sha256 = "0ff5qh6dx8qijbkx5yfvn3fhn5m2hkcl8yjmqxwnvcg78h33s3ps"; + url = mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.51.tar.gz; + sha256 = "1khby072f10jbml0dlh82bg1s91ph8z6xa9bpk0l180q936k1xcg"; + }; + meta = { + license = "perl"; }; }; @@ -901,21 +1043,59 @@ rec { propagatedBuildInputs = [ CGICookieXS ]; }; - CPANMeta = buildPerlPackage rec { - name = "CPAN-Meta-2.112150"; + CPANMeta = buildPerlPackage { + name = "CPAN-Meta-2.120921"; src = fetchurl { - url = "mirror://cpan/modules/by-module/CPAN/${name}.tar.gz"; - sha256 = "0k48ccws3j158mrr348gishh5q7vg4fmx36fgrnnnydv0psic4n0"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-2.120921.tar.gz; + sha256 = "12cprk636jaklc97vdh55yjvzcr13h3csdnv3dgna84r2jijka79"; + }; + propagatedBuildInputs = [ ParseCPANMeta CPANMetaYAML CPANMetaRequirements ]; + meta = { + homepage = https://github.com/dagolden/cpan-meta; + description = "The distribution metadata for a CPAN dist"; + license = "perl5"; }; - propagatedBuildInputs = - [ CPANMetaYAML JSONPP ParseCPANMeta VersionRequirements version ]; }; - CPANMetaYAML = buildPerlPackage rec { - name = "CPAN-Meta-YAML-0.003"; + CPANMetaCheck = buildPerlPackage { + name = "CPAN-Meta-Check-0.004"; src = fetchurl { - url = "mirror://cpan/modules/by-module/CPAN/${name}.tar.gz"; - sha256 = "1mdmn9znk60izxdvvawsylv7n85x4y6lx8pa0gnkcp6d96q031af"; + url = mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.004.tar.gz; + sha256 = "0ccybgfc0p41shmc6nmbg20xljq2ygfjcxmyaf6y07yk6wdcyf7s"; + }; + buildInputs = [ TestDifferences ]; + propagatedBuildInputs = [ CPANMeta CPANMetaRequirements ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Verify requirements in a CPAN::Meta object"; + license = "perl5"; + }; + }; + + CPANMetaRequirements = buildPerlPackage { + name = "CPAN-Meta-Requirements-2.122"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz; + sha256 = "1fq2blw9ynja34fm9ck24m3qcpyk0hp25dhxvgs01k7yz64ryffh"; + }; + buildInputs = [ TestMore ]; + meta = { + homepage = https://github.com/dagolden/cpan-meta-requirements; + description = "A set of version requirements for a CPAN dist"; + license = "perl5"; + }; + }; + + CPANMetaYAML = buildPerlPackage { + name = "CPAN-Meta-YAML-0.008"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz; + sha256 = "1fxc8ybn6mdgzxyq1n69rgihmpfaarfclmbdw2rznya5zg2b0nz0"; + }; + meta = { + homepage = https://github.com/dagolden/cpan-meta-yaml; + description = "Read and write a subset of YAML for CPAN Meta files"; + license = "perl5"; }; }; @@ -1052,12 +1232,16 @@ rec { propagatedBuildInputs = [ FileFindRule ]; }; - DataDump = buildPerlPackage rec { + DataDump = buildPerlPackage { name = "Data-Dump-1.21"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz"; + url = mirror://cpan/authors/id/G/GA/GAAS/Data-Dump-1.21.tar.gz; sha256 = "1fcy6q8p406ag8g50l7znns3kxazfb458l6kw8pbsp4axnkz9ydx"; }; + meta = { + description = "Pretty printing of data structures"; + license = "perl"; + }; }; DataDumperConcise = buildPerlPackage rec { @@ -1102,13 +1286,18 @@ rec { }; }; - DataOptList = buildPerlPackage rec { + DataOptList = buildPerlPackage { name = "Data-OptList-0.107"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.107.tar.gz; sha256 = "0r2sbvh1kj69al5crg394v5j5wkffvqdb17fz1rjfgb6h3v93xi8"; }; - propagatedBuildInputs = [SubInstall ParamsUtil]; + propagatedBuildInputs = [ ParamsUtil SubInstall ]; + meta = { + homepage = http://github.com/rjbs/data-optlist; + description = "Parse and validate simple name/value option pairs"; + license = "perl5"; + }; }; DataPage = buildPerlPackage { @@ -1136,7 +1325,7 @@ rec { }; buildInputs = [ TestRequires ]; propagatedBuildInputs = - [ ClassLoad Moose TaskWeaken TieToObject NamespaceClean ]; + [ ClassLoad Moose TaskWeaken TieToObject namespaceclean ]; }; DateCalc = buildPerlPackage { @@ -1156,14 +1345,19 @@ rec { }; }; - DateTime = buildModule rec { - name = "DateTime-0.74"; + DateTime = buildPerlModule { + name = "DateTime-0.78"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "0wabln41nk73w4j3lc1ri8jzmxd3yyskdlagv9jflqaz8awcs8qy"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-0.78.tar.gz; + sha256 = "0gicc3ib42jba989lxwy5i5sp4w3bmakdimgfxqbb57mbdarpxc5"; }; buildInputs = [ TestFatal ]; - propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone MathRound ]; + propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ParamsValidate ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "A date and time object"; + license = "artistic_2"; + }; }; DateTimeFormatBuilder = buildPerlPackage rec { @@ -1220,6 +1414,19 @@ rec { propagatedBuildInputs = [ ClassLoad ClassSingleton ParamsValidate TryTiny ]; }; + DevelCaller = buildPerlPackage { + name = "Devel-Caller-2.06"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RC/RCLAMP/Devel-Caller-2.06.tar.gz; + sha256 = "1pxpimifzmnjnvf4icclx77myc15ahh0k56sj1djad1855mawwva"; + }; + propagatedBuildInputs = [ PadWalker ]; + meta = { + description = "Meatier versions of C"; + license = "perl5"; + }; + }; + DevelChecklib = buildPerlPackage rec { name = "Devel-CheckLib-0.98"; src = fetchurl { @@ -1241,7 +1448,7 @@ rec { DBDPg = import ../development/perl-modules/DBD-Pg { inherit stdenv fetchurl buildPerlPackage DBI; - inherit (pkgs) postgresql; + postgresql = pkgs.postgresql92; }; DBFile = import ../development/perl-modules/DB_File { @@ -1249,38 +1456,46 @@ rec { inherit (pkgs) db4; }; - DBI = buildPerlPackage rec { + DBI = buildPerlPackage { name = "DBI-1.616"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TI/TIMB/${name}.tar.gz"; + url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.616.tar.gz; sha256 = "0m6hk66xprjl314d5c665hnd1vch9a0b9y6ywvmf04kdqj33kkk0"; }; - }; - - DBIxClass = buildPerlPackage rec { - name = "DBIx-Class-0.08196"; - src = fetchurl { - url = "mirror://cpan/authors/id/A/AR/ARODLAND/${name}.tar.gz"; - sha256 = "15k1kgbrsnkwr0ib6cyr114zk904lisy4k09gfiynag9wjhv47lm"; + meta = { + homepage = http://dbi.perl.org/; + description = "Database independent interface for Perl"; + license = "perl5"; }; - buildInputs = [ DBDSQLite TestException TestWarn ]; - propagatedBuildInputs = - [ PackageStash ClassAccessorGrouped ClassC3Componentised - ClassInspector ConfigAny ContextPreserve DBI DataCompare - DataDumperConcise DataPage HashMerge MROCompat ModuleFind - PathClass SQLAbstract ScopeGuard SubName TryTiny - NamespaceClean - ]; }; - DBIxClassCursorCached = buildPerlPackage rec { + DBIxClass = buildPerlPackage { + name = "DBIx-Class-0.08204"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GE/GETTY/DBIx-Class-0.08204.tar.gz; + sha256 = "0pghq6b60fyffb233hdk9qi47wcbf2sgp08679v9nxh4i5qp49gx"; + }; + buildInputs = [ DBDSQLite PackageStash TestException TestWarn ]; + propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ClassMethodModifiers ConfigAny ContextPreserve DataCompare DataDumperConcise DataPage DBI DevelGlobalDestruction HashMerge ModuleFind Moo MROCompat namespaceclean PathClass ScopeGuard SQLAbstract strictures SubName TryTiny ]; + meta = { + homepage = http://www.dbix-class.org/; + description = "Extensible and flexible object <-> relational mapper"; + license = "perl"; + }; + }; + + DBIxClassCursorCached = buildPerlPackage { name = "DBIx-Class-Cursor-Cached-1.001002"; src = fetchurl { - url = "mirror://cpan/modules/by-module/DBIx/${name}.tar.gz"; + url = mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001002.tar.gz; sha256 = "19r7jr6pknxiirrybq0cd0lnr76xiw05arnfqgk9nrhp6c7vvil0"; }; - buildInputs = [ DBDSQLite ]; - propagatedBuildInputs = [ CacheCache DBIxClass CarpClan ]; + buildInputs = [ CacheCache DBDSQLite ]; + propagatedBuildInputs = [ CarpClan DBIxClass ]; + meta = { + description = "Cursor class with built-in caching support"; + license = "perl"; + }; }; DBIxClassHTMLWidget = buildPerlPackage rec { @@ -1292,29 +1507,44 @@ rec { propagatedBuildInputs = [DBIxClass HTMLWidget]; }; - DBIxClassSchemaLoader = buildPerlPackage rec { - name = "DBIx-Class-Schema-Loader-0.07014"; + DBIxClassIntrospectableM2M = buildPerlPackage { + name = "DBIx-Class-IntrospectableM2M-0.001001"; src = fetchurl { - url = "mirror://cpan/modules/by-module/DBIx/${name}.tar.gz"; - sha256 = "0qrsh6i8p4mpx5bapn40cpsbvnvzivli71gymbiqjd0mjflbsjf6"; + url = mirror://cpan/authors/id/G/GR/GRODITI/DBIx-Class-IntrospectableM2M-0.001001.tar.gz; + sha256 = "0p9zx1yc1f6jg583l206wilsni2v8mlngc2vf2q8yn10pmy4y6wm"; + }; + propagatedBuildInputs = [ DBIxClass ]; + meta = { + description = "Introspect many-to-many relationships"; + license = "perl"; }; - buildInputs = [ TestException TestMore TestWarn DBDSQLite ]; - propagatedBuildInputs = - [ DataDump LinguaENInflectNumber LinguaENInflectPhrase - ClassAccessor ClassAccessorGrouped ClassC3Componentised - MROCompat CarpClan DBIxClass ClassLoad ClassUnload - ListMoreUtils NamespaceClean ScopeGuard TryTiny TaskWeaken - StringCamelCase StringToIdentifierEN - ]; }; - DevelGlobalDestruction = buildPerlPackage rec { - name = "Devel-GlobalDestruction-0.02"; + DBIxClassSchemaLoader = buildPerlPackage { + name = "DBIx-Class-Schema-Loader-0.07033"; src = fetchurl { - url = "mirror://cpan/authors/id/N/NU/NUFFIN/${name}.tar.gz"; - sha256 = "174m5dx2z89h4308gx6s6vmg93qzaq0bh9m91hp2vqbyialnarhw"; + url = mirror://cpan/authors/id/R/RK/RKITOVER/DBIx-Class-Schema-Loader-0.07033.tar.gz; + sha256 = "1vrcxxlbvdch5r9v5i6vrb4fqqfbpxybpdqndmlnc2jzlqjwjahi"; + }; + buildInputs = [ ConfigAny ConfigGeneral DBDSQLite DBI DBIxClassIntrospectableM2M Moose MooseXMarkAsMethods MooseXNonMoose namespaceautoclean TestException TestPod TestWarn ]; + propagatedBuildInputs = [ CarpClan ClassAccessorGrouped ClassC3Componentised ClassInspector ClassUnload DataDump DBIxClass HashMerge LinguaENInflectNumber LinguaENInflectPhrase LinguaENTagger ListMoreUtils MROCompat namespaceclean ScopeGuard StringCamelCase StringToIdentifierEN SubName TaskWeaken TryTiny ]; + meta = { + description = "Create a DBIx::Class::Schema based on a database"; + license = "perl"; + }; + }; + + DevelGlobalDestruction = buildPerlPackage { + name = "Devel-GlobalDestruction-0.09"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Devel-GlobalDestruction-0.09.tar.gz; + sha256 = "1hvrv88167rc2chqgxpd6q0ir5fki1q6r3w11v3lxfs118fdi65m"; + }; + propagatedBuildInputs = [ SubExporterProgressive ]; + meta = { + homepage = http://search.cpan.org/dist/Devel-GlobalDestruction; + license = "perl5"; }; - propagatedBuildInputs = [SubExporter ScopeGuard]; }; DevelHide = buildPerlPackage rec { @@ -1325,21 +1555,30 @@ rec { }; }; - DevelStackTrace = buildPerlPackage rec { - name = "Devel-StackTrace-1.27"; + DevelStackTrace = buildPerlPackage { + name = "Devel-StackTrace-1.30"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Devel/${name}.tar.gz"; - sha256 = "01p7b9cmji582bld81c3b84jffhdi59zydnxjj6fh3m29zyysmfs"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.30.tar.gz; + sha256 = "1m13wzg4pmbc0f1w2rn9ybqwkqg66zw9zv34ayk7gr3349v7kbzl"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "An object representing a stack trace"; + license = "artistic_2"; }; }; - DevelStackTraceAsHTML = buildPerlPackage rec { + DevelStackTraceAsHTML = buildPerlPackage { name = "Devel-StackTrace-AsHTML-0.11"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Devel/${name}.tar.gz"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.11.tar.gz; sha256 = "0y0r42gszp3bxbs9j2nn3xgs8ij1cnadrywwwdc6r0y8m0siyapg"; }; propagatedBuildInputs = [ DevelStackTrace ]; + meta = { + description = "Displays stack trace in HTML"; + license = "perl"; + }; }; DevelSymdump = buildPerlPackage rec { @@ -1362,12 +1601,15 @@ rec { }; DigestHMAC = buildPerlPackage { - name = "Digest-HMAC-1.01"; + name = "Digest-HMAC-1.03"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GAAS/Digest-HMAC-1.01.tar.gz; - sha256 = "042d6nknc5icxqsy5asrh8v2shmvg7b3vbj95jyk4sbqlqpacwz3"; + url = mirror://cpan/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz; + sha256 = "0naavabbm1c9zgn325ndy66da4insdw9l3mrxwxdfi7i7xnjrirv"; + }; + meta = { + description = "Keyed-Hashing for Message Authentication"; + license = "perl"; }; - propagatedBuildInputs = [DigestSHA1]; }; DigestMD4 = buildPerlPackage rec { @@ -1378,55 +1620,70 @@ rec { }; }; - DigestSHA = buildPerlPackage rec { - name = "Digest-SHA-5.47"; - src = fetchurl { - url = "mirror://cpan/authors/id/M/MS/MSHELOR/${name}.tar.gz"; - sha256 = "1xk9hdds4dk5iklxr8fdfbgfvd8cwgcjh5jqmjxhaw57ss2dh5wx"; - }; - }; + DigestSHA = null; DigestSHA1 = buildPerlPackage { - name = "Digest-SHA1-2.12"; + name = "Digest-SHA1-2.13"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.12.tar.gz; - sha256 = "19gmbb3yb9pr0y02c6rf99zh14a7a67l4frl7cs0lzpxb41484xa"; + url = mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.13.tar.gz; + sha256 = "1k23p5pjk42vvzg8xcn4iwdii47i0qm4awdzgbmz08bl331dmhb8"; + }; + meta = { + description = "Perl interface to the SHA-1 algorithm"; + license = "perl"; }; }; - DistCheckConflicts = buildPerlPackage rec { + DistCheckConflicts = buildPerlPackage { name = "Dist-CheckConflicts-0.02"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; + url = mirror://cpan/authors/id/D/DO/DOY/Dist-CheckConflicts-0.02.tar.gz; sha256 = "1lh7j20vvsh4dyh74hr0wnabyv8vcdkilfi93m2fbk69qk3w995j"; }; buildInputs = [ TestFatal ]; - propagatedBuildInputs = [ ListMoreUtils SubExporter ]; + propagatedBuildInputs = [ SubExporter ListMoreUtils ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Declare version conflicts for your dist"; + license = "perl5"; + }; }; - EmailAbstract = buildPerlPackage rec { + EmailAbstract = buildPerlPackage { name = "Email-Abstract-3.004"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.004.tar.gz; sha256 = "0fiaagxc2hy5g3qiipv4cspkwbaggdmsxbll1f4jx2qnq5hm668d"; }; propagatedBuildInputs = [ EmailSimple MROCompat ]; - }; - - EmailAddress = buildPerlPackage rec { - name = "Email-Address-1.889"; - src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "0icpln4cs058x5lbqsg4wzb8p02qv7bb1z6ljxh70yd3y1mn0nxn"; + meta = { + license = "perl"; }; }; - EmailDateFormat = buildPerlPackage rec { + EmailAddress = buildPerlPackage { + name = "Email-Address-1.897"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.897.tar.gz; + sha256 = "17v5jvwhkd5clyihwsldnh4k7vpmaisn064s3mkxlr9dnz7nd10r"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "RFC 2822 Address Parsing"; + license = "perl5"; + }; + }; + + EmailDateFormat = buildPerlPackage { name = "Email-Date-Format-1.002"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Date-Format-1.002.tar.gz; sha256 = "114fqcnmvzi0z100yx89j6rgwbicb0bslswhyr8z2pzsvwv3czqc"; }; + meta = { + description = "Produce RFC 8822 date strings"; + license = "perl"; + }; }; EmailSend = buildPerlPackage rec { @@ -1438,26 +1695,31 @@ rec { propagatedBuildInputs = [EmailSimple EmailAddress ModulePluggable ReturnValue]; }; - EmailSender = buildPerlPackage rec { - name = "Email-Sender-0.110001"; + EmailSender = buildPerlPackage { + name = "Email-Sender-0.120002"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "0z4nl7aizbailraqwkkqhx6k3hdz67wxszjfhd5yg2vn06ybsjwj"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-0.120002.tar.gz; + sha256 = "1cp735ndmh76xzijsm1hd0yh0m9yj34jc8akjhidkn677h2021dc"; + }; + propagatedBuildInputs = [ CaptureTiny EmailAbstract EmailAddress EmailSimple ListMoreUtils Moose Throwable TryTiny ]; + meta = { + homepage = https://github.com/rjbs/email-sender; + description = "A library for sending email"; + license = "perl5"; }; - buildInputs = [ TestMore ]; - propagatedBuildInputs = - [ CaptureTiny EmailAbstract EmailAddress ListMoreUtils Moose - Throwable TryTiny - ]; }; - EmailSimple = buildPerlPackage rec { - name = "Email-Simple-2.100"; + EmailSimple = buildPerlPackage { + name = "Email-Simple-2.102"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "1q86p9r5sb1dwdhcbnkfrbx08440cf74vzgrqc05cgi8mmhdfsh9"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.102.tar.gz; + sha256 = "19da1a06vnixhqfl41mfjrihvvxjgdgkq9bczp8k9mpr29xlbnq4"; }; propagatedBuildInputs = [ EmailDateFormat ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + license = "perl5"; + }; }; EmailValid = buildPerlPackage { @@ -1479,10 +1741,10 @@ rec { }; EncodeLocale = buildPerlPackage rec { - name = "Encode-Locale-1.02"; + name = "Encode-Locale-1.03"; src = fetchurl { url = "mirror://cpan/modules/by-module/Encode/${name}.tar.gz"; - sha256 = "0h2kim6mg236s749wlg35lhv1zdkrkr0bm65spkg005cn0mbmi90"; + sha256 = "0m9d1vdphlyzybgmdanipwd9ndfvyjgk3hzw250r299jjgh3fqzp"; }; }; @@ -1494,14 +1756,19 @@ rec { }; }; - EvalClosure = buildPerlPackage rec { - name = "Eval-Closure-0.06"; + EvalClosure = buildPerlPackage { + name = "Eval-Closure-0.08"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; - sha256 = "0qjfigd7r3xwizf8wff3g2mhidbqqlb6xy125iwd03f3i5hmnhic"; + url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.08.tar.gz; + sha256 = "01x449ljj8mhr3jgfvnhzn0zz3xc81krslxiq29srqccsqjf933k"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ SubExporter TryTiny ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Safely and cleanly create closures via string eval"; + license = "perl5"; + }; }; ExceptionClass = buildPerlPackage rec { @@ -1521,14 +1788,6 @@ rec { }; }; - ExtUtilsInstall = buildPerlPackage rec { - name = "ExtUtils-Install-1.54"; - src = fetchurl { - url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz"; - sha256 = "19igil4iwh3jdyvjm8s0ypm8wxsny6nv4z3b3lkwhq0ccjgd3rp3"; - }; - }; - ExtUtilsMakeMaker = buildPerlPackage rec{ name = "ExtUtils-MakeMaker-6.59"; src = fetchurl { @@ -1557,7 +1816,7 @@ rec { }; }; - FileChangeNotify = buildModule rec { + FileChangeNotify = buildPerlModule rec { name = "File-ChangeNotify-0.20"; src = fetchurl { url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; @@ -1566,7 +1825,7 @@ rec { buildInputs = [ TestException ]; propagatedBuildInputs = [ ClassMOP Moose MooseXParamsValidate MooseXSemiAffordanceAccessor - NamespaceAutoclean + namespaceautoclean ] ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2; }; @@ -1578,6 +1837,19 @@ rec { }; }; + FileBaseDir = buildPerlPackage rec { + version = "0.03"; + name = "File-BaseDir-${version}"; + configurePhase = '' + preConfigure || true + perl Build.PL PREFIX="$out" prefix="$out" + ''; + src = fetchurl { + url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; + sha256 = "0029cba7a3b5d8aa5f7d03cb1b7ba2bcf2829382f7f26aa3bee06fce8611a886"; + }; + }; + FileCopyRecursive = buildPerlPackage rec { name = "File-Copy-Recursive-0.38"; src = fetchurl { @@ -1586,6 +1858,20 @@ rec { }; }; + FileDesktopEntry = buildPerlPackage rec { + version = "0.04"; + name = "File-DesktopEntry-${version}"; + configurePhase = '' + preConfigure || true + perl Build.PL PREFIX="$out" prefix="$out" + ''; + src = fetchurl { + url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; + sha256 = "d7f80d8bd303651a43dc1810c73740d38a0d2b158fb33cd3b6ca4d3a566da7cb"; + }; + propagatedBuildInputs = [ FileBaseDir ]; + }; + FileFindRule = buildPerlPackage rec { name = "File-Find-Rule-0.32"; src = fetchurl { @@ -1596,10 +1882,10 @@ rec { }; FileListing = buildPerlPackage rec { - name = "File-Listing-6.03"; + name = "File-Listing-6.04"; src = fetchurl { url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; - sha256 = "154hp49pcngsqrwi1pbw3fx82v7vql4dc9wh7qfj37vmy8sn1s93"; + sha256 = "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y"; }; propagatedBuildInputs = [ HTTPDate ]; }; @@ -1628,36 +1914,42 @@ rec { }; }; - FileShareDir = buildPerlPackage rec { - name = "File-ShareDir-1.00"; + FileShareDir = buildPerlPackage { + name = "File-ShareDir-1.03"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "1afr1r1ys2ij8i4r0i85hfrgrbvcha8c7cgkhcrdya1f0lnpw59z"; + url = mirror://cpan/authors/id/A/AD/ADAMK/File-ShareDir-1.03.tar.gz; + sha256 = "0fczaqjxyzmzgrmn3ib84cj6pd2085wsvni3wf5b018i21j2wi2r"; + }; + propagatedBuildInputs = [ ClassInspector ]; + meta = { + description = "Locate per-dist and per-module shared files"; + license = "perl"; }; - propagatedBuildInputs = [ClassInspector ParamsUtil]; }; - FilesysNotifySimple = buildPerlPackage rec { + FilesysNotifySimple = buildPerlPackage { name = "Filesys-Notify-Simple-0.08"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Filesys/${name}.tar.gz"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.08.tar.gz; sha256 = "042klyvi8fbkhmyg1h7883bbjdhiclmky9w2wfga7piq5il6nxgi"; }; - }; - - FileTemp = buildPerlPackage rec { - name = "File-Temp-0.22"; - src = fetchurl { - url = "mirror://cpan/authors/id/T/TJ/TJENNESS/${name}.tar.gz"; - sha256 = "11a738swa2as5d6mva798slxnd7ndhqii027ydm0av3y94i957wq"; + meta = { + description = "Simple and dumb file system watcher"; + license = "perl"; }; }; - FileSlurp = buildPerlPackage rec { - name = "File-Slurp-9999.13"; + FileTemp = null; + + FileSlurp = buildPerlPackage { + name = "File-Slurp-9999.19"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "1rdkih4iv77y4xaprwdaw85d8pmja01152ngw66rb1h9rby3n1dv"; + url = mirror://cpan/authors/id/U/UR/URI/File-Slurp-9999.19.tar.gz; + sha256 = "0hrn4nipwx40d6ji8ssgr5nw986z9iqq8cn0kdpbszh9jplynaff"; + }; + meta = { + description = "Simple and Efficient Reading/Writing/Modifying of Complete Files"; + license = "perl"; }; }; @@ -1737,14 +2029,33 @@ rec { }; }; - GetoptLongDescriptive = buildPerlPackage rec { - name = "Getopt-Long-Descriptive-0.090"; + GetoptLongDescriptive = buildPerlPackage { + name = "Getopt-Long-Descriptive-0.093"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Getopt/${name}.tar.gz"; - sha256 = "17ghqd50y3627ajc7wl6n7sv055p2gg0h40lavx7qhwyg5rf46lw"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.093.tar.gz; + sha256 = "0iccps0jlcjm68i5yywgs477plfnkc6b2386bzb99blm3jwdfyac"; + }; + propagatedBuildInputs = [ ParamsValidate SubExporter SubExporterUtil ]; + meta = { + homepage = https://github.com/rjbs/Getopt-Long-Descriptive; + description = "Getopt::Long, but simpler and more powerful"; + license = "perl5"; + }; + }; + + GoogleProtocolBuffers = buildPerlPackage rec { + name = "Google-ProtocolBuffers-0.08"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GA/GARIEV/${name}.tar.gz"; + sha256 = "0pxfphg671wh56h59pf0zrj7m1cr0yga95hf3w54563pzcw2vqv3"; + }; + propagatedBuildInputs = [ ClassAccessor ParseRecDescent ]; + patches = + [ ../development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch ]; + meta = { + description = "Simple interface to Google Protocol Buffers"; + license = "perl"; }; - buildInputs = [ TestMore ]; - propagatedBuildInputs = [ ParamsValidate SubExporter ]; }; Graph = buildPerlPackage rec { @@ -1791,13 +2102,20 @@ rec { sha256 = "07h7dyldxwqhq3x4fp9hacnc4vgipp0jk50b5cbvib975nfxx98z"; }; propagatedBuildInputs = [ Clone ]; + meta = { + description = "Merges arbitrarily deep hashes into a single hash"; + }; }; - HashMultiValue = buildPerlPackage rec { - name = "Hash-MultiValue-0.10"; + HashMultiValue = buildPerlPackage { + name = "Hash-MultiValue-0.13"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Hash/${name}.tar.gz"; - sha256 = "1n9klrg01myij2svcmdc212msmsr3cmsl2yw5k9my8j3s96b5yn1"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.13.tar.gz; + sha256 = "0flflmk2kxq9sjmhxr1547lidgigibhck912j4ambdwg21sbxjjd"; + }; + meta = { + description = "Store multiple values per key"; + license = "perl"; }; }; @@ -1810,13 +2128,17 @@ rec { buildInputs = [ pkgs.unzip ]; }; - HTMLForm = buildPerlPackage rec { - name = "HTML-Form-6.00"; + HTMLForm = buildPerlPackage { + name = "HTML-Form-6.03"; src = fetchurl { - url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz"; - sha256 = "11s9mlybjm14sa6m3wcfjf9pv00yynv0yk4parx44ga9h1a6y6xl"; + url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Form-6.03.tar.gz; + sha256 = "0dpwr7yz6hjc3bcqgcbdzjjk9l58ycdjmbam9nfcmm85y2a1vh38"; }; propagatedBuildInputs = [ HTMLParser HTTPMessage URI ]; + meta = { + description = "Class that represents an HTML form element"; + license = "perl"; + }; }; HTMLFormFu = buildPerlPackage rec { @@ -1838,13 +2160,17 @@ rec { ]; }; - HTMLParser = buildPerlPackage rec { - name = "HTML-Parser-3.68"; + HTMLParser = buildPerlPackage { + name = "HTML-Parser-3.69"; src = fetchurl { - url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz"; - sha256 = "1hhniqqpvi01vxsyvmcj677yg7a12zy0a3ynwxwg3ig6shn8a3j3"; + url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-3.69.tar.gz; + sha256 = "01i4lj37dgwbj9mna756dzzz5lvx7adcnjk9s0hskqq0cn81r2vl"; + }; + propagatedBuildInputs = [ HTMLTagset ]; + meta = { + description = "HTML parser class"; + license = "perl"; }; - propagatedBuildInputs = [HTMLTagset]; }; HTMLScrubber = buildPerlPackage { @@ -1890,13 +2216,19 @@ rec { buildInputs = [TestPod]; }; - HTMLTree = buildPerlPackage rec { - name = "HTML-Tree-4.2"; + HTMLTree = buildPerlModule { + name = "HTML-Tree-5.03"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JF/JFEARN/${name}.tar.gz"; - sha256 = "80e4e3caa5e0e025dee5ed383a8d4cc7479ae4802184c4757dafd147a8fca7c9"; + url = mirror://cpan/authors/id/C/CJ/CJM/HTML-Tree-5.03.tar.gz; + sha256 = "13qlqbpixw470gnck0xgny8hyjj576m8y24bba2p9ai2lvy76vbx"; + }; + buildInputs = [ TestFatal ]; + propagatedBuildInputs = [ HTMLParser HTMLTagset ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Work with HTML in a DOM-like tree structure"; + license = "perl5"; }; - propagatedBuildInputs = [HTMLParser]; }; HTMLWidget = buildPerlPackage { @@ -1912,30 +2244,55 @@ rec { ]; }; - HTTPBody = buildPerlPackage rec { - name = "HTTP-Body-1.12"; + HTTPBody = buildPerlPackage { + name = "HTTP-Body-1.17"; src = fetchurl { - url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz"; - sha256 = "1229hhcm762n9x82jkhl8hmjcaigprcsrhymcdbkqlwch2agm6g2"; + url = mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.17.tar.gz; + sha256 = "1476zdcg1cdal3ik6ccwm3rqfgsdac6b63f92wmipvn8lkjdl70k"; }; buildInputs = [ TestDeep ]; - propagatedBuildInputs = [ LWP ]; + propagatedBuildInputs = [ HTTPMessage ]; + meta = { + description = "HTTP Body Parser"; + license = "perl"; + }; }; - HTTPCookies = buildPerlPackage rec { - name = "HTTP-Cookies-6.00"; + HTTPCookies = buildPerlPackage { + name = "HTTP-Cookies-6.01"; src = fetchurl { - url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz"; - sha256 = "0758c3rj22z1bj7pbypmh1jadgd6w68nn8inhds96r39jhc79d9h"; + url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-6.01.tar.gz; + sha256 = "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm"; }; propagatedBuildInputs = [ HTTPDate HTTPMessage ]; + meta = { + description = "HTTP cookie jars"; + license = "perl"; + }; }; - HTTPDate = buildPerlPackage rec { - name = "HTTP-Date-6.00"; + HTTPDaemon = buildPerlPackage { + name = "HTTP-Daemon-6.01"; src = fetchurl { - url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz"; - sha256 = "15nrnfir4xqdd3lm0s0jgh9zwxx5ylmvl63xqmj5wipzl4l76vs6"; + url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz; + sha256 = "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3"; + }; + propagatedBuildInputs = [ HTTPDate HTTPMessage LWPMediaTypes ]; + meta = { + description = "A simple http server class"; + license = "perl"; + }; + }; + + HTTPDate = buildPerlPackage { + name = "HTTP-Date-6.02"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz; + sha256 = "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8"; + }; + meta = { + description = "Date conversion routines"; + license = "perl"; }; }; @@ -1955,13 +2312,30 @@ rec { }; }; - HTTPMessage = buildPerlPackage rec { - name = "HTTP-Message-6.02"; + HTTPMessage = buildPerlPackage { + name = "HTTP-Message-6.06"; src = fetchurl { - url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz"; - sha256 = "10ai2vabbx6yqsyz6rbi7hp4vljmlq9kyn74jvjp95la5v4b6c93"; + url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Message-6.06.tar.gz; + sha256 = "0qxdrcak97azjvqyx1anpb2ky6vp6vc37x0wcfjdqfajkh09fzh8"; + }; + propagatedBuildInputs = [ EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ]; + meta = { + description = "HTTP style messages"; + license = "perl"; + }; + }; + + HTTPNegotiate = buildPerlPackage { + name = "HTTP-Negotiate-6.01"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz; + sha256 = "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw"; + }; + propagatedBuildInputs = [ HTTPMessage ]; + meta = { + description = "Choose a variant to serve"; + license = "perl"; }; - propagatedBuildInputs = [ EncodeLocale HTMLParser HTTPDate IOCompress LWPMediaTypes URI ]; }; HTTPParserXS = buildPerlPackage rec { @@ -1973,15 +2347,6 @@ rec { buildInputs = [ TestMore ]; }; - HTTPRequest = buildPerlPackage rec { - name = "HTTP-Message-6.03"; - src = fetchurl { - url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz"; - sha256 = "c736e083bdf0eea1bb73e2dc3b66db0a8283942c0f69063afadb9a7cfa80011b"; - }; - propagatedBuildInputs = [ HTTPDate URI HTMLParser LWP ]; - }; - HTTPRequestAsCGI = buildPerlPackage rec { name = "HTTP-Request-AsCGI-1.2"; src = fetchurl { @@ -1991,23 +2356,28 @@ rec { propagatedBuildInputs = [ ClassAccessor LWP ]; }; - HTTPResponseEncoding = buildPerlPackage rec { + HTTPResponseEncoding = buildPerlPackage { name = "HTTP-Response-Encoding-0.06"; src = fetchurl { - url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz"; + url = mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz; sha256 = "1am8lis8107s5npca1xgazdy5sknknzcqyhdmc220s4a4f77n5hh"; }; - propagatedBuildInputs = [ LWP ]; + propagatedBuildInputs = [ LWPUserAgent HTTPMessage ]; + meta = { + description = "Adds encoding() to HTTP::Response"; + }; }; - HTTPServerSimple = buildPerlPackage rec { - name = "HTTP-Server-Simple-0.38"; + HTTPServerSimple = buildPerlPackage { + name = "HTTP-Server-Simple-0.44"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JE/JESSE/${name}.tar.gz"; - sha256 = "1m1lmpbg0zhiv2vyc3fyyqfsv3jhhb2mbdl5624fqb0va2pnla6n"; + url = mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-0.44.tar.gz; + sha256 = "05klpfkss2a6i5ihmvcm27fyar0f2v4ispg2f49agab3va1gix6g"; }; - propagatedBuildInputs = [URI]; doCheck = false; + meta = { + license = "perl"; + }; }; I18NLangTags = buildPerlPackage { @@ -2026,15 +2396,19 @@ rec { }; }; - IOCompress = buildPerlPackage rec { - name = "IO-Compress-2.037"; + IOCompress = buildPerlPackage { + name = "IO-Compress-2.060"; src = fetchurl { - url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz"; - sha256 = "07hs3afzg9ry6ir2f9rf3fg8b129cihs989mr0nh9wdvxgxqmr1q"; + url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.060.tar.gz; + sha256 = "03zaq9xzg0z9wcgj1hws8zhzdgdlwiz48nh6sy663bn7rzxm5k28"; }; propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ]; - # Work around a self-referencing Makefile variable. - makeFlags = "INSTALLARCHLIB=$(INSTALLSITEARCH)"; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "IO Interface to compressed data files/buffers"; + license = "perl5"; + }; + doCheck = !stdenv.isDarwin; }; IODigest = buildPerlPackage { @@ -2046,6 +2420,19 @@ rec { propagatedBuildInputs = [PerlIOviadynamic]; }; + IOHTML = buildPerlPackage { + name = "IO-HTML-0.04"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-0.04.tar.gz; + sha256 = "0c4hc76c1gypdwfasnibr2qlf9x3bnhyw357lhqlrczbm6vn8hw5"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Open an HTML file with automatic charset detection"; + license = "perl5"; + }; + }; + IOLockedFile = buildPerlPackage rec { name = "IO-LockedFile-0.23"; src = fetchurl { @@ -2073,12 +2460,16 @@ rec { }; IOSocketSSL = buildPerlPackage rec { - name = "IO-Socket-SSL-1.44"; + name = "IO-Socket-SSL-1.81"; src = fetchurl { url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz"; - sha256 = "1xbgx1ij34a3dlwv94zjh3a02cj2lyhwzxcmv59harl784xn1mlg"; + sha256 = "1vg7jpn7vz3a2j3fxjjkaxiiqg7azqmy7afrpghiqkjcr8b6zs9y"; }; propagatedBuildInputs = [ URI NetSSLeay ]; + meta = { + description = "Nearly transparent SSL encapsulation for IO::Socket::INET"; + license = "perl"; + }; }; IOString = buildPerlPackage rec { @@ -2105,13 +2496,18 @@ rec { }; }; - IPCRun = buildPerlPackage rec { - name = "IPC-Run-0.82"; + IPCRun = buildPerlPackage { + name = "IPC-Run-0.92"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "1v5yfavvhxscqkdl68xs7i7vcp9drl3y1iawppzwqcl1fprd58ip"; + url = mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-0.92.tar.gz; + sha256 = "1lj6kmr8rs6na77b3v673vvw6qsr511bmhgf257x4xqmvxnv91p1"; }; doCheck = false; /* attempts a network connection to localhost */ + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "System() and background procs w/ piping, redirs, ptys (Unix, Win32)"; + license = "perl5"; + }; }; IPCRun3 = buildPerlPackage rec { @@ -2131,36 +2527,36 @@ rec { }; ImageExifTool = buildPerlPackage rec { - name = "Image-ExifTool-8.41"; + name = "Image-ExifTool-8.41"; - src = fetchurl { - url = "http://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz"; - sha256 = "1fdjic0bhbai8zzl3287i9wcs88khiv8qx5slx9n3gzvbnxacvqg"; - }; - - meta = { - description = "ExifTool, a tool to read, write and edit EXIF meta information"; - homepage = http://www.sno.phy.queensu.ca/~phil/exiftool/; - - longDescription = '' - ExifTool is a platform-independent Perl library plus a command-line - application for reading, writing and editing meta information in - image, audio and video files. ExifTool supports many different types - of metadata including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC - Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker - notes of many digital cameras by Canon, Casio, FujiFilm, HP, - JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, - Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo, - Sigma/Foveon and Sony. - ''; - - licenses = [ "GPLv1+" /* or */ "Artistic" ]; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.unix; - }; + src = fetchurl { + url = "http://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz"; + sha256 = "1fdjic0bhbai8zzl3287i9wcs88khiv8qx5slx9n3gzvbnxacvqg"; }; + meta = { + description = "ExifTool, a tool to read, write and edit EXIF meta information"; + homepage = http://www.sno.phy.queensu.ca/~phil/exiftool/; + + longDescription = '' + ExifTool is a platform-independent Perl library plus a command-line + application for reading, writing and editing meta information in + image, audio and video files. ExifTool supports many different types + of metadata including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC + Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker + notes of many digital cameras by Canon, Casio, FujiFilm, HP, + JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, + Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo, + Sigma/Foveon and Sony. + ''; + + licenses = [ "GPLv1+" /* or */ "Artistic" ]; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.unix; + }; + }; + Inline = buildPerlPackage rec { name = "Inline-0.45"; @@ -2227,39 +2623,53 @@ rec { }; }; - JSON = buildPerlPackage rec { + JSON = buildPerlPackage { name = "JSON-2.53"; src = fetchurl { - url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/${name}.tar.gz"; + url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.53.tar.gz; sha256 = "0rfms17d0pkai26kqyzaylbr5wxcrrhyjkyshq85l41xb0g1iplh"; }; - propagatedBuildInputs = [JSONXS]; + meta = { + description = "JSON (JavaScript Object Notation) encoder/decoder"; + license = "perl"; + }; }; - JSONAny = buildPerlPackage rec { - name = "JSON-Any-1.19"; + JSONAny = buildPerlPackage { + name = "JSON-Any-1.29"; src = fetchurl { - url = "mirror://cpan/authors/id/P/PE/PERIGRIN/${name}.tar.gz"; - sha256 = "16h2p2qcbh0a6wfr5lfspilmjmpdnkn1rrkqw34v8xq1a77fl870"; + url = mirror://cpan/authors/id/P/PE/PERIGRIN/JSON-Any-1.29.tar.gz; + sha256 = "15v2j9dh58r7r4s7rnnmgnzzbyz61bhyxwpx1z7r811ixs9bkks2"; + }; + propagatedBuildInputs = [ JSON ]; + meta = { + description = "Wrapper Class for the various JSON classes"; + license = "perl"; }; - propagatedBuildInputs = [JSON]; }; JSONPP = buildPerlPackage rec { name = "JSON-PP-2.27200"; src = fetchurl { - url = "mirror://cpan/modules/by-module/JSON/${name}.tar.gz"; + url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-2.27200.tar.gz; sha256 = "1lv9riws9f72gya2fsp5jvbd1fbzyi8423x38a491ryy9cai2ph3"; }; + meta = { + description = "JSON::XS compatible pure-Perl module"; + license = "perl"; + }; }; - JSONXS = buildPerlPackage rec { - name = "JSON-XS-2.32"; + JSONXS = buildPerlPackage { + name = "JSON-XS-2.33"; src = fetchurl { - url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz"; - sha256 = "012bf324pf5lnrf6ck2y167i1q1zzzc0w43b381qfnk7v5fcvaik"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.33.tar.gz; + sha256 = "0p68f85xz6xx2c9ydz4bij5x4d1747rxs3jdq53ab915mnc1qfdl"; + }; + propagatedBuildInputs = [ CommonSense ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; }; - buildInputs = [CommonSense]; }; libxml_perl = buildPerlPackage rec { @@ -2271,11 +2681,14 @@ rec { propagatedBuildInputs = [XMLParser]; }; - LinguaENInflect = buildPerlPackage rec { - name = "Lingua-EN-Inflect-1.893"; + LinguaENInflect = buildPerlPackage { + name = "Lingua-EN-Inflect-1.895"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Lingua/${name}.tar.gz"; - sha256 = "1j0jxf3pqnsshakmpdwkgcmlz26hzmkrhg33kz52qzdfys254xmy"; + url = mirror://cpan/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.895.tar.gz; + sha256 = "0drzg9a2dkjxgf00n6jg0jzhd8972bh3j4wdnmdxpqi3zmfqhwcy"; + }; + meta = { + description = "Convert singular to plural"; }; }; @@ -2299,13 +2712,17 @@ rec { [ LinguaENInflect LinguaENInflectNumber LinguaENTagger ]; }; - LinguaENTagger = buildPerlPackage rec { - name = "Lingua-EN-Tagger-0.16"; + LinguaENTagger = buildPerlPackage { + name = "Lingua-EN-Tagger-0.23"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Lingua/${name}.tar.gz"; - sha256 = "0nzjgpxd0i5a3sacxsqfvvrfyamxlmzfa9y14r4vs7sc8qm20xd2"; + url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.23.tar.gz; + sha256 = "0xq6567gijczxzq72ghfa9jr8zyc1p0ax9s12mv7slibpkfkm2d2"; + }; + propagatedBuildInputs = [ HTMLParser HTMLTagset LinguaStem /* MemoizeExpireLRU */ ]; + meta = { + description = "Part-of-speech tagger for English natural language processing"; + license = "gpl_3"; }; - propagatedBuildInputs = [ HTMLParser LinguaStem ]; }; LinguaStem = buildPerlPackage rec { @@ -2326,12 +2743,16 @@ rec { propagatedBuildInputs = [ CommonSense ]; }; - ListMoreUtils = buildPerlPackage rec { + ListMoreUtils = buildPerlPackage { name = "List-MoreUtils-0.33"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; + url = mirror://cpan/authors/id/A/AD/ADAMK/List-MoreUtils-0.33.tar.gz; sha256 = "1bcljhhsk5g0xykvgbxz10ilmj02s58ydiy3g8hbzdr29i20np1i"; }; + meta = { + description = "Provide the stuff missing in List::Util"; + license = "perl"; + }; }; LocaleGettext = buildPerlPackage { @@ -2384,22 +2805,29 @@ rec { }; }; - LWP = buildPerlPackage rec { - name = "libwww-perl-6.03"; + LWP = buildPerlPackage { + name = "libwww-perl-6.04"; src = fetchurl { - url = "mirror://cpan/modules/by-module/LWP/${name}.tar.gz"; - sha256 = "1zlnz4ylk1y0rw56vlf9knawwjx72b1gm09yp06ccpgmmndif4dg"; + url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz; + sha256 = "0z92fpwk6lh2gghv050r0qb216jmjl2m0c6zby935q8lv0q5wwgr"; }; - propagatedBuildInputs = - [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPMessage LWPMediaTypes URI NetHTTP ]; + propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ]; doCheck = false; # tries to start a daemon + meta = { + description = "The World-Wide Web library for Perl"; + license = "perl"; + }; }; - LWPMediaTypes = buildPerlPackage rec { - name = "LWP-MediaTypes-6.01"; + LWPMediaTypes = buildPerlPackage { + name = "LWP-MediaTypes-6.02"; src = fetchurl { - url = "mirror://cpan/modules/by-module/LWP/${name}.tar.gz"; - sha256 = "1fhxql3xnhrlyzkjyss4swvhyh0r58cv2kwjcpj3mdbbg54ah9fz"; + url = mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-6.02.tar.gz; + sha256 = "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q"; + }; + meta = { + description = "Guess media type for a file or a URL"; + license = "perl"; }; }; @@ -2414,6 +2842,19 @@ rec { doCheck = false; # tries to connect to https://www.apache.org/. }; + LWPUserAgent = buildPerlPackage { + name = "LWP-UserAgent-6.04"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz; + sha256 = "0z92fpwk6lh2gghv050r0qb216jmjl2m0c6zby935q8lv0q5wwgr"; + }; + propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ]; + meta = { + description = "The World-Wide Web library for Perl"; + license = "perl"; + }; + }; + LWPxParanoidAgent = buildPerlPackage rec { name = "LWPx-ParanoidAgent-1.07"; src = fetchurl { @@ -2481,25 +2922,29 @@ rec { buildInputs = [ ProcWaitStat ]; }; - MIMETypes = buildPerlPackage rec { - name = "MIME-Types-1.27"; + MIMETypes = buildPerlPackage { + name = "MIME-Types-1.38"; src = fetchurl { - url = "mirror://cpan/authors/id/M/MA/MARKOV/${name}.tar.gz"; - sha256 = "1zhzyb85zbil2jwrh74rg3bnm9wl74fcg2s64y8b57bk04fdfb7l"; + url = mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-1.38.tar.gz; + sha256 = "12m8cvj80qbwxckj5jildl5zw6p1jincj3m1s77z6lnw3h59rj4l"; + }; + meta = { + description = "Definition of MIME types"; + license = "perl5"; }; - propagatedBuildInputs = [TestPod]; }; - ModuleBuild = buildPerlPackage rec { - name = "Module-Build-0.3800"; + ModuleBuild = buildPerlPackage { + name = "Module-Build-0.4003"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz"; - sha256 = "1gk0xn5s48f0n3a6k4izw6sigsk84rk06hky7dd48hdmvrq23f4v"; + url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4003.tar.gz; + sha256 = "1izx26gfnjffnj0j601hkc008b31y9f25hms1nzidfkb6r3110s2"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Build and install Perl modules"; + license = "perl5"; }; - propagatedBuildInputs = - [ ExtUtilsInstall ExtUtilsManifest ExtUtilsCBuilder ExtUtilsParseXS - CPANMeta PerlOSType ModuleMetadata - ]; }; ModuleFind = buildPerlPackage { @@ -2510,6 +2955,35 @@ rec { }; }; + ModuleImplementation = buildPerlPackage { + name = "Module-Implementation-0.06"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.06.tar.gz; + sha256 = "0v8qajzkpkwb9mfj2p46j352bwiszkg1zk778b008axqb817hfys"; + }; + buildInputs = [ TestFatal TestRequires ]; + propagatedBuildInputs = [ ModuleRuntime TryTiny ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Loads one of several alternate underlying implementations for a module"; + license = "artistic_2"; + }; + }; + + ModuleInstall = buildPerlPackage { + name = "Module-Install-1.06"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AD/ADAMK/Module-Install-1.06.tar.gz; + sha256 = "06a5375q1cr21rzcr07z3n8w6hv611a9p199jrnpsj9vbcwwi7ny"; + }; + buildInputs = [ YAMLTiny ]; + propagatedBuildInputs = [ FileRemove LWPUserAgent ModuleScanDeps PARDist YAMLTiny ]; + meta = { + description = "Standalone, extensible Perl module installer"; + license = "perl"; + }; + }; + ModuleMetadata = buildPerlPackage rec { name = "Module-Metadata-1.000005"; src = fetchurl { @@ -2540,28 +3014,58 @@ rec { propagatedBuildInputs = [UNIVERSALrequire]; }; - ModuleRuntime = buildPerlPackage rec { - name = "Module-Runtime-0.011"; + ModuleRuntime = buildPerlPackage { + name = "Module-Runtime-0.013"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz"; - sha256 = "0hbpn2jd11gsni77aw189ss4q83jlcvcxr49x9j28bh36hjgif7s"; + url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.013.tar.gz; + sha256 = "08qhqg1qshrispcpzf24jbbpx2gh5ks84amnv9wmd46wj0yy0dzc"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Runtime module handling"; + license = "perl5"; }; - propagatedBuildInputs = [ ParamsClassify ]; }; - Moose = buildPerlPackage rec { - name = "Moose-2.0401"; + ModuleScanDeps = buildPerlPackage { + name = "Module-ScanDeps-1.10"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; - sha256 = "07mx4xqfl0bk21kk49gs86ba3wcviarfx9yhxxw96pmaxd0l932i"; + url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.10.tar.gz; + sha256 = "0z85zqvqpj2ck80sw91hmzn94q8m3s40anybw324xh3pcrm9cg5s"; + }; + meta = { + description = "Recursively scan Perl code for dependencies"; + license = "perl"; + }; + }; + + Moo = buildPerlPackage { + name = "Moo-1.000007"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MS/MSTROUT/Moo-1.000007.tar.gz; + sha256 = "02q5j5vsfv8ykzmkqk8zac88svard4g6rl455slgz8y2w3xn41ql"; + }; + buildInputs = [ TestFatal ]; + propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny strictures ]; + meta = { + description = "Minimalist Object Orientation (with Moose compatiblity)"; + license = "perl5"; + }; + }; + + Moose = buildPerlPackage { + name = "Moose-2.0604"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DO/DOY/Moose-2.0604.tar.gz; + sha256 = "0nwvklb8dwf8lskwxik3gi9gsqzrix2jhc56zvfzlf1q5q1s07qj"; + }; + buildInputs = [ DistCheckConflicts TestFatal TestRequires ]; + propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure ListMoreUtils MROCompat PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "A postmodern object system for Perl 5"; + license = "perl5"; }; - buildInputs = [ TestFatal TestRequires ]; - propagatedBuildInputs = - [ DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure - ListMoreUtils MROCompat PackageDeprecationManager PackageStash - PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny - ClassLoad ClassLoadXS - ]; }; MooseAutobox = buildPerlPackage rec { @@ -2583,7 +3087,7 @@ rec { propagatedBuildInputs = [ Moose ]; }; - MooseXAttributeChained = buildModule rec { + MooseXAttributeChained = buildPerlModule rec { name = "MooseX-Attribute-Chained-1.0.1"; src = fetchurl { url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; @@ -2592,44 +3096,91 @@ rec { propagatedBuildInputs = [ Moose TryTiny ]; }; - MooseXEmulateClassAccessorFast = buildPerlPackage rec { + MooseXDaemonize = buildPerlPackage { + name = "MooseX-Daemonize-0.15"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MI/MICHAELR/MooseX-Daemonize-0.15.tar.gz; + sha256 = "1h6rzdmk68q4p0nh2bzmwwvr5iaf7pvdfrpwdxmr3z5pc64wajvd"; + }; + buildInputs = [ TestMoose ]; + propagatedBuildInputs = [ Moose MooseXGetopt MooseXTypesPathClass ]; + meta = { + description = "Role for daemonizing your Moose based application"; + license = "perl"; + }; + }; + + MooseXEmulateClassAccessorFast = buildPerlPackage { name = "MooseX-Emulate-Class-Accessor-Fast-0.00903"; src = fetchurl { - url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; + url = mirror://cpan/authors/id/F/FL/FLORA/MooseX-Emulate-Class-Accessor-Fast-0.00903.tar.gz; sha256 = "1lkn1h4sxr1483jicsgsgzclbfw63g2i2c3m4v4j9ar75yrb0kh8"; }; buildInputs = [ TestException ]; - propagatedBuildInputs = [ Moose NamespaceClean ]; - }; - - MooseXGetopt = buildPerlPackage rec { - name = "MooseX-Getopt-0.37"; - src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "161j44v2b4qzv75lk35gvfvs864vcyhkzq6phmhh8zllg3cnfc8k"; + propagatedBuildInputs = [ Moose namespaceclean ]; + meta = { + description = "Emulate Class::Accessor::Fast behavior using Moose attributes"; + license = "perl"; }; - buildInputs = [ TestFatal TestRequires TestWarn ]; - propagatedBuildInputs = [ Moose GetoptLongDescriptive MooseXRoleParameterized ]; }; - MooseXMethodAttributes = buildPerlPackage rec { - name = "MooseX-MethodAttributes-0.25"; + MooseXGetopt = buildPerlPackage { + name = "MooseX-Getopt-0.50"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "0rkk0rija7s96747y46qz49g88kymgxvn70mr21id9i8n7cdacww"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.50.tar.gz; + sha256 = "0fwm5vb8z8q4b6fmf7gz4xzw5z713mmfnxzjph6vfyyymlr5bll9"; + }; + buildInputs = [ PathClass TestCheckDeps TestFatal TestMoose TestNoWarnings TestRequires TestTrap TestWarn ]; + propagatedBuildInputs = [ GetoptLongDescriptive Moose MooseXRoleParameterized ]; + meta = { + homepage = http://metacpan.org/release/MooseX-Getopt; + description = "A Moose role for processing command line options"; + license = "perl5"; }; - buildInputs = [ TestException ]; - propagatedBuildInputs = [ Moose MooseXTypes NamespaceAutoclean NamespaceClean ]; }; - MooseXNonMoose = buildPerlPackage rec { + MooseXMarkAsMethods = buildPerlPackage { + name = "MooseX-MarkAsMethods-0.15"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz; + sha256 = "1y3yxwcjjajm66pvca54cv9fax7a6dy36xqr92x7vzyhfqrw3v69"; + }; + buildInputs = [ TestMoose ]; + propagatedBuildInputs = [ BHooksEndOfScope Moose namespaceautoclean ]; + meta = { + homepage = http://metacpan.org/release/MooseX-MarkAsMethods/; + description = "Mark overload code symbols as methods"; + license = "lgpl_2_1"; + }; + }; + + MooseXMethodAttributes = buildPerlPackage { + name = "MooseX-MethodAttributes-0.28"; + src = fetchurl { + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.28.tar.gz; + sha256 = "0srk85z6py9brw1jfvacd76y6219wycq3dj0wackbkmmbq04ln0g"; + }; + buildInputs = [ namespaceautoclean TestCheckDeps TestException ]; + propagatedBuildInputs = [ Moose MooseXTypes namespaceautoclean ]; + meta = { + homepage = https://github.com/karenetheridge/moosex-methodattributes; + description = "Code attribute introspection"; + license = "perl5"; + }; + }; + + MooseXNonMoose = buildPerlPackage { name = "MooseX-NonMoose-0.22"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; + url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.22.tar.gz; sha256 = "0mhyabg5f6kngkm1w7hfglkdzjdn5pbgm7vgia0aqy9mwwclbpdp"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ ListMoreUtils Moose ]; + meta = { + description = "Easy subclassing of non-Moose classes"; + license = "perl5"; + }; }; MooseXSetOnce = buildPerlPackage rec { @@ -2642,32 +3193,48 @@ rec { propagatedBuildInputs = [ Moose ]; }; - MooseXParamsValidate = buildPerlPackage rec { - name = "MooseX-Params-Validate-0.10"; + MooseXParamsValidate = buildPerlPackage { + name = "MooseX-Params-Validate-0.18"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "16mjxa72gn41pvrk0fgyi98iw6yc7qafnbzr6v2xfiabp9wf5j5m"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.18.tar.gz; + sha256 = "02yim0lmr7p2nzswy97d5ylbs4ksmgklqq350p119i2611x7ai0k"; + }; + buildInputs = [ Moose TestFatal ]; + propagatedBuildInputs = [ DevelCaller Moose ParamsValidate SubExporter ]; + meta = { + description = "An extension of Params::Validate using Moose's types"; + license = "perl5"; }; - propagatedBuildInputs = [Moose ParamsValidate SubExporter TestException]; }; - MooseXRoleParameterized = buildPerlPackage rec { - name = "MooseX-Role-Parameterized-0.26"; + MooseXRoleParameterized = buildPerlPackage { + name = "MooseX-Role-Parameterized-1.00"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "1wfqdkjhwzbzk2cm65r5gz9n6406j8mdq78iga7dnj3mp2csn631"; + url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.00.tar.gz; + sha256 = "0642h71j90i0jrqxz1snizkw9pch8v1s1w0zndrcl5bb85lx3z7y"; }; - buildInputs = [ TestFatal TestMore ]; + buildInputs = [ TestFatal TestMoose ]; propagatedBuildInputs = [ Moose ]; + meta = { + homepage = http://github.com/sartak/MooseX-Role-Parameterized/tree; + description = "Roles with composition parameters"; + license = "perl"; + }; }; - MooseXRoleWithOverloading = buildPerlPackage rec { - name = "MooseX-Role-WithOverloading-0.09"; + MooseXRoleWithOverloading = buildPerlPackage { + name = "MooseX-Role-WithOverloading-0.13"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "0qs013vkm0ysykd3hibk4m8bkl0rnysxzralwq19zrvxaqk2krn8"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.13.tar.gz; + sha256 = "01mqpvbz7yw993918hgp72vl22i6mgicpq5b3zrrsp6vl8sqj2sw"; + }; + buildInputs = [ TestCheckDeps TestNoWarnings ]; + propagatedBuildInputs = [ aliased Moose namespaceautoclean namespaceclean ]; + meta = { + homepage = http://metacpan.org/release/MooseX-Role-WithOverloading; + description = "Roles which support overloading"; + license = "perl5"; }; - propagatedBuildInputs = [ Moose MooseXTypes NamespaceAutoclean aliased ]; }; MooseXSemiAffordanceAccessor = buildPerlPackage rec { @@ -2686,7 +3253,7 @@ rec { sha256 = "0sqmpf2kw25847fwrrwpcfhrq694bgs8jbix7qxp9qyjm769np6n"; }; buildInputs = [ TestException TestUseOk ]; - propagatedBuildInputs = [ ClassMOP Moose NamespaceAutoclean ]; + propagatedBuildInputs = [ ClassMOP Moose namespaceautoclean ]; }; MooseXTraitsPluggable = buildPerlPackage rec { @@ -2697,18 +3264,22 @@ rec { }; buildInputs =[ TestException ]; propagatedBuildInputs = - [ ClassMOP Moose NamespaceAutoclean ListMoreUtils ]; + [ ClassMOP Moose namespaceautoclean ListMoreUtils ]; }; - MooseXTypes = buildPerlPackage rec { - name = "MooseX-Types-0.30"; + MooseXTypes = buildPerlPackage { + name = "MooseX-Types-0.35"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "1c9z30fbk2h11xkgq8v2idnpaqay3m7ig9bb8scnawgrm49v2f4l"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Types-0.35.tar.gz; + sha256 = "11namg9pjw328ybvj70cgn15aac093jwdm4jv0b173gb7vkflx8a"; + }; + buildInputs = [ TestFatal TestMoose TestRequires ]; + propagatedBuildInputs = [ CarpClan Moose namespaceclean SubInstall SubName ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Organise your Moose types in libraries"; + license = "perl5"; }; - buildInputs = [ TestFatal TestRequires ]; - propagatedBuildInputs = - [ Moose CarpClan NamespaceClean SubInstall SubName ]; }; MooseXTypesCommon = buildPerlPackage rec { @@ -2727,7 +3298,20 @@ rec { url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; sha256 = "035d2gzq1j60skn39jav2jr6sbx1hq9vqmmfjfc3cvhahfzrygs4"; }; - propagatedBuildInputs = [ ClassLoad Moose MooseXTypes NamespaceClean ]; + propagatedBuildInputs = [ ClassLoad Moose MooseXTypes namespaceclean ]; + }; + + MooseXTypesPathClass = buildPerlPackage { + name = "MooseX-Types-Path-Class-0.06"; + src = fetchurl { + url = mirror://cpan/authors/id/T/TH/THEPLER/MooseX-Types-Path-Class-0.06.tar.gz; + sha256 = "02lw86r6pp6saiwc7ns890mlwq93vhkqyri3cipsfwhnhcap847g"; + }; + propagatedBuildInputs = [ ClassMOP Moose MooseXTypes PathClass ]; + meta = { + description = "A Path::Class type library for Moose"; + license = "perl"; + }; }; Mouse = buildPerlPackage rec { @@ -2740,30 +3324,69 @@ rec { doCheck = false; # check can't find its own Mouse::Tiny module }; - MROCompat = buildPerlPackage rec { - name = "MRO-Compat-0.11"; + MROCompat = buildPerlPackage { + name = "MRO-Compat-0.12"; src = fetchurl { - url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; - sha256 = "0p2hl0cygcds3jjq3awackd72j3vzidfyjacj7gxdlqh65a2fjq7"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/MRO-Compat-0.12.tar.gz; + sha256 = "1mhma2g83ih9f8nkmg2k9l0x6izhhbb6k5lli4rpllxad4wbk9dv"; + }; + meta = { + description = "Mro::* interface compatibility for Perls < 5.9.5"; + license = "perl"; }; }; - NamespaceAutoclean = buildPerlPackage rec { - name = "namespace-autoclean-0.12"; + MusicBrainzDiscID = buildPerlModule rec { + name = "MusicBrainz-DiscID-0.03"; src = fetchurl { - url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz"; - sha256 = "125g5ny4sqf9kj1sxaqh1jipzyii56p9nsp45jg9fg67i4ljm9pg"; + url = "mirror://cpan/authors/id/N/NJ/NJH/${name}.tar.gz"; + sha256 = "0fjph2q3yp0aa87gckv3391s47m13wbyylj7jb7vqx7hv0pzj0jh"; }; - propagatedBuildInputs = [ BHooksEndOfScope ClassMOP NamespaceClean Moose ]; + # Build.PL in this package uses which to find pkg-config -- make it use path instead + patchPhase = ''sed -ie 's/`which pkg-config`/"pkg-config"/' Build.PL''; + doCheck = false; # The main test performs network access + #buildInputs = [ TestMore TestPod ]; + buildInputs = [ pkgs.pkgconfig ]; + propagatedBuildInputs = [ pkgs.libdiscid ]; }; - NamespaceClean = buildPerlPackage rec { - name = "namespace-clean-0.21"; + MusicBrainz = buildPerlPackage rec { + name = "WebService-MusicBrainz-0.93"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz"; - sha256 = "0djqishj6mcw1jn9saff4i2glq89dq3rc7slpprcky31jay6jq5i"; + url = "mirror://cpan/authors/id/B/BF/BFAIST/${name}.tar.gz"; + sha256 = "1gg62x6qv4jj73jsqh0sb237k96i22blj29afpbp1scp3m7i5g61"; + }; + propagatedBuildInputs = [ XMLLibXML LWP ClassAccessor URI ]; + doCheck = false; # Test performs network access. + }; + + namespaceautoclean = buildPerlPackage rec { + name = "namespace-autoclean-0.13"; + src = fetchurl { + url = mirror://cpan/authors/id/B/BO/BOBTFISH/namespace-autoclean-0.13.tar.gz; + sha256 = "1w53k9f9zla90qdn7cyc9dx8zcv26gwy2y87gcazqsq1aj371m04"; + }; + buildInputs = [ Moose SubName ]; + propagatedBuildInputs = [ BHooksEndOfScope ClassMOP namespaceclean ]; + meta = { + homepage = http://metacpan.org/release/namespace-autoclean; + description = "Keep imports out of your namespace"; + license = "perl5"; + }; + }; + + namespaceclean = buildPerlPackage rec { + name = "namespace-clean-0.24"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.24.tar.gz; + sha256 = "0c0jj44f3y26scybnxp2lnkcydjqh0lfr6l1jsy13r3x9r4d8qd6"; + }; + propagatedBuildInputs = [ BHooksEndOfScope PackageStash ]; + meta = { + homepage = http://search.cpan.org/dist/namespace-clean; + description = "Keep imports and functions out of your namespace"; + license = "perl5"; }; - propagatedBuildInputs = [ BHooksEndOfScope DevelHide PackageStash ]; }; NetAddrIP = buildPerlPackage rec { @@ -2818,19 +3441,26 @@ rec { doCheck = false; }; - NetHTTP = buildPerlPackage rec { - name = "Net-HTTP-6.01"; + NetHTTP = buildPerlPackage { + name = "Net-HTTP-6.05"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz"; - sha256 = "0ipad5y605fr968snxmp1sxrkvag9r5y0g8qvj9n7ca9nbwq7n3n"; + url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.05.tar.gz; + sha256 = "1r2bv3cw4m054qfsm6i7rpvhrql1d78izpc36prv3xvahfsqxawc"; + }; + meta = { + description = "Low-level HTTP connection (client)"; + license = "perl"; }; }; NetIP = buildPerlPackage { - name = "Net-IP-1.25"; + name = "Net-IP-1.26"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz; - sha256 = "1iv0ka6d8kp9iana6zn51sxbcmz2h3mbn6cd8pald36q5whf5mjc"; + url = mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz; + sha256 = "0ffn2xqqbkfi7v303sp5dwgbv36jah3vg8r4nxhxfiv60vric3q4"; + }; + meta = { + description = "Perl extension for manipulating IPv4/IPv6 addresses"; }; }; @@ -2843,13 +3473,30 @@ rec { }; }; - NetServer = buildPerlPackage rec { - name = "Net-Server-0.99"; + NetOAuth = buildPerlPackage { + name = "Net-OAuth-0.28"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz"; - sha256 = "0pdf2fvklpcxrdz3wwmhbvjs6kvzcvjw28f3pny8z17188lv06n1"; + url = mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz; + sha256 = "0k4h4a5048h7qgyx25ih64x0l4airx8a6d9gjq08wmxcl2fk3z3v"; + }; + buildInputs = [ TestWarn ]; + propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWPUserAgent URI ]; + meta = { + description = "An implementation of the OAuth protocol"; + license = "perl"; + }; + }; + + NetServer = buildPerlPackage { + name = "Net-Server-2.007"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.007.tar.gz; + sha256 = "0a03m237cw6j5bvm2yxk2b2gbfx7wj0w2x5zivi9ddqvbcad6vqw"; }; doCheck = false; # seems to hang waiting for connections + meta = { + description = "Extensible, general Perl server engine"; + }; }; NetSMTP = buildPerlPackage { @@ -2871,27 +3518,43 @@ rec { propagatedBuildInputs = [IOSocketSSL]; }; + NetSMTPTLS = buildPerlPackage { + name = "Net-SMTP-TLS-0.12"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz; + sha256 = "19g48kabj22v66jbf69q78xplhi7r1y2kdbddfwh4xy3g9k75rzg"; + }; + propagatedBuildInputs = [IOSocketSSL DigestHMAC]; + }; + NetSSLeay = buildPerlPackage rec { - name = "Net-SSLeay-1.42"; + name = "Net-SSLeay-1.52"; src = fetchurl { url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz"; - sha256 = "17gxf0d1l0qlxn0d6gqz1dlzl6cdqv0jg47k0h1fcs45rlcpgjmn"; + sha256 = "1fkpdlpg99rdq2vlm6bgmqc8iazhcrfzvbpwxnn20k0viwpy7v28"; }; buildInputs = [ pkgs.openssl ]; OPENSSL_PREFIX = pkgs.openssl; doCheck = false; # Test performs network access. + meta = { + description = "Perl extension for using OpenSSL"; + license = "SSLeay"; + }; }; NetTwitterLite = buildPerlPackage { - name = "Net-Twitter-Lite-0.10003"; - + name = "Net-Twitter-Lite-0.11002"; src = fetchurl { - url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.10003.tar.gz; - sha256 = "1qh5bw68ad4fqiqbqwhgj859kq35asjmp0fsmrqhlbqy195pwi1i"; + url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.11002.tar.gz; + sha256 = "032gyn1h3r5d83wvz7nj3k7g50wcf73lbbmjc18466ml90vigys0"; }; + propagatedBuildInputs = [ CryptSSLeay LWPUserAgent NetOAuth URI ]; doCheck = false; - - propagatedBuildInputs = [JSONAny Encode LWP CryptSSLeay]; + meta = { + homepage = http://github.com/semifor/Net-Twitter-Lite; + description = "A perl interface to the Twitter API"; + license = "perl"; + }; }; NumberCompare = buildPerlPackage rec { @@ -2932,7 +3595,7 @@ rec { url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; sha256 = "24ac83539b188d85bd2c7bd67e355aab0ede3f98170b23cb50bd30b11b4387ff"; }; - propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPRequest XMLSimple ]; + propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPMessage XMLSimple ]; }; NetOpenIDConsumer = buildPerlPackage rec { @@ -2941,36 +3604,51 @@ rec { url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; sha256 = "4ab927b6756366fa4cef2b54088645849f32fc7e0cd8de0a50001bbf62946fd8"; }; - propagatedBuildInputs = [ NetOpenIDCommon JSON ]; + propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ]; }; - PackageDeprecationManager = buildPerlPackage rec { - name = "Package-DeprecationManager-0.11"; + PackageDeprecationManager = buildPerlPackage { + name = "Package-DeprecationManager-0.13"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "1q2jgq3dfva5wfsl1jn8711bk7fvf5cgpjddd8if9cx3zixnq2n1"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.13.tar.gz; + sha256 = "0fkvq3xxwc3l5hg64dr9sj3l12dl59i44cg407qx9sd6r51j3qfi"; + }; + buildInputs = [ TestRequires TestFatal ]; + propagatedBuildInputs = [ ParamsUtil SubInstall ListMoreUtils ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Manage deprecation warnings for your distribution"; + license = "artistic_2"; }; - buildInputs = [ TestFatal TestRequires ]; - propagatedBuildInputs = [ ListMoreUtils ParamsUtil SubInstall ]; }; - PackageStash = buildPerlPackage rec { - name = "Package-Stash-0.33"; + PackageStash = buildPerlPackage { + name = "Package-Stash-0.34"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; - sha256 = "0md52rqgcnvspg3l2hvwc31jilq4gkbdwgr5h32gy1hmslaxhpzn"; + url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.34.tar.gz; + sha256 = "1674zs96ndq3czs6v8xkdqqz4fnka0i2835nnns9zbw2q01yirj6"; + }; + buildInputs = [ DistCheckConflicts TestFatal TestRequires ]; + propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation PackageDeprecationManager ]; + meta = { + homepage = http://metacpan.org/release/Package-Stash; + description = "Routines for manipulating stashes"; + license = "perl5"; }; - buildInputs = [ TestFatal TestRequires ]; - propagatedBuildInputs = [ DistCheckConflicts PackageDeprecationManager PackageStashXS ]; }; - PackageStashXS = buildPerlPackage rec { - name = "Package-Stash-XS-0.25"; + PackageStashXS = buildPerlPackage { + name = "Package-Stash-XS-0.26"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; - sha256 = "1i45mhd17sfq41j62r8kkx2d2f4mi0sp6vl86mmk8a4ssq85i73k"; + url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.26.tar.gz; + sha256 = "1pfdpb3x40f5ldp5kp0d9xvrz4wk2fc3ww53wrq4dp326s08h7r9"; + }; + buildInputs = [ TestRequires TestFatal ]; + meta = { + homepage = http://metacpan.org/release/Package-Stash-XS; + description = "Faster and more correct implementation of the Package::Stash API"; + license = "perl5"; }; - buildInputs = [ TestFatal ]; }; ParamsClassify = buildPerlPackage rec { @@ -2982,19 +3660,42 @@ rec { buildInputs = [ ExtUtilsParseXS ]; }; - ParamsUtil = buildPerlPackage rec { - name = "Params-Util-1.01"; + ParamsUtil = buildPerlPackage { + name = "Params-Util-1.07"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "6a1613b669f18bf329003c7dbd11435248cffa9c1497645073821a68c0987a40"; + url = mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz; + sha256 = "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Simple, compact and correct param-checking functions"; + license = "perl5"; }; }; - ParamsValidate = buildModule rec { - name = "Params-Validate-1.00"; + ParamsValidate = buildPerlModule { + name = "Params-Validate-1.07"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Params/${name}.tar.gz"; - sha256 = "1yziygqb8km28xr3yzzsllzgg7xnxdh4wqfm2kmf2s6qck0dkij4"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.07.tar.gz; + sha256 = "15mz2wxarxjlr3365m1hhcnfs6d2mw3m0yimnlv06j13cxs39py1"; + }; + buildInputs = [ TestFatal ]; + propagatedBuildInputs = [ ModuleImplementation ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Validate method/function parameters"; + license = "artistic_2"; + }; + }; + + PARDist = buildPerlPackage { + name = "PAR-Dist-0.49"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Dist-0.49.tar.gz; + sha256 = "078ycyn8pw3rba4k3qwcqrqfcym5c1pivymwa0bvs9sab45j4iwy"; + }; + meta = { + description = "Create and manipulate PAR distributions"; }; }; @@ -3007,10 +3708,10 @@ rec { }; ParseCPANMeta = buildPerlPackage rec { - name = "Parse-CPAN-Meta-1.4401"; + name = "Parse-CPAN-Meta-1.4404"; src = fetchurl { url = "mirror://cpan/modules/by-module/Parse/${name}.tar.gz"; - sha256 = "0g381a0wynh9xc9wf44drw5vhfbd3wa693myy018jwq9vp51pf5q"; + sha256 = "1y4mr5hmkkl405x4v31kx2nmlahpg0c38k8s65vgqc4s28wxafmh"; }; propagatedBuildInputs = [ CPANMetaYAML JSONPP ]; }; @@ -3023,11 +3724,15 @@ rec { }; }; - PathClass = buildPerlPackage rec { - name = "Path-Class-0.24"; + PathClass = buildPerlPackage { + name = "Path-Class-0.29"; src = fetchurl { - url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/${name}.tar.gz"; - sha256 = "1g4in1k3nvk7w034hmhix9hjbjgpshwc5m8xvpga84rfzbadpnyc"; + url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.29.tar.gz; + sha256 = "1z3wvci2qcb1m9qrkxphbnfnr4jqgxbxnxrmdb25ks8gap98hk4z"; + }; + meta = { + description = "Cross-platform path specification manipulation"; + license = "perl"; }; }; @@ -3105,26 +3810,45 @@ rec { }; }; - Plack = buildPerlPackage rec { - name = "Plack-0.9985"; + Plack = buildPerlPackage { + name = "Plack-1.0015"; src = fetchurl { - url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz"; - sha256 = "0cik1iwpwky7aliwi59z93ykd13ysp4xg5dps1vd4dhqylkn4ns8"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0015.tar.gz; + sha256 = "1zg30bb55ws8fka5iawmfqnc3wg6ggigl0wljgvw0mk466sr3lxf"; + }; + buildInputs = [ TestRequires ]; + propagatedBuildInputs = [ DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HashMultiValue HTTPBody HTTPMessage LWPUserAgent StreamBuffered TestTCP TryTiny URI ]; + meta = { + homepage = http://plackperl.org; + description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)"; + license = "perl"; }; - buildInputs = [ TestRequires TestTCP HTTPRequestAsCGI ]; - propagatedBuildInputs = - [ LWP FileShareDir TryTiny DevelStackTrace DevelStackTraceAsHTML HTTPBody - HashMultiValue FilesysNotifySimple - ]; }; - PlackMiddlewareReverseProxy = buildPerlPackage rec { - name = "Plack-Middleware-ReverseProxy-0.10"; + PlackMiddlewareReverseProxy = buildPerlPackage { + name = "Plack-Middleware-ReverseProxy-0.15"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Plack/${name}.tar.gz"; - sha256 = "0w9bl1z71frra0dgz4gsxskvj1c8dhjkhrj2gqwdds6jcqyny7mf"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.15.tar.gz; + sha256 = "1zmsccdy6wr5hxzj07r1nsmaymyibk87p95z0wzknjw10lwmqs9f"; + }; + propagatedBuildInputs = [ Plack ]; + meta = { + description = "Supports app to run as a reverse proxy backend"; + license = "perl"; + }; + }; + + PlackTestExternalServer = buildPerlPackage { + name = "Plack-Test-ExternalServer-0.01"; + src = fetchurl { + url = mirror://cpan/authors/id/F/FL/FLORA/Plack-Test-ExternalServer-0.01.tar.gz; + sha256 = "1dbg1p3rgvvbkkpvca5jlc2mzx8iqyiybk88al93pvbca65h1g7h"; + }; + propagatedBuildInputs = [ HTTPMessage LWPUserAgent Plack TestTCP URI ]; + meta = { + description = "Run HTTP tests on external live servers"; + license = "perl"; }; - propagatedBuildInputs = [ Plack YAML ]; }; PPI = buildPerlPackage rec { @@ -3163,11 +3887,13 @@ rec { }; }; - PadWalker = buildPerlPackage rec { - name = "PadWalker-1.9"; + PadWalker = buildPerlPackage { + name = "PadWalker-1.96"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RO/ROBIN/${name}.tar.gz"; - sha256 = "0lvh0qlyrpnkssqkhfxhbjpb5lyr4fp6d1p7la8k6w3wv1qmbl1s"; + url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.96.tar.gz; + sha256 = "180c72l3ssnsdbyifl9lzdz83x4zidf3nfgyx6l0j41a5wj0w9fz"; + }; + meta = { }; }; @@ -3287,6 +4013,32 @@ rec { }; }; + RoleTiny = buildPerlPackage { + name = "Role-Tiny-1.002004"; + src = fetchurl { + url = mirror://cpan/authors/id/I/IL/ILMARI/Role-Tiny-1.002004.tar.gz; + sha256 = "0n126kazifmx6grdk4rmq226xklfc996cqw4ix26z9jcccl4v756"; + }; + buildInputs = [ TestFatal ]; + meta = { + description = "Roles, like a nouvelle cuisine portion size slice of Moose"; + license = "perl5"; + }; + }; + + SafeIsa = buildPerlPackage { + name = "Safe-Isa-1.000002"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MS/MSTROUT/Safe-Isa-1.000002.tar.gz; + sha256 = "07jr4fy6zbw9zwpalxzxlkn4nym6fd0304fsrb5ag0v156ygpwvl"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Call isa, can, does and DOES safely on things that may not be objects"; + license = "perl5"; + }; + }; + ScalarString = buildPerlPackage rec { name = "Scalar-String-0.002"; src = fetchurl { @@ -3296,18 +4048,27 @@ rec { }; ScopeGuard = buildPerlPackage { - name = "Scope-Guard-0.03"; + name = "Scope-Guard-0.20"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.03.tar.gz; - sha256 = "07x966fkqxlwnngxs7a2jrhabh8gzhjfpqq56n9gkwy7f340sayb"; + url = mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.20.tar.gz; + sha256 = "1lsagnz6pli035zvx5c1x4qm9fabi773vns86yd8lzfpldhfv3sv"; + }; + meta = { + description = "Lexically-scoped resource management"; + license = "perl"; }; }; - ScopeUpper = buildPerlPackage rec { - name = "Scope-Upper-0.12"; + ScopeUpper = buildPerlPackage { + name = "Scope-Upper-0.21"; src = fetchurl { - url = "mirror://cpan/authors/id/V/VP/VPIT/${name}.tar.gz"; - sha256 = "1yrjx22hlsv2qdgicnz589j9iipyxl56y6pnks2cfg6icpp97v5w"; + url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.21.tar.gz; + sha256 = "058nfnzp31k7hmdvbsr72nvrw0i23gwjplb6g6pag3s18m7fl1p6"; + }; + meta = { + homepage = http://search.cpan.org/dist/Scope-Upper/; + description = "Act on upper scopes"; + license = "perl5"; }; }; @@ -3346,15 +4107,18 @@ rec { propagatedBuildInputs = [ IOStringy OLEStorageLight ]; }; - SQLAbstract = buildPerlPackage rec { - name = "SQL-Abstract-1.72"; + SQLAbstract = buildPerlPackage { + name = "SQL-Abstract-1.73"; src = fetchurl { - url = "mirror://cpan/modules/by-module/SQL/${name}.tar.gz"; - sha256 = "12abz50zz51s1f5hvs5xl6smb369sjid1zyjkfygkiglqp4an0kr"; + url = mirror://cpan/authors/id/F/FR/FREW/SQL-Abstract-1.73.tar.gz; + sha256 = "081ppyvsc66yshmfr9q9v7hp9g58725nnibd771i9g153vzs49kb"; + }; + buildInputs = [ TestException TestWarn ]; + propagatedBuildInputs = [ ClassAccessorGrouped GetoptLongDescriptive HashMerge ]; + meta = { + description = "Generate SQL from Perl data structures"; + license = "perl"; }; - buildInputs = [ TestDeep TestException TestWarn ]; - propagatedBuildInputs = - [ ClassAccessorGrouped GetoptLongDescriptive HashMerge ]; }; SQLAbstractLimit = buildPerlPackage rec { @@ -3400,16 +4164,19 @@ rec { ]; }; - Starman = buildPerlPackage rec { - name = "Starman-0.2014"; + Starman = buildPerlPackage { + name = "Starman-0.3006"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Plack/${name}.tar.gz"; - sha256 = "0hf3wpm2q4zcgjahjrpkkzy4fn74vkddg9yqs7p97xb290pvlbki"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.3006.tar.gz; + sha256 = "0dlwrrq570v5mbpzsi4pmj6n2sjm3xpcilhh6dvpq8qbp550wixy"; }; - patches = [ ../development/perl-modules/starman-dont-change-name.patch ]; - buildInputs = [ TestRequires TestTCP ]; - propagatedBuildInputs = [ Plack DataDump HTTPParserXS NetServer ]; + buildInputs = [ TestRequires ]; + propagatedBuildInputs = [ DataDump HTTPDate HTTPParserXS HTTPMessage NetServer Plack TestTCP ]; doCheck = false; # binds to various TCP ports1 + meta = { + description = "High-performance preforking PSGI/Plack web server"; + license = "perl"; + }; }; StatisticsDescriptive = buildPerlPackage rec { @@ -3437,6 +4204,32 @@ rec { propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ]; }; + StreamBuffered = buildPerlPackage { + name = "Stream-Buffered-0.02"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.02.tar.gz; + sha256 = "0bfa3h2pryrbrcd1r7235k0ik4gw35r5ig8h8y3dfmk9l3y96vjr"; + }; + meta = { + homepage = http://plackperl.org; + description = "Temporary buffer to save bytes"; + license = "perl"; + }; + }; + + strictures = buildPerlPackage { + name = "strictures-1.004004"; + src = fetchurl { + url = mirror://cpan/authors/id/E/ET/ETHER/strictures-1.004004.tar.gz; + sha256 = "0d7fanr4ggmlqvdxf63ci7nxba2vrdz9558xy35hfpm8max7s48j"; + }; + meta = { + homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git; + description = "Turn on strict and make all warnings fatal"; + license = "perl5"; + }; + }; + StringCamelCase = buildPerlPackage rec { name = "String-CamelCase-0.02"; src = fetchurl { @@ -3461,11 +4254,17 @@ rec { }; }; - StringRewritePrefix = buildPerlPackage rec { - name = "String-RewritePrefix-0.004"; + StringRewritePrefix = buildPerlPackage { + name = "String-RewritePrefix-0.006"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "17v0pwiprsz9ibxlhpi789jxg691nz9prpabvb4dn4nb0qbi0yd0"; + url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.006.tar.gz; + sha256 = "1b9fg805g0agsyij28w8hhmnf485bii8zl03i092mv1p2hqrpxll"; + }; + propagatedBuildInputs = [ SubExporter ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Rewrite strings based on a set of known prefixes"; + license = "perl5"; }; }; @@ -3476,16 +4275,48 @@ rec { sha256 = "1rmldr7jf4jvkhzlv8hgp48lrmybvinmhv8kcnrpa8las0ijm4vm"; }; propagatedBuildInputs = - [ LinguaENInflectPhrase TextUnidecode NamespaceClean ]; + [ LinguaENInflectPhrase TextUnidecode namespaceclean ]; }; - SubExporter = buildPerlPackage rec { - name = "Sub-Exporter-0.982"; + SubExporter = buildPerlPackage { + name = "Sub-Exporter-0.984"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "0xf8q05k5xs3bw6qy3pnnl5d670njxsxbw2dprl7n50hf488cbvj"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.984.tar.gz; + sha256 = "190qly7nv7zf17c1v0gnqhyf25p6whhh2m132mh4xzs5mqadwq0f"; + }; + propagatedBuildInputs = [ DataOptList ParamsUtil SubInstall ]; + meta = { + homepage = https://github.com/rjbs/sub-exporter; + description = "A sophisticated exporter for custom-built routines"; + license = "perl5"; + }; + }; + + SubExporterProgressive = buildPerlPackage { + name = "Sub-Exporter-Progressive-0.001006"; + src = fetchurl { + url = mirror://cpan/authors/id/L/LE/LEONT/Sub-Exporter-Progressive-0.001006.tar.gz; + sha256 = "0s13fz86c8slhgban10sywp2skjdxnl3nvkqqy7pbwg81g3v9rr2"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Only use Sub::Exporter if you need it"; + license = "perl5"; + }; + }; + + SubExporterUtil = buildPerlPackage { + name = "Sub-Exporter-Util-0.984"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.984.tar.gz; + sha256 = "190qly7nv7zf17c1v0gnqhyf25p6whhh2m132mh4xzs5mqadwq0f"; + }; + propagatedBuildInputs = [ DataOptList ParamsUtil SubInstall ]; + meta = { + homepage = https://github.com/rjbs/sub-exporter; + description = "A sophisticated exporter for custom-built routines"; + license = "perl5"; }; - propagatedBuildInputs = [SubInstall DataOptList ParamsUtil]; }; SubIdentify = buildPerlPackage rec { @@ -3496,20 +4327,28 @@ rec { }; }; - SubInstall = buildPerlPackage rec { - name = "Sub-Install-0.925"; + SubInstall = buildPerlPackage { + name = "Sub-Install-0.926"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "1sccc4nwp9y24zkr42ww2gwg6zwax4madi9spsdym1pqna3nwnm6"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.926.tar.gz; + sha256 = "0gkns6p11j46j6yzacanhbqgd4ws5r0ppg6yivz7cjbq8dk4kcmc"; + }; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Install subroutines into packages easily"; + license = "perl5"; }; }; - SubName = buildPerlPackage rec { + SubName = buildPerlPackage { name = "Sub-Name-0.05"; src = fetchurl { - url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz"; + url = mirror://cpan/authors/id/F/FL/FLORA/Sub-Name-0.05.tar.gz; sha256 = "1w9sf51ai2r3i0kv5wnq7h9g3hcd6zb6i51ivvykb3hzx82vilf9"; }; + meta = { + description = "(Re)name a sub"; + }; }; SubOverride = buildPerlPackage rec { @@ -3522,10 +4361,15 @@ rec { }; SubUplevel = buildPerlPackage { - name = "Sub-Uplevel-0.2002"; + name = "Sub-Uplevel-0.24"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2002.tar.gz; - sha256 = "19b2b9xsw7lvvkcmmnhhv8ybxdkbnrky9nnqgjridr108ww9m5rh"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.24.tar.gz; + sha256 = "1yzxqsim8vpavzqm2wfksh8dpmy6qbr9s3hdqqicp38br3lzd4qg"; + }; + meta = { + homepage = https://github.com/dagolden/sub-uplevel; + description = "Apparently run a function in a higher stack frame"; + license = "perl5"; }; }; @@ -3618,34 +4462,41 @@ rec { }; TaskWeaken = buildPerlPackage { - name = "Task-Weaken-1.02"; + name = "Task-Weaken-1.04"; src = fetchurl { - url = mirror://cpan/authors/id/A/AD/ADAMK/Task-Weaken-1.02.tar.gz; - sha256 = "10f9kd1lwbscmmjwgbfwa4kkp723mb463lkbmh29rlhbsl7kb5wz"; + url = mirror://cpan/authors/id/A/AD/ADAMK/Task-Weaken-1.04.tar.gz; + sha256 = "1i7kd9v8fjsqyhr4rx4a1jv7n5vfjjm1v4agb24pizh0b72p3qk7"; + }; + meta = { + description = "Ensure that a platform has weaken support"; + license = "perl"; }; }; TemplateTimer = buildPerlPackage { - name = "Template-Timer-0.04"; + name = "Template-Timer-1.00"; src = fetchurl { - url = mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-0.04.tar.gz; - sha256 = "0j0gmxbq1svp0rb4kprwj2fk2mhl07yah08bksfz0a0pfz6lsam4"; + url = mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz; + sha256 = "1d3pbcx1kz73ncg8s8lx3ifwphz838qy0m40gdar7790cnrlqcdp"; + }; + propagatedBuildInputs = [ TemplateToolkit ]; + meta = { + description = "Rudimentary profiling for Template Toolkit"; + license = "null"; }; - propagatedBuildInputs = [TemplateToolkit]; }; TemplateToolkit = buildPerlPackage rec { - name = "Template-Toolkit-2.22"; + name = "Template-Toolkit-2.24"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AB/ABW/${name}.tar.gz"; - sha256 = "023sb6mf43m085pf8qq1dh1ill66p424mmj66xna5ji1nkw96pm3"; + url = mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-2.24.tar.gz; + sha256 = "1j01kpsdpwxrwbsz2y1d8xyyliw9l23g0f3jigxvgxs9qal4m0rq"; + }; + propagatedBuildInputs = [ AppConfig ]; + meta = { + description = "Comprehensive template processing system"; + license = "perl5"; }; - propagatedBuildInputs = [AppConfig]; - patches = [ - # Needed to make TT works proy on templates in the Nix store. - # !!! unnecessary with Nix >= 0.13. - ../development/perl-modules/template-toolkit-nix-store.patch - ]; }; TermReadKey = buildPerlPackage { @@ -3689,22 +4540,43 @@ rec { buildInputs = [ LogTrace ]; }; - TestDeep = buildPerlPackage rec { - name = "Test-Deep-0.109"; + TestCheckDeps = buildPerlPackage { + name = "Test-CheckDeps-0.002"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "0nqqxj00ln3b4pma47bj2rcpblpvipfrchqbcxahlq9lh1q4p5s6"; + url = mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.002.tar.gz; + sha256 = "0fmm9xsgial599bqb6rcrc6xp0627rcdp0ivx8wsy807py5jk5i6"; + }; + propagatedBuildInputs = [ CPANMetaCheck ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Check for presence of dependencies"; + license = "perl5"; }; - propagatedBuildInputs = [TestTester TestNoWarnings]; }; - TestDifferences = buildPerlPackage rec { - name = "Test-Differences-0.500"; + TestDeep = buildPerlPackage { + name = "Test-Deep-0.110"; src = fetchurl { - url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz"; - sha256 = "0ha36j6wr1d47zzilb28bvkm5lm5c6i4rqp4aqyknwg4qmagjr4w"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.110.tar.gz; + sha256 = "12rd9fknm778685ypyc599lcmzbqvbqnjhcrkybgpq2siai9q4h5"; + }; + propagatedBuildInputs = [ TestNoWarnings TestTester ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + }; + }; + + TestDifferences = buildPerlPackage { + name = "Test-Differences-0.61"; + src = fetchurl { + url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.61.tar.gz; + sha256 = "044wg7nqmhvh5ms8z305f9bzldhigr020l1a7iqycxqv05h6b6vm"; + }; + propagatedBuildInputs = [ TextDiff ]; + meta = { + description = "Test strings and data structures and show differences if not ok"; + license = "perl"; }; - propagatedBuildInputs = [ TestMore TextDiff ]; }; TestException = buildPerlPackage rec { @@ -3716,13 +4588,18 @@ rec { propagatedBuildInputs = [ SubUplevel ]; }; - TestFatal = buildPerlPackage rec { - name = "Test-Fatal-0.006"; + TestFatal = buildPerlPackage { + name = "Test-Fatal-0.010"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "0laxzphmqwq0rrizv3n7pcnrn345yh70cip61sl8f8mw8dir1jdx"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.010.tar.gz; + sha256 = "01ck4wyrj4nqyr1cz3lcff6g9nryadsflpf85jmsa6vcl2bq8pl0"; }; propagatedBuildInputs = [ TryTiny ]; + meta = { + homepage = https://github.com/rjbs/test-fatal; + description = "Incredibly simple helpers for testing code with exceptions"; + license = "perl5"; + }; }; TestHarness = buildPerlPackage rec { @@ -3750,6 +4627,21 @@ rec { propagatedBuildInputs = [TestException UNIVERSALisa UNIVERSALcan]; }; + TestMoose = buildPerlPackage { + name = "Test-Moose-2.0604"; + src = fetchurl { + url = mirror://cpan/authors/id/D/DO/DOY/Moose-2.0604.tar.gz; + sha256 = "0nwvklb8dwf8lskwxik3gi9gsqzrix2jhc56zvfzlf1q5q1s07qj"; + }; + buildInputs = [ DistCheckConflicts TestFatal TestRequires ]; + propagatedBuildInputs = [ ClassLoad ClassLoadXS DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure ListMoreUtils MROCompat PackageDeprecationManager PackageStash PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "A postmodern object system for Perl 5"; + license = "perl5"; + }; + }; + TestMockTime = buildPerlPackage rec { name = "Test-MockTime-0.09"; src = fetchurl { @@ -3761,12 +4653,17 @@ rec { TestMore = TestSimple; TestNoWarnings = buildPerlPackage { - name = "Test-NoWarnings-0.084"; + name = "Test-NoWarnings-1.04"; src = fetchurl { - url = mirror://cpan/authors/id/F/FD/FDALY/Test-NoWarnings-0.084.tar.gz; - sha256 = "19g47pa3brr9px3jnwziapvxcnghqqjjwxz1jfch4asawpdx2s8b"; + url = mirror://cpan/authors/id/A/AD/ADAMK/Test-NoWarnings-1.04.tar.gz; + sha256 = "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3"; + }; + buildInputs = [ TestTester ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Make sure you didn't emit any warnings while testing"; + license = "open_source"; }; - propagatedBuildInputs = [TestTester]; }; TestObject = buildPerlPackage rec { @@ -3797,10 +4694,15 @@ rec { }; TestPod = buildPerlPackage { - name = "Test-Pod-1.26"; + name = "Test-Pod-1.45"; src = fetchurl { - url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-Pod-1.26.tar.gz; - sha256 = "025rviipiaa1rf0bp040jlwaxwvx48kdcjriaysvkjpyvilwvqd4"; + url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-Pod-1.45.tar.gz; + sha256 = "0yv0bglm4b9zfi9l5z6x2dy6pzlh8n5z9yl7py5v6h48mwgk74fk"; + }; + meta = { + homepage = http://search.cpan.org/dist/Test-Pod/; + description = "Check for POD errors in files"; + license = "perl5"; }; }; @@ -3813,12 +4715,16 @@ rec { propagatedBuildInputs = [PodCoverage]; }; - TestRequires = buildPerlPackage rec { + TestRequires = buildPerlPackage { name = "Test-Requires-0.06"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/${name}.tar.gz"; + url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-Requires-0.06.tar.gz; sha256 = "1ksyg4npzx5faf2sj80rm74qjra4q679750vfqfvw3kg1d69wvwv"; }; + meta = { + description = "Checks to see if the module can be loaded"; + license = "perl"; + }; }; TestScript = buildPerlPackage rec { @@ -3838,13 +4744,7 @@ rec { }; }; - TestSimple = buildPerlPackage rec { - name = "Test-Simple-0.98"; - src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "1a0jrl3n2g05qn6c79pv5bnc1wlq36qccwdgf1pjrrvmrgi07cig"; - }; - }; + TestSimple = null; TestSubCalls = buildPerlPackage rec { name = "Test-SubCalls-1.09"; @@ -3855,20 +4755,24 @@ rec { propagatedBuildInputs = [ HookLexWrap ]; }; - TestTCP = buildPerlPackage rec { - name = "Test-TCP-1.13"; + TestTCP = buildPerlPackage { + name = "Test-TCP-1.18"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "00vbkynkdflqgdvywdxzgg3yx1w7nfb68py8l3lglq9jq4pq9wbb"; + url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-TCP-1.18.tar.gz; + sha256 = "0flm7x0z7amppi9y6s8mxm0pkrgfihfpfjs0w4i6s80jiss1gfld"; + }; + propagatedBuildInputs = [ TestSharedFork ]; + meta = { + description = "Testing TCP program"; + license = "perl"; }; - propagatedBuildInputs = [ TestMore TestSharedFork ]; }; TestTester = buildPerlPackage { - name = "Test-Tester-0.107"; + name = "Test-Tester-0.108"; src = fetchurl { - url = mirror://cpan/authors/id/F/FD/FDALY/Test-Tester-0.107.tar.gz; - sha256 = "0qgmsl6s6xm39211lywyzwrlz0gcmax7fb8zipybs9yxfmwcvyx2"; + url = mirror://cpan/authors/id/F/FD/FDALY/Test-Tester-0.108.tar.gz; + sha256 = "1pby9w41b7z0cgnxpgkh397x7z68855sjg5yda48r6lck3lga62h"; }; }; @@ -3880,26 +4784,32 @@ rec { }; }; - TestWarn = buildPerlPackage rec { - name = "Test-Warn-0.23"; + TestWarn = buildPerlPackage { + name = "Test-Warn-0.24"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "1733s39s4pm0hsshvvjsv1vbri09l4g0g7yyg64y65yqcyanfdf0"; + url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.24.tar.gz; + sha256 = "12r1mcwrm6cgc3ppgawwv265vmrighj4bl6xc5c41f4c2l6bdxml"; + }; + propagatedBuildInputs = [ SubUplevel TreeDAGNode ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "Perl extension to test methods for warnings"; + license = "perl5"; }; - propagatedBuildInputs = [TestSimple TestException ArrayCompare TreeDAGNode]; - buildInputs = [TestPod]; }; - TestWWWMechanize = buildPerlPackage rec { - name = "Test-WWW-Mechanize-1.24"; + TestWWWMechanize = buildPerlPackage { + name = "Test-WWW-Mechanize-1.44"; src = fetchurl { - url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz"; - sha256 = "11knym5ppish78rk8r1hymvq1py43h7z8d6nk8p4ig3p246xx5qa"; + url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.44.tar.gz; + sha256 = "062pj242vsc73bw11jqpap92ax9wzc9f2m4xhyp1wzrwkfchpl2q"; + }; + propagatedBuildInputs = [ CarpAssertMore HTMLTree HTTPServerSimple LWP TestLongString URI WWWMechanize ]; + meta = { + homepage = https://github.com/petdance/test-www-mechanize; + description = "Testing-specific WWW::Mechanize subclass"; + license = "artistic_2"; }; - propagatedBuildInputs = [ - CarpAssertMore URI TestLongString WWWMechanize - ]; - doCheck = false; }; TestWWWMechanizeCatalyst = buildPerlPackage rec { @@ -3916,11 +4826,27 @@ rec { doCheck = false; # listens on an external port }; - TextAligner = buildPerlPackage rec { - name = "Text-Aligner-0.03"; + TestWWWMechanizePSGI = buildPerlPackage { + name = "Test-WWW-Mechanize-PSGI-0.35"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AN/ANNO/${name}.tar.gz"; - sha256 = "137m8w13ffdm3fbvy6yw0izrl2p87zawp1840qvsdw1nd0plxyp9"; + url = mirror://cpan/authors/id/L/LB/LBROCARD/Test-WWW-Mechanize-PSGI-0.35.tar.gz; + sha256 = "1hih8s49zf38bisvhnhzrrj0zwyiivkrbs7nmmdqm1qqy27wv7pc"; + }; + propagatedBuildInputs = [ Plack TestWWWMechanize TryTiny ]; + meta = { + description = "Test PSGI programs using WWW::Mechanize"; + license = "perl"; + }; + }; + + TextAligner = buildPerlPackage { + name = "Text-Aligner-0.07"; + src = fetchurl { + url = mirror://cpan/authors/id/A/AN/ANNO/Text-Aligner-0.07.tar.gz; + sha256 = "1vpb87binmmysr4sxfjinxg4bh3rb4rmrx48yyczgmyddmda9rik"; + }; + meta = { + description = "Align text in columns"; }; }; @@ -3932,13 +4858,17 @@ rec { }; }; - TextDiff = buildPerlPackage rec { - name = "Text-Diff-1.37"; + TextDiff = buildPerlPackage { + name = "Text-Diff-1.41"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "08das6k4nrf8dgcg2l1jcy8868kgzx976j38rpdndgrgq0nz148n"; + url = mirror://cpan/authors/id/O/OV/OVID/Text-Diff-1.41.tar.gz; + sha256 = "1ynjsa4sr1yvyh65sdfvahaafglibz70j8b6rj01cg1iisj50zx6"; }; propagatedBuildInputs = [ AlgorithmDiff ]; + meta = { + description = "Perform diffs on files and record sets"; + license = "perl"; + }; }; TextGlob = buildPerlPackage rec { @@ -3984,20 +4914,29 @@ rec { }; TextSimpleTable = buildPerlPackage { - name = "Text-SimpleTable-0.05"; + name = "Text-SimpleTable-2.03"; src = fetchurl { - url = mirror://cpan/authors/id/S/SR/SRI/Text-SimpleTable-0.05.tar.gz; - sha256 = "028pdfmr2gnaq8w3iar8kqvrpxcghnag8ls7h4227l9zbxd1k9p9"; + url = mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.03.tar.gz; + sha256 = "15hpry9jwrf1vbjyk21s65rllxrdvp2fdzzv9gsvczggby2yyzfs"; + }; + meta = { + description = "Simple eyecandy ASCII tables"; + license = "artistic_2"; }; }; - TextTable = buildPerlPackage rec { - name = "Text-Table-1.114"; + TextTable = buildPerlPackage { + name = "Text-Table-1.126"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AN/ANNO/${name}.tar.gz"; - sha256 = "0qnpfyv7l98hyah3bnq19c33m9jh5sg0fmw2xxzaygmnp2pgpmpm"; + url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.126.tar.gz; + sha256 = "18v9ll360q4hlhmpks175da7y8nf6ywygd39archnw3zpn1cv7h1"; + }; + propagatedBuildInputs = [ TextAligner ]; + meta = { + homepage = http://www.shlomifish.org/open-source/projects/docmake/; + description = "Organize Data in Tables"; + license = "bsd"; }; - propagatedBuildInputs = [TextAligner]; }; TextTabularDisplay = buildPerlPackage rec { @@ -4009,6 +4948,20 @@ rec { propagatedBuildInputs = [TextAligner]; }; + TestTrap = buildPerlPackage { + name = "Test-Trap-v0.2.2"; + src = fetchurl { + url = mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.2.2.tar.gz; + sha256 = "1ci5ag9pm850ww55n2929skvw3avy6xcrwmmi2yyn0hifxx9dybs"; + }; + buildInputs = [ TestTester ]; + propagatedBuildInputs = [ DataDump ]; + meta = { + description = "Trap exit codes, exceptions, output, etc."; + license = "perl"; + }; + }; + TextUnidecode = buildPerlPackage rec { name = "Text-Unidecode-0.04"; src = fetchurl { @@ -4026,11 +4979,15 @@ rec { propagatedBuildInputs = [ DevelStackTrace Moose ]; }; - TieIxHash = buildPerlPackage rec { - name = "Tie-IxHash-1.21"; + TieIxHash = buildPerlPackage { + name = "Tie-IxHash-1.22"; src = fetchurl { - url = "mirror://cpan/authors/id/G/GS/GSAR/${name}.tar.gz"; - sha256 = "1xpj2c1dzcp14hfnxahy4r5f19c8afh8k6sfryq9gi76aadvjyk8"; + url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.22.tar.gz; + sha256 = "0f0m0x8nkidxd0pxnls1i8kc8d7bd89dqgihz29wj3ggk43qffr7"; + }; + meta = { + description = "Ordered associative arrays for Perl"; + license = "perl"; }; }; @@ -4060,10 +5017,16 @@ rec { }; TreeDAGNode = buildPerlPackage { - name = "Tree-DAG_Node-1.06"; + name = "Tree-DAG_Node-1.09"; src = fetchurl { - url = mirror://cpan/authors/id/C/CO/COGENT/Tree-DAG_Node-1.06.tar.gz; - sha256 = "0anvwfh4vqj41ipq52p65sqlvw3rvm6cla5hbws13gyk9mvp09ah"; + url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-1.09.tgz; + sha256 = "1k2byyk7dnm8l6i1igagpfr58b02zsq5hwd9jcdp8yrlih7dzii3"; + }; + buildInputs = [ TestPod ]; + meta = { + homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; + description = "An N-ary tree"; + license = "perl5"; }; }; @@ -4073,7 +5036,11 @@ rec { url = mirror://cpan/authors/id/S/ST/STEVAN/Tree-Simple-1.18.tar.gz; sha256 = "0bb2hc8q5rwvz8a9n6f49kzx992cxczmrvq82d71757v087dzg6g"; }; - propagatedBuildInputs = [TestException]; + buildInputs = [ TestException ]; + meta = { + description = "A simple tree object"; + license = "perl"; + }; }; TreeSimpleVisitorFactory = buildPerlPackage { @@ -4086,11 +5053,14 @@ rec { buildInputs = [TestException]; }; - TryTiny = buildPerlPackage rec { - name = "Try-Tiny-0.09"; + TryTiny = buildPerlPackage { + name = "Try-Tiny-0.12"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; - sha256 = "1fjhwq347wa74h94nd54lx194s26s7x9whfc0kkpcng2sgs54vvs"; + url = mirror://cpan/authors/id/D/DO/DOY/Try-Tiny-0.12.tar.gz; + sha256 = "0awv2w33jb1xw3bsrfwsz53dgwm8s8vnpk4ssxxp3n89i7116p2g"; + }; + meta = { + homepage = https://github.com/doy/try-tiny.git; }; }; @@ -4102,11 +5072,16 @@ rec { }; }; - UNIVERSALisa = buildModule rec { - name = "UNIVERSAL-isa-1.01"; + UNIVERSALisa = buildPerlPackage { + name = "UNIVERSAL-isa-1.20120726"; src = fetchurl { - url = "mirror://cpan/authors/id/C/CH/CHROMATIC/${name}.tar.gz"; - sha256 = "0iksklmfhiaxg2rsw827n97k1mris6dg596rdwk2gmrwl0rsk0wz"; + url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-isa-1.20120726.tar.gz; + sha256 = "1qal99sp888b50kwank9ffyprv7kqx42p4vyfahdabf915lyzc61"; + }; + meta = { + homepage = https://github.com/chromatic/UNIVERSAL-isa; + description = "Attempt to recover from people calling UNIVERSAL::isa as a function"; + license = "perl"; }; }; @@ -4118,11 +5093,15 @@ rec { }; }; - URI = buildPerlPackage rec { - name = "URI-1.59"; + URI = buildPerlPackage { + name = "URI-1.60"; src = fetchurl { - url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz"; - sha256 = "1inanl9vs6q1bwvig1s8hdwagjw4484gs4s7pjnx5f4xb2dx526b"; + url = mirror://cpan/authors/id/G/GA/GAAS/URI-1.60.tar.gz; + sha256 = "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz"; + }; + meta = { + description = "Uniform Resource Identifiers (absolute and relative)"; + license = "perl"; }; }; @@ -4189,14 +5168,32 @@ rec { doCheck = false; # performs network access }; - WWWMechanize = buildPerlPackage rec { - name = "WWW-Mechanize-1.54"; + WWWMechanize = buildPerlPackage { + name = "WWW-Mechanize-1.72"; src = fetchurl { - url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz"; - sha256 = "1yxvw5xfng5fj4422869p5dwvmrkmqph9gdm2nl12wngydk93lnh"; + url = mirror://cpan/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz; + sha256 = "0vs3p2697675bswjayfmm37lg3xsxm94z1mif18s732kwvnpg6m6"; }; - propagatedBuildInputs = [LWP HTTPResponseEncoding HTTPServerSimple]; + propagatedBuildInputs = [ HTMLForm HTMLParser HTMLTree HTTPDaemon HTTPMessage HTTPServerSimple LWP LWPUserAgent TestWarn URI ]; doCheck = false; + meta = { + homepage = https://github.com/bestpractical/www-mechanize; + description = "Handy web browsing in a Perl object"; + license = "perl5"; + }; + }; + + WWWRobotRules = buildPerlPackage { + name = "WWW-RobotRules-6.02"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz; + sha256 = "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6"; + }; + propagatedBuildInputs = [ URI ]; + meta = { + description = "Database of robots.txt-derived permissions"; + license = "perl"; + }; }; X11GUITest = buildPerlPackage rec { @@ -4309,27 +5306,29 @@ rec { }; }; - XSLoader = buildPerlPackage { - name = "XSLoader-0.08"; + YAML = buildPerlPackage { + name = "YAML-0.84"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.08.tar.gz; - sha256 = "0mr4l3givrpyvz1kg0kap2ds8g0rza2cim9kbnjy8hi64igkixi5"; + url = mirror://cpan/authors/id/M/MS/MSTROUT/YAML-0.84.tar.gz; + sha256 = "03349n2z32gwjqiq7l3g57avvphl2rw3lmwc8i5cl9hmfw51yd8a"; + }; + meta = { + homepage = https://github.com/ingydotnet/yaml-pm/tree; + description = "YAML Ain't Markup Language (tm)"; + license = "perl"; }; }; - YAML = buildPerlPackage rec { - name = "YAML-0.80"; + YAMLSyck = buildPerlPackage { + name = "YAML-Syck-1.22"; src = fetchurl { - url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz"; - sha256 = "81ada73c7eda69dad3cc679b2facba50f2634edcc16c59a7b66bffb9f2fa0e90"; + url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.22.tar.gz; + sha256 = "0n3k71i0b8mhdrl5kp1cwyvjbkqahyqkhp81wl3qnkfhyi39f55y"; }; - }; - - YAMLSyck = buildPerlPackage rec { - name = "YAML-Syck-1.05"; - src = fetchurl { - url = "mirror://cpan/authors/id/A/AU/AUDREYT/${name}.tar.gz"; - sha256 = "15acwp2qdxfmhfqj4c1s57xyy48hcfc87lblww3lbvihqbysyzss"; + meta = { + homepage = http://search.cpan.org/dist/YAML-Syck; + description = "Fast, lightweight YAML loader and dumper"; + license = "mit"; }; }; diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix index 7a45492b032..b1406c615bd 100644 --- a/pkgs/top-level/platforms.nix +++ b/pkgs/top-level/platforms.nix @@ -14,7 +14,7 @@ rec { '' # Virtualisation (KVM, Xen...). PARAVIRT_GUEST y - KVM_CLOCK y + KVM_CLOCK? y #Part of KVM_GUEST since linux 3.7 KVM_GUEST y XEN y KSM y @@ -50,6 +50,9 @@ rec { EXT4_FS m USB_STORAGE_CYPRESS_ATACB m + # mv cesa requires this sw fallback, for mv-sha1 + CRYPTO_SHA1 y + IP_PNP y IP_PNP_DHCP y NFS_FS y @@ -70,6 +73,7 @@ rec { IP_NF_TARGET_LOG y IP_NF_MANGLE y IPV6 m + VLAN_8021Q m CIFS y CIFS_XATTR y @@ -77,6 +81,10 @@ rec { CIFS_FSCACHE y CIFS_ACL y + WATCHDOG y + WATCHDOG_CORE y + ORION_WATCHDOG m + ZRAM m NETCONSOLE m @@ -99,6 +107,23 @@ rec { # nixos mounts some cgroup CGROUPS y + + # Latencytop + LATENCYTOP y + + # Ubi for the mtd + MTD_UBI y + UBIFS_FS y + UBIFS_FS_XATTR y + UBIFS_FS_ADVANCED_COMPR y + UBIFS_FS_LZO y + UBIFS_FS_ZLIB y + UBIFS_FS_DEBUG n + + # Kdb, for kernel troubles + KGDB y + KGDB_SERIAL_CONSOLE y + KGDB_KDB y ''; kernelTarget = "uImage"; uboot = "sheevaplug"; @@ -106,6 +131,89 @@ rec { ubootConfig = "sheevaplug_config"; }; + raspberrypi = { + name = "raspberrypi"; + kernelMajor = "2.6"; + kernelHeadersBaseConfig = "kirkwood_defconfig"; + kernelBaseConfig = "bcmrpi_defconfig"; + kernelArch = "arm"; + kernelAutoModules = false; + kernelExtraConfig = + '' + BLK_DEV_RAM y + BLK_DEV_INITRD y + BLK_DEV_CRYPTOLOOP m + BLK_DEV_DM m + DM_CRYPT m + MD y + REISERFS_FS m + BTRFS_FS y + XFS_FS m + JFS_FS y + EXT4_FS y + + IP_PNP y + IP_PNP_DHCP y + NFS_FS y + ROOT_NFS y + TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + NETFILTER y + IP_NF_IPTABLES y + IP_NF_FILTER y + IP_NF_MATCH_ADDRTYPE y + IP_NF_TARGET_LOG y + IP_NF_MANGLE y + IPV6 m + VLAN_8021Q m + + CIFS y + CIFS_XATTR y + CIFS_POSIX y + CIFS_FSCACHE y + CIFS_ACL y + + ZRAM m + + # Fail to build + DRM n + SCSI_ADVANSYS n + USB_ISP1362_HCD n + SND_SOC n + SND_ALI5451 n + FB_SAVAGE n + SCSI_NSP32 n + ATA_SFF n + SUNGEM n + IRDA n + ATM_HE n + SCSI_ACARD n + BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m + + # nixos mounts some cgroup + CGROUPS y + + # Latencytop + LATENCYTOP y + ''; + kernelTarget = "zImage"; + uboot = null; + gcc = { + arch = "armv6"; + fpu = "vfp"; + float = "hard"; + }; + }; + guruplug = sheevaplug // { # Define `CONFIG_MACH_GURUPLUG' (see # ) @@ -255,5 +363,6 @@ rec { ''; kernelTarget = "vmlinux"; uboot = null; + gcc.arch = "loongson2f"; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 637d53b06f7..8f1d1571d90 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1,47 +1,108 @@ { pkgs, python }: -let pythonPackages = python.modules // rec { +let +isPy26 = python.majorVersion == "2.6"; +isPy27 = python.majorVersion == "2.7"; +optional = pkgs.lib.optional; +optionals = pkgs.lib.optionals; + +pythonPackages = python.modules // rec { inherit python; - inherit (pkgs) fetchurl fetchsvn fetchgit stdenv; + # helpers buildPythonPackage = import ../development/python-modules/generic { inherit (pkgs) lib; - inherit python wrapPython setuptools; + inherit python wrapPython setuptools recursivePthLoader offlineDistutils; }; - - setuptools = import ../development/python-modules/setuptools { - inherit (pkgs) stdenv fetchurl; - inherit python wrapPython; - }; - - - ipython = import ../shells/ipython { - inherit (pkgs) stdenv fetchurl; - inherit buildPythonPackage pythonPackages; - }; - - wrapPython = pkgs.makeSetupHook { deps = pkgs.makeWrapper; substitutions.libPrefix = python.libPrefix; } ../development/python-modules/generic/wrap.sh; + # specials + + recursivePthLoader = import ../development/python-modules/recursive-pth-loader { + inherit (pkgs) stdenv; + inherit python; + }; + + setuptools = import ../development/python-modules/setuptools { + inherit (pkgs) stdenv fetchurl; + inherit python wrapPython; + }; + + setuptoolsSite = import ../development/python-modules/setuptools/site.nix { + inherit (pkgs) stdenv; + inherit python setuptools; + }; + + offlineDistutils = import ../development/python-modules/offline-distutils { + inherit (pkgs) stdenv; + inherit python; + }; + + # packages defined elsewhere + + ipython = import ../shells/ipython { + inherit (pkgs) stdenv fetchurl; + inherit buildPythonPackage pythonPackages; + }; + + pil = import ../development/python-modules/pil { + inherit (pkgs) fetchurl stdenv libjpeg zlib freetype; + inherit python buildPythonPackage; + }; + + pycairo = import ../development/python-modules/pycairo { + inherit (pkgs) stdenv fetchurl pkgconfig cairo x11; + inherit python; + }; + + pycrypto = import ../development/python-modules/pycrypto { + inherit (pkgs) fetchurl stdenv gmp; + inherit python buildPythonPackage; + }; + + pygobject = import ../development/python-modules/pygobject { + inherit (pkgs) stdenv fetchurl pkgconfig glib; + inherit python; + }; + + pygtk = import ../development/python-modules/pygtk { + inherit (pkgs) fetchurl stdenv pkgconfig glib gtk; + inherit python buildPythonPackage pygobject pycairo; + }; + + # XXX: how can we get an override here? + #pyGtkGlade = pygtk.override { + # inherit (pkgs.gnome) libglade; + #}; + pyGtkGlade = import ../development/python-modules/pygtk { + inherit (pkgs) fetchurl stdenv pkgconfig glib gtk; + inherit (pkgs.gnome) libglade; + inherit python buildPythonPackage pygobject pycairo; + }; + + # packages defined here afew = buildPythonPackage rec { - name = "afew-1.0pre"; + rev = "6bb3915636aaf86f046a017ffffd9a4ef395e199"; + name = "afew-1.0_${rev}"; + src = fetchurl { - url = "https://github.com/teythoon/afew/tarball/master"; + url = "https://github.com/teythoon/afew/tarball/${rev}"; name = "${name}.tar.bz"; - sha256 = "949710f8dcf503f42f2a2d77ea71e48ccf70155a764f75ad29cc93edc120809b"; + sha256 = "74926d9ddfa69534cfbd08a82f0acccab2c649558062654d5d2ff2999d201384"; }; propagatedBuildInputs = [ notmuch pkgs.dbacl ]; + # error: invalid command 'test' doCheck = false; postInstall = '' @@ -53,34 +114,34 @@ let pythonPackages = python.modules // rec { homepage = https://github.com/teythoon/afew; description = "afew is an initial tagging script for notmuch mail."; maintainers = [ stdenv.lib.maintainers.garbas ]; - platforms = python.meta.platforms; }; }; alot = buildPythonPackage rec { - name = "alot-0.3.1"; + rev = "c765ebd6041a845a800cc9fd30705102ae2d040f"; + name = "alot-0.3.3_${rev}"; src = fetchurl { - url = "https://github.com/pazz/alot/tarball/master"; + url = "https://github.com/pazz/alot/tarball/${rev}"; name = "${name}.tar.bz"; - sha256 = "06683de36688615d3d526198c93133e1131897c888ffa31e83f1ad292eae57af"; + sha256 = "0yyp3nz5n1zfwf0l4rkkphq5l6prd988b57ighnmi2samzqa9yv4"; }; + # error: invalid command 'test' doCheck = false; propagatedBuildInputs = [ notmuch urwid twisted magic configobj pygpgme ]; postInstall = '' wrapProgram $out/bin/alot \ - --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib:${pkgs.file511}/lib + --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib:${pkgs.file}/lib:${pkgs.gpgme}/lib ''; meta = { homepage = https://github.com/pazz/alot; description = "Terminal MUA using notmuch mail"; maintainers = [ stdenv.lib.maintainers.garbas ]; - platforms = python.meta.platforms; }; }; @@ -110,6 +171,7 @@ let pythonPackages = python.modules // rec { sha1 = "f124e5e4a6644bf6d1734032a01ac44db1b25a29"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -129,6 +191,7 @@ let pythonPackages = python.modules // rec { buildInputs = [ pkgs.unzip pkgs.sqlite ]; + # python: double free or corruption (fasttop): 0x0000000002fd4660 *** doCheck = false; meta = { @@ -138,6 +201,25 @@ let pythonPackages = python.modules // rec { }; + area53 = buildPythonPackage (rec { + name = "area53-b2c9cdcabd"; + + src = fetchgit { + url = git://github.com/mariusv/Area53.git; + rev = "b2c9cdcabd"; + sha256 = "b0c12b8c48ed9180c7475fab18de50d63e1b517cfb46da4d2c66fc406fe902bc"; + }; + + installCommand = "python setup.py install --prefix=$out"; + + # error: invalid command 'test' + doCheck = false; + + propagatedBuildInputs = [ boto ]; + + }); + + argparse = buildPythonPackage (rec { name = "argparse-1.1"; @@ -148,7 +230,7 @@ let pythonPackages = python.modules // rec { buildInputs = [ pkgs.unzip ]; - # How do we run the tests? + # error: invalid command 'test' doCheck = false; meta = { @@ -169,36 +251,89 @@ let pythonPackages = python.modules // rec { }; }); - astng = buildPythonPackage rec { - name = "logilab-astng-0.21.1"; + awscli = buildPythonPackage rec { + name = "awscli-0.5.0"; + namePrefix = ""; src = fetchurl { - url = "ftp://ftp.logilab.org/pub/astng/${name}.tar.gz"; - sha256 = "0rqp2vwrnv6gkzdd96j078h1sz26plh49cmnyswy2wb6l4wans67"; + url = https://github.com/aws/aws-cli/archive/0.5.0.tar.gz; + sha256 = "0smgcisl2p7p2y2i299x7g271kdmgs0hnzngw5030phvh0lq202i"; }; - propagatedBuildInputs = [logilabCommon]; + + propagatedBuildInputs = [ argparse botocore ]; + }; - beautifulsoap = buildPythonPackage (rec { - name = "beautifulsoap-3.0.8"; + logilab_astng = buildPythonPackage rec { + name = "logilab-astng-0.24.1"; src = fetchurl { - url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.8.tar.gz"; - sha256 = "1gasiy5lwbhsxw27g36d88n36xbj52434klisvqhljgckd4xqcy7"; + url = "http://download.logilab.org/pub/astng/${name}.tar.gz"; + sha256 = "00qxaxsax80sknwv25xl1r49lc4gbhkxs1kjywji4ad8y1npax0s"; }; - # No tests implemented + propagatedBuildInputs = [ logilab_common ]; + }; + + + beets = buildPythonPackage rec { + name = "beets-1.0.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/b/beets/${name}.tar.gz"; + md5 = "88ad09a93aa0d69ce813205cf23b2a6c"; + }; + + # tests depend on $HOME setting + configurePhase = "export HOME=$TMPDIR"; + + propagatedBuildInputs = [ pyyaml unidecode mutagen munkres musicbrainzngs python.modules.sqlite3 python.modules.readline ]; + + meta = { + homepage = http://beets.radbox.org; + description = "Music tagger and library organizer"; + license = pkgs.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + + beautifulsoup = buildPythonPackage (rec { + name = "beautifulsoup-3.2.1"; + + src = fetchurl { + url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz"; + sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm"; + }; + + # error: invalid command 'test' doCheck = false; meta = { homepage = http://www.crummy.com/software/BeautifulSoup/; - license = "bsd"; - description = "Undemanding HTML/XML parser"; }; }); + beautifulsoup4 = buildPythonPackage (rec { + name = "beautifulsoup4-4.1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/b/beautifulsoup4/${name}.tar.gz"; + md5 = "c012adc06217b8532c446d181cc56586"; + }; + + # invalid command 'test' + doCheck = false; + + meta = { + homepage = http://crummy.com/software/BeautifulSoup/bs4/; + description = "HTML and XML parser"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }); # euca2ools (and maybe Nova) needs boto 1.9, 2.0 doesn't work. boto_1_9 = buildPythonPackage (rec { @@ -228,11 +363,11 @@ let pythonPackages = python.modules // rec { boto = buildPythonPackage rec { - name = "boto-2.3.0"; + name = "boto-2.6.0"; src = fetchurl { url = "https://github.com/downloads/boto/boto/${name}.tar.gz"; - sha256 = "05im9vyk9wq8cjw4cp93jlqb9v98rnrm067p93ih7f0ynnlnjaf1"; + sha256 = "1wnzs9frf44mrnw7l2vijc5anbcvcqqrv7237gjn27v0ja76slff"; }; # The tests seem to require AWS credentials. @@ -254,23 +389,66 @@ let pythonPackages = python.modules // rec { }; - bugz = buildPythonPackage (rec { - name = "bugz-0.9.3"; + botocore = buildPythonPackage rec { + name = "botocore-0.5.2"; - src = fetchgit { - url = "git://github.com/williamh/pybugz.git"; - rev = "refs/tags/0.9.3"; + src = fetchurl { + url = https://github.com/boto/botocore/archive/0.5.2.tar.gz; + sha256 = "18073mydin0mwk1d7vdlmsiz3rvhjzxkaaqrmxw440acbipnngq2"; }; - propagatedBuildInputs = [ argparse python.modules.ssl ]; - - doCheck = false; + propagatedBuildInputs = [ dateutil requests014 ]; meta = { - homepage = http://www.liquidx.net/pybugz/; - description = "Command line interface for Bugzilla"; + homepage = https://github.com/boto/botocore; + + license = "bsd"; + + description = "A low-level interface to a growing number of Amazon Web Services"; + }; - }); + }; + + + # bugz = buildPythonPackage (rec { + # name = "bugz-0.9.3"; + # + # src = fetchgit { + # url = "https://github.com/williamh/pybugz.git"; + # rev = "refs/tags/0.9.3"; + # }; + # + # propagatedBuildInputs = [ argparse python.modules.ssl ]; + # + # doCheck = false; + # + # meta = { + # homepage = http://www.liquidx.net/pybugz/; + # description = "Command line interface for Bugzilla"; + # }; + # }); + + + buildout = buildPythonPackage rec { + name = "buildout-${version}"; + version = "1.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.buildout/zc.${name}.tar.gz"; + md5 = "4e3b521600e475c56a0a66459a5fc7bb"; + }; + + # TODO: consider if this patch should be an option + # It makes buildout useful in a nix profile, but this alters the default functionality + patchPhase = '' + sed -i "s/return (stdlib, site_paths)/return (stdlib, sys.path)/g" src/zc/buildout/easy_install.py + ''; + + meta = { + homepage = http://www.buildout.org/; + description = "A software build and configuration system"; + }; + }; carrot = buildPythonPackage rec { @@ -320,6 +498,7 @@ let pythonPackages = python.modules // rec { sha256 = "1xlvanhnxgvwd7vvypbafyl6yqfkpnwa9rs9k3058z84gd86bz8d"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -353,15 +532,18 @@ let pythonPackages = python.modules // rec { md5 = "5f39727415b837abd02651eeb2721749"; }; - propagatedBuildInputs = [ stompclient distribute ]; - + propagatedBuildInputs = [ stompclient distribute ]; + + buildInputs = [ coverage sqlalchemy ]; + + # ValueError: Could not parse auth file: + # /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini doCheck = false; meta = { description = "Simple, lightweight, and easily extensible STOMP message broker"; homepage = http://code.google.com/p/coilmq/; license = pkgs.lib.licenses.asl20; - platforms = python.meta.platforms; }; }); @@ -373,6 +555,7 @@ let pythonPackages = python.modules // rec { md5 = "201dbaa732a9049c839f9bb6c27fc7b5"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -380,10 +563,47 @@ let pythonPackages = python.modules // rec { homepage = http://pypi.python.org/pypi/configobj; license = pkgs.lib.licenses.bsd3; maintainers = [ stdenv.lib.maintainers.garbas ]; - platforms = python.meta.platforms; }; }); + coverage = buildPythonPackage rec { + name = "coverage-3.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/coverage/${name}.tar.gz"; + md5 = "67d4e393f4c6a5ffc18605409d2aa1ac"; + }; + + meta = { + description = "Code coverage measurement for python"; + homepage = http://nedbatchelder.com/code/coverage/; + license = pkgs.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; + }; + + covCore = buildPythonPackage rec { + name = "cov-core-1.7"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/cov-core/cov-core-1.7.tar.gz"; + md5 = "59c1e22e636633e10120beacbf45b28c"; + }; + meta = { + description = "plugin core for use by pytest-cov, nose-cov and nose2-cov"; + }; + propagatedBuildInputs = [ coverage ]; + }; + + cssselect = buildPythonPackage rec { + name = "cssselect-0.7.1"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/cssselect/cssselect-0.7.1.tar.gz"; + md5 = "c6c5e9a2e7ca226ce03f6f67a771379c"; + }; + # AttributeError: 'module' object has no attribute 'tests' + doCheck = false; + }; + cssutils = buildPythonPackage (rec { name = "cssutils-0.9.9"; @@ -392,9 +612,9 @@ let pythonPackages = python.modules // rec { sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp"; }; - buildInputs = [ pkgs.unzip ]; + buildInputs = [ pkgs.unzip mock ]; - # The tests fail - I don't know why + # couple of failing tests doCheck = false; meta = { @@ -421,7 +641,7 @@ let pythonPackages = python.modules // rec { # http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3200 for a # discussion. - # Gives "ValueError: Empty module name" with no clue as to why. + # AttributeError: 'module' object has no attribute 'test_darcsver' doCheck = false; meta = { @@ -433,15 +653,17 @@ let pythonPackages = python.modules // rec { }; }); - + dateutil = buildPythonPackage (rec { - name = "dateutil-1.5"; + name = "dateutil-2.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; - sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg"; + sha256 = "1vlx0lpsxjxz64pz87csx800cwfqznjyr2y7nk3vhmzhkwzyqi2c"; }; + propagatedBuildInputs = [ six ]; + meta = { description = "Powerful extensions to the standard datetime module"; homepage = http://pypi.python.org/pypi/python-dateutil; @@ -463,32 +685,67 @@ let pythonPackages = python.modules // rec { }; }; - distribute = buildPythonPackage (rec { - name = "distribute-0.6.26"; + distribute = stdenv.mkDerivation rec { + name = "distribute-0.6.34"; src = fetchurl { - url = "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.26.tar.gz"; - md5 = "841f4262a70107f85260362f5def8206"; #"ecd75ea629fee6d59d26f88c39b2d291"; - + url = "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz"; + md5 = "4576ab843a6db5100fb22a72deadf56d"; }; - buildInputs = [ pkgs.unzip ]; - - installCommand = - '' - # ehm, YES, the --verbose flags needs to be there, otherwise it tries to patch setuptools! - easy_install --verbose --prefix=$out . - ''; - doCheck = false; + buildInputs = [ python wrapPython offlineDistutils ]; + + pythonPath = [ recursivePthLoader ]; + + installPhase='' + dst="$out/lib/${python.libPrefix}/site-packages" + mkdir -p $dst + PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + export PYTHONPATH="$dst:$PYTHONPATH" + + python setup.py install --prefix="$out" + + eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth + if [ -e "$eapth" ]; then + # move colliding easy_install.pth to specifically named one + mv "$eapth" $(dirname "$eapth")/${name}.pth + fi + + rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* + + wrapPythonPrograms + ''; meta = { description = "Easily download, build, install, upgrade, and uninstall Python packages"; homepage = http://packages.python.org/distribute; license = "PSF or ZPL"; - platforms = python.meta.platforms; }; - }); - + }; + + + distutils2 = buildPythonPackage rec { + name = "distutils2-${version}"; + version = "1.0a4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/D/Distutils2/Distutils2-${version}.tar.gz"; + md5 = "52bc9dffb394970c27e02853ae3a3241"; + }; + + patchPhase = '' + sed -e "s#html.entities#htmlentitydefs#g" -i distutils2/pypi/simple.py + ''; + + doCheck = false; + + meta = { + description = "A Python Packaging Library"; + homepage = http://pypi.python.org/pypi/Distutils2; + license = "PSF"; + }; + }; + distutils_extra = buildPythonPackage rec { name = "distutils-extra-2.26"; @@ -504,7 +761,61 @@ let pythonPackages = python.modules // rec { }; }; - + deluge = buildPythonPackage rec { + name = "deluge-1.3.5"; + + src = fetchurl { + url = "http://download.deluge-torrent.org/source/${name}.tar.gz"; + md5 = "fbf52593a85bfa7c8520834fa9177fba"; + }; + + # TODO: gui, procsettitle + buildInputs = [ pkgs.libtorrentRasterbar twisted Mako chardet pyxdg pkgs.pyopenssl ]; + propagatedBuildInputs = [ pkgs.libtorrentRasterbar twisted Mako chardet pyxdg pkgs.pyopenssl ]; + + meta = { + homepage = http://deluge-torrent.org; + description = "Torrent client"; + license = "GPLv3"; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + pyxdg = buildPythonPackage rec { + name = "pyxdg-0.25"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pyxdg/${name}.tar.gz"; + md5 = "bedcdb3a0ed85986d40044c87f23477c"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = http://freedesktop.org/wiki/Software/pyxdg; + description = "Contains implementations of freedesktop.org standards"; + license = "LGPLv2"; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + chardet = buildPythonPackage rec { + name = "chardet-2.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/c/chardet/${name}.tar.gz"; + md5 = "295367fd210d20f3febda615a88e1ef0"; + }; + + meta = { + homepage = https://github.com/erikrose/chardet; + description = "Universal encoding detector"; + license = "LGPLv2"; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + django = buildPythonPackage rec { name = "Django-${version}"; version = "1.4.1"; @@ -514,6 +825,7 @@ let pythonPackages = python.modules // rec { sha256 = "16s0anvpaccbqmdrhl71z73k0dy2sl166nnc2fbd5lshlgmj13ad"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -522,15 +834,16 @@ let pythonPackages = python.modules // rec { }; }; - + django_1_3 = buildPythonPackage rec { - name = "Django-1.3.2"; + name = "Django-1.3.3"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.3/${name}.tar.gz"; - sha256 = "0r6pdm33x96aba9x36jvqpkh2bf1zixnzvr12mcc8qq8wc7hii3j"; + sha256 = "0snlrcvk92qj1v0n9dpycn6sw56w4zns4mpc30837q6yi7ylrx4f"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -539,7 +852,7 @@ let pythonPackages = python.modules // rec { }; }; - + django_evolution = buildPythonPackage rec { name = "django_evolution-0.6.7"; @@ -556,16 +869,16 @@ let pythonPackages = python.modules // rec { }; }; - + djblets = buildPythonPackage rec { - name = "Djblets-0.6.19"; + name = "Djblets-0.6.23"; src = fetchurl { url = "http://downloads.reviewboard.org/releases/Djblets/0.6/${name}.tar.gz"; - sha256 = "1hhvpi81yknvlaazq1cpgamp9vf3x1fcr0ba64q3j2yz1kgin1i8"; + sha256 = "1d8vg5a9q2ldnbxqap1893lqb66jwcsli2brbjx7mcnqrzcz449x"; }; - propagatedBuildInputs = [ pkgs.pil django_1_3 ]; + propagatedBuildInputs = [ pil django_1_3 ]; meta = { description = "A collection of useful extensions for Django"; @@ -573,7 +886,7 @@ let pythonPackages = python.modules // rec { }; }; - + dulwich = buildPythonPackage rec { name = "dulwich-0.8.1"; @@ -586,7 +899,10 @@ let pythonPackages = python.modules // rec { installCommand = '' python setup.py install --prefix="$out" --root=/ --record="$out/lib/${python.libPrefix}/site-packages/dulwich/list.txt" --single-version-externally-managed ''; - doCheck = false; + + # For some reason "python setup.py test" doesn't work with Python 2.6. + # pretty sure that is about import behaviour. + doCheck = python.majorVersion != "2.6"; meta = { description = "Simple Python implementation of the Git file formats and protocols."; @@ -594,7 +910,7 @@ let pythonPackages = python.modules // rec { }; }; - + hggit = buildPythonPackage rec { name = "hg-git-0.3.1"; @@ -611,7 +927,7 @@ let pythonPackages = python.modules // rec { }; }; - + docutils = buildPythonPackage rec { name = "docutils-0.8.1"; @@ -620,6 +936,7 @@ let pythonPackages = python.modules // rec { sha256 = "0wfz4nxl95jcr2f2mc5gijgighavcghg33plzbz5jyi531jpffss"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -686,6 +1003,45 @@ let pythonPackages = python.modules // rec { }; + feedparser = buildPythonPackage (rec { + name = "feedparser-5.1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/feedparser/${name}.tar.gz"; + md5 = "f2253de78085a1d5738f626fcc1d8f71"; + }; + + meta = { + homepage = http://code.google.com/p/feedparser/; + description = "Universal feed parser"; + license = stdenv.lib.licenses.bsd2; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }); + + + flake8 = buildPythonPackage (rec { + name = "flake8-1.7.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz"; + md5 = "a7830d1a6c23e889bc1fcaa4a87f53bd"; + }; + + buildInputs = [ nose ]; + + # 3 failing tests + doCheck = false; + + meta = { + description = "code checking using pep8 and pyflakes."; + homepage = http://pypi.python.org/pypi/flake8; + license = pkgs.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.garbas ]; + }; + }); + + flask = buildPythonPackage { name = "flask-0.9"; @@ -704,6 +1060,26 @@ let pythonPackages = python.modules // rec { }; + flexget = buildPythonPackage (rec { + name = "FlexGet-1.0.3353"; + + src = fetchurl { + url = "http://download.flexget.com/archive/${name}.tar.gz"; + md5 = "cffc4e51b5c5efddb339d265524e46b8"; + }; + + buildInputs = [ nose ]; + propagatedBuildInputs = [ beautifulsoup4 pyrss2gen feedparser pynzb html5lib dateutil beautifulsoup flask jinja2 requests sqlalchemy pyyaml cherrypy progressbar ]; + + meta = { + homepage = http://flexget.com/; + description = "Multipurpose automation tool for content like torrents, ..."; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }); + + flup = buildPythonPackage (rec { name = "flup-1.0.2"; @@ -718,7 +1094,7 @@ let pythonPackages = python.modules // rec { }; }); - + foolscap = buildPythonPackage (rec { name = "foolscap-0.6.1"; @@ -729,9 +1105,6 @@ let pythonPackages = python.modules // rec { propagatedBuildInputs = [ twisted pkgs.pyopenssl ]; - # For some reason "python setup.py test" doesn't work with Python 2.6. - doCheck = false; - meta = { homepage = http://foolscap.lothar.com/; @@ -748,7 +1121,6 @@ let pythonPackages = python.modules // rec { license = "MIT"; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; }; }); @@ -770,6 +1142,20 @@ let pythonPackages = python.modules // rec { }; }); + gcovr = buildPythonPackage rec { + name = "gcovr-2.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/gcovr/${name}.tar.gz"; + md5 = "672db629469882b93c40016aebff50ac"; + }; + + meta = { + description = "A Python script for summarizing gcov data"; + license = "BSD"; + }; + }; + genshi = buildPythonPackage { name = "genshi-0.6"; @@ -778,7 +1164,8 @@ let pythonPackages = python.modules // rec { sha256 = "0jrajyppdzb3swcxv3w1mpp88vcy7400gy1v2h2gm3pq0dmggaij"; }; - # two tests fail on x86_64 at least. I don't know why. + # FAIL: test_sanitize_remove_script_elem (genshi.filters.tests.html.HTMLSanitizerTestCase) + # FAIL: test_sanitize_remove_src_javascript (genshi.filters.tests.html.HTMLSanitizerTestCase) doCheck = false; buildInputs = [ pkgs.setuptools ]; @@ -804,13 +1191,12 @@ let pythonPackages = python.modules // rec { sha256 = "0bhiyx41kilvy04cgjbvjy2r4b6l7zz31fbrg3l6lvnqm26nihb0"; }; - buildInputs = [ pkgs.setuptools ]; + buildInputs = [ pkgs.setuptools ] ++ (optional isPy26 argparse); meta = { description = "automatically generated zsh completion function for Python's option parser modules"; license = "BSD"; maintainers = [ stdenv.lib.maintainers.simons ]; - platforms = python.meta.platforms; }; }; @@ -840,6 +1226,9 @@ let pythonPackages = python.modules // rec { buildInputs = [ nose mox ]; + # tests fail for python2.6 + doCheck = python.majorVersion != "2.6"; + propagatedBuildInputs = [ gflags sqlalchemy webob routes eventlet ]; PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; @@ -876,6 +1265,7 @@ let pythonPackages = python.modules // rec { sha256 = "1wmd1svx5344alb8ff9vzdam1ccqdl0h7shp1xnsk843hqwc0fz0"; }; + # error: invalid command 'test' doCheck = false; postUnpack = "find . -print0 | xargs -0 touch"; @@ -886,23 +1276,46 @@ let pythonPackages = python.modules // rec { }; }; + html5lib = buildPythonPackage (rec { + name = "html5lib-0.95"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/h/html5lib/${name}.tar.gz"; + md5 = "fe607f9917d81763e842f818f23464ee"; + }; + + meta = { + homepage = http://code.google.com/p/html5lib/; + description = "HTML parser based on WHAT-WG HTML5 specification"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }); httplib2 = buildPythonPackage rec { - name = "httplib2-0.6.0"; + name = "httplib2-0.7.7"; src = fetchurl { url = "http://httplib2.googlecode.com/files/${name}.tar.gz"; - sha256 = "134pldyxayc0x4akzzvkciz2kj1w2dsim1xvd9b1qrpmba70dpjq"; + sha256 = "2e2ce18092c32d1ec54f8a447e14e33585e30f240b883bfeeca65f12b3bcfaf6"; }; - doCheck = false; # doesn't have a test - meta = { - homepage = http://code.google.com/p/httplib2/; + homepage = "http://code.google.com/p/httplib2"; description = "A comprehensive HTTP client library"; + license = pkgs.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; + importlib = if isPy26 then (buildPythonPackage { + name = "importlib-1.0.2"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/i/importlib/importlib-1.0.2.tar.gz"; + md5 = "4aa23397da8bd7c7426864e88e4db7e1"; + }; + doCheck = false; + }) else null; iptools = buildPythonPackage rec { version = "0.4.0"; @@ -929,6 +1342,7 @@ let pythonPackages = python.modules // rec { md5 = "f4f7ddc7c5e55a47222a5cc6c0a87b6d"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -937,6 +1351,30 @@ let pythonPackages = python.modules // rec { }; }; + ipdb = buildPythonPackage { + name = "ipdb-0.7"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz"; + md5 = "d879f9b2b0f26e0e999809585dcaec61"; + }; + propagatedBuildInputs = [ ipython ]; + }; + + jedi = buildPythonPackage (rec { + name = "jedi-0.5b5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz"; + sha256 = "10xqdhda9kdbc22h4dphxqjncpdb80s1crxsirr5h016rw9czsa4"; + }; + + meta = { + homepage = "https://github.com/davidhalter/jedi"; + description = "An autocompletion tool for Python that can be used for text editors."; + license = pkgs.lib.licenses.lgpl3Plus; + maintainers = [ stdenv.lib.maintainers.garbas ]; + }; + }); jinja2 = buildPythonPackage { name = "jinja2-2.6"; @@ -959,6 +1397,26 @@ let pythonPackages = python.modules // rec { }; + pylast = buildPythonPackage rec { + name = "pylast-${version}"; + version = "0.5.11"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pylast/${name}.tar.gz"; + md5 = "506cf1b13020b3ed2f3c845ea0c9830e"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = http://code.google.com/p/pylast/; + description = "A python interface to last.fm (and compatibles)"; + license = pkgs.lib.licenses.asl20; + }; + }; + + libcloud = buildPythonPackage (rec { name = "libcloud-0.3.1"; @@ -967,10 +1425,13 @@ let pythonPackages = python.modules // rec { sha256 = "11qilrs4sd4c1mkd64ikrjsc2vwrshhc54n5mh4xrark9c7ayp0y"; }; - buildInputs = [ zopeInterface ]; + buildInputs = [ zope_interface mock ]; preConfigure = "cp test/secrets.py-dist test/secrets.py"; + # failing tests for 26 and 27 + doCheck = false; + meta = { description = "A unified interface to many cloud providers"; homepage = http://incubator.apache.org/libcloud/; @@ -986,7 +1447,8 @@ let pythonPackages = python.modules // rec { sha1 = "1eebaee375641c9f29aeb21768f917dd2b985752"; }; - doCheck = false; # no tests + # error: invalid command 'test' + doCheck = false; meta = { homepage = http://code.google.com/p/pylockfile/; @@ -994,22 +1456,23 @@ let pythonPackages = python.modules // rec { }; }; - logilabCommon = buildPythonPackage rec { - name = "logilab-common-0.56.0"; + logilab_common = buildPythonPackage rec { + name = "logilab-common-0.58.2"; src = fetchurl { - url = "ftp://ftp.logilab.org/pub/common/${name}.tar.gz"; - sha256 = "14p557nqypbd10d8k7qs6jlm58pksiwh86wvvl0axyki00hj6971"; + url = "http://download.logilab.org/pub/common/${name}.tar.gz"; + sha256 = "0qfdyj2is0scpnkgpnqm12lh4yl27617l0irlilhk25cpgbbfbf9"; }; - propagatedBuildInputs = [unittest2]; + + propagatedBuildInputs = [ unittest2 ]; }; lxml = buildPythonPackage ( rec { - name = "lxml-2.2.2"; + name = "lxml-3.0.2"; src = fetchurl { - url = http://pypi.python.org/packages/source/l/lxml/lxml-2.2.2.tar.gz; - sha256 = "0zjpsy67wcs69qhb06ficl3a5z229hmczpr8h84rkk05vaagj8qv"; + url = "http://pypi.python.org/packages/source/l/lxml/${name}.tar.gz"; + md5 = "38b15b0dd5e9292cf98be800e84a3ce4"; }; buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; @@ -1023,12 +1486,12 @@ let pythonPackages = python.modules // rec { magic = pkgs.stdenv.mkDerivation rec { - name = "python-${pkgs.file511.name}"; + name = "python-${pkgs.file.name}"; - src = pkgs.file511.src; + src = pkgs.file.src; patches = [ ../tools/misc/file/python.patch ]; - buildInputs = [ python pkgs.file511 ]; + buildInputs = [ python pkgs.file ]; configurePhase = "cd python"; @@ -1067,6 +1530,60 @@ let pythonPackages = python.modules // rec { }; + Mako = buildPythonPackage rec { + name = "Mako-0.7.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/M/Mako/${name}.tar.gz"; + md5 = "daf7cc50f997533b573f9b40193139a2"; + }; + + buildInputs = [ MarkupSafe nose ]; + propagatedBuildInputs = [ MarkupSafe ]; + + meta = { + description = "Super-fast templating language."; + homepage = http://www.makotemplates.org; + license = "MIT"; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + + MarkupSafe = buildPythonPackage rec { + name = "MarkupSafe-0.15"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/M/MarkupSafe/${name}.tar.gz"; + md5 = "4e7c4d965fe5e033fa2d7bb7746bb186"; + }; + + meta = { + description = "Implements a XML/HTML/XHTML Markup safe string"; + homepage = http://dev.pocoo.org; + license = "BSD"; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + manuel = buildPythonPackage rec { + name = "manuel-${version}"; + version = "1.6.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/manuel/${name}.tar.gz"; + md5 = "53d6a6905301a20f6095e41d11968fff"; + }; + + propagatedBuildInputs = [ six zope_testing ]; + + meta = { + description = "A documentation builder"; + homepage = http://pypi.python.org/pypi/manuel; + license = "ZPL"; + }; + }; + markdown = buildPythonPackage rec { version = "2.0.3"; name = "markdown-${version}"; @@ -1076,6 +1593,7 @@ let pythonPackages = python.modules // rec { md5 = "751e8055be2433dfd1a82e0fb1b12f13"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -1091,6 +1609,7 @@ let pythonPackages = python.modules // rec { sha256 = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7"; }; + # error: invalid command 'test' doCheck = false; propagatedBuildInputs = [ dateutil numpy pkgs.freetype pkgs.libpng pkgs.pkgconfig pkgs.tcl pkgs.tk pkgs.xlibs.libX11 ]; @@ -1103,7 +1622,7 @@ let pythonPackages = python.modules // rec { }; }); - + mechanize = buildPythonPackage (rec { name = "mechanize-0.1.11"; @@ -1138,7 +1657,7 @@ let pythonPackages = python.modules // rec { }; }; - + mock = buildPythonPackage (rec { name = "mock-0.7.0"; @@ -1167,6 +1686,7 @@ let pythonPackages = python.modules // rec { sha1 = "b71aeaacf31898c3b38d8b9ca5bcc0664499c0de"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -1176,6 +1696,63 @@ let pythonPackages = python.modules // rec { }; + mrbob = buildPythonPackage rec { + name = "mrbob-${version}"; + version = "0.1a6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.zip"; + md5 = "361c8ac7a31953ab94a95cf34d9a0b2b"; + }; + + buildInputs = [ pkgs.unzip six ] ++ (optionals isPy26 [ importlib ordereddict ]); + + propagatedBuildInputs = [ argparse jinja2 ]; + + meta = { + homepage = https://github.com/iElectric/mr.bob.git; + description = "A tool to generate code skeletons from templates"; + }; + }; + + + munkres = buildPythonPackage rec { + name = "munkres-1.0.5.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/munkres/${name}.tar.gz"; + md5 = "cb9d114fb523428bab4742e88bc83696"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = http://bmc.github.com/munkres/; + description = "Munkres algorithm for the Assignment Problem"; + license = pkgs.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + + musicbrainzngs = buildPythonPackage rec { + name = "musicbrainzngs-0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/m/musicbrainzngs/${name}.tar.gz"; + md5 = "bc32aa1cf121f29c3ca1c06e9668865f"; + }; + + meta = { + homepage = http://alastair/python-musicbrainz-ngs; + description = "Python bindings for musicbrainz NGS webservice"; + license = pkgs.lib.licenses.bsd2; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + mutagen = buildPythonPackage (rec { name = "mutagen-1.20"; @@ -1195,6 +1772,7 @@ let pythonPackages = python.modules // rec { MySQL_python = buildPythonPackage { name = "MySQL-python-1.2.3"; + # plenty of failing tests doCheck = false; src = fetchurl { @@ -1202,7 +1780,9 @@ let pythonPackages = python.modules // rec { sha256 = "0vkyg9dmj29hzk7fy77f42p7bfj28skyzsjsjry4wqr3z6xnzrkx"; }; - propagatedBuildInputs = [ pkgs.mysql pkgs.zlib nose ]; + buildInputs = [ nose ]; + + propagatedBuildInputs = [ pkgs.mysql pkgs.zlib ]; meta = { description = "MySQL database binding for Python"; @@ -1222,6 +1802,7 @@ let pythonPackages = python.modules // rec { # No support of GUI yet. + # error: invalid command 'test' doCheck = false; meta = { @@ -1254,7 +1835,8 @@ let pythonPackages = python.modules // rec { sha256 = "0ssxic389rdc79zkz8dxcjpqdi5qs80h12khkag410cl9cwk11f2"; }; - doCheck = false; # there is no test command + # error: invalid command 'test' + doCheck = false; meta = { homepage = https://github.com/drkjam/netaddr/; @@ -1268,62 +1850,85 @@ let pythonPackages = python.modules // rec { version = "0.10.0"; src = fetchurl { - url = "http://divmod.org/trac/attachment/wiki/SoftwareReleases/Nevow-${version}.tar.gz?format=raw"; + url = "http://pypi.python.org/packages/source/N/Nevow/Nevow-${version}.tar.gz"; sha256 = "90631f68f626c8934984908d3df15e7c198939d36be7ead1305479dfc67ff6d0"; name = "${name}.tar.gz"; }; - propagatedBuildInputs = [ twisted ]; + propagatedBuildInputs = [ twisted ]; - postInstall = "twistd --help > /dev/null"; + postInstall = "twistd --help > /dev/null"; - meta = { - description = "Nevow, a web application construction kit for Python"; + meta = { + description = "Nevow, a web application construction kit for Python"; - longDescription = '' - Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow - is a web application construction kit written in Python. It is - designed to allow the programmer to express as much of the view - logic as desired in Python, and includes a pure Python XML - expression syntax named stan to facilitate this. However it - also provides rich support for designer-edited templates, using - a very small XML attribute language to provide bi-directional - template manipulation capability. + longDescription = '' + Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow + is a web application construction kit written in Python. It is + designed to allow the programmer to express as much of the view + logic as desired in Python, and includes a pure Python XML + expression syntax named stan to facilitate this. However it + also provides rich support for designer-edited templates, using + a very small XML attribute language to provide bi-directional + template manipulation capability. - Nevow also includes formless, a declarative syntax for - specifying the types of method parameters and exposing these - methods to the web. Forms can be rendered automatically, and - form posts will be validated and input coerced, rendering error - pages if appropriate. Once a form post has validated - successfully, the method will be called with the coerced values. - ''; + Nevow also includes formless, a declarative syntax for + specifying the types of method parameters and exposing these + methods to the web. Forms can be rendered automatically, and + form posts will be validated and input coerced, rendering error + pages if appropriate. Once a form post has validated + successfully, the method will be called with the coerced values. + ''; - homepage = http://divmod.org/trac/wiki/DivmodNevow; + homepage = http://divmod.org/trac/wiki/DivmodNevow; - license = "BSD-style"; - }; - }); + license = "BSD-style"; + }; + }); nose = buildPythonPackage rec { - name = "nose-1.0.0"; + name = "nose-1.2.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; - md5 = "47a4784c817afa6ef11a505b574584ed"; + md5 = "735e3f1ce8b07e70ee1b742a8a53585a"; }; - # Fails with ‘This platform lacks a functioning sem_open - # implementation, therefore, the required synchronization - # primitives needed will not function, see issue 3770.’ However, - # our Python does seem to be built with the necessary - # functionality. - doCheck = false; - meta = { description = "A unittest-based testing framework for python that makes writing and running tests easier"; }; + + buildInputs = [ coverage ]; + + doCheck = ! stdenv.isDarwin; }; + nose2 = if isPy26 then null else (buildPythonPackage rec { + name = "nose2-0.4.5"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/n/nose2/${name}.tar.gz"; + md5 = "d7e51c848227488e3cc0424faf5511cd"; + }; + meta = { + description = "nose2 is the next generation of nicer testing for Python"; + }; + propagatedBuildInputs = [ six ]; + # AttributeError: 'module' object has no attribute 'collector' + doCheck = false; + }); + + nose2Cov = if isPy26 then null else (buildPythonPackage rec { + name = "nose2-cov-1.0a4"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/n/nose2-cov/nose2-cov-1.0a4.tar.gz"; + md5 = "6442f03e2ea732b0e38eb5b00fbe0b31"; + }; + meta = { + description = "nose2 plugin for coverage reporting, including subprocesses and multiprocessing"; + }; + propagatedBuildInputs = [ covCore nose2 ]; + }); + notify = pkgs.stdenv.mkDerivation (rec { name = "python-notify-0.1.1"; @@ -1332,7 +1937,7 @@ let pythonPackages = python.modules // rec { sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx"; }; - buildInputs = [ python pkgs.pkgconfig pkgs.libnotify pkgs.pygobject pkgs.pygtk pkgs.glib pkgs.gtk pkgs.dbus_glib ]; + buildInputs = [ python pkgs.pkgconfig pkgs.libnotify pygobject pygtk pkgs.glib pkgs.gtk pkgs.dbus_glib ]; postInstall = "cd $out/lib/python*/site-packages && ln -s gtk-*/pynotify ."; @@ -1360,7 +1965,6 @@ let pythonPackages = python.modules // rec { description = "A Python wrapper around notmuch"; homepage = http://notmuchmail.org/; maintainers = [ stdenv.lib.maintainers.garbas ]; - platforms = python.meta.platforms; }; }; @@ -1378,6 +1982,8 @@ let pythonPackages = python.modules // rec { python setup.py build --fcompiler="gnu95" python setup.py install --prefix=$out ''; + + # error: invalid command 'test' doCheck = false; buildInputs = [ pkgs.gfortran ]; @@ -1389,28 +1995,61 @@ let pythonPackages = python.modules // rec { }; }); - optfunc = buildPythonPackage ( rec { - name = "optfunc-git"; + oauth2 = buildPythonPackage (rec { + name = "oauth2-1.5.211"; - src = pkgs.fetchgit { - url = "http://github.com/simonw/optfunc.git"; - rev = "e3fa034a545ed94ac5a039cf5b170c7d0ee21b7b"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz"; + sha256 = "82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21"; }; - installCommand = '' - dest=$(toPythonPath $out)/optfunc - mkdir -p $dest - cp * $dest/ - ''; + propagatedBuildInputs = [ httplib2 ]; + buildInputs = [ mock coverage ]; + + # ServerNotFoundError: Unable to find the server at oauth-sandbox.sevengoslings.net doCheck = false; meta = { - description = "A new experimental interface to optparse which works by introspecting a function definition"; - homepage = "http://simonwillison.net/2009/May/28/optfunc/"; + homepage = "https://github.com/simplegeo/python-oauth2"; + description = "library for OAuth version 1.0"; + license = pkgs.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.garbas ]; + platforms = stdenv.lib.platforms.linux; }; }); + # optfunc = buildPythonPackage ( rec { + # name = "optfunc-git"; + # + # src = pkgs.fetchgit { + # url = "https://github.com/simonw/optfunc.git"; + # rev = "e3fa034a545ed94ac5a039cf5b170c7d0ee21b7b"; + # }; + # + # installCommand = '' + # dest=$(toPythonPath $out)/optfunc + # mkdir -p $dest + # cp * $dest/ + # ''; + # + # doCheck = false; + # + # meta = { + # description = "A new experimental interface to optparse which works by introspecting a function definition"; + # homepage = "http://simonwillison.net/2009/May/28/optfunc/"; + # }; + # }); + + ordereddict = if isPy26 then (buildPythonPackage { + name = "ordereddict-1.1"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.1.tar.gz"; + md5 = "a0ed854ee442051b249bfad0f638bbec"; + }; + doCheck = false; + }) else null; + ply = buildPythonPackage (rec { name = "ply-3.2"; @@ -1441,11 +2080,10 @@ let pythonPackages = python.modules // rec { license = "revised-BSD"; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; }; }); - + paramiko = buildPythonPackage rec { name = "paramiko-1.7.7.1"; @@ -1454,7 +2092,7 @@ let pythonPackages = python.modules // rec { sha256 = "1bjy4jn51c50mpq51jbwk0glzd8bxz83gxdfkr9p95dmrd17c7hh"; }; - buildInputs = [ pkgs.pycrypto ]; + buildInputs = [ pycrypto ]; meta = { homepage = "http://www.lag.net/paramiko/"; @@ -1472,8 +2110,6 @@ let pythonPackages = python.modules // rec { tunnel -- this is how sftp works, for example. it is written entirely in python (no C or platform-dependent code) and is released under the GNU LGPL (lesser GPL). ''; - - platforms = python.meta.platforms; }; }; @@ -1517,6 +2153,23 @@ let pythonPackages = python.modules // rec { }; + pep8 = buildPythonPackage rec { + name = "pep8-${version}"; + version = "1.3.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz"; + md5 = "093a99ced0cc3b58c01549d7350f5a73"; + }; + + meta = { + homepage = http://pypi.python.org/pypi/pep8/; + description = "Python style guide checker"; + license = pkgs.lib.licenses.mit; + }; + }; + + pexpect = buildPythonPackage { name = "pexpect-2.3"; @@ -1525,6 +2178,7 @@ let pythonPackages = python.modules // rec { sha256 = "0x8bfjjqygriry1iyygm5048ykl5qpbpzqfp6i8dhkslm3ryf5fk"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -1549,7 +2203,75 @@ let pythonPackages = python.modules // rec { ''; maintainers = [ stdenv.lib.maintainers.simons ]; - platforms = python.meta.platforms; + }; + }; + + pip = buildPythonPackage { + name = "pip-1.2.1"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz"; + md5 = "db8a6d8a4564d3dc7f337ebed67b1a85"; + }; + buildInputs = [ mock scripttest virtualenv nose ]; + # ValueError: Working directory tests not found, or not a directory + doCheck = false; + }; + + + pillow = buildPythonPackage rec { + name = "Pillow-1.7.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip"; + md5 = "41d8688d4db72673069a6dc63b5289d6"; + }; + + buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib ]; + + configurePhase = '' + sed -i "setup.py" \ + -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = _lib_include("${pkgs.freetype}")|g ; + s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ; + s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ;' + ''; + + doCheck = true; + + meta = { + homepage = http://python-imaging.github.com/Pillow; + + description = "Fork of The Python Imaging Library (PIL)"; + + longDescription = '' + The Python Imaging Library (PIL) adds image processing + capabilities to your Python interpreter. This library + supports many file formats, and provides powerful image + processing and graphics capabilities. + ''; + + license = "http://www.pythonware.com/products/pil/license.htm"; + + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + polib = buildPythonPackage rec { + name = "polib-${version}"; + version = "1.0.1"; + + src = fetchurl { + url = "http://bitbucket.org/izi/polib/downloads/${name}.tar.gz"; + sha256 = "1sr2bb3g7rl7gr6156j5qv71kg06q1x01r1lbps9ksnyz37djn2q"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + description = "A library to manipulate gettext files (po and mo files)"; + homepage = "http://bitbucket.org/izi/polib/"; + license = pkgs.lib.licenses.mit; }; }; @@ -1582,9 +2304,25 @@ let pythonPackages = python.modules // rec { }; + psutil = buildPythonPackage rec { + name = "psutil-0.6.1"; + + src = fetchurl { + url = "http://psutil.googlecode.com/files/${name}.tar.gz"; + sha256 = "0vqarv63jqzghr4fi1fqdbvg847fq2gqdj8dzc3x59f9b36a8rfn"; + }; + + meta = { + description = "Process and system utilization information interface for python"; + homepage = http://code.google.com/p/psutil/; + }; + }; + + psycopg2 = buildPythonPackage rec { name = "psycopg2-2.0.13"; + # error: invalid command 'test' doCheck = false; src = fetchurl { @@ -1601,6 +2339,23 @@ let pythonPackages = python.modules // rec { }; + publicsuffix = buildPythonPackage rec { + name = "publicsuffix-${version}"; + version = "1.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/publicsuffix/${name}.tar.gz"; + md5 = "f86babf56f6e58b564d3853adebcf37a"; + }; + + meta = { + description = "Allows to get the public suffix of a domain name"; + homepage = "http://pypi.python.org/pypi/publicsuffix/"; + license = pkgs.lib.licenses.mit; + }; + }; + + pyasn1 = buildPythonPackage ({ name = "pyasn1-0.0.11a"; @@ -1620,6 +2375,30 @@ let pythonPackages = python.modules // rec { }; }); + + pyaudio = pkgs.stdenv.mkDerivation rec { + name = "python-pyaudio-${version}"; + version = "0.2.4"; + + src = fetchurl { + url = "http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-${version}.tar.gz"; + md5 = "623809778f3d70254a25492bae63b575"; + }; + + buildInputs = [ python pkgs.portaudio ]; + + installPhase = '' + python setup.py install --prefix=$out + ''; + + meta = { + description = "Python bindings for PortAudio"; + homepage = "http://people.csail.mit.edu/hubert/pyaudio/"; + license = stdenv.lib.licenses.mit; + }; + }; + + Babel = buildPythonPackage (rec { name = "Babel-0.9.6"; @@ -1628,7 +2407,7 @@ let pythonPackages = python.modules // rec { sha256 = "4a3a085ecf1fcd2736573538ffa114f1f4331b3bbbdd69381e6e172c49c9750f"; }; - doCheck = false; + buildInputs = [ pytz ]; meta = { homepage = http://babel.edgewall.org; @@ -1677,14 +2456,13 @@ let pythonPackages = python.modules // rec { buildInputs = [ pkgs.curl ]; + # error: invalid command 'test' doCheck = false; preConfigure = '' substituteInPlace setup.py --replace '--static-libs' '--libs' ''; - installCommand = "python setup.py install --prefix=$out"; - meta = { homepage = http://pycurl.sourceforge.net/; description = "Python wrapper for libcurl"; @@ -1706,6 +2484,23 @@ let pythonPackages = python.modules // rec { }; }; + pyfeed = buildPythonPackage rec { + url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz"; + name = stdenv.lib.nameFromURL url ".tar"; + src = fetchurl { + inherit url; + sha256 = "1h4msq573m7wm46h3cqlx4rsn99f0l11rhdqgf50lv17j8a8vvy1"; + }; + propagatedBuildInputs = [xe]; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = "http://home.blarg.net/~steveha/pyfeed.html"; + description = "Tools for syndication feeds"; + }; + }; pygments = buildPythonPackage rec { name = "Pygments-1.5"; @@ -1714,7 +2509,7 @@ let pythonPackages = python.modules // rec { url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz"; md5 = "ef997066cc9ee7a47d01fb4f3da0b5ff"; }; - + meta = { homepage = http://pygments.org/; description = "A generic syntax highlighter"; @@ -1731,6 +2526,7 @@ let pythonPackages = python.modules // rec { sha256 = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1"; }; + # error: invalid command 'test' doCheck = false; propagatedBuildInputs = [ pkgs.gpgme ]; @@ -1740,7 +2536,30 @@ let pythonPackages = python.modules // rec { description = "A Python wrapper for the GPGME library."; license = pkgs.lib.licenses.lgpl21; maintainers = [ stdenv.lib.maintainers.garbas ]; - platforms = python.meta.platforms; + }; + }; + + + pyinotify = pkgs.stdenv.mkDerivation rec { + name = "python-pyinotify-${version}"; + version = "0.9.3"; + + src = fetchgit { + url = "git://github.com/seb-m/pyinotify.git"; + rev = "refs/tags/${version}"; + sha256 = "d38ce95e4af00391e58246a8d7fe42bdb51d63054b09809600b2faef2a803472"; + }; + + buildInputs = [ python ]; + + installPhase = '' + python setup.py install --prefix=$out + ''; + + meta = { + homepage = https://github.com/seb-m/pyinotify/wiki; + description = "Monitor filesystems events on Linux platforms with inotify"; + license = pkgs.lib.licenses.mit; }; }; @@ -1752,14 +2571,67 @@ let pythonPackages = python.modules // rec { url = "http://pypi.python.org/packages/source/p/pyparsing/${name}.tar.gz"; md5 = "1e41cb219dae9fc353bd4cd47636b283"; }; + + # error: invalid command 'test' doCheck = false; + meta = { homepage = http://pyparsing.wikispaces.com/; description = "The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions."; }; }; - + pyrss2gen = buildPythonPackage (rec { + name = "PyRSS2Gen-1.0.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/P/PyRSS2Gen/${name}.tar.gz"; + md5 = "eae2bc6412c5679c287ecc1a59588f75"; + }; + + meta = { + homepage = http://www.dalkescientific.om/Python/PyRSS2Gen.html; + description = "Library for generating RSS 2.0 feeds"; + license = stdenv.lib.licenses.bsd2; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }); + + pynzb = buildPythonPackage (rec { + name = "pynzb-0.1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pynzb/${name}.tar.gz"; + md5 = "63c74a36348ac28aa99732dcb8be8c59"; + }; + + meta = { + homepage = http://github.com/ericflo/pynzb; + description = "Unified API for parsing NZB files"; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }); + + progressbar = buildPythonPackage (rec { + name = "progressbar-2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/progressbar/${name}.tar.gz"; + md5 = "8ea4e2c17a8ec9e7d153767c5f2a7b28"; + }; + + # invalid command 'test' + doCheck = false; + + meta = { + homepage = http://code.google.com/p/python-progressbar/; + description = "Text progressbar library for python"; + license = stdenv.lib.licenses.lgpl3Plus; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }); + ldap = buildPythonPackage rec { name = "python-ldap-2.4.3"; namePrefix = ""; @@ -1782,6 +2654,8 @@ let pythonPackages = python.modules // rec { sha256 = "1idks7j9bn62xzsaxkvhl7bdq6ws8kv8aa0wahfh7724qlbbcf1k"; }; + # ERROR: testExtended (tests.test_acls.AclExtensions) + # IOError: [Errno 0] Error doCheck = false; buildInputs = [ pkgs.acl ]; @@ -1794,34 +2668,37 @@ let pythonPackages = python.modules // rec { pylint = buildPythonPackage rec { - name = "pylint-0.23.0"; + name = "pylint-0.26.0"; + namePrefix = ""; src = fetchurl { - url = "ftp://ftp.logilab.org/pub/pylint/${name}.tar.gz"; - sha256 = "07091avcc2b374i5f3blszmawjcin8xssjfryz91qbxybb8r7c6d"; + url = "http://download.logilab.org/pub/pylint/${name}.tar.gz"; + sha256 = "1mg1ywpj0klklv63s2hwn5xwxi3wfwgnyz9d4pz32hzb53azq835"; + }; + + propagatedBuildInputs = [ logilab_astng ]; + + meta = { + homepage = http://www.logilab.org/project/pylint; + description = "A bug and style checker for Python"; }; - propagatedBuildInputs = [astng]; }; - + pymacs = pkgs.stdenv.mkDerivation rec { - version = "v0.24-beta2"; + version = "v0.25"; name = "Pymacs-${version}"; src = fetchurl { url = "https://github.com/pinard/Pymacs/tarball/${version}"; name = "${name}.tar.gz"; - sha256 = "0nzb3wrxwy0cmmj087pszkwgj2v22x0y5m4vxb6axz94zfl02r8j"; + sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i"; }; buildInputs = [ python ]; - configurePhase = '' - python p4 -C p4config.py *.in Pymacs contrib tests - ''; - - installPhase = '' - python setup.py install --prefix=$out + patchPhase = '' + sed -e "s@ install@ install --prefix=$out@g" -i Makefile ''; meta = with stdenv.lib; { @@ -1832,7 +2709,7 @@ let pythonPackages = python.modules // rec { }; }; - + pyopengl = let version = "3.0.0b5"; in @@ -1861,7 +2738,17 @@ let pythonPackages = python.modules // rec { }; }; - + + pyquery = buildPythonPackage rec { + name = "pyquery-1.2.4"; + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.4.tar.gz"; + md5 = "268f08258738d21bc1920d7522f2a63b"; + }; + buildInputs = [ cssselect lxml ]; + }; + + pyreport = buildPythonPackage (rec { name = "pyreport-0.3.4c"; @@ -1870,6 +2757,7 @@ let pythonPackages = python.modules // rec { md5 = "3076164a7079891d149a23f9435581db"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -1899,7 +2787,7 @@ let pythonPackages = python.modules // rec { --replace "/usr/local/lib" "${pkgs.sqlite}/lib" ''; - # FIXME: How do we run the tests? + # error: invalid command 'test' doCheck = false; meta = { @@ -1930,7 +2818,6 @@ let pythonPackages = python.modules // rec { license = "revised BSD"; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; }; }); @@ -1961,9 +2848,6 @@ let pythonPackages = python.modules // rec { sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile ''); - # The regression test suite expects locale support, which our glibc - # doesn't have by default. - doCheck = false; checkPhase = "make -C ../Tests"; installPhase = '' @@ -1997,7 +2881,7 @@ let pythonPackages = python.modules // rec { }; }; - + pyutil = buildPythonPackage (rec { name = "pyutil-1.7.9"; @@ -2040,6 +2924,7 @@ let pythonPackages = python.modules // rec { sha256 = "0jmkffik6hdzs7ng8c65bggss2ai40nm59jykswdf5lpd36cxddq"; }; + # error: invalid command 'test' doCheck = false; buildInputs = [ pkgs.attr ]; @@ -2069,7 +2954,7 @@ let pythonPackages = python.modules // rec { }; }); - + RBTools = buildPythonPackage rec { name = "rbtools-0.4.1"; namePrefix = ""; @@ -2082,7 +2967,7 @@ let pythonPackages = python.modules // rec { propagatedBuildInputs = [ setuptools ]; }; - + recaptcha_client = buildPythonPackage rec { name = "recaptcha-client-1.0.6"; @@ -2097,7 +2982,7 @@ let pythonPackages = python.modules // rec { }; }; - + reportlab = let freetype = pkgs.lib.overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; }); in buildPythonPackage rec { @@ -2109,6 +2994,8 @@ let pythonPackages = python.modules // rec { }; buildInputs = [freetype]; + + # error: invalid command 'test' doCheck = false; meta = { @@ -2117,23 +3004,52 @@ let pythonPackages = python.modules // rec { }; }; - + + requests = buildPythonPackage rec { + name = "requests-1.1.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz"; + md5 = "a0158815af244c32041a3147ee09abf3"; + }; + + meta = { + description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.."; + homepage = http://docs.python-requests.org/en/latest/; + }; + }; + + requests014 = buildPythonPackage rec { + name = "requests-0.14.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz"; + md5 = "3de30600072cbc7214ae342d1d08aa46"; + }; + + meta = { + description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.."; + homepage = http://docs.python-requests.org/en/latest/; + }; + }; + + reviewboard = buildPythonPackage rec { - name = "ReviewBoard-1.6.9"; + name = "ReviewBoard-1.6.13"; src = fetchurl { url = "http://downloads.reviewboard.org/releases/ReviewBoard/1.6/${name}.tar.gz"; - sha256 = "06pwbmqwsb0g2y8zg5hk5ibaivsl1af7v0vnkqranimf4yaa10mc"; + sha256 = "06q9vgvmmwiyqj6spw6sbhrcxwds02pvqir50psbpps74nxn2mph"; }; propagatedBuildInputs = [ recaptcha_client pytz memcached dateutil paramiko flup pygments - djblets django_1_3 django_evolution pkgs.pycrypto python.modules.sqlite3 - pysvn pkgs.pil psycopg2 + djblets django_1_3 django_evolution pycrypto python.modules.sqlite3 + pysvn pil psycopg2 ]; }; - + rdflib = buildPythonPackage (rec { name = "rdflib-3.0.0"; @@ -2142,6 +3058,7 @@ let pythonPackages = python.modules // rec { sha256 = "1c7ipk5vwqnln83rmai5jzyxkjdajdzbk5cgy1z83nyr5hbkgkqr"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -2150,21 +3067,15 @@ let pythonPackages = python.modules // rec { }; }); - rope = pkgs.stdenv.mkDerivation rec { - version = "0.9.3"; + rope = buildPythonPackage rec { + version = "0.9.4"; name = "rope-${version}"; src = fetchurl { url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz"; - sha256 = "1092rlsfna7rm1jkdanilsmw7rr3hlkgyji02xfd02wfcm8xa2i7"; + sha256 = "1fm6ahff50b10mlnc0ar4x1fv9sxmcp1g651myyqy7c50hk39h1d"; }; - buildInputs = [ python ]; - - installPhase = '' - python setup.py install --prefix=$out - ''; - meta = with stdenv.lib; { description = "python refactoring library"; homepage = http://rope.sf.net; @@ -2173,20 +3084,16 @@ let pythonPackages = python.modules // rec { }; }; - ropemacs = pkgs.stdenv.mkDerivation rec { - version = "0.6"; + ropemacs = buildPythonPackage rec { + version = "0.7"; name = "ropemacs-${version}"; src = fetchurl { - url = "mirror://sourceforge/rope/${name}.tar.gz"; - sha256 = "1afqybmjn7fqkwx8y8kx1kfx181ix73cbq3a0d5n7ryjm7k1r0s4"; + url = "http://pypi.python.org/packages/source/r/ropemacs/${name}.tar.gz"; + sha256 = "1x5qf1drcdz9jfiiakc60kzqkb3ahsg9j902c5byf3gjfacdrmqj"; }; - buildInputs = [ python ]; - - installPhase = '' - python setup.py install --prefix=$out - ''; + propagatedBuildInputs = [ ropemode ]; meta = with stdenv.lib; { description = "a plugin for performing python refactorings in emacs"; @@ -2196,6 +3103,26 @@ let pythonPackages = python.modules // rec { }; }; + ropemode = buildPythonPackage rec { + version = "0.2"; + name = "ropemode-${version}"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/r/ropemode/${name}.tar.gz"; + sha256 = "0jw6h1wvk6wk0wknqdf7s9pw76m8472jv546lqdd88jbl2scgcjl"; + }; + + propagatedBuildInputs = [ rope ]; + + meta = with stdenv.lib; { + description = "a plugin for performing python refactorings in emacs"; + homepage = http://rope.sf.net; + maintainers = [ maintainers.goibhniu ]; + license = licenses.gpl2; + }; + }; + + routes = buildPythonPackage rec { name = "routes-1.12.3"; @@ -2224,6 +3151,8 @@ let pythonPackages = python.modules // rec { buildInputs = [pkgs.gfortran]; propagatedBuildInputs = [ numpy ]; + + # error: invalid command 'test' doCheck = false; # TODO: add ATLAS=${pkgs.atlas} @@ -2276,7 +3205,6 @@ let pythonPackages = python.modules // rec { sha256 = "1wif9r6307qhlcp2zbg6n05yvxxn9ppkxh8gpsplcbyh22zi7bcd"; }; - preInstallPhases = "preInstall"; preInstall = '' cp ${x_ignore_nofocus}/* . sed -i 's|dlopen(library,|dlopen("libX11.so.6",|' x_ignore_nofocus.c @@ -2307,7 +3235,7 @@ let pythonPackages = python.modules // rec { }; }; - + setuptoolsTrial = buildPythonPackage { name = "setuptools-trial-0.5.12"; @@ -2327,7 +3255,7 @@ let pythonPackages = python.modules // rec { }; }; - + simplejson = buildPythonPackage (rec { name = "simplejson-2.1.3"; @@ -2353,7 +3281,7 @@ let pythonPackages = python.modules // rec { }; }); - + six = buildPythonPackage rec { name = "six-1.1.0"; @@ -2362,6 +3290,7 @@ let pythonPackages = python.modules // rec { md5 = "9e8099b57cd27493a6988e9c9b313e23"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -2370,7 +3299,7 @@ let pythonPackages = python.modules // rec { }; }; - + skype4py = buildPythonPackage (rec { name = "Skype4Py-1.0.32.0"; @@ -2385,9 +3314,10 @@ let pythonPackages = python.modules // rec { sourceRoot=`pwd`/`ls -d S*` ''; + # error: invalid command 'test' doCheck = false; - propagatedBuildInputs = [ pkgs.xlibs.libX11 pkgs.pythonDBus pkgs.pygobject ]; + propagatedBuildInputs = [ pkgs.xlibs.libX11 pkgs.pythonDBus pygobject ]; meta = { description = "High-level, platform independent Skype API wrapper for Python"; @@ -2402,11 +3332,11 @@ let pythonPackages = python.modules // rec { }); sphinx = buildPythonPackage (rec { - name = "Sphinx-1.0.7"; + name = "Sphinx-1.1.3"; src = fetchurl { url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz"; - md5 = "42c722d48e52d4888193965dd473adb5"; + md5 = "8f55a6d4f87fc6d528120c5d1f983e98"; }; propagatedBuildInputs = [docutils jinja2 pygments]; @@ -2422,11 +3352,11 @@ let pythonPackages = python.modules // rec { sqlalchemy = buildPythonPackage { - name = "sqlalchemy-0.6.6"; + name = "sqlalchemy-0.7.9"; src = fetchurl { - url = mirror://sourceforge/sqlalchemy/0.6.6/SQLAlchemy-0.6.6.tar.gz; - sha256 = "0inj9b66pi447cw500mqn7d09dij20ic3k5bnyhj6rpdl2l83a0l"; + url = mirror://sourceforge/sqlalchemy/0.7.9/SQLAlchemy-0.7.9.tar.gz; + md5 = "c4852d586d95a59fbc9358f4467875d5"; }; buildInputs = [ nose ]; @@ -2474,37 +3404,57 @@ let pythonPackages = python.modules // rec { md5 = "af0a314b6106dd80da24a918c24a1eab"; }; - doCheck = false; + buildInputs = [ mock nose ]; + + # XXX: Ran 0 tests in 0.217s meta = { description = "Lightweight and extensible STOMP messaging client"; homepage = http://bitbucket.org/hozn/stompclient; license = pkgs.lib.licenses.asl20; - platforms = python.meta.platforms; }; }); - svneverever = buildPythonPackage rec { - name = "svneverever-778489a8"; + subunit = buildPythonPackage rec { + name = "subunit-${version}"; + version = "0.0.9"; - src = pkgs.fetchgit { - url = git://git.goodpoint.de/svneverever.git; - rev = "778489a8c6f07825fb18c9da3892a781c3d659ac"; - sha256 = "41c9da1dab2be7b60bff87e618befdf5da37c0a56287385cb0cbd3f91e452bb6"; + src = fetchurl { + url = "https://launchpad.net/subunit/trunk/0.0.9/+download/python-${name}.tar.gz"; + sha256 = "0g3bk8lfd52zjzg43h47h2kckchm3xyv1gcr85nca2i50rcrpj56"; }; - propagatedBuildInputs = [ pysvn argparse ]; + propagatedBuildInputs = [ testtools ]; - doCheck = false; + meta = { + description = "A streaming protocol for test results"; + homepage = https://launchpad.net/subunit; + license = pkgs.lib.licenses.asl20; + }; }; + # XXX: ValueError: ZIP does not support timestamps before 1980 + # svneverever = buildPythonPackage rec { + # name = "svneverever-778489a8"; + # + # src = pkgs.fetchgit { + # url = git://git.goodpoint.de/svneverever.git; + # rev = "778489a8c6f07825fb18c9da3892a781c3d659ac"; + # sha256 = "41c9da1dab2be7b60bff87e618befdf5da37c0a56287385cb0cbd3f91e452bb6"; + # }; + # + # propagatedBuildInputs = [ pysvn argparse ]; + # + # doCheck = false; + # }; + taskcoach = buildPythonPackage rec { - name = "TaskCoach-1.3.8"; + name = "TaskCoach-1.3.22"; src = fetchurl { url = "mirror://sourceforge/taskcoach/${name}.tar.gz"; - sha256 = "0gc277cgnw6f167lrbxlf7rmgyjxwzgkmi77qz9xwvnwcj2l94xn"; + sha256 = "1ddx56bqmh347synhgjq625ijv5hqflr0apxg0nl4jqdsqk1zmxh"; }; propagatedBuildInputs = [ wxPython ]; @@ -2517,6 +3467,7 @@ let pythonPackages = python.modules // rec { --prefix LD_LIBRARY_PATH : $libspaths ''; + # error: invalid command 'test' doCheck = false; meta = { @@ -2544,6 +3495,23 @@ let pythonPackages = python.modules // rec { }; + testtools = buildPythonPackage rec { + name = "testtools-${version}"; + version = "0.9.24"; + + src = fetchurl { + url = "https://launchpad.net/testtools/0.9/0.9.24/+download/${name}.tar.gz"; + sha256 = "0mgkvd7c1aw34nlnz2nmll5k01aqhixxiikbs2nfyk3xfa4221x7"; + }; + + meta = { + description = "A set of extensions to the Python standard library's unit testing framework"; + homepage = http://pypi.python.org/pypi/testtools; + license = pkgs.lib.licenses.mit; + }; + }; + + trac = buildPythonPackage { name = "trac-0.12.2"; @@ -2552,6 +3520,7 @@ let pythonPackages = python.modules // rec { sha256 = "1ihf5031pc1wpwbxpfzzz2bcpwww795n5y22baglyim1lalivd65"; }; + # couple of failing tests doCheck = false; PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; @@ -2565,15 +3534,93 @@ let pythonPackages = python.modules // rec { }; }; + + transaction = buildPythonPackage rec { + name = "transaction-${version}"; + version = "1.4.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/t/transaction/${name}.tar.gz"; + md5 = "b7c2ff135939f605a8c54e1c13cd5d66"; + }; + + propagatedBuildInputs = [ zope_interface ]; + + meta = { + description = "Transaction management"; + homepage = http://pypi.python.org/pypi/transaction; + license = "ZPL"; + }; + }; + + + eggdeps = buildPythonPackage rec { + name = "eggdeps-${version}"; + version = "0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/t/tl.eggdeps/tl.${name}.tar.gz"; + md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7"; + }; + + propagatedBuildInputs = [ zope_interface zope_testing ]; + meta = { + description = "A tool which computes a dependency graph between active Python eggs"; + homepage = http://thomas-lotze.de/en/software/eggdeps/; + license = "ZPL"; + }; + }; + + + turses = buildPythonPackage (rec { + name = "turses-0.2.12"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz"; + sha256 = "016fw2ch1gy3rrlfjsdpd6y11mkrbjw4h84h7954k2vhc84l1gm0"; + }; + + propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse; + + #buildInputs = [ tox ]; + # needs tox + doCheck = false; + + meta = { + homepage = "https://github.com/alejandrogomez/turses"; + description = "A Twitter client for the console."; + license = pkgs.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.garbas ]; + platforms = stdenv.lib.platforms.linux; + }; + }); + + tweepy = buildPythonPackage (rec { + name = "tweepy-2.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz"; + sha256 = "1b95xcw11b5871gd4br78hxbvcq8y9f0i0sqga85dgg9hnmvdcx0"; + }; + + meta = { + homepage = "https://github.com/tweepy/tweepy"; + description = "Twitter library for python"; + license = pkgs.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.garbas ]; + platforms = stdenv.lib.platforms.linux; + }; + }); + twisted = buildPythonPackage rec { - name = "twisted-10.2.0"; + name = "twisted-12.3.0"; src = fetchurl { url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2; sha256 = "110c30z622jn14yany1sxfaqj5qx20n9rc9zqacxlwma30fdcbjn"; }; - propagatedBuildInputs = [ zopeInterface ]; + propagatedBuildInputs = [ zope_interface ]; # Generate Twisted's plug-in cache. Twited users must do it as well. See # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 @@ -2594,7 +3641,6 @@ let pythonPackages = python.modules // rec { license = "MIT"; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; }; }; @@ -2622,6 +3668,7 @@ let pythonPackages = python.modules // rec { sha256 = "4437076c8708e5754ea04540e46c7f4f233734ee3590bb8a96389264fb0650d0"; }; + # error: invalid command 'test' doCheck = false; propagatedBuildInputs = [ pycurl ]; @@ -2636,13 +3683,14 @@ let pythonPackages = python.modules // rec { urwid = buildPythonPackage (rec { - name = "urwid-1.0.1"; + name = "urwid-1.1.1"; + # multiple: NameError: name 'evl' is not defined doCheck = false; src = fetchurl { url = "http://excess.org/urwid/${name}.tar.gz"; - md5 = "828f7144b94920205e755c249d2e297f"; + md5 = "eca2e0413cf7216b01c84b99e0f2576d"; }; meta = { @@ -2650,22 +3698,23 @@ let pythonPackages = python.modules // rec { homepage = http://excess.org/urwid; license = pkgs.lib.licenses.lgpl21; maintainers = [ stdenv.lib.maintainers.garbas ]; - platforms = python.meta.platforms; }; }); virtualenv = buildPythonPackage rec { - name = "virtualenv-1.6.4"; + name = "virtualenv-1.8.4"; src = fetchurl { url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz"; - md5 = "1072b66d53c24e019a8f1304ac9d9fc5"; + md5 = "1c7e56a7f895b2e71558f96e365ee7a7"; }; patches = [ ../development/python-modules/virtualenv-change-prefix.patch ]; propagatedBuildInputs = [ python.modules.readline python.modules.sqlite3 ]; - doCheck = false; + buildInputs = [ mock nose ]; + + # XXX: Ran 0 tests in 0.003s meta = with stdenv.lib; { description = "a tool to create isolated Python environments"; @@ -2684,6 +3733,7 @@ let pythonPackages = python.modules // rec { md5 = "8492e46496e187b49fe5569b5639804e"; }; + # error: invalid command 'test' doCheck = false; meta = { @@ -2714,6 +3764,24 @@ let pythonPackages = python.modules // rec { }; + websockify = buildPythonPackage rec { + version = "0.3.0"; + name = "websockify-${version}"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/w/websockify/websockify-${version}.tar.gz"; + md5 = "29b6549d3421907de4bbd881ecc2e1b1"; + }; + + propagatedBuildInputs = [ numpy ]; + + meta = { + description = "WebSockets support for any application/server"; + homepage = https://github.com/kanaka/websockify; + }; + }; + + webtest = buildPythonPackage rec { version = "1.2.3"; name = "webtest-${version}"; @@ -2748,6 +3816,24 @@ let pythonPackages = python.modules // rec { }; + wokkel = buildPythonPackage (rec { + url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz"; + name = pkgs.lib.nameFromURL url ".tar"; + src = fetchurl { + inherit url; + sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml"; + }; + + propagatedBuildInputs = [twisted dateutil]; + + meta = { + description = "Some (mainly XMPP-related) additions to twisted"; + homepage = "http://wokkel.ik.nu/"; + license = stdenv.lib.licenses.mit; + }; + }); + + wxPython = wxPython28; @@ -2757,6 +3843,23 @@ let pythonPackages = python.modules // rec { wxGTK = pkgs.wxGTK28; }; + xe = buildPythonPackage rec { + url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz"; + name = stdenv.lib.nameFromURL url ".tar"; + src = fetchurl { + inherit url; + sha256 = "0v9878cl0y9cczdsr6xjy8v9l139lc23h4m5f86p4kpf2wlnpi42"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = "http://home.blarg.net/~steveha/xe.html"; + description = "XML elements"; + }; + }; + xlib = buildPythonPackage (rec { name = "xlib-0.15rc1"; @@ -2801,6 +3904,65 @@ let pythonPackages = python.modules // rec { }; }); + + zconfig = buildPythonPackage rec { + name = "zconfig-${version}"; + version = "2.9.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/Z/ZConfig/ZConfig-${version}.tar.gz"; + md5 = "2c5f73c216140a705be3d9c44b988722"; + }; + + propagatedBuildInputs = [ zope_testrunner ]; + + meta = { + description = "Structured Configuration Library"; + homepage = http://pypi.python.org/pypi/ZConfig; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zc_lockfile = buildPythonPackage rec { + name = "zc.lockfile-${version}"; + version = "1.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zc.lockfile/${name}.tar.gz"; + md5 = "f099d4cf2583a0c7bea0146a44dc4d59"; + }; + + meta = { + description = "Inter-process locks"; + homepage = http://www.python.org/pypi/zc.lockfile; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zdaemon = buildPythonPackage rec { + name = "zdaemon-${version}"; + version = "3.0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zdaemon/${name}.tar.gz"; + md5 = "975f770544bb4352c5cf32fec22e63c9"; + }; + + propagatedBuildInputs = [ zconfig ]; + + meta = { + description = "A daemon process control library and tools for Unix-based systems"; + homepage = http://pypi.python.org/pypi/zdaemon; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + zfec = buildPythonPackage (rec { name = "zfec-1.4.7"; @@ -2830,117 +3992,635 @@ let pythonPackages = python.modules // rec { }; }); - zopeInterface = buildPythonPackage { - name = "zope-interface-3.6.1"; + + zodb3 = buildPythonPackage rec { + name = "zodb3-${version}"; + version = "3.10.5"; + src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.interface/zope.interface-3.6.1.tar.gz"; - sha256 = "294c3c0529e84169177bce78d616c768fa1c028a2fbc1854f615d32ed88dbc6c"; + url = "http://pypi.python.org/packages/source/Z/ZODB3/ZODB3-${version}.tar.gz"; + md5 = "6f180c6897a1820948fee2a6290503cd"; }; + propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event ]; + + meta = { + description = "An object-oriented database for Python"; + homepage = http://pypi.python.org/pypi/ZODB3; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_broken = buildPythonPackage rec { + name = "zope.broken-3.6.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.broken/${name}.zip"; + md5 = "eff24d7918099a3e899ee63a9c31bee6"; + }; + + buildInputs = [ pkgs.unzip zope_interface ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_browser = buildPythonPackage rec { + name = "zope.browser-1.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip"; + md5 = "4ff0ddbf64c45bfcc3189e35f4214ded"; + }; + + buildInputs = [ pkgs.unzip ]; + + propagatedBuildInputs = [ zope_interface ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_component = buildPythonPackage rec { + name = "zope.component-4.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.0.2.tar.gz"; + md5 = "8c2fd4414ca23cbbe014dcaf911acebc"; + }; + + propagatedBuildInputs = [ + zope_configuration zope_event zope_i18nmessageid zope_interface + zope_testing + ]; + + # ignore tests because of a circular dependency on zope_security doCheck = false; + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_configuration = buildPythonPackage rec { + name = "zope.configuration-4.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.2.tar.gz"; + md5 = "40b3c7ad0b748ede532d8cfe2544e44e"; + }; + + propagatedBuildInputs = [ zope_i18nmessageid zope_schema ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_container = buildPythonPackage rec { + name = "zope.container-3.11.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz"; + md5 = "fc66d85a17b8ffb701091c9328983dcc"; + }; + + propagatedBuildInputs = [ + zodb3 zope_broken zope_dottedname zope_publisher + zope_filerepresentation zope_lifecycleevent zope_size + zope_traversing + ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_contenttype = buildPythonPackage rec { + name = "zope.contenttype-3.5.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.zip"; + md5 = "c6ac80e6887de4108a383f349fbdf332"; + }; + + buildInputs = [ pkgs.unzip ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_dottedname = buildPythonPackage rec { + name = "zope.dottedname-3.4.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.dottedname/${name}.tar.gz"; + md5 = "62d639f75b31d2d864fe5982cb23959c"; + }; + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_event = buildPythonPackage rec { + name = "zope.event-${version}"; + version = "4.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz"; + md5 = "e08dd299d428d77a1cfcbfe841b81872"; + }; + + meta = { + description = "An event publishing system"; + homepage = http://pypi.python.org/pypi/zope.event; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_exceptions = buildPythonPackage rec { + name = "zope.exceptions-${version}"; + version = "4.0.5"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.exceptions/${name}.tar.gz"; + md5 = "c95569fcb444ae541777de7ae5297492"; + }; + + propagatedBuildInputs = [ zope_interface ]; + + meta = { + description = "Exception interfaces and implementations"; + homepage = http://pypi.python.org/pypi/zope.exceptions; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_filerepresentation = buildPythonPackage rec { + name = "zope.filerepresentation-3.6.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.filerepresentation/${name}.tar.gz"; + md5 = "4a7a434094f4bfa99a7f22e75966c359"; + }; + + propagatedBuildInputs = [ zope_schema ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_i18n = buildPythonPackage rec { + name = "zope.i18n-3.7.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz"; + md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7"; + }; + + propagatedBuildInputs = [ pytz zope_component ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_i18nmessageid = buildPythonPackage rec { + name = "zope.i18nmessageid-4.0.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.2.tar.gz"; + md5 = "c4550f7a0b4a736186e6e0fa3b2471f7"; + }; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_lifecycleevent = buildPythonPackage rec { + name = "zope.lifecycleevent-3.6.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz"; + md5 = "3ba978f3ba7c0805c81c2c79ea3edb33"; + }; + + propagatedBuildInputs = [ zope_event zope_component ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_location = buildPythonPackage rec { + name = "zope.location-4.0.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.0.tar.gz"; + md5 = "cd0e10d5923c95e352bcde505cc11324"; + }; + + propagatedBuildInputs = [ zope_proxy ]; + + # ignore circular dependency on zope_schema + installCommand = '' + easy_install --always-unzip --no-deps --prefix="$out" . + ''; + + doCheck = false; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_proxy = buildPythonPackage rec { + name = "zope.proxy-4.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.proxy/zope.proxy-4.1.1.tar.gz"; + md5 = "c36691f0abee7573f4ddcc378603cefd"; + }; + + propagatedBuildInputs = [ zope_interface ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_publisher = buildPythonPackage rec { + name = "zope.publisher-3.12.6"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.publisher/${name}.tar.gz"; + md5 = "495131970cc7cb14de8e517fb3857ade"; + }; + + propagatedBuildInputs = [ + zope_browser zope_contenttype zope_i18n zope_security + ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_schema = buildPythonPackage rec { + name = "zope.schema-4.2.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz"; + md5 = "e7e581af8193551831560a736a53cf58"; + }; + + propagatedBuildInputs = [ zope_event zope_interface zope_testing ]; + + # ignore circular dependency on zope_location + installCommand = '' + easy_install --no-deps --prefix="$out" . + ''; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_security = buildPythonPackage rec { + name = "zope.security-3.7.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.security/zope.security-3.7.4.tar.gz"; + md5 = "072ab8d11adc083eace11262da08630c"; + }; + + propagatedBuildInputs = [ + zope_component zope_configuration zope_i18nmessageid zope_schema + zope_proxy + ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_size = buildPythonPackage rec { + name = "zope.size-3.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz"; + md5 = "55d9084dfd9dcbdb5ad2191ceb5ed03d"; + }; + + propagatedBuildInputs = [ zope_i18nmessageid zope_interface ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_testing = buildPythonPackage rec { + name = "zope.testing-${version}"; + version = "4.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz"; + md5 = "2e3829841090d6adff718b8b73c87b6b"; + }; + + propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ]; + + meta = { + description = "Zope testing helpers"; + homepage = http://pypi.python.org/pypi/zope.testing; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_testrunner = buildPythonPackage rec { + name = "zope.testrunner-${version}"; + version = "4.0.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip"; + md5 = "cd648fc865a79aa0950e73342836dd4c"; + }; + + buildInputs = [ pkgs.unzip ]; + + propagatedBuildInputs = [ subunit zope_interface zope_exceptions zope_testing ]; + + meta = { + description = "A flexible test runner with layer support"; + homepage = http://pypi.python.org/pypi/zope.testrunner; + license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_traversing = buildPythonPackage rec { + name = "zope.traversing-3.13.2"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip"; + md5 = "eaad8fc7bbef126f9f8616b074ec00aa"; + }; + + buildInputs = [ pkgs.unzip ]; + + propagatedBuildInputs = [ zope_location zope_security zope_publisher ]; + + meta = { + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; + }; + + + zope_interface = buildPythonPackage rec { + name = "zope.interface-4.0.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.tar.gz"; + md5 = "1ddd308f2c83703accd1696158c300eb"; + }; + + propagatedBuildInputs = [ zope_event ]; + meta = { description = "Zope.Interface"; homepage = http://zope.org/Products/ZopeInterface; license = "ZPL"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; - hgsvn = buildPythonPackage rec { - name = "hgsvn-0.1.8"; - src = fetchurl rec { - name = "hgsvn-0.1.8.tar.gz"; - url = "http://pypi.python.org/packages/source/h/hgsvn/${name}.tar.gz#md5=56209eae48b955754e09185712123428"; - sha256 = "18a7bj1i0m4shkxmdvw1ci5i0isq5vqf0bpwgrhnk305rijvbpch"; - }; - buildInputs = [ pkgs.setuptools ]; - doCheck = false; - - meta = { - description = "HgSVN"; - homepage = http://pypi.python.org/pypi/hgsvn; - }; - }; + # XXX: link broken + # hgsvn = buildPythonPackage rec { + # name = "hgsvn-0.1.8"; + # src = fetchurl rec { + # name = "hgsvn-0.1.8.tar.gz"; + # url = "http://pypi.python.org/packages/source/h/hgsvn/${name}.tar.gz#md5=56209eae48b955754e09185712123428"; + # sha256 = "18a7bj1i0m4shkxmdvw1ci5i0isq5vqf0bpwgrhnk305rijvbpch"; + # }; + # + # buildInputs = [ pkgs.setuptools ]; + # doCheck = false; + # + # meta = { + # description = "HgSVN"; + # homepage = http://pypi.python.org/pypi/hgsvn; + # }; + # }; cliapp = buildPythonPackage rec { - name = "cliapp-1.20120630"; + name = "cliapp-${version}"; + version = "1.20121216"; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_1.20120630.orig.tar.gz"; - sha256 = "6beeb1fb3077561540094584ce36055266ac67b80f158b9b82fe4075096f4716"; + url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz"; + sha256 = "1bzvc4aj3w8g85qycwz1jxa73jj8rl6zrgd4hi78kr4dgslcfns5"; }; buildInputs = [ sphinx ]; + # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/cliapp/; description = "Python framework for Unix command line programs."; maintainers = [ stdenv.lib.maintainers.rickynils ]; - platforms = python.meta.platforms; }; }; tracing = buildPythonPackage rec { - name = "tracing-0.6"; + name = "tracing-0.7"; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_0.6.orig.tar.gz"; - sha256 = "1164cf05891f9bca93fb87413f32d2c4da90348adbf69b0ad36a464b7adcd354"; + url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_0.7.orig.tar.gz"; + sha256 = "9954a1b0cc6b957d15975b048f929bbdd46766d397a6fa51bf8f6498b9459276"; }; buildInputs = [ sphinx ]; + # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/tracing/; description = "Python debug logging helper."; maintainers = [ stdenv.lib.maintainers.rickynils ]; - platforms = python.meta.platforms; }; }; ttystatus = buildPythonPackage rec { - name = "ttystatus-0.19"; + name = "ttystatus-0.21"; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_0.19.orig.tar.gz"; - sha256 = "7cc112a4783f2e0c354c5244f8e50b18733b5957677b56a755c1016e04c0c28d"; + url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_0.21.orig.tar.gz"; + sha256 = "4a1f3a41c9bd3b5d2bd8e6f093890857301e590aa1d428fc9a6dca591227244c"; }; buildInputs = [ sphinx ]; + # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/ttystatus/; description = "Progress and status updates on terminals for Python."; maintainers = [ stdenv.lib.maintainers.rickynils ]; - platforms = python.meta.platforms; }; }; larch = buildPythonPackage rec { - name = "larch-1.20120527"; + name = "larch-${version}"; + version = "1.20121216"; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_1.20120527.orig.tar.gz"; - sha256 = "2865a1bfa6bd276bf746e8e7cb73d5199d0b6d00045d8c92e158626687d3bbe1"; + url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_${version}.orig.tar.gz"; + sha256 = "0w4hirs8wkp1hji6nxfmq4rahkd5rgw4cavvdhpdfr4mddycbis3"; }; buildInputs = [ sphinx ]; propagatedBuildInputs = [ tracing ttystatus cliapp ]; + # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/larch/; description = "Python B-tree library."; maintainers = [ stdenv.lib.maintainers.rickynils ]; - platforms = python.meta.platforms; + }; + }; + + whisper = buildPythonPackage rec { + name = "whisper-${version}"; + version = "0.9.10"; + + src = fetchurl rec { + url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz"; + sha256 = "1zy4z4hrbiqj4ipcv2m9197hf03d4xphllqav9w4c8i6fn8zmd9n"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = http://graphite.wikidot.com/; + description = "Fixed size round-robin style database"; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; + }; + + carbon = buildPythonPackage rec { + name = "carbon-${version}"; + version = "0.9.10"; + + src = fetchurl rec { + url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz"; + sha256 = "0wjhd87pvpcpvaj3wql2d92g8lpp33iwmxdkp7npic5mjl2y0dsg"; + }; + + buildInputs = [ txamqp zope_interface twisted ]; + propagatedBuildInputs = [ whisper ]; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = http://graphite.wikidot.com/; + description = "Backend data caching and persistence daemon for Graphite"; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; + }; + + + unidecode = buildPythonPackage rec { + name = "Unidecode-0.04.12"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/U/Unidecode/${name}.tar.gz"; + md5 = "351dc98f4512bdd2e93f7a6c498730eb"; + }; + + meta = { + homepage = http://pypi.python.org/pypi/Unidecode/; + description = "ASCII transliterations of Unicode text"; + license = pkgs.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.iElectric ]; + }; + }; + + txamqp = buildPythonPackage rec { + name = "txamqp-${version}"; + version = "0.3"; + + src = fetchurl rec { + url = "https://launchpad.net/txamqp/trunk/${version}/+download/python-txamqp_${version}.orig.tar.gz"; + sha256 = "1r2ha0r7g14i4b5figv2spizjrmgfpspdbl1m031lw9px2hhm463"; + }; + + buildInputs = [ twisted ]; + + meta = { + homepage = https://launchpad.net/txamqp; + description = "Library for communicating with AMQP peers and brokers using Twisted"; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; + }; + + graphite_web = buildPythonPackage rec { + name = "graphite-web-${version}"; + version = "0.9.10"; + + src = fetchurl rec { + url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz"; + sha256 = "1gj8i6j2i172cldqw98395235bn78ciagw6v17fgv01rmind3lag"; + }; + + buildInputs = [ django pkgs.pycairo ldap memcached python.modules.sqlite3 ]; + + # error: invalid command 'test' + doCheck = false; + + meta = { + homepage = http://graphite.wikidot.com/; + description = "Enterprise scalable realtime graphing"; + maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index a1af20acc77..8af1ca90267 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -3,32 +3,29 @@ let nativePlatforms = linux; /* Basic list of packages to cross-build */ - basicHostDrv = { + basicCrossDrv = { gccCrossStageFinal = nativePlatforms; - bison.hostDrv = nativePlatforms; - busybox.hostDrv = nativePlatforms; - coreutils.hostDrv = nativePlatforms; - dropbear.hostDrv = nativePlatforms; - tigervnc.hostDrv = nativePlatforms; - #openoffice.hostDrv = nativePlatforms; - wxGTK.hostDrv = nativePlatforms; + bison.crossDrv = nativePlatforms; + busybox.crossDrv = nativePlatforms; + coreutils.crossDrv = nativePlatforms; + dropbear.crossDrv = nativePlatforms; + tigervnc.crossDrv = nativePlatforms; + wxGTK.crossDrv = nativePlatforms; #firefox = nativePlatforms; xorg = { - #xorgserver.hostDrv = nativePlatforms; + #xorgserver.crossDrv = nativePlatforms; }; - nixUnstable.hostDrv = nativePlatforms; - linuxPackages_2_6_39.kernel.hostDrv = linux; - linuxPackages_3_3.kernel.hostDrv = linux; - linuxPackages_3_4.kernel.hostDrv = linux; + nixUnstable.crossDrv = nativePlatforms; + linuxPackages_3_4.kernel.crossDrv = linux; }; /* Basic list of packages to be natively built, but need a crossSystem defined to get meaning */ - basicBuildDrv = { + basicNativeDrv = { gdbCross = nativePlatforms; }; - basic = basicHostDrv // basicBuildDrv; + basic = basicCrossDrv // basicNativeDrv; in ( @@ -36,7 +33,7 @@ in /* Test some cross builds to the Sheevaplug */ let crossSystem = { - config = "armv5tel-unknown-linux-gnueabi"; + config = "armv5tel-unknown-linux-gnueabi"; bigEndian = false; arch = "arm"; float = "soft"; @@ -50,14 +47,14 @@ in { crossSheevaplugLinux = mapTestOnCross crossSystem ( basic // { - ubootSheevaplug.hostDrv = nativePlatforms; + ubootSheevaplug.crossDrv = nativePlatforms; }); }) // ( /* Test some cross builds to the Sheevaplug - uclibc*/ let crossSystem = { - config = "armv5tel-unknown-linux-gnueabi"; + config = "armv5tel-unknown-linux-gnueabi"; bigEndian = false; arch = "arm"; float = "soft"; @@ -79,14 +76,14 @@ in { crossSheevaplugLinuxUclibc = mapTestOnCross crossSystem ( basic // { - ubootSheevaplug.hostDrv = nativePlatforms; + ubootSheevaplug.crossDrv = nativePlatforms; }); }) // ( /* Test some cross builds to the mipsel */ let crossSystem = { - config = "mipsel-unknown-linux"; + config = "mipsel-unknown-linux"; bigEndian = false; arch = "mips"; float = "soft"; @@ -120,7 +117,7 @@ in { /* Test some cross builds to the ultrasparc */ let crossSystem = { - config = "sparc64-unknown-linux"; + config = "sparc64-unknown-linux"; bigEndian = true; arch = "sparc64"; float = "hard"; @@ -153,14 +150,14 @@ let }; in { crossMingw32 = mapTestOnCross crossSystem { - coreutils.hostDrv = nativePlatforms; - boehmgc.hostDrv = nativePlatforms; - gmp.hostDrv = nativePlatforms; - guile_1_8.hostDrv = nativePlatforms; - libffi.hostDrv = nativePlatforms; - libtool.hostDrv = nativePlatforms; - libunistring.hostDrv = nativePlatforms; - windows.wxMSW.hostDrv = nativePlatforms; + coreutils.crossDrv = nativePlatforms; + boehmgc.crossDrv = nativePlatforms; + gmp.crossDrv = nativePlatforms; + guile_1_8.crossDrv = nativePlatforms; + libffi.crossDrv = nativePlatforms; + libtool.crossDrv = nativePlatforms; + libunistring.crossDrv = nativePlatforms; + windows.wxMSW.crossDrv = nativePlatforms; }; }) // ( @@ -176,14 +173,14 @@ let }; in { crossMingwW64 = mapTestOnCross crossSystem { - coreutils.hostDrv = nativePlatforms; - boehmgc.hostDrv = nativePlatforms; - gmp.hostDrv = nativePlatforms; - guile_1_8.hostDrv = nativePlatforms; - libffi.hostDrv = nativePlatforms; - libtool.hostDrv = nativePlatforms; - libunistring.hostDrv = nativePlatforms; - windows.wxMSW.hostDrv = nativePlatforms; + coreutils.crossDrv = nativePlatforms; + boehmgc.crossDrv = nativePlatforms; + gmp.crossDrv = nativePlatforms; + guile_1_8.crossDrv = nativePlatforms; + libffi.crossDrv = nativePlatforms; + libtool.crossDrv = nativePlatforms; + libunistring.crossDrv = nativePlatforms; + windows.wxMSW.crossDrv = nativePlatforms; }; }) // ( @@ -202,41 +199,41 @@ let in { crossGNU = mapTestOnCross crossSystem { gnu.hurdCross = nativePlatforms; - gnu.mach.hostDrv = nativePlatforms; + gnu.mach.crossDrv = nativePlatforms; gnu.mig = nativePlatforms; - gnu.smbfs.hostDrv = nativePlatforms; + gnu.smbfs.crossDrv = nativePlatforms; - coreutils.hostDrv = nativePlatforms; - ed.hostDrv = nativePlatforms; - grub2.hostDrv = nativePlatforms; - inetutils.hostDrv = nativePlatforms; - boehmgc.hostDrv = nativePlatforms; - findutils.hostDrv = nativePlatforms; - gcc.hostDrv = nativePlatforms; - gcc46.hostDrv = nativePlatforms; - gdb.hostDrv = nativePlatforms; - gmp.hostDrv = nativePlatforms; - gnugrep.hostDrv = nativePlatforms; - gnumake.hostDrv = nativePlatforms; - gnused.hostDrv = nativePlatforms; - guile_1_8.hostDrv = nativePlatforms; - guile.hostDrv = nativePlatforms; - libffi.hostDrv = nativePlatforms; - libtool.hostDrv = nativePlatforms; - libunistring.hostDrv = nativePlatforms; - lsh.hostDrv = nativePlatforms; - nixUnstable.hostDrv = nativePlatforms; - openssl.hostDrv = nativePlatforms; # dependency of Nix - patch.hostDrv = nativePlatforms; - samba_light.hostDrv = nativePlatforms; # needed for `runInGenericVM' - zile.hostDrv = nativePlatforms; + coreutils.crossDrv = nativePlatforms; + ed.crossDrv = nativePlatforms; + grub2.crossDrv = nativePlatforms; + inetutils.crossDrv = nativePlatforms; + boehmgc.crossDrv = nativePlatforms; + findutils.crossDrv = nativePlatforms; + gcc.crossDrv = nativePlatforms; + gcc46.crossDrv = nativePlatforms; + gdb.crossDrv = nativePlatforms; + gmp.crossDrv = nativePlatforms; + gnugrep.crossDrv = nativePlatforms; + gnumake.crossDrv = nativePlatforms; + gnused.crossDrv = nativePlatforms; + guile_1_8.crossDrv = nativePlatforms; + guile.crossDrv = nativePlatforms; + libffi.crossDrv = nativePlatforms; + libtool.crossDrv = nativePlatforms; + libunistring.crossDrv = nativePlatforms; + lsh.crossDrv = nativePlatforms; + nixUnstable.crossDrv = nativePlatforms; + openssl.crossDrv = nativePlatforms; # dependency of Nix + patch.crossDrv = nativePlatforms; + samba_light.crossDrv = nativePlatforms; # needed for `runInGenericVM' + zile.crossDrv = nativePlatforms; }; }) // ( /* Linux on the fuloong */ let crossSystem = { - config = "mips64el-unknown-linux"; + config = "mips64el-unknown-linux"; bigEndian = false; arch = "mips"; float = "hard"; @@ -261,20 +258,20 @@ let in { fuloongminipc = mapTestOnCross crossSystem { - coreutils.hostDrv = nativePlatforms; - ed.hostDrv = nativePlatforms; - grub2.hostDrv = nativePlatforms; - inetutils.hostDrv = nativePlatforms; - nixUnstable.hostDrv = nativePlatforms; - patch.hostDrv = nativePlatforms; - zile.hostDrv = nativePlatforms; + coreutils.crossDrv = nativePlatforms; + ed.crossDrv = nativePlatforms; + grub2.crossDrv = nativePlatforms; + inetutils.crossDrv = nativePlatforms; + nixUnstable.crossDrv = nativePlatforms; + patch.crossDrv = nativePlatforms; + zile.crossDrv = nativePlatforms; }; }) // ( /* Linux on the Ben Nanonote */ let crossSystem = { - config = "mipsel-unknown-linux"; + config = "mipsel-unknown-linux"; bigEndian = false; arch = "mips"; float = "soft"; @@ -321,20 +318,20 @@ let in { nanonote = mapTestOnCross crossSystem { - coreutils.hostDrv = nativePlatforms; - ed.hostDrv = nativePlatforms; - inetutils.hostDrv = nativePlatforms; - nixUnstable.hostDrv = nativePlatforms; - patch.hostDrv = nativePlatforms; - zile.hostDrv = nativePlatforms; - prboom.hostDrv = nativePlatforms; - vim.hostDrv = nativePlatforms; - lynx.hostDrv = nativePlatforms; - patchelf.hostDrv = nativePlatforms; - nix.hostDrv = nativePlatforms; - fossil.hostDrv = nativePlatforms; - binutils.hostDrv = nativePlatforms; - mpg123.hostDrv = nativePlatforms; - yacas.hostDrv = nativePlatforms; + coreutils.crossDrv = nativePlatforms; + ed.crossDrv = nativePlatforms; + inetutils.crossDrv = nativePlatforms; + nixUnstable.crossDrv = nativePlatforms; + patch.crossDrv = nativePlatforms; + zile.crossDrv = nativePlatforms; + prboom.crossDrv = nativePlatforms; + vim.crossDrv = nativePlatforms; + lynx.crossDrv = nativePlatforms; + patchelf.crossDrv = nativePlatforms; + nix.crossDrv = nativePlatforms; + fossil.crossDrv = nativePlatforms; + binutils.crossDrv = nativePlatforms; + mpg123.crossDrv = nativePlatforms; + yacas.crossDrv = nativePlatforms; }; }) diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index f6db077b313..fed9a1d673b 100644 --- a/pkgs/top-level/release-lib.nix +++ b/pkgs/top-level/release-lib.nix @@ -1,7 +1,11 @@ rec { - allPackages = import ./all-packages.nix; - pkgs = allPackages {}; + # Ensure that we don't build packages marked as unfree. + allPackages = args: import ./all-packages.nix (args // { + config.allowUnfree = false; + }); + + pkgs = allPackages { }; /* !!! Hack: poor man's memoisation function. Necessary for prevent Nixpkgs from being evaluated again and again for every @@ -10,7 +14,6 @@ rec { if system == "x86_64-linux" then pkgs_x86_64_linux else if system == "i686-linux" then pkgs_i686_linux else if system == "x86_64-darwin" then pkgs_x86_64_darwin - else if system == "i686-darwin" then pkgs_i686_darwin else if system == "x86_64-freebsd" then pkgs_x86_64_freebsd else if system == "i686-freebsd" then pkgs_i686_freebsd else if system == "i686-cygwin" then pkgs_i686_cygwin @@ -19,7 +22,6 @@ rec { pkgs_x86_64_linux = allPackages { system = "x86_64-linux"; }; pkgs_i686_linux = allPackages { system = "i686-linux"; }; pkgs_x86_64_darwin = allPackages { system = "x86_64-darwin"; }; - pkgs_i686_darwin = allPackages { system = "i686-darwin"; }; pkgs_x86_64_freebsd = allPackages { system = "x86_64-freebsd"; }; pkgs_i686_freebsd = allPackages { system = "i686-freebsd"; }; pkgs_i686_cygwin = allPackages { system = "i686-cygwin"; }; @@ -67,7 +69,7 @@ rec { /* Similar to the testOn function, but with an additional 'crossSystem' * parameter for allPackages, defining the target platform for cross builds, - * and triggering the build of the host derivation (cross built - hostDrv). */ + * and triggering the build of the host derivation (cross built - crossDrv). */ mapTestOnCross = crossSystem: pkgs.lib.mapAttrsRecursiveCond (as: !(as ? type && as.type == "job")) (path: value: @@ -75,37 +77,37 @@ rec { job = toJob value; getPkg = pkgs: (pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; - maintainers = crossMaintainers; + maintainers = crossMaintainers; } (pkgs.lib.getAttrFromPath path pkgs)); in testOnCross crossSystem job.systems getPkg); /* Find all packages that have a meta.platforms field listing the supported platforms. */ - packagesWithMetaPlatform = attrSet: - if builtins ? tryEval then - let pairs = pkgs.lib.concatMap + packagesWithMetaPlatform = attrSet: + if builtins ? tryEval then + let pairs = pkgs.lib.concatMap (x: - let pair = builtins.tryEval - (let - attrVal = (builtins.getAttr x attrSet); - in - {val=(processPackage attrVal); - attrVal = attrVal; - attrValIsAttrs = builtins.isAttrs attrVal; - }); - success = (builtins.tryEval pair.value.attrVal).success; - in - if success && pair.value.attrValIsAttrs && - pair.value.val != [] then - [{name= x; value=pair.value.val;}] else []) + let pair = builtins.tryEval + (let + attrVal = (builtins.getAttr x attrSet); + in + {val=(processPackage attrVal); + attrVal = attrVal; + attrValIsAttrs = builtins.isAttrs attrVal; + }); + success = (builtins.tryEval pair.value.attrVal).success; + in + if success && pair.value.attrValIsAttrs && + pair.value.val != [] then + [{name= x; value=pair.value.val;}] else []) (builtins.attrNames attrSet); in builtins.listToAttrs pairs else {}; - + # May fail as much as it wishes, we will catch the error. - processPackage = attrSet: + processPackage = attrSet: if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then packagesWithMetaPlatform attrSet else if attrSet ? recurseForRelease && attrSet.recurseForRelease then @@ -121,6 +123,6 @@ rec { /* Platform groups for specific kinds of applications. */ x11Supported = linux; gtkSupported = linux; - ghcSupported = linux ++ ["i686-darwin"] ; + ghcSupported = linux; } diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix new file mode 100644 index 00000000000..05a78a099f7 --- /dev/null +++ b/pkgs/top-level/release-python.nix @@ -0,0 +1,2008 @@ +/* + This file will be evaluated by hydra with a call like this: + hydra_eval_jobs --gc-roots-dir \ + /nix/var/nix/gcroots/per-user/hydra/hydra-roots --argstr \ + system i686-linux --argstr system x86_64-linux --arg \ + nixpkgs "{outPath = ./}" .... release.nix + + Hydra can be installed with "nix-env -i hydra". +*/ +with (import ./release-lib.nix); + +let + jobsForDerivations = attrset: pkgs.lib.attrsets.listToAttrs + (map + (name: { inherit name; + value = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };}) + (builtins.attrNames + (pkgs.lib.attrsets.filterAttrs + (n: v: (v.type or null) == "derivation") + attrset))); + +in +{ + + tarball = import ./make-tarball.nix; + +} // (mapTestOn rec { + + a2jmidid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aacskeys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aangifte2005 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aangifte2006 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aangifte2007 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aangifte2008 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aangifte2009 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aangifte2010 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aangifte2011 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + abc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + abcde = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + abiword = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + acl2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + adobeReader = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + agg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + alienarena = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + allegro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + allegro5 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + alliance = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + alsaPlugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + alsaPluginWrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + amsn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + amule = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + amuleDaemon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + amuleGui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + androidsdk_4_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + andyetitmoves = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ant = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + antlr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + antlr3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + apacheAntGcj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + apacheAntOpenJDK = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + apacheAntOracleJDK = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + apparmor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aqbanking = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + arb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ardour3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + arora = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + asc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + asciidoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + asio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aspectj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + asymptote = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + atanks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + atari800 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ataripp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + atermjava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + atk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + atkmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + attica = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aubio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + auctex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + audacious = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + audacity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + autojump = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + automoc4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + avahi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + avidemux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + avogadro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + awesome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aws_mturk_clt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + axis2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + azureus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ballAndPaddle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + baresip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bazaar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + beast = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + beret = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ber_metaocaml_003 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bibletime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bibtextools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + binutils_gold = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + biolib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bitcoin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bitlbee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bitsnbots = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bittornado = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bittorrent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + blackshades = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + blackshadeselite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + blender = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + blobby = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + blueman = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bluez = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + boinc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + boomerang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + boost = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + boost144 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + boost146 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + boost149 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + botan = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + box2d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + box2d_2_0_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + briss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bsddb3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + btanks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + btrfsProgs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + buildbot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bumblebee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bzflag = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + caelum = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cairomm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + calf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + calibre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + caneda = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + carrier = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + castle_combat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cbrowser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cc1394 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cdrdao = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cflow = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cgal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cgui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + chatzilla = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cheetahTemplate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + chipmunk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + chromiumWrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + chromium = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cilaterm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cinelerra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cinepaint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ciopfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clangUnwrapped = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clanlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + classpath = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clearsilver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clisp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clisp_2_44_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clojure = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clojure_wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clooj_wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clucene_core_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clutter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clutter_gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + clutter_gtk_0_10 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cmakeWithGui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cmus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + coccinelle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cogl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + coin3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + comical = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + compiz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + compton = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + conkeror = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + conky = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + consolekit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + construo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + construoBase = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + coq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + coq_8_3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + coriander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + couchdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + crack_attack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + crrcsim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cryptsetup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cscope = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + csound = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + csslint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cudatoolkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cuneiform = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cups_pdf_filter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + curlftpfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cvs2svn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cython = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + d4x = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + darktable = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dbench = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dblatex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dbus_cplusplus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dbus_glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dbus_java = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dbus_tools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ddd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + debian_devscripts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dejagnu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + desktop_file_utils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + devicemapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dico = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + directfb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + directvnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + disnix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + disnixos = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + DisnixWebService = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + disper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + distcc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + distrho = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + djview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dmenu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dmraid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dmtcp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dmtx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + docutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dosbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + doxygen_gui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dragonegg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + drbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + drgeo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dropbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dssi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dstat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + duplicity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dvdauthor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dvswitch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dwarf_fortress = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eaglemode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + easytag = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ec2_api_tools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ecj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eclipses = { + eclipse_cpp_36 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eclipse_cpp_37 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eclipse_modeling_36 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eclipse_sdk_35 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eclipse_sdk_36 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eclipse_sdk_37 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eclipse_sdk_42 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + ecryptfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + edk2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eduke32 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eggdbus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + egoboo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ekiga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + elasticmq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + electricsheep = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + elinks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emacs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emacs22 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emacs23 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emacs24Packages = { + autoComplete = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bbdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + calfw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cedet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + coffee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + colorTheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ecb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emacsSessionManagement = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emacsw3m = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + flymakeCursor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gist = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + graphvizDot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jabber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jdee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + js2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + logito = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + loremIpsum = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + magit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + maudeMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + notmuch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocamlMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + org = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + org2blog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pcache = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + proofgeneral = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + quack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rectMark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + remember = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scalaMode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sunriseCommander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmlRpc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + emboss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + enblendenfuse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + encfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + enchant = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + enlightenment = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + epdfview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + epm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eprover = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eql = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + esdl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + espeakedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + etherape = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + euca2ools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eukleides = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + evince = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + evolution_data_server = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + evopedia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + expect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + exrdisplay = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + extremetuxracer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + exult = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + facile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fail2ban = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fakenes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + farsight2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + farstream = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fbida = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fbpanel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fdisk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + feh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ffado = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ffmpeg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ffmpeg_0_6_90 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ffmpeg_1_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fileschanged = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + firefox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + firefox13Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + firefox17Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + firefox36Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + flann = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + flashplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + flightgear = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fltk13 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fltk20 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fluidsynth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fontforgeX = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + foo2zjs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + foursuite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + framac = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freecad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freeciv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freedink = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freeglut = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freemind = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freepv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freerdp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freerdpUnstable = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freestyle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freetalk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + freetts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fsg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fsharp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fspot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ftgl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ftgl212 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fuppes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fusesmb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gajim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gav = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gcj = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gcj44 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gcj46 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gcl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GConf3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gdbCross = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gdk_pixbuf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gdmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gdome2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gecko_mediaplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + geeqie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gegl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gegl_0_0_22 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gemrb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gensgs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + geoclue = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + geoipjava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + get_iplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + getmail = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gftp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ghostOne = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ghostscriptX = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + giblib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gifsicle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gigedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gimp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gimp_2_8 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gimpPlugins = { + fourier = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gimplensfun = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gmic = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lqrPlugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + resynthesizer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texturize = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ufraw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + waveletSharpen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + girara = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gitAndTools = { + darcsToGit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + git2cl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gitAnnex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gitBz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gitFastExport = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gitFull = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gitSubtree = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gitSVN = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qgit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qgitGit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stgit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + svn2git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + svn2git_kde = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + giv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gkrellm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gl117 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glestae = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glew = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glfw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glibmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glib_networking = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + globulation2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gltron = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glxinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gmime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gmtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gmu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnash = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnokii = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome = { + at_spi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GConf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gconfmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_control_center = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_desktop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_doc_utils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_icon_theme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_keyring = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_menus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_panel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_session = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_settings_daemon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_vfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_vfs_monikers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtk_doc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkglext = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkglextmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkhtml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtksourceview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gvfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libbonobo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libbonoboui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libglade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libglademm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnomecanvas = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnomecanvasmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnomecups = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnomekbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnomeprint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnomeprintui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnomeui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgtkhtml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgweather = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libIDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libsoup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libunique = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libwnck = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + metacity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nautilus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ORBit2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pango = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pangomm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + python_rsvg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + startup_notification = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vte = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zenity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + gnome_mplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_terminator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnome_user_docs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnonlin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnucash = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnu = { + hurdHeaders = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libpthreadHeaders = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mach = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + machHeaders = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mig_raw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + gnumeric = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnunet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnunet08 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnupg2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gnuplot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gob2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gobby5 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gobjectIntrospection = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + goffice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + goffice_0_9 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + goldendict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + golly = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + goocanvas = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + googleearth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + google_talk_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gosmore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gource = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gparted = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gpgme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gphoto2fs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gpscorrelate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gpsd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gqview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + grantlee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + graphicsmagick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + graphicsmagick137 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + graphviz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + graphviz_2_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + grass = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gravit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + grip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + grive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + grub2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + grub2_efi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gsettings_desktop_schemas = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gsmartcontrol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gssdp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gst_ffmpeg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gst_plugins_bad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gst_plugins_base = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gst_plugins_good = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gst_plugins_ugly = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gst_python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gstreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtk3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkdatabox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkdialog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkgnutella = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkimageview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkmathview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkmm3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkmozembedsharp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkpod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtksharp1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtksharp2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtksourceviewsharp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkspell = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkvnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtkwave = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtmess = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + guileCairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + guileGnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + guitone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gupnp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gupnp_igd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gupnptools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gutenprint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gutenprintBin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gwenhywfar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gwrap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gxneur = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hadoop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + harfbuzz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPackages = { + accelerateCuda = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + accelerateExamples = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + Chart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cuda = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + diagrams = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + diagramsCairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ghcMod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GLFW = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gloss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GLURaw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GLUT = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GLUT_2_1_1_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GLUT_2_1_2_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GLUT_2_2_2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GLUT_2_3_1_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtksourceview2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform_2009_2_0_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform_2010_1_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform_2010_2_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform_2011_2_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform_2011_2_0_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform_2011_4_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + haskellPlatform_2012_2_0_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + HGL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hmatrix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hp2anyGraph = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lambdacubeEngine = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + LambdaHack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + leksah = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + leksahServer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lhs2tex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ltk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + OpenGL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + OpenGL_2_2_1_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + OpenGL_2_2_3_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + OpenGL_2_4_0_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + OpenGL_2_6_0_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + OpenGLRaw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pakcs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pango = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + reactiveBananaWx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + repaAlgorithms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + repaExamples = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDLImage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDLMixer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDLTtf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + splot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + svgcairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + threadscope = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + timeplot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + uhc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vacuumCairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wxc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wxcore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + X11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + X11Xft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmobar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmonad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmonadContrib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmonadExtras = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + haxe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + heimdall = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + herqq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hevea = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hexen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + highlight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hol_light = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + homebank = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hplip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + htmldoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + httpfs2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hwloc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hydraAntLogger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hydrogen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + i3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + i3lock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + i7z = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + icbm3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + icecat3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + icecat3Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + icecat3Xul = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + icecatXulrunner3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + icedtea = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + icewm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + idutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ikiwiki = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + imagemagick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + imagemagickBig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + imlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + imlib2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + impressive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + indilib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + inkscape = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + instead = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + intelgen4asm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + io = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ion3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + iotop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + iprover = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + irrlicht3843 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + irssi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + isabelle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + isocodes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + itk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + itstool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jackaudio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jack_capture = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jackmeter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jags = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jamp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + javaCup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jbidwatcher = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jboss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jboss_mysql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jbrout = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jclasslib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jdiskreport = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jdk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jfsrec = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jigdo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jing_tools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jjtraveler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jnettop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jrePlugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jruby165 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jscoverage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + json_glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + julia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + k3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kaffe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kde3 = { + arts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdelibs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + kde4 = { + akonadi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + akunambol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + amarok = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + amor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aurorae = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bangarang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + basket = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + blinken = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bluedevil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + calligra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cantor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cervisia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ColorSchemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + desktopthemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + digikam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dolphin_plugins_git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + dolphin_plugins_svn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + emoticons = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + filelight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + filesharing = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gwenview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + HighResolutionWallpapers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + IconThemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + jovie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + k3b = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kaccessible = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kadu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kalgebra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kalzium = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kamera = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kanagram = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kapptemplate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kbibtex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kbluetooth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kbruch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kcachegrind = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kcalc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kcharselect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kcolorchooser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kcron = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdeaccessibility = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdeaccounts_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdeadmin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdeartwork = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kde_baseapps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdebindings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdeedu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdegames = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdegraphics = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdegraphics_strigi_analyzer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdegraphics_thumbnailers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdelibs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdemultimedia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdenetwork = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdenlive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdepim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdepimlibs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdepim_runtime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdeplasma_addons = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kde_runtime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdesdk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdesvn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdetoys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdeutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdevelop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdevplatform = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kde_wacomtablet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdewebdev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kde_workspace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdiff3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kdnssd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kfile_plugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kfilereplace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kfloppy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kgamma = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kgeography = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kget = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kgpg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + khangman = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kimagemapeditor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kioslave_perldoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kioslave_svn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kipi_plugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kiten = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + klettres = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + klinkstatus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kmag = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kmousetool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kmouth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kmplayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kmplot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kmtrace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kmymoney = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + koffice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kolourpaint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kommander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kompare = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + konq_plugins = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + konsole = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + konversation = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kopete = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kpartloader = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kppp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kprofilemethod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + krdc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kremotecontrol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + krename = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + krfb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kruler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + krusader = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ksaneplugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kscreensaver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ksnapshot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ksshaskpass = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kstars = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kstartperf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ksystemlog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kteatime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ktimer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ktorrent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ktouch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kturtle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ktux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kuickshow = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kuiviewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kuser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kwallet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kwin_styles = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kwooty = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kwordquiz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.bg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.bs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ca = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ca_valencia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.cs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.da = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.de = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.el = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.en_GB = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.es = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.et = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.eu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.fi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.fr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.gl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.he = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.hr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.hu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.id = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.is = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.it = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ja = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.kk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.km = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.kn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ko = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.lt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.lv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.nb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.nds = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.nl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.nn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.pa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.pl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.pt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.pt_BR = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ru = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.si = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.sk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.sl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.sr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.sv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.th = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.tr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.ug = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.uk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.wa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.zh_CN = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + l10n.zh_TW = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libalkimia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libkdcraw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libkdeedu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libkexiv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libkipi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libksane = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libktorrent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libkvkontakte = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + liblikeback = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lokalize = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + marble = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mobipocket = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + networkmanagement = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + okteta = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + okular = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + parley = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + partitionManager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + polkit_kde_agent = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + poxml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + printer_applet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + psi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pykde4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qt4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + quassel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + quasselClient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + quasselDaemon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rekonq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rocs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rsibreak = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scripts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + semnotes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + skrooge = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + smokegen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + smokeqt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sounds = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + step = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + strigi_analyzer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + styles = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + superkaramba = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + svgpart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sweeper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + system_config_printer_kde = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.accounts_kcm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.approver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.auth_handler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.call_ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.common_internals = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.contact_applet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.contact_list = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.contact_runner = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.filetransfer_handler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.kded_integration_module = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.presence_applet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.send_file = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.telepathy_logger_qt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy.text_ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + umbrello = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wallpapers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + WeatherWallpapers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + yakuake = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zanshin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + keen4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + keepassx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + keepnote = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + keymon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + keynav = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kicad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kino = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + klavaro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kobodeluxe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kona = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kvm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + larswm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lash = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lastwatch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + latencytop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lazarus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ldcpp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ledger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ledger3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + leiningen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lensfun = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + leo2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lesstif = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lesstif93 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libao = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libassuan2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libatasmart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libbluedevil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libbluray = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libcanberra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libcdr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libchamplain = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libchamplain_0_6 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libcm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libcroco = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libcxx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libdbusmenu_qt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libdevil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libdmtx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libdrm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libextractor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libfixposix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgdata = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgdata_0_6 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgdiplus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnome_keyring = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgnome_keyring3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgpod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgsf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgtop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgweather = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libimobiledevice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libinfinity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + liblapack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + liblastfm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + liblqr1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libmatchbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libmatthew_java = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libmms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libmusclecard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libnice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libnotify = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + liboil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libopensc_dnie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libplist = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libpseudo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libqalculate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libQGLViewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + librecad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libreoffice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + librsvg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libsexy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libstartup_notification = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libtiger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libtorrentRasterbar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libva = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libvdpau = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libviper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libvirt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libvisio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libvncserver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libvterm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libwmf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libwnck3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libwpd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libwpd_08 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libwpg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxklavier = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxml2Python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxmlxx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lilv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lilypond = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lincity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lingot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + links2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + linphone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + linux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + linuxConsoleTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + linuxPackages = { + acpi_call = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + atheros = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ati_drivers_x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aufs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + aufs_util = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bbswitch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + broadcom_sta = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cryptodev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + e1000e = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + exmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + frandom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + iscsitarget = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + iwlwifi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + klibc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + kqemu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ndiswrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nvidia_x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nvidia_x11_legacy173 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nvidia_x11_legacy96 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openafsClient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openiscsi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + perf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + spl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sysprof = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + systemtap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tp_smapi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + v86d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + virtualbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + virtualboxGuestAdditions = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wis_go7007 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + linuxsampler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + liquidwar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + llvm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lmms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + log4cxx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + logstalgica = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + loudmouth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + love = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lyx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mailutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mars = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + martyr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + matchbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + matita = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + matita_130312 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + maven = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + maxima = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mcabber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mcelog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mcomix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mcrl2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mdbtools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mdbtools_git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mediastreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mediatomb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + meld = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mercurial = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mercurialFull = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + merkaartor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mesa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + meshlab = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mess = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + metaocaml_3_09 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mhwaveedit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + micropolis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + midori = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + midoriWrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + minecraft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + miniHttpd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mirage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mitscheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mjpegtools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mkvtoolnix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mlt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mmex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + modemmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mod_python = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mod_wsgi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mongodb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mono = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + monodevelop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + monodoc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + monotone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + monotoneViz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mountall = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mozart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mozilla = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mozplugger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mp3info = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mpc123 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mpd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mpg321 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mpich2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + MPlayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mrxvt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + msilbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mtdutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + multipath_tools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + multisync = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mumble = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mupdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mupen64plus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + muscleframework = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + muscletool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mutt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mygui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + myguiSvn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mysql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mysqlWorkbench = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mythtv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + naev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + navipowm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + navit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ncbiCTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + netbeans = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + netboot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + netsurf.browser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + networkmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + networkmanagerapplet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + networkmanager_pptp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + networkmanager_pptp_gnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + neverball = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nfsUtils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ngspice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ninka = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + njam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nodejs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nodePackages = { + abbrev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ansi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + async = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + backbone = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bindings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + browserchannel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bson = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + buffertools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + bytes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + commander = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + connect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cookie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + crc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cssmin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + datetime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + debug = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + diff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + eyes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + formidable = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fresh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + fstream = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + glob = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + hiredis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + inherits = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + knox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + less = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + minimatch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mkdirp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mongodb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mrclean = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nopt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + npm2nix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + npmlog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + optimist = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + options = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + osenv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pause = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + policyfile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rbytes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + redis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + request = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + requirejs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rimraf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + semver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + send = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + showdown = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sockjs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + swig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + temp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + timerstub = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tinycolor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + underscore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vows = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + which = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wordwrap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ws = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmlhttprequest = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zeparser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + notmuch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nova = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + novaclient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nspluginwrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nss = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nss_pam_ldapd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nssTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ntop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ntrack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + numeric = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nut = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + nut_2_6_3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + obexd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + obex_data_server = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + obexfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + obexftp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + obnam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_3_08_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_3_10_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_3_11_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_4_00_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocamlnat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocamlPackages = { + camlidl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + camlp5_5_strict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + camlp5_5_transitional = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + camlp5_6_strict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + camlp5_6_transitional = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + camlzip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + camomile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + camomile_0_8_2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + cryptokit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + findlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gmetadom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lablgtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + lablgtkmathview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + menhir = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mldonkey = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_batteries = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_cryptgps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_expat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_extlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocamlgraph = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_http = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_lwt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_mysql = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocamlnet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_pcre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_react = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_sexplib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_sqlite3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_ssl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ocaml_typeconv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ounit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pycaml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ulex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ulex08 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + octave = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + octaveHG = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + offlineimap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ogre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ogrepaged = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ois = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + omake = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + oneteam = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openbabel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openbox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opencascade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opencsg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openct = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opencv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opencv_2_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openfire = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openlierox = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openobex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opensc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openscad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opensc_dnie_wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openscenegraph = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + openttd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opentyrian = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opera = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opkg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + opusTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + oraclejdk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + oraclejre = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + OVMF = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + oxygen_gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pam_console = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pam_usb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pan = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pangoxsl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + panomatic = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + paraview = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + parted = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + parted_2_3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + path64 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pavucontrol = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pcmciaUtils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pcsclite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pdf2djvu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pdfread = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pdftk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + perlPackages = { + Autodia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GD = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + GraphViz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + InlineJava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + PerlMagick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SQLTranslator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + TextRecordParser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + X11GUITest = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + petrifoo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pfstools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pgadmin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + philter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + phonon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + phonon_backend_gstreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + phonon_backend_vlc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pianobooster = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + picard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + picolisp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pidgin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pidginlatex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pidginlatexSF = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pidginmsnpecan = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pidginotr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pidginsipe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pinentry = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pinta = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pioneers = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pius = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + plan9port = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + plib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ploticus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pltScheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pmutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + policykit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + polkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + polkit_gnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + polkit_qt_1 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pommed = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pong3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + poppler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + popplerQt4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + postgresql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pqiv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + praat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + prboom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + prison = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + privateer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + proxychains = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pstack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ptlib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pulseaudio = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pure = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + puredata = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + putty = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pycairo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pycrypto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pycups = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pydb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyexiv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pygame = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pygobject = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pygtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyGtkGlade = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyIRCt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyMAILt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyopenssl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyqt4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyrex = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyrex096 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyside = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pysideApiextractor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pysideGeneratorrunner = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pysideShiboken = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pysideTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pystringtemplate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + python26 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + python27 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + python26Full = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + python27Full = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + python26Packages = jobsForDerivations pkgs.python26Packages; + python27Packages = jobsForDerivations pkgs.python27Packages; + python3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pythonDBus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pythonIRClib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pythonmagick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pythonSexy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + pyxml = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qca2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qca2_ossl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qcmm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qemu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qemu_1_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qfsm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qgis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qimageblitz = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qjackctl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qjoypad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qjson = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qoauth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qrdecode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qrupdate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qsampler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qshowdiff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qsynth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qt3 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qt_gstreamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qtpfsgui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qtractor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qtscriptgenerator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + quake3demo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + quake3game = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qucs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + quesoglc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + qwt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rabbitmq_server = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + racer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + racket = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rakarrack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rapcad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rapidsvn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ratpoison = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rawtherapee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rdesktop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rdf4store = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rdiff_backup = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + recutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + redshift = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + relfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + remmina = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + reptyr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rhino = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rhpl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rigsofrods = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rili = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rLang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rockbox_utility = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rpm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rrdtool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rssglx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rtmpdump = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rubber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rubyLibs.buildr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rubyLibs.rjb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rxvt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + rxvt_unicode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + s3cmd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sabnzbd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sakura = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + salut_a_toi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + samba = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + saneFrontends = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + satallax = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sauerbraten = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + saxonb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sbcl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + schroedinger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scilab = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scons = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scorched3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scribus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scrot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + scummvm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL_gfx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL_image = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL_mixer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL_net = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL_sound = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + SDL_ttf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + seeks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + seg3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + seleniumRCBin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + seq24 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + serd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sfml_git = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sgtpuzzles = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + shared_mime_info = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sharedobjects = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + silgraphite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + simgear = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + simutrans = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + six = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + skype = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + slim = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + slock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + smatch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + smbnetfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + smpeg = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + snack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + snd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sndBase = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sofia_sip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + soi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sonic_visualiser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + soprano = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + soqt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sord = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sourceHighlight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + spaceOrbit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + speechd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + speed_dreams = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + spice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + spidermonkey_185 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + spin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + spotify = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + spring = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + springLobby = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sratom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sshfsFuse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ssreflect = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + st = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stalin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stalonetray = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stardict = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stardust = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stellarium = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + strigi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stumpwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + stuntrally = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sublime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + subversionClient = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + suil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + suitesparse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + superTux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + superTuxKart = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + surf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + swh_lv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + swiProlog = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + swt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + sylpheed = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + synergy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + syslogng = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + system_config_printer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + systemd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + t1lib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tabbed = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tahoelafs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tailor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tangogps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + taskjuggler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tbe = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + teamspeak_client = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + teetertorture = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + teeworlds = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_farstream = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_gabble = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_glib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_haze = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_logger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_mission_control = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_qt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_rakia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + telepathy_salut = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tennix = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texDisser = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLive = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLiveBeamer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLiveCMSuper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLiveContext = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLiveExtra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLiveFull = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLiveLatexXColor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLiveModerncv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texLivePGF = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + texmacs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + thunderbird = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tigervnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tightvnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + timidity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tkabber = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tkcvs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tkgate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tkgate2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tomcat5 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tomcat_connectors = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tomcat_mysql_jdbc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + torchat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + torcs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tpm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + trackballs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + trang = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + transmission = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + transmission_remote_gtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + trayer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tremulous = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tribler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + trigger = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + truecrypt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tulip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + tvtime = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + twinkle = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + uae = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ubootGuruplug = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ubootNanonote = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + udev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + udev145 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + udisks = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ufoai = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ufraw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ultimatestunts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ultrastardx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + unclutter = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + unetbootin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + unison = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + upower = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + uqm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + urbanterror = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + usbmuxd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + uzbl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + v4l_utils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + v8 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vacuum = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vala = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vala15 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vala16 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + valgrind = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + valkyrie = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vde2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vdpauinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vdrift = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vectoroids = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + veracity = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vfdecrypt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vidalia = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + viewMtn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vigra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + viking = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vimHugeX = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vimprobable2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vimprobable2Wrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + virtinst = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + virtmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + virtualgl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + virtviewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vkeybd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vlc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vncrec = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vorbisTools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vrpn = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vtk = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vue = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + vwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + w3cCSSValidator = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + warmux = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + warsow = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + warzone2100 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wavesurfer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wdfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + webkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + webkit_gtk2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + webkitSVN = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + weechat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + welkin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wesnoth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wicd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + widelands = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wine = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wineWarcraft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wireshark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wkhtmltopdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wmiimenu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wmiiSnap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wmname = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wordnet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wpa_supplicant_gui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wv2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wvdial = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wvstreams = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wxGTK = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wxGTK29 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + wxmaxima = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + x11_ssh_askpass = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + x11vnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + x2vnc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + x2x = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xalanJava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xaos = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xapianBindings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xapianBindings10 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xara = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xautolock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + Xaw3d = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xawtv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xbindkeys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xboard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xbursttools = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xchat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xchm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xclip = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcompmgr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xconq = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xdaliclock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xdotool = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xercesJava = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86_input_mtrack = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86_input_multitouch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86_input_wacom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86_video_nested = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86_video_nouveau = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce = { + exo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + garcon = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gigolo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gtk_xfce_engine = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + gvfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libgdu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxfce4ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxfce4util = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxfcegui4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + mousepad = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ristretto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + terminal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + thunar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + thunar_volman = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4_appfinder = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4_cpufreq_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4icontheme = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4mixer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4panel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4_power_manager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4session = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4settings = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4_systemload_plugin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfce4_taskmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfceutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfconf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfdesktop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfwm4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + xfig = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xfontsel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xineLib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xineUI = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xkeyboard_config = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xlaunch = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xlibs = { + libAppleWM = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libdmx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libWindowsWM = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libX11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXaw = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxcb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXcomposite = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXcursor = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXdamage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXext = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXfixes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXft = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXinerama = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libxkbfile = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXmu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXpm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXrandr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXrender = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXres = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXScrnSaver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXt = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXtst = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXvMC = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXxf86dga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXxf86misc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + libXxf86vm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + setxkbmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + smproxy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + twm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + x11perf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xauth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xbacklight = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcbproto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcbutil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcbutilimage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcbutilkeysyms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcbutilrenderutil = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcbutilwm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xclock = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcmsdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcursorgen = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xcursorthemes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xdm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xdpyinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xdriinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xeyes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86inputevdev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86inputjoystick = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86inputkeyboard = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86inputmouse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86inputsynaptics = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86inputvmmouse = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86inputvoid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoark = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoast = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoati = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videocirrus = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videodummy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videofbdev = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videogeode = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoglide = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoglint = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoi128 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videointel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videointel_2_14_901 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videointel_2_17_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videomach64 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videomga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoneomagic = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videonewport = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videonv = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videoopenchrome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videor128 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videosavage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videosiliconmotion = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videosis = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videosuncg6 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videosunffb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videotdfx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videotga = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videotrident = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videov4l = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videovesa = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videovmware = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videovoodoo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xf86videowsfb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xgamma = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xhost = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xinit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xinput = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xkbcomp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xkbevd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xkbutils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xkill = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xlsatoms = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xlsclients = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmessage = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmodmap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xorgserver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xorgserver_1_13_0 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xpr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xprop = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xrandr = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xrdb = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xrefresh = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xset = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xsetroot = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xvinfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xwd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xwininfo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xwud = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + xlockmore = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xlsfonts = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmacro = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmlroff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmoto = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmove = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xmpppy = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xnee = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xneur = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xneur_0_8 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xonotic = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xorg_sys_opengl = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xorgVideoUnichrome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xoscope = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xosd = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xournal = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xpdf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xpf = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xplanet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xpra = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xsane = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xscreensaver = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xsel = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xsokoban = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xsynth_dssi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xterm = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xtrace = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xtreemfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xulrunner = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xvfb_run = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xvidcap = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + xxdiff = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + yate = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + yoshimi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + youtubeDL = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zathura = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zathuraCollection = { + zathura_core = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zathura_djvu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zathura_pdf_poppler = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zathura_ps = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + }; + zbar = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zdoom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zgrviewer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zod = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zoom = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + ZopeInterface = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zsnes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zynaddsubfx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; + zziplib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; +}) diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index 3201afb44a0..97a158430ca 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -30,8 +30,6 @@ with (import ./release-lib.nix); bc = all; binutils = linux; bind = linux; - bison24 = all; - boostFull = all; bsdiff = all; bzip2 = all; classpath = linux; @@ -52,7 +50,6 @@ with (import ./release-lib.nix); gcc = all; gcc33 = linux; gcc34 = linux; - gcc41 = linux; gcc42 = linux; gcc43_multi = ["x86_64-linux"]; gcc44 = linux; @@ -76,8 +73,6 @@ with (import ./release-lib.nix); gsl = linux; guile = linux; # tests fail on Cygwin gzip = all; - hal = linux; - hal_info = linux; hddtemp = linux; hdparm = linux; hello = all; @@ -151,7 +146,6 @@ with (import ./release-lib.nix); policykit = linux; portmap = linux; procps = linux; - pwdutils = linux; python = allBut "i686-cygwin"; pythonFull = linux; readline = all; @@ -186,7 +180,6 @@ with (import ./release-lib.nix); time = linux; tinycc = ["i686-linux"]; udev = linux; - uml = ["i686-linux"]; unrar = linux; unzip = all; upstart = linux; @@ -217,6 +210,5 @@ with (import ./release-lib.nix); ecb = linux; emacsw3m = linux; emms = linux; - nxml = all; }; } )) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index d8e192a6e55..44001d875f7 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -33,9 +33,7 @@ with (import ./release-lib.nix); bc = all; binutils = linux; bind = linux; - bison23 = all; - bison24 = all; - bison25 = all; + bison26 = all; bitlbee = linux; bittorrent = linux; blender = linux; @@ -49,7 +47,6 @@ with (import ./release-lib.nix); chatzilla = linux; cksfv = all; classpath = linux; - consolekit = linux; coreutils = all; cpio = all; cron = linux; @@ -96,7 +93,6 @@ with (import ./release-lib.nix); gcc = linux; gcc33 = linux; gcc34 = linux; - gcc41 = linux; gcc42 = linux; gcc43_multi = ["x86_64-linux"]; gcc44 = linux; @@ -136,8 +132,6 @@ with (import ./release-lib.nix); guile = linux; # tests fail on Cygwin gv = linux; gzip = all; - hal = linux; - hal_info = linux; hddtemp = linux; hello = all; host = linux; @@ -148,7 +142,6 @@ with (import ./release-lib.nix); icewm = linux; idutils = all; ifplugd = linux; - imagemagick = allBut "i686-cygwin"; impressive = linux; inetutils = linux; inkscape = linux; @@ -170,8 +163,6 @@ with (import ./release-lib.nix); libsmbios = linux; libtool = all; libtool_2 = all; - libxml2 = all; - libxslt = all; lout = linux; lsh = linux; lsof = linux; @@ -216,7 +207,6 @@ with (import ./release-lib.nix); ntp = linux; ocaml = linux; octave = linux; - openoffice = linux; openssh = linux; openssl = all; pam_console = linux; @@ -238,7 +228,6 @@ with (import ./release-lib.nix); postfix = linux; ppl = all; procps = linux; - pwdutils = linux; pthreadmanpages = linux; pygtk = linux; pyqt4 = linux; @@ -256,7 +245,6 @@ with (import ./release-lib.nix); rubber = allBut "i686-cygwin"; ruby = all; rxvt_unicode = linux; - samba = linux; screen = linux ++ darwin; scrot = linux; sdparm = linux; @@ -299,7 +287,6 @@ with (import ./release-lib.nix); tinycc = ["i686-linux"]; uae = linux; udev = linux; - uml = ["i686-linux"]; unrar = linux; upstart = linux; usbutils = linux; @@ -351,7 +338,6 @@ with (import ./release-lib.nix); ecb = linux; emacsw3m = linux; emms = linux; - nxml = all; }; emacs23Packages = emacs22Packages // { @@ -359,8 +345,7 @@ with (import ./release-lib.nix); }; firefox36Pkgs.firefox = linux; - firefox12Pkgs.firefox = linux; - firefox13Pkgs.firefox = linux; + firefox18Pkgs.firefox = linux; gnome = { gnome_panel = linux; @@ -468,7 +453,6 @@ with (import ./release-lib.nix); xfce4panel = linux; xfce4session = linux; xfce4settings = linux; - xfceutils = linux; xfdesktop = linux; xfwm4 = linux; };